@aws-quickstart/eks-blueprints
    Preparing search index...

    Interface ImportClusterProviderProps

    Properties object for the ImportClusterProvider.

    interface ImportClusterProviderProps {
        awscliLayer?: ILayerVersion;
        clusterCertificateAuthorityData?: string;
        clusterEncryptionConfigKeyArn?: string;
        clusterEndpoint?: string;
        clusterHandlerSecurityGroupId?: string;
        clusterName: string;
        clusterSecurityGroupId?: string;
        id?: string;
        ipFamily?: IpFamily;
        kubectlEnvironment?: { [name: string]: string };
        kubectlLambdaRole?: IRole;
        kubectlLayer?: ILayerVersion;
        kubectlMemory?: Size;
        kubectlPrivateSubnetIds?: string[];
        kubectlProvider?: IKubectlProvider;
        kubectlRoleArn?: string;
        kubectlSecurityGroupId?: string;
        onEventLayer?: ILayerVersion;
        openIdConnectProvider?: IOpenIdConnectProvider;
        prune?: boolean;
        securityGroupIds?: string[];
        version: KubernetesVersion;
    }

    Hierarchy

    • Omit<eks.ClusterAttributes, "vpc">
      • ImportClusterProviderProps
    Index

    Properties

    awscliLayer?: ILayerVersion

    An AWS Lambda layer that contains the aws CLI.

    The handler expects the layer to include the following executables:

    /opt/awscli/aws
    
    - a default layer with the AWS CLI 1.x
    
    clusterCertificateAuthorityData?: string

    The certificate-authority-data for your cluster.

    • if not specified cluster.clusterCertificateAuthorityData will throw an error
    clusterEncryptionConfigKeyArn?: string

    Amazon Resource Name (ARN) or alias of the customer master key (CMK).

    • if not specified cluster.clusterEncryptionConfigKeyArn will throw an error
    clusterEndpoint?: string

    The API Server endpoint URL

    • if not specified cluster.clusterEndpoint will throw an error.
    clusterHandlerSecurityGroupId?: string

    A security group id to associate with the Cluster Handler's Lambdas. The Cluster Handler's Lambdas are responsible for calling AWS's EKS API.

    - No security group.
    
    clusterName: string

    The physical name of the Cluster

    clusterSecurityGroupId?: string

    The cluster security group that was created by Amazon EKS for the cluster.

    • if not specified cluster.clusterSecurityGroupId will throw an error
    id?: string

    Used for the CDK construct id for the imported cluster. Useful when passing tokens for cluster name.

    ipFamily?: IpFamily

    Specify which IP family is used to assign Kubernetes pod and service IP addresses.

    kubectlEnvironment?: { [name: string]: string }

    Environment variables to use when running kubectl against this cluster.

    - no additional variables
    
    kubectlLambdaRole?: IRole

    An IAM role that can perform kubectl operations against this cluster.

    The role should be mapped to the system:masters Kubernetes RBAC role.

    This role is directly passed to the lambda handler that sends Kube Ctl commands to the cluster.

    - if not specified, the default role created by a lambda function will
    be used.
    kubectlLayer?: ILayerVersion

    An AWS Lambda Layer which includes kubectl and Helm.

    This layer is used by the kubectl handler to apply manifests and install helm charts. You must pick an appropriate releases of one of the @aws-cdk/layer-kubectl-vXX packages, that works with the version of Kubernetes you have chosen.

    The handler expects the layer to include the following executables:

    /opt/helm/helm
    /opt/kubectl/kubectl
    - No default layer will be provided
    
    kubectlMemory?: Size

    Amount of memory to allocate to the provider's lambda function.

    Size.gibibytes(1)
    
    kubectlPrivateSubnetIds?: string[]

    Subnets to host the kubectl compute resources. If not specified, the k8s endpoint is expected to be accessible publicly.

    - k8s endpoint is expected to be accessible publicly
    
    kubectlProvider?: IKubectlProvider

    KubectlProvider for issuing kubectl commands.

    - Default CDK provider
    
    kubectlRoleArn?: string

    An IAM role with cluster administrator and "system:masters" permissions.

    • if not specified, it not be possible to issue kubectl commands against an imported cluster.
    kubectlSecurityGroupId?: string

    A security group to use for kubectl execution. If not specified, the k8s endpoint is expected to be accessible publicly.

    - k8s endpoint is expected to be accessible publicly
    
    onEventLayer?: ILayerVersion

    An AWS Lambda Layer which includes the NPM dependency proxy-agent. This layer is used by the onEvent handler to route AWS SDK requests through a proxy.

    The handler expects the layer to include the following node_modules:

    proxy-agent

    - a layer bundled with this module.
    
    openIdConnectProvider?: IOpenIdConnectProvider

    An Open ID Connect provider for this cluster that can be used to configure service accounts. You can either import an existing provider using iam.OpenIdConnectProvider.fromProviderArn, or create a new provider using new eks.OpenIdConnectProvider

    • if not specified cluster.openIdConnectProvider and cluster.addServiceAccount will throw an error.
    prune?: boolean

    Indicates whether Kubernetes resources added through addManifest() can be automatically pruned. When this is enabled (default), prune labels will be allocated and injected to each resource. These labels will then be used when issuing the kubectl apply operation with the --prune switch.

    true
    
    securityGroupIds?: string[]

    Additional security groups associated with this cluster.

    • if not specified, no additional security groups will be considered in cluster.connections.
    version: KubernetesVersion

    This property is needed as it drives selection of certain add-on versions as well as kubectl layer.