diff --git a/contrib/completions/bash/oc b/contrib/completions/bash/oc index 21156c3f7575..bd2fae18682b 100644 --- a/contrib/completions/bash/oc +++ b/contrib/completions/bash/oc @@ -5811,7 +5811,6 @@ _oc_annotate() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -5835,7 +5834,6 @@ _oc_annotate() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -5849,7 +5847,6 @@ _oc_annotate() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -5857,8 +5854,6 @@ _oc_annotate() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -5892,7 +5887,6 @@ _oc_annotate() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -5925,8 +5919,6 @@ _oc_annotate() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -5944,7 +5936,6 @@ _oc_annotate() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -5953,16 +5944,13 @@ _oc_annotate() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -6056,7 +6044,6 @@ _oc_apply_edit-last-applied() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -6080,7 +6067,6 @@ _oc_apply_edit-last-applied() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -6094,7 +6080,6 @@ _oc_apply_edit-last-applied() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -6102,8 +6087,6 @@ _oc_apply_edit-last-applied() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -6137,7 +6120,6 @@ _oc_apply_edit-last-applied() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -6170,8 +6152,6 @@ _oc_apply_edit-last-applied() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -6189,7 +6169,6 @@ _oc_apply_edit-last-applied() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -6198,16 +6177,13 @@ _oc_apply_edit-last-applied() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -10707,7 +10683,6 @@ _oc_delete() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -10731,7 +10706,6 @@ _oc_delete() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -10745,7 +10719,6 @@ _oc_delete() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -10753,8 +10726,6 @@ _oc_delete() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -10788,7 +10759,6 @@ _oc_delete() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -10821,8 +10791,6 @@ _oc_delete() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -10840,7 +10808,6 @@ _oc_delete() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -10849,16 +10816,13 @@ _oc_delete() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -11138,7 +11102,6 @@ _oc_edit() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -11162,7 +11125,6 @@ _oc_edit() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -11176,7 +11138,6 @@ _oc_edit() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -11184,8 +11145,6 @@ _oc_edit() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -11219,7 +11178,6 @@ _oc_edit() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -11252,8 +11210,6 @@ _oc_edit() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -11271,7 +11227,6 @@ _oc_edit() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -11280,16 +11235,13 @@ _oc_edit() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -11918,7 +11870,6 @@ _oc_get() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -11942,7 +11893,6 @@ _oc_get() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -11956,7 +11906,6 @@ _oc_get() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -11964,8 +11913,6 @@ _oc_get() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -11999,7 +11946,6 @@ _oc_get() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -12032,8 +11978,6 @@ _oc_get() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -12051,7 +11995,6 @@ _oc_get() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -12060,16 +12003,13 @@ _oc_get() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -12543,7 +12483,6 @@ _oc_label() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -12567,7 +12506,6 @@ _oc_label() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -12581,7 +12519,6 @@ _oc_label() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -12589,8 +12526,6 @@ _oc_label() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -12624,7 +12559,6 @@ _oc_label() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -12657,8 +12591,6 @@ _oc_label() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -12676,7 +12608,6 @@ _oc_label() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -12685,16 +12616,13 @@ _oc_label() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -13409,7 +13337,6 @@ _oc_patch() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -13433,7 +13360,6 @@ _oc_patch() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -13447,7 +13373,6 @@ _oc_patch() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -13455,8 +13380,6 @@ _oc_patch() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -13490,7 +13413,6 @@ _oc_patch() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -13523,8 +13445,6 @@ _oc_patch() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -13542,7 +13462,6 @@ _oc_patch() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -13551,16 +13470,13 @@ _oc_patch() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") diff --git a/contrib/completions/bash/openshift b/contrib/completions/bash/openshift index 817fdce36803..48a18720c356 100644 --- a/contrib/completions/bash/openshift +++ b/contrib/completions/bash/openshift @@ -10970,7 +10970,6 @@ _openshift_cli_annotate() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -10994,7 +10993,6 @@ _openshift_cli_annotate() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -11008,7 +11006,6 @@ _openshift_cli_annotate() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -11016,8 +11013,6 @@ _openshift_cli_annotate() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -11051,7 +11046,6 @@ _openshift_cli_annotate() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -11084,8 +11078,6 @@ _openshift_cli_annotate() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -11103,7 +11095,6 @@ _openshift_cli_annotate() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -11112,16 +11103,13 @@ _openshift_cli_annotate() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -11215,7 +11203,6 @@ _openshift_cli_apply_edit-last-applied() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -11239,7 +11226,6 @@ _openshift_cli_apply_edit-last-applied() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -11253,7 +11239,6 @@ _openshift_cli_apply_edit-last-applied() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -11261,8 +11246,6 @@ _openshift_cli_apply_edit-last-applied() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -11296,7 +11279,6 @@ _openshift_cli_apply_edit-last-applied() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -11329,8 +11311,6 @@ _openshift_cli_apply_edit-last-applied() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -11348,7 +11328,6 @@ _openshift_cli_apply_edit-last-applied() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -11357,16 +11336,13 @@ _openshift_cli_apply_edit-last-applied() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -15866,7 +15842,6 @@ _openshift_cli_delete() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -15890,7 +15865,6 @@ _openshift_cli_delete() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -15904,7 +15878,6 @@ _openshift_cli_delete() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -15912,8 +15885,6 @@ _openshift_cli_delete() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -15947,7 +15918,6 @@ _openshift_cli_delete() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -15980,8 +15950,6 @@ _openshift_cli_delete() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -15999,7 +15967,6 @@ _openshift_cli_delete() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -16008,16 +15975,13 @@ _openshift_cli_delete() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -16297,7 +16261,6 @@ _openshift_cli_edit() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -16321,7 +16284,6 @@ _openshift_cli_edit() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -16335,7 +16297,6 @@ _openshift_cli_edit() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -16343,8 +16304,6 @@ _openshift_cli_edit() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -16378,7 +16337,6 @@ _openshift_cli_edit() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -16411,8 +16369,6 @@ _openshift_cli_edit() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -16430,7 +16386,6 @@ _openshift_cli_edit() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -16439,16 +16394,13 @@ _openshift_cli_edit() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -17077,7 +17029,6 @@ _openshift_cli_get() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -17101,7 +17052,6 @@ _openshift_cli_get() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -17115,7 +17065,6 @@ _openshift_cli_get() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -17123,8 +17072,6 @@ _openshift_cli_get() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -17158,7 +17105,6 @@ _openshift_cli_get() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -17191,8 +17137,6 @@ _openshift_cli_get() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -17210,7 +17154,6 @@ _openshift_cli_get() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -17219,16 +17162,13 @@ _openshift_cli_get() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -17702,7 +17642,6 @@ _openshift_cli_label() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -17726,7 +17665,6 @@ _openshift_cli_label() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -17740,7 +17678,6 @@ _openshift_cli_label() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -17748,8 +17685,6 @@ _openshift_cli_label() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -17783,7 +17718,6 @@ _openshift_cli_label() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -17816,8 +17750,6 @@ _openshift_cli_label() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -17835,7 +17767,6 @@ _openshift_cli_label() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -17844,16 +17775,13 @@ _openshift_cli_label() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -18568,7 +18496,6 @@ _openshift_cli_patch() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -18592,7 +18519,6 @@ _openshift_cli_patch() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -18606,7 +18532,6 @@ _openshift_cli_patch() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -18614,8 +18539,6 @@ _openshift_cli_patch() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -18649,7 +18572,6 @@ _openshift_cli_patch() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -18682,8 +18604,6 @@ _openshift_cli_patch() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -18701,7 +18621,6 @@ _openshift_cli_patch() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -18710,16 +18629,13 @@ _openshift_cli_patch() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -24342,7 +24258,6 @@ _openshift_kube_annotate() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -24366,7 +24281,6 @@ _openshift_kube_annotate() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -24380,7 +24294,6 @@ _openshift_kube_annotate() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -24388,8 +24301,6 @@ _openshift_kube_annotate() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -24423,7 +24334,6 @@ _openshift_kube_annotate() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -24456,8 +24366,6 @@ _openshift_kube_annotate() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -24475,7 +24383,6 @@ _openshift_kube_annotate() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -24484,16 +24391,13 @@ _openshift_kube_annotate() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -24648,7 +24552,6 @@ _openshift_kube_apply_edit-last-applied() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -24672,7 +24575,6 @@ _openshift_kube_apply_edit-last-applied() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -24686,7 +24588,6 @@ _openshift_kube_apply_edit-last-applied() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -24694,8 +24595,6 @@ _openshift_kube_apply_edit-last-applied() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -24729,7 +24628,6 @@ _openshift_kube_apply_edit-last-applied() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -24762,8 +24660,6 @@ _openshift_kube_apply_edit-last-applied() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -24781,7 +24677,6 @@ _openshift_kube_apply_edit-last-applied() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -24790,16 +24685,13 @@ _openshift_kube_apply_edit-last-applied() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -28680,7 +28572,6 @@ _openshift_kube_delete() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -28704,7 +28595,6 @@ _openshift_kube_delete() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -28718,7 +28608,6 @@ _openshift_kube_delete() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -28726,8 +28615,6 @@ _openshift_kube_delete() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -28761,7 +28648,6 @@ _openshift_kube_delete() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -28794,8 +28680,6 @@ _openshift_kube_delete() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -28813,7 +28697,6 @@ _openshift_kube_delete() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -28822,16 +28705,13 @@ _openshift_kube_delete() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -29158,7 +29038,6 @@ _openshift_kube_edit() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -29182,7 +29061,6 @@ _openshift_kube_edit() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -29196,7 +29074,6 @@ _openshift_kube_edit() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -29204,8 +29081,6 @@ _openshift_kube_edit() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -29239,7 +29114,6 @@ _openshift_kube_edit() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -29272,8 +29146,6 @@ _openshift_kube_edit() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -29291,7 +29163,6 @@ _openshift_kube_edit() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -29300,16 +29171,13 @@ _openshift_kube_edit() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -29700,7 +29568,6 @@ _openshift_kube_get() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -29724,7 +29591,6 @@ _openshift_kube_get() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -29738,7 +29604,6 @@ _openshift_kube_get() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -29746,8 +29611,6 @@ _openshift_kube_get() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -29781,7 +29644,6 @@ _openshift_kube_get() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -29814,8 +29676,6 @@ _openshift_kube_get() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -29833,7 +29693,6 @@ _openshift_kube_get() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -29842,16 +29701,13 @@ _openshift_kube_get() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -29978,7 +29834,6 @@ _openshift_kube_label() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -30002,7 +29857,6 @@ _openshift_kube_label() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -30016,7 +29870,6 @@ _openshift_kube_label() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -30024,8 +29877,6 @@ _openshift_kube_label() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -30059,7 +29910,6 @@ _openshift_kube_label() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -30092,8 +29942,6 @@ _openshift_kube_label() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -30111,7 +29959,6 @@ _openshift_kube_label() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -30120,16 +29967,13 @@ _openshift_kube_label() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -30438,7 +30282,6 @@ _openshift_kube_patch() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -30462,7 +30305,6 @@ _openshift_kube_patch() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -30476,7 +30318,6 @@ _openshift_kube_patch() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -30484,8 +30325,6 @@ _openshift_kube_patch() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -30519,7 +30358,6 @@ _openshift_kube_patch() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -30552,8 +30390,6 @@ _openshift_kube_patch() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -30571,7 +30407,6 @@ _openshift_kube_patch() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -30580,16 +30415,13 @@ _openshift_kube_patch() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") diff --git a/contrib/completions/zsh/oc b/contrib/completions/zsh/oc index 456ec01dd5c7..1b3babaae937 100644 --- a/contrib/completions/zsh/oc +++ b/contrib/completions/zsh/oc @@ -5960,7 +5960,6 @@ _oc_annotate() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -5984,7 +5983,6 @@ _oc_annotate() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -5998,7 +5996,6 @@ _oc_annotate() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -6006,8 +6003,6 @@ _oc_annotate() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -6041,7 +6036,6 @@ _oc_annotate() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -6074,8 +6068,6 @@ _oc_annotate() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -6093,7 +6085,6 @@ _oc_annotate() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -6102,16 +6093,13 @@ _oc_annotate() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -6205,7 +6193,6 @@ _oc_apply_edit-last-applied() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -6229,7 +6216,6 @@ _oc_apply_edit-last-applied() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -6243,7 +6229,6 @@ _oc_apply_edit-last-applied() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -6251,8 +6236,6 @@ _oc_apply_edit-last-applied() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -6286,7 +6269,6 @@ _oc_apply_edit-last-applied() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -6319,8 +6301,6 @@ _oc_apply_edit-last-applied() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -6338,7 +6318,6 @@ _oc_apply_edit-last-applied() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -6347,16 +6326,13 @@ _oc_apply_edit-last-applied() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -10856,7 +10832,6 @@ _oc_delete() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -10880,7 +10855,6 @@ _oc_delete() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -10894,7 +10868,6 @@ _oc_delete() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -10902,8 +10875,6 @@ _oc_delete() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -10937,7 +10908,6 @@ _oc_delete() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -10970,8 +10940,6 @@ _oc_delete() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -10989,7 +10957,6 @@ _oc_delete() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -10998,16 +10965,13 @@ _oc_delete() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -11287,7 +11251,6 @@ _oc_edit() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -11311,7 +11274,6 @@ _oc_edit() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -11325,7 +11287,6 @@ _oc_edit() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -11333,8 +11294,6 @@ _oc_edit() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -11368,7 +11327,6 @@ _oc_edit() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -11401,8 +11359,6 @@ _oc_edit() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -11420,7 +11376,6 @@ _oc_edit() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -11429,16 +11384,13 @@ _oc_edit() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -12067,7 +12019,6 @@ _oc_get() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -12091,7 +12042,6 @@ _oc_get() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -12105,7 +12055,6 @@ _oc_get() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -12113,8 +12062,6 @@ _oc_get() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -12148,7 +12095,6 @@ _oc_get() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -12181,8 +12127,6 @@ _oc_get() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -12200,7 +12144,6 @@ _oc_get() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -12209,16 +12152,13 @@ _oc_get() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -12692,7 +12632,6 @@ _oc_label() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -12716,7 +12655,6 @@ _oc_label() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -12730,7 +12668,6 @@ _oc_label() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -12738,8 +12675,6 @@ _oc_label() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -12773,7 +12708,6 @@ _oc_label() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -12806,8 +12740,6 @@ _oc_label() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -12825,7 +12757,6 @@ _oc_label() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -12834,16 +12765,13 @@ _oc_label() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -13558,7 +13486,6 @@ _oc_patch() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -13582,7 +13509,6 @@ _oc_patch() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -13596,7 +13522,6 @@ _oc_patch() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -13604,8 +13529,6 @@ _oc_patch() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -13639,7 +13562,6 @@ _oc_patch() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -13672,8 +13594,6 @@ _oc_patch() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -13691,7 +13611,6 @@ _oc_patch() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -13700,16 +13619,13 @@ _oc_patch() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") diff --git a/contrib/completions/zsh/openshift b/contrib/completions/zsh/openshift index 815bb6c1d4c8..e3867f00212d 100644 --- a/contrib/completions/zsh/openshift +++ b/contrib/completions/zsh/openshift @@ -11119,7 +11119,6 @@ _openshift_cli_annotate() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -11143,7 +11142,6 @@ _openshift_cli_annotate() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -11157,7 +11155,6 @@ _openshift_cli_annotate() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -11165,8 +11162,6 @@ _openshift_cli_annotate() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -11200,7 +11195,6 @@ _openshift_cli_annotate() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -11233,8 +11227,6 @@ _openshift_cli_annotate() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -11252,7 +11244,6 @@ _openshift_cli_annotate() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -11261,16 +11252,13 @@ _openshift_cli_annotate() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -11364,7 +11352,6 @@ _openshift_cli_apply_edit-last-applied() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -11388,7 +11375,6 @@ _openshift_cli_apply_edit-last-applied() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -11402,7 +11388,6 @@ _openshift_cli_apply_edit-last-applied() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -11410,8 +11395,6 @@ _openshift_cli_apply_edit-last-applied() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -11445,7 +11428,6 @@ _openshift_cli_apply_edit-last-applied() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -11478,8 +11460,6 @@ _openshift_cli_apply_edit-last-applied() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -11497,7 +11477,6 @@ _openshift_cli_apply_edit-last-applied() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -11506,16 +11485,13 @@ _openshift_cli_apply_edit-last-applied() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -16015,7 +15991,6 @@ _openshift_cli_delete() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -16039,7 +16014,6 @@ _openshift_cli_delete() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -16053,7 +16027,6 @@ _openshift_cli_delete() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -16061,8 +16034,6 @@ _openshift_cli_delete() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -16096,7 +16067,6 @@ _openshift_cli_delete() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -16129,8 +16099,6 @@ _openshift_cli_delete() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -16148,7 +16116,6 @@ _openshift_cli_delete() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -16157,16 +16124,13 @@ _openshift_cli_delete() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -16446,7 +16410,6 @@ _openshift_cli_edit() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -16470,7 +16433,6 @@ _openshift_cli_edit() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -16484,7 +16446,6 @@ _openshift_cli_edit() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -16492,8 +16453,6 @@ _openshift_cli_edit() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -16527,7 +16486,6 @@ _openshift_cli_edit() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -16560,8 +16518,6 @@ _openshift_cli_edit() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -16579,7 +16535,6 @@ _openshift_cli_edit() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -16588,16 +16543,13 @@ _openshift_cli_edit() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -17226,7 +17178,6 @@ _openshift_cli_get() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -17250,7 +17201,6 @@ _openshift_cli_get() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -17264,7 +17214,6 @@ _openshift_cli_get() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -17272,8 +17221,6 @@ _openshift_cli_get() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -17307,7 +17254,6 @@ _openshift_cli_get() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -17340,8 +17286,6 @@ _openshift_cli_get() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -17359,7 +17303,6 @@ _openshift_cli_get() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -17368,16 +17311,13 @@ _openshift_cli_get() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -17851,7 +17791,6 @@ _openshift_cli_label() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -17875,7 +17814,6 @@ _openshift_cli_label() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -17889,7 +17827,6 @@ _openshift_cli_label() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -17897,8 +17834,6 @@ _openshift_cli_label() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -17932,7 +17867,6 @@ _openshift_cli_label() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -17965,8 +17899,6 @@ _openshift_cli_label() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -17984,7 +17916,6 @@ _openshift_cli_label() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -17993,16 +17924,13 @@ _openshift_cli_label() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -18717,7 +18645,6 @@ _openshift_cli_patch() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -18741,7 +18668,6 @@ _openshift_cli_patch() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -18755,7 +18681,6 @@ _openshift_cli_patch() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -18763,8 +18688,6 @@ _openshift_cli_patch() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -18798,7 +18721,6 @@ _openshift_cli_patch() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -18831,8 +18753,6 @@ _openshift_cli_patch() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -18850,7 +18770,6 @@ _openshift_cli_patch() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -18859,16 +18778,13 @@ _openshift_cli_patch() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -24491,7 +24407,6 @@ _openshift_kube_annotate() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -24515,7 +24430,6 @@ _openshift_kube_annotate() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -24529,7 +24443,6 @@ _openshift_kube_annotate() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -24537,8 +24450,6 @@ _openshift_kube_annotate() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -24572,7 +24483,6 @@ _openshift_kube_annotate() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -24605,8 +24515,6 @@ _openshift_kube_annotate() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -24624,7 +24532,6 @@ _openshift_kube_annotate() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -24633,16 +24540,13 @@ _openshift_kube_annotate() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -24797,7 +24701,6 @@ _openshift_kube_apply_edit-last-applied() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -24821,7 +24724,6 @@ _openshift_kube_apply_edit-last-applied() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -24835,7 +24737,6 @@ _openshift_kube_apply_edit-last-applied() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -24843,8 +24744,6 @@ _openshift_kube_apply_edit-last-applied() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -24878,7 +24777,6 @@ _openshift_kube_apply_edit-last-applied() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -24911,8 +24809,6 @@ _openshift_kube_apply_edit-last-applied() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -24930,7 +24826,6 @@ _openshift_kube_apply_edit-last-applied() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -24939,16 +24834,13 @@ _openshift_kube_apply_edit-last-applied() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -28829,7 +28721,6 @@ _openshift_kube_delete() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -28853,7 +28744,6 @@ _openshift_kube_delete() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -28867,7 +28757,6 @@ _openshift_kube_delete() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -28875,8 +28764,6 @@ _openshift_kube_delete() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -28910,7 +28797,6 @@ _openshift_kube_delete() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -28943,8 +28829,6 @@ _openshift_kube_delete() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -28962,7 +28846,6 @@ _openshift_kube_delete() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -28971,16 +28854,13 @@ _openshift_kube_delete() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -29307,7 +29187,6 @@ _openshift_kube_edit() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -29331,7 +29210,6 @@ _openshift_kube_edit() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -29345,7 +29223,6 @@ _openshift_kube_edit() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -29353,8 +29230,6 @@ _openshift_kube_edit() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -29388,7 +29263,6 @@ _openshift_kube_edit() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -29421,8 +29295,6 @@ _openshift_kube_edit() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -29440,7 +29312,6 @@ _openshift_kube_edit() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -29449,16 +29320,13 @@ _openshift_kube_edit() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -29849,7 +29717,6 @@ _openshift_kube_get() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -29873,7 +29740,6 @@ _openshift_kube_get() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -29887,7 +29753,6 @@ _openshift_kube_get() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -29895,8 +29760,6 @@ _openshift_kube_get() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -29930,7 +29793,6 @@ _openshift_kube_get() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -29963,8 +29825,6 @@ _openshift_kube_get() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -29982,7 +29842,6 @@ _openshift_kube_get() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -29991,16 +29850,13 @@ _openshift_kube_get() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -30127,7 +29983,6 @@ _openshift_kube_label() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -30151,7 +30006,6 @@ _openshift_kube_label() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -30165,7 +30019,6 @@ _openshift_kube_label() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -30173,8 +30026,6 @@ _openshift_kube_label() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -30208,7 +30059,6 @@ _openshift_kube_label() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -30241,8 +30091,6 @@ _openshift_kube_label() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -30260,7 +30108,6 @@ _openshift_kube_label() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -30269,16 +30116,13 @@ _openshift_kube_label() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") @@ -30587,7 +30431,6 @@ _openshift_kube_patch() must_have_one_noun+=("clusterpolicybinding") must_have_one_noun+=("clusterresourcequota") must_have_one_noun+=("clusterrole") - must_have_one_noun+=("clusterrole") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("clusterrolebinding") must_have_one_noun+=("componentstatus") @@ -30611,7 +30454,6 @@ _openshift_kube_patch() must_have_one_noun+=("ingress") must_have_one_noun+=("ispersonalsubjectaccessreview") must_have_one_noun+=("job") - must_have_one_noun+=("limitrange") must_have_one_noun+=("namespace") must_have_one_noun+=("netnamespace") must_have_one_noun+=("networkpolicy") @@ -30625,7 +30467,6 @@ _openshift_kube_patch() must_have_one_noun+=("persistentvolumeclaim") must_have_one_noun+=("pod") must_have_one_noun+=("poddisruptionbudget") - must_have_one_noun+=("podpreset") must_have_one_noun+=("podsecuritypolicy") must_have_one_noun+=("podtemplate") must_have_one_noun+=("policy") @@ -30633,8 +30474,6 @@ _openshift_kube_patch() must_have_one_noun+=("project") must_have_one_noun+=("replicaset") must_have_one_noun+=("replicationcontroller") - must_have_one_noun+=("resourcequota") - must_have_one_noun+=("role") must_have_one_noun+=("role") must_have_one_noun+=("rolebinding") must_have_one_noun+=("rolebinding") @@ -30668,7 +30507,6 @@ _openshift_kube_patch() noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterrolebindings") noun_aliases+=("clusterroles") - noun_aliases+=("clusterroles") noun_aliases+=("clusters") noun_aliases+=("cm") noun_aliases+=("componentstatuses") @@ -30701,8 +30539,6 @@ _openshift_kube_patch() noun_aliases+=("ingresses") noun_aliases+=("ispersonalsubjectaccessreviews") noun_aliases+=("jobs") - noun_aliases+=("limitranges") - noun_aliases+=("limits") noun_aliases+=("namespaces") noun_aliases+=("netnamespaces") noun_aliases+=("netpol") @@ -30720,7 +30556,6 @@ _openshift_kube_patch() noun_aliases+=("persistentvolumes") noun_aliases+=("po") noun_aliases+=("poddisruptionbudgets") - noun_aliases+=("podpresets") noun_aliases+=("pods") noun_aliases+=("podsecuritypolicies") noun_aliases+=("podtemplates") @@ -30729,16 +30564,13 @@ _openshift_kube_patch() noun_aliases+=("projects") noun_aliases+=("pv") noun_aliases+=("pvc") - noun_aliases+=("quota") noun_aliases+=("rc") noun_aliases+=("replicasets") noun_aliases+=("replicationcontrollers") - noun_aliases+=("resourcequotas") noun_aliases+=("rolebindingrestrictions") noun_aliases+=("rolebindings") noun_aliases+=("rolebindings") noun_aliases+=("roles") - noun_aliases+=("roles") noun_aliases+=("routes") noun_aliases+=("rs") noun_aliases+=("sa") diff --git a/vendor/k8s.io/kubernetes/pkg/printers/BUILD b/vendor/k8s.io/kubernetes/pkg/printers/BUILD index c888148e23b2..0db096c1437f 100644 --- a/vendor/k8s.io/kubernetes/pkg/printers/BUILD +++ b/vendor/k8s.io/kubernetes/pkg/printers/BUILD @@ -25,8 +25,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/util/slice:go_default_library", - "//vendor/github.com/fatih/camelcase:go_default_library", "//vendor/github.com/ghodss/yaml:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", @@ -69,11 +67,3 @@ filegroup( ], tags = ["automanaged"], ) - -go_test( - name = "go_default_test", - srcs = ["humanreadable_test.go"], - library = ":go_default_library", - tags = ["automanaged"], - deps = ["//vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library"], -) diff --git a/vendor/k8s.io/kubernetes/pkg/printers/humanreadable.go b/vendor/k8s.io/kubernetes/pkg/printers/humanreadable.go index 59bcf7e76ea9..a4b1945746c8 100644 --- a/vendor/k8s.io/kubernetes/pkg/printers/humanreadable.go +++ b/vendor/k8s.io/kubernetes/pkg/printers/humanreadable.go @@ -21,12 +21,9 @@ import ( "fmt" "io" "reflect" - "sort" "strings" "text/tabwriter" - "github.com/fatih/camelcase" - "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1alpha1 "k8s.io/apimachinery/pkg/apis/meta/v1alpha1" @@ -34,7 +31,6 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" utilruntime "k8s.io/apimachinery/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/slice" ) type TablePrinter interface { @@ -44,6 +40,7 @@ type TablePrinter interface { type PrintHandler interface { Handler(columns, columnsWithWide []string, printFunc interface{}) error TableHandler(columns []metav1alpha1.TableColumnDefinition, printFunc interface{}) error + DefaultTableHandler(columns []metav1alpha1.TableColumnDefinition, printFunc interface{}) error } var withNamespacePrefixColumns = []string{"NAMESPACE"} // TODO(erictune): print cluster name too. @@ -60,12 +57,13 @@ type handlerEntry struct { // will only be printed if the object type changes. This makes it useful for printing items // received from watches. type HumanReadablePrinter struct { - handlerMap map[reflect.Type]*handlerEntry - options PrintOptions - lastType reflect.Type - skipTabWriter bool - encoder runtime.Encoder - decoder runtime.Decoder + handlerMap map[reflect.Type]*handlerEntry + defaultHandler *handlerEntry + options PrintOptions + lastType interface{} + skipTabWriter bool + encoder runtime.Encoder + decoder runtime.Decoder } var _ PrintHandler = &HumanReadablePrinter{} @@ -188,6 +186,25 @@ func (h *HumanReadablePrinter) TableHandler(columnDefinitions []metav1alpha1.Tab return nil } +// DefaultTableHandler registers a set of columns and a print func that is given a chance to process +// any object without an explicit handler. Only the most recently set print handler is used. +// See ValidateRowPrintHandlerFunc for required method signature. +func (h *HumanReadablePrinter) DefaultTableHandler(columnDefinitions []metav1alpha1.TableColumnDefinition, printFunc interface{}) error { + printFuncValue := reflect.ValueOf(printFunc) + if err := ValidateRowPrintHandlerFunc(printFuncValue); err != nil { + utilruntime.HandleError(fmt.Errorf("unable to register print function: %v", err)) + return err + } + entry := &handlerEntry{ + columnDefinitions: columnDefinitions, + printRows: true, + printFunc: printFuncValue, + } + + h.defaultHandler = entry + return nil +} + // ValidateRowPrintHandlerFunc validates print handler signature. // printFunc is the function that will be called to print an object. // It must be of the following type: @@ -266,7 +283,7 @@ func (h *HumanReadablePrinter) unknown(data []byte, w io.Writer) error { return err } -func (h *HumanReadablePrinter) printHeader(columnNames []string, w io.Writer) error { +func printHeader(columnNames []string, w io.Writer) error { if _, err := fmt.Fprintf(w, "%s\n", strings.Join(columnNames, "\t")); err != nil { return err } @@ -299,141 +316,24 @@ func (h *HumanReadablePrinter) PrintObj(obj runtime.Object, output io.Writer) er obj, _ = decodeUnknownObject(obj, h.encoder, h.decoder) } + // print with a registered handler t := reflect.TypeOf(obj) if handler := h.handlerMap[t]; handler != nil { - if !h.options.NoHeaders && t != h.lastType { - var headers []string - for _, column := range handler.columnDefinitions { - if column.Priority != 0 && !h.options.Wide { - continue - } - headers = append(headers, strings.ToUpper(column.Name)) - } - headers = append(headers, formatLabelHeaders(h.options.ColumnLabels)...) - // LABELS is always the last column. - headers = append(headers, formatShowLabelsHeader(h.options.ShowLabels, t)...) - if h.options.WithNamespace { - headers = append(withNamespacePrefixColumns, headers...) - } - h.printHeader(headers, output) - h.lastType = t - } - - if handler.printRows { - args := []reflect.Value{reflect.ValueOf(obj), reflect.ValueOf(h.options)} - results := handler.printFunc.Call(args) - if results[1].IsNil() { - rows := results[0].Interface().([]metav1alpha1.TableRow) - for _, row := range rows { - - if h.options.WithNamespace { - if obj := row.Object.Object; obj != nil { - if m, err := meta.Accessor(obj); err == nil { - fmt.Fprint(output, m.GetNamespace()) - } - } - fmt.Fprint(output, "\t") - } - - for i, cell := range row.Cells { - if i != 0 { - fmt.Fprint(output, "\t") - } else { - // TODO: remove this once we drop the legacy printers - if h.options.WithKind && len(h.options.Kind) > 0 { - fmt.Fprintf(output, "%s/%s", h.options.Kind, cell) - continue - } - } - fmt.Fprint(output, cell) - } - - hasLabels := len(h.options.ColumnLabels) > 0 - if obj := row.Object.Object; obj != nil && (hasLabels || h.options.ShowLabels) { - if m, err := meta.Accessor(obj); err == nil { - for _, value := range labelValues(m.GetLabels(), h.options) { - output.Write([]byte("\t")) - output.Write([]byte(value)) - } - } - } - - output.Write([]byte("\n")) - } - return nil - } - return results[1].Interface().(error) - } - - // TODO: this code path is deprecated and will be removed when all handlers are row printers - args := []reflect.Value{reflect.ValueOf(obj), reflect.ValueOf(output), reflect.ValueOf(h.options)} - resultValue := handler.printFunc.Call(args)[0] - if resultValue.IsNil() { - return nil + includeHeaders := h.lastType != t && !h.options.NoHeaders + if err := printRowsForHandlerEntry(output, handler, obj, h.options, includeHeaders); err != nil { + return err } - return resultValue.Interface().(error) + h.lastType = t + return nil } - if _, err := meta.Accessor(obj); err == nil { - // we don't recognize this type, but we can still attempt to print some reasonable information about. - unstructured, ok := obj.(runtime.Unstructured) - if !ok { - return fmt.Errorf("error: unknown type %T, expected unstructured in %#v", obj, h.handlerMap) - } - - content := unstructured.UnstructuredContent() - - // we'll elect a few more fields to print depending on how much columns are already taken - maxDiscoveredFieldsToPrint := 3 - maxDiscoveredFieldsToPrint = maxDiscoveredFieldsToPrint - len(h.options.ColumnLabels) - if h.options.WithNamespace { // where's my ternary - maxDiscoveredFieldsToPrint-- - } - if h.options.ShowLabels { - maxDiscoveredFieldsToPrint-- - } - if maxDiscoveredFieldsToPrint < 0 { - maxDiscoveredFieldsToPrint = 0 - } - - var discoveredFieldNames []string // we want it predictable so this will be used to sort - ignoreIfDiscovered := []string{"kind", "apiVersion"} // these are already covered - for field, value := range content { - if slice.ContainsString(ignoreIfDiscovered, field, nil) { - continue - } - switch value.(type) { - case map[string]interface{}: - // just simpler types - continue - } - discoveredFieldNames = append(discoveredFieldNames, field) - } - sort.Strings(discoveredFieldNames) - if len(discoveredFieldNames) > maxDiscoveredFieldsToPrint { - discoveredFieldNames = discoveredFieldNames[:maxDiscoveredFieldsToPrint] - } - - if !h.options.NoHeaders && t != h.lastType { - headers := []string{"NAME", "KIND"} - for _, discoveredField := range discoveredFieldNames { - fieldAsHeader := strings.ToUpper(strings.Join(camelcase.Split(discoveredField), " ")) - headers = append(headers, fieldAsHeader) - } - headers = append(headers, formatLabelHeaders(h.options.ColumnLabels)...) - // LABELS is always the last column. - headers = append(headers, formatShowLabelsHeader(h.options.ShowLabels, t)...) - if h.options.WithNamespace { - headers = append(withNamespacePrefixColumns, headers...) - } - h.printHeader(headers, output) - h.lastType = t - } - - // if the error isn't nil, report the "I don't recognize this" error - if err := printUnstructured(unstructured, output, discoveredFieldNames, h.options); err != nil { + // print with the default handler if set, and use the columns from the last time + if h.defaultHandler != nil { + includeHeaders := h.lastType != h.defaultHandler && !h.options.NoHeaders + if err := printRowsForHandlerEntry(output, h.defaultHandler, obj, h.options, includeHeaders); err != nil { return err } + h.lastType = h.defaultHandler return nil } @@ -631,6 +531,87 @@ func (h *HumanReadablePrinter) PrintTable(obj runtime.Object, options PrintOptio return table, nil } +// printRowsForHandlerEntry prints the incremental table output (headers if the current type is +// different from lastType) including all the rows in the object. It returns the current type +// or an error, if any. +func printRowsForHandlerEntry(output io.Writer, handler *handlerEntry, obj runtime.Object, options PrintOptions, includeHeaders bool) error { + if includeHeaders { + var headers []string + for _, column := range handler.columnDefinitions { + if column.Priority != 0 && !options.Wide { + continue + } + headers = append(headers, strings.ToUpper(column.Name)) + } + headers = append(headers, formatLabelHeaders(options.ColumnLabels)...) + // LABELS is always the last column. + headers = append(headers, formatShowLabelsHeader(options.ShowLabels)...) + if options.WithNamespace { + headers = append(withNamespacePrefixColumns, headers...) + } + printHeader(headers, output) + } + + if !handler.printRows { + // TODO: this code path is deprecated and will be removed when all handlers are row printers + args := []reflect.Value{reflect.ValueOf(obj), reflect.ValueOf(output), reflect.ValueOf(options)} + resultValue := handler.printFunc.Call(args)[0] + if resultValue.IsNil() { + return nil + } + return resultValue.Interface().(error) + } + + args := []reflect.Value{reflect.ValueOf(obj), reflect.ValueOf(options)} + results := handler.printFunc.Call(args) + if results[1].IsNil() { + rows := results[0].Interface().([]metav1alpha1.TableRow) + printRows(output, rows, options) + return nil + } + return results[1].Interface().(error) + +} + +// printRows writes the provided rows to output. +func printRows(output io.Writer, rows []metav1alpha1.TableRow, options PrintOptions) { + for _, row := range rows { + if options.WithNamespace { + if obj := row.Object.Object; obj != nil { + if m, err := meta.Accessor(obj); err == nil { + fmt.Fprint(output, m.GetNamespace()) + } + } + fmt.Fprint(output, "\t") + } + + for i, cell := range row.Cells { + if i != 0 { + fmt.Fprint(output, "\t") + } else { + // TODO: remove this once we drop the legacy printers + if options.WithKind && len(options.Kind) > 0 { + fmt.Fprintf(output, "%s/%s", options.Kind, cell) + continue + } + } + fmt.Fprint(output, cell) + } + + hasLabels := len(options.ColumnLabels) > 0 + if obj := row.Object.Object; obj != nil && (hasLabels || options.ShowLabels) { + if m, err := meta.Accessor(obj); err == nil { + for _, value := range labelValues(m.GetLabels(), options) { + output.Write([]byte("\t")) + output.Write([]byte(value)) + } + } + } + + output.Write([]byte("\n")) + } +} + // legacyPrinterToTable uses the old printFunc with tabbed writer to generate a table. // TODO: remove when all legacy printers are removed. func (h *HumanReadablePrinter) legacyPrinterToTable(obj runtime.Object, handler *handlerEntry) (*metav1alpha1.Table, error) { @@ -754,12 +735,9 @@ func formatLabelHeaders(columnLabels []string) []string { } // headers for --show-labels=true -func formatShowLabelsHeader(showLabels bool, t reflect.Type) []string { +func formatShowLabelsHeader(showLabels bool) []string { if showLabels { - // TODO: this is all sorts of hack, fix - if t.String() != "*api.ThirdPartyResource" && t.String() != "*api.ThirdPartyResourceList" { - return []string{"LABELS"} - } + return []string{"LABELS"} } return nil } diff --git a/vendor/k8s.io/kubernetes/pkg/printers/humanreadable_test.go b/vendor/k8s.io/kubernetes/pkg/printers/humanreadable_test.go deleted file mode 100644 index 2649ba34e23a..000000000000 --- a/vendor/k8s.io/kubernetes/pkg/printers/humanreadable_test.go +++ /dev/null @@ -1,90 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package printers - -import ( - "bytes" - "regexp" - "testing" - - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" -) - -func TestPrintUnstructuredObject(t *testing.T) { - tests := []struct { - expected string - options PrintOptions - }{ - { - expected: "NAME\\s+KIND\\s+DUMMY 1\\s+DUMMY 2\\s+ITEMS\nMyName\\s+Test\\.v1\\.\\s+present\\s+present\\s+1 item\\(s\\)", - }, - { - options: PrintOptions{ - WithNamespace: true, - }, - expected: "NAMESPACE\\s+NAME\\s+KIND\\s+DUMMY 1\\s+DUMMY 2\nMyNamespace\\s+MyName\\s+Test\\.v1\\.\\s+present\\s+present", - }, - { - options: PrintOptions{ - ShowLabels: true, - WithNamespace: true, - }, - expected: "NAMESPACE\\s+NAME\\s+KIND\\s+DUMMY 1\\s+LABELS\nMyNamespace\\s+MyName\\s+Test\\.v1\\.\\s+present\\s+", - }, - } - out := bytes.NewBuffer([]byte{}) - - obj := &unstructured.Unstructured{ - Object: map[string]interface{}{ - "apiVersion": "v1", - "kind": "Test", - "dummy1": "present", - "dummy2": "present", - "metadata": map[string]interface{}{ - "name": "MyName", - "namespace": "MyNamespace", - "creationTimestamp": "2017-04-01T00:00:00Z", - "resourceVersion": 123, - "uid": "00000000-0000-0000-0000-000000000001", - "dummy3": "present", - }, - "items": []interface{}{ - map[string]interface{}{ - "itemBool": true, - "itemInt": 42, - }, - }, - "url": "http://localhost", - "status": "ok", - }, - } - - for _, test := range tests { - printer := &HumanReadablePrinter{ - options: test.options, - } - printer.PrintObj(obj, out) - - matches, err := regexp.MatchString(test.expected, out.String()) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - if !matches { - t.Errorf("wanted %s, got %s", test.expected, out) - } - } -} diff --git a/vendor/k8s.io/kubernetes/pkg/printers/internalversion/BUILD b/vendor/k8s.io/kubernetes/pkg/printers/internalversion/BUILD index 4f087fd706f3..bc735afbb5eb 100644 --- a/vendor/k8s.io/kubernetes/pkg/printers/internalversion/BUILD +++ b/vendor/k8s.io/kubernetes/pkg/printers/internalversion/BUILD @@ -78,7 +78,6 @@ go_library( "//pkg/apis/networking:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/apis/rbac:go_default_library", - "//pkg/apis/settings:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/util:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", diff --git a/vendor/k8s.io/kubernetes/pkg/printers/internalversion/printers.go b/vendor/k8s.io/kubernetes/pkg/printers/internalversion/printers.go index a5bcedb85558..c9065a9677e0 100644 --- a/vendor/k8s.io/kubernetes/pkg/printers/internalversion/printers.go +++ b/vendor/k8s.io/kubernetes/pkg/printers/internalversion/printers.go @@ -26,6 +26,7 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1alpha1 "k8s.io/apimachinery/pkg/apis/meta/v1alpha1" "k8s.io/apimachinery/pkg/labels" @@ -45,7 +46,6 @@ import ( "k8s.io/kubernetes/pkg/apis/networking" "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/apis/settings" "k8s.io/kubernetes/pkg/apis/storage" storageutil "k8s.io/kubernetes/pkg/apis/storage/util" "k8s.io/kubernetes/pkg/controller" @@ -77,8 +77,6 @@ var ( daemonSetColumns = []string{"NAME", "DESIRED", "CURRENT", "READY", "UP-TO-DATE", "AVAILABLE", "NODE-SELECTOR", "AGE"} daemonSetWideColumns = []string{"CONTAINER(S)", "IMAGE(S)", "SELECTOR"} eventColumns = []string{"LASTSEEN", "FIRSTSEEN", "COUNT", "NAME", "KIND", "SUBOBJECT", "TYPE", "REASON", "SOURCE", "MESSAGE"} - limitRangeColumns = []string{"NAME", "AGE"} - resourceQuotaColumns = []string{"NAME", "AGE"} namespaceColumns = []string{"NAME", "STATUS", "AGE"} secretColumns = []string{"NAME", "TYPE", "DATA", "AGE"} serviceAccountColumns = []string{"NAME", "SECRETS", "AGE"} @@ -86,10 +84,8 @@ var ( persistentVolumeClaimColumns = []string{"NAME", "STATUS", "VOLUME", "CAPACITY", "ACCESSMODES", "STORAGECLASS", "AGE"} componentStatusColumns = []string{"NAME", "STATUS", "MESSAGE", "ERROR"} thirdPartyResourceColumns = []string{"NAME", "DESCRIPTION", "VERSION(S)"} - roleColumns = []string{"NAME", "AGE"} roleBindingColumns = []string{"NAME", "AGE"} roleBindingWideColumns = []string{"ROLE", "USERS", "GROUPS", "SERVICEACCOUNTS"} - clusterRoleColumns = []string{"NAME", "AGE"} clusterRoleBindingColumns = []string{"NAME", "AGE"} clusterRoleBindingWideColumns = []string{"ROLE", "USERS", "GROUPS", "SERVICEACCOUNTS"} storageClassColumns = []string{"NAME", "TYPE"} @@ -150,10 +146,6 @@ func AddHandlers(h printers.PrintHandler) { h.Handler(nodeColumns, nodeWideColumns, printNodeList) h.Handler(eventColumns, nil, printEvent) h.Handler(eventColumns, nil, printEventList) - h.Handler(limitRangeColumns, nil, printLimitRange) - h.Handler(limitRangeColumns, nil, printLimitRangeList) - h.Handler(resourceQuotaColumns, nil, printResourceQuota) - h.Handler(resourceQuotaColumns, nil, printResourceQuotaList) h.Handler(namespaceColumns, nil, printNamespace) h.Handler(namespaceColumns, nil, printNamespaceList) h.Handler(secretColumns, nil, printSecret) @@ -184,23 +176,59 @@ func AddHandlers(h printers.PrintHandler) { h.Handler(networkPolicyColumns, nil, printExtensionsNetworkPolicyList) h.Handler(networkPolicyColumns, nil, printNetworkPolicy) h.Handler(networkPolicyColumns, nil, printNetworkPolicyList) - h.Handler(roleColumns, nil, printRole) - h.Handler(roleColumns, nil, printRoleList) h.Handler(roleBindingColumns, roleBindingWideColumns, printRoleBinding) h.Handler(roleBindingColumns, roleBindingWideColumns, printRoleBindingList) - h.Handler(clusterRoleColumns, nil, printClusterRole) - h.Handler(clusterRoleColumns, nil, printClusterRoleList) h.Handler(clusterRoleBindingColumns, clusterRoleBindingWideColumns, printClusterRoleBinding) h.Handler(clusterRoleBindingColumns, clusterRoleBindingWideColumns, printClusterRoleBindingList) h.Handler(certificateSigningRequestColumns, nil, printCertificateSigningRequest) h.Handler(certificateSigningRequestColumns, nil, printCertificateSigningRequestList) h.Handler(storageClassColumns, nil, printStorageClass) h.Handler(storageClassColumns, nil, printStorageClassList) - h.Handler(podPresetColumns, nil, printPodPreset) - h.Handler(podPresetColumns, nil, printPodPresetList) h.Handler(statusColumns, nil, printStatus) h.Handler(controllerRevisionColumns, nil, printControllerRevision) h.Handler(controllerRevisionColumns, nil, printControllerRevisionList) + + AddDefaultHandlers(h) +} + +// AddDefaultHandlers adds handlers that can work with most Kubernetes objects. +func AddDefaultHandlers(h printers.PrintHandler) { + // types without defined columns + objectMetaColumnDefinitions := []metav1alpha1.TableColumnDefinition{ + {Name: "Name", Type: "string", Format: "name", Description: metav1.ObjectMeta{}.SwaggerDoc()["name"]}, + {Name: "Age", Type: "string", Description: metav1.ObjectMeta{}.SwaggerDoc()["creationTimestamp"]}, + } + h.DefaultTableHandler(objectMetaColumnDefinitions, printObjectMeta) +} + +func printObjectMeta(obj runtime.Object, options printers.PrintOptions) ([]metav1alpha1.TableRow, error) { + if meta.IsListType(obj) { + rows := make([]metav1alpha1.TableRow, 0, 16) + err := meta.EachListItem(obj, func(obj runtime.Object) error { + nestedRows, err := printObjectMeta(obj, options) + if err != nil { + return err + } + rows = append(rows, nestedRows...) + return nil + }) + if err != nil { + return nil, err + } + return rows, nil + } + + rows := make([]metav1alpha1.TableRow, 0, 1) + m, err := meta.Accessor(obj) + if err != nil { + return nil, err + } + row := metav1alpha1.TableRow{ + Object: runtime.RawExtension{Object: obj}, + } + row.Cells = append(row.Cells, m.GetName(), translateTimestamp(m.GetCreationTimestamp())) + rows = append(rows, row) + return rows, nil } // Pass ports=nil for all ports. @@ -1314,72 +1342,6 @@ func printEventList(list *api.EventList, w io.Writer, options printers.PrintOpti return nil } -func printLimitRange(limitRange *api.LimitRange, w io.Writer, options printers.PrintOptions) error { - return printObjectMeta(limitRange.ObjectMeta, w, options, true) -} - -// Prints the LimitRangeList in a human-friendly format. -func printLimitRangeList(list *api.LimitRangeList, w io.Writer, options printers.PrintOptions) error { - for i := range list.Items { - if err := printLimitRange(&list.Items[i], w, options); err != nil { - return err - } - } - return nil -} - -// printObjectMeta prints the object metadata of a given resource. -func printObjectMeta(meta metav1.ObjectMeta, w io.Writer, options printers.PrintOptions, namespaced bool) error { - name := printers.FormatResourceName(options.Kind, meta.Name, options.WithKind) - - if namespaced && options.WithNamespace { - if _, err := fmt.Fprintf(w, "%s\t", meta.Namespace); err != nil { - return err - } - } - - if _, err := fmt.Fprintf( - w, "%s\t%s", - name, - translateTimestamp(meta.CreationTimestamp), - ); err != nil { - return err - } - if _, err := fmt.Fprint(w, printers.AppendLabels(meta.Labels, options.ColumnLabels)); err != nil { - return err - } - _, err := fmt.Fprint(w, printers.AppendAllLabels(options.ShowLabels, meta.Labels)) - return err -} - -func printResourceQuota(resourceQuota *api.ResourceQuota, w io.Writer, options printers.PrintOptions) error { - return printObjectMeta(resourceQuota.ObjectMeta, w, options, true) -} - -// Prints the ResourceQuotaList in a human-friendly format. -func printResourceQuotaList(list *api.ResourceQuotaList, w io.Writer, options printers.PrintOptions) error { - for i := range list.Items { - if err := printResourceQuota(&list.Items[i], w, options); err != nil { - return err - } - } - return nil -} - -func printRole(role *rbac.Role, w io.Writer, options printers.PrintOptions) error { - return printObjectMeta(role.ObjectMeta, w, options, true) -} - -// Prints the Role in a human-friendly format. -func printRoleList(list *rbac.RoleList, w io.Writer, options printers.PrintOptions) error { - for i := range list.Items { - if err := printRole(&list.Items[i], w, options); err != nil { - return err - } - } - return nil -} - func printRoleBinding(roleBinding *rbac.RoleBinding, w io.Writer, options printers.PrintOptions) error { meta := roleBinding.ObjectMeta name := printers.FormatResourceName(options.Kind, meta.Name, options.WithKind) @@ -1428,23 +1390,6 @@ func printRoleBindingList(list *rbac.RoleBindingList, w io.Writer, options print return nil } -func printClusterRole(clusterRole *rbac.ClusterRole, w io.Writer, options printers.PrintOptions) error { - if options.WithNamespace { - return fmt.Errorf("clusterRole is not namespaced") - } - return printObjectMeta(clusterRole.ObjectMeta, w, options, false) -} - -// Prints the ClusterRole in a human-friendly format. -func printClusterRoleList(list *rbac.ClusterRoleList, w io.Writer, options printers.PrintOptions) error { - for i := range list.Items { - if err := printClusterRole(&list.Items[i], w, options); err != nil { - return err - } - } - return nil -} - func printClusterRoleBinding(clusterRoleBinding *rbac.ClusterRoleBinding, w io.Writer, options printers.PrintOptions) error { meta := clusterRoleBinding.ObjectMeta name := printers.FormatResourceName(options.Kind, meta.Name, options.WithKind) @@ -1947,19 +1892,6 @@ func printStorageClassList(scList *storage.StorageClassList, w io.Writer, option return nil } -func printPodPreset(podPreset *settings.PodPreset, w io.Writer, options printers.PrintOptions) error { - return printObjectMeta(podPreset.ObjectMeta, w, options, false) -} - -func printPodPresetList(list *settings.PodPresetList, w io.Writer, options printers.PrintOptions) error { - for i := range list.Items { - if err := printPodPreset(&list.Items[i], w, options); err != nil { - return err - } - } - return nil -} - func printStatus(status *metav1.Status, w io.Writer, options printers.PrintOptions) error { if _, err := fmt.Fprintf(w, "%s\t%s\t%s\n", status.Status, status.Reason, status.Message); err != nil { return err diff --git a/vendor/k8s.io/kubernetes/pkg/printers/internalversion/printers_test.go b/vendor/k8s.io/kubernetes/pkg/printers/internalversion/printers_test.go index b1afd8ca326a..663d5bcb7615 100644 --- a/vendor/k8s.io/kubernetes/pkg/printers/internalversion/printers_test.go +++ b/vendor/k8s.io/kubernetes/pkg/printers/internalversion/printers_test.go @@ -22,6 +22,7 @@ import ( "fmt" "io" "reflect" + "regexp" "strconv" "strings" "testing" @@ -103,6 +104,112 @@ func TestPrintDefault(t *testing.T) { } } +func TestPrintUnstructuredObject(t *testing.T) { + obj := &unstructured.Unstructured{ + Object: map[string]interface{}{ + "apiVersion": "v1", + "kind": "Test", + "dummy1": "present", + "dummy2": "present", + "metadata": map[string]interface{}{ + "name": "MyName", + "namespace": "MyNamespace", + "creationTimestamp": "2017-04-01T00:00:00Z", + "resourceVersion": 123, + "uid": "00000000-0000-0000-0000-000000000001", + "dummy3": "present", + "labels": map[string]interface{}{"test": "other"}, + }, + /*"items": []interface{}{ + map[string]interface{}{ + "itemBool": true, + "itemInt": 42, + }, + },*/ + "url": "http://localhost", + "status": "ok", + }, + } + + tests := []struct { + expected string + options printers.PrintOptions + object runtime.Object + }{ + { + expected: "NAME\\s+AGE\nMyName\\s+\\d+", + object: obj, + }, + { + options: printers.PrintOptions{ + WithNamespace: true, + }, + expected: "NAMESPACE\\s+NAME\\s+AGE\nMyNamespace\\s+MyName\\s+\\d+", + object: obj, + }, + { + options: printers.PrintOptions{ + ShowLabels: true, + WithNamespace: true, + }, + expected: "NAMESPACE\\s+NAME\\s+AGE\\s+LABELS\nMyNamespace\\s+MyName\\s+\\d+\\w+\\s+test\\=other", + object: obj, + }, + { + expected: "NAME\\s+AGE\nMyName\\s+\\d+\\w+\nMyName2\\s+\\d+", + object: &unstructured.Unstructured{ + Object: map[string]interface{}{ + "apiVersion": "v1", + "kind": "Test", + "dummy1": "present", + "dummy2": "present", + "items": []interface{}{ + map[string]interface{}{ + "metadata": map[string]interface{}{ + "name": "MyName", + "namespace": "MyNamespace", + "creationTimestamp": "2017-04-01T00:00:00Z", + "resourceVersion": 123, + "uid": "00000000-0000-0000-0000-000000000001", + "dummy3": "present", + "labels": map[string]interface{}{"test": "other"}, + }, + }, + map[string]interface{}{ + "metadata": map[string]interface{}{ + "name": "MyName2", + "namespace": "MyNamespace", + "creationTimestamp": "2017-04-01T00:00:00Z", + "resourceVersion": 123, + "uid": "00000000-0000-0000-0000-000000000001", + "dummy3": "present", + "labels": "badlabel", + }, + }, + }, + "url": "http://localhost", + "status": "ok", + }, + }, + }, + } + out := bytes.NewBuffer([]byte{}) + + for _, test := range tests { + out.Reset() + printer := printers.NewHumanReadablePrinter(nil, nil, test.options).With(AddDefaultHandlers) + printer.PrintObj(test.object, out) + + matches, err := regexp.MatchString(test.expected, out.String()) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if !matches { + t.Errorf("wanted:\n%s\ngot:\n%s", test.expected, out) + } + } +} + type TestPrintType struct { Data string } diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/meta/help.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/meta/help.go index 9e0fb152adea..c70b3d2b6c70 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/meta/help.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/api/meta/help.go @@ -67,6 +67,9 @@ func GetItemsPtr(list runtime.Object) (interface{}, error) { // EachListItem invokes fn on each runtime.Object in the list. Any error immediately terminates // the loop. func EachListItem(obj runtime.Object, fn func(runtime.Object) error) error { + if unstructured, ok := obj.(runtime.Unstructured); ok { + return unstructured.EachListItem(fn) + } // TODO: Change to an interface call? itemsPtr, err := GetItemsPtr(obj) if err != nil { diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go index fed687e9bd32..e288686949a2 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go @@ -69,6 +69,39 @@ func (obj *Unstructured) IsList() bool { } func (obj *UnstructuredList) IsList() bool { return true } +func (obj *Unstructured) EachListItem(fn func(runtime.Object) error) error { + if obj.Object == nil { + return fmt.Errorf("content is not a list") + } + field, ok := obj.Object["items"] + if !ok { + return fmt.Errorf("content is not a list") + } + items, ok := field.([]interface{}) + if !ok { + return nil + } + for _, item := range items { + child, ok := item.(map[string]interface{}) + if !ok { + return fmt.Errorf("items member is not an object") + } + if err := fn(&Unstructured{Object: child}); err != nil { + return err + } + } + return nil +} + +func (obj *UnstructuredList) EachListItem(fn func(runtime.Object) error) error { + for i := range obj.Items { + if err := fn(&obj.Items[i]); err != nil { + return err + } + } + return nil +} + func (obj *Unstructured) UnstructuredContent() map[string]interface{} { if obj.Object == nil { obj.Object = make(map[string]interface{}) diff --git a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/runtime/interfaces.go b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/runtime/interfaces.go index fcb18ba111f1..281f8d23c7c2 100644 --- a/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/runtime/interfaces.go +++ b/vendor/k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/runtime/interfaces.go @@ -242,10 +242,14 @@ type Unstructured interface { // IsUnstructuredObject is a marker interface to allow objects that can be serialized but not introspected // to bypass conversion. IsUnstructuredObject() - // IsList returns true if this type is a list or matches the list convention - has an array called "items". - IsList() bool // UnstructuredContent returns a non-nil, mutable map of the contents of this object. Values may be // []interface{}, map[string]interface{}, or any primitive type. Contents are typically serialized to // and from JSON. UnstructuredContent() map[string]interface{} + // IsList returns true if this type is a list or matches the list convention - has an array called "items". + IsList() bool + // EachListItem should pass a single item out of the list as an Object to the provided function. Any + // error should terminate the iteration. If IsList() returns false, this method should return an error + // instead of calling the provided function. + EachListItem(func(Object) error) error }