cdktf-crd
Version:
195 lines (194 loc) • 13 kB
TypeScript
import { Manifest, type ManifestConfig } from "@cdktf/provider-kubernetes/lib/manifest";
import { Construct } from "constructs";
export declare class KubernetesUpdateRequestV1beta1Manifest extends Manifest {
constructor(scope: Construct, id: string, config: KubernetesUpdateRequestV1beta1ManifestConfig);
}
export interface KubernetesUpdateRequestV1beta1ManifestConfig extends ManifestConfig {
manifest: {
apiVersion?: "kyverno.io/v1beta1";
kind?: "UpdateRequest";
metadata: {
annotations?: {
[key: string]: string;
};
labels?: {
[key: string]: string;
};
name: string;
namespace?: string;
};
/** @description ResourceSpec is the information to identify the trigger resource. */
spec?: {
/** @description Context ... */
context: {
/** @description AdmissionRequestInfoObject stores the admission request and operation details */
admissionRequestInfo?: {
/** @description AdmissionRequest describes the admission.Attributes for the admission request. */
admissionRequest?: {
/** @description DryRun indicates that modifications will definitely not be persisted for this request.
* Defaults to false. */
dryRun?: boolean;
/** @description Kind is the fully-qualified type of object being submitted (for example, v1.Pod or autoscaling.v1.Scale) */
kind: {
group: string;
kind: string;
version: string;
};
/** @description Name is the name of the object as presented in the request. On a CREATE operation, the client may omit name and
* rely on the server to generate the name. If that is the case, this field will contain an empty string. */
name?: string;
/** @description Namespace is the namespace associated with the request (if any). */
namespace?: string;
/** @description Object is the object from the incoming request. */
object?: Record<string, never>;
/** @description OldObject is the existing object. Only populated for DELETE and UPDATE requests. */
oldObject?: Record<string, never>;
/** @description Operation is the operation being performed. This may be different than the operation
* requested. e.g. a patch can result in either a CREATE or UPDATE Operation. */
operation: string;
/** @description Options is the operation option structure of the operation being performed.
* e.g. `meta.k8s.io/v1.DeleteOptions` or `meta.k8s.io/v1.CreateOptions`. This may be
* different than the options the caller provided. e.g. for a patch request the performed
* Operation might be a CREATE, in which case the Options will a
* `meta.k8s.io/v1.CreateOptions` even though the caller provided `meta.k8s.io/v1.PatchOptions`. */
options?: Record<string, never>;
/** @description RequestKind is the fully-qualified type of the original API request (for example, v1.Pod or autoscaling.v1.Scale).
* If this is specified and differs from the value in "kind", an equivalent match and conversion was performed.
*
* For example, if deployments can be modified via apps/v1 and apps/v1beta1, and a webhook registered a rule of
* `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]` and `matchPolicy: Equivalent`,
* an API request to apps/v1beta1 deployments would be converted and sent to the webhook
* with `kind: {group:"apps", version:"v1", kind:"Deployment"}` (matching the rule the webhook registered for),
* and `requestKind: {group:"apps", version:"v1beta1", kind:"Deployment"}` (indicating the kind of the original API request).
*
* See documentation for the "matchPolicy" field in the webhook configuration type for more details. */
requestKind?: {
group: string;
kind: string;
version: string;
};
/** @description RequestResource is the fully-qualified resource of the original API request (for example, v1.pods).
* If this is specified and differs from the value in "resource", an equivalent match and conversion was performed.
*
* For example, if deployments can be modified via apps/v1 and apps/v1beta1, and a webhook registered a rule of
* `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]` and `matchPolicy: Equivalent`,
* an API request to apps/v1beta1 deployments would be converted and sent to the webhook
* with `resource: {group:"apps", version:"v1", resource:"deployments"}` (matching the resource the webhook registered for),
* and `requestResource: {group:"apps", version:"v1beta1", resource:"deployments"}` (indicating the resource of the original API request).
*
* See documentation for the "matchPolicy" field in the webhook configuration type. */
requestResource?: {
group: string;
resource: string;
version: string;
};
/** @description RequestSubResource is the name of the subresource of the original API request, if any (for example, "status" or "scale")
* If this is specified and differs from the value in "subResource", an equivalent match and conversion was performed.
* See documentation for the "matchPolicy" field in the webhook configuration type. */
requestSubResource?: string;
/** @description Resource is the fully-qualified resource being requested (for example, v1.pods) */
resource: {
group: string;
resource: string;
version: string;
};
/** @description SubResource is the subresource being requested, if any (for example, "status" or "scale") */
subResource?: string;
/** @description UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are
* otherwise identical (parallel requests, requests when earlier requests did not modify etc)
* The UID is meant to track the round trip (request/response) between the KAS and the WebHook, not the user request.
* It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging. */
uid: string;
/** @description UserInfo is information about the requesting user */
userInfo: {
/** @description Any additional information provided by the authenticator. */
extra?: {
[key: string]: string[];
};
/** @description The names of groups this user is a part of. */
groups?: string[];
/** @description A unique value that identifies this user across time. If this user is
* deleted and another user by the same name is added, they will have
* different UIDs. */
uid?: string;
/** @description The name that uniquely identifies this user among all active users. */
username?: string;
};
};
/** @description Operation is the type of resource operation being checked for admission control */
operation?: string;
};
/** @description RequestInfo contains permission info carried in an admission request. */
userInfo?: {
/** @description ClusterRoles is a list of possible clusterRoles send the request. */
clusterRoles?: string[] | null;
/** @description Roles is a list of possible role send the request. */
roles?: string[] | null;
/** @description UserInfo is the userInfo carried in the admission request. */
userInfo?: {
/** @description Any additional information provided by the authenticator. */
extra?: {
[key: string]: string[];
};
/** @description The names of groups this user is a part of. */
groups?: string[];
/** @description A unique value that identifies this user across time. If this user is
* deleted and another user by the same name is added, they will have
* different UIDs. */
uid?: string;
/** @description The name that uniquely identifies this user among all active users. */
username?: string;
};
};
};
/** @description DeleteDownstream represents whether the downstream needs to be deleted. */
deleteDownstream: boolean;
/** @description Specifies the name of the policy. */
policy: string;
/** @description Type represents request type for background processing */
requestType?: string;
/** @description ResourceSpec is the information to identify the trigger resource. */
resource: {
/** @description APIVersion specifies resource apiVersion. */
apiVersion?: string;
/** @description Kind specifies resource kind. */
kind?: string;
/** @description Name specifies the resource name. */
name?: string;
/** @description Namespace specifies resource namespace. */
namespace?: string;
/** @description UID specifies the resource uid. */
uid?: string;
};
/** @description Rule is the associate rule name of the current UR. */
rule: string;
/** @description Synchronize represents the sync behavior of the corresponding rule
* Optional. Defaults to "false" if not specified. */
synchronize?: boolean;
};
/** @description Status contains statistics related to update request. */
status?: {
/** @description This will track the resources that are updated by the generate Policy.
* Will be used during clean up resources. */
generatedResources?: {
/** @description APIVersion specifies resource apiVersion. */
apiVersion?: string;
/** @description Kind specifies resource kind. */
kind?: string;
/** @description Name specifies the resource name. */
name?: string;
/** @description Namespace specifies resource namespace. */
namespace?: string;
/** @description UID specifies the resource uid. */
uid?: string;
}[];
/** @description Deprecated */
handler?: string;
/** @description Specifies request status message. */
message?: string;
retryCount?: number;
/** @description State represents state of the update request. */
state: string;
};
};
}