/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ServiceDiscovery { namespace Model { /** *

A complex type that contains information about an instance that Cloud Map * creates when you submit a RegisterInstance request.

See * Also:

AWS * API Reference

*/ class Instance { public: AWS_SERVICEDISCOVERY_API Instance(); AWS_SERVICEDISCOVERY_API Instance(Aws::Utils::Json::JsonView jsonValue); AWS_SERVICEDISCOVERY_API Instance& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SERVICEDISCOVERY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

An identifier that you want to associate with the instance. Note the * following:

  • If the service that's specified by * ServiceId includes settings for an SRV record, the * value of InstanceId is automatically included as part of the value * for the SRV record. For more information, see DnsRecord * > Type.

  • You can use this value to update an existing * instance.

  • To register a new instance, you must specify a value * that's unique among instances that you register by using the same service.

    *
  • If you specify an existing InstanceId and * ServiceId, Cloud Map updates the existing DNS records. If there's * also an existing health check, Cloud Map deletes the old health check and * creates a new one.

    The health check isn't deleted immediately, so * it will still appear for a while if you submit a ListHealthChecks * request, for example.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

An identifier that you want to associate with the instance. Note the * following:

  • If the service that's specified by * ServiceId includes settings for an SRV record, the * value of InstanceId is automatically included as part of the value * for the SRV record. For more information, see DnsRecord * > Type.

  • You can use this value to update an existing * instance.

  • To register a new instance, you must specify a value * that's unique among instances that you register by using the same service.

    *
  • If you specify an existing InstanceId and * ServiceId, Cloud Map updates the existing DNS records. If there's * also an existing health check, Cloud Map deletes the old health check and * creates a new one.

    The health check isn't deleted immediately, so * it will still appear for a while if you submit a ListHealthChecks * request, for example.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

An identifier that you want to associate with the instance. Note the * following:

  • If the service that's specified by * ServiceId includes settings for an SRV record, the * value of InstanceId is automatically included as part of the value * for the SRV record. For more information, see DnsRecord * > Type.

  • You can use this value to update an existing * instance.

  • To register a new instance, you must specify a value * that's unique among instances that you register by using the same service.

    *
  • If you specify an existing InstanceId and * ServiceId, Cloud Map updates the existing DNS records. If there's * also an existing health check, Cloud Map deletes the old health check and * creates a new one.

    The health check isn't deleted immediately, so * it will still appear for a while if you submit a ListHealthChecks * request, for example.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

An identifier that you want to associate with the instance. Note the * following:

  • If the service that's specified by * ServiceId includes settings for an SRV record, the * value of InstanceId is automatically included as part of the value * for the SRV record. For more information, see DnsRecord * > Type.

  • You can use this value to update an existing * instance.

  • To register a new instance, you must specify a value * that's unique among instances that you register by using the same service.

    *
  • If you specify an existing InstanceId and * ServiceId, Cloud Map updates the existing DNS records. If there's * also an existing health check, Cloud Map deletes the old health check and * creates a new one.

    The health check isn't deleted immediately, so * it will still appear for a while if you submit a ListHealthChecks * request, for example.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

An identifier that you want to associate with the instance. Note the * following:

  • If the service that's specified by * ServiceId includes settings for an SRV record, the * value of InstanceId is automatically included as part of the value * for the SRV record. For more information, see DnsRecord * > Type.

  • You can use this value to update an existing * instance.

  • To register a new instance, you must specify a value * that's unique among instances that you register by using the same service.

    *
  • If you specify an existing InstanceId and * ServiceId, Cloud Map updates the existing DNS records. If there's * also an existing health check, Cloud Map deletes the old health check and * creates a new one.

    The health check isn't deleted immediately, so * it will still appear for a while if you submit a ListHealthChecks * request, for example.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

An identifier that you want to associate with the instance. Note the * following:

  • If the service that's specified by * ServiceId includes settings for an SRV record, the * value of InstanceId is automatically included as part of the value * for the SRV record. For more information, see DnsRecord * > Type.

  • You can use this value to update an existing * instance.

  • To register a new instance, you must specify a value * that's unique among instances that you register by using the same service.

    *
  • If you specify an existing InstanceId and * ServiceId, Cloud Map updates the existing DNS records. If there's * also an existing health check, Cloud Map deletes the old health check and * creates a new one.

    The health check isn't deleted immediately, so * it will still appear for a while if you submit a ListHealthChecks * request, for example.

*/ inline Instance& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

An identifier that you want to associate with the instance. Note the * following:

  • If the service that's specified by * ServiceId includes settings for an SRV record, the * value of InstanceId is automatically included as part of the value * for the SRV record. For more information, see DnsRecord * > Type.

  • You can use this value to update an existing * instance.

  • To register a new instance, you must specify a value * that's unique among instances that you register by using the same service.

    *
  • If you specify an existing InstanceId and * ServiceId, Cloud Map updates the existing DNS records. If there's * also an existing health check, Cloud Map deletes the old health check and * creates a new one.

    The health check isn't deleted immediately, so * it will still appear for a while if you submit a ListHealthChecks * request, for example.

*/ inline Instance& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

An identifier that you want to associate with the instance. Note the * following:

  • If the service that's specified by * ServiceId includes settings for an SRV record, the * value of InstanceId is automatically included as part of the value * for the SRV record. For more information, see DnsRecord * > Type.

  • You can use this value to update an existing * instance.

  • To register a new instance, you must specify a value * that's unique among instances that you register by using the same service.

    *
  • If you specify an existing InstanceId and * ServiceId, Cloud Map updates the existing DNS records. If there's * also an existing health check, Cloud Map deletes the old health check and * creates a new one.

    The health check isn't deleted immediately, so * it will still appear for a while if you submit a ListHealthChecks * request, for example.

*/ inline Instance& WithId(const char* value) { SetId(value); return *this;} /** *

A unique string that identifies the request and that allows failed * RegisterInstance requests to be retried without the risk of * executing the operation twice. You must use a unique * CreatorRequestId string every time you submit a * RegisterInstance request if you're registering additional instances * for the same namespace and service. CreatorRequestId can be any * unique string (for example, a date/time stamp).

*/ inline const Aws::String& GetCreatorRequestId() const{ return m_creatorRequestId; } /** *

A unique string that identifies the request and that allows failed * RegisterInstance requests to be retried without the risk of * executing the operation twice. You must use a unique * CreatorRequestId string every time you submit a * RegisterInstance request if you're registering additional instances * for the same namespace and service. CreatorRequestId can be any * unique string (for example, a date/time stamp).

*/ inline bool CreatorRequestIdHasBeenSet() const { return m_creatorRequestIdHasBeenSet; } /** *

A unique string that identifies the request and that allows failed * RegisterInstance requests to be retried without the risk of * executing the operation twice. You must use a unique * CreatorRequestId string every time you submit a * RegisterInstance request if you're registering additional instances * for the same namespace and service. CreatorRequestId can be any * unique string (for example, a date/time stamp).

*/ inline void SetCreatorRequestId(const Aws::String& value) { m_creatorRequestIdHasBeenSet = true; m_creatorRequestId = value; } /** *

A unique string that identifies the request and that allows failed * RegisterInstance requests to be retried without the risk of * executing the operation twice. You must use a unique * CreatorRequestId string every time you submit a * RegisterInstance request if you're registering additional instances * for the same namespace and service. CreatorRequestId can be any * unique string (for example, a date/time stamp).

*/ inline void SetCreatorRequestId(Aws::String&& value) { m_creatorRequestIdHasBeenSet = true; m_creatorRequestId = std::move(value); } /** *

A unique string that identifies the request and that allows failed * RegisterInstance requests to be retried without the risk of * executing the operation twice. You must use a unique * CreatorRequestId string every time you submit a * RegisterInstance request if you're registering additional instances * for the same namespace and service. CreatorRequestId can be any * unique string (for example, a date/time stamp).

*/ inline void SetCreatorRequestId(const char* value) { m_creatorRequestIdHasBeenSet = true; m_creatorRequestId.assign(value); } /** *

A unique string that identifies the request and that allows failed * RegisterInstance requests to be retried without the risk of * executing the operation twice. You must use a unique * CreatorRequestId string every time you submit a * RegisterInstance request if you're registering additional instances * for the same namespace and service. CreatorRequestId can be any * unique string (for example, a date/time stamp).

*/ inline Instance& WithCreatorRequestId(const Aws::String& value) { SetCreatorRequestId(value); return *this;} /** *

A unique string that identifies the request and that allows failed * RegisterInstance requests to be retried without the risk of * executing the operation twice. You must use a unique * CreatorRequestId string every time you submit a * RegisterInstance request if you're registering additional instances * for the same namespace and service. CreatorRequestId can be any * unique string (for example, a date/time stamp).

*/ inline Instance& WithCreatorRequestId(Aws::String&& value) { SetCreatorRequestId(std::move(value)); return *this;} /** *

A unique string that identifies the request and that allows failed * RegisterInstance requests to be retried without the risk of * executing the operation twice. You must use a unique * CreatorRequestId string every time you submit a * RegisterInstance request if you're registering additional instances * for the same namespace and service. CreatorRequestId can be any * unique string (for example, a date/time stamp).

*/ inline Instance& WithCreatorRequestId(const char* value) { SetCreatorRequestId(value); return *this;} /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline const Aws::Map& GetAttributes() const{ return m_attributes; } /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline void SetAttributes(const Aws::Map& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline void SetAttributes(Aws::Map&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline Instance& WithAttributes(const Aws::Map& value) { SetAttributes(value); return *this;} /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline Instance& WithAttributes(Aws::Map&& value) { SetAttributes(std::move(value)); return *this;} /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline Instance& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline Instance& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline Instance& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline Instance& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline Instance& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline Instance& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A string map that contains the following information for the service that you * specify in ServiceId:

  • The attributes that apply to * the records that are defined in the service.

  • For each * attribute, the applicable value.

Do not include * sensitive information in the attributes if the namespace is discoverable by * public DNS queries.

Supported attribute keys include the * following:

AWS_ALIAS_DNS_NAME

If you want Cloud Map to * create a Route 53 alias record that routes traffic to an Elastic Load Balancing * load balancer, specify the DNS name that's associated with the load balancer. * For information about how to get the DNS name, see AliasTarget->DNSName * in the Route 53 API Reference.

Note the following:

  • *

    The configuration for the service that's specified by ServiceId * must include settings for an A record, an AAAA record, * or both.

  • In the service that's specified by * ServiceId, the value of RoutingPolicy must be * WEIGHTED.

  • If the service that's specified by * ServiceId includes HealthCheckConfig settings, Cloud * Map creates the health check, but it won't associate the health check with the * alias record.

  • Auto naming currently doesn't support creating * alias records that route traffic to Amazon Web Services resources other than ELB * load balancers.

  • If you specify a value for * AWS_ALIAS_DNS_NAME, don't specify values for any of the * AWS_INSTANCE attributes.

*
AWS_EC2_INSTANCE_ID

HTTP namespaces only. The Amazon * EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 attribute * contains the primary private IPv4 address.

*
AWS_INIT_HEALTH_STATUS

If the service configuration includes * HealthCheckCustomConfig, you can optionally use * AWS_INIT_HEALTH_STATUS to specify the initial status of the custom * health check, HEALTHY or UNHEALTHY. If you don't * specify a value for AWS_INIT_HEALTH_STATUS, the initial status is * HEALTHY.

AWS_INSTANCE_CNAME

If the * service configuration includes a CNAME record, the domain name that * you want Route 53 to return in response to DNS queries (for example, * example.com).

This value is required if the service * specified by ServiceId includes settings for an CNAME * record.

AWS_INSTANCE_IPV4

If the service * configuration includes an A record, the IPv4 address that you want * Route 53 to return in response to DNS queries (for example, * 192.0.2.44).

This value is required if the service specified * by ServiceId includes settings for an A record. If the * service includes settings for an SRV record, you must specify a * value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or * both.

AWS_INSTANCE_IPV6

If the service configuration * includes an AAAA record, the IPv6 address that you want Route 53 to * return in response to DNS queries (for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345).

This value is * required if the service specified by ServiceId includes settings * for an AAAA record. If the service includes settings for an * SRV record, you must specify a value for * AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

*
AWS_INSTANCE_PORT

If the service includes an * SRV record, the value that you want Route 53 to return for the * port.

If the service includes HealthCheckConfig, the port on * the endpoint that you want Route 53 to send requests to.

This value is * required if you specified settings for an SRV record or a Route 53 * health check when you created the service.

*/ inline Instance& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_creatorRequestId; bool m_creatorRequestIdHasBeenSet = false; Aws::Map m_attributes; bool m_attributesHasBeenSet = false; }; } // namespace Model } // namespace ServiceDiscovery } // namespace Aws