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:
ConstructRepresents 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 applyand 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 applyinstead ofkubectl createwhen 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 detectIngressresources 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 toIngressresources. Only applicable ifingressAlbis 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 applyhas a--pruneoption 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 istrueunless 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
- PROPERTY_INJECTION_ID = 'aws-cdk-lib.aws-eks.KubernetesManifest'
- RESOURCE_TYPE = 'Custom::AWSCDK-EKS-KubernetesResource'
- node
The tree node.
Static Methods
- classmethod is_construct(x)
Checks if
xis a construct.Use this method instead of
instanceofto properly detectConstructinstances, even when the construct library is symlinked.Explanation: in JavaScript, multiple copies of the
constructslibrary on disk are seen as independent, completely different libraries. As a consequence, the classConstructin each copy of theconstructslibrary is seen as a different class, and an instance of one class will not test asinstanceofthe other class.npm installwill not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of theconstructslibrary can be accidentally installed, andinstanceofwill behave unpredictably. It is safest to avoid usinginstanceof, and using this type-testing method instead.- Parameters:
x (
Any) – Any object.- Return type:
bool- Returns:
true if
xis an object created from a class which extendsConstruct.