KubernetesManifestOptions

class aws_cdk.aws_eks.KubernetesManifestOptions(*, ingress_alb=None, ingress_alb_scheme=None, prune=None, skip_validation=None)

Bases: object

Options for KubernetesManifest.

Parameters
  • ingress_alb (Optional[bool]) – Automatically detect Ingress resources in the manifest and annotate them so they are picked up by an ALB Ingress Controller. Default: false

  • ingress_alb_scheme (Optional[AlbScheme]) – Specify the ALB scheme that should be applied to Ingress resources. Only applicable if ingressAlb is set to true. Default: AlbScheme.INTERNAL

  • prune (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 via kubectl apply --prune. The label name will be aws.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 is true unless otherwise specified.

  • skip_validation (Optional[bool]) – A flag to signify if the manifest validation should be skipped. Default: false

ExampleMetadata

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_eks as eks

kubernetes_manifest_options = eks.KubernetesManifestOptions(
    ingress_alb=False,
    ingress_alb_scheme=eks.AlbScheme.INTERNAL,
    prune=False,
    skip_validation=False
)

Attributes

ingress_alb

Automatically detect Ingress resources in the manifest and annotate them so they are picked up by an ALB Ingress Controller.

Default

false

Return type

Optional[bool]

ingress_alb_scheme

Specify the ALB scheme that should be applied to Ingress resources.

Only applicable if ingressAlb is set to true.

Default

AlbScheme.INTERNAL

Return type

Optional[AlbScheme]

prune

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 via kubectl apply --prune.

The label name will be aws.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 is true unless

otherwise specified.

See

https://kubernetes.io/docs/tasks/manage-kubernetes-objects/declarative-config/#alternative-kubectl-apply-f-directory-prune-l-your-label

Return type

Optional[bool]

skip_validation

A flag to signify if the manifest validation should be skipped.

Default

false

Return type

Optional[bool]