/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #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 a specified * service.

See Also:

AWS * API Reference

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

The ID that Cloud Map assigned to the service when you created it.

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

The ID that Cloud Map assigned to the service when you created it.

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

The ID that Cloud Map assigned to the service when you created it.

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

The ID that Cloud Map assigned to the service when you created it.

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

The ID that Cloud Map assigned to the service when you created it.

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

The ID that Cloud Map assigned to the service when you created it.

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

The ID that Cloud Map assigned to the service when you created it.

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

The ID that Cloud Map assigned to the service when you created it.

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

The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you * create it.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you * create it.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you * create it.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you * create it.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you * create it.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you * create it.

*/ inline ServiceSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you * create it.

*/ inline ServiceSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you * create it.

*/ inline ServiceSummary& WithArn(const char* value) { SetArn(value); return *this;} /** *

The name of the service.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the service.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the service.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the service.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the service.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the service.

*/ inline ServiceSummary& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the service.

*/ inline ServiceSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the service.

*/ inline ServiceSummary& WithName(const char* value) { SetName(value); return *this;} /** *

Describes the systems that can be used to discover the service instances.

*
DNS_HTTP

The service instances can be discovered using * either DNS queries or the DiscoverInstances API operation.

*
HTTP

The service instances can only be discovered using * the DiscoverInstances API operation.

DNS
*

Reserved.

*/ inline const ServiceType& GetType() const{ return m_type; } /** *

Describes the systems that can be used to discover the service instances.

*
DNS_HTTP

The service instances can be discovered using * either DNS queries or the DiscoverInstances API operation.

*
HTTP

The service instances can only be discovered using * the DiscoverInstances API operation.

DNS
*

Reserved.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

Describes the systems that can be used to discover the service instances.

*
DNS_HTTP

The service instances can be discovered using * either DNS queries or the DiscoverInstances API operation.

*
HTTP

The service instances can only be discovered using * the DiscoverInstances API operation.

DNS
*

Reserved.

*/ inline void SetType(const ServiceType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

Describes the systems that can be used to discover the service instances.

*
DNS_HTTP

The service instances can be discovered using * either DNS queries or the DiscoverInstances API operation.

*
HTTP

The service instances can only be discovered using * the DiscoverInstances API operation.

DNS
*

Reserved.

*/ inline void SetType(ServiceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

Describes the systems that can be used to discover the service instances.

*
DNS_HTTP

The service instances can be discovered using * either DNS queries or the DiscoverInstances API operation.

*
HTTP

The service instances can only be discovered using * the DiscoverInstances API operation.

DNS
*

Reserved.

*/ inline ServiceSummary& WithType(const ServiceType& value) { SetType(value); return *this;} /** *

Describes the systems that can be used to discover the service instances.

*
DNS_HTTP

The service instances can be discovered using * either DNS queries or the DiscoverInstances API operation.

*
HTTP

The service instances can only be discovered using * the DiscoverInstances API operation.

DNS
*

Reserved.

*/ inline ServiceSummary& WithType(ServiceType&& value) { SetType(std::move(value)); return *this;} /** *

The description that you specify when you create the service.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description that you specify when you create the service.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description that you specify when you create the service.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description that you specify when you create the service.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description that you specify when you create the service.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description that you specify when you create the service.

*/ inline ServiceSummary& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description that you specify when you create the service.

*/ inline ServiceSummary& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description that you specify when you create the service.

*/ inline ServiceSummary& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The number of instances that are currently associated with the service. * Instances that were previously associated with the service but that are deleted * aren't included in the count. The count might not reflect pending registrations * and deregistrations.

*/ inline int GetInstanceCount() const{ return m_instanceCount; } /** *

The number of instances that are currently associated with the service. * Instances that were previously associated with the service but that are deleted * aren't included in the count. The count might not reflect pending registrations * and deregistrations.

*/ inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; } /** *

The number of instances that are currently associated with the service. * Instances that were previously associated with the service but that are deleted * aren't included in the count. The count might not reflect pending registrations * and deregistrations.

*/ inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; } /** *

The number of instances that are currently associated with the service. * Instances that were previously associated with the service but that are deleted * aren't included in the count. The count might not reflect pending registrations * and deregistrations.

*/ inline ServiceSummary& WithInstanceCount(int value) { SetInstanceCount(value); return *this;} /** *

Information about the Route 53 DNS records that you want Cloud Map to create * when you register an instance.

*/ inline const DnsConfig& GetDnsConfig() const{ return m_dnsConfig; } /** *

Information about the Route 53 DNS records that you want Cloud Map to create * when you register an instance.

*/ inline bool DnsConfigHasBeenSet() const { return m_dnsConfigHasBeenSet; } /** *

Information about the Route 53 DNS records that you want Cloud Map to create * when you register an instance.

*/ inline void SetDnsConfig(const DnsConfig& value) { m_dnsConfigHasBeenSet = true; m_dnsConfig = value; } /** *

Information about the Route 53 DNS records that you want Cloud Map to create * when you register an instance.

*/ inline void SetDnsConfig(DnsConfig&& value) { m_dnsConfigHasBeenSet = true; m_dnsConfig = std::move(value); } /** *

Information about the Route 53 DNS records that you want Cloud Map to create * when you register an instance.

*/ inline ServiceSummary& WithDnsConfig(const DnsConfig& value) { SetDnsConfig(value); return *this;} /** *

Information about the Route 53 DNS records that you want Cloud Map to create * when you register an instance.

*/ inline ServiceSummary& WithDnsConfig(DnsConfig&& value) { SetDnsConfig(std::move(value)); return *this;} /** *

Public DNS and HTTP namespaces only. Settings for an optional health * check. If you specify settings for a health check, Cloud Map associates the * health check with the records that you specify in DnsConfig.

*/ inline const HealthCheckConfig& GetHealthCheckConfig() const{ return m_healthCheckConfig; } /** *

Public DNS and HTTP namespaces only. Settings for an optional health * check. If you specify settings for a health check, Cloud Map associates the * health check with the records that you specify in DnsConfig.

*/ inline bool HealthCheckConfigHasBeenSet() const { return m_healthCheckConfigHasBeenSet; } /** *

Public DNS and HTTP namespaces only. Settings for an optional health * check. If you specify settings for a health check, Cloud Map associates the * health check with the records that you specify in DnsConfig.

*/ inline void SetHealthCheckConfig(const HealthCheckConfig& value) { m_healthCheckConfigHasBeenSet = true; m_healthCheckConfig = value; } /** *

Public DNS and HTTP namespaces only. Settings for an optional health * check. If you specify settings for a health check, Cloud Map associates the * health check with the records that you specify in DnsConfig.

*/ inline void SetHealthCheckConfig(HealthCheckConfig&& value) { m_healthCheckConfigHasBeenSet = true; m_healthCheckConfig = std::move(value); } /** *

Public DNS and HTTP namespaces only. Settings for an optional health * check. If you specify settings for a health check, Cloud Map associates the * health check with the records that you specify in DnsConfig.

*/ inline ServiceSummary& WithHealthCheckConfig(const HealthCheckConfig& value) { SetHealthCheckConfig(value); return *this;} /** *

Public DNS and HTTP namespaces only. Settings for an optional health * check. If you specify settings for a health check, Cloud Map associates the * health check with the records that you specify in DnsConfig.

*/ inline ServiceSummary& WithHealthCheckConfig(HealthCheckConfig&& value) { SetHealthCheckConfig(std::move(value)); return *this;} /** *

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

  • *

    You can't use a health check that's defined by HealthCheckConfig * because the resource isn't available over the internet. For example, you can use * a custom health check when the instance is in an Amazon VPC. (To check the * health of resources in a VPC, the health checker must also be in the VPC.)

    *
  • You want to use a third-party health checker regardless of where * your resources are located.

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

*/ inline const HealthCheckCustomConfig& GetHealthCheckCustomConfig() const{ return m_healthCheckCustomConfig; } /** *

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

  • *

    You can't use a health check that's defined by HealthCheckConfig * because the resource isn't available over the internet. For example, you can use * a custom health check when the instance is in an Amazon VPC. (To check the * health of resources in a VPC, the health checker must also be in the VPC.)

    *
  • You want to use a third-party health checker regardless of where * your resources are located.

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

*/ inline bool HealthCheckCustomConfigHasBeenSet() const { return m_healthCheckCustomConfigHasBeenSet; } /** *

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

  • *

    You can't use a health check that's defined by HealthCheckConfig * because the resource isn't available over the internet. For example, you can use * a custom health check when the instance is in an Amazon VPC. (To check the * health of resources in a VPC, the health checker must also be in the VPC.)

    *
  • You want to use a third-party health checker regardless of where * your resources are located.

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

*/ inline void SetHealthCheckCustomConfig(const HealthCheckCustomConfig& value) { m_healthCheckCustomConfigHasBeenSet = true; m_healthCheckCustomConfig = value; } /** *

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

  • *

    You can't use a health check that's defined by HealthCheckConfig * because the resource isn't available over the internet. For example, you can use * a custom health check when the instance is in an Amazon VPC. (To check the * health of resources in a VPC, the health checker must also be in the VPC.)

    *
  • You want to use a third-party health checker regardless of where * your resources are located.

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

*/ inline void SetHealthCheckCustomConfig(HealthCheckCustomConfig&& value) { m_healthCheckCustomConfigHasBeenSet = true; m_healthCheckCustomConfig = std::move(value); } /** *

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

  • *

    You can't use a health check that's defined by HealthCheckConfig * because the resource isn't available over the internet. For example, you can use * a custom health check when the instance is in an Amazon VPC. (To check the * health of resources in a VPC, the health checker must also be in the VPC.)

    *
  • You want to use a third-party health checker regardless of where * your resources are located.

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

*/ inline ServiceSummary& WithHealthCheckCustomConfig(const HealthCheckCustomConfig& value) { SetHealthCheckCustomConfig(value); return *this;} /** *

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

  • *

    You can't use a health check that's defined by HealthCheckConfig * because the resource isn't available over the internet. For example, you can use * a custom health check when the instance is in an Amazon VPC. (To check the * health of resources in a VPC, the health checker must also be in the VPC.)

    *
  • You want to use a third-party health checker regardless of where * your resources are located.

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

*/ inline ServiceSummary& WithHealthCheckCustomConfig(HealthCheckCustomConfig&& value) { SetHealthCheckCustomConfig(std::move(value)); return *this;} /** *

The date and time that the service was created.

*/ inline const Aws::Utils::DateTime& GetCreateDate() const{ return m_createDate; } /** *

The date and time that the service was created.

*/ inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; } /** *

The date and time that the service was created.

*/ inline void SetCreateDate(const Aws::Utils::DateTime& value) { m_createDateHasBeenSet = true; m_createDate = value; } /** *

The date and time that the service was created.

*/ inline void SetCreateDate(Aws::Utils::DateTime&& value) { m_createDateHasBeenSet = true; m_createDate = std::move(value); } /** *

The date and time that the service was created.

*/ inline ServiceSummary& WithCreateDate(const Aws::Utils::DateTime& value) { SetCreateDate(value); return *this;} /** *

The date and time that the service was created.

*/ inline ServiceSummary& WithCreateDate(Aws::Utils::DateTime&& value) { SetCreateDate(std::move(value)); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; ServiceType m_type; bool m_typeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; int m_instanceCount; bool m_instanceCountHasBeenSet = false; DnsConfig m_dnsConfig; bool m_dnsConfigHasBeenSet = false; HealthCheckConfig m_healthCheckConfig; bool m_healthCheckConfigHasBeenSet = false; HealthCheckCustomConfig m_healthCheckCustomConfig; bool m_healthCheckCustomConfigHasBeenSet = false; Aws::Utils::DateTime m_createDate; bool m_createDateHasBeenSet = false; }; } // namespace Model } // namespace ServiceDiscovery } // namespace Aws