Class: AWSCDK::ServiceDiscovery::CfnService::HealthCheckCustomConfigProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
service_discovery/cfn_service.rb

Overview

A complex type that contains information about an optional custom health check.

A custom health check, which requires that you use a third-party health checker to evaluate the health of your resources, is useful in the following circumstances:

  • You can't use a health check that's defined by HealthCheckConfig because the resource isn't available over the internet. For example, you can use a custom health check when the instance is in an Amazon VPC. (To check the health of resources in a VPC, the health checker must also be in the VPC.)
  • You want to use a third-party health checker regardless of where your resources are located.

If you specify a health check configuration, you can specify either HealthCheckCustomConfig or HealthCheckConfig but not both.

To change the status of a custom health check, submit an UpdateInstanceCustomHealthStatus request. AWS Cloud Map doesn't monitor the status of the resource, it just keeps a record of the status specified in the most recent UpdateInstanceCustomHealthStatus request.

Here's how custom health checks work:

  • You create a service.
  • You register an instance.
  • You configure a third-party health checker to monitor the resource that's associated with the new instance.

AWS Cloud Map doesn't check the health of the resource directly.

  • The third-party health-checker determines that the resource is unhealthy and notifies your application.
  • Your application submits an UpdateInstanceCustomHealthStatus request.
  • AWS Cloud Map waits for 30 seconds.
  • If another UpdateInstanceCustomHealthStatus request doesn't arrive during that time to change the status back to healthy, AWS Cloud Map stops routing traffic to the resource.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(failure_threshold: nil) ⇒ HealthCheckCustomConfigProperty

Returns a new instance of HealthCheckCustomConfigProperty.

Parameters:

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

    This parameter is no longer supported and is always set to 1.



938
939
940
941
# File 'service_discovery/cfn_service.rb', line 938

def initialize(failure_threshold: nil)
  @failure_threshold = failure_threshold
  Jsii::Type.check_type(@failure_threshold, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "failureThreshold") unless @failure_threshold.nil?
end

Instance Attribute Details

#failure_thresholdNumeric? (readonly)

This parameter is no longer supported and is always set to 1.

AWS Cloud Map waits for approximately 30 seconds after receiving an UpdateInstanceCustomHealthStatus request before changing the status of the service instance.

The number of 30-second intervals that you want AWS Cloud Map to wait after receiving an UpdateInstanceCustomHealthStatus request before it changes the health status of a service instance.

Sending a second or subsequent UpdateInstanceCustomHealthStatus request with the same value before 30 seconds has passed doesn't accelerate the change. AWS Cloud Map still waits 30 seconds after the first request to make the change.



953
954
955
# File 'service_discovery/cfn_service.rb', line 953

def failure_threshold
  @failure_threshold
end

Class Method Details

.jsii_propertiesObject



955
956
957
958
959
# File 'service_discovery/cfn_service.rb', line 955

def self.jsii_properties
  {
    :failure_threshold => "failureThreshold",
  }
end

Instance Method Details

#to_jsiiObject



961
962
963
964
965
966
967
# File 'service_discovery/cfn_service.rb', line 961

def to_jsii
  result = {}
  result.merge!({
    "failureThreshold" => @failure_threshold,
  })
  result.compact
end