Class: AWSCDK::Route53::HealthCheckProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Route53::HealthCheckProps
- Defined in:
- route53/health_check_props.rb
Overview
Properties for a new health check.
Instance Attribute Summary collapse
-
#alarm_identifier ⇒ AWSCDK::Route53::AlarmIdentifier?
readonly
CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.
-
#child_health_checks ⇒ Array<AWSCDK::Route53::IHealthCheck>?
readonly
A list of health checks to monitor for this 'CALCULATED' health check.
-
#enable_sni ⇒ Boolean?
readonly
Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello message during TLS negotiation.
-
#failure_threshold ⇒ Numeric?
readonly
The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.
-
#fqdn ⇒ String?
readonly
Fully qualified domain name of the endpoint to be checked.
-
#health_threshold ⇒ Numeric?
readonly
The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy.
-
#insufficient_data_health_status ⇒ AWSCDK::Route53::InsufficientDataHealthStatusEnum?
readonly
The status of the health check when CloudWatch has insufficient data about the state of associated alarm.
-
#inverted ⇒ Boolean?
readonly
Specify whether you want Amazon Route 53 to invert the status of a health check, so a health check that would normally be considered unhealthy is considered healthy, and vice versa.
-
#ip_address ⇒ String?
readonly
The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on.
-
#measure_latency ⇒ Boolean?
readonly
Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the Health Checks page in the Route 53 console.
-
#port ⇒ Numeric?
readonly
The port on the endpoint that you want Amazon Route 53 to perform health checks on.
-
#regions ⇒ Array<String>?
readonly
An array of region identifiers that you want Amazon Route 53 health checkers to check the health of the endpoint from.
-
#request_interval ⇒ AWSCDK::Duration?
readonly
The duration between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request.
-
#resource_path ⇒ String?
readonly
The path that you want Amazon Route 53 to request when performing health checks.
-
#routing_control ⇒ String?
readonly
The Amazon Resource Name (ARN) of the Route 53 Application Recovery Controller routing control that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.
-
#search_string ⇒ String?
readonly
The string that you want Amazon Route 53 to search for in the response body from the specified resource.
-
#type ⇒ AWSCDK::Route53::HealthCheckType
readonly
The type of health check to be associated with the record.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(type:, alarm_identifier: nil, child_health_checks: nil, enable_sni: nil, failure_threshold: nil, fqdn: nil, health_threshold: nil, insufficient_data_health_status: nil, inverted: nil, ip_address: nil, measure_latency: nil, port: nil, regions: nil, request_interval: nil, resource_path: nil, routing_control: nil, search_string: nil) ⇒ HealthCheckProps
constructor
A new instance of HealthCheckProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(type:, alarm_identifier: nil, child_health_checks: nil, enable_sni: nil, failure_threshold: nil, fqdn: nil, health_threshold: nil, insufficient_data_health_status: nil, inverted: nil, ip_address: nil, measure_latency: nil, port: nil, regions: nil, request_interval: nil, resource_path: nil, routing_control: nil, search_string: nil) ⇒ HealthCheckProps
Returns a new instance of HealthCheckProps.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'route53/health_check_props.rb', line 24 def initialize(type:, alarm_identifier: nil, child_health_checks: nil, enable_sni: nil, failure_threshold: nil, fqdn: nil, health_threshold: nil, insufficient_data_health_status: nil, inverted: nil, ip_address: nil, measure_latency: nil, port: nil, regions: nil, request_interval: nil, resource_path: nil, routing_control: nil, search_string: nil) @type = type Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfcm91dGU1My5IZWFsdGhDaGVja1R5cGUifQ==")), "type") @alarm_identifier = alarm_identifier.is_a?(Hash) ? ::AWSCDK::Route53::AlarmIdentifier.new(**alarm_identifier.transform_keys(&:to_sym)) : alarm_identifier Jsii::Type.check_type(@alarm_identifier, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfcm91dGU1My5BbGFybUlkZW50aWZpZXIifQ==")), "alarmIdentifier") unless @alarm_identifier.nil? @child_health_checks = child_health_checks Jsii::Type.check_type(@child_health_checks, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yb3V0ZTUzLklIZWFsdGhDaGVjayJ9LCJraW5kIjoiYXJyYXkifX0=")), "childHealthChecks") unless @child_health_checks.nil? @enable_sni = enable_sni Jsii::Type.check_type(@enable_sni, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enableSNI") unless @enable_sni.nil? @failure_threshold = failure_threshold Jsii::Type.check_type(@failure_threshold, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "failureThreshold") unless @failure_threshold.nil? @fqdn = fqdn Jsii::Type.check_type(@fqdn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fqdn") unless @fqdn.nil? @health_threshold = health_threshold Jsii::Type.check_type(@health_threshold, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "healthThreshold") unless @health_threshold.nil? @insufficient_data_health_status = insufficient_data_health_status Jsii::Type.check_type(@insufficient_data_health_status, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfcm91dGU1My5JbnN1ZmZpY2llbnREYXRhSGVhbHRoU3RhdHVzRW51bSJ9")), "insufficientDataHealthStatus") unless @insufficient_data_health_status.nil? @inverted = inverted Jsii::Type.check_type(@inverted, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "inverted") unless @inverted.nil? @ip_address = ip_address Jsii::Type.check_type(@ip_address, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipAddress") unless @ip_address.nil? @measure_latency = measure_latency Jsii::Type.check_type(@measure_latency, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "measureLatency") unless @measure_latency.nil? @port = port Jsii::Type.check_type(@port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless @port.nil? @regions = regions Jsii::Type.check_type(@regions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "regions") unless @regions.nil? @request_interval = request_interval Jsii::Type.check_type(@request_interval, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "requestInterval") unless @request_interval.nil? @resource_path = resource_path Jsii::Type.check_type(@resource_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourcePath") unless @resource_path.nil? @routing_control = routing_control Jsii::Type.check_type(@routing_control, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "routingControl") unless @routing_control.nil? @search_string = search_string Jsii::Type.check_type(@search_string, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "searchString") unless @search_string.nil? end |
Instance Attribute Details
#alarm_identifier ⇒ AWSCDK::Route53::AlarmIdentifier? (readonly)
Default: - if the type is CLOUDWATCH_METRIC, this property is required. Otherwise, it is not configured.
CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.
69 70 71 |
# File 'route53/health_check_props.rb', line 69 def alarm_identifier @alarm_identifier end |
#child_health_checks ⇒ Array<AWSCDK::Route53::IHealthCheck>? (readonly)
Default: - if the type is CALCULATED, this property is required. Otherwise, it is not configured.
A list of health checks to monitor for this 'CALCULATED' health check.
74 75 76 |
# File 'route53/health_check_props.rb', line 74 def child_health_checks @child_health_checks end |
#enable_sni ⇒ Boolean? (readonly)
Default: - if the type is HTTPS or HTTPS_STR_MATCH, this property default value is true. Otherwise, it is not configured.
Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello message during TLS negotiation.
This allows the endpoint to respond to HTTPS health check requests with the applicable SSL/TLS certificate.
81 82 83 |
# File 'route53/health_check_props.rb', line 81 def enable_sni @enable_sni end |
#failure_threshold ⇒ Numeric? (readonly)
Default: - if the type is CALCULATED it's not configured - if the type is CLOUDWATCH_METRIC it's not configured - otherwise, the default value is 3.
The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.
86 87 88 |
# File 'route53/health_check_props.rb', line 86 def failure_threshold @failure_threshold end |
#fqdn ⇒ String? (readonly)
Default: - not configured
Fully qualified domain name of the endpoint to be checked.
Amazon Route 53 behavior depends on whether you specify a value for IPAddress.
If you specify a value for IPAddress:
Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks. Note: If you specify a value for Port property other than 80 or 443, Route 53 will construct the value for Host header as FullyQualifiedDomainName:Port.
If you don't specify a value for IPAddress:
Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.
Additionally, if the type of the health check is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify value for IPAddress. If the type is TCP, Route 53 doesn't pass a Host header.
104 105 106 |
# File 'route53/health_check_props.rb', line 104 def fqdn @fqdn end |
#health_threshold ⇒ Numeric? (readonly)
Default: - if the type is CALCULATED, the default value is number of child health checks. Otherwise, it is not configured.
The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy.
109 110 111 |
# File 'route53/health_check_props.rb', line 109 def health_threshold @health_threshold end |
#insufficient_data_health_status ⇒ AWSCDK::Route53::InsufficientDataHealthStatusEnum? (readonly)
Default: - if the type is CLOUDWATCH_METRIC, the default value is InsufficientDataHealthStatus.LAST_KNOWN_STATUS. Otherwise, it is not configured.
The status of the health check when CloudWatch has insufficient data about the state of associated alarm.
114 115 116 |
# File 'route53/health_check_props.rb', line 114 def insufficient_data_health_status @insufficient_data_health_status end |
#inverted ⇒ Boolean? (readonly)
Default: false
Specify whether you want Amazon Route 53 to invert the status of a health check, so a health check that would normally be considered unhealthy is considered healthy, and vice versa.
119 120 121 |
# File 'route53/health_check_props.rb', line 119 def inverted @inverted end |
#ip_address ⇒ String? (readonly)
Default: - not configured
The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on.
If you don't specify a value for IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.
126 127 128 |
# File 'route53/health_check_props.rb', line 126 def ip_address @ip_address end |
#measure_latency ⇒ Boolean? (readonly)
Default: - if the type is CALCULATED it's not configured - if the type is CLOUDWATCH_METRIC it's not configured - otherwise, the default value is false.
Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the Health Checks page in the Route 53 console.
131 132 133 |
# File 'route53/health_check_props.rb', line 131 def measure_latency @measure_latency end |
#port ⇒ Numeric? (readonly)
Default: - if the type is HTTP or HTTP_STR_MATCH, the default value is 80. - if the type is HTTPS or HTTPS_STR_MATCH, the default value is 443. - otherwise, it is not configured.
The port on the endpoint that you want Amazon Route 53 to perform health checks on.
136 137 138 |
# File 'route53/health_check_props.rb', line 136 def port @port end |
#regions ⇒ Array<String>? (readonly)
Default: - if the type is CALCULATED, CLOUDWATCH_METRIC, or RECOVERY_CONTROL, this property is not configured. - otherwise, the default value will be set by CloudFormation itself and will include all valid regions. Please refer to the CloudFormation documentation for the most up-to-date list of regions.
An array of region identifiers that you want Amazon Route 53 health checkers to check the health of the endpoint from.
Please refer to the CloudFormation documentation for the most up-to-date list of regions.
144 145 146 |
# File 'route53/health_check_props.rb', line 144 def regions @regions end |
#request_interval ⇒ AWSCDK::Duration? (readonly)
Default: - if the type is CALCULATED it's not configured - if the type is CLOUDWATCH_METRIC it's not configured - otherwise, the default value is 30 seconds.
The duration between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request.
Each Route 53 health checker makes requests at this interval.
151 152 153 |
# File 'route53/health_check_props.rb', line 151 def request_interval @request_interval end |
#resource_path ⇒ String? (readonly)
Default: - if the type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, the default value is empty string. - otherwise, it is not configured.
The path that you want Amazon Route 53 to request when performing health checks.
The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example the file /docs/route53-health-check.html. Route 53 automatically adds the DNS name for the service and a leading forward slash (/) character.
158 159 160 |
# File 'route53/health_check_props.rb', line 158 def resource_path @resource_path end |
#routing_control ⇒ String? (readonly)
Default: - if the type is RECOVERY_CONTROL, this property is required. Otherwise, it is not configured.
The Amazon Resource Name (ARN) of the Route 53 Application Recovery Controller routing control that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.
163 164 165 |
# File 'route53/health_check_props.rb', line 163 def routing_control @routing_control end |
#search_string ⇒ String? (readonly)
Default: - if the type is HTTP_STR_MATCH or HTTPS_STR_MATCH, this property is required. Otherwise, it is not configured.
The string that you want Amazon Route 53 to search for in the response body from the specified resource.
If the string appears in the response body, Route 53 considers the resource healthy.
Route 53 considers case when searching for SearchString in the response body.
172 173 174 |
# File 'route53/health_check_props.rb', line 172 def search_string @search_string end |
#type ⇒ AWSCDK::Route53::HealthCheckType (readonly)
The type of health check to be associated with the record.
64 65 66 |
# File 'route53/health_check_props.rb', line 64 def type @type end |
Class Method Details
.jsii_properties ⇒ Object
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
# File 'route53/health_check_props.rb', line 174 def self.jsii_properties { :type => "type", :alarm_identifier => "alarmIdentifier", :child_health_checks => "childHealthChecks", :enable_sni => "enableSNI", :failure_threshold => "failureThreshold", :fqdn => "fqdn", :health_threshold => "healthThreshold", :insufficient_data_health_status => "insufficientDataHealthStatus", :inverted => "inverted", :ip_address => "ipAddress", :measure_latency => "measureLatency", :port => "port", :regions => "regions", :request_interval => "requestInterval", :resource_path => "resourcePath", :routing_control => "routingControl", :search_string => "searchString", } end |
Instance Method Details
#to_jsii ⇒ Object
196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 |
# File 'route53/health_check_props.rb', line 196 def to_jsii result = {} result.merge!({ "type" => @type, "alarmIdentifier" => @alarm_identifier, "childHealthChecks" => @child_health_checks, "enableSNI" => @enable_sni, "failureThreshold" => @failure_threshold, "fqdn" => @fqdn, "healthThreshold" => @health_threshold, "insufficientDataHealthStatus" => @insufficient_data_health_status, "inverted" => @inverted, "ipAddress" => @ip_address, "measureLatency" => @measure_latency, "port" => @port, "regions" => @regions, "requestInterval" => @request_interval, "resourcePath" => @resource_path, "routingControl" => @routing_control, "searchString" => @search_string, }) result.compact end |