Class: Aws::ServiceDiscovery::Types::ServiceChange

Inherits:
Struct
  • Object
show all
Includes:
Aws::Structure
Defined in:
lib/aws-sdk-servicediscovery/types.rb

Overview

Note:

When making an API call, you may pass ServiceChange data as a hash:

{
  description: "ResourceDescription",
  dns_config: { # required
    dns_records: [ # required
      {
        type: "SRV", # required, accepts SRV, A, AAAA, CNAME
        ttl: 1, # required
      },
    ],
  },
  health_check_config: {
    type: "HTTP", # required, accepts HTTP, HTTPS, TCP
    resource_path: "ResourcePath",
    failure_threshold: 1,
  },
}

A complex type that contains changes to an existing service.

Instance Attribute Summary collapse

Instance Attribute Details

#descriptionString

A description for the service.

Returns:

  • (String)


2407
2408
2409
2410
2411
2412
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2407

class ServiceChange < Struct.new(
  :description,
  :dns_config,
  :health_check_config)
  include Aws::Structure
end

#dns_configTypes::DnsConfigChange

A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you register an instance.



2407
2408
2409
2410
2411
2412
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2407

class ServiceChange < Struct.new(
  :description,
  :dns_config,
  :health_check_config)
  include Aws::Structure
end

#health_check_configTypes::HealthCheckConfig

*Public DNS namespaces only.* A complex type that contains settings for an optional health check. If you specify settings for a health check, AWS Cloud Map associates the health check with the records that you specify in ‘DnsConfig`.

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

Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for health checks, see [Amazon Route 53 Pricing].

Note the following about configuring health checks.

**A and AAAA records**

If ‘DnsConfig` includes configurations for both A and AAAA records, AWS Cloud Map creates a health check that uses the IPv4 address to check the health of the resource. If the endpoint that is specified by the IPv4 address is unhealthy, Route 53 considers both the A and AAAA records to be unhealthy.

**CNAME records**

You can’t specify settings for ‘HealthCheckConfig` when the `DNSConfig` includes `CNAME` for the value of `Type`. If you do, the `CreateService` request will fail with an `InvalidInput` error.

**Request interval**

A Route 53 health checker in each health-checking region sends a health check request to an endpoint every 30 seconds. On average, your endpoint receives a health check request about every two seconds. However, health checkers don’t coordinate with one another, so you’ll sometimes see several requests per second followed by a few seconds with no health checks at all.

**Health checking regions**

Health checkers perform checks from all Route 53 health-checking regions. For a list of the current regions, see [Regions].

**Alias records**

When you register an instance, if you include the ‘AWS_ALIAS_DNS_NAME` attribute, AWS Cloud Map creates a Route 53 alias record. Note the following:

  • Route 53 automatically sets ‘EvaluateTargetHealth` to true for alias records. When `EvaluateTargetHealth` is true, the alias record inherits the health of the referenced AWS resource. such as an ELB load balancer. For more information, see [EvaluateTargetHealth].

  • If you include ‘HealthCheckConfig` and then use the service to register an instance that creates an alias record, Route 53 doesn’t create the health check.

**Charges for health checks**

Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for health checks, see [Amazon Route 53 Pricing].

[1]: aws.amazon.com/route53/pricing/ [2]: docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions [3]: docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth



2407
2408
2409
2410
2411
2412
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2407

class ServiceChange < Struct.new(
  :description,
  :dns_config,
  :health_check_config)
  include Aws::Structure
end