java.lang.Object
software.amazon.awscdk.services.kinesisanalytics.flink.alpha.Application.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<Application>
Enclosing class:
Application

@Stability(Experimental) public static final class Application.Builder extends Object implements software.amazon.jsii.Builder<Application>
(experimental) A fluent builder for Application.
  • Method Details

    • create

      @Stability(Experimental) public static Application.Builder create(software.constructs.Construct scope, String id)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      Returns:
      a new instance of Application.Builder.
    • code

      @Stability(Experimental) public Application.Builder code(ApplicationCode code)
      (experimental) The Flink code asset to run.

      Parameters:
      code - The Flink code asset to run. This parameter is required.
      Returns:
      this
    • runtime

      @Stability(Experimental) public Application.Builder runtime(Runtime runtime)
      (experimental) The Flink version to use for this application.

      Parameters:
      runtime - The Flink version to use for this application. This parameter is required.
      Returns:
      this
    • applicationName

      @Stability(Experimental) public Application.Builder applicationName(String applicationName)
      (experimental) A name for your Application that is unique to an AWS account.

      Default: - CloudFormation-generated name

      Parameters:
      applicationName - A name for your Application that is unique to an AWS account. This parameter is required.
      Returns:
      this
    • autoScalingEnabled

      @Stability(Experimental) public Application.Builder autoScalingEnabled(Boolean autoScalingEnabled)
      (experimental) Whether the Kinesis Data Analytics service can increase the parallelism of the application in response to resource usage.

      Default: true

      Parameters:
      autoScalingEnabled - Whether the Kinesis Data Analytics service can increase the parallelism of the application in response to resource usage. This parameter is required.
      Returns:
      this
    • checkpointingEnabled

      @Stability(Experimental) public Application.Builder checkpointingEnabled(Boolean checkpointingEnabled)
      (experimental) Whether checkpointing is enabled while your application runs.

      Default: true

      Parameters:
      checkpointingEnabled - Whether checkpointing is enabled while your application runs. This parameter is required.
      Returns:
      this
    • checkpointInterval

      @Stability(Experimental) public Application.Builder checkpointInterval(Duration checkpointInterval)
      (experimental) The interval between checkpoints.

      Default: - 1 minute

      Parameters:
      checkpointInterval - The interval between checkpoints. This parameter is required.
      Returns:
      this
    • logGroup

      @Stability(Experimental) public Application.Builder logGroup(ILogGroup logGroup)
      (experimental) The log group to send log entries to.

      Default: - CDK's default LogGroup

      Parameters:
      logGroup - The log group to send log entries to. This parameter is required.
      Returns:
      this
    • logLevel

      @Stability(Experimental) public Application.Builder logLevel(LogLevel logLevel)
      (experimental) The level of log verbosity from the Flink application.

      Default: FlinkLogLevel.INFO

      Parameters:
      logLevel - The level of log verbosity from the Flink application. This parameter is required.
      Returns:
      this
    • metricsLevel

      @Stability(Experimental) public Application.Builder metricsLevel(MetricsLevel metricsLevel)
      (experimental) Describes the granularity of the CloudWatch metrics for an application.

      Use caution with Parallelism level metrics. Parallelism granularity logs metrics for each parallel thread and can quickly become expensive when parallelism is high (e.g. > 64).

      Default: MetricsLevel.APPLICATION

      Parameters:
      metricsLevel - Describes the granularity of the CloudWatch metrics for an application. This parameter is required.
      Returns:
      this
    • minPauseBetweenCheckpoints

      @Stability(Experimental) public Application.Builder minPauseBetweenCheckpoints(Duration minPauseBetweenCheckpoints)
      (experimental) The minimum amount of time in to wait after a checkpoint finishes to start a new checkpoint.

      Default: - 5 seconds

      Parameters:
      minPauseBetweenCheckpoints - The minimum amount of time in to wait after a checkpoint finishes to start a new checkpoint. This parameter is required.
      Returns:
      this
    • parallelism

      @Stability(Experimental) public Application.Builder parallelism(Number parallelism)
      (experimental) The initial parallelism for the application.

      Kinesis Data Analytics can stop the app, increase the parallelism, and start the app again if autoScalingEnabled is true (the default value).

      Default: 1

      Parameters:
      parallelism - The initial parallelism for the application. This parameter is required.
      Returns:
      this
    • parallelismPerKpu

      @Stability(Experimental) public Application.Builder parallelismPerKpu(Number parallelismPerKpu)
      (experimental) The Flink parallelism allowed per Kinesis Processing Unit (KPU).

      Default: 1

      Parameters:
      parallelismPerKpu - The Flink parallelism allowed per Kinesis Processing Unit (KPU). This parameter is required.
      Returns:
      this
    • propertyGroups

      @Stability(Experimental) public Application.Builder propertyGroups(Map<String,? extends Map<String,String>> propertyGroups)
      (experimental) Configuration PropertyGroups.

      You can use these property groups to pass arbitrary runtime configuration values to your Flink app.

      Default: - No property group configuration provided to the Flink app

      Parameters:
      propertyGroups - Configuration PropertyGroups. This parameter is required.
      Returns:
      this
    • removalPolicy

      @Stability(Experimental) public Application.Builder removalPolicy(RemovalPolicy removalPolicy)
      (experimental) Provide a RemovalPolicy to override the default.

      Default: RemovalPolicy.DESTROY

      Parameters:
      removalPolicy - Provide a RemovalPolicy to override the default. This parameter is required.
      Returns:
      this
    • role

      @Stability(Experimental) public Application.Builder role(IRole role)
      (experimental) A role to use to grant permissions to your application.

      Prefer omitting this property and using the default role.

      Default: - a new Role will be created

      Parameters:
      role - A role to use to grant permissions to your application. This parameter is required.
      Returns:
      this
    • securityGroups

      @Stability(Experimental) public Application.Builder securityGroups(List<? extends ISecurityGroup> securityGroups)
      (experimental) Security groups to use with a provided VPC.

      Default: - a new security group is created for this application.

      Parameters:
      securityGroups - Security groups to use with a provided VPC. This parameter is required.
      Returns:
      this
    • snapshotsEnabled

      @Stability(Experimental) public Application.Builder snapshotsEnabled(Boolean snapshotsEnabled)
      (experimental) Determines if Flink snapshots are enabled.

      Default: true

      Parameters:
      snapshotsEnabled - Determines if Flink snapshots are enabled. This parameter is required.
      Returns:
      this
    • vpc

      @Stability(Experimental) public Application.Builder vpc(IVpc vpc)
      (experimental) Deploy the Flink application in a VPC.

      Default: - no VPC

      Parameters:
      vpc - Deploy the Flink application in a VPC. This parameter is required.
      Returns:
      this
    • vpcSubnets

      @Stability(Experimental) public Application.Builder vpcSubnets(SubnetSelection vpcSubnets)
      (experimental) Choose which VPC subnets to use.

      Default: - SubnetType.PRIVATE_WITH_EGRESS subnets

      Parameters:
      vpcSubnets - Choose which VPC subnets to use. This parameter is required.
      Returns:
      this
    • build

      @Stability(Experimental) public Application build()
      Specified by:
      build in interface software.amazon.jsii.Builder<Application>
      Returns:
      a newly built instance of Application.