/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the delegation state of an Amazon Route 53 registered domain to
* Amazon Lightsail. When you delegate an Amazon Route 53 registered domain
* to Lightsail, you can manage the DNS of the domain using a Lightsail DNS zone.
* You no longer use the Route 53 hosted zone to manage the DNS of the domain. To
* delegate the domain, Lightsail automatically updates the domain's name servers
* in Route 53 to the name servers of the Lightsail DNS zone. Then, Lightsail
* automatically deletes the Route 53 hosted zone for the domain. All of the
* following conditions must be true for automatic domain delegation to be
* successful: The registered domain must be in the same Amazon
* Web Services account as the Lightsail account making the request. The user or entity making the request must have permission to manage domains
* in Route 53. The Route 53 hosted zone for the domain must be
* empty. It cannot contain DNS records other than start of authority (SOA) and
* name server records. If automatic domain delegation fails, or
* if you manage the DNS of your domain using a service other than Route 53, then
* you must manually add the Lightsail DNS zone name servers to your domain in
* order to delegate management of its DNS to Lightsail. For more information, see
* Creating
* a DNS zone to manage your domain’s records in Amazon Lightsail in the
* Amazon Lightsail Developer Guide.
See Also:
AWS
* API Reference
An object that describes the state of the name server records that are * automatically added to the Route 53 domain by Lightsail.
*/ inline const NameServersUpdateState& GetNameServersUpdateState() const{ return m_nameServersUpdateState; } /** *An object that describes the state of the name server records that are * automatically added to the Route 53 domain by Lightsail.
*/ inline bool NameServersUpdateStateHasBeenSet() const { return m_nameServersUpdateStateHasBeenSet; } /** *An object that describes the state of the name server records that are * automatically added to the Route 53 domain by Lightsail.
*/ inline void SetNameServersUpdateState(const NameServersUpdateState& value) { m_nameServersUpdateStateHasBeenSet = true; m_nameServersUpdateState = value; } /** *An object that describes the state of the name server records that are * automatically added to the Route 53 domain by Lightsail.
*/ inline void SetNameServersUpdateState(NameServersUpdateState&& value) { m_nameServersUpdateStateHasBeenSet = true; m_nameServersUpdateState = std::move(value); } /** *An object that describes the state of the name server records that are * automatically added to the Route 53 domain by Lightsail.
*/ inline RegisteredDomainDelegationInfo& WithNameServersUpdateState(const NameServersUpdateState& value) { SetNameServersUpdateState(value); return *this;} /** *An object that describes the state of the name server records that are * automatically added to the Route 53 domain by Lightsail.
*/ inline RegisteredDomainDelegationInfo& WithNameServersUpdateState(NameServersUpdateState&& value) { SetNameServersUpdateState(std::move(value)); return *this;} /** *Describes the deletion state of an Amazon Route 53 hosted zone for a domain * that is being automatically delegated to an Amazon Lightsail DNS zone.
*/ inline const R53HostedZoneDeletionState& GetR53HostedZoneDeletionState() const{ return m_r53HostedZoneDeletionState; } /** *Describes the deletion state of an Amazon Route 53 hosted zone for a domain * that is being automatically delegated to an Amazon Lightsail DNS zone.
*/ inline bool R53HostedZoneDeletionStateHasBeenSet() const { return m_r53HostedZoneDeletionStateHasBeenSet; } /** *Describes the deletion state of an Amazon Route 53 hosted zone for a domain * that is being automatically delegated to an Amazon Lightsail DNS zone.
*/ inline void SetR53HostedZoneDeletionState(const R53HostedZoneDeletionState& value) { m_r53HostedZoneDeletionStateHasBeenSet = true; m_r53HostedZoneDeletionState = value; } /** *Describes the deletion state of an Amazon Route 53 hosted zone for a domain * that is being automatically delegated to an Amazon Lightsail DNS zone.
*/ inline void SetR53HostedZoneDeletionState(R53HostedZoneDeletionState&& value) { m_r53HostedZoneDeletionStateHasBeenSet = true; m_r53HostedZoneDeletionState = std::move(value); } /** *Describes the deletion state of an Amazon Route 53 hosted zone for a domain * that is being automatically delegated to an Amazon Lightsail DNS zone.
*/ inline RegisteredDomainDelegationInfo& WithR53HostedZoneDeletionState(const R53HostedZoneDeletionState& value) { SetR53HostedZoneDeletionState(value); return *this;} /** *Describes the deletion state of an Amazon Route 53 hosted zone for a domain * that is being automatically delegated to an Amazon Lightsail DNS zone.
*/ inline RegisteredDomainDelegationInfo& WithR53HostedZoneDeletionState(R53HostedZoneDeletionState&& value) { SetR53HostedZoneDeletionState(std::move(value)); return *this;} private: NameServersUpdateState m_nameServersUpdateState; bool m_nameServersUpdateStateHasBeenSet = false; R53HostedZoneDeletionState m_r53HostedZoneDeletionState; bool m_r53HostedZoneDeletionStateHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws