Package com.pulumi.aws.lambda
Class FunctionScalingConfig
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.lambda.FunctionScalingConfig
-
public class FunctionScalingConfig extends com.pulumi.resources.CustomResourceManages the scaling configuration for an AWS Lambda function. The scaling configuration defines the minimum and maximum number of execution environments that can be provisioned for the function, allowing you to control scaling behavior and resource allocation. > **NOTE:** This resource only works with Lambda functions that have a capacity provider configuration. > **NOTE:** Per common practice, this resource waits for the scaling configuration to converge before apply completes. It determines the min and max execution environments have settled using Requested and Applied scaling configs returned by Lambda. The [API documentation](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunctionScalingConfig.html) is ambiguous about how these behave. From observation, Requested is only returned prior to settlement whereas Applied may be partially returned until settlement when it is fully returned. Should the observed behavior change, this resource will need to be updated to match. ## Example Usage ### Basic Usage
## Import ### Identity Schema #### Required * `functionName` (String) Name or ARN of the Lambda function. * `qualifier` (String) Qualifier for the scaling configuration. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import Lambda Function Scaling Config using the `functionName` and `qualifier` separated by a comma (`,`). For example: ```sh $ pulumi import aws:lambda/functionScalingConfig:FunctionScalingConfig example my-function,$LATEST.PUBLISHED ```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 com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.aws.lambda.inputs.FunctionCapacityProviderConfigArgs; import com.pulumi.aws.lambda.inputs.FunctionCapacityProviderConfigLambdaManagedInstancesCapacityProviderConfigArgs; import com.pulumi.aws.lambda.FunctionScalingConfig; import com.pulumi.aws.lambda.FunctionScalingConfigArgs; import com.pulumi.aws.lambda.inputs.FunctionScalingConfigFunctionScalingConfigArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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() .vpcConfig(CapacityProviderVpcConfigArgs.builder() .subnetIds(exampleAwsSubnet.stream().map(element -> element.id()).collect(toList())) .securityGroupIds(exampleAwsSecurityGroup.id()) .build()) .permissionsConfig(CapacityProviderPermissionsConfigArgs.builder() .capacityProviderOperatorRoleArn(exampleAwsIamRole.arn()) .build()) .name("example") .build()); var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() .capacityProviderConfig(FunctionCapacityProviderConfigArgs.builder() .lambdaManagedInstancesCapacityProviderConfig(FunctionCapacityProviderConfigLambdaManagedInstancesCapacityProviderConfigArgs.builder() .capacityProviderArn(example.arn()) .build()) .build()) .code(new FileArchive("lambda_function.zip")) .name("example") .role(exampleAwsIamRole.arn()) .handler("index.handler") .runtime("python3.14") .memorySize(32768) .publish(true) .publishTo("LATEST_PUBLISHED") .build()); var exampleFunctionScalingConfig = new FunctionScalingConfig("exampleFunctionScalingConfig", FunctionScalingConfigArgs.builder() .functionScalingConfig(FunctionScalingConfigFunctionScalingConfigArgs.builder() .minExecutionEnvironments(3) .maxExecutionEnvironments(100) .build()) .functionName(exampleFunction.name()) .qualifier("$LATEST.PUBLISHED") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description FunctionScalingConfig(java.lang.String name)FunctionScalingConfig(java.lang.String name, FunctionScalingConfigArgs args)FunctionScalingConfig(java.lang.String name, FunctionScalingConfigArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>functionArn()com.pulumi.core.Output<java.lang.String>functionName()com.pulumi.core.Output<FunctionScalingConfigFunctionScalingConfig>functionScalingConfig()com.pulumi.core.Output<java.lang.String>functionState()static FunctionScalingConfigget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, FunctionScalingConfigState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>qualifier()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<FunctionScalingConfigTimeouts>>timeouts()
-
-
-
Constructor Detail
-
FunctionScalingConfig
public FunctionScalingConfig(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
FunctionScalingConfig
public FunctionScalingConfig(java.lang.String name, FunctionScalingConfigArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
FunctionScalingConfig
public FunctionScalingConfig(java.lang.String name, FunctionScalingConfigArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
functionArn
public com.pulumi.core.Output<java.lang.String> functionArn()
- Returns:
- ARN of the Lambda function.
-
functionName
public com.pulumi.core.Output<java.lang.String> functionName()
- Returns:
- Name or ARN of the Lambda function. Changing this forces a new resource.
-
functionScalingConfig
public com.pulumi.core.Output<FunctionScalingConfigFunctionScalingConfig> functionScalingConfig()
- Returns:
- Scaling configuration block. See `functionScalingConfig` Block below.
-
functionState
public com.pulumi.core.Output<java.lang.String> functionState()
- Returns:
- State of the function after the scaling configuration was applied. This reflects the state reported by the most recent create or update and is not refreshed on read.
-
qualifier
public com.pulumi.core.Output<java.lang.String> qualifier()
- Returns:
- Qualifier for the scaling configuration. Valid values: `$LATEST.PUBLISHED` to target the latest published version, or a specific numeric version number (e.g., `1`). Changing this forces a new resource. The following arguments are optional:
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
timeouts
public com.pulumi.core.Output<java.util.Optional<FunctionScalingConfigTimeouts>> timeouts()
-
get
public static FunctionScalingConfig get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable FunctionScalingConfigState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-