1. Packages
  2. AWS Cloud Control
  3. API Docs
  4. lambda
  5. CapacityProvider

We recommend new projects start with resources from the AWS provider.

Viewing docs for AWS Cloud Control v1.57.0
published on Monday, Mar 9, 2026 by Pulumi
aws-native logo

We recommend new projects start with resources from the AWS provider.

Viewing docs for AWS Cloud Control v1.57.0
published on Monday, Mar 9, 2026 by Pulumi

    Creates a capacity provider that manages compute resources for Lambda functions

    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: CapacityProviderArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def CapacityProvider(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         permissions_config: Optional[CapacityProviderPermissionsConfigArgs] = None,
                         vpc_config: Optional[CapacityProviderVpcConfigArgs] = None,
                         capacity_provider_name: Optional[str] = None,
                         capacity_provider_scaling_config: Optional[CapacityProviderScalingConfigArgs] = None,
                         instance_requirements: Optional[CapacityProviderInstanceRequirementsArgs] = None,
                         kms_key_arn: Optional[str] = None,
                         tags: Optional[Sequence[_root_inputs.TagArgs]] = None)
    func NewCapacityProvider(ctx *Context, name string, args CapacityProviderArgs, opts ...ResourceOption) (*CapacityProvider, error)
    public CapacityProvider(string name, CapacityProviderArgs args, CustomResourceOptions? opts = null)
    public CapacityProvider(String name, CapacityProviderArgs args)
    public CapacityProvider(String name, CapacityProviderArgs args, CustomResourceOptions options)
    
    type: aws-native: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.

    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:

    PermissionsConfig Pulumi.AwsNative.Lambda.Inputs.CapacityProviderPermissionsConfig
    The permissions configuration for the capacity provider.
    VpcConfig Pulumi.AwsNative.Lambda.Inputs.CapacityProviderVpcConfig
    The VPC configuration for the capacity provider.
    CapacityProviderName string
    CapacityProviderScalingConfig Pulumi.AwsNative.Lambda.Inputs.CapacityProviderScalingConfig
    The scaling configuration for the capacity provider.
    InstanceRequirements Pulumi.AwsNative.Lambda.Inputs.CapacityProviderInstanceRequirements
    The instance requirements for compute resources managed by the capacity provider.
    KmsKeyArn string
    The ARN of the KMS key used to encrypt the capacity provider's resources.
    Tags List<Pulumi.AwsNative.Inputs.Tag>
    A key-value pair that provides metadata for the capacity provider.
    PermissionsConfig CapacityProviderPermissionsConfigArgs
    The permissions configuration for the capacity provider.
    VpcConfig CapacityProviderVpcConfigArgs
    The VPC configuration for the capacity provider.
    CapacityProviderName string
    CapacityProviderScalingConfig CapacityProviderScalingConfigArgs
    The scaling configuration for the capacity provider.
    InstanceRequirements CapacityProviderInstanceRequirementsArgs
    The instance requirements for compute resources managed by the capacity provider.
    KmsKeyArn string
    The ARN of the KMS key used to encrypt the capacity provider's resources.
    Tags TagArgs
    A key-value pair that provides metadata for the capacity provider.
    permissionsConfig CapacityProviderPermissionsConfig
    The permissions configuration for the capacity provider.
    vpcConfig CapacityProviderVpcConfig
    The VPC configuration for the capacity provider.
    capacityProviderName String
    capacityProviderScalingConfig CapacityProviderScalingConfig
    The scaling configuration for the capacity provider.
    instanceRequirements CapacityProviderInstanceRequirements
    The instance requirements for compute resources managed by the capacity provider.
    kmsKeyArn String
    The ARN of the KMS key used to encrypt the capacity provider's resources.
    tags List<Tag>
    A key-value pair that provides metadata for the capacity provider.
    permissionsConfig CapacityProviderPermissionsConfig
    The permissions configuration for the capacity provider.
    vpcConfig CapacityProviderVpcConfig
    The VPC configuration for the capacity provider.
    capacityProviderName string
    capacityProviderScalingConfig CapacityProviderScalingConfig
    The scaling configuration for the capacity provider.
    instanceRequirements CapacityProviderInstanceRequirements
    The instance requirements for compute resources managed by the capacity provider.
    kmsKeyArn string
    The ARN of the KMS key used to encrypt the capacity provider's resources.
    tags Tag[]
    A key-value pair that provides metadata for the capacity provider.
    permissions_config CapacityProviderPermissionsConfigArgs
    The permissions configuration for the capacity provider.
    vpc_config CapacityProviderVpcConfigArgs
    The VPC configuration for the capacity provider.
    capacity_provider_name str
    capacity_provider_scaling_config CapacityProviderScalingConfigArgs
    The scaling configuration for the capacity provider.
    instance_requirements CapacityProviderInstanceRequirementsArgs
    The instance requirements for compute resources managed by the capacity provider.
    kms_key_arn str
    The ARN of the KMS key used to encrypt the capacity provider's resources.
    tags Sequence[TagArgs]
    A key-value pair that provides metadata for the capacity provider.
    permissionsConfig Property Map
    The permissions configuration for the capacity provider.
    vpcConfig Property Map
    The VPC configuration for the capacity provider.
    capacityProviderName String
    capacityProviderScalingConfig Property Map
    The scaling configuration for the capacity provider.
    instanceRequirements Property Map
    The instance requirements for compute resources managed by the capacity provider.
    kmsKeyArn String
    The ARN of the KMS key used to encrypt the capacity provider's resources.
    tags List<Property Map>
    A key-value pair that provides metadata for the capacity provider.

    Outputs

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

    Arn string
    Id string
    The provider-assigned unique ID for this managed resource.
    State Pulumi.AwsNative.Lambda.CapacityProviderState
    The current state of the capacity provider.
    Arn string
    Id string
    The provider-assigned unique ID for this managed resource.
    State CapacityProviderStateEnum
    The current state of the capacity provider.
    arn String
    id String
    The provider-assigned unique ID for this managed resource.
    state CapacityProviderState
    The current state of the capacity provider.
    arn string
    id string
    The provider-assigned unique ID for this managed resource.
    state CapacityProviderState
    The current state of the capacity provider.
    arn str
    id str
    The provider-assigned unique ID for this managed resource.
    state CapacityProviderState
    The current state of the capacity provider.
    arn String
    id String
    The provider-assigned unique ID for this managed resource.
    state "Pending" | "Active" | "Failed" | "Deleting"
    The current state of the capacity provider.

    Supporting Types

    CapacityProviderArchitecture, CapacityProviderArchitectureArgs

    X8664
    x86_64
    Arm64
    arm64
    CapacityProviderArchitectureX8664
    x86_64
    CapacityProviderArchitectureArm64
    arm64
    X8664
    x86_64
    Arm64
    arm64
    X8664
    x86_64
    Arm64
    arm64
    X8664
    x86_64
    ARM64
    arm64
    "x86_64"
    x86_64
    "arm64"
    arm64

    CapacityProviderInstanceRequirements, CapacityProviderInstanceRequirementsArgs

    Specifications that define the characteristics and constraints for compute instances used by the capacity provider.
    AllowedInstanceTypes List<string>
    A list of EC2 instance types that the capacity provider is allowed to use. If not specified, all compatible instance types are allowed.
    Architectures List<Pulumi.AwsNative.Lambda.CapacityProviderArchitecture>
    A list of supported CPU architectures for compute instances. Valid values include x86_64 and arm64.
    ExcludedInstanceTypes List<string>
    A list of EC2 instance types that the capacity provider should not use, even if they meet other requirements.
    AllowedInstanceTypes []string
    A list of EC2 instance types that the capacity provider is allowed to use. If not specified, all compatible instance types are allowed.
    Architectures []CapacityProviderArchitecture
    A list of supported CPU architectures for compute instances. Valid values include x86_64 and arm64.
    ExcludedInstanceTypes []string
    A list of EC2 instance types that the capacity provider should not use, even if they meet other requirements.
    allowedInstanceTypes List<String>
    A list of EC2 instance types that the capacity provider is allowed to use. If not specified, all compatible instance types are allowed.
    architectures List<CapacityProviderArchitecture>
    A list of supported CPU architectures for compute instances. Valid values include x86_64 and arm64.
    excludedInstanceTypes List<String>
    A list of EC2 instance types that the capacity provider should not use, even if they meet other requirements.
    allowedInstanceTypes string[]
    A list of EC2 instance types that the capacity provider is allowed to use. If not specified, all compatible instance types are allowed.
    architectures CapacityProviderArchitecture[]
    A list of supported CPU architectures for compute instances. Valid values include x86_64 and arm64.
    excludedInstanceTypes string[]
    A list of EC2 instance types that the capacity provider should not use, even if they meet other requirements.
    allowed_instance_types Sequence[str]
    A list of EC2 instance types that the capacity provider is allowed to use. If not specified, all compatible instance types are allowed.
    architectures Sequence[CapacityProviderArchitecture]
    A list of supported CPU architectures for compute instances. Valid values include x86_64 and arm64.
    excluded_instance_types Sequence[str]
    A list of EC2 instance types that the capacity provider should not use, even if they meet other requirements.
    allowedInstanceTypes List<String>
    A list of EC2 instance types that the capacity provider is allowed to use. If not specified, all compatible instance types are allowed.
    architectures List<"x86_64" | "arm64">
    A list of supported CPU architectures for compute instances. Valid values include x86_64 and arm64.
    excludedInstanceTypes List<String>
    A list of EC2 instance types that the capacity provider should not use, even if they meet other requirements.

    CapacityProviderPermissionsConfig, CapacityProviderPermissionsConfigArgs

    Configuration that specifies the permissions required for the capacity provider to manage compute resources.
    CapacityProviderOperatorRoleArn string
    The ARN of the IAM role that the capacity provider uses to manage compute instances and other AWS resources.
    CapacityProviderOperatorRoleArn string
    The ARN of the IAM role that the capacity provider uses to manage compute instances and other AWS resources.
    capacityProviderOperatorRoleArn String
    The ARN of the IAM role that the capacity provider uses to manage compute instances and other AWS resources.
    capacityProviderOperatorRoleArn string
    The ARN of the IAM role that the capacity provider uses to manage compute instances and other AWS resources.
    capacity_provider_operator_role_arn str
    The ARN of the IAM role that the capacity provider uses to manage compute instances and other AWS resources.
    capacityProviderOperatorRoleArn String
    The ARN of the IAM role that the capacity provider uses to manage compute instances and other AWS resources.

    CapacityProviderPredefinedMetricType, CapacityProviderPredefinedMetricTypeArgs

    LambdaCapacityProviderAverageCpuUtilization
    LambdaCapacityProviderAverageCPUUtilization
    CapacityProviderPredefinedMetricTypeLambdaCapacityProviderAverageCpuUtilization
    LambdaCapacityProviderAverageCPUUtilization
    LambdaCapacityProviderAverageCpuUtilization
    LambdaCapacityProviderAverageCPUUtilization
    LambdaCapacityProviderAverageCpuUtilization
    LambdaCapacityProviderAverageCPUUtilization
    LAMBDA_CAPACITY_PROVIDER_AVERAGE_CPU_UTILIZATION
    LambdaCapacityProviderAverageCPUUtilization
    "LambdaCapacityProviderAverageCPUUtilization"
    LambdaCapacityProviderAverageCPUUtilization

    CapacityProviderScalingConfig, CapacityProviderScalingConfigArgs

    Configuration that defines how the capacity provider scales compute instances based on demand and policies.
    MaxVCpuCount int
    The maximum number of vCPUs that the capacity provider can provision across all compute instances.
    ScalingMode Pulumi.AwsNative.Lambda.CapacityProviderScalingMode
    The scaling mode that determines how the capacity provider responds to changes in demand.
    ScalingPolicies List<Pulumi.AwsNative.Lambda.Inputs.CapacityProviderTargetTrackingScalingPolicy>
    A list of target tracking scaling policies for the capacity provider.
    MaxVCpuCount int
    The maximum number of vCPUs that the capacity provider can provision across all compute instances.
    ScalingMode CapacityProviderScalingMode
    The scaling mode that determines how the capacity provider responds to changes in demand.
    ScalingPolicies []CapacityProviderTargetTrackingScalingPolicy
    A list of target tracking scaling policies for the capacity provider.
    maxVCpuCount Integer
    The maximum number of vCPUs that the capacity provider can provision across all compute instances.
    scalingMode CapacityProviderScalingMode
    The scaling mode that determines how the capacity provider responds to changes in demand.
    scalingPolicies List<CapacityProviderTargetTrackingScalingPolicy>
    A list of target tracking scaling policies for the capacity provider.
    maxVCpuCount number
    The maximum number of vCPUs that the capacity provider can provision across all compute instances.
    scalingMode CapacityProviderScalingMode
    The scaling mode that determines how the capacity provider responds to changes in demand.
    scalingPolicies CapacityProviderTargetTrackingScalingPolicy[]
    A list of target tracking scaling policies for the capacity provider.
    max_v_cpu_count int
    The maximum number of vCPUs that the capacity provider can provision across all compute instances.
    scaling_mode CapacityProviderScalingMode
    The scaling mode that determines how the capacity provider responds to changes in demand.
    scaling_policies Sequence[CapacityProviderTargetTrackingScalingPolicy]
    A list of target tracking scaling policies for the capacity provider.
    maxVCpuCount Number
    The maximum number of vCPUs that the capacity provider can provision across all compute instances.
    scalingMode "Auto" | "Manual"
    The scaling mode that determines how the capacity provider responds to changes in demand.
    scalingPolicies List<Property Map>
    A list of target tracking scaling policies for the capacity provider.

    CapacityProviderScalingMode, CapacityProviderScalingModeArgs

    Auto
    Auto
    Manual
    Manual
    CapacityProviderScalingModeAuto
    Auto
    CapacityProviderScalingModeManual
    Manual
    Auto
    Auto
    Manual
    Manual
    Auto
    Auto
    Manual
    Manual
    AUTO
    Auto
    MANUAL
    Manual
    "Auto"
    Auto
    "Manual"
    Manual

    CapacityProviderState, CapacityProviderStateArgs

    Pending
    Pending
    Active
    Active
    Failed
    Failed
    Deleting
    Deleting
    CapacityProviderStatePending
    Pending
    CapacityProviderStateActive
    Active
    CapacityProviderStateFailed
    Failed
    CapacityProviderStateDeleting
    Deleting
    Pending
    Pending
    Active
    Active
    Failed
    Failed
    Deleting
    Deleting
    Pending
    Pending
    Active
    Active
    Failed
    Failed
    Deleting
    Deleting
    PENDING
    Pending
    ACTIVE
    Active
    FAILED
    Failed
    DELETING
    Deleting
    "Pending"
    Pending
    "Active"
    Active
    "Failed"
    Failed
    "Deleting"
    Deleting

    CapacityProviderTargetTrackingScalingPolicy, CapacityProviderTargetTrackingScalingPolicyArgs

    A scaling policy for the capacity provider that automatically adjusts capacity to maintain a target value for a specific metric.
    PredefinedMetricType Pulumi.AwsNative.Lambda.CapacityProviderPredefinedMetricType
    The predefined metric type to track for scaling decisions.
    TargetValue double
    The target value for the metric that the scaling policy attempts to maintain through scaling actions.
    PredefinedMetricType CapacityProviderPredefinedMetricType
    The predefined metric type to track for scaling decisions.
    TargetValue float64
    The target value for the metric that the scaling policy attempts to maintain through scaling actions.
    predefinedMetricType CapacityProviderPredefinedMetricType
    The predefined metric type to track for scaling decisions.
    targetValue Double
    The target value for the metric that the scaling policy attempts to maintain through scaling actions.
    predefinedMetricType CapacityProviderPredefinedMetricType
    The predefined metric type to track for scaling decisions.
    targetValue number
    The target value for the metric that the scaling policy attempts to maintain through scaling actions.
    predefined_metric_type CapacityProviderPredefinedMetricType
    The predefined metric type to track for scaling decisions.
    target_value float
    The target value for the metric that the scaling policy attempts to maintain through scaling actions.
    predefinedMetricType "LambdaCapacityProviderAverageCPUUtilization"
    The predefined metric type to track for scaling decisions.
    targetValue Number
    The target value for the metric that the scaling policy attempts to maintain through scaling actions.

    CapacityProviderVpcConfig, CapacityProviderVpcConfigArgs

    VPC configuration that specifies the network settings for compute instances managed by the capacity provider.
    SecurityGroupIds List<string>
    A list of security group IDs that control network access for compute instances managed by the capacity provider.
    SubnetIds List<string>
    A list of subnet IDs where the capacity provider launches compute instances.
    SecurityGroupIds []string
    A list of security group IDs that control network access for compute instances managed by the capacity provider.
    SubnetIds []string
    A list of subnet IDs where the capacity provider launches compute instances.
    securityGroupIds List<String>
    A list of security group IDs that control network access for compute instances managed by the capacity provider.
    subnetIds List<String>
    A list of subnet IDs where the capacity provider launches compute instances.
    securityGroupIds string[]
    A list of security group IDs that control network access for compute instances managed by the capacity provider.
    subnetIds string[]
    A list of subnet IDs where the capacity provider launches compute instances.
    security_group_ids Sequence[str]
    A list of security group IDs that control network access for compute instances managed by the capacity provider.
    subnet_ids Sequence[str]
    A list of subnet IDs where the capacity provider launches compute instances.
    securityGroupIds List<String>
    A list of security group IDs that control network access for compute instances managed by the capacity provider.
    subnetIds List<String>
    A list of subnet IDs where the capacity provider launches compute instances.

    Tag, TagArgs

    A set of tags to apply to the resource.
    Key string
    The key name of the tag
    Value string
    The value of the tag
    Key string
    The key name of the tag
    Value string
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag
    key string
    The key name of the tag
    value string
    The value of the tag
    key str
    The key name of the tag
    value str
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag

    Package Details

    Repository
    AWS Native pulumi/pulumi-aws-native
    License
    Apache-2.0
    aws-native logo

    We recommend new projects start with resources from the AWS provider.

    Viewing docs for AWS Cloud Control v1.57.0
    published on Monday, Mar 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.