Class KubernetesManifestProps.Jsii$Proxy

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.eks.KubernetesManifestProps.Jsii$Proxy
All Implemented Interfaces:
KubernetesManifestOptions, KubernetesManifestProps, software.amazon.jsii.JsiiSerializable
Enclosing interface:
KubernetesManifestProps

@Stability(Stable) @Internal public static final class KubernetesManifestProps.Jsii$Proxy extends software.amazon.jsii.JsiiObject implements KubernetesManifestProps
An implementation for KubernetesManifestProps
  • Constructor Details

    • Jsii$Proxy

      protected Jsii$Proxy(software.amazon.jsii.JsiiObjectRef objRef)
      Constructor that initializes the object based on values retrieved from the JsiiObject.
      Parameters:
      objRef - Reference to the JSII managed object.
    • Jsii$Proxy

      protected Jsii$Proxy(KubernetesManifestProps.Builder builder)
      Constructor that initializes the object based on literal property values passed by the KubernetesManifestProps.Builder.
  • Method Details

    • getCluster

      public final ICluster getCluster()
      Description copied from interface: KubernetesManifestProps
      The EKS cluster to apply this manifest to.

      [disable-awslint:ref-via-interface]

      Specified by:
      getCluster in interface KubernetesManifestProps
    • getManifest

      public final List<Map<String,Object>> getManifest()
      Description copied from interface: KubernetesManifestProps
      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 through kubectl apply and when the resources or the stack is deleted, the resources in the manifest will be deleted through kubectl delete.

      Example:

       List.of(Map.of(
               "apiVersion", "v1",
               "kind", "Pod",
               "metadata", Map.of("name", "mypod"),
               "spec", Map.of(
                       "containers", List.of(Map.of("name", "hello", "image", "paulbouwer/hello-kubernetes:1.5", "ports", List.of(Map.of("containerPort", 8080)))))));
       
      Specified by:
      getManifest in interface KubernetesManifestProps
    • getOverwrite

      public final Boolean getOverwrite()
      Description copied from interface: KubernetesManifestProps
      Overwrite any existing resources.

      If this is set, we will use kubectl apply instead of kubectl 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: false

      Specified by:
      getOverwrite in interface KubernetesManifestProps
    • getIngressAlb

      public final Boolean getIngressAlb()
      Description copied from interface: KubernetesManifestOptions
      Automatically detect Ingress resources in the manifest and annotate them so they are picked up by an ALB Ingress Controller.

      Default: false

      Specified by:
      getIngressAlb in interface KubernetesManifestOptions
    • getIngressAlbScheme

      public final AlbScheme getIngressAlbScheme()
      Description copied from interface: KubernetesManifestOptions
      Specify the ALB scheme that should be applied to Ingress resources.

      Only applicable if ingressAlb is set to true.

      Default: AlbScheme.INTERNAL

      Specified by:
      getIngressAlbScheme in interface KubernetesManifestOptions
    • getPrune

      public final Boolean getPrune()
      Description copied from interface: KubernetesManifestOptions
      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.

      Specified by:
      getPrune in interface KubernetesManifestOptions
      See Also:
    • getSkipValidation

      public final Boolean getSkipValidation()
      Description copied from interface: KubernetesManifestOptions
      A flag to signify if the manifest validation should be skipped.

      Default: false

      Specified by:
      getSkipValidation in interface KubernetesManifestOptions
    • $jsii$toJson

      @Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
      Specified by:
      $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
    • equals

      public final boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object