-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon Route 53 Domains SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.Route53Domains</a> or <a>the AWS documentation</a>
--   to get started.
@package amazonka-route53-domains
@version 1.6.1


module Network.AWS.Route53Domains.Types

-- | API version <tt>2014-05-15</tt> of the Amazon Route 53 Domains SDK
--   configuration.
route53Domains :: Service

-- | The requested item is not acceptable. For example, for an OperationId
--   it might refer to the ID of an operation that is already completed.
--   For a domain name, it might not be a valid domain name or belong to
--   the requester account.
_InvalidInput :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of operations or jobs running exceeded the allowed
--   threshold for the account.
_OperationLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of domains has exceeded the allowed threshold for the
--   account.
_DomainLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | Amazon Route 53 does not support this top-level domain (TLD).
_UnsupportedTLD :: AsError a => Getting (First ServiceError) a ServiceError

-- | The top-level domain does not support this operation.
_TLDRulesViolation :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request is already in progress for the domain.
_DuplicateRequest :: AsError a => Getting (First ServiceError) a ServiceError
data ContactType
Association :: ContactType
Company :: ContactType
Person :: ContactType
PublicBody :: ContactType
Reseller :: ContactType
data CountryCode
AD :: CountryCode
AE :: CountryCode
AF :: CountryCode
AG :: CountryCode
AI :: CountryCode
AL :: CountryCode
AM :: CountryCode
AN :: CountryCode
AO :: CountryCode
AQ :: CountryCode
AR :: CountryCode
AS :: CountryCode
AT :: CountryCode
AU :: CountryCode
AW :: CountryCode
AZ :: CountryCode
BA :: CountryCode
BB :: CountryCode
BD :: CountryCode
BE :: CountryCode
BF :: CountryCode
BG :: CountryCode
BH :: CountryCode
BI :: CountryCode
BJ :: CountryCode
BL :: CountryCode
BM :: CountryCode
BN :: CountryCode
BO :: CountryCode
BR :: CountryCode
BS :: CountryCode
BT :: CountryCode
BW :: CountryCode
BY :: CountryCode
BZ :: CountryCode
CA :: CountryCode
CC :: CountryCode
CD :: CountryCode
CF :: CountryCode
CG :: CountryCode
CH :: CountryCode
CI :: CountryCode
CK :: CountryCode
CL :: CountryCode
CM :: CountryCode
CN :: CountryCode
CO :: CountryCode
CR :: CountryCode
CU :: CountryCode
CV :: CountryCode
CX :: CountryCode
CY :: CountryCode
CZ :: CountryCode
DE :: CountryCode
DJ :: CountryCode
DK :: CountryCode
DM :: CountryCode
DO :: CountryCode
DZ :: CountryCode
EC :: CountryCode
EE :: CountryCode
EG :: CountryCode
ER :: CountryCode
ES :: CountryCode
ET :: CountryCode
FI :: CountryCode
FJ :: CountryCode
FK :: CountryCode
FM :: CountryCode
FO :: CountryCode
FR :: CountryCode
GA :: CountryCode
GB :: CountryCode
GD :: CountryCode
GE :: CountryCode
GH :: CountryCode
GI :: CountryCode
GL :: CountryCode
GM :: CountryCode
GN :: CountryCode
GQ :: CountryCode
GR :: CountryCode
GT' :: CountryCode
GU :: CountryCode
GW :: CountryCode
GY :: CountryCode
HK :: CountryCode
HN :: CountryCode
HR :: CountryCode
HT :: CountryCode
HU :: CountryCode
IE :: CountryCode
IL :: CountryCode
IM :: CountryCode
IN :: CountryCode
IQ :: CountryCode
IR :: CountryCode
IS :: CountryCode
IT :: CountryCode
Id :: CountryCode
JM :: CountryCode
JO :: CountryCode
JP :: CountryCode
KE :: CountryCode
KG :: CountryCode
KH :: CountryCode
KI :: CountryCode
KM :: CountryCode
KN :: CountryCode
KP :: CountryCode
KR :: CountryCode
KW :: CountryCode
KY :: CountryCode
KZ :: CountryCode
LA :: CountryCode
LB :: CountryCode
LC :: CountryCode
LI :: CountryCode
LK :: CountryCode
LR :: CountryCode
LS :: CountryCode
LT' :: CountryCode
LU :: CountryCode
LV :: CountryCode
LY :: CountryCode
MA :: CountryCode
MC :: CountryCode
MD :: CountryCode
ME :: CountryCode
MF :: CountryCode
MG :: CountryCode
MH :: CountryCode
MK :: CountryCode
ML :: CountryCode
MM :: CountryCode
MN :: CountryCode
MO :: CountryCode
MP :: CountryCode
MR :: CountryCode
MS :: CountryCode
MT :: CountryCode
MU :: CountryCode
MV :: CountryCode
MW :: CountryCode
MX :: CountryCode
MY :: CountryCode
MZ :: CountryCode
NA :: CountryCode
NC :: CountryCode
NE :: CountryCode
NG :: CountryCode
NI :: CountryCode
NL :: CountryCode
NO :: CountryCode
NP :: CountryCode
NR :: CountryCode
NU :: CountryCode
NZ :: CountryCode
OM :: CountryCode
PA :: CountryCode
PE :: CountryCode
PF :: CountryCode
PG :: CountryCode
PH :: CountryCode
PK :: CountryCode
PL :: CountryCode
PM :: CountryCode
PN :: CountryCode
PR :: CountryCode
PT :: CountryCode
PW :: CountryCode
PY :: CountryCode
QA :: CountryCode
RO :: CountryCode
RS :: CountryCode
RU :: CountryCode
RW :: CountryCode
SA :: CountryCode
SB :: CountryCode
SC :: CountryCode
SD :: CountryCode
SE :: CountryCode
SG :: CountryCode
SH :: CountryCode
SI :: CountryCode
SK :: CountryCode
SL :: CountryCode
SM :: CountryCode
SN :: CountryCode
SO :: CountryCode
SR :: CountryCode
ST :: CountryCode
SV :: CountryCode
SY :: CountryCode
SZ :: CountryCode
TC :: CountryCode
TD :: CountryCode
TG :: CountryCode
TH :: CountryCode
TJ :: CountryCode
TK :: CountryCode
TL :: CountryCode
TM :: CountryCode
TN :: CountryCode
TO :: CountryCode
TR :: CountryCode
TT :: CountryCode
TV :: CountryCode
TW :: CountryCode
TZ :: CountryCode
UA :: CountryCode
UG :: CountryCode
US :: CountryCode
UY :: CountryCode
UZ :: CountryCode
VA :: CountryCode
VC :: CountryCode
VE :: CountryCode
VG :: CountryCode
VI :: CountryCode
VN :: CountryCode
VU :: CountryCode
WF :: CountryCode
WS :: CountryCode
YE :: CountryCode
YT :: CountryCode
ZA :: CountryCode
ZM :: CountryCode
ZW :: CountryCode
data DomainAvailability
DAAvailable :: DomainAvailability
DAAvailablePreorder :: DomainAvailability
DAAvailableReserved :: DomainAvailability
DADontKnow :: DomainAvailability
DAReserved :: DomainAvailability
DAUnavailable :: DomainAvailability
DAUnavailablePremium :: DomainAvailability
DAUnavailableRestricted :: DomainAvailability
data ExtraParamName
AuIdNumber :: ExtraParamName
AuIdType :: ExtraParamName
BirthCity :: ExtraParamName
BirthCountry :: ExtraParamName
BirthDateInYyyyMmDd :: ExtraParamName
BirthDepartment :: ExtraParamName
BrandNumber :: ExtraParamName
CaBusinessEntityType :: ExtraParamName
CaLegalType :: ExtraParamName
DocumentNumber :: ExtraParamName
DunsNumber :: ExtraParamName
EsIdentification :: ExtraParamName
EsIdentificationType :: ExtraParamName
EsLegalForm :: ExtraParamName
FiBusinessNumber :: ExtraParamName
FiIdNumber :: ExtraParamName
FiNationality :: ExtraParamName
FiOrganizationType :: ExtraParamName
ItPin :: ExtraParamName
ItRegistrantEntityType :: ExtraParamName
RuPassportData :: ExtraParamName
SeIdNumber :: ExtraParamName
SgIdNumber :: ExtraParamName
UkCompanyNumber :: ExtraParamName
UkContactType :: ExtraParamName
VatNumber :: ExtraParamName
data OperationStatus
Error' :: OperationStatus
Failed :: OperationStatus
InProgress :: OperationStatus
Submitted :: OperationStatus
Successful :: OperationStatus
data OperationType
AddDNSsec :: OperationType
ChangeDomainOwner :: OperationType
ChangePrivacyProtection :: OperationType
DeleteDomain :: OperationType
DisableAutorenew :: OperationType
DomainLock :: OperationType
EnableAutorenew :: OperationType
ExpireDomain :: OperationType
PushDomain :: OperationType
RegisterDomain :: OperationType
RemoveDNSsec :: OperationType
RenewDomain :: OperationType
TransferInDomain :: OperationType
TransferOutDomain :: OperationType
UpdateDomainContact :: OperationType
UpdateNameserver :: OperationType
data ReachabilityStatus
Done :: ReachabilityStatus
Expired :: ReachabilityStatus
Pending :: ReachabilityStatus

-- | Whether the domain name can be transferred to Amazon Route 53.
--   
--   Valid values:
--   
--   <ul>
--   <li>TRANSFERABLE * The domain name can be transferred to Amazon Route
--   53.</li>
--   <li>UNTRANSFERRABLE * The domain name can't be transferred to Amazon
--   Route 53.</li>
--   <li>DONT_KNOW * Reserved for future use.</li>
--   </ul>
data Transferable
DontKnow :: Transferable
Transferable :: Transferable
Untransferable :: Transferable

-- | Information for one billing record.
--   
--   <i>See:</i> <a>billingRecord</a> smart constructor.
data BillingRecord

-- | Creates a value of <a>BillingRecord</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>brOperation</a> - The operation that you were charged for.</li>
--   <li><a>brInvoiceId</a> - The ID of the invoice that is associated with
--   the billing record.</li>
--   <li><a>brDomainName</a> - The name of the domain that the billing
--   record applies to. If the domain name contains characters other than
--   a-z, 0-9, and - (hyphen), such as an internationalized domain name,
--   then this value is in Punycode. For more information, see <a>DNS
--   Domain Name Format</a> in the <i>Amazon Route 53 Developer
--   Guidezzz</i> .</li>
--   <li><a>brBillDate</a> - The date that the operation was billed, in
--   Unix format.</li>
--   <li><a>brPrice</a> - The price that you were charged for the
--   operation, in US dollars. Example value: 12.0</li>
--   </ul>
billingRecord :: BillingRecord

-- | The operation that you were charged for.
brOperation :: Lens' BillingRecord (Maybe OperationType)

-- | The ID of the invoice that is associated with the billing record.
brInvoiceId :: Lens' BillingRecord (Maybe Text)

-- | The name of the domain that the billing record applies to. If the
--   domain name contains characters other than a-z, 0-9, and - (hyphen),
--   such as an internationalized domain name, then this value is in
--   Punycode. For more information, see <a>DNS Domain Name Format</a> in
--   the <i>Amazon Route 53 Developer Guidezzz</i> .
brDomainName :: Lens' BillingRecord (Maybe Text)

-- | The date that the operation was billed, in Unix format.
brBillDate :: Lens' BillingRecord (Maybe UTCTime)

-- | The price that you were charged for the operation, in US dollars.
--   Example value: 12.0
brPrice :: Lens' BillingRecord (Maybe Double)

-- | ContactDetail includes the following elements.
--   
--   <i>See:</i> <a>contactDetail</a> smart constructor.
data ContactDetail

-- | Creates a value of <a>ContactDetail</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdOrganizationName</a> - Name of the organization for contact
--   types other than <tt>PERSON</tt> .</li>
--   <li><a>cdEmail</a> - Email address of the contact.</li>
--   <li><a>cdState</a> - The state or province of the contact's city.</li>
--   <li><a>cdFax</a> - Fax number of the contact. Constraints: Phone
--   number must be specified in the format "+[country dialing
--   code].[number including any area code]". For example, a US phone
--   number might appear as <tt>"+1.1234567890"</tt> .</li>
--   <li><a>cdLastName</a> - Last name of contact.</li>
--   <li><a>cdExtraParams</a> - A list of name-value pairs for parameters
--   required by certain top-level domains.</li>
--   <li><a>cdZipCode</a> - The zip or postal code of the contact's
--   address.</li>
--   <li><a>cdAddressLine1</a> - First line of the contact's address.</li>
--   <li><a>cdCity</a> - The city of the contact's address.</li>
--   <li><a>cdPhoneNumber</a> - The phone number of the contact.
--   Constraints: Phone number must be specified in the format "+[country
--   dialing code].[number including any area code&gt;]". For example, a US
--   phone number might appear as <tt>"+1.1234567890"</tt> .</li>
--   <li><a>cdAddressLine2</a> - Second line of contact's address, if
--   any.</li>
--   <li><a>cdFirstName</a> - First name of contact.</li>
--   <li><a>cdCountryCode</a> - Code for the country of the contact's
--   address.</li>
--   <li><a>cdContactType</a> - Indicates whether the contact is a person,
--   company, association, or public organization. If you choose an option
--   other than <tt>PERSON</tt> , you must enter an organization name, and
--   you can't enable privacy protection for the contact.</li>
--   </ul>
contactDetail :: ContactDetail

-- | Name of the organization for contact types other than <tt>PERSON</tt>
--   .
cdOrganizationName :: Lens' ContactDetail (Maybe Text)

-- | Email address of the contact.
cdEmail :: Lens' ContactDetail (Maybe Text)

-- | The state or province of the contact's city.
cdState :: Lens' ContactDetail (Maybe Text)

-- | Fax number of the contact. Constraints: Phone number must be specified
--   in the format "+[country dialing code].[number including any area
--   code]". For example, a US phone number might appear as
--   <tt>"+1.1234567890"</tt> .
cdFax :: Lens' ContactDetail (Maybe Text)

-- | Last name of contact.
cdLastName :: Lens' ContactDetail (Maybe Text)

-- | A list of name-value pairs for parameters required by certain
--   top-level domains.
cdExtraParams :: Lens' ContactDetail [ExtraParam]

-- | The zip or postal code of the contact's address.
cdZipCode :: Lens' ContactDetail (Maybe Text)

-- | First line of the contact's address.
cdAddressLine1 :: Lens' ContactDetail (Maybe Text)

-- | The city of the contact's address.
cdCity :: Lens' ContactDetail (Maybe Text)

-- | The phone number of the contact. Constraints: Phone number must be
--   specified in the format "+[country dialing code].[number including any
--   area code&gt;]". For example, a US phone number might appear as
--   <tt>"+1.1234567890"</tt> .
cdPhoneNumber :: Lens' ContactDetail (Maybe Text)

-- | Second line of contact's address, if any.
cdAddressLine2 :: Lens' ContactDetail (Maybe Text)

-- | First name of contact.
cdFirstName :: Lens' ContactDetail (Maybe Text)

-- | Code for the country of the contact's address.
cdCountryCode :: Lens' ContactDetail (Maybe CountryCode)

-- | Indicates whether the contact is a person, company, association, or
--   public organization. If you choose an option other than
--   <tt>PERSON</tt> , you must enter an organization name, and you can't
--   enable privacy protection for the contact.
cdContactType :: Lens' ContactDetail (Maybe ContactType)

-- | Information about one suggested domain name.
--   
--   <i>See:</i> <a>domainSuggestion</a> smart constructor.
data DomainSuggestion

-- | Creates a value of <a>DomainSuggestion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dAvailability</a> - Whether the domain name is available for
--   registering. Valid values: * AVAILABLE * The domain name is available.
--   * AVAILABLE_RESERVED * The domain name is reserved under specific
--   conditions. * AVAILABLE_PREORDER * The domain name is available and
--   can be preordered. * DONT_KNOW * The TLD registry didn't reply with a
--   definitive answer about whether the domain name is available. Amazon
--   Route 53 can return this response for a variety of reasons, for
--   example, the registry is performing maintenance. Try again later. *
--   PENDING * The TLD registry didn't return a response in the expected
--   amount of time. When the response is delayed, it usually takes just a
--   few extra seconds. You can resubmit the request immediately. *
--   RESERVED * The domain name has been reserved for another person or
--   organization. * UNAVAILABLE * The domain name is not available. *
--   UNAVAILABLE_PREMIUM * The domain name is not available. *
--   UNAVAILABLE_RESTRICTED * The domain name is forbidden.</li>
--   <li><a>dDomainName</a> - A suggested domain name.</li>
--   </ul>
domainSuggestion :: DomainSuggestion

-- | Whether the domain name is available for registering. Valid values: *
--   AVAILABLE * The domain name is available. * AVAILABLE_RESERVED * The
--   domain name is reserved under specific conditions. *
--   AVAILABLE_PREORDER * The domain name is available and can be
--   preordered. * DONT_KNOW * The TLD registry didn't reply with a
--   definitive answer about whether the domain name is available. Amazon
--   Route 53 can return this response for a variety of reasons, for
--   example, the registry is performing maintenance. Try again later. *
--   PENDING * The TLD registry didn't return a response in the expected
--   amount of time. When the response is delayed, it usually takes just a
--   few extra seconds. You can resubmit the request immediately. *
--   RESERVED * The domain name has been reserved for another person or
--   organization. * UNAVAILABLE * The domain name is not available. *
--   UNAVAILABLE_PREMIUM * The domain name is not available. *
--   UNAVAILABLE_RESTRICTED * The domain name is forbidden.
dAvailability :: Lens' DomainSuggestion (Maybe Text)

-- | A suggested domain name.
dDomainName :: Lens' DomainSuggestion (Maybe Text)

-- | Summary information about one domain.
--   
--   <i>See:</i> <a>domainSummary</a> smart constructor.
data DomainSummary

-- | Creates a value of <a>DomainSummary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsExpiry</a> - Expiration date of the domain in Coordinated
--   Universal Time (UTC).</li>
--   <li><a>dsTransferLock</a> - Indicates whether a domain is locked from
--   unauthorized transfer to another party.</li>
--   <li><a>dsAutoRenew</a> - Indicates whether the domain is automatically
--   renewed upon expiration.</li>
--   <li><a>dsDomainName</a> - The name of the domain that the summary
--   information applies to.</li>
--   </ul>
domainSummary :: Text -> DomainSummary

-- | Expiration date of the domain in Coordinated Universal Time (UTC).
dsExpiry :: Lens' DomainSummary (Maybe UTCTime)

-- | Indicates whether a domain is locked from unauthorized transfer to
--   another party.
dsTransferLock :: Lens' DomainSummary (Maybe Bool)

-- | Indicates whether the domain is automatically renewed upon expiration.
dsAutoRenew :: Lens' DomainSummary (Maybe Bool)

-- | The name of the domain that the summary information applies to.
dsDomainName :: Lens' DomainSummary Text

-- | A complex type that contains information about whether the specified
--   domain can be transferred to Amazon Route 53.
--   
--   <i>See:</i> <a>domainTransferability</a> smart constructor.
data DomainTransferability

-- | Creates a value of <a>DomainTransferability</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtTransferable</a> - Undocumented member.</li>
--   </ul>
domainTransferability :: DomainTransferability

-- | Undocumented member.
dtTransferable :: Lens' DomainTransferability (Maybe Transferable)

-- | ExtraParam includes the following elements.
--   
--   <i>See:</i> <a>extraParam</a> smart constructor.
data ExtraParam

-- | Creates a value of <a>ExtraParam</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>epName</a> - Name of the additional parameter required by the
--   top-level domain. Here are the top-level domains that require
--   additional parameters and which parameters they require: * <b>.com.au
--   and .net.au:</b> <tt>AU_ID_NUMBER</tt> and <tt>AU_ID_TYPE</tt> *
--   <b>.ca:</b> <tt>BRAND_NUMBER</tt> , <tt>CA_LEGAL_TYPE</tt> , and
--   <tt>CA_BUSINESS_ENTITY_TYPE</tt> * <b>.es:</b>
--   <tt>ES_IDENTIFICATION</tt> , <tt>ES_IDENTIFICATION_TYPE</tt> , and
--   <tt>ES_LEGAL_FORM</tt> * <b>.fi:</b> <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt>
--   , <tt>FI_BUSINESS_NUMBER</tt> , <tt>FI_ID_NUMBER</tt> ,
--   <tt>FI_NATIONALITY</tt> , and <tt>FI_ORGANIZATION_TYPE</tt> *
--   <b>.fr:</b> <tt>BRAND_NUMBER</tt> , <tt>BIRTH_DEPARTMENT</tt> ,
--   <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> , <tt>BIRTH_COUNTRY</tt> , and
--   <tt>BIRTH_CITY</tt> * <b>.it:</b> <tt>BIRTH_COUNTRY</tt> ,
--   <tt>IT_PIN</tt> , and <tt>IT_REGISTRANT_ENTITY_TYPE</tt> * <b>.ru:</b>
--   <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> and <tt>RU_PASSPORT_DATA</tt> *
--   <b>.se:</b> <tt>BIRTH_COUNTRY</tt> and <tt>SE_ID_NUMBER</tt> *
--   <b>.sg:</b> <tt>SG_ID_NUMBER</tt> * <b>.co.uk, .me.uk, and
--   .org.uk:</b> <tt>UK_CONTACT_TYPE</tt> and <tt>UK_COMPANY_NUMBER</tt>
--   In addition, many TLDs require <tt>VAT_NUMBER</tt> .</li>
--   <li><a>epValue</a> - Values corresponding to the additional parameter
--   names required by some top-level domains.</li>
--   </ul>
extraParam :: ExtraParamName -> Text -> ExtraParam

-- | Name of the additional parameter required by the top-level domain.
--   Here are the top-level domains that require additional parameters and
--   which parameters they require: * <b>.com.au and .net.au:</b>
--   <tt>AU_ID_NUMBER</tt> and <tt>AU_ID_TYPE</tt> * <b>.ca:</b>
--   <tt>BRAND_NUMBER</tt> , <tt>CA_LEGAL_TYPE</tt> , and
--   <tt>CA_BUSINESS_ENTITY_TYPE</tt> * <b>.es:</b>
--   <tt>ES_IDENTIFICATION</tt> , <tt>ES_IDENTIFICATION_TYPE</tt> , and
--   <tt>ES_LEGAL_FORM</tt> * <b>.fi:</b> <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt>
--   , <tt>FI_BUSINESS_NUMBER</tt> , <tt>FI_ID_NUMBER</tt> ,
--   <tt>FI_NATIONALITY</tt> , and <tt>FI_ORGANIZATION_TYPE</tt> *
--   <b>.fr:</b> <tt>BRAND_NUMBER</tt> , <tt>BIRTH_DEPARTMENT</tt> ,
--   <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> , <tt>BIRTH_COUNTRY</tt> , and
--   <tt>BIRTH_CITY</tt> * <b>.it:</b> <tt>BIRTH_COUNTRY</tt> ,
--   <tt>IT_PIN</tt> , and <tt>IT_REGISTRANT_ENTITY_TYPE</tt> * <b>.ru:</b>
--   <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> and <tt>RU_PASSPORT_DATA</tt> *
--   <b>.se:</b> <tt>BIRTH_COUNTRY</tt> and <tt>SE_ID_NUMBER</tt> *
--   <b>.sg:</b> <tt>SG_ID_NUMBER</tt> * <b>.co.uk, .me.uk, and
--   .org.uk:</b> <tt>UK_CONTACT_TYPE</tt> and <tt>UK_COMPANY_NUMBER</tt>
--   In addition, many TLDs require <tt>VAT_NUMBER</tt> .
epName :: Lens' ExtraParam ExtraParamName

-- | Values corresponding to the additional parameter names required by
--   some top-level domains.
epValue :: Lens' ExtraParam Text

-- | Nameserver includes the following elements.
--   
--   <i>See:</i> <a>nameserver</a> smart constructor.
data Nameserver

-- | Creates a value of <a>Nameserver</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>nGlueIPs</a> - Glue IP address of a name server entry. Glue IP
--   addresses are required only when the name of the name server is a
--   subdomain of the domain. For example, if your domain is example.com
--   and the name server for the domain is ns.example.com, you need to
--   specify the IP address for ns.example.com. Constraints: The list can
--   contain only one IPv4 and one IPv6 address.</li>
--   <li><a>nName</a> - The fully qualified host name of the name server.
--   Constraint: Maximum 255 characters</li>
--   </ul>
nameserver :: Text -> Nameserver

-- | Glue IP address of a name server entry. Glue IP addresses are required
--   only when the name of the name server is a subdomain of the domain.
--   For example, if your domain is example.com and the name server for the
--   domain is ns.example.com, you need to specify the IP address for
--   ns.example.com. Constraints: The list can contain only one IPv4 and
--   one IPv6 address.
nGlueIPs :: Lens' Nameserver [Text]

-- | The fully qualified host name of the name server. Constraint: Maximum
--   255 characters
nName :: Lens' Nameserver Text

-- | OperationSummary includes the following elements.
--   
--   <i>See:</i> <a>operationSummary</a> smart constructor.
data OperationSummary

-- | Creates a value of <a>OperationSummary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osOperationId</a> - Identifier returned to track the requested
--   action.</li>
--   <li><a>osStatus</a> - The current status of the requested operation in
--   the system.</li>
--   <li><a>osType</a> - Type of the action requested.</li>
--   <li><a>osSubmittedDate</a> - The date when the request was
--   submitted.</li>
--   </ul>
operationSummary :: Text -> OperationStatus -> OperationType -> UTCTime -> OperationSummary

-- | Identifier returned to track the requested action.
osOperationId :: Lens' OperationSummary Text

-- | The current status of the requested operation in the system.
osStatus :: Lens' OperationSummary OperationStatus

-- | Type of the action requested.
osType :: Lens' OperationSummary OperationType

-- | The date when the request was submitted.
osSubmittedDate :: Lens' OperationSummary UTCTime

-- | Each tag includes the following elements.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagValue</a> - The value of a tag. Valid values: A-Z, a-z, 0-9,
--   space, ".:/=+-@" Constraints: Each value can be 0-256 characters
--   long.</li>
--   <li><a>tagKey</a> - The key (name) of a tag. Valid values: A-Z, a-z,
--   0-9, space, ".:/=+-@" Constraints: Each key can be 1-128 characters
--   long.</li>
--   </ul>
tag :: Tag

-- | The value of a tag. Valid values: A-Z, a-z, 0-9, space, ".:/=+-@"
--   Constraints: Each value can be 0-256 characters long.
tagValue :: Lens' Tag (Maybe Text)

-- | The key (name) of a tag. Valid values: A-Z, a-z, 0-9, space, ".:/=+-@"
--   Constraints: Each key can be 1-128 characters long.
tagKey :: Lens' Tag (Maybe Text)


-- | This operation transfers a domain from another registrar to Amazon
--   Route 53. When the transfer is complete, the domain is registered
--   either with Amazon Registrar (for .com, .net, and .org domains) or
--   with our registrar associate, Gandi (for all other TLDs).
--   
--   For transfer requirements, a detailed procedure, and information about
--   viewing the status of a domain transfer, see <a>Transferring
--   Registration for a Domain to Amazon Route 53</a> in the <i>Amazon
--   Route 53 Developer Guide</i> .
--   
--   If the registrar for your domain is also the DNS service provider for
--   the domain, we highly recommend that you consider transferring your
--   DNS service to Amazon Route 53 or to another DNS service provider
--   before you transfer your registration. Some registrars provide free
--   DNS service when you purchase a domain registration. When you transfer
--   the registration, the previous registrar will not renew your domain
--   registration and could end your DNS service at any time.
--   
--   <i>Important:</i> If the registrar for your domain is also the DNS
--   service provider for the domain and you don't transfer DNS service to
--   another provider, your website, email, and the web applications
--   associated with the domain might become unavailable.
--   
--   If the transfer is successful, this method returns an operation ID
--   that you can use to track the progress and completion of the action.
--   If the transfer doesn't complete successfully, the domain registrant
--   will be notified by email.
module Network.AWS.Route53Domains.TransferDomain

-- | Creates a value of <a>TransferDomain</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tdPrivacyProtectTechContact</a> - Whether you want to conceal
--   contact information from WHOIS queries. If you specify <tt>true</tt> ,
--   WHOIS ("who is") queries return contact information either for Amazon
--   Registrar (for .com, .net, and .org domains) or for our registrar
--   associate, Gandi (for all other TLDs). If you specify <tt>false</tt> ,
--   WHOIS queries return the information that you entered for the
--   technical contact. Default: <tt>true</tt></li>
--   <li><a>tdPrivacyProtectRegistrantContact</a> - Whether you want to
--   conceal contact information from WHOIS queries. If you specify
--   <tt>true</tt> , WHOIS ("who is") queries return contact information
--   either for Amazon Registrar (for .com, .net, and .org domains) or for
--   our registrar associate, Gandi (for all other TLDs). If you specify
--   <tt>false</tt> , WHOIS queries return the information that you entered
--   for the registrant contact (domain owner). Default: <tt>true</tt></li>
--   <li><a>tdAutoRenew</a> - Indicates whether the domain will be
--   automatically renewed (true) or not (false). Autorenewal only takes
--   effect after the account is charged. Default: true</li>
--   <li><a>tdPrivacyProtectAdminContact</a> - Whether you want to conceal
--   contact information from WHOIS queries. If you specify <tt>true</tt> ,
--   WHOIS ("who is") queries return contact information either for Amazon
--   Registrar (for .com, .net, and .org domains) or for our registrar
--   associate, Gandi (for all other TLDs). If you specify <tt>false</tt> ,
--   WHOIS queries return the information that you entered for the admin
--   contact. Default: <tt>true</tt></li>
--   <li><a>tdIdNLangCode</a> - Reserved for future use.</li>
--   <li><a>tdAuthCode</a> - The authorization code for the domain. You get
--   this value from the current registrar.</li>
--   <li><a>tdNameservers</a> - Contains details for the host and glue IP
--   addresses.</li>
--   <li><a>tdDomainName</a> - The name of the domain that you want to
--   transfer to Amazon Route 53. Constraints: The domain name can contain
--   only the letters a through z, the numbers 0 through 9, and hyphen (-).
--   Internationalized Domain Names are not supported.</li>
--   <li><a>tdDurationInYears</a> - The number of years that you want to
--   register the domain for. Domains are registered for a minimum of one
--   year. The maximum period depends on the top-level domain. Default:
--   1</li>
--   <li><a>tdAdminContact</a> - Provides detailed contact
--   information.</li>
--   <li><a>tdRegistrantContact</a> - Provides detailed contact
--   information.</li>
--   <li><a>tdTechContact</a> - Provides detailed contact information.</li>
--   </ul>
transferDomain :: Text -> Natural -> ContactDetail -> ContactDetail -> ContactDetail -> TransferDomain

-- | The TransferDomain request includes the following elements.
--   
--   <i>See:</i> <a>transferDomain</a> smart constructor.
data TransferDomain

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify <tt>true</tt> , WHOIS ("who is") queries return contact
--   information either for Amazon Registrar (for .com, .net, and .org
--   domains) or for our registrar associate, Gandi (for all other TLDs).
--   If you specify <tt>false</tt> , WHOIS queries return the information
--   that you entered for the technical contact. Default: <tt>true</tt>
tdPrivacyProtectTechContact :: Lens' TransferDomain (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify <tt>true</tt> , WHOIS ("who is") queries return contact
--   information either for Amazon Registrar (for .com, .net, and .org
--   domains) or for our registrar associate, Gandi (for all other TLDs).
--   If you specify <tt>false</tt> , WHOIS queries return the information
--   that you entered for the registrant contact (domain owner). Default:
--   <tt>true</tt>
tdPrivacyProtectRegistrantContact :: Lens' TransferDomain (Maybe Bool)

-- | Indicates whether the domain will be automatically renewed (true) or
--   not (false). Autorenewal only takes effect after the account is
--   charged. Default: true
tdAutoRenew :: Lens' TransferDomain (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify <tt>true</tt> , WHOIS ("who is") queries return contact
--   information either for Amazon Registrar (for .com, .net, and .org
--   domains) or for our registrar associate, Gandi (for all other TLDs).
--   If you specify <tt>false</tt> , WHOIS queries return the information
--   that you entered for the admin contact. Default: <tt>true</tt>
tdPrivacyProtectAdminContact :: Lens' TransferDomain (Maybe Bool)

-- | Reserved for future use.
tdIdNLangCode :: Lens' TransferDomain (Maybe Text)

-- | The authorization code for the domain. You get this value from the
--   current registrar.
tdAuthCode :: Lens' TransferDomain (Maybe Text)

-- | Contains details for the host and glue IP addresses.
tdNameservers :: Lens' TransferDomain [Nameserver]

-- | The name of the domain that you want to transfer to Amazon Route 53.
--   Constraints: The domain name can contain only the letters a through z,
--   the numbers 0 through 9, and hyphen (-). Internationalized Domain
--   Names are not supported.
tdDomainName :: Lens' TransferDomain Text

-- | The number of years that you want to register the domain for. Domains
--   are registered for a minimum of one year. The maximum period depends
--   on the top-level domain. Default: 1
tdDurationInYears :: Lens' TransferDomain Natural

-- | Provides detailed contact information.
tdAdminContact :: Lens' TransferDomain ContactDetail

-- | Provides detailed contact information.
tdRegistrantContact :: Lens' TransferDomain ContactDetail

-- | Provides detailed contact information.
tdTechContact :: Lens' TransferDomain ContactDetail

-- | Creates a value of <a>TransferDomainResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tdrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>tdrsOperationId</a> - Identifier for tracking the progress of
--   the request. To use this ID to query the operation status, use
--   <tt>GetOperationDetail</tt> .</li>
--   </ul>
transferDomainResponse :: Int -> Text -> TransferDomainResponse

-- | The TranserDomain response includes the following element.
--   
--   <i>See:</i> <a>transferDomainResponse</a> smart constructor.
data TransferDomainResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
tdrsResponseStatus :: Lens' TransferDomainResponse Int

-- | Identifier for tracking the progress of the request. To use this ID to
--   query the operation status, use <tt>GetOperationDetail</tt> .
tdrsOperationId :: Lens' TransferDomainResponse Text
instance GHC.Generics.Generic Network.AWS.Route53Domains.TransferDomain.TransferDomainResponse
instance Data.Data.Data Network.AWS.Route53Domains.TransferDomain.TransferDomainResponse
instance GHC.Show.Show Network.AWS.Route53Domains.TransferDomain.TransferDomainResponse
instance GHC.Read.Read Network.AWS.Route53Domains.TransferDomain.TransferDomainResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.TransferDomain.TransferDomainResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.TransferDomain.TransferDomain
instance Data.Data.Data Network.AWS.Route53Domains.TransferDomain.TransferDomain
instance GHC.Show.Show Network.AWS.Route53Domains.TransferDomain.TransferDomain
instance GHC.Classes.Eq Network.AWS.Route53Domains.TransferDomain.TransferDomain
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.TransferDomain.TransferDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.TransferDomain.TransferDomainResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.TransferDomain.TransferDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.TransferDomain.TransferDomain
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.TransferDomain.TransferDomain
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.TransferDomain.TransferDomain
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.TransferDomain.TransferDomain
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.TransferDomain.TransferDomain


-- | This operation returns the AuthCode for the domain. To transfer a
--   domain to another registrar, you provide this value to the new
--   registrar.
module Network.AWS.Route53Domains.RetrieveDomainAuthCode

-- | Creates a value of <a>RetrieveDomainAuthCode</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdacDomainName</a> - The name of the domain that you want to
--   get an authorization code for.</li>
--   </ul>
retrieveDomainAuthCode :: Text -> RetrieveDomainAuthCode

-- | A request for the authorization code for the specified domain. To
--   transfer a domain to another registrar, you provide this value to the
--   new registrar.
--   
--   <i>See:</i> <a>retrieveDomainAuthCode</a> smart constructor.
data RetrieveDomainAuthCode

-- | The name of the domain that you want to get an authorization code for.
rdacDomainName :: Lens' RetrieveDomainAuthCode Text

-- | Creates a value of <a>RetrieveDomainAuthCodeResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdacrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>rdacrsAuthCode</a> - The authorization code for the
--   domain.</li>
--   </ul>
retrieveDomainAuthCodeResponse :: Int -> Text -> RetrieveDomainAuthCodeResponse

-- | The RetrieveDomainAuthCode response includes the following element.
--   
--   <i>See:</i> <a>retrieveDomainAuthCodeResponse</a> smart constructor.
data RetrieveDomainAuthCodeResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rdacrsResponseStatus :: Lens' RetrieveDomainAuthCodeResponse Int

-- | The authorization code for the domain.
rdacrsAuthCode :: Lens' RetrieveDomainAuthCodeResponse Text
instance GHC.Generics.Generic Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCodeResponse
instance Data.Data.Data Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCodeResponse
instance GHC.Show.Show Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCodeResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCodeResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode
instance Data.Data.Data Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode
instance GHC.Show.Show Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode
instance GHC.Read.Read Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode
instance GHC.Classes.Eq Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCodeResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCode


-- | For operations that require confirmation that the email address for
--   the registrant contact is valid, such as registering a new domain,
--   this operation resends the confirmation email to the current email
--   address for the registrant contact.
module Network.AWS.Route53Domains.ResendContactReachabilityEmail

-- | Creates a value of <a>ResendContactReachabilityEmail</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcreDomainName</a> - The name of the domain for which you want
--   Amazon Route 53 to resend a confirmation email to the registrant
--   contact.</li>
--   </ul>
resendContactReachabilityEmail :: ResendContactReachabilityEmail

-- | <i>See:</i> <a>resendContactReachabilityEmail</a> smart constructor.
data ResendContactReachabilityEmail

-- | The name of the domain for which you want Amazon Route 53 to resend a
--   confirmation email to the registrant contact.
rcreDomainName :: Lens' ResendContactReachabilityEmail (Maybe Text)

-- | Creates a value of <a>ResendContactReachabilityEmailResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcrersDomainName</a> - The domain name for which you requested
--   a confirmation email.</li>
--   <li><a>rcrersEmailAddress</a> - The email address for the registrant
--   contact at the time that we sent the verification email.</li>
--   <li><a>rcrersIsAlreadyVerified</a> - <tt>True</tt> if the email
--   address for the registrant contact has already been verified, and
--   <tt>false</tt> otherwise. If the email address has already been
--   verified, we don't send another confirmation email.</li>
--   <li><a>rcrersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
resendContactReachabilityEmailResponse :: Int -> ResendContactReachabilityEmailResponse

-- | <i>See:</i> <a>resendContactReachabilityEmailResponse</a> smart
--   constructor.
data ResendContactReachabilityEmailResponse

-- | The domain name for which you requested a confirmation email.
rcrersDomainName :: Lens' ResendContactReachabilityEmailResponse (Maybe Text)

-- | The email address for the registrant contact at the time that we sent
--   the verification email.
rcrersEmailAddress :: Lens' ResendContactReachabilityEmailResponse (Maybe Text)

-- | <tt>True</tt> if the email address for the registrant contact has
--   already been verified, and <tt>false</tt> otherwise. If the email
--   address has already been verified, we don't send another confirmation
--   email.
rcrersIsAlreadyVerified :: Lens' ResendContactReachabilityEmailResponse (Maybe Bool)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rcrersResponseStatus :: Lens' ResendContactReachabilityEmailResponse Int
instance GHC.Generics.Generic Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmailResponse
instance Data.Data.Data Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmailResponse
instance GHC.Show.Show Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmailResponse
instance GHC.Read.Read Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmailResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmailResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail
instance Data.Data.Data Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail
instance GHC.Show.Show Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail
instance GHC.Read.Read Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail
instance GHC.Classes.Eq Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmailResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmail


-- | This operation renews a domain for the specified number of years. The
--   cost of renewing your domain is billed to your AWS account.
--   
--   We recommend that you renew your domain several weeks before the
--   expiration date. Some TLD registries delete domains before the
--   expiration date if you haven't renewed far enough in advance. For more
--   information about renewing domain registration, see <a>Renewing
--   Registration for a Domain</a> in the Amazon Route 53 Developer Guide.
module Network.AWS.Route53Domains.RenewDomain

-- | Creates a value of <a>RenewDomain</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdDurationInYears</a> - The number of years that you want to
--   renew the domain for. The maximum number of years depends on the
--   top-level domain. For the range of valid values for your domain, see
--   <a>Domains that You Can Register with Amazon Route 53</a> in the
--   <i>Amazon Route 53 Developer Guide</i> . Default: 1</li>
--   <li><a>rdDomainName</a> - The name of the domain that you want to
--   renew.</li>
--   <li><a>rdCurrentExpiryYear</a> - The year when the registration for
--   the domain is set to expire. This value must match the current
--   expiration date for the domain.</li>
--   </ul>
renewDomain :: Text -> Int -> RenewDomain

-- | A <tt>RenewDomain</tt> request includes the number of years that you
--   want to renew for and the current expiration year.
--   
--   <i>See:</i> <a>renewDomain</a> smart constructor.
data RenewDomain

-- | The number of years that you want to renew the domain for. The maximum
--   number of years depends on the top-level domain. For the range of
--   valid values for your domain, see <a>Domains that You Can Register
--   with Amazon Route 53</a> in the <i>Amazon Route 53 Developer Guide</i>
--   . Default: 1
rdDurationInYears :: Lens' RenewDomain (Maybe Natural)

-- | The name of the domain that you want to renew.
rdDomainName :: Lens' RenewDomain Text

-- | The year when the registration for the domain is set to expire. This
--   value must match the current expiration date for the domain.
rdCurrentExpiryYear :: Lens' RenewDomain Int

-- | Creates a value of <a>RenewDomainResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>rrsOperationId</a> - The identifier for tracking the progress
--   of the request. To use this ID to query the operation status, use
--   <tt>GetOperationDetail</tt> .</li>
--   </ul>
renewDomainResponse :: Int -> Text -> RenewDomainResponse

-- | <i>See:</i> <a>renewDomainResponse</a> smart constructor.
data RenewDomainResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rrsResponseStatus :: Lens' RenewDomainResponse Int

-- | The identifier for tracking the progress of the request. To use this
--   ID to query the operation status, use <tt>GetOperationDetail</tt> .
rrsOperationId :: Lens' RenewDomainResponse Text
instance GHC.Generics.Generic Network.AWS.Route53Domains.RenewDomain.RenewDomainResponse
instance Data.Data.Data Network.AWS.Route53Domains.RenewDomain.RenewDomainResponse
instance GHC.Show.Show Network.AWS.Route53Domains.RenewDomain.RenewDomainResponse
instance GHC.Read.Read Network.AWS.Route53Domains.RenewDomain.RenewDomainResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.RenewDomain.RenewDomainResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.RenewDomain.RenewDomain
instance Data.Data.Data Network.AWS.Route53Domains.RenewDomain.RenewDomain
instance GHC.Show.Show Network.AWS.Route53Domains.RenewDomain.RenewDomain
instance GHC.Read.Read Network.AWS.Route53Domains.RenewDomain.RenewDomain
instance GHC.Classes.Eq Network.AWS.Route53Domains.RenewDomain.RenewDomain
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.RenewDomain.RenewDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.RenewDomain.RenewDomainResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.RenewDomain.RenewDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.RenewDomain.RenewDomain
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.RenewDomain.RenewDomain
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.RenewDomain.RenewDomain
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.RenewDomain.RenewDomain
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.RenewDomain.RenewDomain


-- | This operation registers a domain. Domains are registered either by
--   Amazon Registrar (for .com, .net, and .org domains) or by our
--   registrar associate, Gandi (for all other domains). For some top-level
--   domains (TLDs), this operation requires extra parameters.
--   
--   When you register a domain, Amazon Route 53 does the following:
--   
--   <ul>
--   <li>Creates a Amazon Route 53 hosted zone that has the same name as
--   the domain. Amazon Route 53 assigns four name servers to your hosted
--   zone and automatically updates your domain registration with the names
--   of these name servers.</li>
--   <li>Enables autorenew, so your domain registration will renew
--   automatically each year. We'll notify you in advance of the renewal
--   date so you can choose whether to renew the registration.</li>
--   <li>Optionally enables privacy protection, so WHOIS queries return
--   contact information either for Amazon Registrar (for .com, .net, and
--   .org domains) or for our registrar associate, Gandi (for all other
--   TLDs). If you don't enable privacy protection, WHOIS queries return
--   the information that you entered for the registrant, admin, and tech
--   contacts.</li>
--   <li>If registration is successful, returns an operation ID that you
--   can use to track the progress and completion of the action. If the
--   request is not completed successfully, the domain registrant is
--   notified by email.</li>
--   <li>Charges your AWS account an amount based on the top-level domain.
--   For more information, see <a>Amazon Route 53 Pricing</a> .</li>
--   </ul>
module Network.AWS.Route53Domains.RegisterDomain

-- | Creates a value of <a>RegisterDomain</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rPrivacyProtectTechContact</a> - Whether you want to conceal
--   contact information from WHOIS queries. If you specify <tt>true</tt> ,
--   WHOIS ("who is") queries return contact information either for Amazon
--   Registrar (for .com, .net, and .org domains) or for our registrar
--   associate, Gandi (for all other TLDs). If you specify <tt>false</tt> ,
--   WHOIS queries return the information that you entered for the
--   technical contact. Default: <tt>true</tt></li>
--   <li><a>rPrivacyProtectRegistrantContact</a> - Whether you want to
--   conceal contact information from WHOIS queries. If you specify
--   <tt>true</tt> , WHOIS ("who is") queries return contact information
--   either for Amazon Registrar (for .com, .net, and .org domains) or for
--   our registrar associate, Gandi (for all other TLDs). If you specify
--   <tt>false</tt> , WHOIS queries return the information that you entered
--   for the registrant contact (the domain owner). Default:
--   <tt>true</tt></li>
--   <li><a>rAutoRenew</a> - Indicates whether the domain will be
--   automatically renewed (<tt>true</tt> ) or not (<tt>false</tt> ).
--   Autorenewal only takes effect after the account is charged. Default:
--   <tt>true</tt></li>
--   <li><a>rPrivacyProtectAdminContact</a> - Whether you want to conceal
--   contact information from WHOIS queries. If you specify <tt>true</tt> ,
--   WHOIS ("who is") queries return contact information either for Amazon
--   Registrar (for .com, .net, and .org domains) or for our registrar
--   associate, Gandi (for all other TLDs). If you specify <tt>false</tt> ,
--   WHOIS queries return the information that you entered for the admin
--   contact. Default: <tt>true</tt></li>
--   <li><a>rIdNLangCode</a> - Reserved for future use.</li>
--   <li><a>rDomainName</a> - The domain name that you want to register.
--   Constraints: The domain name can contain only the letters a through z,
--   the numbers 0 through 9, and hyphen (-). Internationalized Domain
--   Names are not supported.</li>
--   <li><a>rDurationInYears</a> - The number of years that you want to
--   register the domain for. Domains are registered for a minimum of one
--   year. The maximum period depends on the top-level domain. For the
--   range of valid values for your domain, see <a>Domains that You Can
--   Register with Amazon Route 53</a> in the <i>Amazon Route 53 Developer
--   Guide</i> . Default: 1</li>
--   <li><a>rAdminContact</a> - Provides detailed contact information.</li>
--   <li><a>rRegistrantContact</a> - Provides detailed contact
--   information.</li>
--   <li><a>rTechContact</a> - Provides detailed contact information.</li>
--   </ul>
registerDomain :: Text -> Natural -> ContactDetail -> ContactDetail -> ContactDetail -> RegisterDomain

-- | The RegisterDomain request includes the following elements.
--   
--   <i>See:</i> <a>registerDomain</a> smart constructor.
data RegisterDomain

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify <tt>true</tt> , WHOIS ("who is") queries return contact
--   information either for Amazon Registrar (for .com, .net, and .org
--   domains) or for our registrar associate, Gandi (for all other TLDs).
--   If you specify <tt>false</tt> , WHOIS queries return the information
--   that you entered for the technical contact. Default: <tt>true</tt>
rPrivacyProtectTechContact :: Lens' RegisterDomain (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify <tt>true</tt> , WHOIS ("who is") queries return contact
--   information either for Amazon Registrar (for .com, .net, and .org
--   domains) or for our registrar associate, Gandi (for all other TLDs).
--   If you specify <tt>false</tt> , WHOIS queries return the information
--   that you entered for the registrant contact (the domain owner).
--   Default: <tt>true</tt>
rPrivacyProtectRegistrantContact :: Lens' RegisterDomain (Maybe Bool)

-- | Indicates whether the domain will be automatically renewed
--   (<tt>true</tt> ) or not (<tt>false</tt> ). Autorenewal only takes
--   effect after the account is charged. Default: <tt>true</tt>
rAutoRenew :: Lens' RegisterDomain (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify <tt>true</tt> , WHOIS ("who is") queries return contact
--   information either for Amazon Registrar (for .com, .net, and .org
--   domains) or for our registrar associate, Gandi (for all other TLDs).
--   If you specify <tt>false</tt> , WHOIS queries return the information
--   that you entered for the admin contact. Default: <tt>true</tt>
rPrivacyProtectAdminContact :: Lens' RegisterDomain (Maybe Bool)

-- | Reserved for future use.
rIdNLangCode :: Lens' RegisterDomain (Maybe Text)

-- | The domain name that you want to register. Constraints: The domain
--   name can contain only the letters a through z, the numbers 0 through
--   9, and hyphen (-). Internationalized Domain Names are not supported.
rDomainName :: Lens' RegisterDomain Text

-- | The number of years that you want to register the domain for. Domains
--   are registered for a minimum of one year. The maximum period depends
--   on the top-level domain. For the range of valid values for your
--   domain, see <a>Domains that You Can Register with Amazon Route 53</a>
--   in the <i>Amazon Route 53 Developer Guide</i> . Default: 1
rDurationInYears :: Lens' RegisterDomain Natural

-- | Provides detailed contact information.
rAdminContact :: Lens' RegisterDomain ContactDetail

-- | Provides detailed contact information.
rRegistrantContact :: Lens' RegisterDomain ContactDetail

-- | Provides detailed contact information.
rTechContact :: Lens' RegisterDomain ContactDetail

-- | Creates a value of <a>RegisterDomainResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>rdrsOperationId</a> - Identifier for tracking the progress of
--   the request. To use this ID to query the operation status, use
--   <tt>GetOperationDetail</tt> .</li>
--   </ul>
registerDomainResponse :: Int -> Text -> RegisterDomainResponse

-- | The RegisterDomain response includes the following element.
--   
--   <i>See:</i> <a>registerDomainResponse</a> smart constructor.
data RegisterDomainResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rdrsResponseStatus :: Lens' RegisterDomainResponse Int

-- | Identifier for tracking the progress of the request. To use this ID to
--   query the operation status, use <tt>GetOperationDetail</tt> .
rdrsOperationId :: Lens' RegisterDomainResponse Text
instance GHC.Generics.Generic Network.AWS.Route53Domains.RegisterDomain.RegisterDomainResponse
instance Data.Data.Data Network.AWS.Route53Domains.RegisterDomain.RegisterDomainResponse
instance GHC.Show.Show Network.AWS.Route53Domains.RegisterDomain.RegisterDomainResponse
instance GHC.Read.Read Network.AWS.Route53Domains.RegisterDomain.RegisterDomainResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.RegisterDomain.RegisterDomainResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.RegisterDomain.RegisterDomain
instance Data.Data.Data Network.AWS.Route53Domains.RegisterDomain.RegisterDomain
instance GHC.Show.Show Network.AWS.Route53Domains.RegisterDomain.RegisterDomain
instance GHC.Classes.Eq Network.AWS.Route53Domains.RegisterDomain.RegisterDomain
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.RegisterDomain.RegisterDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.RegisterDomain.RegisterDomainResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.RegisterDomain.RegisterDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.RegisterDomain.RegisterDomain
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.RegisterDomain.RegisterDomain
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.RegisterDomain.RegisterDomain
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.RegisterDomain.RegisterDomain
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.RegisterDomain.RegisterDomain


-- | This operation returns all of the tags that are associated with the
--   specified domain.
--   
--   All tag operations are eventually consistent; subsequent operations
--   might not immediately represent all issued operations.
module Network.AWS.Route53Domains.ListTagsForDomain

-- | Creates a value of <a>ListTagsForDomain</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltfdDomainName</a> - The domain for which you want to get a
--   list of tags.</li>
--   </ul>
listTagsForDomain :: Text -> ListTagsForDomain

-- | The ListTagsForDomainRequest includes the following elements.
--   
--   <i>See:</i> <a>listTagsForDomain</a> smart constructor.
data ListTagsForDomain

-- | The domain for which you want to get a list of tags.
ltfdDomainName :: Lens' ListTagsForDomain Text

-- | Creates a value of <a>ListTagsForDomainResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltfdrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>ltfdrsTagList</a> - A list of the tags that are associated with
--   the specified domain.</li>
--   </ul>
listTagsForDomainResponse :: Int -> ListTagsForDomainResponse

-- | The ListTagsForDomain response includes the following elements.
--   
--   <i>See:</i> <a>listTagsForDomainResponse</a> smart constructor.
data ListTagsForDomainResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ltfdrsResponseStatus :: Lens' ListTagsForDomainResponse Int

-- | A list of the tags that are associated with the specified domain.
ltfdrsTagList :: Lens' ListTagsForDomainResponse [Tag]
instance GHC.Generics.Generic Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomainResponse
instance Data.Data.Data Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomainResponse
instance GHC.Show.Show Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomainResponse
instance GHC.Read.Read Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomainResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomainResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain
instance Data.Data.Data Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain
instance GHC.Show.Show Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain
instance GHC.Read.Read Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain
instance GHC.Classes.Eq Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomainResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomain


-- | This operation returns the operation IDs of operations that are not
--   yet complete.
--   
--   This operation returns paginated results.
module Network.AWS.Route53Domains.ListOperations

-- | Creates a value of <a>ListOperations</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>loMarker</a> - For an initial request for a list of operations,
--   omit this element. If the number of operations that are not yet
--   complete is greater than the value that you specified for
--   <tt>MaxItems</tt> , you can use <tt>Marker</tt> to return additional
--   operations. Get the value of <tt>NextPageMarker</tt> from the previous
--   response, and submit another request that includes the value of
--   <tt>NextPageMarker</tt> in the <tt>Marker</tt> element.</li>
--   <li><a>loMaxItems</a> - Number of domains to be returned. Default:
--   20</li>
--   <li><a>loSubmittedSince</a> - An optional parameter that lets you get
--   information about all the operations that you submitted after a
--   specified date and time. Specify the date and time in Coordinated
--   Universal time (UTC).</li>
--   </ul>
listOperations :: ListOperations

-- | The ListOperations request includes the following elements.
--   
--   <i>See:</i> <a>listOperations</a> smart constructor.
data ListOperations

-- | For an initial request for a list of operations, omit this element. If
--   the number of operations that are not yet complete is greater than the
--   value that you specified for <tt>MaxItems</tt> , you can use
--   <tt>Marker</tt> to return additional operations. Get the value of
--   <tt>NextPageMarker</tt> from the previous response, and submit another
--   request that includes the value of <tt>NextPageMarker</tt> in the
--   <tt>Marker</tt> element.
loMarker :: Lens' ListOperations (Maybe Text)

-- | Number of domains to be returned. Default: 20
loMaxItems :: Lens' ListOperations (Maybe Int)

-- | An optional parameter that lets you get information about all the
--   operations that you submitted after a specified date and time. Specify
--   the date and time in Coordinated Universal time (UTC).
loSubmittedSince :: Lens' ListOperations (Maybe UTCTime)

-- | Creates a value of <a>ListOperationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lorsNextPageMarker</a> - If there are more operations than you
--   specified for <tt>MaxItems</tt> in the request, submit another request
--   and include the value of <tt>NextPageMarker</tt> in the value of
--   <tt>Marker</tt> .</li>
--   <li><a>lorsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>lorsOperations</a> - Lists summaries of the operations.</li>
--   </ul>
listOperationsResponse :: Int -> ListOperationsResponse

-- | The ListOperations response includes the following elements.
--   
--   <i>See:</i> <a>listOperationsResponse</a> smart constructor.
data ListOperationsResponse

-- | If there are more operations than you specified for <tt>MaxItems</tt>
--   in the request, submit another request and include the value of
--   <tt>NextPageMarker</tt> in the value of <tt>Marker</tt> .
lorsNextPageMarker :: Lens' ListOperationsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lorsResponseStatus :: Lens' ListOperationsResponse Int

-- | Lists summaries of the operations.
lorsOperations :: Lens' ListOperationsResponse [OperationSummary]
instance GHC.Generics.Generic Network.AWS.Route53Domains.ListOperations.ListOperationsResponse
instance Data.Data.Data Network.AWS.Route53Domains.ListOperations.ListOperationsResponse
instance GHC.Show.Show Network.AWS.Route53Domains.ListOperations.ListOperationsResponse
instance GHC.Read.Read Network.AWS.Route53Domains.ListOperations.ListOperationsResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.ListOperations.ListOperationsResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.ListOperations.ListOperations
instance Data.Data.Data Network.AWS.Route53Domains.ListOperations.ListOperations
instance GHC.Show.Show Network.AWS.Route53Domains.ListOperations.ListOperations
instance GHC.Read.Read Network.AWS.Route53Domains.ListOperations.ListOperations
instance GHC.Classes.Eq Network.AWS.Route53Domains.ListOperations.ListOperations
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.ListOperations.ListOperations
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ListOperations.ListOperationsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.Route53Domains.ListOperations.ListOperations
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.ListOperations.ListOperations
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ListOperations.ListOperations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.ListOperations.ListOperations
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.ListOperations.ListOperations
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.ListOperations.ListOperations
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.ListOperations.ListOperations


-- | This operation returns all the domain names registered with Amazon
--   Route 53 for the current AWS account.
--   
--   This operation returns paginated results.
module Network.AWS.Route53Domains.ListDomains

-- | Creates a value of <a>ListDomains</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldMarker</a> - For an initial request for a list of domains,
--   omit this element. If the number of domains that are associated with
--   the current AWS account is greater than the value that you specified
--   for <tt>MaxItems</tt> , you can use <tt>Marker</tt> to return
--   additional domains. Get the value of <tt>NextPageMarker</tt> from the
--   previous response, and submit another request that includes the value
--   of <tt>NextPageMarker</tt> in the <tt>Marker</tt> element.
--   Constraints: The marker must match the value specified in the previous
--   request.</li>
--   <li><a>ldMaxItems</a> - Number of domains to be returned. Default:
--   20</li>
--   </ul>
listDomains :: ListDomains

-- | The ListDomains request includes the following elements.
--   
--   <i>See:</i> <a>listDomains</a> smart constructor.
data ListDomains

-- | For an initial request for a list of domains, omit this element. If
--   the number of domains that are associated with the current AWS account
--   is greater than the value that you specified for <tt>MaxItems</tt> ,
--   you can use <tt>Marker</tt> to return additional domains. Get the
--   value of <tt>NextPageMarker</tt> from the previous response, and
--   submit another request that includes the value of
--   <tt>NextPageMarker</tt> in the <tt>Marker</tt> element. Constraints:
--   The marker must match the value specified in the previous request.
ldMarker :: Lens' ListDomains (Maybe Text)

-- | Number of domains to be returned. Default: 20
ldMaxItems :: Lens' ListDomains (Maybe Int)

-- | Creates a value of <a>ListDomainsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldrsNextPageMarker</a> - If there are more domains than you
--   specified for <tt>MaxItems</tt> in the request, submit another request
--   and include the value of <tt>NextPageMarker</tt> in the value of
--   <tt>Marker</tt> .</li>
--   <li><a>ldrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>ldrsDomains</a> - A summary of domains.</li>
--   </ul>
listDomainsResponse :: Int -> ListDomainsResponse

-- | The ListDomains response includes the following elements.
--   
--   <i>See:</i> <a>listDomainsResponse</a> smart constructor.
data ListDomainsResponse

-- | If there are more domains than you specified for <tt>MaxItems</tt> in
--   the request, submit another request and include the value of
--   <tt>NextPageMarker</tt> in the value of <tt>Marker</tt> .
ldrsNextPageMarker :: Lens' ListDomainsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ldrsResponseStatus :: Lens' ListDomainsResponse Int

-- | A summary of domains.
ldrsDomains :: Lens' ListDomainsResponse [DomainSummary]
instance GHC.Generics.Generic Network.AWS.Route53Domains.ListDomains.ListDomainsResponse
instance Data.Data.Data Network.AWS.Route53Domains.ListDomains.ListDomainsResponse
instance GHC.Show.Show Network.AWS.Route53Domains.ListDomains.ListDomainsResponse
instance GHC.Read.Read Network.AWS.Route53Domains.ListDomains.ListDomainsResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.ListDomains.ListDomainsResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.ListDomains.ListDomains
instance Data.Data.Data Network.AWS.Route53Domains.ListDomains.ListDomains
instance GHC.Show.Show Network.AWS.Route53Domains.ListDomains.ListDomains
instance GHC.Read.Read Network.AWS.Route53Domains.ListDomains.ListDomains
instance GHC.Classes.Eq Network.AWS.Route53Domains.ListDomains.ListDomains
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.ListDomains.ListDomains
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ListDomains.ListDomainsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.Route53Domains.ListDomains.ListDomains
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.ListDomains.ListDomains
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ListDomains.ListDomains
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.ListDomains.ListDomains
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.ListDomains.ListDomains
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.ListDomains.ListDomains
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.ListDomains.ListDomains


-- | This operation returns the current status of an operation that is not
--   completed.
module Network.AWS.Route53Domains.GetOperationDetail

-- | Creates a value of <a>GetOperationDetail</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>godOperationId</a> - The identifier for the operation for which
--   you want to get the status. Amazon Route 53 returned the identifier in
--   the response to the original request.</li>
--   </ul>
getOperationDetail :: Text -> GetOperationDetail

-- | The <a>GetOperationDetail</a> request includes the following element.
--   
--   <i>See:</i> <a>getOperationDetail</a> smart constructor.
data GetOperationDetail

-- | The identifier for the operation for which you want to get the status.
--   Amazon Route 53 returned the identifier in the response to the
--   original request.
godOperationId :: Lens' GetOperationDetail Text

-- | Creates a value of <a>GetOperationDetailResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>godrsStatus</a> - The current status of the requested operation
--   in the system.</li>
--   <li><a>godrsSubmittedDate</a> - The date when the request was
--   submitted.</li>
--   <li><a>godrsDomainName</a> - The name of a domain.</li>
--   <li><a>godrsOperationId</a> - The identifier for the operation.</li>
--   <li><a>godrsType</a> - The type of operation that was requested.</li>
--   <li><a>godrsMessage</a> - Detailed information on the status including
--   possible errors.</li>
--   <li><a>godrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getOperationDetailResponse :: Int -> GetOperationDetailResponse

-- | The GetOperationDetail response includes the following elements.
--   
--   <i>See:</i> <a>getOperationDetailResponse</a> smart constructor.
data GetOperationDetailResponse

-- | The current status of the requested operation in the system.
godrsStatus :: Lens' GetOperationDetailResponse (Maybe OperationStatus)

-- | The date when the request was submitted.
godrsSubmittedDate :: Lens' GetOperationDetailResponse (Maybe UTCTime)

-- | The name of a domain.
godrsDomainName :: Lens' GetOperationDetailResponse (Maybe Text)

-- | The identifier for the operation.
godrsOperationId :: Lens' GetOperationDetailResponse (Maybe Text)

-- | The type of operation that was requested.
godrsType :: Lens' GetOperationDetailResponse (Maybe OperationType)

-- | Detailed information on the status including possible errors.
godrsMessage :: Lens' GetOperationDetailResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
godrsResponseStatus :: Lens' GetOperationDetailResponse Int
instance GHC.Generics.Generic Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetailResponse
instance Data.Data.Data Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetailResponse
instance GHC.Show.Show Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetailResponse
instance GHC.Read.Read Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetailResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetailResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail
instance Data.Data.Data Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail
instance GHC.Show.Show Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail
instance GHC.Read.Read Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail
instance GHC.Classes.Eq Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetailResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetail


-- | The GetDomainSuggestions operation returns a list of suggested domain
--   names given a string, which can either be a domain name or simply a
--   word or phrase (without spaces).
module Network.AWS.Route53Domains.GetDomainSuggestions

-- | Creates a value of <a>GetDomainSuggestions</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdsDomainName</a> - A domain name that you want to use as the
--   basis for a list of possible domain names. The domain name must
--   contain a top-level domain (TLD), such as .com, that Amazon Route 53
--   supports. For a list of TLDs, see <a>Domains that You Can Register
--   with Amazon Route 53</a> in the <i>Amazon Route 53 Developer Guide</i>
--   .</li>
--   <li><a>gdsSuggestionCount</a> - The number of suggested domain names
--   that you want Amazon Route 53 to return.</li>
--   <li><a>gdsOnlyAvailable</a> - If <tt>OnlyAvailable</tt> is
--   <tt>true</tt> , Amazon Route 53 returns only domain names that are
--   available. If <tt>OnlyAvailable</tt> is <tt>false</tt> , Amazon Route
--   53 returns domain names without checking whether they're available to
--   be registered. To determine whether the domain is available, you can
--   call <tt>checkDomainAvailability</tt> for each suggestion.</li>
--   </ul>
getDomainSuggestions :: Text -> Int -> Bool -> GetDomainSuggestions

-- | <i>See:</i> <a>getDomainSuggestions</a> smart constructor.
data GetDomainSuggestions

-- | A domain name that you want to use as the basis for a list of possible
--   domain names. The domain name must contain a top-level domain (TLD),
--   such as .com, that Amazon Route 53 supports. For a list of TLDs, see
--   <a>Domains that You Can Register with Amazon Route 53</a> in the
--   <i>Amazon Route 53 Developer Guide</i> .
gdsDomainName :: Lens' GetDomainSuggestions Text

-- | The number of suggested domain names that you want Amazon Route 53 to
--   return.
gdsSuggestionCount :: Lens' GetDomainSuggestions Int

-- | If <tt>OnlyAvailable</tt> is <tt>true</tt> , Amazon Route 53 returns
--   only domain names that are available. If <tt>OnlyAvailable</tt> is
--   <tt>false</tt> , Amazon Route 53 returns domain names without checking
--   whether they're available to be registered. To determine whether the
--   domain is available, you can call <tt>checkDomainAvailability</tt> for
--   each suggestion.
gdsOnlyAvailable :: Lens' GetDomainSuggestions Bool

-- | Creates a value of <a>GetDomainSuggestionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdsrsSuggestionsList</a> - A list of possible domain names. If
--   you specified <tt>true</tt> for <tt>OnlyAvailable</tt> in the request,
--   the list contains only domains that are available for
--   registration.</li>
--   <li><a>gdsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDomainSuggestionsResponse :: Int -> GetDomainSuggestionsResponse

-- | <i>See:</i> <a>getDomainSuggestionsResponse</a> smart constructor.
data GetDomainSuggestionsResponse

-- | A list of possible domain names. If you specified <tt>true</tt> for
--   <tt>OnlyAvailable</tt> in the request, the list contains only domains
--   that are available for registration.
gdsrsSuggestionsList :: Lens' GetDomainSuggestionsResponse [DomainSuggestion]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gdsrsResponseStatus :: Lens' GetDomainSuggestionsResponse Int
instance GHC.Generics.Generic Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestionsResponse
instance Data.Data.Data Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestionsResponse
instance GHC.Show.Show Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestionsResponse
instance GHC.Read.Read Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestionsResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestionsResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions
instance Data.Data.Data Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions
instance GHC.Show.Show Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions
instance GHC.Read.Read Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions
instance GHC.Classes.Eq Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestionsResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestions


-- | This operation returns detailed information about a specified domain
--   that is associated with the current AWS account. Contact information
--   for the domain is also returned as part of the output.
module Network.AWS.Route53Domains.GetDomainDetail

-- | Creates a value of <a>GetDomainDetail</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gddDomainName</a> - The name of the domain that you want to get
--   detailed information about.</li>
--   </ul>
getDomainDetail :: Text -> GetDomainDetail

-- | The GetDomainDetail request includes the following element.
--   
--   <i>See:</i> <a>getDomainDetail</a> smart constructor.
data GetDomainDetail

-- | The name of the domain that you want to get detailed information
--   about.
gddDomainName :: Lens' GetDomainDetail Text

-- | Creates a value of <a>GetDomainDetailResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gddrsTechPrivacy</a> - Specifies whether contact information is
--   concealed from WHOIS queries. If the value is <tt>true</tt> , WHOIS
--   ("who is") queries return contact information either for Amazon
--   Registrar (for .com, .net, and .org domains) or for our registrar
--   associate, Gandi (for all other TLDs). If the value is <tt>false</tt>
--   , WHOIS queries return the information that you entered for the
--   technical contact.</li>
--   <li><a>gddrsDNSSec</a> - Reserved for future use.</li>
--   <li><a>gddrsWhoIsServer</a> - The fully qualified name of the WHOIS
--   server that can answer the WHOIS query for the domain.</li>
--   <li><a>gddrsRegistryDomainId</a> - Reserved for future use.</li>
--   <li><a>gddrsRegistrantPrivacy</a> - Specifies whether contact
--   information is concealed from WHOIS queries. If the value is
--   <tt>true</tt> , WHOIS ("who is") queries return contact information
--   either for Amazon Registrar (for .com, .net, and .org domains) or for
--   our registrar associate, Gandi (for all other TLDs). If the value is
--   <tt>false</tt> , WHOIS queries return the information that you entered
--   for the registrant contact (domain owner).</li>
--   <li><a>gddrsUpdatedDate</a> - The last updated date of the domain as
--   found in the response to a WHOIS query. The date and time is in
--   Coordinated Universal time (UTC).</li>
--   <li><a>gddrsAdminPrivacy</a> - Specifies whether contact information
--   is concealed from WHOIS queries. If the value is <tt>true</tt> , WHOIS
--   ("who is") queries return contact information either for Amazon
--   Registrar (for .com, .net, and .org domains) or for our registrar
--   associate, Gandi (for all other TLDs). If the value is <tt>false</tt>
--   , WHOIS queries return the information that you entered for the admin
--   contact.</li>
--   <li><a>gddrsAutoRenew</a> - Specifies whether the domain registration
--   is set to renew automatically.</li>
--   <li><a>gddrsAbuseContactPhone</a> - Phone number for reporting
--   abuse.</li>
--   <li><a>gddrsRegistrarURL</a> - Web address of the registrar.</li>
--   <li><a>gddrsAbuseContactEmail</a> - Email address to contact to report
--   incorrect contact information for a domain, to report that the domain
--   is being used to send spam, to report that someone is cybersquatting
--   on a domain name, or report some other type of abuse.</li>
--   <li><a>gddrsExpirationDate</a> - The date when the registration for
--   the domain is set to expire. The date and time is in Coordinated
--   Universal time (UTC).</li>
--   <li><a>gddrsCreationDate</a> - The date when the domain was created as
--   found in the response to a WHOIS query. The date and time is in
--   Coordinated Universal time (UTC).</li>
--   <li><a>gddrsRegistrarName</a> - Name of the registrar of the domain as
--   identified in the registry. Domains with a .com, .net, or .org TLD are
--   registered by Amazon Registrar. All other domains are registered by
--   our registrar associate, Gandi. The value for domains that are
--   registered by Gandi is <tt>"GANDI SAS"</tt> .</li>
--   <li><a>gddrsReseller</a> - Reseller of the domain. Domains registered
--   or transferred using Amazon Route 53 domains will have
--   <tt><a>Amazon</a></tt> as the reseller.</li>
--   <li><a>gddrsStatusList</a> - An array of domain name status codes,
--   also known as Extensible Provisioning Protocol (EPP) status codes.
--   ICANN, the organization that maintains a central database of domain
--   names, has developed a set of domain name status codes that tell you
--   the status of a variety of operations on a domain name, for example,
--   registering a domain name, transferring a domain name to another
--   registrar, renewing the registration for a domain name, and so on. All
--   registrars use this same set of status codes. For a current list of
--   domain name status codes and an explanation of what each code means,
--   go to the <a>ICANN website</a> and search for <tt>epp status
--   codes</tt> . (Search on the ICANN website; web searches sometimes
--   return an old version of the document.)</li>
--   <li><a>gddrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>gddrsDomainName</a> - The name of a domain.</li>
--   <li><a>gddrsNameservers</a> - The name of the domain.</li>
--   <li><a>gddrsAdminContact</a> - Provides details about the domain
--   administrative contact.</li>
--   <li><a>gddrsRegistrantContact</a> - Provides details about the domain
--   registrant.</li>
--   <li><a>gddrsTechContact</a> - Provides details about the domain
--   technical contact.</li>
--   </ul>
getDomainDetailResponse :: Int -> Text -> ContactDetail -> ContactDetail -> ContactDetail -> GetDomainDetailResponse

-- | The GetDomainDetail response includes the following elements.
--   
--   <i>See:</i> <a>getDomainDetailResponse</a> smart constructor.
data GetDomainDetailResponse

-- | Specifies whether contact information is concealed from WHOIS queries.
--   If the value is <tt>true</tt> , WHOIS ("who is") queries return
--   contact information either for Amazon Registrar (for .com, .net, and
--   .org domains) or for our registrar associate, Gandi (for all other
--   TLDs). If the value is <tt>false</tt> , WHOIS queries return the
--   information that you entered for the technical contact.
gddrsTechPrivacy :: Lens' GetDomainDetailResponse (Maybe Bool)

-- | Reserved for future use.
gddrsDNSSec :: Lens' GetDomainDetailResponse (Maybe Text)

-- | The fully qualified name of the WHOIS server that can answer the WHOIS
--   query for the domain.
gddrsWhoIsServer :: Lens' GetDomainDetailResponse (Maybe Text)

-- | Reserved for future use.
gddrsRegistryDomainId :: Lens' GetDomainDetailResponse (Maybe Text)

-- | Specifies whether contact information is concealed from WHOIS queries.
--   If the value is <tt>true</tt> , WHOIS ("who is") queries return
--   contact information either for Amazon Registrar (for .com, .net, and
--   .org domains) or for our registrar associate, Gandi (for all other
--   TLDs). If the value is <tt>false</tt> , WHOIS queries return the
--   information that you entered for the registrant contact (domain
--   owner).
gddrsRegistrantPrivacy :: Lens' GetDomainDetailResponse (Maybe Bool)

-- | The last updated date of the domain as found in the response to a
--   WHOIS query. The date and time is in Coordinated Universal time (UTC).
gddrsUpdatedDate :: Lens' GetDomainDetailResponse (Maybe UTCTime)

-- | Specifies whether contact information is concealed from WHOIS queries.
--   If the value is <tt>true</tt> , WHOIS ("who is") queries return
--   contact information either for Amazon Registrar (for .com, .net, and
--   .org domains) or for our registrar associate, Gandi (for all other
--   TLDs). If the value is <tt>false</tt> , WHOIS queries return the
--   information that you entered for the admin contact.
gddrsAdminPrivacy :: Lens' GetDomainDetailResponse (Maybe Bool)

-- | Specifies whether the domain registration is set to renew
--   automatically.
gddrsAutoRenew :: Lens' GetDomainDetailResponse (Maybe Bool)

-- | Phone number for reporting abuse.
gddrsAbuseContactPhone :: Lens' GetDomainDetailResponse (Maybe Text)

-- | Web address of the registrar.
gddrsRegistrarURL :: Lens' GetDomainDetailResponse (Maybe Text)

-- | Email address to contact to report incorrect contact information for a
--   domain, to report that the domain is being used to send spam, to
--   report that someone is cybersquatting on a domain name, or report some
--   other type of abuse.
gddrsAbuseContactEmail :: Lens' GetDomainDetailResponse (Maybe Text)

-- | The date when the registration for the domain is set to expire. The
--   date and time is in Coordinated Universal time (UTC).
gddrsExpirationDate :: Lens' GetDomainDetailResponse (Maybe UTCTime)

-- | The date when the domain was created as found in the response to a
--   WHOIS query. The date and time is in Coordinated Universal time (UTC).
gddrsCreationDate :: Lens' GetDomainDetailResponse (Maybe UTCTime)

-- | Name of the registrar of the domain as identified in the registry.
--   Domains with a .com, .net, or .org TLD are registered by Amazon
--   Registrar. All other domains are registered by our registrar
--   associate, Gandi. The value for domains that are registered by Gandi
--   is <tt>"GANDI SAS"</tt> .
gddrsRegistrarName :: Lens' GetDomainDetailResponse (Maybe Text)

-- | Reseller of the domain. Domains registered or transferred using Amazon
--   Route 53 domains will have <tt><a>Amazon</a></tt> as the reseller.
gddrsReseller :: Lens' GetDomainDetailResponse (Maybe Text)

-- | An array of domain name status codes, also known as Extensible
--   Provisioning Protocol (EPP) status codes. ICANN, the organization that
--   maintains a central database of domain names, has developed a set of
--   domain name status codes that tell you the status of a variety of
--   operations on a domain name, for example, registering a domain name,
--   transferring a domain name to another registrar, renewing the
--   registration for a domain name, and so on. All registrars use this
--   same set of status codes. For a current list of domain name status
--   codes and an explanation of what each code means, go to the <a>ICANN
--   website</a> and search for <tt>epp status codes</tt> . (Search on the
--   ICANN website; web searches sometimes return an old version of the
--   document.)
gddrsStatusList :: Lens' GetDomainDetailResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gddrsResponseStatus :: Lens' GetDomainDetailResponse Int

-- | The name of a domain.
gddrsDomainName :: Lens' GetDomainDetailResponse Text

-- | The name of the domain.
gddrsNameservers :: Lens' GetDomainDetailResponse [Nameserver]

-- | Provides details about the domain administrative contact.
gddrsAdminContact :: Lens' GetDomainDetailResponse ContactDetail

-- | Provides details about the domain registrant.
gddrsRegistrantContact :: Lens' GetDomainDetailResponse ContactDetail

-- | Provides details about the domain technical contact.
gddrsTechContact :: Lens' GetDomainDetailResponse ContactDetail
instance GHC.Generics.Generic Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetailResponse
instance Data.Data.Data Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetailResponse
instance GHC.Show.Show Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetailResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetailResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail
instance Data.Data.Data Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail
instance GHC.Show.Show Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail
instance GHC.Read.Read Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail
instance GHC.Classes.Eq Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetailResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetail


-- | For operations that require confirmation that the email address for
--   the registrant contact is valid, such as registering a new domain,
--   this operation returns information about whether the registrant
--   contact has responded.
--   
--   If you want us to resend the email, use the
--   <tt>ResendContactReachabilityEmail</tt> operation.
module Network.AWS.Route53Domains.GetContactReachabilityStatus

-- | Creates a value of <a>GetContactReachabilityStatus</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcrsDomainName</a> - The name of the domain for which you want
--   to know whether the registrant contact has confirmed that the email
--   address is valid.</li>
--   </ul>
getContactReachabilityStatus :: GetContactReachabilityStatus

-- | <i>See:</i> <a>getContactReachabilityStatus</a> smart constructor.
data GetContactReachabilityStatus

-- | The name of the domain for which you want to know whether the
--   registrant contact has confirmed that the email address is valid.
gcrsDomainName :: Lens' GetContactReachabilityStatus (Maybe Text)

-- | Creates a value of <a>GetContactReachabilityStatusResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcrsrsStatus</a> - Whether the registrant contact has
--   responded. Values include the following: * PENDING * We sent the
--   confirmation email and haven't received a response yet. * DONE * We
--   sent the email and got confirmation from the registrant contact. *
--   EXPIRED * The time limit expired before the registrant contact
--   responded.</li>
--   <li><a>gcrsrsDomainName</a> - The domain name for which you requested
--   the reachability status.</li>
--   <li><a>gcrsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getContactReachabilityStatusResponse :: Int -> GetContactReachabilityStatusResponse

-- | <i>See:</i> <a>getContactReachabilityStatusResponse</a> smart
--   constructor.
data GetContactReachabilityStatusResponse

-- | Whether the registrant contact has responded. Values include the
--   following: * PENDING * We sent the confirmation email and haven't
--   received a response yet. * DONE * We sent the email and got
--   confirmation from the registrant contact. * EXPIRED * The time limit
--   expired before the registrant contact responded.
gcrsrsStatus :: Lens' GetContactReachabilityStatusResponse (Maybe ReachabilityStatus)

-- | The domain name for which you requested the reachability status.
gcrsrsDomainName :: Lens' GetContactReachabilityStatusResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gcrsrsResponseStatus :: Lens' GetContactReachabilityStatusResponse Int
instance GHC.Generics.Generic Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatusResponse
instance Data.Data.Data Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatusResponse
instance GHC.Show.Show Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatusResponse
instance GHC.Read.Read Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatusResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatusResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus
instance Data.Data.Data Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus
instance GHC.Show.Show Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus
instance GHC.Read.Read Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus
instance GHC.Classes.Eq Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatusResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatus


-- | This operation sets the transfer lock on the domain (specifically the
--   <tt>clientTransferProhibited</tt> status) to prevent domain transfers.
--   Successful submission returns an operation ID that you can use to
--   track the progress and completion of the action. If the request is not
--   completed successfully, the domain registrant will be notified by
--   email.
module Network.AWS.Route53Domains.EnableDomainTransferLock

-- | Creates a value of <a>EnableDomainTransferLock</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edtlDomainName</a> - The name of the domain that you want to
--   set the transfer lock for.</li>
--   </ul>
enableDomainTransferLock :: Text -> EnableDomainTransferLock

-- | A request to set the transfer lock for the specified domain.
--   
--   <i>See:</i> <a>enableDomainTransferLock</a> smart constructor.
data EnableDomainTransferLock

-- | The name of the domain that you want to set the transfer lock for.
edtlDomainName :: Lens' EnableDomainTransferLock Text

-- | Creates a value of <a>EnableDomainTransferLockResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edtlrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>edtlrsOperationId</a> - Identifier for tracking the progress of
--   the request. To use this ID to query the operation status, use
--   GetOperationDetail.</li>
--   </ul>
enableDomainTransferLockResponse :: Int -> Text -> EnableDomainTransferLockResponse

-- | The EnableDomainTransferLock response includes the following elements.
--   
--   <i>See:</i> <a>enableDomainTransferLockResponse</a> smart constructor.
data EnableDomainTransferLockResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
edtlrsResponseStatus :: Lens' EnableDomainTransferLockResponse Int

-- | Identifier for tracking the progress of the request. To use this ID to
--   query the operation status, use GetOperationDetail.
edtlrsOperationId :: Lens' EnableDomainTransferLockResponse Text
instance GHC.Generics.Generic Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLockResponse
instance Data.Data.Data Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLockResponse
instance GHC.Show.Show Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLockResponse
instance GHC.Read.Read Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLockResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLockResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock
instance Data.Data.Data Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock
instance GHC.Show.Show Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock
instance GHC.Read.Read Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock
instance GHC.Classes.Eq Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLockResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLock


-- | This operation configures Amazon Route 53 to automatically renew the
--   specified domain before the domain registration expires. The cost of
--   renewing your domain registration is billed to your AWS account.
--   
--   The period during which you can renew a domain name varies by TLD. For
--   a list of TLDs and their renewal policies, see <a>"Renewal,
--   restoration, and deletion times"</a> on the website for our registrar
--   associate, Gandi. Amazon Route 53 requires that you renew before the
--   end of the renewal period that is listed on the Gandi website so we
--   can complete processing before the deadline.
module Network.AWS.Route53Domains.EnableDomainAutoRenew

-- | Creates a value of <a>EnableDomainAutoRenew</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edarDomainName</a> - The name of the domain that you want to
--   enable automatic renewal for.</li>
--   </ul>
enableDomainAutoRenew :: Text -> EnableDomainAutoRenew

-- | <i>See:</i> <a>enableDomainAutoRenew</a> smart constructor.
data EnableDomainAutoRenew

-- | The name of the domain that you want to enable automatic renewal for.
edarDomainName :: Lens' EnableDomainAutoRenew Text

-- | Creates a value of <a>EnableDomainAutoRenewResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edarrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
enableDomainAutoRenewResponse :: Int -> EnableDomainAutoRenewResponse

-- | <i>See:</i> <a>enableDomainAutoRenewResponse</a> smart constructor.
data EnableDomainAutoRenewResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
edarrsResponseStatus :: Lens' EnableDomainAutoRenewResponse Int
instance GHC.Generics.Generic Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenewResponse
instance Data.Data.Data Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenewResponse
instance GHC.Show.Show Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenewResponse
instance GHC.Read.Read Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenewResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenewResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew
instance Data.Data.Data Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew
instance GHC.Show.Show Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew
instance GHC.Read.Read Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew
instance GHC.Classes.Eq Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenewResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenew


-- | This operation removes the transfer lock on the domain (specifically
--   the <tt>clientTransferProhibited</tt> status) to allow domain
--   transfers. We recommend you refrain from performing this action unless
--   you intend to transfer the domain to a different registrar. Successful
--   submission returns an operation ID that you can use to track the
--   progress and completion of the action. If the request is not completed
--   successfully, the domain registrant will be notified by email.
module Network.AWS.Route53Domains.DisableDomainTransferLock

-- | Creates a value of <a>DisableDomainTransferLock</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddtlDomainName</a> - The name of the domain that you want to
--   remove the transfer lock for.</li>
--   </ul>
disableDomainTransferLock :: Text -> DisableDomainTransferLock

-- | The DisableDomainTransferLock request includes the following element.
--   
--   <i>See:</i> <a>disableDomainTransferLock</a> smart constructor.
data DisableDomainTransferLock

-- | The name of the domain that you want to remove the transfer lock for.
ddtlDomainName :: Lens' DisableDomainTransferLock Text

-- | Creates a value of <a>DisableDomainTransferLockResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddtlrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>ddtlrsOperationId</a> - Identifier for tracking the progress of
--   the request. To use this ID to query the operation status, use
--   <tt>GetOperationDetail</tt> .</li>
--   </ul>
disableDomainTransferLockResponse :: Int -> Text -> DisableDomainTransferLockResponse

-- | The DisableDomainTransferLock response includes the following element.
--   
--   <i>See:</i> <a>disableDomainTransferLockResponse</a> smart
--   constructor.
data DisableDomainTransferLockResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddtlrsResponseStatus :: Lens' DisableDomainTransferLockResponse Int

-- | Identifier for tracking the progress of the request. To use this ID to
--   query the operation status, use <tt>GetOperationDetail</tt> .
ddtlrsOperationId :: Lens' DisableDomainTransferLockResponse Text
instance GHC.Generics.Generic Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLockResponse
instance Data.Data.Data Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLockResponse
instance GHC.Show.Show Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLockResponse
instance GHC.Read.Read Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLockResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLockResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock
instance Data.Data.Data Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock
instance GHC.Show.Show Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock
instance GHC.Read.Read Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock
instance GHC.Classes.Eq Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLockResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLock


-- | This operation disables automatic renewal of domain registration for
--   the specified domain.
module Network.AWS.Route53Domains.DisableDomainAutoRenew

-- | Creates a value of <a>DisableDomainAutoRenew</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddarDomainName</a> - The name of the domain that you want to
--   disable automatic renewal for.</li>
--   </ul>
disableDomainAutoRenew :: Text -> DisableDomainAutoRenew

-- | <i>See:</i> <a>disableDomainAutoRenew</a> smart constructor.
data DisableDomainAutoRenew

-- | The name of the domain that you want to disable automatic renewal for.
ddarDomainName :: Lens' DisableDomainAutoRenew Text

-- | Creates a value of <a>DisableDomainAutoRenewResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddarrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
disableDomainAutoRenewResponse :: Int -> DisableDomainAutoRenewResponse

-- | <i>See:</i> <a>disableDomainAutoRenewResponse</a> smart constructor.
data DisableDomainAutoRenewResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddarrsResponseStatus :: Lens' DisableDomainAutoRenewResponse Int
instance GHC.Generics.Generic Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenewResponse
instance Data.Data.Data Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenewResponse
instance GHC.Show.Show Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenewResponse
instance GHC.Read.Read Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenewResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenewResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew
instance Data.Data.Data Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew
instance GHC.Show.Show Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew
instance GHC.Read.Read Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew
instance GHC.Classes.Eq Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenewResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenew


-- | This operation deletes the specified tags for a domain.
--   
--   All tag operations are eventually consistent; subsequent operations
--   might not immediately represent all issued operations.
module Network.AWS.Route53Domains.DeleteTagsForDomain

-- | Creates a value of <a>DeleteTagsForDomain</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtfdDomainName</a> - The domain for which you want to delete
--   one or more tags.</li>
--   <li><a>dtfdTagsToDelete</a> - A list of tag keys to delete.</li>
--   </ul>
deleteTagsForDomain :: Text -> DeleteTagsForDomain

-- | The DeleteTagsForDomainRequest includes the following elements.
--   
--   <i>See:</i> <a>deleteTagsForDomain</a> smart constructor.
data DeleteTagsForDomain

-- | The domain for which you want to delete one or more tags.
dtfdDomainName :: Lens' DeleteTagsForDomain Text

-- | A list of tag keys to delete.
dtfdTagsToDelete :: Lens' DeleteTagsForDomain [Text]

-- | Creates a value of <a>DeleteTagsForDomainResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtfdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteTagsForDomainResponse :: Int -> DeleteTagsForDomainResponse

-- | <i>See:</i> <a>deleteTagsForDomainResponse</a> smart constructor.
data DeleteTagsForDomainResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dtfdrsResponseStatus :: Lens' DeleteTagsForDomainResponse Int
instance GHC.Generics.Generic Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomainResponse
instance Data.Data.Data Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomainResponse
instance GHC.Show.Show Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomainResponse
instance GHC.Read.Read Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomainResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomainResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain
instance Data.Data.Data Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain
instance GHC.Show.Show Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain
instance GHC.Read.Read Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain
instance GHC.Classes.Eq Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomainResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomain


-- | Checks whether a domain name can be transferred to Amazon Route 53.
module Network.AWS.Route53Domains.CheckDomainTransferability

-- | Creates a value of <a>CheckDomainTransferability</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdtAuthCode</a> - If the registrar for the top-level domain
--   (TLD) requires an authorization code to transfer the domain, the code
--   that you got from the current registrar for the domain.</li>
--   <li><a>cdtDomainName</a> - The name of the domain that you want to
--   transfer to Amazon Route 53. Constraints: The domain name can contain
--   only the letters a through z, the numbers 0 through 9, and hyphen (-).
--   Internationalized Domain Names are not supported.</li>
--   </ul>
checkDomainTransferability :: Text -> CheckDomainTransferability

-- | The CheckDomainTransferability request contains the following
--   elements.
--   
--   <i>See:</i> <a>checkDomainTransferability</a> smart constructor.
data CheckDomainTransferability

-- | If the registrar for the top-level domain (TLD) requires an
--   authorization code to transfer the domain, the code that you got from
--   the current registrar for the domain.
cdtAuthCode :: Lens' CheckDomainTransferability (Maybe Text)

-- | The name of the domain that you want to transfer to Amazon Route 53.
--   Constraints: The domain name can contain only the letters a through z,
--   the numbers 0 through 9, and hyphen (-). Internationalized Domain
--   Names are not supported.
cdtDomainName :: Lens' CheckDomainTransferability Text

-- | Creates a value of <a>CheckDomainTransferabilityResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdtrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>cdtrsTransferability</a> - A complex type that contains
--   information about whether the specified domain can be transferred to
--   Amazon Route 53.</li>
--   </ul>
checkDomainTransferabilityResponse :: Int -> DomainTransferability -> CheckDomainTransferabilityResponse

-- | The CheckDomainTransferability response includes the following
--   elements.
--   
--   <i>See:</i> <a>checkDomainTransferabilityResponse</a> smart
--   constructor.
data CheckDomainTransferabilityResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdtrsResponseStatus :: Lens' CheckDomainTransferabilityResponse Int

-- | A complex type that contains information about whether the specified
--   domain can be transferred to Amazon Route 53.
cdtrsTransferability :: Lens' CheckDomainTransferabilityResponse DomainTransferability
instance GHC.Generics.Generic Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferabilityResponse
instance Data.Data.Data Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferabilityResponse
instance GHC.Show.Show Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferabilityResponse
instance GHC.Read.Read Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferabilityResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferabilityResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferability
instance Data.Data.Data Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferability
instance GHC.Show.Show Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferability
instance GHC.Classes.Eq Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferability
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferability
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferabilityResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferability
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferability
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferability
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferability
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferability
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.CheckDomainTransferability.CheckDomainTransferability


-- | This operation checks the availability of one domain name. Note that
--   if the availability status of a domain is pending, you must submit
--   another request to determine the availability of the domain name.
module Network.AWS.Route53Domains.CheckDomainAvailability

-- | Creates a value of <a>CheckDomainAvailability</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdaIdNLangCode</a> - Reserved for future use.</li>
--   <li><a>cdaDomainName</a> - The name of the domain that you want to get
--   availability for. Constraints: The domain name can contain only the
--   letters a through z, the numbers 0 through 9, and hyphen (-).
--   Internationalized Domain Names are not supported.</li>
--   </ul>
checkDomainAvailability :: Text -> CheckDomainAvailability

-- | The CheckDomainAvailability request contains the following elements.
--   
--   <i>See:</i> <a>checkDomainAvailability</a> smart constructor.
data CheckDomainAvailability

-- | Reserved for future use.
cdaIdNLangCode :: Lens' CheckDomainAvailability (Maybe Text)

-- | The name of the domain that you want to get availability for.
--   Constraints: The domain name can contain only the letters a through z,
--   the numbers 0 through 9, and hyphen (-). Internationalized Domain
--   Names are not supported.
cdaDomainName :: Lens' CheckDomainAvailability Text

-- | Creates a value of <a>CheckDomainAvailabilityResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdarsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>cdarsAvailability</a> - Whether the domain name is available
--   for registering. Valid values: * AVAILABLE * The domain name is
--   available. * AVAILABLE_RESERVED * The domain name is reserved under
--   specific conditions. * AVAILABLE_PREORDER * The domain name is
--   available and can be preordered. * DONT_KNOW * The TLD registry didn't
--   reply with a definitive answer about whether the domain name is
--   available. Amazon Route 53 can return this response for a variety of
--   reasons, for example, the registry is performing maintenance. Try
--   again later. * PENDING * The TLD registry didn't return a response in
--   the expected amount of time. When the response is delayed, it usually
--   takes just a few extra seconds. You can resubmit the request
--   immediately. * RESERVED * The domain name has been reserved for
--   another person or organization. * UNAVAILABLE * The domain name is not
--   available. * UNAVAILABLE_PREMIUM * The domain name is not available. *
--   UNAVAILABLE_RESTRICTED * The domain name is forbidden.</li>
--   </ul>
checkDomainAvailabilityResponse :: Int -> DomainAvailability -> CheckDomainAvailabilityResponse

-- | The CheckDomainAvailability response includes the following elements.
--   
--   <i>See:</i> <a>checkDomainAvailabilityResponse</a> smart constructor.
data CheckDomainAvailabilityResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdarsResponseStatus :: Lens' CheckDomainAvailabilityResponse Int

-- | Whether the domain name is available for registering. Valid values: *
--   AVAILABLE * The domain name is available. * AVAILABLE_RESERVED * The
--   domain name is reserved under specific conditions. *
--   AVAILABLE_PREORDER * The domain name is available and can be
--   preordered. * DONT_KNOW * The TLD registry didn't reply with a
--   definitive answer about whether the domain name is available. Amazon
--   Route 53 can return this response for a variety of reasons, for
--   example, the registry is performing maintenance. Try again later. *
--   PENDING * The TLD registry didn't return a response in the expected
--   amount of time. When the response is delayed, it usually takes just a
--   few extra seconds. You can resubmit the request immediately. *
--   RESERVED * The domain name has been reserved for another person or
--   organization. * UNAVAILABLE * The domain name is not available. *
--   UNAVAILABLE_PREMIUM * The domain name is not available. *
--   UNAVAILABLE_RESTRICTED * The domain name is forbidden.
cdarsAvailability :: Lens' CheckDomainAvailabilityResponse DomainAvailability
instance GHC.Generics.Generic Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailabilityResponse
instance Data.Data.Data Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailabilityResponse
instance GHC.Show.Show Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailabilityResponse
instance GHC.Read.Read Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailabilityResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailabilityResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability
instance Data.Data.Data Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability
instance GHC.Show.Show Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability
instance GHC.Read.Read Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability
instance GHC.Classes.Eq Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailabilityResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailability


-- | This operation updates the contact information for a particular
--   domain. You must specify information for at least one contact:
--   registrant, administrator, or technical.
--   
--   If the update is successful, this method returns an operation ID that
--   you can use to track the progress and completion of the action. If the
--   request is not completed successfully, the domain registrant will be
--   notified by email.
module Network.AWS.Route53Domains.UpdateDomainContact

-- | Creates a value of <a>UpdateDomainContact</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udcRegistrantContact</a> - Provides detailed contact
--   information.</li>
--   <li><a>udcAdminContact</a> - Provides detailed contact
--   information.</li>
--   <li><a>udcTechContact</a> - Provides detailed contact
--   information.</li>
--   <li><a>udcDomainName</a> - The name of the domain that you want to
--   update contact information for.</li>
--   </ul>
updateDomainContact :: Text -> UpdateDomainContact

-- | The UpdateDomainContact request includes the following elements.
--   
--   <i>See:</i> <a>updateDomainContact</a> smart constructor.
data UpdateDomainContact

-- | Provides detailed contact information.
udcRegistrantContact :: Lens' UpdateDomainContact (Maybe ContactDetail)

-- | Provides detailed contact information.
udcAdminContact :: Lens' UpdateDomainContact (Maybe ContactDetail)

-- | Provides detailed contact information.
udcTechContact :: Lens' UpdateDomainContact (Maybe ContactDetail)

-- | The name of the domain that you want to update contact information
--   for.
udcDomainName :: Lens' UpdateDomainContact Text

-- | Creates a value of <a>UpdateDomainContactResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udcrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>udcrsOperationId</a> - Identifier for tracking the progress of
--   the request. To use this ID to query the operation status, use
--   <tt>GetOperationDetail</tt> .</li>
--   </ul>
updateDomainContactResponse :: Int -> Text -> UpdateDomainContactResponse

-- | The UpdateDomainContact response includes the following element.
--   
--   <i>See:</i> <a>updateDomainContactResponse</a> smart constructor.
data UpdateDomainContactResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
udcrsResponseStatus :: Lens' UpdateDomainContactResponse Int

-- | Identifier for tracking the progress of the request. To use this ID to
--   query the operation status, use <tt>GetOperationDetail</tt> .
udcrsOperationId :: Lens' UpdateDomainContactResponse Text
instance GHC.Generics.Generic Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContactResponse
instance Data.Data.Data Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContactResponse
instance GHC.Show.Show Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContactResponse
instance GHC.Read.Read Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContactResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContactResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContact
instance Data.Data.Data Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContact
instance GHC.Show.Show Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContact
instance GHC.Classes.Eq Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContact
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContact
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContactResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContact
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContact
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContact
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContact
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContact
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContact


-- | This operation updates the specified domain contact's privacy setting.
--   When privacy protection is enabled, contact information such as email
--   address is replaced either with contact information for Amazon
--   Registrar (for .com, .net, and .org domains) or with contact
--   information for our registrar associate, Gandi.
--   
--   This operation affects only the contact information for the specified
--   contact type (registrant, administrator, or tech). If the request
--   succeeds, Amazon Route 53 returns an operation ID that you can use
--   with <tt>GetOperationDetail</tt> to track the progress and completion
--   of the action. If the request doesn't complete successfully, the
--   domain registrant will be notified by email.
module Network.AWS.Route53Domains.UpdateDomainContactPrivacy

-- | Creates a value of <a>UpdateDomainContactPrivacy</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udcpTechPrivacy</a> - Whether you want to conceal contact
--   information from WHOIS queries. If you specify <tt>true</tt> , WHOIS
--   ("who is") queries return contact information either for Amazon
--   Registrar (for .com, .net, and .org domains) or for our registrar
--   associate, Gandi (for all other TLDs). If you specify <tt>false</tt> ,
--   WHOIS queries return the information that you entered for the
--   technical contact.</li>
--   <li><a>udcpRegistrantPrivacy</a> - Whether you want to conceal contact
--   information from WHOIS queries. If you specify <tt>true</tt> , WHOIS
--   ("who is") queries return contact information either for Amazon
--   Registrar (for .com, .net, and .org domains) or for our registrar
--   associate, Gandi (for all other TLDs). If you specify <tt>false</tt> ,
--   WHOIS queries return the information that you entered for the
--   registrant contact (domain owner).</li>
--   <li><a>udcpAdminPrivacy</a> - Whether you want to conceal contact
--   information from WHOIS queries. If you specify <tt>true</tt> , WHOIS
--   ("who is") queries return contact information either for Amazon
--   Registrar (for .com, .net, and .org domains) or for our registrar
--   associate, Gandi (for all other TLDs). If you specify <tt>false</tt> ,
--   WHOIS queries return the information that you entered for the admin
--   contact.</li>
--   <li><a>udcpDomainName</a> - The name of the domain that you want to
--   update the privacy setting for.</li>
--   </ul>
updateDomainContactPrivacy :: Text -> UpdateDomainContactPrivacy

-- | The UpdateDomainContactPrivacy request includes the following
--   elements.
--   
--   <i>See:</i> <a>updateDomainContactPrivacy</a> smart constructor.
data UpdateDomainContactPrivacy

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify <tt>true</tt> , WHOIS ("who is") queries return contact
--   information either for Amazon Registrar (for .com, .net, and .org
--   domains) or for our registrar associate, Gandi (for all other TLDs).
--   If you specify <tt>false</tt> , WHOIS queries return the information
--   that you entered for the technical contact.
udcpTechPrivacy :: Lens' UpdateDomainContactPrivacy (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify <tt>true</tt> , WHOIS ("who is") queries return contact
--   information either for Amazon Registrar (for .com, .net, and .org
--   domains) or for our registrar associate, Gandi (for all other TLDs).
--   If you specify <tt>false</tt> , WHOIS queries return the information
--   that you entered for the registrant contact (domain owner).
udcpRegistrantPrivacy :: Lens' UpdateDomainContactPrivacy (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify <tt>true</tt> , WHOIS ("who is") queries return contact
--   information either for Amazon Registrar (for .com, .net, and .org
--   domains) or for our registrar associate, Gandi (for all other TLDs).
--   If you specify <tt>false</tt> , WHOIS queries return the information
--   that you entered for the admin contact.
udcpAdminPrivacy :: Lens' UpdateDomainContactPrivacy (Maybe Bool)

-- | The name of the domain that you want to update the privacy setting
--   for.
udcpDomainName :: Lens' UpdateDomainContactPrivacy Text

-- | Creates a value of <a>UpdateDomainContactPrivacyResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udcprsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>udcprsOperationId</a> - Identifier for tracking the progress of
--   the request. To use this ID to query the operation status, use
--   GetOperationDetail.</li>
--   </ul>
updateDomainContactPrivacyResponse :: Int -> Text -> UpdateDomainContactPrivacyResponse

-- | The UpdateDomainContactPrivacy response includes the following
--   element.
--   
--   <i>See:</i> <a>updateDomainContactPrivacyResponse</a> smart
--   constructor.
data UpdateDomainContactPrivacyResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
udcprsResponseStatus :: Lens' UpdateDomainContactPrivacyResponse Int

-- | Identifier for tracking the progress of the request. To use this ID to
--   query the operation status, use GetOperationDetail.
udcprsOperationId :: Lens' UpdateDomainContactPrivacyResponse Text
instance GHC.Generics.Generic Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacyResponse
instance Data.Data.Data Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacyResponse
instance GHC.Show.Show Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacyResponse
instance GHC.Read.Read Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacyResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacyResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy
instance Data.Data.Data Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy
instance GHC.Show.Show Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy
instance GHC.Read.Read Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy
instance GHC.Classes.Eq Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacyResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacy


-- | This operation replaces the current set of name servers for the domain
--   with the specified set of name servers. If you use Amazon Route 53 as
--   your DNS service, specify the four name servers in the delegation set
--   for the hosted zone for the domain.
--   
--   If successful, this operation returns an operation ID that you can use
--   to track the progress and completion of the action. If the request is
--   not completed successfully, the domain registrant will be notified by
--   email.
module Network.AWS.Route53Domains.UpdateDomainNameservers

-- | Creates a value of <a>UpdateDomainNameservers</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udnFIAuthKey</a> - The authorization key for .fi domains</li>
--   <li><a>udnDomainName</a> - The name of the domain that you want to
--   change name servers for.</li>
--   <li><a>udnNameservers</a> - A list of new name servers for the
--   domain.</li>
--   </ul>
updateDomainNameservers :: Text -> UpdateDomainNameservers

-- | Replaces the current set of name servers for the domain with the
--   specified set of name servers. If you use Amazon Route 53 as your DNS
--   service, specify the four name servers in the delegation set for the
--   hosted zone for the domain.
--   
--   If successful, this operation returns an operation ID that you can use
--   to track the progress and completion of the action. If the request is
--   not completed successfully, the domain registrant will be notified by
--   email.
--   
--   <i>See:</i> <a>updateDomainNameservers</a> smart constructor.
data UpdateDomainNameservers

-- | The authorization key for .fi domains
udnFIAuthKey :: Lens' UpdateDomainNameservers (Maybe Text)

-- | The name of the domain that you want to change name servers for.
udnDomainName :: Lens' UpdateDomainNameservers Text

-- | A list of new name servers for the domain.
udnNameservers :: Lens' UpdateDomainNameservers [Nameserver]

-- | Creates a value of <a>UpdateDomainNameserversResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udnrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>udnrsOperationId</a> - Identifier for tracking the progress of
--   the request. To use this ID to query the operation status, use
--   <tt>GetOperationDetail</tt> .</li>
--   </ul>
updateDomainNameserversResponse :: Int -> Text -> UpdateDomainNameserversResponse

-- | The UpdateDomainNameservers response includes the following element.
--   
--   <i>See:</i> <a>updateDomainNameserversResponse</a> smart constructor.
data UpdateDomainNameserversResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
udnrsResponseStatus :: Lens' UpdateDomainNameserversResponse Int

-- | Identifier for tracking the progress of the request. To use this ID to
--   query the operation status, use <tt>GetOperationDetail</tt> .
udnrsOperationId :: Lens' UpdateDomainNameserversResponse Text
instance GHC.Generics.Generic Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameserversResponse
instance Data.Data.Data Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameserversResponse
instance GHC.Show.Show Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameserversResponse
instance GHC.Read.Read Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameserversResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameserversResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers
instance Data.Data.Data Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers
instance GHC.Show.Show Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers
instance GHC.Read.Read Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers
instance GHC.Classes.Eq Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameserversResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameservers


-- | This operation adds or updates tags for a specified domain.
--   
--   All tag operations are eventually consistent; subsequent operations
--   might not immediately represent all issued operations.
module Network.AWS.Route53Domains.UpdateTagsForDomain

-- | Creates a value of <a>UpdateTagsForDomain</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>utfdTagsToUpdate</a> - A list of the tag keys and values that
--   you want to add or update. If you specify a key that already exists,
--   the corresponding value will be replaced.</li>
--   <li><a>utfdDomainName</a> - The domain for which you want to add or
--   update tags.</li>
--   </ul>
updateTagsForDomain :: Text -> UpdateTagsForDomain

-- | The UpdateTagsForDomainRequest includes the following elements.
--   
--   <i>See:</i> <a>updateTagsForDomain</a> smart constructor.
data UpdateTagsForDomain

-- | A list of the tag keys and values that you want to add or update. If
--   you specify a key that already exists, the corresponding value will be
--   replaced.
utfdTagsToUpdate :: Lens' UpdateTagsForDomain [Tag]

-- | The domain for which you want to add or update tags.
utfdDomainName :: Lens' UpdateTagsForDomain Text

-- | Creates a value of <a>UpdateTagsForDomainResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>utfdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateTagsForDomainResponse :: Int -> UpdateTagsForDomainResponse

-- | <i>See:</i> <a>updateTagsForDomainResponse</a> smart constructor.
data UpdateTagsForDomainResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
utfdrsResponseStatus :: Lens' UpdateTagsForDomainResponse Int
instance GHC.Generics.Generic Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomainResponse
instance Data.Data.Data Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomainResponse
instance GHC.Show.Show Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomainResponse
instance GHC.Read.Read Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomainResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomainResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain
instance Data.Data.Data Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain
instance GHC.Show.Show Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain
instance GHC.Read.Read Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain
instance GHC.Classes.Eq Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomainResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomain


-- | Returns all the domain-related billing records for the current AWS
--   account for a specified period
module Network.AWS.Route53Domains.ViewBilling

-- | Creates a value of <a>ViewBilling</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vbStart</a> - The beginning date and time for the time period
--   for which you want a list of billing records. Specify the date and
--   time in Coordinated Universal time (UTC).</li>
--   <li><a>vbEnd</a> - The end date and time for the time period for which
--   you want a list of billing records. Specify the date and time in
--   Coordinated Universal time (UTC).</li>
--   <li><a>vbMarker</a> - For an initial request for a list of billing
--   records, omit this element. If the number of billing records that are
--   associated with the current AWS account during the specified period is
--   greater than the value that you specified for <tt>MaxItems</tt> , you
--   can use <tt>Marker</tt> to return additional billing records. Get the
--   value of <tt>NextPageMarker</tt> from the previous response, and
--   submit another request that includes the value of
--   <tt>NextPageMarker</tt> in the <tt>Marker</tt> element. Constraints:
--   The marker must match the value of <tt>NextPageMarker</tt> that was
--   returned in the previous response.</li>
--   <li><a>vbMaxItems</a> - The number of billing records to be returned.
--   Default: 20</li>
--   </ul>
viewBilling :: ViewBilling

-- | The ViewBilling request includes the following elements.
--   
--   <i>See:</i> <a>viewBilling</a> smart constructor.
data ViewBilling

-- | The beginning date and time for the time period for which you want a
--   list of billing records. Specify the date and time in Coordinated
--   Universal time (UTC).
vbStart :: Lens' ViewBilling (Maybe UTCTime)

-- | The end date and time for the time period for which you want a list of
--   billing records. Specify the date and time in Coordinated Universal
--   time (UTC).
vbEnd :: Lens' ViewBilling (Maybe UTCTime)

-- | For an initial request for a list of billing records, omit this
--   element. If the number of billing records that are associated with the
--   current AWS account during the specified period is greater than the
--   value that you specified for <tt>MaxItems</tt> , you can use
--   <tt>Marker</tt> to return additional billing records. Get the value of
--   <tt>NextPageMarker</tt> from the previous response, and submit another
--   request that includes the value of <tt>NextPageMarker</tt> in the
--   <tt>Marker</tt> element. Constraints: The marker must match the value
--   of <tt>NextPageMarker</tt> that was returned in the previous response.
vbMarker :: Lens' ViewBilling (Maybe Text)

-- | The number of billing records to be returned. Default: 20
vbMaxItems :: Lens' ViewBilling (Maybe Int)

-- | Creates a value of <a>ViewBillingResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vbrsNextPageMarker</a> - If there are more billing records than
--   you specified for <tt>MaxItems</tt> in the request, submit another
--   request and include the value of <tt>NextPageMarker</tt> in the value
--   of <tt>Marker</tt> .</li>
--   <li><a>vbrsBillingRecords</a> - A summary of billing records.</li>
--   <li><a>vbrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
viewBillingResponse :: Int -> ViewBillingResponse

-- | The ViewBilling response includes the following elements.
--   
--   <i>See:</i> <a>viewBillingResponse</a> smart constructor.
data ViewBillingResponse

-- | If there are more billing records than you specified for
--   <tt>MaxItems</tt> in the request, submit another request and include
--   the value of <tt>NextPageMarker</tt> in the value of <tt>Marker</tt> .
vbrsNextPageMarker :: Lens' ViewBillingResponse (Maybe Text)

-- | A summary of billing records.
vbrsBillingRecords :: Lens' ViewBillingResponse [BillingRecord]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
vbrsResponseStatus :: Lens' ViewBillingResponse Int
instance GHC.Generics.Generic Network.AWS.Route53Domains.ViewBilling.ViewBillingResponse
instance Data.Data.Data Network.AWS.Route53Domains.ViewBilling.ViewBillingResponse
instance GHC.Show.Show Network.AWS.Route53Domains.ViewBilling.ViewBillingResponse
instance GHC.Read.Read Network.AWS.Route53Domains.ViewBilling.ViewBillingResponse
instance GHC.Classes.Eq Network.AWS.Route53Domains.ViewBilling.ViewBillingResponse
instance GHC.Generics.Generic Network.AWS.Route53Domains.ViewBilling.ViewBilling
instance Data.Data.Data Network.AWS.Route53Domains.ViewBilling.ViewBilling
instance GHC.Show.Show Network.AWS.Route53Domains.ViewBilling.ViewBilling
instance GHC.Read.Read Network.AWS.Route53Domains.ViewBilling.ViewBilling
instance GHC.Classes.Eq Network.AWS.Route53Domains.ViewBilling.ViewBilling
instance Network.AWS.Types.AWSRequest Network.AWS.Route53Domains.ViewBilling.ViewBilling
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ViewBilling.ViewBillingResponse
instance Data.Hashable.Class.Hashable Network.AWS.Route53Domains.ViewBilling.ViewBilling
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ViewBilling.ViewBilling
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Route53Domains.ViewBilling.ViewBilling
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Route53Domains.ViewBilling.ViewBilling
instance Network.AWS.Data.Path.ToPath Network.AWS.Route53Domains.ViewBilling.ViewBilling
instance Network.AWS.Data.Query.ToQuery Network.AWS.Route53Domains.ViewBilling.ViewBilling


module Network.AWS.Route53Domains.Waiters


-- | Pending
module Network.AWS.Route53Domains

-- | API version <tt>2014-05-15</tt> of the Amazon Route 53 Domains SDK
--   configuration.
route53Domains :: Service

-- | The requested item is not acceptable. For example, for an OperationId
--   it might refer to the ID of an operation that is already completed.
--   For a domain name, it might not be a valid domain name or belong to
--   the requester account.
_InvalidInput :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of operations or jobs running exceeded the allowed
--   threshold for the account.
_OperationLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of domains has exceeded the allowed threshold for the
--   account.
_DomainLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | Amazon Route 53 does not support this top-level domain (TLD).
_UnsupportedTLD :: AsError a => Getting (First ServiceError) a ServiceError

-- | The top-level domain does not support this operation.
_TLDRulesViolation :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request is already in progress for the domain.
_DuplicateRequest :: AsError a => Getting (First ServiceError) a ServiceError
data ContactType
Association :: ContactType
Company :: ContactType
Person :: ContactType
PublicBody :: ContactType
Reseller :: ContactType
data CountryCode
AD :: CountryCode
AE :: CountryCode
AF :: CountryCode
AG :: CountryCode
AI :: CountryCode
AL :: CountryCode
AM :: CountryCode
AN :: CountryCode
AO :: CountryCode
AQ :: CountryCode
AR :: CountryCode
AS :: CountryCode
AT :: CountryCode
AU :: CountryCode
AW :: CountryCode
AZ :: CountryCode
BA :: CountryCode
BB :: CountryCode
BD :: CountryCode
BE :: CountryCode
BF :: CountryCode
BG :: CountryCode
BH :: CountryCode
BI :: CountryCode
BJ :: CountryCode
BL :: CountryCode
BM :: CountryCode
BN :: CountryCode
BO :: CountryCode
BR :: CountryCode
BS :: CountryCode
BT :: CountryCode
BW :: CountryCode
BY :: CountryCode
BZ :: CountryCode
CA :: CountryCode
CC :: CountryCode
CD :: CountryCode
CF :: CountryCode
CG :: CountryCode
CH :: CountryCode
CI :: CountryCode
CK :: CountryCode
CL :: CountryCode
CM :: CountryCode
CN :: CountryCode
CO :: CountryCode
CR :: CountryCode
CU :: CountryCode
CV :: CountryCode
CX :: CountryCode
CY :: CountryCode
CZ :: CountryCode
DE :: CountryCode
DJ :: CountryCode
DK :: CountryCode
DM :: CountryCode
DO :: CountryCode
DZ :: CountryCode
EC :: CountryCode
EE :: CountryCode
EG :: CountryCode
ER :: CountryCode
ES :: CountryCode
ET :: CountryCode
FI :: CountryCode
FJ :: CountryCode
FK :: CountryCode
FM :: CountryCode
FO :: CountryCode
FR :: CountryCode
GA :: CountryCode
GB :: CountryCode
GD :: CountryCode
GE :: CountryCode
GH :: CountryCode
GI :: CountryCode
GL :: CountryCode
GM :: CountryCode
GN :: CountryCode
GQ :: CountryCode
GR :: CountryCode
GT' :: CountryCode
GU :: CountryCode
GW :: CountryCode
GY :: CountryCode
HK :: CountryCode
HN :: CountryCode
HR :: CountryCode
HT :: CountryCode
HU :: CountryCode
IE :: CountryCode
IL :: CountryCode
IM :: CountryCode
IN :: CountryCode
IQ :: CountryCode
IR :: CountryCode
IS :: CountryCode
IT :: CountryCode
Id :: CountryCode
JM :: CountryCode
JO :: CountryCode
JP :: CountryCode
KE :: CountryCode
KG :: CountryCode
KH :: CountryCode
KI :: CountryCode
KM :: CountryCode
KN :: CountryCode
KP :: CountryCode
KR :: CountryCode
KW :: CountryCode
KY :: CountryCode
KZ :: CountryCode
LA :: CountryCode
LB :: CountryCode
LC :: CountryCode
LI :: CountryCode
LK :: CountryCode
LR :: CountryCode
LS :: CountryCode
LT' :: CountryCode
LU :: CountryCode
LV :: CountryCode
LY :: CountryCode
MA :: CountryCode
MC :: CountryCode
MD :: CountryCode
ME :: CountryCode
MF :: CountryCode
MG :: CountryCode
MH :: CountryCode
MK :: CountryCode
ML :: CountryCode
MM :: CountryCode
MN :: CountryCode
MO :: CountryCode
MP :: CountryCode
MR :: CountryCode
MS :: CountryCode
MT :: CountryCode
MU :: CountryCode
MV :: CountryCode
MW :: CountryCode
MX :: CountryCode
MY :: CountryCode
MZ :: CountryCode
NA :: CountryCode
NC :: CountryCode
NE :: CountryCode
NG :: CountryCode
NI :: CountryCode
NL :: CountryCode
NO :: CountryCode
NP :: CountryCode
NR :: CountryCode
NU :: CountryCode
NZ :: CountryCode
OM :: CountryCode
PA :: CountryCode
PE :: CountryCode
PF :: CountryCode
PG :: CountryCode
PH :: CountryCode
PK :: CountryCode
PL :: CountryCode
PM :: CountryCode
PN :: CountryCode
PR :: CountryCode
PT :: CountryCode
PW :: CountryCode
PY :: CountryCode
QA :: CountryCode
RO :: CountryCode
RS :: CountryCode
RU :: CountryCode
RW :: CountryCode
SA :: CountryCode
SB :: CountryCode
SC :: CountryCode
SD :: CountryCode
SE :: CountryCode
SG :: CountryCode
SH :: CountryCode
SI :: CountryCode
SK :: CountryCode
SL :: CountryCode
SM :: CountryCode
SN :: CountryCode
SO :: CountryCode
SR :: CountryCode
ST :: CountryCode
SV :: CountryCode
SY :: CountryCode
SZ :: CountryCode
TC :: CountryCode
TD :: CountryCode
TG :: CountryCode
TH :: CountryCode
TJ :: CountryCode
TK :: CountryCode
TL :: CountryCode
TM :: CountryCode
TN :: CountryCode
TO :: CountryCode
TR :: CountryCode
TT :: CountryCode
TV :: CountryCode
TW :: CountryCode
TZ :: CountryCode
UA :: CountryCode
UG :: CountryCode
US :: CountryCode
UY :: CountryCode
UZ :: CountryCode
VA :: CountryCode
VC :: CountryCode
VE :: CountryCode
VG :: CountryCode
VI :: CountryCode
VN :: CountryCode
VU :: CountryCode
WF :: CountryCode
WS :: CountryCode
YE :: CountryCode
YT :: CountryCode
ZA :: CountryCode
ZM :: CountryCode
ZW :: CountryCode
data DomainAvailability
DAAvailable :: DomainAvailability
DAAvailablePreorder :: DomainAvailability
DAAvailableReserved :: DomainAvailability
DADontKnow :: DomainAvailability
DAReserved :: DomainAvailability
DAUnavailable :: DomainAvailability
DAUnavailablePremium :: DomainAvailability
DAUnavailableRestricted :: DomainAvailability
data ExtraParamName
AuIdNumber :: ExtraParamName
AuIdType :: ExtraParamName
BirthCity :: ExtraParamName
BirthCountry :: ExtraParamName
BirthDateInYyyyMmDd :: ExtraParamName
BirthDepartment :: ExtraParamName
BrandNumber :: ExtraParamName
CaBusinessEntityType :: ExtraParamName
CaLegalType :: ExtraParamName
DocumentNumber :: ExtraParamName
DunsNumber :: ExtraParamName
EsIdentification :: ExtraParamName
EsIdentificationType :: ExtraParamName
EsLegalForm :: ExtraParamName
FiBusinessNumber :: ExtraParamName
FiIdNumber :: ExtraParamName
FiNationality :: ExtraParamName
FiOrganizationType :: ExtraParamName
ItPin :: ExtraParamName
ItRegistrantEntityType :: ExtraParamName
RuPassportData :: ExtraParamName
SeIdNumber :: ExtraParamName
SgIdNumber :: ExtraParamName
UkCompanyNumber :: ExtraParamName
UkContactType :: ExtraParamName
VatNumber :: ExtraParamName
data OperationStatus
Error' :: OperationStatus
Failed :: OperationStatus
InProgress :: OperationStatus
Submitted :: OperationStatus
Successful :: OperationStatus
data OperationType
AddDNSsec :: OperationType
ChangeDomainOwner :: OperationType
ChangePrivacyProtection :: OperationType
DeleteDomain :: OperationType
DisableAutorenew :: OperationType
DomainLock :: OperationType
EnableAutorenew :: OperationType
ExpireDomain :: OperationType
PushDomain :: OperationType
RegisterDomain :: OperationType
RemoveDNSsec :: OperationType
RenewDomain :: OperationType
TransferInDomain :: OperationType
TransferOutDomain :: OperationType
UpdateDomainContact :: OperationType
UpdateNameserver :: OperationType
data ReachabilityStatus
Done :: ReachabilityStatus
Expired :: ReachabilityStatus
Pending :: ReachabilityStatus

-- | Whether the domain name can be transferred to Amazon Route 53.
--   
--   Valid values:
--   
--   <ul>
--   <li>TRANSFERABLE * The domain name can be transferred to Amazon Route
--   53.</li>
--   <li>UNTRANSFERRABLE * The domain name can't be transferred to Amazon
--   Route 53.</li>
--   <li>DONT_KNOW * Reserved for future use.</li>
--   </ul>
data Transferable
DontKnow :: Transferable
Transferable :: Transferable
Untransferable :: Transferable

-- | Information for one billing record.
--   
--   <i>See:</i> <a>billingRecord</a> smart constructor.
data BillingRecord

-- | Creates a value of <a>BillingRecord</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>brOperation</a> - The operation that you were charged for.</li>
--   <li><a>brInvoiceId</a> - The ID of the invoice that is associated with
--   the billing record.</li>
--   <li><a>brDomainName</a> - The name of the domain that the billing
--   record applies to. If the domain name contains characters other than
--   a-z, 0-9, and - (hyphen), such as an internationalized domain name,
--   then this value is in Punycode. For more information, see <a>DNS
--   Domain Name Format</a> in the <i>Amazon Route 53 Developer
--   Guidezzz</i> .</li>
--   <li><a>brBillDate</a> - The date that the operation was billed, in
--   Unix format.</li>
--   <li><a>brPrice</a> - The price that you were charged for the
--   operation, in US dollars. Example value: 12.0</li>
--   </ul>
billingRecord :: BillingRecord

-- | The operation that you were charged for.
brOperation :: Lens' BillingRecord (Maybe OperationType)

-- | The ID of the invoice that is associated with the billing record.
brInvoiceId :: Lens' BillingRecord (Maybe Text)

-- | The name of the domain that the billing record applies to. If the
--   domain name contains characters other than a-z, 0-9, and - (hyphen),
--   such as an internationalized domain name, then this value is in
--   Punycode. For more information, see <a>DNS Domain Name Format</a> in
--   the <i>Amazon Route 53 Developer Guidezzz</i> .
brDomainName :: Lens' BillingRecord (Maybe Text)

-- | The date that the operation was billed, in Unix format.
brBillDate :: Lens' BillingRecord (Maybe UTCTime)

-- | The price that you were charged for the operation, in US dollars.
--   Example value: 12.0
brPrice :: Lens' BillingRecord (Maybe Double)

-- | ContactDetail includes the following elements.
--   
--   <i>See:</i> <a>contactDetail</a> smart constructor.
data ContactDetail

-- | Creates a value of <a>ContactDetail</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdOrganizationName</a> - Name of the organization for contact
--   types other than <tt>PERSON</tt> .</li>
--   <li><a>cdEmail</a> - Email address of the contact.</li>
--   <li><a>cdState</a> - The state or province of the contact's city.</li>
--   <li><a>cdFax</a> - Fax number of the contact. Constraints: Phone
--   number must be specified in the format "+[country dialing
--   code].[number including any area code]". For example, a US phone
--   number might appear as <tt>"+1.1234567890"</tt> .</li>
--   <li><a>cdLastName</a> - Last name of contact.</li>
--   <li><a>cdExtraParams</a> - A list of name-value pairs for parameters
--   required by certain top-level domains.</li>
--   <li><a>cdZipCode</a> - The zip or postal code of the contact's
--   address.</li>
--   <li><a>cdAddressLine1</a> - First line of the contact's address.</li>
--   <li><a>cdCity</a> - The city of the contact's address.</li>
--   <li><a>cdPhoneNumber</a> - The phone number of the contact.
--   Constraints: Phone number must be specified in the format "+[country
--   dialing code].[number including any area code&gt;]". For example, a US
--   phone number might appear as <tt>"+1.1234567890"</tt> .</li>
--   <li><a>cdAddressLine2</a> - Second line of contact's address, if
--   any.</li>
--   <li><a>cdFirstName</a> - First name of contact.</li>
--   <li><a>cdCountryCode</a> - Code for the country of the contact's
--   address.</li>
--   <li><a>cdContactType</a> - Indicates whether the contact is a person,
--   company, association, or public organization. If you choose an option
--   other than <tt>PERSON</tt> , you must enter an organization name, and
--   you can't enable privacy protection for the contact.</li>
--   </ul>
contactDetail :: ContactDetail

-- | Name of the organization for contact types other than <tt>PERSON</tt>
--   .
cdOrganizationName :: Lens' ContactDetail (Maybe Text)

-- | Email address of the contact.
cdEmail :: Lens' ContactDetail (Maybe Text)

-- | The state or province of the contact's city.
cdState :: Lens' ContactDetail (Maybe Text)

-- | Fax number of the contact. Constraints: Phone number must be specified
--   in the format "+[country dialing code].[number including any area
--   code]". For example, a US phone number might appear as
--   <tt>"+1.1234567890"</tt> .
cdFax :: Lens' ContactDetail (Maybe Text)

-- | Last name of contact.
cdLastName :: Lens' ContactDetail (Maybe Text)

-- | A list of name-value pairs for parameters required by certain
--   top-level domains.
cdExtraParams :: Lens' ContactDetail [ExtraParam]

-- | The zip or postal code of the contact's address.
cdZipCode :: Lens' ContactDetail (Maybe Text)

-- | First line of the contact's address.
cdAddressLine1 :: Lens' ContactDetail (Maybe Text)

-- | The city of the contact's address.
cdCity :: Lens' ContactDetail (Maybe Text)

-- | The phone number of the contact. Constraints: Phone number must be
--   specified in the format "+[country dialing code].[number including any
--   area code&gt;]". For example, a US phone number might appear as
--   <tt>"+1.1234567890"</tt> .
cdPhoneNumber :: Lens' ContactDetail (Maybe Text)

-- | Second line of contact's address, if any.
cdAddressLine2 :: Lens' ContactDetail (Maybe Text)

-- | First name of contact.
cdFirstName :: Lens' ContactDetail (Maybe Text)

-- | Code for the country of the contact's address.
cdCountryCode :: Lens' ContactDetail (Maybe CountryCode)

-- | Indicates whether the contact is a person, company, association, or
--   public organization. If you choose an option other than
--   <tt>PERSON</tt> , you must enter an organization name, and you can't
--   enable privacy protection for the contact.
cdContactType :: Lens' ContactDetail (Maybe ContactType)

-- | Information about one suggested domain name.
--   
--   <i>See:</i> <a>domainSuggestion</a> smart constructor.
data DomainSuggestion

-- | Creates a value of <a>DomainSuggestion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dAvailability</a> - Whether the domain name is available for
--   registering. Valid values: * AVAILABLE * The domain name is available.
--   * AVAILABLE_RESERVED * The domain name is reserved under specific
--   conditions. * AVAILABLE_PREORDER * The domain name is available and
--   can be preordered. * DONT_KNOW * The TLD registry didn't reply with a
--   definitive answer about whether the domain name is available. Amazon
--   Route 53 can return this response for a variety of reasons, for
--   example, the registry is performing maintenance. Try again later. *
--   PENDING * The TLD registry didn't return a response in the expected
--   amount of time. When the response is delayed, it usually takes just a
--   few extra seconds. You can resubmit the request immediately. *
--   RESERVED * The domain name has been reserved for another person or
--   organization. * UNAVAILABLE * The domain name is not available. *
--   UNAVAILABLE_PREMIUM * The domain name is not available. *
--   UNAVAILABLE_RESTRICTED * The domain name is forbidden.</li>
--   <li><a>dDomainName</a> - A suggested domain name.</li>
--   </ul>
domainSuggestion :: DomainSuggestion

-- | Whether the domain name is available for registering. Valid values: *
--   AVAILABLE * The domain name is available. * AVAILABLE_RESERVED * The
--   domain name is reserved under specific conditions. *
--   AVAILABLE_PREORDER * The domain name is available and can be
--   preordered. * DONT_KNOW * The TLD registry didn't reply with a
--   definitive answer about whether the domain name is available. Amazon
--   Route 53 can return this response for a variety of reasons, for
--   example, the registry is performing maintenance. Try again later. *
--   PENDING * The TLD registry didn't return a response in the expected
--   amount of time. When the response is delayed, it usually takes just a
--   few extra seconds. You can resubmit the request immediately. *
--   RESERVED * The domain name has been reserved for another person or
--   organization. * UNAVAILABLE * The domain name is not available. *
--   UNAVAILABLE_PREMIUM * The domain name is not available. *
--   UNAVAILABLE_RESTRICTED * The domain name is forbidden.
dAvailability :: Lens' DomainSuggestion (Maybe Text)

-- | A suggested domain name.
dDomainName :: Lens' DomainSuggestion (Maybe Text)

-- | Summary information about one domain.
--   
--   <i>See:</i> <a>domainSummary</a> smart constructor.
data DomainSummary

-- | Creates a value of <a>DomainSummary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsExpiry</a> - Expiration date of the domain in Coordinated
--   Universal Time (UTC).</li>
--   <li><a>dsTransferLock</a> - Indicates whether a domain is locked from
--   unauthorized transfer to another party.</li>
--   <li><a>dsAutoRenew</a> - Indicates whether the domain is automatically
--   renewed upon expiration.</li>
--   <li><a>dsDomainName</a> - The name of the domain that the summary
--   information applies to.</li>
--   </ul>
domainSummary :: Text -> DomainSummary

-- | Expiration date of the domain in Coordinated Universal Time (UTC).
dsExpiry :: Lens' DomainSummary (Maybe UTCTime)

-- | Indicates whether a domain is locked from unauthorized transfer to
--   another party.
dsTransferLock :: Lens' DomainSummary (Maybe Bool)

-- | Indicates whether the domain is automatically renewed upon expiration.
dsAutoRenew :: Lens' DomainSummary (Maybe Bool)

-- | The name of the domain that the summary information applies to.
dsDomainName :: Lens' DomainSummary Text

-- | A complex type that contains information about whether the specified
--   domain can be transferred to Amazon Route 53.
--   
--   <i>See:</i> <a>domainTransferability</a> smart constructor.
data DomainTransferability

-- | Creates a value of <a>DomainTransferability</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtTransferable</a> - Undocumented member.</li>
--   </ul>
domainTransferability :: DomainTransferability

-- | Undocumented member.
dtTransferable :: Lens' DomainTransferability (Maybe Transferable)

-- | ExtraParam includes the following elements.
--   
--   <i>See:</i> <a>extraParam</a> smart constructor.
data ExtraParam

-- | Creates a value of <a>ExtraParam</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>epName</a> - Name of the additional parameter required by the
--   top-level domain. Here are the top-level domains that require
--   additional parameters and which parameters they require: * <b>.com.au
--   and .net.au:</b> <tt>AU_ID_NUMBER</tt> and <tt>AU_ID_TYPE</tt> *
--   <b>.ca:</b> <tt>BRAND_NUMBER</tt> , <tt>CA_LEGAL_TYPE</tt> , and
--   <tt>CA_BUSINESS_ENTITY_TYPE</tt> * <b>.es:</b>
--   <tt>ES_IDENTIFICATION</tt> , <tt>ES_IDENTIFICATION_TYPE</tt> , and
--   <tt>ES_LEGAL_FORM</tt> * <b>.fi:</b> <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt>
--   , <tt>FI_BUSINESS_NUMBER</tt> , <tt>FI_ID_NUMBER</tt> ,
--   <tt>FI_NATIONALITY</tt> , and <tt>FI_ORGANIZATION_TYPE</tt> *
--   <b>.fr:</b> <tt>BRAND_NUMBER</tt> , <tt>BIRTH_DEPARTMENT</tt> ,
--   <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> , <tt>BIRTH_COUNTRY</tt> , and
--   <tt>BIRTH_CITY</tt> * <b>.it:</b> <tt>BIRTH_COUNTRY</tt> ,
--   <tt>IT_PIN</tt> , and <tt>IT_REGISTRANT_ENTITY_TYPE</tt> * <b>.ru:</b>
--   <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> and <tt>RU_PASSPORT_DATA</tt> *
--   <b>.se:</b> <tt>BIRTH_COUNTRY</tt> and <tt>SE_ID_NUMBER</tt> *
--   <b>.sg:</b> <tt>SG_ID_NUMBER</tt> * <b>.co.uk, .me.uk, and
--   .org.uk:</b> <tt>UK_CONTACT_TYPE</tt> and <tt>UK_COMPANY_NUMBER</tt>
--   In addition, many TLDs require <tt>VAT_NUMBER</tt> .</li>
--   <li><a>epValue</a> - Values corresponding to the additional parameter
--   names required by some top-level domains.</li>
--   </ul>
extraParam :: ExtraParamName -> Text -> ExtraParam

-- | Name of the additional parameter required by the top-level domain.
--   Here are the top-level domains that require additional parameters and
--   which parameters they require: * <b>.com.au and .net.au:</b>
--   <tt>AU_ID_NUMBER</tt> and <tt>AU_ID_TYPE</tt> * <b>.ca:</b>
--   <tt>BRAND_NUMBER</tt> , <tt>CA_LEGAL_TYPE</tt> , and
--   <tt>CA_BUSINESS_ENTITY_TYPE</tt> * <b>.es:</b>
--   <tt>ES_IDENTIFICATION</tt> , <tt>ES_IDENTIFICATION_TYPE</tt> , and
--   <tt>ES_LEGAL_FORM</tt> * <b>.fi:</b> <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt>
--   , <tt>FI_BUSINESS_NUMBER</tt> , <tt>FI_ID_NUMBER</tt> ,
--   <tt>FI_NATIONALITY</tt> , and <tt>FI_ORGANIZATION_TYPE</tt> *
--   <b>.fr:</b> <tt>BRAND_NUMBER</tt> , <tt>BIRTH_DEPARTMENT</tt> ,
--   <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> , <tt>BIRTH_COUNTRY</tt> , and
--   <tt>BIRTH_CITY</tt> * <b>.it:</b> <tt>BIRTH_COUNTRY</tt> ,
--   <tt>IT_PIN</tt> , and <tt>IT_REGISTRANT_ENTITY_TYPE</tt> * <b>.ru:</b>
--   <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> and <tt>RU_PASSPORT_DATA</tt> *
--   <b>.se:</b> <tt>BIRTH_COUNTRY</tt> and <tt>SE_ID_NUMBER</tt> *
--   <b>.sg:</b> <tt>SG_ID_NUMBER</tt> * <b>.co.uk, .me.uk, and
--   .org.uk:</b> <tt>UK_CONTACT_TYPE</tt> and <tt>UK_COMPANY_NUMBER</tt>
--   In addition, many TLDs require <tt>VAT_NUMBER</tt> .
epName :: Lens' ExtraParam ExtraParamName

-- | Values corresponding to the additional parameter names required by
--   some top-level domains.
epValue :: Lens' ExtraParam Text

-- | Nameserver includes the following elements.
--   
--   <i>See:</i> <a>nameserver</a> smart constructor.
data Nameserver

-- | Creates a value of <a>Nameserver</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>nGlueIPs</a> - Glue IP address of a name server entry. Glue IP
--   addresses are required only when the name of the name server is a
--   subdomain of the domain. For example, if your domain is example.com
--   and the name server for the domain is ns.example.com, you need to
--   specify the IP address for ns.example.com. Constraints: The list can
--   contain only one IPv4 and one IPv6 address.</li>
--   <li><a>nName</a> - The fully qualified host name of the name server.
--   Constraint: Maximum 255 characters</li>
--   </ul>
nameserver :: Text -> Nameserver

-- | Glue IP address of a name server entry. Glue IP addresses are required
--   only when the name of the name server is a subdomain of the domain.
--   For example, if your domain is example.com and the name server for the
--   domain is ns.example.com, you need to specify the IP address for
--   ns.example.com. Constraints: The list can contain only one IPv4 and
--   one IPv6 address.
nGlueIPs :: Lens' Nameserver [Text]

-- | The fully qualified host name of the name server. Constraint: Maximum
--   255 characters
nName :: Lens' Nameserver Text

-- | OperationSummary includes the following elements.
--   
--   <i>See:</i> <a>operationSummary</a> smart constructor.
data OperationSummary

-- | Creates a value of <a>OperationSummary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osOperationId</a> - Identifier returned to track the requested
--   action.</li>
--   <li><a>osStatus</a> - The current status of the requested operation in
--   the system.</li>
--   <li><a>osType</a> - Type of the action requested.</li>
--   <li><a>osSubmittedDate</a> - The date when the request was
--   submitted.</li>
--   </ul>
operationSummary :: Text -> OperationStatus -> OperationType -> UTCTime -> OperationSummary

-- | Identifier returned to track the requested action.
osOperationId :: Lens' OperationSummary Text

-- | The current status of the requested operation in the system.
osStatus :: Lens' OperationSummary OperationStatus

-- | Type of the action requested.
osType :: Lens' OperationSummary OperationType

-- | The date when the request was submitted.
osSubmittedDate :: Lens' OperationSummary UTCTime

-- | Each tag includes the following elements.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagValue</a> - The value of a tag. Valid values: A-Z, a-z, 0-9,
--   space, ".:/=+-@" Constraints: Each value can be 0-256 characters
--   long.</li>
--   <li><a>tagKey</a> - The key (name) of a tag. Valid values: A-Z, a-z,
--   0-9, space, ".:/=+-@" Constraints: Each key can be 1-128 characters
--   long.</li>
--   </ul>
tag :: Tag

-- | The value of a tag. Valid values: A-Z, a-z, 0-9, space, ".:/=+-@"
--   Constraints: Each value can be 0-256 characters long.
tagValue :: Lens' Tag (Maybe Text)

-- | The key (name) of a tag. Valid values: A-Z, a-z, 0-9, space, ".:/=+-@"
--   Constraints: Each key can be 1-128 characters long.
tagKey :: Lens' Tag (Maybe Text)
