Class: AWSCDK::SNS::HealthyRetryPolicy

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
sns/healthy_retry_policy.rb

Overview

Options for customising the retry policy of the delivery of SNS messages to HTTP/S endpoints.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(backoff_function: nil, max_delay_target: nil, min_delay_target: nil, num_max_delay_retries: nil, num_min_delay_retries: nil, num_no_delay_retries: nil, num_retries: nil) ⇒ HealthyRetryPolicy

Returns a new instance of HealthyRetryPolicy.

Parameters:

  • backoff_function (AWSCDK::SNS::BackoffFunction, nil) (defaults to: nil)

    The model for backoff between retries.

  • max_delay_target (AWSCDK::Duration, nil) (defaults to: nil)

    The maximum delay for a retry.

  • min_delay_target (AWSCDK::Duration, nil) (defaults to: nil)

    The minimum delay for a retry.

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

    The number of retries in the post-backoff phase, with the maximum delay between them.

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

    The number of retries in the pre-backoff phase, with the specified minimum delay between them.

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

    The number of retries to be done immediately, with no delay between them.

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

    The total number of retries, including immediate, pre-backoff, backoff, and post-backoff retries.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'sns/healthy_retry_policy.rb', line 14

def initialize(backoff_function: nil, max_delay_target: nil, min_delay_target: nil, num_max_delay_retries: nil, num_min_delay_retries: nil, num_no_delay_retries: nil, num_retries: nil)
  @backoff_function = backoff_function
  Jsii::Type.check_type(@backoff_function, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc25zLkJhY2tvZmZGdW5jdGlvbiJ9")), "backoffFunction") unless @backoff_function.nil?
  @max_delay_target = max_delay_target
  Jsii::Type.check_type(@max_delay_target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "maxDelayTarget") unless @max_delay_target.nil?
  @min_delay_target = min_delay_target
  Jsii::Type.check_type(@min_delay_target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "minDelayTarget") unless @min_delay_target.nil?
  @num_max_delay_retries = num_max_delay_retries
  Jsii::Type.check_type(@num_max_delay_retries, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numMaxDelayRetries") unless @num_max_delay_retries.nil?
  @num_min_delay_retries = num_min_delay_retries
  Jsii::Type.check_type(@num_min_delay_retries, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numMinDelayRetries") unless @num_min_delay_retries.nil?
  @num_no_delay_retries = num_no_delay_retries
  Jsii::Type.check_type(@num_no_delay_retries, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numNoDelayRetries") unless @num_no_delay_retries.nil?
  @num_retries = num_retries
  Jsii::Type.check_type(@num_retries, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numRetries") unless @num_retries.nil?
end

Instance Attribute Details

#backoff_functionAWSCDK::SNS::BackoffFunction? (readonly)

Note:

Default: - linear

The model for backoff between retries.



35
36
37
# File 'sns/healthy_retry_policy.rb', line 35

def backoff_function
  @backoff_function
end

#max_delay_targetAWSCDK::Duration? (readonly)

Note:

Default: - 20 seconds

The maximum delay for a retry.

Must be at least min_delay_target less than 3,600 seconds, and correspond to a whole number of seconds,

Returns:



42
43
44
# File 'sns/healthy_retry_policy.rb', line 42

def max_delay_target
  @max_delay_target
end

#min_delay_targetAWSCDK::Duration? (readonly)

Note:

Default: - 20 seconds

The minimum delay for a retry.

Must be at least one second, not exceed max_delay_target, and correspond to a whole number of seconds.

Returns:



49
50
51
# File 'sns/healthy_retry_policy.rb', line 49

def min_delay_target
  @min_delay_target
end

#num_max_delay_retriesNumeric? (readonly)

Note:

Default: 0

The number of retries in the post-backoff phase, with the maximum delay between them.

Must be zero or greater

Returns:

  • (Numeric, nil)


56
57
58
# File 'sns/healthy_retry_policy.rb', line 56

def num_max_delay_retries
  @num_max_delay_retries
end

#num_min_delay_retriesNumeric? (readonly)

Note:

Default: 0

The number of retries in the pre-backoff phase, with the specified minimum delay between them.

Must be zero or greater

Returns:

  • (Numeric, nil)


63
64
65
# File 'sns/healthy_retry_policy.rb', line 63

def num_min_delay_retries
  @num_min_delay_retries
end

#num_no_delay_retriesNumeric? (readonly)

Note:

Default: 0

The number of retries to be done immediately, with no delay between them.

Must be zero or greater.

Returns:

  • (Numeric, nil)


70
71
72
# File 'sns/healthy_retry_policy.rb', line 70

def num_no_delay_retries
  @num_no_delay_retries
end

#num_retriesNumeric? (readonly)

Note:

Default: 3

The total number of retries, including immediate, pre-backoff, backoff, and post-backoff retries.

Must be greater than or equal to zero and not exceed 100.

Returns:

  • (Numeric, nil)


77
78
79
# File 'sns/healthy_retry_policy.rb', line 77

def num_retries
  @num_retries
end

Class Method Details

.jsii_propertiesObject



79
80
81
82
83
84
85
86
87
88
89
# File 'sns/healthy_retry_policy.rb', line 79

def self.jsii_properties
  {
    :backoff_function => "backoffFunction",
    :max_delay_target => "maxDelayTarget",
    :min_delay_target => "minDelayTarget",
    :num_max_delay_retries => "numMaxDelayRetries",
    :num_min_delay_retries => "numMinDelayRetries",
    :num_no_delay_retries => "numNoDelayRetries",
    :num_retries => "numRetries",
  }
end

Instance Method Details

#to_jsiiObject



91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'sns/healthy_retry_policy.rb', line 91

def to_jsii
  result = {}
  result.merge!({
    "backoffFunction" => @backoff_function,
    "maxDelayTarget" => @max_delay_target,
    "minDelayTarget" => @min_delay_target,
    "numMaxDelayRetries" => @num_max_delay_retries,
    "numMinDelayRetries" => @num_min_delay_retries,
    "numNoDelayRetries" => @num_no_delay_retries,
    "numRetries" => @num_retries,
  })
  result.compact
end