UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

62 lines (61 loc) 2.5 kB
import { Construct } from 'constructs'; import { CfnCluster } from './eks.generated'; import * as ec2 from '../../aws-ec2'; import * as iam from '../../aws-iam'; import * as kms from '../../aws-kms'; import * as lambda from '../../aws-lambda'; import { ArnComponents } from '../../core'; export interface ClusterResourceProps { readonly resourcesVpcConfig: CfnCluster.ResourcesVpcConfigProperty; readonly roleArn: string; readonly encryptionConfig?: Array<CfnCluster.EncryptionConfigProperty>; readonly kubernetesNetworkConfig?: CfnCluster.KubernetesNetworkConfigProperty; readonly name: string; readonly version?: string; readonly endpointPrivateAccess: boolean; readonly endpointPublicAccess: boolean; readonly publicAccessCidrs?: string[]; readonly vpc: ec2.IVpc; readonly environment?: { [key: string]: string; }; readonly subnets?: ec2.ISubnet[]; readonly secretsEncryptionKey?: kms.IKey; readonly onEventLayer?: lambda.ILayerVersion; readonly clusterHandlerSecurityGroup?: ec2.ISecurityGroup; readonly tags?: { [key: string]: string; }; readonly logging?: { [key: string]: [{ [key: string]: any; }]; }; readonly accessconfig?: CfnCluster.AccessConfigProperty; readonly remoteNetworkConfig?: CfnCluster.RemoteNetworkConfigProperty; readonly bootstrapSelfManagedAddons?: boolean; } /** * A low-level CFN resource Amazon EKS cluster implemented through a custom * resource. * * Implements EKS create/update/delete through a CloudFormation custom resource * in order to allow us to control the IAM role which creates the cluster. This * is required in order to be able to allow CloudFormation to interact with the * cluster via `kubectl` to enable Kubernetes management capabilities like apply * manifest and IAM role/user RBAC mapping. */ export declare class ClusterResource extends Construct { readonly attrEndpoint: string; readonly attrArn: string; readonly attrCertificateAuthorityData: string; readonly attrClusterSecurityGroupId: string; readonly attrEncryptionConfigKeyArn: string; readonly attrOpenIdConnectIssuerUrl: string; readonly attrOpenIdConnectIssuer: string; readonly ref: string; readonly adminRole: iam.Role; constructor(scope: Construct, id: string, props: ClusterResourceProps); private createAdminRole; } export declare function clusterArnComponents(clusterName: string): ArnComponents;