UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

2 lines (1 loc) 9.05 kB
"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})();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=__importStar(require("fs"));return fs=()=>tmp,tmp},path=()=>{var tmp=__importStar(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=__importStar(require("../../aws-iam"));return iam=()=>tmp,tmp},core_1=()=>{var tmp=require("../../core");return core_1=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp};class AlbControllerVersion{version;helmChartVersion;custom;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_eks.AlbControllerVersion",version:"2.260.0"};static V2_0_0=new AlbControllerVersion("v2.0.0","1.4.1",!1);static V2_0_1=new AlbControllerVersion("v2.0.1","1.4.1",!1);static V2_1_0=new AlbControllerVersion("v2.1.0","1.4.1",!1);static V2_1_1=new AlbControllerVersion("v2.1.1","1.4.1",!1);static V2_1_2=new AlbControllerVersion("v2.1.2","1.4.1",!1);static V2_1_3=new AlbControllerVersion("v2.1.3","1.4.1",!1);static V2_2_0=new AlbControllerVersion("v2.2.0","1.4.1",!1);static V2_2_1=new AlbControllerVersion("v2.2.1","1.4.1",!1);static V2_2_2=new AlbControllerVersion("v2.2.2","1.4.1",!1);static V2_2_3=new AlbControllerVersion("v2.2.3","1.4.1",!1);static V2_2_4=new AlbControllerVersion("v2.2.4","1.4.1",!1);static V2_3_0=new AlbControllerVersion("v2.3.0","1.4.1",!1);static V2_3_1=new AlbControllerVersion("v2.3.1","1.4.1",!1);static V2_4_1=new AlbControllerVersion("v2.4.1","1.4.1",!1);static V2_4_2=new AlbControllerVersion("v2.4.2","1.4.3",!1);static V2_4_3=new AlbControllerVersion("v2.4.3","1.4.4",!1);static V2_4_4=new AlbControllerVersion("v2.4.4","1.4.5",!1);static V2_4_5=new AlbControllerVersion("v2.4.5","1.4.6",!1);static V2_4_6=new AlbControllerVersion("v2.4.6","1.4.7",!1);static V2_4_7=new AlbControllerVersion("v2.4.7","1.4.8",!1);static V2_5_0=new AlbControllerVersion("v2.5.0","1.5.0",!1);static V2_5_1=new AlbControllerVersion("v2.5.1","1.5.2",!1);static V2_5_2=new AlbControllerVersion("v2.5.2","1.5.3",!1);static V2_5_3=new AlbControllerVersion("v2.5.3","1.5.4",!1);static V2_5_4=new AlbControllerVersion("v2.5.4","1.5.5",!1);static V2_6_0=new AlbControllerVersion("v2.6.0","1.6.0",!1);static V2_6_1=new AlbControllerVersion("v2.6.1","1.6.1",!1);static V2_6_2=new AlbControllerVersion("v2.6.2","1.6.2",!1);static V2_7_0=new AlbControllerVersion("v2.7.0","1.7.0",!1);static V2_7_1=new AlbControllerVersion("v2.7.1","1.7.1",!1);static V2_7_2=new AlbControllerVersion("v2.7.2","1.7.2",!1);static V2_8_0=new AlbControllerVersion("v2.8.0","1.8.0",!1);static V2_8_1=new AlbControllerVersion("v2.8.1","1.8.1",!1);static V2_8_2=new AlbControllerVersion("v2.8.2","1.8.2",!1);static V2_8_3=new AlbControllerVersion("v2.8.3","1.8.4",!1);static V2_9_0=new AlbControllerVersion("v2.9.0","1.9.0",!1);static V2_9_1=new AlbControllerVersion("v2.9.1","1.9.1",!1);static V2_9_2=new AlbControllerVersion("v2.9.2","1.9.2",!1);static V2_10_0=new AlbControllerVersion("v2.10.0","1.10.0",!1);static V2_10_1=new AlbControllerVersion("v2.10.1","1.10.1",!1);static V2_11_0=new AlbControllerVersion("v2.11.0","1.11.0",!1);static V2_12_0=new AlbControllerVersion("v2.12.0","1.12.0",!1);static V2_13_0=new AlbControllerVersion("v2.13.0","1.13.0",!1);static V2_13_1=new AlbControllerVersion("v2.13.1","1.13.1",!1);static V2_13_2=new AlbControllerVersion("v2.13.2","1.13.2",!1);static V2_13_3=new AlbControllerVersion("v2.13.3","1.13.3",!1);static V2_13_4=new AlbControllerVersion("v2.13.4","1.13.4",!1);static V2_14_0=new AlbControllerVersion("v2.14.0","1.14.0",!1);static V2_14_1=new AlbControllerVersion("v2.14.1","1.14.1",!1);static V2_15_0=new AlbControllerVersion("v2.15.0","1.15.0",!1);static V2_16_0=new AlbControllerVersion("v2.16.0","1.16.0",!1);static V2_17_0=new AlbControllerVersion("v2.17.0","1.17.0",!1);static V2_17_1=new AlbControllerVersion("v2.17.1","1.17.1",!1);static V3_0_0=new AlbControllerVersion("v3.0.0","3.0.0",!1);static V3_1_0=new AlbControllerVersion("v3.1.0","3.1.0",!1);static V3_2_0=new AlbControllerVersion("v3.2.0","3.2.0",!1);static V3_2_1=new AlbControllerVersion("v3.2.1","3.2.1",!1);static V3_2_2=new AlbControllerVersion("v3.2.2","3.2.2",!1);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;var AlbScheme;(function(AlbScheme2){AlbScheme2.INTERNAL="internal",AlbScheme2.INTERNET_FACING="internet-facing"})(AlbScheme||(exports.AlbScheme=AlbScheme={}));class AlbController extends constructs_1().Construct{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_eks.AlbController",version:"2.260.0"};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,overwriteServiceAccount:props.overwriteServiceAccount,removalPolicy:props.removalPolicy});if(props.version.custom&&!props.policy)throw new(core_1()).ValidationError((0,literal_string_1().lit)`AlbControllerOptionsPolicyRequired`,"'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},removalPolicy:props.removalPolicy});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;