KubernetesManifest
- class aws_cdk.aws_eks.KubernetesManifest(scope, id, *, cluster, manifest, overwrite=None, ingress_alb=None, ingress_alb_scheme=None, prune=None, skip_validation=None)
Bases:
Construct
Represents a manifest within the Kubernetes system.
Alternatively, you can use
cluster.addManifest(resource[, resource, ...])
to define resources on this cluster.Applies/deletes the manifest using
kubectl
.- ExampleMetadata:
infused
Example:
# cluster: eks.Cluster namespace = cluster.add_manifest("my-namespace", { "api_version": "v1", "kind": "Namespace", "metadata": {"name": "my-app"} }) service = cluster.add_manifest("my-service", { "metadata": { "name": "myservice", "namespace": "my-app" }, "spec": {} }) service.node.add_dependency(namespace)
- Parameters:
scope (
Construct
)id (
str
)cluster (
ICluster
) – The EKS cluster to apply this manifest to. [disable-awslint:ref-via-interface]manifest (
Sequence
[Mapping
[str
,Any
]]) – The manifest to apply. Consists of any number of child resources. When the resources are created/updated, this manifest will be applied to the cluster throughkubectl apply
and when the resources or the stack is deleted, the resources in the manifest will be deleted throughkubectl delete
.overwrite (
Optional
[bool
]) – Overwrite any existing resources. If this is set, we will usekubectl apply
instead ofkubectl create
when the resource is created. Otherwise, if there is already a resource in the cluster with the same name, the operation will fail. Default: falseingress_alb (
Optional
[bool
]) – Automatically detectIngress
resources in the manifest and annotate them so they are picked up by an ALB Ingress Controller. Default: falseingress_alb_scheme (
Optional
[AlbScheme
]) – Specify the ALB scheme that should be applied toIngress
resources. Only applicable ifingressAlb
is set totrue
. Default: AlbScheme.INTERNALprune (
Optional
[bool
]) – When a resource is removed from a Kubernetes manifest, it no longer appears in the manifest, and there is no way to know that this resource needs to be deleted. To address this,kubectl apply
has a--prune
option which will query the cluster for all resources with a specific label and will remove all the labeld resources that are not part of the applied manifest. If this option is disabled and a resource is removed, it will become “orphaned” and will not be deleted from the cluster. When this option is enabled (default), the construct will inject a label to all Kubernetes resources included in this manifest which will be used to prune resources when the manifest changes viakubectl apply --prune
. The label name will beaws.cdk.eks/prune-<ADDR>
where<ADDR>
is the 42-char unique address of this construct in the construct tree. Value is empty. Default: - based on the prune option of the cluster, which istrue
unless otherwise specified.skip_validation (
Optional
[bool
]) – A flag to signify if the manifest validation should be skipped. Default: false
Methods
- to_string()
Returns a string representation of this construct.
- Return type:
str
Attributes
- RESOURCE_TYPE = 'Custom::AWSCDK-EKS-KubernetesResource'
- node
The construct tree node associated with this construct.
Static Methods
- classmethod is_construct(x)
Return whether the given object is a Construct.
- Parameters:
x (
Any
)- Return type:
bool