Class: AWSCDK::KinesisAnalyticsv2::CfnApplication::CheckpointConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
kinesis_analyticsv2/cfn_application.rb

Overview

Describes an application's checkpointing configuration.

Checkpointing is the process of persisting application state for fault tolerance. For more information, see Checkpoints for Fault Tolerance in the Apache Flink Documentation .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration_type:, checkpointing_enabled: nil, checkpoint_interval: nil, min_pause_between_checkpoints: nil) ⇒ CheckpointConfigurationProperty

Returns a new instance of CheckpointConfigurationProperty.

Parameters:

  • configuration_type (String)

    Describes whether the application uses Managed Service for Apache Flink' default checkpointing behavior.

  • checkpointing_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Describes whether checkpointing is enabled for a Managed Service for Apache Flink application.

  • checkpoint_interval (Numeric, nil) (defaults to: nil)

    Describes the interval in milliseconds between checkpoint operations.

  • min_pause_between_checkpoints (Numeric, nil) (defaults to: nil)

    Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start.



1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
# File 'kinesis_analyticsv2/cfn_application.rb', line 1071

def initialize(configuration_type:, checkpointing_enabled: nil, checkpoint_interval: nil, min_pause_between_checkpoints: nil)
  @configuration_type = configuration_type
  Jsii::Type.check_type(@configuration_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "configurationType")
  @checkpointing_enabled = checkpointing_enabled
  Jsii::Type.check_type(@checkpointing_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "checkpointingEnabled") unless @checkpointing_enabled.nil?
  @checkpoint_interval = checkpoint_interval
  Jsii::Type.check_type(@checkpoint_interval, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "checkpointInterval") unless @checkpoint_interval.nil?
  @min_pause_between_checkpoints = min_pause_between_checkpoints
  Jsii::Type.check_type(@min_pause_between_checkpoints, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minPauseBetweenCheckpoints") unless @min_pause_between_checkpoints.nil?
end

Instance Attribute Details

#checkpoint_intervalNumeric? (readonly)

Describes the interval in milliseconds between checkpoint operations.

If CheckpointConfiguration.ConfigurationType is DEFAULT , the application will use a CheckpointInterval value of 60000, even if this value is set to another value using this API or in application code.



1108
1109
1110
# File 'kinesis_analyticsv2/cfn_application.rb', line 1108

def checkpoint_interval
  @checkpoint_interval
end

#checkpointing_enabledBoolean, ... (readonly)

Describes whether checkpointing is enabled for a Managed Service for Apache Flink application.

If CheckpointConfiguration.ConfigurationType is DEFAULT , the application will use a CheckpointingEnabled value of true , even if this value is set to another value using this API or in application code.



1101
1102
1103
# File 'kinesis_analyticsv2/cfn_application.rb', line 1101

def checkpointing_enabled
  @checkpointing_enabled
end

#configuration_typeString (readonly)

Describes whether the application uses Managed Service for Apache Flink' default checkpointing behavior.

You must set this property to CUSTOM in order to set the CheckpointingEnabled , CheckpointInterval , or MinPauseBetweenCheckpoints parameters.

If this value is set to DEFAULT , the application will use the following values, even if they are set to other values using APIs or application code:

  • CheckpointingEnabled: true
  • CheckpointInterval: 60000
  • MinPauseBetweenCheckpoints: 5000


1094
1095
1096
# File 'kinesis_analyticsv2/cfn_application.rb', line 1094

def configuration_type
  @configuration_type
end

#min_pause_between_checkpointsNumeric? (readonly)

Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start.

If a checkpoint operation takes longer than the CheckpointInterval , the application otherwise performs continual checkpoint operations. For more information, see Tuning Checkpointing in the Apache Flink Documentation .

If CheckpointConfiguration.ConfigurationType is DEFAULT , the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this API or in application code.



1117
1118
1119
# File 'kinesis_analyticsv2/cfn_application.rb', line 1117

def min_pause_between_checkpoints
  @min_pause_between_checkpoints
end

Class Method Details

.jsii_propertiesObject



1119
1120
1121
1122
1123
1124
1125
1126
# File 'kinesis_analyticsv2/cfn_application.rb', line 1119

def self.jsii_properties
  {
    :configuration_type => "configurationType",
    :checkpointing_enabled => "checkpointingEnabled",
    :checkpoint_interval => "checkpointInterval",
    :min_pause_between_checkpoints => "minPauseBetweenCheckpoints",
  }
end

Instance Method Details

#to_jsiiObject



1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
# File 'kinesis_analyticsv2/cfn_application.rb', line 1128

def to_jsii
  result = {}
  result.merge!({
    "configurationType" => @configuration_type,
    "checkpointingEnabled" => @checkpointing_enabled,
    "checkpointInterval" => @checkpoint_interval,
    "minPauseBetweenCheckpoints" => @min_pause_between_checkpoints,
  })
  result.compact
end