CapacityProviderProps Struct
Properties for creating a Lambda capacity provider.
Example
import * as ec2 from 'aws-cdk-lib/aws-ec2';
import * as logs from 'aws-cdk-lib/aws-logs';
const vpc = new ec2.Vpc(this, 'MyVpc');
const securityGroup = new ec2.SecurityGroup(this, 'SecurityGroup', { vpc });
const capacityProvider = new lambda.CapacityProvider(this, 'MyCapacityProvider', {
subnets: vpc.privateSubnets,
securityGroups: [securityGroup],
logGroup: new logs.LogGroup(this, 'CpLogs', {
logGroupName: '/aws/lambda/capacity-provider/my-cp',
}),
systemLogLevel: lambda.SystemLogLevel.DEBUG,
});
Properties
architecturesoptionalArchitecture[]architecturesoptionaltyping.List[Architecture]architecturesoptionalList<Architecture>ArchitecturesoptionalArchitecture[]Architecturesoptional*[]Architecture#Default: No architecture constraints specified
Only one architecture can be specified per capacity provider.
capacityProviderNameoptionalstringcapacity_provider_nameoptionalstrcapacityProviderNameoptionalStringCapacityProviderNameoptionalstringCapacityProviderNameoptional*string#Default: AWS CloudFormation generates a unique physical ID and uses that ID for the capacity provider's name.
The name must be unique within the AWS account and region.
instanceTypeFilteroptionalInstanceTypeFilterinstance_type_filteroptionalInstanceTypeFilterinstanceTypeFilteroptionalInstanceTypeFilterInstanceTypeFilteroptionalInstanceTypeFilterInstanceTypeFilteroptionalInstanceTypeFilter#Default: No instance type filtering applied
Default: No KMS key specified, uses an AWS-managed key instead
logGroupoptionalILogGroupReflog_groupoptionalILogGroupReflogGroupoptionalILogGroupRefLogGroupoptionalILogGroupRefLogGroupoptionalILogGroupRef#Default: Service creates a default log group at /aws/lambda/capacity-provider/<name>
maxVCpuCountoptionalnumbermax_v_cpu_countoptionalint | floatmaxVCpuCountoptionalNumberMaxVCpuCountoptionaldoubleMaxVCpuCountoptional*float64#Default: No maximum limit specified, service default is 400
operatorRoleoptionalIRoleoperator_roleoptionalIRoleoperatorRoleoptionalIRoleOperatorRoleoptionalIRoleOperatorRoleoptionalIRole#Default: A role will be generated containing the AWSLambdaManagedEC2ResourceOperator managed policy
propagateTagsoptionalPropagateTagspropagate_tagsoptionalPropagateTagspropagateTagsoptionalPropagateTagsPropagateTagsoptionalPropagateTagsPropagateTagsoptionalPropagateTags#Default: No tag propagation; tags are not propagated to managed resources.
Use the static factory methods on PropagateTags to create:
PropagateTags.none()- Explicitly disable tag propagationPropagateTags.explicit(tags)- Propagate specified tags
scalingOptionsoptionalScalingOptionsscaling_optionsoptionalScalingOptionsscalingOptionsoptionalScalingOptionsScalingOptionsoptionalScalingOptionsScalingOptionsoptionalScalingOptions#Default: The Auto option is applied by default
securityGroupsISecurityGroup[]security_groupstyping.List[ISecurityGroup]securityGroupsList<ISecurityGroup>SecurityGroupsISecurityGroup[]SecurityGroups*[]ISecurityGrouprequired#Up to 5 security groups can be specified.
subnetsISubnet[]subnetstyping.List[ISubnet]subnetsList<ISubnet>SubnetsISubnet[]Subnets*[]ISubnetrequired#At least one subnet must be specified, and up to 16 subnets are supported.
systemLogLeveloptionalSystemLogLevelsystem_log_leveloptionalSystemLogLevelsystemLogLeveloptionalSystemLogLevelSystemLogLeveloptionalSystemLogLevelSystemLogLeveloptionalSystemLogLevel#Default: Service default applies (INFO)