UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

2 lines (1 loc) 6.69 kB
"use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.AlbController=exports.AlbScheme=exports.AlbControllerVersion=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var fs=()=>{var tmp=require("fs");return fs=()=>tmp,tmp},path=()=>{var tmp=require("path");return path=()=>tmp,tmp},constructs_1=()=>{var tmp=require("constructs");return constructs_1=()=>tmp,tmp},cluster_1=()=>{var tmp=require("./cluster");return cluster_1=()=>tmp,tmp},helm_chart_1=()=>{var tmp=require("./helm-chart");return helm_chart_1=()=>tmp,tmp},service_account_1=()=>{var tmp=require("./service-account");return service_account_1=()=>tmp,tmp},iam=()=>{var tmp=require("../../aws-iam");return iam=()=>tmp,tmp},core_1=()=>{var tmp=require("../../core");return core_1=()=>tmp,tmp};class AlbControllerVersion{static of(version,helmChartVersion="1.4.1"){return new AlbControllerVersion(version,helmChartVersion,!0)}constructor(version,helmChartVersion,custom){this.version=version,this.helmChartVersion=helmChartVersion,this.custom=custom}}exports.AlbControllerVersion=AlbControllerVersion,_a=JSII_RTTI_SYMBOL_1,AlbControllerVersion[_a]={fqn:"aws-cdk-lib.aws_eks.AlbControllerVersion",version:"2.202.0"},AlbControllerVersion.V2_0_0=new AlbControllerVersion("v2.0.0","1.4.1",!1),AlbControllerVersion.V2_0_1=new AlbControllerVersion("v2.0.1","1.4.1",!1),AlbControllerVersion.V2_1_0=new AlbControllerVersion("v2.1.0","1.4.1",!1),AlbControllerVersion.V2_1_1=new AlbControllerVersion("v2.1.1","1.4.1",!1),AlbControllerVersion.V2_1_2=new AlbControllerVersion("v2.1.2","1.4.1",!1),AlbControllerVersion.V2_1_3=new AlbControllerVersion("v2.1.3","1.4.1",!1),AlbControllerVersion.V2_2_0=new AlbControllerVersion("v2.2.0","1.4.1",!1),AlbControllerVersion.V2_2_1=new AlbControllerVersion("v2.2.1","1.4.1",!1),AlbControllerVersion.V2_2_2=new AlbControllerVersion("v2.2.2","1.4.1",!1),AlbControllerVersion.V2_2_3=new AlbControllerVersion("v2.2.3","1.4.1",!1),AlbControllerVersion.V2_2_4=new AlbControllerVersion("v2.2.4","1.4.1",!1),AlbControllerVersion.V2_3_0=new AlbControllerVersion("v2.3.0","1.4.1",!1),AlbControllerVersion.V2_3_1=new AlbControllerVersion("v2.3.1","1.4.1",!1),AlbControllerVersion.V2_4_1=new AlbControllerVersion("v2.4.1","1.4.1",!1),AlbControllerVersion.V2_4_2=new AlbControllerVersion("v2.4.2","1.4.3",!1),AlbControllerVersion.V2_4_3=new AlbControllerVersion("v2.4.3","1.4.4",!1),AlbControllerVersion.V2_4_4=new AlbControllerVersion("v2.4.4","1.4.5",!1),AlbControllerVersion.V2_4_5=new AlbControllerVersion("v2.4.5","1.4.6",!1),AlbControllerVersion.V2_4_6=new AlbControllerVersion("v2.4.6","1.4.7",!1),AlbControllerVersion.V2_4_7=new AlbControllerVersion("v2.4.7","1.4.8",!1),AlbControllerVersion.V2_5_0=new AlbControllerVersion("v2.5.0","1.5.0",!1),AlbControllerVersion.V2_5_1=new AlbControllerVersion("v2.5.1","1.5.2",!1),AlbControllerVersion.V2_5_2=new AlbControllerVersion("v2.5.2","1.5.3",!1),AlbControllerVersion.V2_5_3=new AlbControllerVersion("v2.5.3","1.5.4",!1),AlbControllerVersion.V2_5_4=new AlbControllerVersion("v2.5.4","1.5.5",!1),AlbControllerVersion.V2_6_0=new AlbControllerVersion("v2.6.0","1.6.0",!1),AlbControllerVersion.V2_6_1=new AlbControllerVersion("v2.6.1","1.6.1",!1),AlbControllerVersion.V2_6_2=new AlbControllerVersion("v2.6.2","1.6.2",!1),AlbControllerVersion.V2_7_0=new AlbControllerVersion("v2.7.0","1.7.0",!1),AlbControllerVersion.V2_7_1=new AlbControllerVersion("v2.7.1","1.7.1",!1),AlbControllerVersion.V2_7_2=new AlbControllerVersion("v2.7.2","1.7.2",!1),AlbControllerVersion.V2_8_0=new AlbControllerVersion("v2.8.0","1.8.0",!1),AlbControllerVersion.V2_8_1=new AlbControllerVersion("v2.8.1","1.8.1",!1),AlbControllerVersion.V2_8_2=new AlbControllerVersion("v2.8.2","1.8.2",!1);var AlbScheme;(function(AlbScheme2){AlbScheme2.INTERNAL="internal",AlbScheme2.INTERNET_FACING="internet-facing"})(AlbScheme||(exports.AlbScheme=AlbScheme={}));class AlbController extends constructs_1().Construct{static create(scope,props){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_eks_AlbControllerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.create),error}const stack=core_1().Stack.of(scope),uid=AlbController.uid(props.cluster);return new AlbController(stack,uid,props)}static uid(cluster){return`${core_1().Names.nodeUniqueId(cluster.node)}-AlbController`}constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings().aws_cdk_lib_aws_eks_AlbControllerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,AlbController),error}const namespace="kube-system",serviceAccount=new(service_account_1()).ServiceAccount(this,"alb-sa",{namespace,name:"aws-load-balancer-controller",cluster:props.cluster});if(props.version.custom&&!props.policy)throw new(core_1()).ValidationError("'albControllerOptions.policy' is required when using a custom controller version",this);const policy=props.policy??JSON.parse(fs().readFileSync(path().join(__dirname,"addons",`alb-iam_policy-${props.version.version}.json`),"utf8"));for(const statement of policy.Statement){const rewrittenStatement={...statement,Resource:this.rewritePolicyResources(statement.Resource)};serviceAccount.addToPrincipalPolicy(iam().PolicyStatement.fromJson(rewrittenStatement))}const chart=new(helm_chart_1()).HelmChart(this,"Resource",{cluster:props.cluster,chart:"aws-load-balancer-controller",repository:"https://aws.github.io/eks-charts",namespace,release:"aws-load-balancer-controller",version:props.version.helmChartVersion,wait:!0,timeout:core_1().Duration.minutes(15),values:{clusterName:props.cluster.clusterName,serviceAccount:{create:!1,name:serviceAccount.serviceAccountName},region:core_1().Stack.of(this).region,vpcId:props.cluster.vpc.vpcId,image:{repository:props.repository??"602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller",tag:props.version.version},...props.additionalHelmChartValues}});chart.node.addDependency(serviceAccount),chart.node.addDependency(props.cluster.openIdConnectProvider),props.cluster.authenticationMode!=cluster_1().AuthenticationMode.API&&chart.node.addDependency(props.cluster.awsAuth)}rewritePolicyResources(resources){const rewriteResource=s=>s.replace("arn:aws:",`arn:${core_1().Aws.PARTITION}:`);return resources&&(Array.isArray(resources)?resources.map(rewriteResource):rewriteResource(resources))}}exports.AlbController=AlbController,_b=JSII_RTTI_SYMBOL_1,AlbController[_b]={fqn:"aws-cdk-lib.aws_eks.AlbController",version:"2.202.0"};