aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 4.07 kB
JavaScript
;var __decorate=exports&&exports.__decorate||function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r},_a,VpcEndpointService_1;Object.defineProperty(exports,"__esModule",{value:!0}),exports.VpcEndpointService=exports.IpAddressType=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var ec2_generated_1=()=>{var tmp=require("./ec2.generated");return ec2_generated_1=()=>tmp,tmp},core_1=()=>{var tmp=require("../../core");return core_1=()=>tmp,tmp},metadata_resource_1=()=>{var tmp=require("../../core/lib/metadata-resource");return metadata_resource_1=()=>tmp,tmp},prop_injectable_1=()=>{var tmp=require("../../core/lib/prop-injectable");return prop_injectable_1=()=>tmp,tmp},region_info_1=()=>{var tmp=require("../../region-info");return region_info_1=()=>tmp,tmp},IpAddressType;(function(IpAddressType2){IpAddressType2.IPV4="ipv4",IpAddressType2.IPV6="ipv6"})(IpAddressType||(exports.IpAddressType=IpAddressType={}));let VpcEndpointService=VpcEndpointService_1=class VpcEndpointService2 extends core_1().Resource{constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ec2_VpcEndpointServiceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,VpcEndpointService2),error}if((0,metadata_resource_1().addConstructMetadata)(this,props),props.vpcEndpointServiceLoadBalancers===void 0||props.vpcEndpointServiceLoadBalancers.length===0)throw new(core_1()).ValidationError("VPC Endpoint Service must have at least one load balancer specified.",this);if(this.vpcEndpointServiceLoadBalancers=props.vpcEndpointServiceLoadBalancers,this.acceptanceRequired=props.acceptanceRequired??!0,this.contributorInsightsEnabled=props.contributorInsights,this.supportedIpAddressTypes=props.supportedIpAddressTypes,this.allowedRegions=props.allowedRegions,props.allowedPrincipals&&props.whitelistedPrincipals)throw new(core_1()).ValidationError("`whitelistedPrincipals` is deprecated; please use `allowedPrincipals` instead",this);this.allowedPrincipals=props.allowedPrincipals??props.whitelistedPrincipals??[],this.whitelistedPrincipals=this.allowedPrincipals,this.endpointService=new(ec2_generated_1()).CfnVPCEndpointService(this,id,{networkLoadBalancerArns:this.vpcEndpointServiceLoadBalancers.map(lb=>lb.loadBalancerArn),acceptanceRequired:this.acceptanceRequired,contributorInsightsEnabled:this.contributorInsightsEnabled,supportedIpAddressTypes:this.supportedIpAddressTypes?.map(type=>type.toString()),supportedRegions:this.allowedRegions}),this.vpcEndpointServiceId=this.endpointService.ref;const{region}=core_1().Stack.of(this),serviceNamePrefix=core_1().Token.isUnresolved(region)?VpcEndpointService_1.DEFAULT_PREFIX:region_info_1().RegionInfo.get(region).vpcEndpointServiceNamePrefix??VpcEndpointService_1.DEFAULT_PREFIX;this.vpcEndpointServiceName=core_1().Fn.join(".",[serviceNamePrefix,core_1().Aws.REGION,this.vpcEndpointServiceId]),this.allowedPrincipals.length>0&&new(ec2_generated_1()).CfnVPCEndpointServicePermissions(this,"Permissions",{serviceId:this.endpointService.ref,allowedPrincipals:this.allowedPrincipals.map(x=>x.arn)})}};exports.VpcEndpointService=VpcEndpointService,_a=JSII_RTTI_SYMBOL_1,VpcEndpointService[_a]={fqn:"aws-cdk-lib.aws_ec2.VpcEndpointService",version:"2.210.0"},VpcEndpointService.PROPERTY_INJECTION_ID="aws-cdk-lib.aws-ec2.VpcEndpointService",VpcEndpointService.DEFAULT_PREFIX="com.amazonaws.vpce",exports.VpcEndpointService=VpcEndpointService=VpcEndpointService_1=__decorate([prop_injectable_1().propertyInjectable],VpcEndpointService);