UNPKG

k8ts

Version:

Powerful framework for building Kubernetes manifests in TypeScript.

28 lines 1.7 kB
import { Kind, Resource_Top } from "@k8ts/instruments"; import { CDK } from "@k8ts/sample-interfaces"; export interface ClusterRole_Rule<Groups extends Kind.Group[] = Kind.Group[], Resources extends Kind.Kind<Groups[number]["name"], string, string>[] = Kind.Kind[]> { resources: Resources; verbs: Verbs[]; } export type ClusterRole_RuleProducer<Rules extends ClusterRole_Rule> = (scope: ClusterRole_Scope) => Iterable<Rules>; declare class ClusterRole_Scope { Rule<const R extends Kind[]>(...resources: R): { verbs(...verbs: Verbs[]): { resources: R; verbs: Verbs[]; }; }; } export interface ClusterRole_Props<Rules extends ClusterRole_Rule = ClusterRole_Rule> { rules: ClusterRole_RuleProducer<Rules>; } export declare class ClusterRole<Name extends string = string> extends Resource_Top<Name, ClusterRole_Props> { get kind(): Kind.Kind<"rbac.authorization.k8s.io", "v1", "ClusterRole">; constructor(name: Name, props: ClusterRole_Props); private _fromObject; protected body(): CDK.KubeClusterRoleProps; } export type Verbs = "get" | "list" | "watch" | "create" | "update" | "patch" | "delete" | "deletecollection"; export type ApiGroup = "namespaces" | "pods" | "services" | "endpoints" | "persistentvolumeclaims" | "events" | "configmaps" | "secrets" | "httproutes" | "gateways" | "jobs" | "cronjobs" | "deployments" | "replicasets" | "statefulsets" | "daemonsets" | "podtemplates" | "clusterroles" | "roles" | "rolebindings" | "clusterrolebindings" | "serviceaccounts" | "nodes" | "persistentvolumes" | "storageclasses" | "volumeattachments" | "persistentvolumeclaims"; export {}; //# sourceMappingURL=cluster-role.d.ts.map