UNPKG

kubernetes-models

Version:
56 lines (55 loc) 3.2 kB
import { ModelData, Model } from "@kubernetes-models/base"; /** * NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames. */ export interface INamedRuleWithOperations { /** * apiGroups is the API groups the resources belong to. '\*' is all groups. If '\*' is present, the length of the slice must be one. Required. */ "apiGroups"?: Array<string>; /** * apiVersions is the API versions the resources belong to. '\*' is all versions. If '\*' is present, the length of the slice must be one. Required. */ "apiVersions"?: Array<string>; /** * operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or \* for all of those operations and any future admission operations that are added. If '\*' is present, the length of the slice must be one. Required. */ "operations"?: Array<"*" | "CONNECT" | "CREATE" | "DELETE" | "UPDATE">; /** * resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. */ "resourceNames"?: Array<string>; /** * resources is a list of resources this rule applies to. * * For example: 'pods' means pods. 'pods/log' means the log subresource of pods. '\*' means all resources, but not subresources. 'pods/\*' means all subresources of pods. '\*\/scale' means all scale subresources. '\*\/\*' means all resources and their subresources. * * If wildcard is present, the validation rule will ensure resources do not overlap with each other. * * Depending on the enclosing object, subresources might not be allowed. Required. */ "resources"?: Array<string>; /** * scope specifies the scope of this rule. Valid values are "Cluster", "Namespaced", and "\*" "Cluster" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. "Namespaced" means that only namespaced resources will match this rule. "\*" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is "\*". * * * Possible enum values: * - `"\*"` means that all scopes are included. * - `"Cluster"` means that scope is limited to cluster-scoped objects. Namespace objects are cluster-scoped. * - `"Namespaced"` means that scope is limited to namespaced objects. */ "scope"?: "*" | "Cluster" | "Namespaced"; } /** * NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames. */ export declare class NamedRuleWithOperations extends Model<INamedRuleWithOperations> implements INamedRuleWithOperations { "apiGroups"?: Array<string>; "apiVersions"?: Array<string>; "operations"?: Array<"*" | "CONNECT" | "CREATE" | "DELETE" | "UPDATE">; "resourceNames"?: Array<string>; "resources"?: Array<string>; "scope"?: "*" | "Cluster" | "Namespaced"; constructor(data?: ModelData<INamedRuleWithOperations>); } export type { INamedRuleWithOperations as IIoK8sApiAdmissionregistrationV1NamedRuleWithOperations, NamedRuleWithOperations as IoK8sApiAdmissionregistrationV1NamedRuleWithOperations };