Class ProviderProps.Jsii$Proxy

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.customresources.ProviderProps.Jsii$Proxy
All Implemented Interfaces:
ProviderProps, software.amazon.jsii.JsiiSerializable
Enclosing interface:
ProviderProps

@Stability(Stable) @Internal public static final class ProviderProps.Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ProviderProps
An implementation for ProviderProps
  • Constructor Details

    • Jsii$Proxy

      protected Jsii$Proxy(software.amazon.jsii.JsiiObjectRef objRef)
      Constructor that initializes the object based on values retrieved from the JsiiObject.
      Parameters:
      objRef - Reference to the JSII managed object.
    • Jsii$Proxy

      protected Jsii$Proxy(ProviderProps.Builder builder)
      Constructor that initializes the object based on literal property values passed by the ProviderProps.Builder.
  • Method Details

    • getOnEventHandler

      public final IFunction getOnEventHandler()
      Description copied from interface: ProviderProps
      The AWS Lambda function to invoke for all resource lifecycle operations (CREATE/UPDATE/DELETE).

      This function is responsible to begin the requested resource operation (CREATE/UPDATE/DELETE) and return any additional properties to add to the event, which will later be passed to isComplete. The PhysicalResourceId property must be included in the response.

      Specified by:
      getOnEventHandler in interface ProviderProps
    • getIsCompleteHandler

      public final IFunction getIsCompleteHandler()
      Description copied from interface: ProviderProps
      The AWS Lambda function to invoke in order to determine if the operation is complete.

      This function will be called immediately after onEvent and then periodically based on the configured query interval as long as it returns false. If the function still returns false and the alloted timeout has passed, the operation will fail.

      Default: - provider is synchronous. This means that the `onEvent` handler is expected to finish all lifecycle operations within the initial invocation.

      Specified by:
      getIsCompleteHandler in interface ProviderProps
    • getLogRetention

      public final RetentionDays getLogRetention()
      Description copied from interface: ProviderProps
      The number of days framework log events are kept in CloudWatch Logs.

      When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to INFINITE.

      Default: logs.RetentionDays.INFINITE

      Specified by:
      getLogRetention in interface ProviderProps
    • getProviderFunctionName

      public final String getProviderFunctionName()
      Description copied from interface: ProviderProps
      Provider Lambda name.

      The provider lambda function name.

      Default: - CloudFormation default name from unique physical ID

      Specified by:
      getProviderFunctionName in interface ProviderProps
    • getQueryInterval

      public final Duration getQueryInterval()
      Description copied from interface: ProviderProps
      Time between calls to the isComplete handler which determines if the resource has been stabilized.

      The first isComplete will be called immediately after handler and then every queryInterval seconds, and until timeout has been reached or until isComplete returns true.

      Default: Duration.seconds(5)

      Specified by:
      getQueryInterval in interface ProviderProps
    • getRole

      public final IRole getRole()
      Description copied from interface: ProviderProps
      AWS Lambda execution role.

      The role that will be assumed by the AWS Lambda. Must be assumable by the 'lambda.amazonaws.com' service principal.

      Default: - A default role will be created.

      Specified by:
      getRole in interface ProviderProps
    • getSecurityGroups

      public final List<ISecurityGroup> getSecurityGroups()
      Description copied from interface: ProviderProps
      Security groups to attach to the provider functions.

      Only used if 'vpc' is supplied

      Default: - If `vpc` is not supplied, no security groups are attached. Otherwise, a dedicated security group is created for each function.

      Specified by:
      getSecurityGroups in interface ProviderProps
    • getTotalTimeout

      public final Duration getTotalTimeout()
      Description copied from interface: ProviderProps
      Total timeout for the entire operation.

      The maximum timeout is 2 hours (yes, it can exceed the AWS Lambda 15 minutes)

      Default: Duration.minutes(30)

      Specified by:
      getTotalTimeout in interface ProviderProps
    • getVpc

      public final IVpc getVpc()
      Description copied from interface: ProviderProps
      The vpc to provision the lambda functions in.

      Default: - functions are not provisioned inside a vpc.

      Specified by:
      getVpc in interface ProviderProps
    • getVpcSubnets

      public final SubnetSelection getVpcSubnets()
      Description copied from interface: ProviderProps
      Which subnets from the VPC to place the lambda functions in.

      Only used if 'vpc' is supplied. Note: internet access for Lambdas requires a NAT gateway, so picking Public subnets is not allowed.

      Default: - the Vpc default strategy if not specified

      Specified by:
      getVpcSubnets in interface ProviderProps
    • $jsii$toJson

      @Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
      Specified by:
      $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
    • equals

      public final boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object