/** * 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 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 specified * service.

See Also:

AWS * API Reference

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

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

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

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

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

The ID that AWS 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 AWS 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 AWS 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 AWS Cloud Map assigned to the service when you created it.

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

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

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

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

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

The Amazon Resource Name (ARN) that AWS 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 AWS Cloud Map assigns to the service when * you create it.

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

The Amazon Resource Name (ARN) that AWS 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 AWS 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 AWS 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 AWS Cloud Map assigns to the service when * you create it.

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

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

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

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

*/ inline Service& 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 Service& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the service.

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

The name of the service.

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

The ID of the namespace that was used to create the service.

*/ inline const Aws::String& GetNamespaceId() const{ return m_namespaceId; } /** *

The ID of the namespace that was used to create the service.

*/ inline bool NamespaceIdHasBeenSet() const { return m_namespaceIdHasBeenSet; } /** *

The ID of the namespace that was used to create the service.

*/ inline void SetNamespaceId(const Aws::String& value) { m_namespaceIdHasBeenSet = true; m_namespaceId = value; } /** *

The ID of the namespace that was used to create the service.

*/ inline void SetNamespaceId(Aws::String&& value) { m_namespaceIdHasBeenSet = true; m_namespaceId = std::move(value); } /** *

The ID of the namespace that was used to create the service.

*/ inline void SetNamespaceId(const char* value) { m_namespaceIdHasBeenSet = true; m_namespaceId.assign(value); } /** *

The ID of the namespace that was used to create the service.

*/ inline Service& WithNamespaceId(const Aws::String& value) { SetNamespaceId(value); return *this;} /** *

The ID of the namespace that was used to create the service.

*/ inline Service& WithNamespaceId(Aws::String&& value) { SetNamespaceId(std::move(value)); return *this;} /** *

The ID of the namespace that was used to create the service.

*/ inline Service& WithNamespaceId(const char* value) { SetNamespaceId(value); return *this;} /** *

The description of the service.

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

The description of the service.

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

The description of the service.

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

The description of the service.

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

The description of the service.

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

The description of the service.

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

The description of the service.

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

The description of the service.

*/ inline Service& 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 have been * deleted are not 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 have been * deleted are not 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 have been * deleted are not 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 have been * deleted are not included in the count. The count might not reflect pending * registrations and deregistrations.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

For information about the charges for * health checks, see Amazon * Route 53 Pricing.

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

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

For information about the charges for * health checks, see Amazon * Route 53 Pricing.

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

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

For information about the charges for * health checks, see Amazon * Route 53 Pricing.

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

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

For information about the charges for * health checks, see Amazon * Route 53 Pricing.

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

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

For information about the charges for * health checks, see Amazon * Route 53 Pricing.

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

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

For information about the charges for * health checks, see Amazon * Route 53 Pricing.

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

A complex type that contains information about an optional custom health * check.

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; } /** *

A complex type that contains information about an optional custom health * check.

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

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

A complex type that contains information about an optional custom health * check.

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; } /** *

A complex type that contains information about an optional custom health * check.

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); } /** *

A complex type that contains information about an optional custom health * check.

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

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

A complex type that contains information about an optional custom health * check.

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

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

The date and time that the service was created, in Unix format and * Coordinated Universal Time (UTC). The value of CreateDate is * accurate to milliseconds. For example, the value 1516925490.087 * represents Friday, January 26, 2018 12:11:30.087 AM.

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

The date and time that the service was created, in Unix format and * Coordinated Universal Time (UTC). The value of CreateDate is * accurate to milliseconds. For example, the value 1516925490.087 * represents Friday, January 26, 2018 12:11:30.087 AM.

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

The date and time that the service was created, in Unix format and * Coordinated Universal Time (UTC). The value of CreateDate is * accurate to milliseconds. For example, the value 1516925490.087 * represents Friday, January 26, 2018 12:11:30.087 AM.

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

The date and time that the service was created, in Unix format and * Coordinated Universal Time (UTC). The value of CreateDate is * accurate to milliseconds. For example, the value 1516925490.087 * represents Friday, January 26, 2018 12:11:30.087 AM.

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

The date and time that the service was created, in Unix format and * Coordinated Universal Time (UTC). The value of CreateDate is * accurate to milliseconds. For example, the value 1516925490.087 * represents Friday, January 26, 2018 12:11:30.087 AM.

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

The date and time that the service was created, in Unix format and * Coordinated Universal Time (UTC). The value of CreateDate is * accurate to milliseconds. For example, the value 1516925490.087 * represents Friday, January 26, 2018 12:11:30.087 AM.

*/ inline Service& WithCreateDate(Aws::Utils::DateTime&& value) { SetCreateDate(std::move(value)); return *this;} /** *

A unique string that identifies the request and that allows failed requests * to be retried without the risk of executing the operation twice. * 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 requests * to be retried without the risk of executing the operation twice. * 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 requests * to be retried without the risk of executing the operation twice. * 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 requests * to be retried without the risk of executing the operation twice. * 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 requests * to be retried without the risk of executing the operation twice. * 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 requests * to be retried without the risk of executing the operation twice. * CreatorRequestId can be any unique string, for example, a date/time * stamp.

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

A unique string that identifies the request and that allows failed requests * to be retried without the risk of executing the operation twice. * CreatorRequestId can be any unique string, for example, a date/time * stamp.

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

A unique string that identifies the request and that allows failed requests * to be retried without the risk of executing the operation twice. * CreatorRequestId can be any unique string, for example, a date/time * stamp.

*/ inline Service& WithCreatorRequestId(const char* value) { SetCreatorRequestId(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet; Aws::String m_arn; bool m_arnHasBeenSet; Aws::String m_name; bool m_nameHasBeenSet; Aws::String m_namespaceId; bool m_namespaceIdHasBeenSet; Aws::String m_description; bool m_descriptionHasBeenSet; int m_instanceCount; bool m_instanceCountHasBeenSet; DnsConfig m_dnsConfig; bool m_dnsConfigHasBeenSet; HealthCheckConfig m_healthCheckConfig; bool m_healthCheckConfigHasBeenSet; HealthCheckCustomConfig m_healthCheckCustomConfig; bool m_healthCheckCustomConfigHasBeenSet; Aws::Utils::DateTime m_createDate; bool m_createDateHasBeenSet; Aws::String m_creatorRequestId; bool m_creatorRequestIdHasBeenSet; }; } // namespace Model } // namespace ServiceDiscovery } // namespace Aws