/** * 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 Route53RecoveryReadiness { namespace Model { /** *

A component for DNS/routing control readiness checks and architecture * checks.

See Also:

AWS * API Reference

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

The domain name that acts as an ingress point to a portion of the customer * application.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The domain name that acts as an ingress point to a portion of the customer * application.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The domain name that acts as an ingress point to a portion of the customer * application.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The domain name that acts as an ingress point to a portion of the customer * application.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The domain name that acts as an ingress point to a portion of the customer * application.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The domain name that acts as an ingress point to a portion of the customer * application.

*/ inline DNSTargetResource& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The domain name that acts as an ingress point to a portion of the customer * application.

*/ inline DNSTargetResource& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The domain name that acts as an ingress point to a portion of the customer * application.

*/ inline DNSTargetResource& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

The hosted zone Amazon Resource Name (ARN) that contains the DNS record with * the provided name of the target resource.

*/ inline const Aws::String& GetHostedZoneArn() const{ return m_hostedZoneArn; } /** *

The hosted zone Amazon Resource Name (ARN) that contains the DNS record with * the provided name of the target resource.

*/ inline bool HostedZoneArnHasBeenSet() const { return m_hostedZoneArnHasBeenSet; } /** *

The hosted zone Amazon Resource Name (ARN) that contains the DNS record with * the provided name of the target resource.

*/ inline void SetHostedZoneArn(const Aws::String& value) { m_hostedZoneArnHasBeenSet = true; m_hostedZoneArn = value; } /** *

The hosted zone Amazon Resource Name (ARN) that contains the DNS record with * the provided name of the target resource.

*/ inline void SetHostedZoneArn(Aws::String&& value) { m_hostedZoneArnHasBeenSet = true; m_hostedZoneArn = std::move(value); } /** *

The hosted zone Amazon Resource Name (ARN) that contains the DNS record with * the provided name of the target resource.

*/ inline void SetHostedZoneArn(const char* value) { m_hostedZoneArnHasBeenSet = true; m_hostedZoneArn.assign(value); } /** *

The hosted zone Amazon Resource Name (ARN) that contains the DNS record with * the provided name of the target resource.

*/ inline DNSTargetResource& WithHostedZoneArn(const Aws::String& value) { SetHostedZoneArn(value); return *this;} /** *

The hosted zone Amazon Resource Name (ARN) that contains the DNS record with * the provided name of the target resource.

*/ inline DNSTargetResource& WithHostedZoneArn(Aws::String&& value) { SetHostedZoneArn(std::move(value)); return *this;} /** *

The hosted zone Amazon Resource Name (ARN) that contains the DNS record with * the provided name of the target resource.

*/ inline DNSTargetResource& WithHostedZoneArn(const char* value) { SetHostedZoneArn(value); return *this;} /** *

The Route 53 record set ID that uniquely identifies a DNS record, given a * name and a type.

*/ inline const Aws::String& GetRecordSetId() const{ return m_recordSetId; } /** *

The Route 53 record set ID that uniquely identifies a DNS record, given a * name and a type.

*/ inline bool RecordSetIdHasBeenSet() const { return m_recordSetIdHasBeenSet; } /** *

The Route 53 record set ID that uniquely identifies a DNS record, given a * name and a type.

*/ inline void SetRecordSetId(const Aws::String& value) { m_recordSetIdHasBeenSet = true; m_recordSetId = value; } /** *

The Route 53 record set ID that uniquely identifies a DNS record, given a * name and a type.

*/ inline void SetRecordSetId(Aws::String&& value) { m_recordSetIdHasBeenSet = true; m_recordSetId = std::move(value); } /** *

The Route 53 record set ID that uniquely identifies a DNS record, given a * name and a type.

*/ inline void SetRecordSetId(const char* value) { m_recordSetIdHasBeenSet = true; m_recordSetId.assign(value); } /** *

The Route 53 record set ID that uniquely identifies a DNS record, given a * name and a type.

*/ inline DNSTargetResource& WithRecordSetId(const Aws::String& value) { SetRecordSetId(value); return *this;} /** *

The Route 53 record set ID that uniquely identifies a DNS record, given a * name and a type.

*/ inline DNSTargetResource& WithRecordSetId(Aws::String&& value) { SetRecordSetId(std::move(value)); return *this;} /** *

The Route 53 record set ID that uniquely identifies a DNS record, given a * name and a type.

*/ inline DNSTargetResource& WithRecordSetId(const char* value) { SetRecordSetId(value); return *this;} /** *

The type of DNS record of the target resource.

*/ inline const Aws::String& GetRecordType() const{ return m_recordType; } /** *

The type of DNS record of the target resource.

*/ inline bool RecordTypeHasBeenSet() const { return m_recordTypeHasBeenSet; } /** *

The type of DNS record of the target resource.

*/ inline void SetRecordType(const Aws::String& value) { m_recordTypeHasBeenSet = true; m_recordType = value; } /** *

The type of DNS record of the target resource.

*/ inline void SetRecordType(Aws::String&& value) { m_recordTypeHasBeenSet = true; m_recordType = std::move(value); } /** *

The type of DNS record of the target resource.

*/ inline void SetRecordType(const char* value) { m_recordTypeHasBeenSet = true; m_recordType.assign(value); } /** *

The type of DNS record of the target resource.

*/ inline DNSTargetResource& WithRecordType(const Aws::String& value) { SetRecordType(value); return *this;} /** *

The type of DNS record of the target resource.

*/ inline DNSTargetResource& WithRecordType(Aws::String&& value) { SetRecordType(std::move(value)); return *this;} /** *

The type of DNS record of the target resource.

*/ inline DNSTargetResource& WithRecordType(const char* value) { SetRecordType(value); return *this;} /** *

The target resource of the DNS target resource.

*/ inline const TargetResource& GetTargetResource() const{ return m_targetResource; } /** *

The target resource of the DNS target resource.

*/ inline bool TargetResourceHasBeenSet() const { return m_targetResourceHasBeenSet; } /** *

The target resource of the DNS target resource.

*/ inline void SetTargetResource(const TargetResource& value) { m_targetResourceHasBeenSet = true; m_targetResource = value; } /** *

The target resource of the DNS target resource.

*/ inline void SetTargetResource(TargetResource&& value) { m_targetResourceHasBeenSet = true; m_targetResource = std::move(value); } /** *

The target resource of the DNS target resource.

*/ inline DNSTargetResource& WithTargetResource(const TargetResource& value) { SetTargetResource(value); return *this;} /** *

The target resource of the DNS target resource.

*/ inline DNSTargetResource& WithTargetResource(TargetResource&& value) { SetTargetResource(std::move(value)); return *this;} private: Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aws::String m_hostedZoneArn; bool m_hostedZoneArnHasBeenSet = false; Aws::String m_recordSetId; bool m_recordSetIdHasBeenSet = false; Aws::String m_recordType; bool m_recordTypeHasBeenSet = false; TargetResource m_targetResource; bool m_targetResourceHasBeenSet = false; }; } // namespace Model } // namespace Route53RecoveryReadiness } // namespace Aws