CreateCapacityProvider - AWS Lambda

CreateCapacityProvider

Creates a capacity provider that manages compute resources for Lambda functions

Request Syntax

POST /2025-11-30/capacity-providers HTTP/1.1 Content-type: application/json { "CapacityProviderName": "string", "CapacityProviderScalingConfig": { "MaxVCpuCount": number, "ScalingMode": "string", "ScalingPolicies": [ { "PredefinedMetricType": "string", "TargetValue": number } ] }, "InstanceRequirements": { "AllowedInstanceTypes": [ "string" ], "Architectures": [ "string" ], "ExcludedInstanceTypes": [ "string" ] }, "KmsKeyArn": "string", "PermissionsConfig": { "CapacityProviderOperatorRoleArn": "string" }, "Tags": { "string" : "string" }, "VpcConfig": { "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ] } }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

CapacityProviderName

The name of the capacity provider.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 140.

Pattern: (arn:aws[a-zA-Z-]*:lambda:[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\d{1}:\d{12}:capacity-provider:[a-zA-Z0-9-_]+)|[a-zA-Z0-9-_]+

Required: Yes

CapacityProviderScalingConfig

The scaling configuration that defines how the capacity provider scales compute instances, including maximum vCPU count and scaling policies.

Type: CapacityProviderScalingConfig object

Required: No

InstanceRequirements

The instance requirements that specify the compute instance characteristics, including architectures and allowed or excluded instance types.

Type: InstanceRequirements object

Required: No

KmsKeyArn

The ARN of the KMS key used to encrypt data associated with the capacity provider.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 10000.

Pattern: arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*

Required: No

PermissionsConfig

The permissions configuration that specifies the IAM role ARN used by the capacity provider to manage compute resources.

Type: CapacityProviderPermissionsConfig object

Required: Yes

Tags

A list of tags to associate with the capacity provider.

Type: String to string map

Required: No

VpcConfig

The VPC configuration for the capacity provider, including subnet IDs and security group IDs where compute instances will be launched.

Type: CapacityProviderVpcConfig object

Required: Yes

Response Syntax

HTTP/1.1 202 Content-type: application/json { "CapacityProvider": { "CapacityProviderArn": "string", "CapacityProviderScalingConfig": { "MaxVCpuCount": number, "ScalingMode": "string", "ScalingPolicies": [ { "PredefinedMetricType": "string", "TargetValue": number } ] }, "InstanceRequirements": { "AllowedInstanceTypes": [ "string" ], "Architectures": [ "string" ], "ExcludedInstanceTypes": [ "string" ] }, "KmsKeyArn": "string", "LastModified": "string", "PermissionsConfig": { "CapacityProviderOperatorRoleArn": "string" }, "State": "string", "VpcConfig": { "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ] } } }

Response Elements

If the action is successful, the service sends back an HTTP 202 response.

The following data is returned in JSON format by the service.

CapacityProvider

Information about the capacity provider that was created.

Type: CapacityProvider object

Errors

For information about the errors that are common to all actions, see Common Errors.

CapacityProviderLimitExceededException

The maximum number of capacity providers for your account has been exceeded. For more information, see Lambda quotas

Type

The exception type.

HTTP Status Code: 400

InvalidParameterValueException

One of the parameters in the request is not valid.

message

The exception message.

Type

The exception type.

HTTP Status Code: 400

ResourceConflictException

The resource already exists, or another operation is in progress.

message

The exception message.

Type

The exception type.

HTTP Status Code: 409

ServiceException

The AWS Lambda service encountered an internal error.

HTTP Status Code: 500

TooManyRequestsException

The request throughput limit was exceeded. For more information, see Lambda quotas.

retryAfterSeconds

The number of seconds the caller should wait before retrying.

HTTP Status Code: 429

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: