Lambda / Client / create_capacity_provider

create_capacity_provider

Lambda.Client.create_capacity_provider(**kwargs)

Creates a capacity provider that manages compute resources for Lambda functions

See also: AWS API Documentation

Request Syntax

response = client.create_capacity_provider(
    CapacityProviderName='string',
    VpcConfig={
        'SubnetIds': [
            'string',
        ],
        'SecurityGroupIds': [
            'string',
        ]
    },
    PermissionsConfig={
        'CapacityProviderOperatorRoleArn': 'string'
    },
    InstanceRequirements={
        'Architectures': [
            'x86_64'|'arm64',
        ],
        'AllowedInstanceTypes': [
            'string',
        ],
        'ExcludedInstanceTypes': [
            'string',
        ]
    },
    CapacityProviderScalingConfig={
        'MaxVCpuCount': 123,
        'ScalingMode': 'Auto'|'Manual',
        'ScalingPolicies': [
            {
                'PredefinedMetricType': 'LambdaCapacityProviderAverageCPUUtilization',
                'TargetValue': 123.0
            },
        ]
    },
    KmsKeyArn='string',
    Tags={
        'string': 'string'
    },
    PropagateTags={
        'Mode': 'None'|'Explicit',
        'ExplicitTags': {
            'string': 'string'
        }
    },
    TelemetryConfig={
        'LoggingConfig': {
            'SystemLogLevel': 'DEBUG'|'INFO'|'WARN',
            'LogGroup': 'string'
        }
    }
)
Parameters:
  • CapacityProviderName (string) –

    [REQUIRED]

    The name of the capacity provider.

  • VpcConfig (dict) –

    [REQUIRED]

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

    • SubnetIds (list) – [REQUIRED]

      A list of subnet IDs where the capacity provider launches compute instances.

      • (string) –

    • SecurityGroupIds (list) – [REQUIRED]

      A list of security group IDs that control network access for compute instances managed by the capacity provider.

      • (string) –

  • PermissionsConfig (dict) –

    [REQUIRED]

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

    • CapacityProviderOperatorRoleArn (string) – [REQUIRED]

      The ARN of the IAM role that the capacity provider uses to manage compute instances and other Amazon Web Services resources.

  • InstanceRequirements (dict) –

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

    • Architectures (list) –

      A list of supported CPU architectures for compute instances. Valid values include x86_64 and arm64.

      • (string) –

    • AllowedInstanceTypes (list) –

      A list of EC2 instance types that the capacity provider is allowed to use. If not specified, all compatible instance types are allowed.

      • (string) –

    • ExcludedInstanceTypes (list) –

      A list of EC2 instance types that the capacity provider should not use, even if they meet other requirements.

      • (string) –

  • CapacityProviderScalingConfig (dict) –

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

    • MaxVCpuCount (integer) –

      The maximum number of vCPUs that the capacity provider can provision across all compute instances.

    • ScalingMode (string) –

      The scaling mode that determines how the capacity provider responds to changes in demand.

    • ScalingPolicies (list) –

      A list of scaling policies that define how the capacity provider scales compute instances based on metrics and thresholds.

      • (dict) –

        A scaling policy for the capacity provider that automatically adjusts capacity to maintain a target value for a specific metric.

        • PredefinedMetricType (string) – [REQUIRED]

          The predefined metric type to track for scaling decisions.

        • TargetValue (float) – [REQUIRED]

          The target value for the metric that the scaling policy attempts to maintain through scaling actions.

  • KmsKeyArn (string) – The ARN of the KMS key used to encrypt data associated with the capacity provider.

  • Tags (dict) –

    A list of tags to associate with the capacity provider.

    • (string) –

      • (string) –

  • PropagateTags (dict) –

    The tag propagation configuration for the capacity provider. Specifies tags to apply to managed resources at launch.

    • Mode (string) –

      The tag propagation mode. Set to Explicit to propagate the tags specified in ExplicitTags to managed resources. Set to None to disable tag propagation.

    • ExplicitTags (dict) –

      A list of tags to apply to managed resources when Mode is set to Explicit. You can specify up to 40 tags.

      • (string) –

        • (string) –

  • TelemetryConfig (dict) –

    The telemetry configuration for the capacity provider. Specifies logging settings for managed resources.

    • LoggingConfig (dict) –

      The capacity provider’s Amazon CloudWatch Logs configuration settings.

      • SystemLogLevel (string) –

        Set this property to filter the system logs for your capacity provider that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.

      • LogGroup (string) –

        The name of the Amazon CloudWatch log group the capacity provider sends logs to. By default, Lambda capacity providers send logs to a default log group named /aws/lambda/capacity-provider/<capacity provider name>. To use a different log group, enter an existing log group or enter a new log group name.

Return type:

dict

Returns:

Response Syntax

{
    'CapacityProvider': {
        'CapacityProviderArn': 'string',
        'State': 'Pending'|'Active'|'Failed'|'Deleting',
        'VpcConfig': {
            'SubnetIds': [
                'string',
            ],
            'SecurityGroupIds': [
                'string',
            ]
        },
        'PermissionsConfig': {
            'CapacityProviderOperatorRoleArn': 'string'
        },
        'InstanceRequirements': {
            'Architectures': [
                'x86_64'|'arm64',
            ],
            'AllowedInstanceTypes': [
                'string',
            ],
            'ExcludedInstanceTypes': [
                'string',
            ]
        },
        'CapacityProviderScalingConfig': {
            'MaxVCpuCount': 123,
            'ScalingMode': 'Auto'|'Manual',
            'ScalingPolicies': [
                {
                    'PredefinedMetricType': 'LambdaCapacityProviderAverageCPUUtilization',
                    'TargetValue': 123.0
                },
            ]
        },
        'KmsKeyArn': 'string',
        'LastModified': 'string',
        'PropagateTags': {
            'Mode': 'None'|'Explicit',
            'ExplicitTags': {
                'string': 'string'
            }
        },
        'TelemetryConfig': {
            'LoggingConfig': {
                'SystemLogLevel': 'DEBUG'|'INFO'|'WARN',
                'LogGroup': 'string'
            }
        }
    }
}

Response Structure

  • (dict) –

    • CapacityProvider (dict) –

      Information about the capacity provider that was created.

      • CapacityProviderArn (string) –

        The Amazon Resource Name (ARN) of the capacity provider.

      • State (string) –

        The current state of the capacity provider.

      • VpcConfig (dict) –

        The VPC configuration for the capacity provider.

        • SubnetIds (list) –

          A list of subnet IDs where the capacity provider launches compute instances.

          • (string) –

        • SecurityGroupIds (list) –

          A list of security group IDs that control network access for compute instances managed by the capacity provider.

          • (string) –

      • PermissionsConfig (dict) –

        The permissions configuration for the capacity provider.

        • CapacityProviderOperatorRoleArn (string) –

          The ARN of the IAM role that the capacity provider uses to manage compute instances and other Amazon Web Services resources.

      • InstanceRequirements (dict) –

        The instance requirements for compute resources managed by the capacity provider.

        • Architectures (list) –

          A list of supported CPU architectures for compute instances. Valid values include x86_64 and arm64.

          • (string) –

        • AllowedInstanceTypes (list) –

          A list of EC2 instance types that the capacity provider is allowed to use. If not specified, all compatible instance types are allowed.

          • (string) –

        • ExcludedInstanceTypes (list) –

          A list of EC2 instance types that the capacity provider should not use, even if they meet other requirements.

          • (string) –

      • CapacityProviderScalingConfig (dict) –

        The scaling configuration for the capacity provider.

        • MaxVCpuCount (integer) –

          The maximum number of vCPUs that the capacity provider can provision across all compute instances.

        • ScalingMode (string) –

          The scaling mode that determines how the capacity provider responds to changes in demand.

        • ScalingPolicies (list) –

          A list of scaling policies that define how the capacity provider scales compute instances based on metrics and thresholds.

          • (dict) –

            A scaling policy for the capacity provider that automatically adjusts capacity to maintain a target value for a specific metric.

            • PredefinedMetricType (string) –

              The predefined metric type to track for scaling decisions.

            • TargetValue (float) –

              The target value for the metric that the scaling policy attempts to maintain through scaling actions.

      • KmsKeyArn (string) –

        The ARN of the KMS key used to encrypt the capacity provider’s resources.

      • LastModified (string) –

        The date and time when the capacity provider was last modified.

      • PropagateTags (dict) –

        Configuration for tag propagation to managed resources launched by the capacity provider.

        • Mode (string) –

          The tag propagation mode. Set to Explicit to propagate the tags specified in ExplicitTags to managed resources. Set to None to disable tag propagation.

        • ExplicitTags (dict) –

          A list of tags to apply to managed resources when Mode is set to Explicit. You can specify up to 40 tags.

          • (string) –

            • (string) –

      • TelemetryConfig (dict) –

        The telemetry configuration for the capacity provider, including logging settings.

        • LoggingConfig (dict) –

          The capacity provider’s Amazon CloudWatch Logs configuration settings.

          • SystemLogLevel (string) –

            Set this property to filter the system logs for your capacity provider that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.

          • LogGroup (string) –

            The name of the Amazon CloudWatch log group the capacity provider sends logs to. By default, Lambda capacity providers send logs to a default log group named /aws/lambda/capacity-provider/<capacity provider name>. To use a different log group, enter an existing log group or enter a new log group name.

Exceptions