UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

2 lines (1 loc) 7.92 kB
"use strict";var __esDecorate=exports&&exports.__esDecorate||function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!="function")throw new TypeError("Function expected");return f}for(var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value",target=!descriptorIn&&ctor?contextIn.static?ctor:ctor.prototype:null,descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{}),_,done=!1,i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw new TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result===void 0)continue;if(result===null||typeof result!="object")throw new TypeError("Object expected");(_=accept(result.get))&&(descriptor.get=_),(_=accept(result.set))&&(descriptor.set=_),(_=accept(result.init))&&initializers.unshift(_)}else(_=accept(result))&&(kind==="field"?initializers.unshift(_):descriptor[key]=_)}target&&Object.defineProperty(target,contextIn.name,descriptor),done=!0},__runInitializers=exports&&exports.__runInitializers||function(thisArg,initializers,value){for(var useValue=arguments.length>2,i=0;i<initializers.length;i++)value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg);return useValue?value:void 0};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FirelensLogRouter=exports.FirelensConfigFileType=exports.FirelensLogRouterType=void 0,exports.obtainDefaultFluentBitECRImage=obtainDefaultFluentBitECRImage;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var container_definition_1=()=>{var tmp=require("./container-definition");return container_definition_1=()=>tmp,tmp},container_image_1=()=>{var tmp=require("./container-image");return container_image_1=()=>tmp,tmp},iam=()=>{var tmp=require("../../aws-iam");return iam=()=>tmp,tmp},ssm=()=>{var tmp=require("../../aws-ssm");return ssm=()=>tmp,tmp},cdk=()=>{var tmp=require("../../core");return cdk=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp},prop_injectable_1=()=>{var tmp=require("../../core/lib/prop-injectable");return prop_injectable_1=()=>tmp,tmp},FirelensLogRouterType;(function(FirelensLogRouterType2){FirelensLogRouterType2.FLUENTBIT="fluentbit",FirelensLogRouterType2.FLUENTD="fluentd"})(FirelensLogRouterType||(exports.FirelensLogRouterType=FirelensLogRouterType={}));var FirelensConfigFileType;(function(FirelensConfigFileType2){FirelensConfigFileType2.S3="s3",FirelensConfigFileType2.FILE="file"})(FirelensConfigFileType||(exports.FirelensConfigFileType=FirelensConfigFileType={}));function renderFirelensConfig(firelensConfig){return firelensConfig.options?firelensConfig.options.configFileValue===void 0?{type:firelensConfig.type,options:{"enable-ecs-log-metadata":firelensConfig.options.enableECSLogMetadata?"true":"false"}}:{type:firelensConfig.type,options:{"enable-ecs-log-metadata":firelensConfig.options.enableECSLogMetadata?"true":"false","config-file-type":firelensConfig.options.configFileType,"config-file-value":firelensConfig.options.configFileValue}}:{type:firelensConfig.type}}const fluentBitImageSSMPath="/aws/service/aws-for-fluent-bit";function obtainDefaultFluentBitECRImage(task,logDriverConfig,imageTag){task.addToExecutionRolePolicy(new(iam()).PolicyStatement({actions:["ecr:GetAuthorizationToken","ecr:BatchCheckLayerAvailability","ecr:GetDownloadUrlForLayer","ecr:BatchGetImage"],resources:["*"]}));const logName=logDriverConfig&&logDriverConfig.logDriver==="awsfirelens"&&logDriverConfig.options&&logDriverConfig.options.Name;if(logName==="cloudwatch"){const actions=["logs:CreateLogGroup","logs:CreateLogStream","logs:DescribeLogStreams","logs:PutLogEvents"];logDriverConfig&&logDriverConfig.options&&"log_retention_days"in logDriverConfig.options&&actions.push("logs:PutRetentionPolicy"),task.addToTaskRolePolicy(new(iam()).PolicyStatement({actions,resources:["*"]}))}else logName==="firehose"?task.addToTaskRolePolicy(new(iam()).PolicyStatement({actions:["firehose:PutRecordBatch"],resources:["*"]})):logName==="kinesis"&&task.addToTaskRolePolicy(new(iam()).PolicyStatement({actions:["kinesis:PutRecords"],resources:["*"]}));const fluentBitImage=`${fluentBitImageSSMPath}/${imageTag||"latest"}`;return container_image_1().ContainerImage.fromRegistry(ssm().StringParameter.valueForStringParameter(task,fluentBitImage))}let FirelensLogRouter=(()=>{let _classDecorators=[prop_injectable_1().propertyInjectable],_classDescriptor,_classExtraInitializers=[],_classThis,_classSuper=container_definition_1().ContainerDefinition;var FirelensLogRouter2=class extends _classSuper{static{_classThis=this}static{const _metadata=typeof Symbol=="function"&&Symbol.metadata?Object.create(_classSuper[Symbol.metadata]??null):void 0;__esDecorate(null,_classDescriptor={value:_classThis},_classDecorators,{kind:"class",name:_classThis.name,metadata:_metadata},null,_classExtraInitializers),FirelensLogRouter2=_classThis=_classDescriptor.value,_metadata&&Object.defineProperty(_classThis,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:_metadata})}static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ecs.FirelensLogRouter",version:"2.252.0"};static PROPERTY_INJECTION_ID="aws-cdk-lib.aws-ecs.FirelensLogRouter";firelensConfig;constructor(scope,id,props){super(scope,id,props);try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ecs_FirelensLogRouterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,FirelensLogRouter2),error}const options=props.firelensConfig.options;if(options){if(options.configFileValue&&options.configFileType===void 0||options.configFileValue===void 0&&options.configFileType)throw new(cdk()).ValidationError((0,literal_string_1().lit)`ConfigFileMismatch`,"configFileValue and configFileType must be set together to define a custom config source",this);const hasConfig=options.configFileValue!==void 0,enableECSLogMetadata=options.enableECSLogMetadata||options.enableECSLogMetadata===void 0,configFileType=(options.configFileType===void 0||options.configFileType===FirelensConfigFileType.S3)&&(cdk().Token.isUnresolved(options.configFileValue)||/arn:aws[a-zA-Z-]*:s3:::.+/.test(options.configFileValue||""))?FirelensConfigFileType.S3:FirelensConfigFileType.FILE;this.firelensConfig={type:props.firelensConfig.type,options:{enableECSLogMetadata,...hasConfig?{configFileType,configFileValue:options.configFileValue}:{}}},hasConfig&&configFileType===FirelensConfigFileType.S3&&(props.taskDefinition.addToExecutionRolePolicy(new(iam()).PolicyStatement({actions:["s3:GetObject"],resources:[options.configFileValue??""]})),props.taskDefinition.addToExecutionRolePolicy(new(iam()).PolicyStatement({actions:["s3:GetBucketLocation"],resources:[(options.configFileValue??"").split("/")[0]]})))}else this.firelensConfig=props.firelensConfig}renderContainerDefinition(_taskDefinition){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ecs_TaskDefinition(_taskDefinition)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.renderContainerDefinition),error}return{...super.renderContainerDefinition(),firelensConfiguration:this.firelensConfig&&renderFirelensConfig(this.firelensConfig)}}static{__runInitializers(_classThis,_classExtraInitializers)}};return FirelensLogRouter2=_classThis})();exports.FirelensLogRouter=FirelensLogRouter;