/** * 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 the instances that you * registered by using a specified service.

See Also:

AWS * API Reference

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

The ID for an instance that you created by using a specified service.

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

The ID for an instance that you created by using a specified service.

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

The ID for an instance that you created by using a specified service.

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

The ID for an instance that you created by using a specified service.

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

The ID for an instance that you created by using a specified service.

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

The ID for an instance that you created by using a specified service.

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

The ID for an instance that you created by using a specified service.

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

The ID for an instance that you created by using a specified service.

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

A string map that contains the following information:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

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

A string map that contains the following information:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

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

A string map that contains the following information:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

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

A string map that contains the following information:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

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

A string map that contains the following information:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

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

A string map that contains the following information:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

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

A string map that contains the following information:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

*/ inline InstanceSummary& 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:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

*/ inline InstanceSummary& 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:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

*/ inline InstanceSummary& 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:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

*/ inline InstanceSummary& 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:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

*/ inline InstanceSummary& 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:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

*/ inline InstanceSummary& 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:

  • The * attributes that are associate with the instance.

  • For each * attribute, the applicable value.

Supported attribute keys * include the following:

  • AWS_ALIAS_DNS_NAME: For an * alias record that routes traffic to an Elastic Load Balancing load balancer, the * DNS name that is associated with the load balancer.

  • * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance * ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is * specified, then the AWS_INSTANCE_IPV4 attribute contains the * primary private IPv4 address.

  • * AWS_INSTANCE_CNAME: For a CNAME record, the domain * name that Route 53 returns in response to DNS queries, for example, * example.com.

  • AWS_INSTANCE_IPV4: For * an A record, the IPv4 address that Route 53 returns in response to * DNS queries, for example, 192.0.2.44.

  • * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 * address that Route 53 returns in response to DNS queries, for example, * 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • * AWS_INSTANCE_PORT: For an SRV record, the value that * Route 53 returns for the port. In addition, if the service includes * HealthCheckConfig, the port on the endpoint that Route 53 sends * requests to.

*/ inline InstanceSummary& 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; Aws::Map m_attributes; bool m_attributesHasBeenSet; }; } // namespace Model } // namespace ServiceDiscovery } // namespace Aws