cdk8s-plus-25
Version:
cdk8s+ is a software development framework that provides high level abstractions for authoring Kubernetes applications. cdk8s-plus-25 synthesizes Kubernetes manifests for Kubernetes 1.25.0
299 lines (298 loc) • 9.08 kB
TypeScript
/**
* Represents a resource or collection of resources.
*/
export interface IApiResource {
/**
* The group portion of the API version (e.g. `authorization.k8s.io`).
*/
readonly apiGroup: string;
/**
* The name of a resource type as it appears in the relevant API endpoint.
* @example - "pods" or "pods/log"
* @see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#referring-to-resources
*/
readonly resourceType: string;
/**
* The unique, namespace-global, name of an object inside the Kubernetes cluster.
*
* If this is omitted, the ApiResource should represent all objects of the given type.
*/
readonly resourceName?: string;
}
/**
* An API Endpoint can either be a resource descriptor (e.g /pods)
* or a non resource url (e.g /healthz). It must be one or the other, and not both.
*/
export interface IApiEndpoint {
/**
* Return the IApiResource this object represents.
*/
asApiResource(): IApiResource | undefined;
/**
* Return the non resource url this object represents.
*/
asNonApiResource(): string | undefined;
}
/**
* Options for `ApiResource`.
*/
export interface ApiResourceOptions {
/**
* The group portion of the API version (e.g. `authorization.k8s.io`).
*/
readonly apiGroup: string;
/**
* The name of the resource type as it appears in the relevant API endpoint.
* @example - "pods" or "pods/log"
* @see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#referring-to-resources
*/
readonly resourceType: string;
}
/**
* Represents information about an API resource type.
*/
export declare class ApiResource implements IApiResource, IApiEndpoint {
/**
* API resource information for Binding.
*/
static readonly BINDINGS: ApiResource;
/**
* API resource information for ComponentStatus.
*/
static readonly COMPONENT_STATUSES: ApiResource;
/**
* API resource information for ConfigMap.
*/
static readonly CONFIG_MAPS: ApiResource;
/**
* API resource information for Endpoints.
*/
static readonly ENDPOINTS: ApiResource;
/**
* API resource information for Event.
*/
static readonly EVENTS: ApiResource;
/**
* API resource information for LimitRange.
*/
static readonly LIMIT_RANGES: ApiResource;
/**
* API resource information for Namespace.
*/
static readonly NAMESPACES: ApiResource;
/**
* API resource information for Node.
*/
static readonly NODES: ApiResource;
/**
* API resource information for PersistentVolumeClaim.
*/
static readonly PERSISTENT_VOLUME_CLAIMS: ApiResource;
/**
* API resource information for PersistentVolume.
*/
static readonly PERSISTENT_VOLUMES: ApiResource;
/**
* API resource information for Pod.
*/
static readonly PODS: ApiResource;
/**
* API resource information for PodTemplate.
*/
static readonly POD_TEMPLATES: ApiResource;
/**
* API resource information for ReplicationController.
*/
static readonly REPLICATION_CONTROLLERS: ApiResource;
/**
* API resource information for ResourceQuota.
*/
static readonly RESOURCE_QUOTAS: ApiResource;
/**
* API resource information for Secret.
*/
static readonly SECRETS: ApiResource;
/**
* API resource information for ServiceAccount.
*/
static readonly SERVICE_ACCOUNTS: ApiResource;
/**
* API resource information for Service.
*/
static readonly SERVICES: ApiResource;
/**
* API resource information for MutatingWebhookConfiguration.
*/
static readonly MUTATING_WEBHOOK_CONFIGURATIONS: ApiResource;
/**
* API resource information for ValidatingWebhookConfiguration.
*/
static readonly VALIDATING_WEBHOOK_CONFIGURATIONS: ApiResource;
/**
* API resource information for CustomResourceDefinition.
*/
static readonly CUSTOM_RESOURCE_DEFINITIONS: ApiResource;
/**
* API resource information for APIService.
*/
static readonly API_SERVICES: ApiResource;
/**
* API resource information for ControllerRevision.
*/
static readonly CONTROLLER_REVISIONS: ApiResource;
/**
* API resource information for DaemonSet.
*/
static readonly DAEMON_SETS: ApiResource;
/**
* API resource information for Deployment.
*/
static readonly DEPLOYMENTS: ApiResource;
/**
* API resource information for ReplicaSet.
*/
static readonly REPLICA_SETS: ApiResource;
/**
* API resource information for StatefulSet.
*/
static readonly STATEFUL_SETS: ApiResource;
/**
* API resource information for TokenReview.
*/
static readonly TOKEN_REVIEWS: ApiResource;
/**
* API resource information for LocalSubjectAccessReview.
*/
static readonly LOCAL_SUBJECT_ACCESS_REVIEWS: ApiResource;
/**
* API resource information for SelfSubjectAccessReview.
*/
static readonly SELF_SUBJECT_ACCESS_REVIEWS: ApiResource;
/**
* API resource information for SelfSubjectRulesReview.
*/
static readonly SELF_SUBJECT_RULES_REVIEWS: ApiResource;
/**
* API resource information for SubjectAccessReview.
*/
static readonly SUBJECT_ACCESS_REVIEWS: ApiResource;
/**
* API resource information for HorizontalPodAutoscaler.
*/
static readonly HORIZONTAL_POD_AUTOSCALERS: ApiResource;
/**
* API resource information for CronJob.
*/
static readonly CRON_JOBS: ApiResource;
/**
* API resource information for Job.
*/
static readonly JOBS: ApiResource;
/**
* API resource information for CertificateSigningRequest.
*/
static readonly CERTIFICATE_SIGNING_REQUESTS: ApiResource;
/**
* API resource information for Lease.
*/
static readonly LEASES: ApiResource;
/**
* API resource information for EndpointSlice.
*/
static readonly ENDPOINT_SLICES: ApiResource;
/**
* API resource information for FlowSchema.
*/
static readonly FLOW_SCHEMAS: ApiResource;
/**
* API resource information for PriorityLevelConfiguration.
*/
static readonly PRIORITY_LEVEL_CONFIGURATIONS: ApiResource;
/**
* API resource information for IngressClass.
*/
static readonly INGRESS_CLASSES: ApiResource;
/**
* API resource information for Ingress.
*/
static readonly INGRESSES: ApiResource;
/**
* API resource information for NetworkPolicy.
*/
static readonly NETWORK_POLICIES: ApiResource;
/**
* API resource information for RuntimeClass.
*/
static readonly RUNTIME_CLASSES: ApiResource;
/**
* API resource information for PodDisruptionBudget.
*/
static readonly POD_DISRUPTION_BUDGETS: ApiResource;
/**
* API resource information for ClusterRoleBinding.
*/
static readonly CLUSTER_ROLE_BINDINGS: ApiResource;
/**
* API resource information for ClusterRole.
*/
static readonly CLUSTER_ROLES: ApiResource;
/**
* API resource information for RoleBinding.
*/
static readonly ROLE_BINDINGS: ApiResource;
/**
* API resource information for Role.
*/
static readonly ROLES: ApiResource;
/**
* API resource information for PriorityClass.
*/
static readonly PRIORITY_CLASSES: ApiResource;
/**
* API resource information for CSIDriver.
*/
static readonly CSI_DRIVERS: ApiResource;
/**
* API resource information for CSINode.
*/
static readonly CSI_NODES: ApiResource;
/**
* API resource information for CSIStorageCapacity.
*/
static readonly CSI_STORAGE_CAPACITIES: ApiResource;
/**
* API resource information for StorageClass.
*/
static readonly STORAGE_CLASSES: ApiResource;
/**
* API resource information for VolumeAttachment.
*/
static readonly VOLUME_ATTACHMENTS: ApiResource;
/**
* API resource information for a custom resource type.
*/
static custom(options: ApiResourceOptions): ApiResource;
/**
* The group portion of the API version (e.g. `authorization.k8s.io`).
*/
readonly apiGroup: string;
/**
* The name of the resource type as it appears in the relevant API endpoint.
* @example - "pods" or "pods/log"
* @see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#referring-to-resources
*/
readonly resourceType: string;
asApiResource(): IApiResource | undefined;
asNonApiResource(): string | undefined;
private constructor();
}
/**
* Factory for creating non api resources.
*/
export declare class NonApiResource implements IApiEndpoint {
private readonly nonResourceUrl;
static of(url: string): NonApiResource;
private constructor();
asApiResource(): IApiResource | undefined;
asNonApiResource(): string | undefined;
}