-- 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.4.5


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 may refer to the ID of an operation that is already completed. For
--   a domain name, it may 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.
_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
Available :: DomainAvailability
AvailablePreorder :: DomainAvailability
AvailableReserved :: DomainAvailability
DontKnow :: DomainAvailability
Reserved :: DomainAvailability
Unavailable :: DomainAvailability
UnavailablePremium :: DomainAvailability
UnavailableRestricted :: 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
ItPin :: ExtraParamName
RuPassportData :: ExtraParamName
SeIdNumber :: ExtraParamName
SgIdNumber :: ExtraParamName
VatNumber :: ExtraParamName
data OperationStatus
Error' :: OperationStatus
Failed :: OperationStatus
InProgress :: OperationStatus
Submitted :: OperationStatus
Successful :: OperationStatus
data OperationType
ChangePrivacyProtection :: OperationType
DeleteDomain :: OperationType
DomainLock :: OperationType
RegisterDomain :: OperationType
TransferInDomain :: OperationType
UpdateDomainContact :: OperationType
UpdateNameserver :: OperationType
data ReachabilityStatus
Done :: ReachabilityStatus
Expired :: ReachabilityStatus
Pending :: ReachabilityStatus

-- | <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.
--   Type: String Valid values: * <tt>REGISTER_DOMAIN</tt> *
--   <tt>TRANSFER_IN_DOMAIN</tt> * <tt>RENEW_DOMAIN</tt> *
--   <tt>CHANGE_DOMAIN_OWNER</tt></li>
--   <li><a>brInvoiceId</a> - The ID of the invoice that is associated with
--   the billing record. Type: String</li>
--   <li><a>brDomainName</a> - The name of a domain. Type: String</li>
--   <li><a>brBillDate</a> - The date that the operation was billed, in
--   Unix format. Type: Double</li>
--   <li><a>brPrice</a> - The price that you were charged for the
--   operation, in US dollars. Type: Double Example value: 12.0</li>
--   </ul>
billingRecord :: BillingRecord

-- | The operation that you were charged for. Type: String Valid values: *
--   <tt>REGISTER_DOMAIN</tt> * <tt>TRANSFER_IN_DOMAIN</tt> *
--   <tt>RENEW_DOMAIN</tt> * <tt>CHANGE_DOMAIN_OWNER</tt>
brOperation :: Lens' BillingRecord (Maybe OperationType)

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

-- | The name of a domain. Type: String
brDomainName :: Lens' BillingRecord (Maybe Text)

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

-- | The price that you were charged for the operation, in US dollars.
--   Type: Double 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> . Type: String Default: None
--   Constraints: Maximum 255 characters. Contact type must not be
--   <tt>PERSON</tt> . Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: No</li>
--   <li><a>cdEmail</a> - Email address of the contact. Type: String
--   Default: None Constraints: Maximum 254 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdState</a> - The state or province of the contact's city.
--   Type: String Default: None Constraints: Maximum 255 characters.
--   Parents: <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No</li>
--   <li><a>cdFax</a> - Fax number of the contact. Type: String Default:
--   None 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> .
--   Parents: <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No</li>
--   <li><a>cdLastName</a> - Last name of contact. Type: String Default:
--   None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdExtraParams</a> - A list of name-value pairs for parameters
--   required by certain top-level domains. Type: Complex Default: None
--   Parents: <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Children: <tt>Name</tt> , <tt>Value</tt>
--   Required: No</li>
--   <li><a>cdZipCode</a> - The zip or postal code of the contact's
--   address. Type: String Default: None Constraints: Maximum 255
--   characters. Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: No</li>
--   <li><a>cdAddressLine1</a> - First line of the contact's address. Type:
--   String Default: None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdCity</a> - The city of the contact's address. Type: String
--   Default: None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdPhoneNumber</a> - The phone number of the contact. Type:
--   String Default: None 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> . Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdAddressLine2</a> - Second line of contact's address, if any.
--   Type: String Default: None Constraints: Maximum 255 characters.
--   Parents: <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No</li>
--   <li><a>cdFirstName</a> - First name of contact. Type: String Default:
--   None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdCountryCode</a> - Code for the country of the contact's
--   address. Type: String Default: None Constraints: Maximum 255
--   characters. Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes</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. Type: String
--   Default: None Constraints: Maximum 255 characters. Valid values:
--   <tt>PERSON</tt> | <tt>COMPANY</tt> | <tt>ASSOCIATION</tt> |
--   <tt>PUBLIC_BODY</tt> Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes</li>
--   </ul>
contactDetail :: ContactDetail

-- | Name of the organization for contact types other than <tt>PERSON</tt>
--   . Type: String Default: None Constraints: Maximum 255 characters.
--   Contact type must not be <tt>PERSON</tt> . Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No
cdOrganizationName :: Lens' ContactDetail (Maybe Text)

-- | Email address of the contact. Type: String Default: None Constraints:
--   Maximum 254 characters. Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes
cdEmail :: Lens' ContactDetail (Maybe Text)

-- | The state or province of the contact's city. Type: String Default:
--   None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No
cdState :: Lens' ContactDetail (Maybe Text)

-- | Fax number of the contact. Type: String Default: None 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> . Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No
cdFax :: Lens' ContactDetail (Maybe Text)

-- | Last name of contact. Type: String Default: None Constraints: Maximum
--   255 characters. Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes
cdLastName :: Lens' ContactDetail (Maybe Text)

-- | A list of name-value pairs for parameters required by certain
--   top-level domains. Type: Complex Default: None Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Children: <tt>Name</tt> , <tt>Value</tt>
--   Required: No
cdExtraParams :: Lens' ContactDetail [ExtraParam]

-- | The zip or postal code of the contact's address. Type: String Default:
--   None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No
cdZipCode :: Lens' ContactDetail (Maybe Text)

-- | First line of the contact's address. Type: String Default: None
--   Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes
cdAddressLine1 :: Lens' ContactDetail (Maybe Text)

-- | The city of the contact's address. Type: String Default: None
--   Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes
cdCity :: Lens' ContactDetail (Maybe Text)

-- | The phone number of the contact. Type: String Default: None
--   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> . Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes
cdPhoneNumber :: Lens' ContactDetail (Maybe Text)

-- | Second line of contact's address, if any. Type: String Default: None
--   Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No
cdAddressLine2 :: Lens' ContactDetail (Maybe Text)

-- | First name of contact. Type: String Default: None Constraints: Maximum
--   255 characters. Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes
cdFirstName :: Lens' ContactDetail (Maybe Text)

-- | Code for the country of the contact's address. Type: String Default:
--   None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes
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. Type: String Default: None
--   Constraints: Maximum 255 characters. Valid values: <tt>PERSON</tt> |
--   <tt>COMPANY</tt> | <tt>ASSOCIATION</tt> | <tt>PUBLIC_BODY</tt>
--   Parents: <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes
cdContactType :: Lens' ContactDetail (Maybe ContactType)

-- | <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> - Undocumented member.</li>
--   <li><a>dDomainName</a> - Undocumented member.</li>
--   </ul>
domainSuggestion :: DomainSuggestion

-- | Undocumented member.
dAvailability :: Lens' DomainSuggestion (Maybe Text)

-- | Undocumented member.
dDomainName :: Lens' DomainSuggestion (Maybe Text)

-- | <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). Type: Long</li>
--   <li><a>dsTransferLock</a> - Indicates whether a domain is locked from
--   unauthorized transfer to another party. Type: Boolean Valid values:
--   <tt>True</tt> | <tt>False</tt></li>
--   <li><a>dsAutoRenew</a> - Indicates whether the domain is automatically
--   renewed upon expiration. Type: Boolean Valid values: <tt>True</tt> |
--   <tt>False</tt></li>
--   <li><a>dsDomainName</a> - The name of a domain. Type: String</li>
--   </ul>
domainSummary :: Text -> DomainSummary

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

-- | Indicates whether a domain is locked from unauthorized transfer to
--   another party. Type: Boolean Valid values: <tt>True</tt> |
--   <tt>False</tt>
dsTransferLock :: Lens' DomainSummary (Maybe Bool)

-- | Indicates whether the domain is automatically renewed upon expiration.
--   Type: Boolean Valid values: <tt>True</tt> | <tt>False</tt>
dsAutoRenew :: Lens' DomainSummary (Maybe Bool)

-- | The name of a domain. Type: String
dsDomainName :: Lens' DomainSummary Text

-- | 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. Type: String Default: None Valid values:
--   <tt>DUNS_NUMBER</tt> | <tt>BRAND_NUMBER</tt> |
--   <tt>BIRTH_DEPARTMENT</tt> | <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> |
--   <tt>BIRTH_COUNTRY</tt> | <tt>BIRTH_CITY</tt> |
--   <tt>DOCUMENT_NUMBER</tt> | <tt>AU_ID_NUMBER</tt> | <tt>AU_ID_TYPE</tt>
--   | <tt>CA_LEGAL_TYPE</tt> | <tt>CA_BUSINESS_ENTITY_TYPE</tt>
--   |<tt>ES_IDENTIFICATION</tt> | <tt>ES_IDENTIFICATION_TYPE</tt> |
--   <tt>ES_LEGAL_FORM</tt> | <tt>FI_BUSINESS_NUMBER</tt> |
--   <tt>FI_ID_NUMBER</tt> | <tt>IT_PIN</tt> | <tt>RU_PASSPORT_DATA</tt> |
--   <tt>SE_ID_NUMBER</tt> | <tt>SG_ID_NUMBER</tt> | <tt>VAT_NUMBER</tt>
--   Parent: <tt>ExtraParams</tt> Required: Yes</li>
--   <li><a>epValue</a> - Values corresponding to the additional parameter
--   names required by some top-level domains. Type: String Default: None
--   Constraints: Maximum 2048 characters. Parent: <tt>ExtraParams</tt>
--   Required: Yes</li>
--   </ul>
extraParam :: ExtraParamName -> Text -> ExtraParam

-- | Name of the additional parameter required by the top-level domain.
--   Type: String Default: None Valid values: <tt>DUNS_NUMBER</tt> |
--   <tt>BRAND_NUMBER</tt> | <tt>BIRTH_DEPARTMENT</tt> |
--   <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> | <tt>BIRTH_COUNTRY</tt> |
--   <tt>BIRTH_CITY</tt> | <tt>DOCUMENT_NUMBER</tt> | <tt>AU_ID_NUMBER</tt>
--   | <tt>AU_ID_TYPE</tt> | <tt>CA_LEGAL_TYPE</tt> |
--   <tt>CA_BUSINESS_ENTITY_TYPE</tt> |<tt>ES_IDENTIFICATION</tt> |
--   <tt>ES_IDENTIFICATION_TYPE</tt> | <tt>ES_LEGAL_FORM</tt> |
--   <tt>FI_BUSINESS_NUMBER</tt> | <tt>FI_ID_NUMBER</tt> | <tt>IT_PIN</tt>
--   | <tt>RU_PASSPORT_DATA</tt> | <tt>SE_ID_NUMBER</tt> |
--   <tt>SG_ID_NUMBER</tt> | <tt>VAT_NUMBER</tt> Parent:
--   <tt>ExtraParams</tt> Required: Yes
epName :: Lens' ExtraParam ExtraParamName

-- | Values corresponding to the additional parameter names required by
--   some top-level domains. Type: String Default: None Constraints:
--   Maximum 2048 characters. Parent: <tt>ExtraParams</tt> Required: Yes
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. Type: List of IP addresses.
--   Constraints: The list can contain only one IPv4 and one IPv6 address.
--   Parent: <tt>Nameservers</tt></li>
--   <li><a>nName</a> - The fully qualified host name of the name server.
--   Type: String Constraint: Maximum 255 characterss Parent:
--   <tt>Nameservers</tt></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. Type: List of IP addresses. Constraints: The list can
--   contain only one IPv4 and one IPv6 address. Parent:
--   <tt>Nameservers</tt>
nGlueIPs :: Lens' Nameserver [Text]

-- | The fully qualified host name of the name server. Type: String
--   Constraint: Maximum 255 characterss Parent: <tt>Nameservers</tt>
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. Type: String</li>
--   <li><a>osStatus</a> - The current status of the requested operation in
--   the system. Type: String</li>
--   <li><a>osType</a> - Type of the action requested. Type: String Valid
--   values: <tt>REGISTER_DOMAIN</tt> | <tt>DELETE_DOMAIN</tt> |
--   <tt>TRANSFER_IN_DOMAIN</tt> | <tt>UPDATE_DOMAIN_CONTACT</tt> |
--   <tt>UPDATE_NAMESERVER</tt> | <tt>CHANGE_PRIVACY_PROTECTION</tt> |
--   <tt>DOMAIN_LOCK</tt></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. Type: String
osOperationId :: Lens' OperationSummary Text

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

-- | Type of the action requested. Type: String Valid values:
--   <tt>REGISTER_DOMAIN</tt> | <tt>DELETE_DOMAIN</tt> |
--   <tt>TRANSFER_IN_DOMAIN</tt> | <tt>UPDATE_DOMAIN_CONTACT</tt> |
--   <tt>UPDATE_NAMESERVER</tt> | <tt>CHANGE_PRIVACY_PROTECTION</tt> |
--   <tt>DOMAIN_LOCK</tt>
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. Type: String Default: None
--   Valid values: A-Z, a-z, 0-9, space, ".:/=+-@" Constraints: Each value
--   can be 0-256 characters long. Required: Yes</li>
--   <li><a>tagKey</a> - The key (name) of a tag. Type: String Default:
--   None Valid values: A-Z, a-z, 0-9, space, ".:/=+-@" Constraints: Each
--   key can be 1-128 characters long. Required: Yes</li>
--   </ul>
tag :: Tag

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

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


-- | This operation updates the contact information for a particular
--   domain. Information for at least one contact (registrant,
--   administrator, or technical) must be supplied for update.
--   
--   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. Type: Complex Children: <tt>FirstName</tt> ,
--   <tt>MiddleName</tt> , <tt>LastName</tt> , <tt>ContactType</tt> ,
--   <tt>OrganizationName</tt> , <tt>AddressLine1</tt> ,
--   <tt>AddressLine2</tt> , <tt>City</tt> , <tt>State</tt> ,
--   <tt>CountryCode</tt> , <tt>ZipCode</tt> , <tt>PhoneNumber</tt> ,
--   <tt>Email</tt> , <tt>Fax</tt> , <tt>ExtraParams</tt> Required:
--   Yes</li>
--   <li><a>udcAdminContact</a> - Provides detailed contact information.
--   Type: Complex Children: <tt>FirstName</tt> , <tt>MiddleName</tt> ,
--   <tt>LastName</tt> , <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes</li>
--   <li><a>udcTechContact</a> - Provides detailed contact information.
--   Type: Complex Children: <tt>FirstName</tt> , <tt>MiddleName</tt> ,
--   <tt>LastName</tt> , <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes</li>
--   <li><a>udcDomainName</a> - The name of a domain. Type: String Default:
--   None 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. Required: Yes</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. Type: Complex Children:
--   <tt>FirstName</tt> , <tt>MiddleName</tt> , <tt>LastName</tt> ,
--   <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes
udcRegistrantContact :: Lens' UpdateDomainContact (Maybe ContactDetail)

-- | Provides detailed contact information. Type: Complex Children:
--   <tt>FirstName</tt> , <tt>MiddleName</tt> , <tt>LastName</tt> ,
--   <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes
udcAdminContact :: Lens' UpdateDomainContact (Maybe ContactDetail)

-- | Provides detailed contact information. Type: Complex Children:
--   <tt>FirstName</tt> , <tt>MiddleName</tt> , <tt>LastName</tt> ,
--   <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes
udcTechContact :: Lens' UpdateDomainContact (Maybe ContactDetail)

-- | The name of a domain. Type: String Default: None 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. Required: Yes
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
--   GetOperationDetail. Type: String Default: None Constraints: Maximum
--   255 characters.</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 GetOperationDetail. Type: String
--   Default: None Constraints: Maximum 255 characters.
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.Read.Read 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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateDomainContact.UpdateDomainContactResponse


-- | This operation updates the specified domain contact's privacy setting.
--   When the privacy option is enabled, personal information such as
--   postal or email address is hidden from the results of a public WHOIS
--   query. The privacy services are provided by the AWS registrar, Gandi.
--   For more information, see the <a>Gandi privacy features</a> .
--   
--   This operation only affects the privacy of the specified contact type
--   (registrant, administrator, or tech). Successful acceptance returns an
--   operation ID that you can use with GetOperationDetail 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.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 true, WHOIS ("who is")
--   queries will return contact information for our registrar partner,
--   Gandi, instead of the contact information that you enter. Type:
--   Boolean Default: None Valid values: <tt>true</tt> | <tt>false</tt>
--   Required: No</li>
--   <li><a>udcpRegistrantPrivacy</a> - Whether you want to conceal contact
--   information from WHOIS queries. If you specify true, WHOIS ("who is")
--   queries will return contact information for our registrar partner,
--   Gandi, instead of the contact information that you enter. Type:
--   Boolean Default: None Valid values: <tt>true</tt> | <tt>false</tt>
--   Required: No</li>
--   <li><a>udcpAdminPrivacy</a> - Whether you want to conceal contact
--   information from WHOIS queries. If you specify true, WHOIS ("who is")
--   queries will return contact information for our registrar partner,
--   Gandi, instead of the contact information that you enter. Type:
--   Boolean Default: None Valid values: <tt>true</tt> | <tt>false</tt>
--   Required: No</li>
--   <li><a>udcpDomainName</a> - The name of a domain. Type: String
--   Default: None 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. Required: Yes</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 true, WHOIS ("who is") queries will return contact
--   information for our registrar partner, Gandi, instead of the contact
--   information that you enter. Type: Boolean Default: None Valid values:
--   <tt>true</tt> | <tt>false</tt> Required: No
udcpTechPrivacy :: Lens' UpdateDomainContactPrivacy (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify true, WHOIS ("who is") queries will return contact
--   information for our registrar partner, Gandi, instead of the contact
--   information that you enter. Type: Boolean Default: None Valid values:
--   <tt>true</tt> | <tt>false</tt> Required: No
udcpRegistrantPrivacy :: Lens' UpdateDomainContactPrivacy (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify true, WHOIS ("who is") queries will return contact
--   information for our registrar partner, Gandi, instead of the contact
--   information that you enter. Type: Boolean Default: None Valid values:
--   <tt>true</tt> | <tt>false</tt> Required: No
udcpAdminPrivacy :: Lens' UpdateDomainContactPrivacy (Maybe Bool)

-- | The name of a domain. Type: String Default: None 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. Required: Yes
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. Type: String Default: None Constraints: Maximum
--   255 characters.</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. Type: String
--   Default: None Constraints: Maximum 255 characters.
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateDomainContactPrivacy.UpdateDomainContactPrivacyResponse


-- | 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 a domain. Type: String Default:
--   None 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. Required: Yes</li>
--   <li><a>udnNameservers</a> - A list of new name servers for the domain.
--   Type: Complex Children: <tt>Name</tt> , <tt>GlueIps</tt> Required:
--   Yes</li>
--   </ul>
updateDomainNameservers :: Text -> UpdateDomainNameservers

-- | The UpdateDomainNameserver request includes the following elements.
--   
--   <i>See:</i> <a>updateDomainNameservers</a> smart constructor.
data UpdateDomainNameservers

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

-- | The name of a domain. Type: String Default: None 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. Required: Yes
udnDomainName :: Lens' UpdateDomainNameservers Text

-- | A list of new name servers for the domain. Type: Complex Children:
--   <tt>Name</tt> , <tt>GlueIps</tt> Required: Yes
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
--   GetOperationDetail. Type: String Default: None Constraints: Maximum
--   255 characters.</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 GetOperationDetail. Type: String
--   Default: None Constraints: Maximum 255 characters.
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateDomainNameservers.UpdateDomainNameserversResponse


-- | This operation adds or updates tags for a specified domain.
--   
--   All tag operations are eventually consistent; subsequent operations
--   may 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. Type: A complex type
--   containing a list of tags Default: None Required: No '&gt; Each tag
--   includes the following elements: * Key The key (name) of a tag. Type:
--   String Default: None Valid values: Unicode characters including
--   alphanumeric, space, and ".:<i>=+-@" Constraints: Each key can be
--   1-128 characters long. Required: Yes * Value The value of a tag. Type:
--   String Default: None Valid values: Unicode characters including
--   alphanumeric, space, and ".:</i>=+-@" Constraints: Each value can be
--   0-256 characters long. Required: Yes</li>
--   <li><a>utfdDomainName</a> - The domain for which you want to add or
--   update tags. The name of a domain. Type: String Default: None
--   Constraints: The domain name can contain only the letters a through z,
--   the numbers 0 through 9, and hyphen (-). Hyphens are allowed only when
--   they're surrounded by letters, numbers, or other hyphens. You can't
--   specify a hyphen at the beginning or end of a label. To specify an
--   Internationalized Domain Name, you must convert the name to Punycode.
--   Required: Yes</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. Type: A complex type containing a list of tags Default: None
--   Required: No '&gt; Each tag includes the following elements: * Key The
--   key (name) of a tag. Type: String Default: None Valid values: Unicode
--   characters including alphanumeric, space, and ".:<i>=+-@" Constraints:
--   Each key can be 1-128 characters long. Required: Yes * Value The value
--   of a tag. Type: String Default: None Valid values: Unicode characters
--   including alphanumeric, space, and ".:</i>=+-@" Constraints: Each
--   value can be 0-256 characters long. Required: Yes
utfdTagsToUpdate :: Lens' UpdateTagsForDomain [Tag]

-- | The domain for which you want to add or update tags. The name of a
--   domain. Type: String Default: None Constraints: The domain name can
--   contain only the letters a through z, the numbers 0 through 9, and
--   hyphen (-). Hyphens are allowed only when they're surrounded by
--   letters, numbers, or other hyphens. You can't specify a hyphen at the
--   beginning or end of a label. To specify an Internationalized Domain
--   Name, you must convert the name to Punycode. Required: Yes
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.UpdateTagsForDomain.UpdateTagsForDomainResponse


-- | This operation 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 in Unix
--   time format. Type: Double Default: None Required: Yes</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 in Unix time
--   format. Type: Double Default: None Required: Yes</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. Type: String
--   Default: None Constraints: The marker must match the value of
--   <tt>NextPageMarker</tt> that was returned in the previous response.
--   Required: No</li>
--   <li><a>vbMaxItems</a> - The number of billing records to be returned.
--   Type: Integer Default: 20 Constraints: A value between 1 and 100.
--   Required: No</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 in Unix time format. Type:
--   Double Default: None Required: Yes
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 in Unix time format. Type: Double
--   Default: None Required: Yes
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. Type: String Default: None Constraints: The
--   marker must match the value of <tt>NextPageMarker</tt> that was
--   returned in the previous response. Required: No
vbMarker :: Lens' ViewBilling (Maybe Text)

-- | The number of billing records to be returned. Type: Integer Default:
--   20 Constraints: A value between 1 and 100. Required: No
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> . Type: String Parent: <tt>BillingRecords</tt></li>
--   <li><a>vbrsBillingRecords</a> - A summary of billing records. Type:
--   Complex type containing a list of billing record summaries. Children:
--   <tt>DomainName</tt> , <tt>Operation</tt> , <tt>InvoiceId</tt> ,
--   <tt>BillDate</tt> and <tt>Price</tt></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> .
--   Type: String Parent: <tt>BillingRecords</tt>
vbrsNextPageMarker :: Lens' ViewBillingResponse (Maybe Text)

-- | A summary of billing records. Type: Complex type containing a list of
--   billing record summaries. Children: <tt>DomainName</tt> ,
--   <tt>Operation</tt> , <tt>InvoiceId</tt> , <tt>BillDate</tt> and
--   <tt>Price</tt>
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ViewBilling.ViewBillingResponse


module Network.AWS.Route53Domains.Waiters


-- | This operation transfers a domain from another registrar to Amazon
--   Route 53. When the transfer is complete, the domain is registered with
--   the AWS registrar partner, Gandi.
--   
--   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 Amazon Route
--   53 Developer Guide.
--   
--   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.
--   
--   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 true, WHOIS
--   ("who is") queries will return contact information for our registrar
--   partner, Gandi, instead of the contact information that you enter.
--   Type: Boolean Default: <tt>true</tt> Valid values: <tt>true</tt> |
--   <tt>false</tt> Required: No</li>
--   <li><a>tdPrivacyProtectRegistrantContact</a> - Whether you want to
--   conceal contact information from WHOIS queries. If you specify true,
--   WHOIS ("who is") queries will return contact information for our
--   registrar partner, Gandi, instead of the contact information that you
--   enter. Type: Boolean Default: <tt>true</tt> Valid values:
--   <tt>true</tt> | <tt>false</tt> Required: No</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. Type: Boolean Valid values:
--   <tt>true</tt> | <tt>false</tt> Default: true Required: No</li>
--   <li><a>tdPrivacyProtectAdminContact</a> - Whether you want to conceal
--   contact information from WHOIS queries. If you specify true, WHOIS
--   ("who is") queries will return contact information for our registrar
--   partner, Gandi, instead of the contact information that you enter.
--   Type: Boolean Default: <tt>true</tt> Valid values: <tt>true</tt> |
--   <tt>false</tt> Required: No</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. Type: String Required: Yes</li>
--   <li><a>tdNameservers</a> - Contains details for the host and glue IP
--   addresses. Type: Complex Children: <tt>GlueIps</tt> , <tt>Name</tt>
--   Required: No</li>
--   <li><a>tdDomainName</a> - The name of a domain. Type: String Default:
--   None 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. Required: Yes</li>
--   <li><a>tdDurationInYears</a> - The number of years the domain will be
--   registered. Domains are registered for a minimum of one year. The
--   maximum period depends on the top-level domain. Type: Integer Default:
--   1 Valid values: Integer from 1 to 10 Required: Yes</li>
--   <li><a>tdAdminContact</a> - Provides detailed contact information.
--   Type: Complex Children: <tt>FirstName</tt> , <tt>MiddleName</tt> ,
--   <tt>LastName</tt> , <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes</li>
--   <li><a>tdRegistrantContact</a> - Provides detailed contact
--   information. Type: Complex Children: <tt>FirstName</tt> ,
--   <tt>MiddleName</tt> , <tt>LastName</tt> , <tt>ContactType</tt> ,
--   <tt>OrganizationName</tt> , <tt>AddressLine1</tt> ,
--   <tt>AddressLine2</tt> , <tt>City</tt> , <tt>State</tt> ,
--   <tt>CountryCode</tt> , <tt>ZipCode</tt> , <tt>PhoneNumber</tt> ,
--   <tt>Email</tt> , <tt>Fax</tt> , <tt>ExtraParams</tt> Required:
--   Yes</li>
--   <li><a>tdTechContact</a> - Provides detailed contact information.
--   Type: Complex Children: <tt>FirstName</tt> , <tt>MiddleName</tt> ,
--   <tt>LastName</tt> , <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes</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 true, WHOIS ("who is") queries will return contact
--   information for our registrar partner, Gandi, instead of the contact
--   information that you enter. Type: Boolean Default: <tt>true</tt> Valid
--   values: <tt>true</tt> | <tt>false</tt> Required: No
tdPrivacyProtectTechContact :: Lens' TransferDomain (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify true, WHOIS ("who is") queries will return contact
--   information for our registrar partner, Gandi, instead of the contact
--   information that you enter. Type: Boolean Default: <tt>true</tt> Valid
--   values: <tt>true</tt> | <tt>false</tt> Required: No
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. Type: Boolean Valid values: <tt>true</tt> | <tt>false</tt>
--   Default: true Required: No
tdAutoRenew :: Lens' TransferDomain (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify true, WHOIS ("who is") queries will return contact
--   information for our registrar partner, Gandi, instead of the contact
--   information that you enter. Type: Boolean Default: <tt>true</tt> Valid
--   values: <tt>true</tt> | <tt>false</tt> Required: No
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. Type: String Required: Yes
tdAuthCode :: Lens' TransferDomain (Maybe Text)

-- | Contains details for the host and glue IP addresses. Type: Complex
--   Children: <tt>GlueIps</tt> , <tt>Name</tt> Required: No
tdNameservers :: Lens' TransferDomain [Nameserver]

-- | The name of a domain. Type: String Default: None 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. Required: Yes
tdDomainName :: Lens' TransferDomain Text

-- | The number of years the domain will be registered. Domains are
--   registered for a minimum of one year. The maximum period depends on
--   the top-level domain. Type: Integer Default: 1 Valid values: Integer
--   from 1 to 10 Required: Yes
tdDurationInYears :: Lens' TransferDomain Natural

-- | Provides detailed contact information. Type: Complex Children:
--   <tt>FirstName</tt> , <tt>MiddleName</tt> , <tt>LastName</tt> ,
--   <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes
tdAdminContact :: Lens' TransferDomain ContactDetail

-- | Provides detailed contact information. Type: Complex Children:
--   <tt>FirstName</tt> , <tt>MiddleName</tt> , <tt>LastName</tt> ,
--   <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes
tdRegistrantContact :: Lens' TransferDomain ContactDetail

-- | Provides detailed contact information. Type: Complex Children:
--   <tt>FirstName</tt> , <tt>MiddleName</tt> , <tt>LastName</tt> ,
--   <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes
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
--   GetOperationDetail. Type: String Default: None Constraints: Maximum
--   255 characters.</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 GetOperationDetail. Type: String
--   Default: None Constraints: Maximum 255 characters.
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.Read.Read 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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.TransferDomain.TransferDomainResponse


-- | 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 a domain. Type: String
--   Default: None 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. Required: Yes</li>
--   </ul>
retrieveDomainAuthCode :: Text -> RetrieveDomainAuthCode

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

-- | The name of a domain. Type: String Default: None 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. Required: Yes
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.
--   Type: String</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. Type: String
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.Read.Read 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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.RetrieveDomainAuthCode.RetrieveDomainAuthCodeResponse


-- | 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. Type: String Default: None Required: Yes</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. Type: String Default:
--   None Required: Yes
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> - True if the email address for the
--   registrant contact has already been verified, and false 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)

-- | True if the email address for the registrant contact has already been
--   verified, and false 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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ResendContactReachabilityEmail.ResendContactReachabilityEmailResponse


-- | 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 documentation.
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
--   Amazon Route 53 documentation. Type: Integer Default: 1 Valid values:
--   Integer from 1 to 10 Required: No</li>
--   <li><a>rdDomainName</a> - Undocumented member.</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. Type: Integer Default: None Valid
--   values: Integer Required: Yes</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 Amazon Route 53 documentation. Type:
--   Integer Default: 1 Valid values: Integer from 1 to 10 Required: No
rdDurationInYears :: Lens' RenewDomain (Maybe Natural)

-- | Undocumented member.
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. Type:
--   Integer Default: None Valid values: Integer Required: Yes
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> - Undocumented member.</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

-- | Undocumented member.
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.RenewDomain.RenewDomainResponse


-- | This operation registers a domain. Domains are registered by the AWS
--   registrar partner, Gandi. 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. * 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. * Optionally enables privacy protection, so WHOIS
--   queries return contact information for our registrar partner, Gandi,
--   instead of the information you entered for registrant, admin, and tech
--   contacts. * 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. * 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 true, WHOIS
--   ("who is") queries will return contact information for our registrar
--   partner, Gandi, instead of the contact information that you enter.
--   Type: Boolean Default: <tt>true</tt> Valid values: <tt>true</tt> |
--   <tt>false</tt> Required: No</li>
--   <li><a>rPrivacyProtectRegistrantContact</a> - Whether you want to
--   conceal contact information from WHOIS queries. If you specify true,
--   WHOIS ("who is") queries will return contact information for our
--   registrar partner, Gandi, instead of the contact information that you
--   enter. Type: Boolean Default: <tt>true</tt> Valid values:
--   <tt>true</tt> | <tt>false</tt> Required: No</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. Type:
--   Boolean Valid values: <tt>true</tt> | <tt>false</tt> Default:
--   <tt>true</tt> Required: No</li>
--   <li><a>rPrivacyProtectAdminContact</a> - Whether you want to conceal
--   contact information from WHOIS queries. If you specify true, WHOIS
--   ("who is") queries will return contact information for our registrar
--   partner, Gandi, instead of the contact information that you enter.
--   Type: Boolean Default: <tt>true</tt> Valid values: <tt>true</tt> |
--   <tt>false</tt> Required: No</li>
--   <li><a>rIdNLangCode</a> - Reserved for future use.</li>
--   <li><a>rDomainName</a> - The name of a domain. Type: String Default:
--   None 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. Required: Yes</li>
--   <li><a>rDurationInYears</a> - The number of years the domain will be
--   registered. Domains are registered for a minimum of one year. The
--   maximum period depends on the top-level domain. Type: Integer Default:
--   1 Valid values: Integer from 1 to 10 Required: Yes</li>
--   <li><a>rAdminContact</a> - Provides detailed contact information.
--   Type: Complex Children: <tt>FirstName</tt> , <tt>MiddleName</tt> ,
--   <tt>LastName</tt> , <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes</li>
--   <li><a>rRegistrantContact</a> - Provides detailed contact information.
--   Type: Complex Children: <tt>FirstName</tt> , <tt>MiddleName</tt> ,
--   <tt>LastName</tt> , <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes</li>
--   <li><a>rTechContact</a> - Provides detailed contact information. Type:
--   Complex Children: <tt>FirstName</tt> , <tt>MiddleName</tt> ,
--   <tt>LastName</tt> , <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes</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 true, WHOIS ("who is") queries will return contact
--   information for our registrar partner, Gandi, instead of the contact
--   information that you enter. Type: Boolean Default: <tt>true</tt> Valid
--   values: <tt>true</tt> | <tt>false</tt> Required: No
rPrivacyProtectTechContact :: Lens' RegisterDomain (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify true, WHOIS ("who is") queries will return contact
--   information for our registrar partner, Gandi, instead of the contact
--   information that you enter. Type: Boolean Default: <tt>true</tt> Valid
--   values: <tt>true</tt> | <tt>false</tt> Required: No
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. Type: Boolean Valid values:
--   <tt>true</tt> | <tt>false</tt> Default: <tt>true</tt> Required: No
rAutoRenew :: Lens' RegisterDomain (Maybe Bool)

-- | Whether you want to conceal contact information from WHOIS queries. If
--   you specify true, WHOIS ("who is") queries will return contact
--   information for our registrar partner, Gandi, instead of the contact
--   information that you enter. Type: Boolean Default: <tt>true</tt> Valid
--   values: <tt>true</tt> | <tt>false</tt> Required: No
rPrivacyProtectAdminContact :: Lens' RegisterDomain (Maybe Bool)

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

-- | The name of a domain. Type: String Default: None 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. Required: Yes
rDomainName :: Lens' RegisterDomain Text

-- | The number of years the domain will be registered. Domains are
--   registered for a minimum of one year. The maximum period depends on
--   the top-level domain. Type: Integer Default: 1 Valid values: Integer
--   from 1 to 10 Required: Yes
rDurationInYears :: Lens' RegisterDomain Natural

-- | Provides detailed contact information. Type: Complex Children:
--   <tt>FirstName</tt> , <tt>MiddleName</tt> , <tt>LastName</tt> ,
--   <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes
rAdminContact :: Lens' RegisterDomain ContactDetail

-- | Provides detailed contact information. Type: Complex Children:
--   <tt>FirstName</tt> , <tt>MiddleName</tt> , <tt>LastName</tt> ,
--   <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes
rRegistrantContact :: Lens' RegisterDomain ContactDetail

-- | Provides detailed contact information. Type: Complex Children:
--   <tt>FirstName</tt> , <tt>MiddleName</tt> , <tt>LastName</tt> ,
--   <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt> Required: Yes
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
--   GetOperationDetail. Type: String Default: None Constraints: Maximum
--   255 characters.</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 GetOperationDetail. Type: String
--   Default: None Constraints: Maximum 255 characters.
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.Read.Read 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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.RegisterDomain.RegisterDomainResponse


-- | This operation returns all of the tags that are associated with the
--   specified domain.
--   
--   All tag operations are eventually consistent; subsequent operations
--   may 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. Type: A complex type containing a list of tags
--   Each tag includes the following elements. * Key The key (name) of a
--   tag. Type: String * Value The value of a tag. Type: String</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.
--   Type: A complex type containing a list of tags Each tag includes the
--   following elements. * Key The key (name) of a tag. Type: String *
--   Value The value of a tag. Type: String
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ListTagsForDomain.ListTagsForDomainResponse


-- | 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. Type: String
--   Default: None Required: No</li>
--   <li><a>loMaxItems</a> - Number of domains to be returned. Type:
--   Integer Default: 20 Constraints: A value between 1 and 100. Required:
--   No</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. Type: String Default: None Required: No
loMarker :: Lens' ListOperations (Maybe Text)

-- | Number of domains to be returned. Type: Integer Default: 20
--   Constraints: A value between 1 and 100. Required: No
loMaxItems :: Lens' ListOperations (Maybe Int)

-- | 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> . Type: String Parent: <tt>Operations</tt></li>
--   <li><a>lorsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>lorsOperations</a> - Lists summaries of the operations. Type:
--   Complex type containing a list of operation summaries Children:
--   <tt>OperationId</tt> , <tt>Status</tt> , <tt>SubmittedDate</tt> ,
--   <tt>Type</tt></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> . Type: String
--   Parent: <tt>Operations</tt>
lorsNextPageMarker :: Lens' ListOperationsResponse (Maybe Text)

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

-- | Lists summaries of the operations. Type: Complex type containing a
--   list of operation summaries Children: <tt>OperationId</tt> ,
--   <tt>Status</tt> , <tt>SubmittedDate</tt> , <tt>Type</tt>
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.Pager.AWSPager Network.AWS.Route53Domains.ListOperations.ListOperations
instance Network.AWS.Types.AWSRequest 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ListOperations.ListOperationsResponse


-- | 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. Type:
--   String Default: None Constraints: The marker must match the value
--   specified in the previous request. Required: No</li>
--   <li><a>ldMaxItems</a> - Number of domains to be returned. Type:
--   Integer Default: 20 Constraints: A numeral between 1 and 100.
--   Required: No</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. Type: String
--   Default: None Constraints: The marker must match the value specified
--   in the previous request. Required: No
ldMarker :: Lens' ListDomains (Maybe Text)

-- | Number of domains to be returned. Type: Integer Default: 20
--   Constraints: A numeral between 1 and 100. Required: No
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> . Type: String Parent: <tt>Operations</tt></li>
--   <li><a>ldrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>ldrsDomains</a> - A summary of domains. Type: Complex type
--   containing a list of domain summaries. Children: <tt>AutoRenew</tt> ,
--   <tt>DomainName</tt> , <tt>Expiry</tt> , <tt>TransferLock</tt></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> . Type: String
--   Parent: <tt>Operations</tt>
ldrsNextPageMarker :: Lens' ListDomainsResponse (Maybe Text)

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

-- | A summary of domains. Type: Complex type containing a list of domain
--   summaries. Children: <tt>AutoRenew</tt> , <tt>DomainName</tt> ,
--   <tt>Expiry</tt> , <tt>TransferLock</tt>
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.Pager.AWSPager Network.AWS.Route53Domains.ListDomains.ListDomains
instance Network.AWS.Types.AWSRequest 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.ListDomains.ListDomainsResponse


-- | 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. Type: String Default: None
--   Required: Yes</li>
--   </ul>
getOperationDetail :: Text -> GetOperationDetail

-- | The GetOperationDetail 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. Type: String Default: None Required: Yes
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. Type: String</li>
--   <li><a>godrsSubmittedDate</a> - The date when the request was
--   submitted.</li>
--   <li><a>godrsDomainName</a> - The name of a domain. Type: String</li>
--   <li><a>godrsOperationId</a> - The identifier for the operation. Type:
--   String</li>
--   <li><a>godrsType</a> - The type of operation that was requested. Type:
--   String</li>
--   <li><a>godrsMessage</a> - Detailed information on the status including
--   possible errors. Type: String</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. Type:
--   String
godrsStatus :: Lens' GetOperationDetailResponse (Maybe OperationStatus)

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

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

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

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

-- | Detailed information on the status including possible errors. Type:
--   String
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetOperationDetail.GetOperationDetailResponse


-- | 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).
--   
--   Parameters: * DomainName (string): The basis for your domain
--   suggestion search, a string with (or without) top-level domain
--   specified. * SuggestionCount (int): The number of domain suggestions
--   to be returned, maximum 50, minimum 1. * OnlyAvailable (bool): If
--   true, availability check will be performed on suggestion results, and
--   only available domains will be returned. If false, suggestions will be
--   returned without checking whether the domain is actually available,
--   and caller will have to call checkDomainAvailability for each
--   suggestion to determine availability for registration.
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> - Undocumented member.</li>
--   <li><a>gdsSuggestionCount</a> - Undocumented member.</li>
--   <li><a>gdsOnlyAvailable</a> - Undocumented member.</li>
--   </ul>
getDomainSuggestions :: Text -> Int -> Bool -> GetDomainSuggestions

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

-- | Undocumented member.
gdsDomainName :: Lens' GetDomainSuggestions Text

-- | Undocumented member.
gdsSuggestionCount :: Lens' GetDomainSuggestions Int

-- | Undocumented member.
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> - Undocumented member.</li>
--   <li><a>gdsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDomainSuggestionsResponse :: Int -> GetDomainSuggestionsResponse

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

-- | Undocumented member.
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetDomainSuggestions.GetDomainSuggestionsResponse


-- | This operation returns detailed information about the domain. The
--   domain's contact information 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 a domain. Type: String Default:
--   None 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. Required: Yes</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 a domain. Type: String Default: None 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. Required: Yes
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
--   for the tech contact is concealed from WHOIS queries. If the value is
--   <tt>true</tt> , WHOIS ("who is") queries will return contact
--   information for our registrar partner, Gandi, instead of the contact
--   information that you enter. Type: Boolean</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. Type:
--   String</li>
--   <li><a>gddrsRegistryDomainId</a> - Reserved for future use.</li>
--   <li><a>gddrsRegistrantPrivacy</a> - Specifies whether contact
--   information for the registrant contact is concealed from WHOIS
--   queries. If the value is <tt>true</tt> , WHOIS ("who is") queries will
--   return contact information for our registrar partner, Gandi, instead
--   of the contact information that you enter. Type: Boolean</li>
--   <li><a>gddrsUpdatedDate</a> - The last updated date of the domain as
--   found in the response to a WHOIS query. The date format is Unix
--   time.</li>
--   <li><a>gddrsAdminPrivacy</a> - Specifies whether contact information
--   for the admin contact is concealed from WHOIS queries. If the value is
--   <tt>true</tt> , WHOIS ("who is") queries will return contact
--   information for our registrar partner, Gandi, instead of the contact
--   information that you enter. Type: Boolean</li>
--   <li><a>gddrsAutoRenew</a> - Specifies whether the domain registration
--   is set to renew automatically. Type: Boolean</li>
--   <li><a>gddrsAbuseContactPhone</a> - Phone number for reporting abuse.
--   Type: String</li>
--   <li><a>gddrsRegistrarURL</a> - Web address of the registrar. Type:
--   String</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. Type:
--   String</li>
--   <li><a>gddrsExpirationDate</a> - The date when the registration for
--   the domain is set to expire. The date format is Unix time.</li>
--   <li><a>gddrsCreationDate</a> - The date when the domain was created as
--   found in the response to a WHOIS query. The date format is Unix
--   time.</li>
--   <li><a>gddrsRegistrarName</a> - Name of the registrar of the domain as
--   identified in the registry. Amazon Route 53 domains are registered by
--   registrar Gandi. The value is <tt>"GANDI SAS"</tt> . Type: String</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. Type: String</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.) Type: Array of String</li>
--   <li><a>gddrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>gddrsDomainName</a> - The name of a domain. Type: String</li>
--   <li><a>gddrsNameservers</a> - The name of the domain. Type:
--   String</li>
--   <li><a>gddrsAdminContact</a> - Provides details about the domain
--   administrative contact. Type: Complex Children: <tt>FirstName</tt> ,
--   <tt>MiddleName</tt> , <tt>LastName</tt> , <tt>ContactType</tt> ,
--   <tt>OrganizationName</tt> , <tt>AddressLine1</tt> ,
--   <tt>AddressLine2</tt> , <tt>City</tt> , <tt>State</tt> ,
--   <tt>CountryCode</tt> , <tt>ZipCode</tt> , <tt>PhoneNumber</tt> ,
--   <tt>Email</tt> , <tt>Fax</tt> , <tt>ExtraParams</tt></li>
--   <li><a>gddrsRegistrantContact</a> - Provides details about the domain
--   registrant. Type: Complex Children: <tt>FirstName</tt> ,
--   <tt>MiddleName</tt> , <tt>LastName</tt> , <tt>ContactType</tt> ,
--   <tt>OrganizationName</tt> , <tt>AddressLine1</tt> ,
--   <tt>AddressLine2</tt> , <tt>City</tt> , <tt>State</tt> ,
--   <tt>CountryCode</tt> , <tt>ZipCode</tt> , <tt>PhoneNumber</tt> ,
--   <tt>Email</tt> , <tt>Fax</tt> , <tt>ExtraParams</tt></li>
--   <li><a>gddrsTechContact</a> - Provides details about the domain
--   technical contact. Type: Complex Children: <tt>FirstName</tt> ,
--   <tt>MiddleName</tt> , <tt>LastName</tt> , <tt>ContactType</tt> ,
--   <tt>OrganizationName</tt> , <tt>AddressLine1</tt> ,
--   <tt>AddressLine2</tt> , <tt>City</tt> , <tt>State</tt> ,
--   <tt>CountryCode</tt> , <tt>ZipCode</tt> , <tt>PhoneNumber</tt> ,
--   <tt>Email</tt> , <tt>Fax</tt> , <tt>ExtraParams</tt></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 for the tech contact is
--   concealed from WHOIS queries. If the value is <tt>true</tt> , WHOIS
--   ("who is") queries will return contact information for our registrar
--   partner, Gandi, instead of the contact information that you enter.
--   Type: Boolean
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. Type: String
gddrsWhoIsServer :: Lens' GetDomainDetailResponse (Maybe Text)

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

-- | Specifies whether contact information for the registrant contact is
--   concealed from WHOIS queries. If the value is <tt>true</tt> , WHOIS
--   ("who is") queries will return contact information for our registrar
--   partner, Gandi, instead of the contact information that you enter.
--   Type: Boolean
gddrsRegistrantPrivacy :: Lens' GetDomainDetailResponse (Maybe Bool)

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

-- | Specifies whether contact information for the admin contact is
--   concealed from WHOIS queries. If the value is <tt>true</tt> , WHOIS
--   ("who is") queries will return contact information for our registrar
--   partner, Gandi, instead of the contact information that you enter.
--   Type: Boolean
gddrsAdminPrivacy :: Lens' GetDomainDetailResponse (Maybe Bool)

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

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

-- | Web address of the registrar. Type: String
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. Type: String
gddrsAbuseContactEmail :: Lens' GetDomainDetailResponse (Maybe Text)

-- | The date when the registration for the domain is set to expire. The
--   date format is Unix time.
gddrsExpirationDate :: Lens' GetDomainDetailResponse (Maybe UTCTime)

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

-- | Name of the registrar of the domain as identified in the registry.
--   Amazon Route 53 domains are registered by registrar Gandi. The value
--   is <tt>"GANDI SAS"</tt> . Type: String
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.
--   Type: String
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.) Type: Array of String
gddrsStatusList :: Lens' GetDomainDetailResponse [Text]

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

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

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

-- | Provides details about the domain administrative contact. Type:
--   Complex Children: <tt>FirstName</tt> , <tt>MiddleName</tt> ,
--   <tt>LastName</tt> , <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt>
gddrsAdminContact :: Lens' GetDomainDetailResponse ContactDetail

-- | Provides details about the domain registrant. Type: Complex Children:
--   <tt>FirstName</tt> , <tt>MiddleName</tt> , <tt>LastName</tt> ,
--   <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt>
gddrsRegistrantContact :: Lens' GetDomainDetailResponse ContactDetail

-- | Provides details about the domain technical contact. Type: Complex
--   Children: <tt>FirstName</tt> , <tt>MiddleName</tt> , <tt>LastName</tt>
--   , <tt>ContactType</tt> , <tt>OrganizationName</tt> ,
--   <tt>AddressLine1</tt> , <tt>AddressLine2</tt> , <tt>City</tt> ,
--   <tt>State</tt> , <tt>CountryCode</tt> , <tt>ZipCode</tt> ,
--   <tt>PhoneNumber</tt> , <tt>Email</tt> , <tt>Fax</tt> ,
--   <tt>ExtraParams</tt>
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.Read.Read 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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetDomainDetail.GetDomainDetailResponse


-- | 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. Type: String Default: None Required: Yes</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.
--   Type: String Default: None Required: Yes
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. <tt>PENDING</tt> indicates that we sent the confirmation
--   email and haven't received a response yet, <tt>DONE</tt> indicates
--   that we sent the email and got confirmation from the registrant
--   contact, and <tt>EXPIRED</tt> indicates that the time limit expired
--   before the registrant contact responded. Type: String Valid values:
--   <tt>PENDING</tt> , <tt>DONE</tt> , <tt>EXPIRED</tt></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. <tt>PENDING</tt>
--   indicates that we sent the confirmation email and haven't received a
--   response yet, <tt>DONE</tt> indicates that we sent the email and got
--   confirmation from the registrant contact, and <tt>EXPIRED</tt>
--   indicates that the time limit expired before the registrant contact
--   responded. Type: String Valid values: <tt>PENDING</tt> , <tt>DONE</tt>
--   , <tt>EXPIRED</tt>
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.GetContactReachabilityStatus.GetContactReachabilityStatusResponse


-- | 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 a domain. Type: String
--   Default: None 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. Required: Yes</li>
--   </ul>
enableDomainTransferLock :: Text -> EnableDomainTransferLock

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

-- | The name of a domain. Type: String Default: None 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. Required: Yes
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. Type: String Default: None Constraints: Maximum
--   255 characters.</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. Type: String
--   Default: None Constraints: Maximum 255 characters.
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.EnableDomainTransferLock.EnableDomainTransferLockResponse


-- | 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
--   partner, Gandi. 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> - Undocumented member.</li>
--   </ul>
enableDomainAutoRenew :: Text -> EnableDomainAutoRenew

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

-- | Undocumented member.
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.EnableDomainAutoRenew.EnableDomainAutoRenewResponse


-- | 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 a domain. Type: String
--   Default: None 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. Required: Yes</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 a domain. Type: String Default: None 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. Required: Yes
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
--   GetOperationDetail. Type: String Default: None Constraints: Maximum
--   255 characters.</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 GetOperationDetail. Type: String
--   Default: None Constraints: Maximum 255 characters.
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.DisableDomainTransferLock.DisableDomainTransferLockResponse


-- | 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> - Undocumented member.</li>
--   </ul>
disableDomainAutoRenew :: Text -> DisableDomainAutoRenew

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

-- | Undocumented member.
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.DisableDomainAutoRenew.DisableDomainAutoRenewResponse


-- | This operation deletes the specified tags for a domain.
--   
--   All tag operations are eventually consistent; subsequent operations
--   may 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. The name of a domain. Type: String Default: None
--   Constraints: The domain name can contain only the letters a through z,
--   the numbers 0 through 9, and hyphen (-). Hyphens are allowed only when
--   they're surrounded by letters, numbers, or other hyphens. You can't
--   specify a hyphen at the beginning or end of a label. To specify an
--   Internationalized Domain Name, you must convert the name to Punycode.
--   Required: Yes</li>
--   <li><a>dtfdTagsToDelete</a> - A list of tag keys to delete. Type: A
--   list that contains the keys of the tags that you want to delete.
--   Default: None Required: No '&gt;</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. The name of
--   a domain. Type: String Default: None Constraints: The domain name can
--   contain only the letters a through z, the numbers 0 through 9, and
--   hyphen (-). Hyphens are allowed only when they're surrounded by
--   letters, numbers, or other hyphens. You can't specify a hyphen at the
--   beginning or end of a label. To specify an Internationalized Domain
--   Name, you must convert the name to Punycode. Required: Yes
dtfdDomainName :: Lens' DeleteTagsForDomain Text

-- | A list of tag keys to delete. Type: A list that contains the keys of
--   the tags that you want to delete. Default: None Required: No '&gt;
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.DeleteTagsForDomain.DeleteTagsForDomainResponse


-- | 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 a domain. Type: String Default:
--   None 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. Required: Yes</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 a domain. Type: String Default: None 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. Required: Yes
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. Type: String Valid values: * <tt>AVAILABLE</tt> – The
--   domain name is available. * <tt>AVAILABLE_RESERVED</tt> – The domain
--   name is reserved under specific conditions. *
--   <tt>AVAILABLE_PREORDER</tt> – The domain name is available and can be
--   preordered. * <tt>UNAVAILABLE</tt> – The domain name is not available.
--   * <tt>UNAVAILABLE_PREMIUM</tt> – The domain name is not available. *
--   <tt>UNAVAILABLE_RESTRICTED</tt> – The domain name is forbidden. *
--   <tt>RESERVED</tt> – The domain name has been reserved for another
--   person or organization. * <tt>DONT_KNOW</tt> – 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.</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. Type: String
--   Valid values: * <tt>AVAILABLE</tt> – The domain name is available. *
--   <tt>AVAILABLE_RESERVED</tt> – The domain name is reserved under
--   specific conditions. * <tt>AVAILABLE_PREORDER</tt> – The domain name
--   is available and can be preordered. * <tt>UNAVAILABLE</tt> – The
--   domain name is not available. * <tt>UNAVAILABLE_PREMIUM</tt> – The
--   domain name is not available. * <tt>UNAVAILABLE_RESTRICTED</tt> – The
--   domain name is forbidden. * <tt>RESERVED</tt> – The domain name has
--   been reserved for another person or organization. * <tt>DONT_KNOW</tt>
--   – 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.
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 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
instance Control.DeepSeq.NFData Network.AWS.Route53Domains.CheckDomainAvailability.CheckDomainAvailabilityResponse


-- | 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 may refer to the ID of an operation that is already completed. For
--   a domain name, it may 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.
_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
Available :: DomainAvailability
AvailablePreorder :: DomainAvailability
AvailableReserved :: DomainAvailability
DontKnow :: DomainAvailability
Reserved :: DomainAvailability
Unavailable :: DomainAvailability
UnavailablePremium :: DomainAvailability
UnavailableRestricted :: 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
ItPin :: ExtraParamName
RuPassportData :: ExtraParamName
SeIdNumber :: ExtraParamName
SgIdNumber :: ExtraParamName
VatNumber :: ExtraParamName
data OperationStatus
Error' :: OperationStatus
Failed :: OperationStatus
InProgress :: OperationStatus
Submitted :: OperationStatus
Successful :: OperationStatus
data OperationType
ChangePrivacyProtection :: OperationType
DeleteDomain :: OperationType
DomainLock :: OperationType
RegisterDomain :: OperationType
TransferInDomain :: OperationType
UpdateDomainContact :: OperationType
UpdateNameserver :: OperationType
data ReachabilityStatus
Done :: ReachabilityStatus
Expired :: ReachabilityStatus
Pending :: ReachabilityStatus

-- | <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.
--   Type: String Valid values: * <tt>REGISTER_DOMAIN</tt> *
--   <tt>TRANSFER_IN_DOMAIN</tt> * <tt>RENEW_DOMAIN</tt> *
--   <tt>CHANGE_DOMAIN_OWNER</tt></li>
--   <li><a>brInvoiceId</a> - The ID of the invoice that is associated with
--   the billing record. Type: String</li>
--   <li><a>brDomainName</a> - The name of a domain. Type: String</li>
--   <li><a>brBillDate</a> - The date that the operation was billed, in
--   Unix format. Type: Double</li>
--   <li><a>brPrice</a> - The price that you were charged for the
--   operation, in US dollars. Type: Double Example value: 12.0</li>
--   </ul>
billingRecord :: BillingRecord

-- | The operation that you were charged for. Type: String Valid values: *
--   <tt>REGISTER_DOMAIN</tt> * <tt>TRANSFER_IN_DOMAIN</tt> *
--   <tt>RENEW_DOMAIN</tt> * <tt>CHANGE_DOMAIN_OWNER</tt>
brOperation :: Lens' BillingRecord (Maybe OperationType)

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

-- | The name of a domain. Type: String
brDomainName :: Lens' BillingRecord (Maybe Text)

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

-- | The price that you were charged for the operation, in US dollars.
--   Type: Double 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> . Type: String Default: None
--   Constraints: Maximum 255 characters. Contact type must not be
--   <tt>PERSON</tt> . Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: No</li>
--   <li><a>cdEmail</a> - Email address of the contact. Type: String
--   Default: None Constraints: Maximum 254 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdState</a> - The state or province of the contact's city.
--   Type: String Default: None Constraints: Maximum 255 characters.
--   Parents: <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No</li>
--   <li><a>cdFax</a> - Fax number of the contact. Type: String Default:
--   None 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> .
--   Parents: <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No</li>
--   <li><a>cdLastName</a> - Last name of contact. Type: String Default:
--   None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdExtraParams</a> - A list of name-value pairs for parameters
--   required by certain top-level domains. Type: Complex Default: None
--   Parents: <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Children: <tt>Name</tt> , <tt>Value</tt>
--   Required: No</li>
--   <li><a>cdZipCode</a> - The zip or postal code of the contact's
--   address. Type: String Default: None Constraints: Maximum 255
--   characters. Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: No</li>
--   <li><a>cdAddressLine1</a> - First line of the contact's address. Type:
--   String Default: None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdCity</a> - The city of the contact's address. Type: String
--   Default: None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdPhoneNumber</a> - The phone number of the contact. Type:
--   String Default: None 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> . Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdAddressLine2</a> - Second line of contact's address, if any.
--   Type: String Default: None Constraints: Maximum 255 characters.
--   Parents: <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No</li>
--   <li><a>cdFirstName</a> - First name of contact. Type: String Default:
--   None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes</li>
--   <li><a>cdCountryCode</a> - Code for the country of the contact's
--   address. Type: String Default: None Constraints: Maximum 255
--   characters. Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes</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. Type: String
--   Default: None Constraints: Maximum 255 characters. Valid values:
--   <tt>PERSON</tt> | <tt>COMPANY</tt> | <tt>ASSOCIATION</tt> |
--   <tt>PUBLIC_BODY</tt> Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes</li>
--   </ul>
contactDetail :: ContactDetail

-- | Name of the organization for contact types other than <tt>PERSON</tt>
--   . Type: String Default: None Constraints: Maximum 255 characters.
--   Contact type must not be <tt>PERSON</tt> . Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No
cdOrganizationName :: Lens' ContactDetail (Maybe Text)

-- | Email address of the contact. Type: String Default: None Constraints:
--   Maximum 254 characters. Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes
cdEmail :: Lens' ContactDetail (Maybe Text)

-- | The state or province of the contact's city. Type: String Default:
--   None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No
cdState :: Lens' ContactDetail (Maybe Text)

-- | Fax number of the contact. Type: String Default: None 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> . Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No
cdFax :: Lens' ContactDetail (Maybe Text)

-- | Last name of contact. Type: String Default: None Constraints: Maximum
--   255 characters. Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes
cdLastName :: Lens' ContactDetail (Maybe Text)

-- | A list of name-value pairs for parameters required by certain
--   top-level domains. Type: Complex Default: None Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Children: <tt>Name</tt> , <tt>Value</tt>
--   Required: No
cdExtraParams :: Lens' ContactDetail [ExtraParam]

-- | The zip or postal code of the contact's address. Type: String Default:
--   None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No
cdZipCode :: Lens' ContactDetail (Maybe Text)

-- | First line of the contact's address. Type: String Default: None
--   Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes
cdAddressLine1 :: Lens' ContactDetail (Maybe Text)

-- | The city of the contact's address. Type: String Default: None
--   Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes
cdCity :: Lens' ContactDetail (Maybe Text)

-- | The phone number of the contact. Type: String Default: None
--   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> . Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes
cdPhoneNumber :: Lens' ContactDetail (Maybe Text)

-- | Second line of contact's address, if any. Type: String Default: None
--   Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: No
cdAddressLine2 :: Lens' ContactDetail (Maybe Text)

-- | First name of contact. Type: String Default: None Constraints: Maximum
--   255 characters. Parents: <tt>RegistrantContact</tt> ,
--   <tt>AdminContact</tt> , <tt>TechContact</tt> Required: Yes
cdFirstName :: Lens' ContactDetail (Maybe Text)

-- | Code for the country of the contact's address. Type: String Default:
--   None Constraints: Maximum 255 characters. Parents:
--   <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes
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. Type: String Default: None
--   Constraints: Maximum 255 characters. Valid values: <tt>PERSON</tt> |
--   <tt>COMPANY</tt> | <tt>ASSOCIATION</tt> | <tt>PUBLIC_BODY</tt>
--   Parents: <tt>RegistrantContact</tt> , <tt>AdminContact</tt> ,
--   <tt>TechContact</tt> Required: Yes
cdContactType :: Lens' ContactDetail (Maybe ContactType)

-- | <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> - Undocumented member.</li>
--   <li><a>dDomainName</a> - Undocumented member.</li>
--   </ul>
domainSuggestion :: DomainSuggestion

-- | Undocumented member.
dAvailability :: Lens' DomainSuggestion (Maybe Text)

-- | Undocumented member.
dDomainName :: Lens' DomainSuggestion (Maybe Text)

-- | <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). Type: Long</li>
--   <li><a>dsTransferLock</a> - Indicates whether a domain is locked from
--   unauthorized transfer to another party. Type: Boolean Valid values:
--   <tt>True</tt> | <tt>False</tt></li>
--   <li><a>dsAutoRenew</a> - Indicates whether the domain is automatically
--   renewed upon expiration. Type: Boolean Valid values: <tt>True</tt> |
--   <tt>False</tt></li>
--   <li><a>dsDomainName</a> - The name of a domain. Type: String</li>
--   </ul>
domainSummary :: Text -> DomainSummary

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

-- | Indicates whether a domain is locked from unauthorized transfer to
--   another party. Type: Boolean Valid values: <tt>True</tt> |
--   <tt>False</tt>
dsTransferLock :: Lens' DomainSummary (Maybe Bool)

-- | Indicates whether the domain is automatically renewed upon expiration.
--   Type: Boolean Valid values: <tt>True</tt> | <tt>False</tt>
dsAutoRenew :: Lens' DomainSummary (Maybe Bool)

-- | The name of a domain. Type: String
dsDomainName :: Lens' DomainSummary Text

-- | 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. Type: String Default: None Valid values:
--   <tt>DUNS_NUMBER</tt> | <tt>BRAND_NUMBER</tt> |
--   <tt>BIRTH_DEPARTMENT</tt> | <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> |
--   <tt>BIRTH_COUNTRY</tt> | <tt>BIRTH_CITY</tt> |
--   <tt>DOCUMENT_NUMBER</tt> | <tt>AU_ID_NUMBER</tt> | <tt>AU_ID_TYPE</tt>
--   | <tt>CA_LEGAL_TYPE</tt> | <tt>CA_BUSINESS_ENTITY_TYPE</tt>
--   |<tt>ES_IDENTIFICATION</tt> | <tt>ES_IDENTIFICATION_TYPE</tt> |
--   <tt>ES_LEGAL_FORM</tt> | <tt>FI_BUSINESS_NUMBER</tt> |
--   <tt>FI_ID_NUMBER</tt> | <tt>IT_PIN</tt> | <tt>RU_PASSPORT_DATA</tt> |
--   <tt>SE_ID_NUMBER</tt> | <tt>SG_ID_NUMBER</tt> | <tt>VAT_NUMBER</tt>
--   Parent: <tt>ExtraParams</tt> Required: Yes</li>
--   <li><a>epValue</a> - Values corresponding to the additional parameter
--   names required by some top-level domains. Type: String Default: None
--   Constraints: Maximum 2048 characters. Parent: <tt>ExtraParams</tt>
--   Required: Yes</li>
--   </ul>
extraParam :: ExtraParamName -> Text -> ExtraParam

-- | Name of the additional parameter required by the top-level domain.
--   Type: String Default: None Valid values: <tt>DUNS_NUMBER</tt> |
--   <tt>BRAND_NUMBER</tt> | <tt>BIRTH_DEPARTMENT</tt> |
--   <tt>BIRTH_DATE_IN_YYYY_MM_DD</tt> | <tt>BIRTH_COUNTRY</tt> |
--   <tt>BIRTH_CITY</tt> | <tt>DOCUMENT_NUMBER</tt> | <tt>AU_ID_NUMBER</tt>
--   | <tt>AU_ID_TYPE</tt> | <tt>CA_LEGAL_TYPE</tt> |
--   <tt>CA_BUSINESS_ENTITY_TYPE</tt> |<tt>ES_IDENTIFICATION</tt> |
--   <tt>ES_IDENTIFICATION_TYPE</tt> | <tt>ES_LEGAL_FORM</tt> |
--   <tt>FI_BUSINESS_NUMBER</tt> | <tt>FI_ID_NUMBER</tt> | <tt>IT_PIN</tt>
--   | <tt>RU_PASSPORT_DATA</tt> | <tt>SE_ID_NUMBER</tt> |
--   <tt>SG_ID_NUMBER</tt> | <tt>VAT_NUMBER</tt> Parent:
--   <tt>ExtraParams</tt> Required: Yes
epName :: Lens' ExtraParam ExtraParamName

-- | Values corresponding to the additional parameter names required by
--   some top-level domains. Type: String Default: None Constraints:
--   Maximum 2048 characters. Parent: <tt>ExtraParams</tt> Required: Yes
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. Type: List of IP addresses.
--   Constraints: The list can contain only one IPv4 and one IPv6 address.
--   Parent: <tt>Nameservers</tt></li>
--   <li><a>nName</a> - The fully qualified host name of the name server.
--   Type: String Constraint: Maximum 255 characterss Parent:
--   <tt>Nameservers</tt></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. Type: List of IP addresses. Constraints: The list can
--   contain only one IPv4 and one IPv6 address. Parent:
--   <tt>Nameservers</tt>
nGlueIPs :: Lens' Nameserver [Text]

-- | The fully qualified host name of the name server. Type: String
--   Constraint: Maximum 255 characterss Parent: <tt>Nameservers</tt>
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. Type: String</li>
--   <li><a>osStatus</a> - The current status of the requested operation in
--   the system. Type: String</li>
--   <li><a>osType</a> - Type of the action requested. Type: String Valid
--   values: <tt>REGISTER_DOMAIN</tt> | <tt>DELETE_DOMAIN</tt> |
--   <tt>TRANSFER_IN_DOMAIN</tt> | <tt>UPDATE_DOMAIN_CONTACT</tt> |
--   <tt>UPDATE_NAMESERVER</tt> | <tt>CHANGE_PRIVACY_PROTECTION</tt> |
--   <tt>DOMAIN_LOCK</tt></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. Type: String
osOperationId :: Lens' OperationSummary Text

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

-- | Type of the action requested. Type: String Valid values:
--   <tt>REGISTER_DOMAIN</tt> | <tt>DELETE_DOMAIN</tt> |
--   <tt>TRANSFER_IN_DOMAIN</tt> | <tt>UPDATE_DOMAIN_CONTACT</tt> |
--   <tt>UPDATE_NAMESERVER</tt> | <tt>CHANGE_PRIVACY_PROTECTION</tt> |
--   <tt>DOMAIN_LOCK</tt>
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. Type: String Default: None
--   Valid values: A-Z, a-z, 0-9, space, ".:/=+-@" Constraints: Each value
--   can be 0-256 characters long. Required: Yes</li>
--   <li><a>tagKey</a> - The key (name) of a tag. Type: String Default:
--   None Valid values: A-Z, a-z, 0-9, space, ".:/=+-@" Constraints: Each
--   key can be 1-128 characters long. Required: Yes</li>
--   </ul>
tag :: Tag

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

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