1. Packages
  2. AWS
  3. API Docs
  4. lambda
  5. CapacityProvider
AWS v7.14.0 published on Thursday, Dec 11, 2025 by Pulumi
aws logo
AWS v7.14.0 published on Thursday, Dec 11, 2025 by Pulumi

    Manages an AWS Lambda Capacity Provider.

    Example Usage

    Basic Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.lambda.CapacityProvider("example", {
        name: "example",
        vpcConfig: {
            subnetIds: exampleAwsSubnet.map(__item => __item.id),
            securityGroupIds: [exampleAwsSecurityGroup.id],
        },
        permissionsConfig: {
            capacityProviderOperatorRoleArn: exampleAwsIamRole.arn,
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.lambda_.CapacityProvider("example",
        name="example",
        vpc_config={
            "subnet_ids": [__item["id"] for __item in example_aws_subnet],
            "security_group_ids": [example_aws_security_group["id"]],
        },
        permissions_config={
            "capacity_provider_operator_role_arn": example_aws_iam_role["arn"],
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
    _, err := lambda.NewCapacityProvider(ctx, "example", &lambda.CapacityProviderArgs{
    Name: pulumi.String("example"),
    VpcConfig: &lambda.CapacityProviderVpcConfigArgs{
    SubnetIds: []pulumi.String(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:3,24-46)),
    SecurityGroupIds: pulumi.StringArray{
    exampleAwsSecurityGroup.Id,
    },
    },
    PermissionsConfig: &lambda.CapacityProviderPermissionsConfigArgs{
    CapacityProviderOperatorRoleArn: pulumi.Any(exampleAwsIamRole.Arn),
    },
    })
    if err != nil {
    return err
    }
    return nil
    })
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Lambda.CapacityProvider("example", new()
        {
            Name = "example",
            VpcConfig = new Aws.Lambda.Inputs.CapacityProviderVpcConfigArgs
            {
                SubnetIds = exampleAwsSubnet.Select(__item => __item.Id).ToList(),
                SecurityGroupIds = new[]
                {
                    exampleAwsSecurityGroup.Id,
                },
            },
            PermissionsConfig = new Aws.Lambda.Inputs.CapacityProviderPermissionsConfigArgs
            {
                CapacityProviderOperatorRoleArn = exampleAwsIamRole.Arn,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.lambda.CapacityProvider;
    import com.pulumi.aws.lambda.CapacityProviderArgs;
    import com.pulumi.aws.lambda.inputs.CapacityProviderVpcConfigArgs;
    import com.pulumi.aws.lambda.inputs.CapacityProviderPermissionsConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new CapacityProvider("example", CapacityProviderArgs.builder()
                .name("example")
                .vpcConfig(CapacityProviderVpcConfigArgs.builder()
                    .subnetIds(exampleAwsSubnet.stream().map(element -> element.id()).collect(toList()))
                    .securityGroupIds(exampleAwsSecurityGroup.id())
                    .build())
                .permissionsConfig(CapacityProviderPermissionsConfigArgs.builder()
                    .capacityProviderOperatorRoleArn(exampleAwsIamRole.arn())
                    .build())
                .build());
    
        }
    }
    
    Example coming soon!
    

    Create CapacityProvider Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new CapacityProvider(name: string, args?: CapacityProviderArgs, opts?: CustomResourceOptions);
    @overload
    def CapacityProvider(resource_name: str,
                         args: Optional[CapacityProviderArgs] = None,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def CapacityProvider(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         capacity_provider_scaling_configs: Optional[Sequence[CapacityProviderCapacityProviderScalingConfigArgs]] = None,
                         instance_requirements: Optional[Sequence[CapacityProviderInstanceRequirementArgs]] = None,
                         kms_key_arn: Optional[str] = None,
                         name: Optional[str] = None,
                         permissions_config: Optional[CapacityProviderPermissionsConfigArgs] = None,
                         region: Optional[str] = None,
                         tags: Optional[Mapping[str, str]] = None,
                         timeouts: Optional[CapacityProviderTimeoutsArgs] = None,
                         vpc_config: Optional[CapacityProviderVpcConfigArgs] = None)
    func NewCapacityProvider(ctx *Context, name string, args *CapacityProviderArgs, opts ...ResourceOption) (*CapacityProvider, error)
    public CapacityProvider(string name, CapacityProviderArgs? args = null, CustomResourceOptions? opts = null)
    public CapacityProvider(String name, CapacityProviderArgs args)
    public CapacityProvider(String name, CapacityProviderArgs args, CustomResourceOptions options)
    
    type: aws:lambda:CapacityProvider
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args CapacityProviderArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args CapacityProviderArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args CapacityProviderArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CapacityProviderArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CapacityProviderArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var awsCapacityProviderResource = new Aws.Lambda.CapacityProvider("awsCapacityProviderResource", new()
    {
        CapacityProviderScalingConfigs = new[]
        {
            new Aws.Lambda.Inputs.CapacityProviderCapacityProviderScalingConfigArgs
            {
                MaxVcpuCount = 0,
                ScalingMode = "string",
                ScalingPolicies = new[]
                {
                    new Aws.Lambda.Inputs.CapacityProviderCapacityProviderScalingConfigScalingPolicyArgs
                    {
                        PredefinedMetricType = "string",
                        TargetValue = 0,
                    },
                },
            },
        },
        InstanceRequirements = new[]
        {
            new Aws.Lambda.Inputs.CapacityProviderInstanceRequirementArgs
            {
                AllowedInstanceTypes = new[]
                {
                    "string",
                },
                Architectures = new[]
                {
                    "string",
                },
                ExcludedInstanceTypes = new[]
                {
                    "string",
                },
            },
        },
        KmsKeyArn = "string",
        Name = "string",
        PermissionsConfig = new Aws.Lambda.Inputs.CapacityProviderPermissionsConfigArgs
        {
            CapacityProviderOperatorRoleArn = "string",
        },
        Region = "string",
        Tags = 
        {
            { "string", "string" },
        },
        Timeouts = new Aws.Lambda.Inputs.CapacityProviderTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Update = "string",
        },
        VpcConfig = new Aws.Lambda.Inputs.CapacityProviderVpcConfigArgs
        {
            SecurityGroupIds = new[]
            {
                "string",
            },
            SubnetIds = new[]
            {
                "string",
            },
        },
    });
    
    example, err := lambda.NewCapacityProvider(ctx, "awsCapacityProviderResource", &lambda.CapacityProviderArgs{
    	CapacityProviderScalingConfigs: lambda.CapacityProviderCapacityProviderScalingConfigArray{
    		&lambda.CapacityProviderCapacityProviderScalingConfigArgs{
    			MaxVcpuCount: pulumi.Int(0),
    			ScalingMode:  pulumi.String("string"),
    			ScalingPolicies: lambda.CapacityProviderCapacityProviderScalingConfigScalingPolicyArray{
    				&lambda.CapacityProviderCapacityProviderScalingConfigScalingPolicyArgs{
    					PredefinedMetricType: pulumi.String("string"),
    					TargetValue:          pulumi.Float64(0),
    				},
    			},
    		},
    	},
    	InstanceRequirements: lambda.CapacityProviderInstanceRequirementArray{
    		&lambda.CapacityProviderInstanceRequirementArgs{
    			AllowedInstanceTypes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Architectures: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ExcludedInstanceTypes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	KmsKeyArn: pulumi.String("string"),
    	Name:      pulumi.String("string"),
    	PermissionsConfig: &lambda.CapacityProviderPermissionsConfigArgs{
    		CapacityProviderOperatorRoleArn: pulumi.String("string"),
    	},
    	Region: pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Timeouts: &lambda.CapacityProviderTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    	VpcConfig: &lambda.CapacityProviderVpcConfigArgs{
    		SecurityGroupIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		SubnetIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    })
    
    var awsCapacityProviderResource = new com.pulumi.aws.lambda.CapacityProvider("awsCapacityProviderResource", com.pulumi.aws.lambda.CapacityProviderArgs.builder()
        .capacityProviderScalingConfigs(CapacityProviderCapacityProviderScalingConfigArgs.builder()
            .maxVcpuCount(0)
            .scalingMode("string")
            .scalingPolicies(CapacityProviderCapacityProviderScalingConfigScalingPolicyArgs.builder()
                .predefinedMetricType("string")
                .targetValue(0.0)
                .build())
            .build())
        .instanceRequirements(CapacityProviderInstanceRequirementArgs.builder()
            .allowedInstanceTypes("string")
            .architectures("string")
            .excludedInstanceTypes("string")
            .build())
        .kmsKeyArn("string")
        .name("string")
        .permissionsConfig(CapacityProviderPermissionsConfigArgs.builder()
            .capacityProviderOperatorRoleArn("string")
            .build())
        .region("string")
        .tags(Map.of("string", "string"))
        .timeouts(CapacityProviderTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .update("string")
            .build())
        .vpcConfig(CapacityProviderVpcConfigArgs.builder()
            .securityGroupIds("string")
            .subnetIds("string")
            .build())
        .build());
    
    aws_capacity_provider_resource = aws.lambda_.CapacityProvider("awsCapacityProviderResource",
        capacity_provider_scaling_configs=[{
            "max_vcpu_count": 0,
            "scaling_mode": "string",
            "scaling_policies": [{
                "predefined_metric_type": "string",
                "target_value": 0,
            }],
        }],
        instance_requirements=[{
            "allowed_instance_types": ["string"],
            "architectures": ["string"],
            "excluded_instance_types": ["string"],
        }],
        kms_key_arn="string",
        name="string",
        permissions_config={
            "capacity_provider_operator_role_arn": "string",
        },
        region="string",
        tags={
            "string": "string",
        },
        timeouts={
            "create": "string",
            "delete": "string",
            "update": "string",
        },
        vpc_config={
            "security_group_ids": ["string"],
            "subnet_ids": ["string"],
        })
    
    const awsCapacityProviderResource = new aws.lambda.CapacityProvider("awsCapacityProviderResource", {
        capacityProviderScalingConfigs: [{
            maxVcpuCount: 0,
            scalingMode: "string",
            scalingPolicies: [{
                predefinedMetricType: "string",
                targetValue: 0,
            }],
        }],
        instanceRequirements: [{
            allowedInstanceTypes: ["string"],
            architectures: ["string"],
            excludedInstanceTypes: ["string"],
        }],
        kmsKeyArn: "string",
        name: "string",
        permissionsConfig: {
            capacityProviderOperatorRoleArn: "string",
        },
        region: "string",
        tags: {
            string: "string",
        },
        timeouts: {
            create: "string",
            "delete": "string",
            update: "string",
        },
        vpcConfig: {
            securityGroupIds: ["string"],
            subnetIds: ["string"],
        },
    });
    
    type: aws:lambda:CapacityProvider
    properties:
        capacityProviderScalingConfigs:
            - maxVcpuCount: 0
              scalingMode: string
              scalingPolicies:
                - predefinedMetricType: string
                  targetValue: 0
        instanceRequirements:
            - allowedInstanceTypes:
                - string
              architectures:
                - string
              excludedInstanceTypes:
                - string
        kmsKeyArn: string
        name: string
        permissionsConfig:
            capacityProviderOperatorRoleArn: string
        region: string
        tags:
            string: string
        timeouts:
            create: string
            delete: string
            update: string
        vpcConfig:
            securityGroupIds:
                - string
            subnetIds:
                - string
    

    CapacityProvider Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The CapacityProvider resource accepts the following input properties:

    CapacityProviderScalingConfigs List<CapacityProviderCapacityProviderScalingConfig>
    InstanceRequirements List<CapacityProviderInstanceRequirement>
    Configuration block for instance requirements settings. See Instance Requirements below.
    KmsKeyArn string
    Name string
    The name of the Capacity Provider.
    PermissionsConfig CapacityProviderPermissionsConfig

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    Tags Dictionary<string, string>
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    Timeouts CapacityProviderTimeouts
    VpcConfig CapacityProviderVpcConfig
    Configuration block for VPC settings. See VPC Config below.
    CapacityProviderScalingConfigs []CapacityProviderCapacityProviderScalingConfigArgs
    InstanceRequirements []CapacityProviderInstanceRequirementArgs
    Configuration block for instance requirements settings. See Instance Requirements below.
    KmsKeyArn string
    Name string
    The name of the Capacity Provider.
    PermissionsConfig CapacityProviderPermissionsConfigArgs

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    Tags map[string]string
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    Timeouts CapacityProviderTimeoutsArgs
    VpcConfig CapacityProviderVpcConfigArgs
    Configuration block for VPC settings. See VPC Config below.
    capacityProviderScalingConfigs List<CapacityProviderCapacityProviderScalingConfig>
    instanceRequirements List<CapacityProviderInstanceRequirement>
    Configuration block for instance requirements settings. See Instance Requirements below.
    kmsKeyArn String
    name String
    The name of the Capacity Provider.
    permissionsConfig CapacityProviderPermissionsConfig

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Map<String,String>
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeouts CapacityProviderTimeouts
    vpcConfig CapacityProviderVpcConfig
    Configuration block for VPC settings. See VPC Config below.
    capacityProviderScalingConfigs CapacityProviderCapacityProviderScalingConfig[]
    instanceRequirements CapacityProviderInstanceRequirement[]
    Configuration block for instance requirements settings. See Instance Requirements below.
    kmsKeyArn string
    name string
    The name of the Capacity Provider.
    permissionsConfig CapacityProviderPermissionsConfig

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags {[key: string]: string}
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeouts CapacityProviderTimeouts
    vpcConfig CapacityProviderVpcConfig
    Configuration block for VPC settings. See VPC Config below.
    capacity_provider_scaling_configs Sequence[CapacityProviderCapacityProviderScalingConfigArgs]
    instance_requirements Sequence[CapacityProviderInstanceRequirementArgs]
    Configuration block for instance requirements settings. See Instance Requirements below.
    kms_key_arn str
    name str
    The name of the Capacity Provider.
    permissions_config CapacityProviderPermissionsConfigArgs

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Mapping[str, str]
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeouts CapacityProviderTimeoutsArgs
    vpc_config CapacityProviderVpcConfigArgs
    Configuration block for VPC settings. See VPC Config below.
    capacityProviderScalingConfigs List<Property Map>
    instanceRequirements List<Property Map>
    Configuration block for instance requirements settings. See Instance Requirements below.
    kmsKeyArn String
    name String
    The name of the Capacity Provider.
    permissionsConfig Property Map

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Map<String>
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeouts Property Map
    vpcConfig Property Map
    Configuration block for VPC settings. See VPC Config below.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the CapacityProvider resource produces the following output properties:

    Arn string
    ARN of the Capacity Provider.
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    Arn string
    ARN of the Capacity Provider.
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    arn String
    ARN of the Capacity Provider.
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    arn string
    ARN of the Capacity Provider.
    id string
    The provider-assigned unique ID for this managed resource.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    arn str
    ARN of the Capacity Provider.
    id str
    The provider-assigned unique ID for this managed resource.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    arn String
    ARN of the Capacity Provider.
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Look up Existing CapacityProvider Resource

    Get an existing CapacityProvider resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: CapacityProviderState, opts?: CustomResourceOptions): CapacityProvider
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arn: Optional[str] = None,
            capacity_provider_scaling_configs: Optional[Sequence[CapacityProviderCapacityProviderScalingConfigArgs]] = None,
            instance_requirements: Optional[Sequence[CapacityProviderInstanceRequirementArgs]] = None,
            kms_key_arn: Optional[str] = None,
            name: Optional[str] = None,
            permissions_config: Optional[CapacityProviderPermissionsConfigArgs] = None,
            region: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None,
            timeouts: Optional[CapacityProviderTimeoutsArgs] = None,
            vpc_config: Optional[CapacityProviderVpcConfigArgs] = None) -> CapacityProvider
    func GetCapacityProvider(ctx *Context, name string, id IDInput, state *CapacityProviderState, opts ...ResourceOption) (*CapacityProvider, error)
    public static CapacityProvider Get(string name, Input<string> id, CapacityProviderState? state, CustomResourceOptions? opts = null)
    public static CapacityProvider get(String name, Output<String> id, CapacityProviderState state, CustomResourceOptions options)
    resources:  _:    type: aws:lambda:CapacityProvider    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Arn string
    ARN of the Capacity Provider.
    CapacityProviderScalingConfigs List<CapacityProviderCapacityProviderScalingConfig>
    InstanceRequirements List<CapacityProviderInstanceRequirement>
    Configuration block for instance requirements settings. See Instance Requirements below.
    KmsKeyArn string
    Name string
    The name of the Capacity Provider.
    PermissionsConfig CapacityProviderPermissionsConfig

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    Tags Dictionary<string, string>
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    Timeouts CapacityProviderTimeouts
    VpcConfig CapacityProviderVpcConfig
    Configuration block for VPC settings. See VPC Config below.
    Arn string
    ARN of the Capacity Provider.
    CapacityProviderScalingConfigs []CapacityProviderCapacityProviderScalingConfigArgs
    InstanceRequirements []CapacityProviderInstanceRequirementArgs
    Configuration block for instance requirements settings. See Instance Requirements below.
    KmsKeyArn string
    Name string
    The name of the Capacity Provider.
    PermissionsConfig CapacityProviderPermissionsConfigArgs

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    Tags map[string]string
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    Timeouts CapacityProviderTimeoutsArgs
    VpcConfig CapacityProviderVpcConfigArgs
    Configuration block for VPC settings. See VPC Config below.
    arn String
    ARN of the Capacity Provider.
    capacityProviderScalingConfigs List<CapacityProviderCapacityProviderScalingConfig>
    instanceRequirements List<CapacityProviderInstanceRequirement>
    Configuration block for instance requirements settings. See Instance Requirements below.
    kmsKeyArn String
    name String
    The name of the Capacity Provider.
    permissionsConfig CapacityProviderPermissionsConfig

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Map<String,String>
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    timeouts CapacityProviderTimeouts
    vpcConfig CapacityProviderVpcConfig
    Configuration block for VPC settings. See VPC Config below.
    arn string
    ARN of the Capacity Provider.
    capacityProviderScalingConfigs CapacityProviderCapacityProviderScalingConfig[]
    instanceRequirements CapacityProviderInstanceRequirement[]
    Configuration block for instance requirements settings. See Instance Requirements below.
    kmsKeyArn string
    name string
    The name of the Capacity Provider.
    permissionsConfig CapacityProviderPermissionsConfig

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags {[key: string]: string}
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    timeouts CapacityProviderTimeouts
    vpcConfig CapacityProviderVpcConfig
    Configuration block for VPC settings. See VPC Config below.
    arn str
    ARN of the Capacity Provider.
    capacity_provider_scaling_configs Sequence[CapacityProviderCapacityProviderScalingConfigArgs]
    instance_requirements Sequence[CapacityProviderInstanceRequirementArgs]
    Configuration block for instance requirements settings. See Instance Requirements below.
    kms_key_arn str
    name str
    The name of the Capacity Provider.
    permissions_config CapacityProviderPermissionsConfigArgs

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Mapping[str, str]
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    timeouts CapacityProviderTimeoutsArgs
    vpc_config CapacityProviderVpcConfigArgs
    Configuration block for VPC settings. See VPC Config below.
    arn String
    ARN of the Capacity Provider.
    capacityProviderScalingConfigs List<Property Map>
    instanceRequirements List<Property Map>
    Configuration block for instance requirements settings. See Instance Requirements below.
    kmsKeyArn String
    name String
    The name of the Capacity Provider.
    permissionsConfig Property Map

    Configuration block for permissions settings. See Permissions Config below.

    The following arguments are optional:

    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Map<String>
    Map of tags assigned to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    timeouts Property Map
    vpcConfig Property Map
    Configuration block for VPC settings. See VPC Config below.

    Supporting Types

    CapacityProviderCapacityProviderScalingConfig, CapacityProviderCapacityProviderScalingConfigArgs

    MaxVcpuCount int
    ScalingMode string
    The scaling mode for the Capacity Provider. Valid values are AUTO and MANUAL. Defaults to AUTO.
    ScalingPolicies List<CapacityProviderCapacityProviderScalingConfigScalingPolicy>
    List of scaling policies. See Scaling Policies below.
    MaxVcpuCount int
    ScalingMode string
    The scaling mode for the Capacity Provider. Valid values are AUTO and MANUAL. Defaults to AUTO.
    ScalingPolicies []CapacityProviderCapacityProviderScalingConfigScalingPolicy
    List of scaling policies. See Scaling Policies below.
    maxVcpuCount Integer
    scalingMode String
    The scaling mode for the Capacity Provider. Valid values are AUTO and MANUAL. Defaults to AUTO.
    scalingPolicies List<CapacityProviderCapacityProviderScalingConfigScalingPolicy>
    List of scaling policies. See Scaling Policies below.
    maxVcpuCount number
    scalingMode string
    The scaling mode for the Capacity Provider. Valid values are AUTO and MANUAL. Defaults to AUTO.
    scalingPolicies CapacityProviderCapacityProviderScalingConfigScalingPolicy[]
    List of scaling policies. See Scaling Policies below.
    max_vcpu_count int
    scaling_mode str
    The scaling mode for the Capacity Provider. Valid values are AUTO and MANUAL. Defaults to AUTO.
    scaling_policies Sequence[CapacityProviderCapacityProviderScalingConfigScalingPolicy]
    List of scaling policies. See Scaling Policies below.
    maxVcpuCount Number
    scalingMode String
    The scaling mode for the Capacity Provider. Valid values are AUTO and MANUAL. Defaults to AUTO.
    scalingPolicies List<Property Map>
    List of scaling policies. See Scaling Policies below.

    CapacityProviderCapacityProviderScalingConfigScalingPolicy, CapacityProviderCapacityProviderScalingConfigScalingPolicyArgs

    PredefinedMetricType string
    The predefined metric type for the scaling policy. Valid values are LAMBDA_PROVISIONED_CONCURRENCY_UTILIZATION.
    TargetValue double
    The target value for the scaling policy.
    PredefinedMetricType string
    The predefined metric type for the scaling policy. Valid values are LAMBDA_PROVISIONED_CONCURRENCY_UTILIZATION.
    TargetValue float64
    The target value for the scaling policy.
    predefinedMetricType String
    The predefined metric type for the scaling policy. Valid values are LAMBDA_PROVISIONED_CONCURRENCY_UTILIZATION.
    targetValue Double
    The target value for the scaling policy.
    predefinedMetricType string
    The predefined metric type for the scaling policy. Valid values are LAMBDA_PROVISIONED_CONCURRENCY_UTILIZATION.
    targetValue number
    The target value for the scaling policy.
    predefined_metric_type str
    The predefined metric type for the scaling policy. Valid values are LAMBDA_PROVISIONED_CONCURRENCY_UTILIZATION.
    target_value float
    The target value for the scaling policy.
    predefinedMetricType String
    The predefined metric type for the scaling policy. Valid values are LAMBDA_PROVISIONED_CONCURRENCY_UTILIZATION.
    targetValue Number
    The target value for the scaling policy.

    CapacityProviderInstanceRequirement, CapacityProviderInstanceRequirementArgs

    AllowedInstanceTypes List<string>
    List of allowed instance types.
    Architectures List<string>
    List of CPU architectures. Valid values are X86_64 and ARM64.
    ExcludedInstanceTypes List<string>
    List of excluded instance types.
    AllowedInstanceTypes []string
    List of allowed instance types.
    Architectures []string
    List of CPU architectures. Valid values are X86_64 and ARM64.
    ExcludedInstanceTypes []string
    List of excluded instance types.
    allowedInstanceTypes List<String>
    List of allowed instance types.
    architectures List<String>
    List of CPU architectures. Valid values are X86_64 and ARM64.
    excludedInstanceTypes List<String>
    List of excluded instance types.
    allowedInstanceTypes string[]
    List of allowed instance types.
    architectures string[]
    List of CPU architectures. Valid values are X86_64 and ARM64.
    excludedInstanceTypes string[]
    List of excluded instance types.
    allowed_instance_types Sequence[str]
    List of allowed instance types.
    architectures Sequence[str]
    List of CPU architectures. Valid values are X86_64 and ARM64.
    excluded_instance_types Sequence[str]
    List of excluded instance types.
    allowedInstanceTypes List<String>
    List of allowed instance types.
    architectures List<String>
    List of CPU architectures. Valid values are X86_64 and ARM64.
    excludedInstanceTypes List<String>
    List of excluded instance types.

    CapacityProviderPermissionsConfig, CapacityProviderPermissionsConfigArgs

    CapacityProviderOperatorRoleArn string
    The ARN of the IAM role that allows Lambda to manage the Capacity Provider.
    CapacityProviderOperatorRoleArn string
    The ARN of the IAM role that allows Lambda to manage the Capacity Provider.
    capacityProviderOperatorRoleArn String
    The ARN of the IAM role that allows Lambda to manage the Capacity Provider.
    capacityProviderOperatorRoleArn string
    The ARN of the IAM role that allows Lambda to manage the Capacity Provider.
    capacity_provider_operator_role_arn str
    The ARN of the IAM role that allows Lambda to manage the Capacity Provider.
    capacityProviderOperatorRoleArn String
    The ARN of the IAM role that allows Lambda to manage the Capacity Provider.

    CapacityProviderTimeouts, CapacityProviderTimeoutsArgs

    Create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    Update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    Update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

    CapacityProviderVpcConfig, CapacityProviderVpcConfigArgs

    SecurityGroupIds List<string>
    List of security group IDs for the VPC.
    SubnetIds List<string>
    List of subnet IDs for the VPC.
    SecurityGroupIds []string
    List of security group IDs for the VPC.
    SubnetIds []string
    List of subnet IDs for the VPC.
    securityGroupIds List<String>
    List of security group IDs for the VPC.
    subnetIds List<String>
    List of subnet IDs for the VPC.
    securityGroupIds string[]
    List of security group IDs for the VPC.
    subnetIds string[]
    List of subnet IDs for the VPC.
    security_group_ids Sequence[str]
    List of security group IDs for the VPC.
    subnet_ids Sequence[str]
    List of subnet IDs for the VPC.
    securityGroupIds List<String>
    List of security group IDs for the VPC.
    subnetIds List<String>
    List of subnet IDs for the VPC.

    Import

    Using pulumi import, import Lambda Capacity Provider using the name. For example:

    $ pulumi import aws:lambda/capacityProvider:CapacityProvider example example
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo
    AWS v7.14.0 published on Thursday, Dec 11, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate