Class: AWSCDK::SNS::HealthyRetryPolicy
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::SNS::HealthyRetryPolicy
- 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
-
#backoff_function ⇒ AWSCDK::SNS::BackoffFunction?
readonly
The model for backoff between retries.
-
#max_delay_target ⇒ AWSCDK::Duration?
readonly
The maximum delay for a retry.
-
#min_delay_target ⇒ AWSCDK::Duration?
readonly
The minimum delay for a retry.
-
#num_max_delay_retries ⇒ Numeric?
readonly
The number of retries in the post-backoff phase, with the maximum delay between them.
-
#num_min_delay_retries ⇒ Numeric?
readonly
The number of retries in the pre-backoff phase, with the specified minimum delay between them.
-
#num_no_delay_retries ⇒ Numeric?
readonly
The number of retries to be done immediately, with no delay between them.
-
#num_retries ⇒ Numeric?
readonly
The total number of retries, including immediate, pre-backoff, backoff, and post-backoff retries.
Class Method Summary collapse
Instance Method Summary collapse
-
#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
constructor
A new instance of HealthyRetryPolicy.
- #to_jsii ⇒ Object
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.
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_function ⇒ AWSCDK::SNS::BackoffFunction? (readonly)
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_target ⇒ AWSCDK::Duration? (readonly)
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,
42 43 44 |
# File 'sns/healthy_retry_policy.rb', line 42 def max_delay_target @max_delay_target end |
#min_delay_target ⇒ AWSCDK::Duration? (readonly)
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.
49 50 51 |
# File 'sns/healthy_retry_policy.rb', line 49 def min_delay_target @min_delay_target end |
#num_max_delay_retries ⇒ Numeric? (readonly)
Default: 0
The number of retries in the post-backoff phase, with the maximum delay between them.
Must be zero or greater
56 57 58 |
# File 'sns/healthy_retry_policy.rb', line 56 def num_max_delay_retries @num_max_delay_retries end |
#num_min_delay_retries ⇒ Numeric? (readonly)
Default: 0
The number of retries in the pre-backoff phase, with the specified minimum delay between them.
Must be zero or greater
63 64 65 |
# File 'sns/healthy_retry_policy.rb', line 63 def num_min_delay_retries @num_min_delay_retries end |
#num_no_delay_retries ⇒ Numeric? (readonly)
Default: 0
The number of retries to be done immediately, with no delay between them.
Must be zero or greater.
70 71 72 |
# File 'sns/healthy_retry_policy.rb', line 70 def num_no_delay_retries @num_no_delay_retries end |
#num_retries ⇒ Numeric? (readonly)
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.
77 78 79 |
# File 'sns/healthy_retry_policy.rb', line 77 def num_retries @num_retries end |
Class Method Details
.jsii_properties ⇒ Object
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_jsii ⇒ Object
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 |