Class: AWSCDK::AppMesh::CfnVirtualNode::OutlierDetectionProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::AppMesh::CfnVirtualNode::OutlierDetectionProperty
- Defined in:
- app_mesh/cfn_virtual_node.rb
Overview
An object that represents the outlier detection for a virtual node's listener.
Instance Attribute Summary collapse
-
#base_ejection_duration ⇒ AWSCDK::IResolvable, AWSCDK::AppMesh::CfnVirtualNode::DurationProperty
readonly
The base amount of time for which a host is ejected.
-
#interval ⇒ AWSCDK::IResolvable, AWSCDK::AppMesh::CfnVirtualNode::DurationProperty
readonly
The time interval between ejection sweep analysis.
-
#max_ejection_percent ⇒ Numeric
readonly
Maximum percentage of hosts in load balancing pool for upstream service that can be ejected.
-
#max_server_errors ⇒ Numeric
readonly
Number of consecutive
5xxerrors required for ejection.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(base_ejection_duration:, interval:, max_ejection_percent:, max_server_errors:) ⇒ OutlierDetectionProperty
constructor
A new instance of OutlierDetectionProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(base_ejection_duration:, interval:, max_ejection_percent:, max_server_errors:) ⇒ OutlierDetectionProperty
Returns a new instance of OutlierDetectionProperty.
1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 |
# File 'app_mesh/cfn_virtual_node.rb', line 1909 def initialize(base_ejection_duration:, interval:, max_ejection_percent:, max_server_errors:) @base_ejection_duration = base_ejection_duration.is_a?(Hash) ? ::AWSCDK::AppMesh::CfnVirtualNode::DurationProperty.new(**base_ejection_duration.transform_keys(&:to_sym)) : base_ejection_duration Jsii::Type.check_type(@base_ejection_duration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBtZXNoLkNmblZpcnR1YWxOb2RlLkR1cmF0aW9uUHJvcGVydHkifV19fQ==")), "baseEjectionDuration") @interval = interval.is_a?(Hash) ? ::AWSCDK::AppMesh::CfnVirtualNode::DurationProperty.new(**interval.transform_keys(&:to_sym)) : interval Jsii::Type.check_type(@interval, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBtZXNoLkNmblZpcnR1YWxOb2RlLkR1cmF0aW9uUHJvcGVydHkifV19fQ==")), "interval") @max_ejection_percent = max_ejection_percent Jsii::Type.check_type(@max_ejection_percent, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxEjectionPercent") @max_server_errors = max_server_errors Jsii::Type.check_type(@max_server_errors, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxServerErrors") end |
Instance Attribute Details
#base_ejection_duration ⇒ AWSCDK::IResolvable, AWSCDK::AppMesh::CfnVirtualNode::DurationProperty (readonly)
The base amount of time for which a host is ejected.
1924 1925 1926 |
# File 'app_mesh/cfn_virtual_node.rb', line 1924 def base_ejection_duration @base_ejection_duration end |
#interval ⇒ AWSCDK::IResolvable, AWSCDK::AppMesh::CfnVirtualNode::DurationProperty (readonly)
The time interval between ejection sweep analysis.
1929 1930 1931 |
# File 'app_mesh/cfn_virtual_node.rb', line 1929 def interval @interval end |
#max_ejection_percent ⇒ Numeric (readonly)
Maximum percentage of hosts in load balancing pool for upstream service that can be ejected.
Will eject at least one host regardless of the value.
1936 1937 1938 |
# File 'app_mesh/cfn_virtual_node.rb', line 1936 def max_ejection_percent @max_ejection_percent end |
#max_server_errors ⇒ Numeric (readonly)
Number of consecutive 5xx errors required for ejection.
1941 1942 1943 |
# File 'app_mesh/cfn_virtual_node.rb', line 1941 def max_server_errors @max_server_errors end |
Class Method Details
.jsii_properties ⇒ Object
1943 1944 1945 1946 1947 1948 1949 1950 |
# File 'app_mesh/cfn_virtual_node.rb', line 1943 def self.jsii_properties { :base_ejection_duration => "baseEjectionDuration", :interval => "interval", :max_ejection_percent => "maxEjectionPercent", :max_server_errors => "maxServerErrors", } end |
Instance Method Details
#to_jsii ⇒ Object
1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 |
# File 'app_mesh/cfn_virtual_node.rb', line 1952 def to_jsii result = {} result.merge!({ "baseEjectionDuration" => @base_ejection_duration, "interval" => @interval, "maxEjectionPercent" => @max_ejection_percent, "maxServerErrors" => @max_server_errors, }) result.compact end |