Interface CustomResourceProviderOptions

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Subinterfaces:
CustomResourceProviderBaseProps, CustomResourceProviderProps
All Known Implementing Classes:
CustomResourceProviderBaseProps.Jsii$Proxy, CustomResourceProviderOptions.Jsii$Proxy, CustomResourceProviderProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.98.0 (build 00b106d)", date="2024-05-08T21:35:01.572Z") @Stability(Stable) public interface CustomResourceProviderOptions extends software.amazon.jsii.JsiiSerializable
Initialization options for custom resource providers.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.*;
 Object policyStatements;
 Size size;
 CustomResourceProviderOptions customResourceProviderOptions = CustomResourceProviderOptions.builder()
         .description("description")
         .environment(Map.of(
                 "environmentKey", "environment"))
         .memorySize(size)
         .policyStatements(List.of(policyStatements))
         .timeout(Duration.minutes(30))
         .useCfnResponseWrapper(false)
         .build();
 
  • Method Details

    • getDescription

      @Stability(Stable) @Nullable default String getDescription()
      A description of the function.

      Default: - No description.

    • getEnvironment

      @Stability(Stable) @Nullable default Map<String,String> getEnvironment()
      Key-value pairs that are passed to Lambda as Environment.

      Default: - No environment variables.

    • getMemorySize

      @Stability(Stable) @Nullable default Size getMemorySize()
      The amount of memory that your function has access to.

      Increasing the function's memory also increases its CPU allocation.

      Default: Size.mebibytes(128)

    • getPolicyStatements

      @Stability(Stable) @Nullable default List<Object> getPolicyStatements()
      A set of IAM policy statements to include in the inline policy of the provider's lambda function.

      Please note: these are direct IAM JSON policy blobs, not iam.PolicyStatement objects like you will see in the rest of the CDK.

      Default: - no additional inline policy

      Example:

       CustomResourceProvider provider = CustomResourceProvider.getOrCreateProvider(this, "Custom::MyCustomResourceType", CustomResourceProviderProps.builder()
               .codeDirectory(String.format("%s/my-handler", __dirname))
               .runtime(CustomResourceProviderRuntime.NODEJS_18_X)
               .policyStatements(List.of(Map.of(
                       "Effect", "Allow",
                       "Action", "s3:PutObject*",
                       "Resource", "*")))
               .build());
       
    • getTimeout

      @Stability(Stable) @Nullable default Duration getTimeout()
      AWS Lambda timeout for the provider.

      Default: Duration.minutes(15)

    • getUseCfnResponseWrapper

      @Stability(Stable) @Nullable default Boolean getUseCfnResponseWrapper()
      Whether or not the cloudformation response wrapper (nodejs-entrypoint.ts) is used. If set to true, nodejs-entrypoint.js is bundled in the same asset as the custom resource and set as the entrypoint. If set to false, the custom resource provided is the entrypoint.

      Default: - `true` if `inlineCode: false` and `false` otherwise.

    • builder

      @Stability(Stable) static CustomResourceProviderOptions.Builder builder()
      Returns:
      a CustomResourceProviderOptions.Builder of CustomResourceProviderOptions