/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace ServiceDiscovery { namespace Model { /** */ class RegisterInstanceRequest : public ServiceDiscoveryRequest { public: AWS_SERVICEDISCOVERY_API RegisterInstanceRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "RegisterInstance"; } AWS_SERVICEDISCOVERY_API Aws::String SerializePayload() const override; AWS_SERVICEDISCOVERY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ID of the service that you want to use for settings for the instance.

*/ inline const Aws::String& GetServiceId() const{ return m_serviceId; } /** *

The ID of the service that you want to use for settings for the instance.

*/ inline bool ServiceIdHasBeenSet() const { return m_serviceIdHasBeenSet; } /** *

The ID of the service that you want to use for settings for the instance.

*/ inline void SetServiceId(const Aws::String& value) { m_serviceIdHasBeenSet = true; m_serviceId = value; } /** *

The ID of the service that you want to use for settings for the instance.

*/ inline void SetServiceId(Aws::String&& value) { m_serviceIdHasBeenSet = true; m_serviceId = std::move(value); } /** *

The ID of the service that you want to use for settings for the instance.

*/ inline void SetServiceId(const char* value) { m_serviceIdHasBeenSet = true; m_serviceId.assign(value); } /** *

The ID of the service that you want to use for settings for the instance.

*/ inline RegisterInstanceRequest& WithServiceId(const Aws::String& value) { SetServiceId(value); return *this;} /** *

The ID of the service that you want to use for settings for the instance.

*/ inline RegisterInstanceRequest& WithServiceId(Aws::String&& value) { SetServiceId(std::move(value)); return *this;} /** *

The ID of the service that you want to use for settings for the instance.

*/ inline RegisterInstanceRequest& WithServiceId(const char* value) { SetServiceId(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 any. 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.

*

Do not include sensitive information in InstanceId if the * namespace is discoverable by public DNS queries and any Type member * of DnsRecord for the service contains SRV because the * InstanceId is discoverable by public DNS queries.

*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *

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 any. 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.

*

Do not include sensitive information in InstanceId if the * namespace is discoverable by public DNS queries and any Type member * of DnsRecord for the service contains SRV because the * InstanceId is discoverable by public DNS queries.

*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *

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 any. 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.

*

Do not include sensitive information in InstanceId if the * namespace is discoverable by public DNS queries and any Type member * of DnsRecord for the service contains SRV because the * InstanceId is discoverable by public DNS queries.

*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = 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 any. 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.

*

Do not include sensitive information in InstanceId if the * namespace is discoverable by public DNS queries and any Type member * of DnsRecord for the service contains SRV because the * InstanceId is discoverable by public DNS queries.

*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = 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 any. 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.

*

Do not include sensitive information in InstanceId if the * namespace is discoverable by public DNS queries and any Type member * of DnsRecord for the service contains SRV because the * InstanceId is discoverable by public DNS queries.

*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.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 any. 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.

*

Do not include sensitive information in InstanceId if the * namespace is discoverable by public DNS queries and any Type member * of DnsRecord for the service contains SRV because the * InstanceId is discoverable by public DNS queries.

*/ inline RegisterInstanceRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(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 any. 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.

*

Do not include sensitive information in InstanceId if the * namespace is discoverable by public DNS queries and any Type member * of DnsRecord for the service contains SRV because the * InstanceId is discoverable by public DNS queries.

*/ inline RegisterInstanceRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(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 any. 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.

*

Do not include sensitive information in InstanceId if the * namespace is discoverable by public DNS queries and any Type member * of DnsRecord for the service contains SRV because the * InstanceId is discoverable by public DNS queries.

*/ inline RegisterInstanceRequest& WithInstanceId(const char* value) { SetInstanceId(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 RegisterInstanceRequest& 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 RegisterInstanceRequest& 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 RegisterInstanceRequest& 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ inline RegisterInstanceRequest& 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ inline RegisterInstanceRequest& 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ inline RegisterInstanceRequest& 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ inline RegisterInstanceRequest& 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ inline RegisterInstanceRequest& 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ inline RegisterInstanceRequest& 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ inline RegisterInstanceRequest& 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

*
*/ inline RegisterInstanceRequest& 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 an Amazon 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 "DNSName" in the * topic AliasTarget * 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 will create the Route 53 health check, but it doesn'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 Elastic Load Balancing 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. If the AWS_EC2_INSTANCE_ID * attribute is specified, then the only other attribute that can be specified is * AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID * attribute is specified, then the AWS_INSTANCE_IPV4 attribute will * be filled out with 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.

Custom attributes
*

You can add up to 30 custom attributes. For each key-value pair, the * maximum length of the attribute name is 255 characters, and the maximum length * of the attribute value is 1,024 characters. The total size of all provided * attributes (sum of all keys and values) must not exceed 5,000 characters.

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