amazonka-route53-domains-2.0: gen/Amazonka/Route53Domains/GetDomainDetail.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Amazonka.Route53Domains.GetDomainDetail
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- This operation returns detailed information about a specified domain
-- that is associated with the current Amazon Web Services account. Contact
-- information for the domain is also returned as part of the output.
module Amazonka.Route53Domains.GetDomainDetail
( -- * Creating a Request
GetDomainDetail (..),
newGetDomainDetail,
-- * Request Lenses
getDomainDetail_domainName,
-- * Destructuring the Response
GetDomainDetailResponse (..),
newGetDomainDetailResponse,
-- * Response Lenses
getDomainDetailResponse_abuseContactEmail,
getDomainDetailResponse_abuseContactPhone,
getDomainDetailResponse_adminContact,
getDomainDetailResponse_adminPrivacy,
getDomainDetailResponse_autoRenew,
getDomainDetailResponse_creationDate,
getDomainDetailResponse_dnsSec,
getDomainDetailResponse_dnssecKeys,
getDomainDetailResponse_domainName,
getDomainDetailResponse_expirationDate,
getDomainDetailResponse_nameservers,
getDomainDetailResponse_registrantContact,
getDomainDetailResponse_registrantPrivacy,
getDomainDetailResponse_registrarName,
getDomainDetailResponse_registrarUrl,
getDomainDetailResponse_registryDomainId,
getDomainDetailResponse_reseller,
getDomainDetailResponse_statusList,
getDomainDetailResponse_techContact,
getDomainDetailResponse_techPrivacy,
getDomainDetailResponse_updatedDate,
getDomainDetailResponse_whoIsServer,
getDomainDetailResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.Route53Domains.Types
-- | The GetDomainDetail request includes the following element.
--
-- /See:/ 'newGetDomainDetail' smart constructor.
data GetDomainDetail = GetDomainDetail'
{ -- | The name of the domain that you want to get detailed information about.
domainName :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'GetDomainDetail' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'domainName', 'getDomainDetail_domainName' - The name of the domain that you want to get detailed information about.
newGetDomainDetail ::
-- | 'domainName'
Prelude.Text ->
GetDomainDetail
newGetDomainDetail pDomainName_ =
GetDomainDetail' {domainName = pDomainName_}
-- | The name of the domain that you want to get detailed information about.
getDomainDetail_domainName :: Lens.Lens' GetDomainDetail Prelude.Text
getDomainDetail_domainName = Lens.lens (\GetDomainDetail' {domainName} -> domainName) (\s@GetDomainDetail' {} a -> s {domainName = a} :: GetDomainDetail)
instance Core.AWSRequest GetDomainDetail where
type
AWSResponse GetDomainDetail =
GetDomainDetailResponse
request overrides =
Request.postJSON (overrides defaultService)
response =
Response.receiveJSON
( \s h x ->
GetDomainDetailResponse'
Prelude.<$> (x Data..?> "AbuseContactEmail")
Prelude.<*> (x Data..?> "AbuseContactPhone")
Prelude.<*> (x Data..?> "AdminContact")
Prelude.<*> (x Data..?> "AdminPrivacy")
Prelude.<*> (x Data..?> "AutoRenew")
Prelude.<*> (x Data..?> "CreationDate")
Prelude.<*> (x Data..?> "DnsSec")
Prelude.<*> (x Data..?> "DnssecKeys" Core..!@ Prelude.mempty)
Prelude.<*> (x Data..?> "DomainName")
Prelude.<*> (x Data..?> "ExpirationDate")
Prelude.<*> (x Data..?> "Nameservers" Core..!@ Prelude.mempty)
Prelude.<*> (x Data..?> "RegistrantContact")
Prelude.<*> (x Data..?> "RegistrantPrivacy")
Prelude.<*> (x Data..?> "RegistrarName")
Prelude.<*> (x Data..?> "RegistrarUrl")
Prelude.<*> (x Data..?> "RegistryDomainId")
Prelude.<*> (x Data..?> "Reseller")
Prelude.<*> (x Data..?> "StatusList" Core..!@ Prelude.mempty)
Prelude.<*> (x Data..?> "TechContact")
Prelude.<*> (x Data..?> "TechPrivacy")
Prelude.<*> (x Data..?> "UpdatedDate")
Prelude.<*> (x Data..?> "WhoIsServer")
Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
)
instance Prelude.Hashable GetDomainDetail where
hashWithSalt _salt GetDomainDetail' {..} =
_salt `Prelude.hashWithSalt` domainName
instance Prelude.NFData GetDomainDetail where
rnf GetDomainDetail' {..} = Prelude.rnf domainName
instance Data.ToHeaders GetDomainDetail where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "X-Amz-Target"
Data.=# ( "Route53Domains_v20140515.GetDomainDetail" ::
Prelude.ByteString
),
"Content-Type"
Data.=# ( "application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON GetDomainDetail where
toJSON GetDomainDetail' {..} =
Data.object
( Prelude.catMaybes
[Prelude.Just ("DomainName" Data..= domainName)]
)
instance Data.ToPath GetDomainDetail where
toPath = Prelude.const "/"
instance Data.ToQuery GetDomainDetail where
toQuery = Prelude.const Prelude.mempty
-- | The GetDomainDetail response includes the following elements.
--
-- /See:/ 'newGetDomainDetailResponse' smart constructor.
data GetDomainDetailResponse = GetDomainDetailResponse'
{ -- | 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.
abuseContactEmail :: Prelude.Maybe Prelude.Text,
-- | Phone number for reporting abuse.
abuseContactPhone :: Prelude.Maybe Prelude.Text,
-- | Provides details about the domain administrative contact.
adminContact :: Prelude.Maybe (Data.Sensitive ContactDetail),
-- | Specifies whether contact information is concealed from WHOIS queries.
-- If the value is @true@, WHOIS (\"who is\") queries return contact
-- information either for Amazon Registrar (for .com, .net, and .org
-- domains) or for our registrar associate, Gandi (for all other TLDs). If
-- the value is @false@, WHOIS queries return the information that you
-- entered for the admin contact.
adminPrivacy :: Prelude.Maybe Prelude.Bool,
-- | Specifies whether the domain registration is set to renew automatically.
autoRenew :: Prelude.Maybe Prelude.Bool,
-- | The date when the domain was created as found in the response to a WHOIS
-- query. The date and time is in Unix time format and Coordinated
-- Universal time (UTC).
creationDate :: Prelude.Maybe Data.POSIX,
-- | Deprecated.
dnsSec :: Prelude.Maybe Prelude.Text,
-- | A complex type that contains information about the DNSSEC configuration.
dnssecKeys :: Prelude.Maybe [DnssecKey],
-- | The name of a domain.
domainName :: Prelude.Maybe Prelude.Text,
-- | The date when the registration for the domain is set to expire. The date
-- and time is in Unix time format and Coordinated Universal time (UTC).
expirationDate :: Prelude.Maybe Data.POSIX,
-- | The name servers of the domain.
nameservers :: Prelude.Maybe [Nameserver],
-- | Provides details about the domain registrant.
registrantContact :: Prelude.Maybe (Data.Sensitive ContactDetail),
-- | Specifies whether contact information is concealed from WHOIS queries.
-- If the value is @true@, WHOIS (\"who is\") queries return contact
-- information either for Amazon Registrar (for .com, .net, and .org
-- domains) or for our registrar associate, Gandi (for all other TLDs). If
-- the value is @false@, WHOIS queries return the information that you
-- entered for the registrant contact (domain owner).
registrantPrivacy :: Prelude.Maybe Prelude.Bool,
-- | Name of the registrar of the domain as identified in the registry.
-- Domains with a .com, .net, or .org TLD are registered by Amazon
-- Registrar. All other domains are registered by our registrar associate,
-- Gandi. The value for domains that are registered by Gandi is
-- @\"GANDI SAS\"@.
registrarName :: Prelude.Maybe Prelude.Text,
-- | Web address of the registrar.
registrarUrl :: Prelude.Maybe Prelude.Text,
-- | Reserved for future use.
registryDomainId :: Prelude.Maybe Prelude.Text,
-- | Reseller of the domain. Domains registered or transferred using Route 53
-- domains will have @\"Amazon\"@ as the reseller.
reseller :: Prelude.Maybe Prelude.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 <https://www.icann.org/ ICANN website>
-- and search for @epp status codes@. (Search on the ICANN website; web
-- searches sometimes return an old version of the document.)
statusList :: Prelude.Maybe [Prelude.Text],
-- | Provides details about the domain technical contact.
techContact :: Prelude.Maybe (Data.Sensitive ContactDetail),
-- | Specifies whether contact information is concealed from WHOIS queries.
-- If the value is @true@, WHOIS (\"who is\") queries return contact
-- information either for Amazon Registrar (for .com, .net, and .org
-- domains) or for our registrar associate, Gandi (for all other TLDs). If
-- the value is @false@, WHOIS queries return the information that you
-- entered for the technical contact.
techPrivacy :: Prelude.Maybe Prelude.Bool,
-- | The last updated date of the domain as found in the response to a WHOIS
-- query. The date and time is in Unix time format and Coordinated
-- Universal time (UTC).
updatedDate :: Prelude.Maybe Data.POSIX,
-- | The fully qualified name of the WHOIS server that can answer the WHOIS
-- query for the domain.
whoIsServer :: Prelude.Maybe Prelude.Text,
-- | The response's http status code.
httpStatus :: Prelude.Int
}
deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'GetDomainDetailResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'abuseContactEmail', 'getDomainDetailResponse_abuseContactEmail' - 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.
--
-- 'abuseContactPhone', 'getDomainDetailResponse_abuseContactPhone' - Phone number for reporting abuse.
--
-- 'adminContact', 'getDomainDetailResponse_adminContact' - Provides details about the domain administrative contact.
--
-- 'adminPrivacy', 'getDomainDetailResponse_adminPrivacy' - Specifies whether contact information is concealed from WHOIS queries.
-- If the value is @true@, WHOIS (\"who is\") queries return contact
-- information either for Amazon Registrar (for .com, .net, and .org
-- domains) or for our registrar associate, Gandi (for all other TLDs). If
-- the value is @false@, WHOIS queries return the information that you
-- entered for the admin contact.
--
-- 'autoRenew', 'getDomainDetailResponse_autoRenew' - Specifies whether the domain registration is set to renew automatically.
--
-- 'creationDate', 'getDomainDetailResponse_creationDate' - The date when the domain was created as found in the response to a WHOIS
-- query. The date and time is in Unix time format and Coordinated
-- Universal time (UTC).
--
-- 'dnsSec', 'getDomainDetailResponse_dnsSec' - Deprecated.
--
-- 'dnssecKeys', 'getDomainDetailResponse_dnssecKeys' - A complex type that contains information about the DNSSEC configuration.
--
-- 'domainName', 'getDomainDetailResponse_domainName' - The name of a domain.
--
-- 'expirationDate', 'getDomainDetailResponse_expirationDate' - The date when the registration for the domain is set to expire. The date
-- and time is in Unix time format and Coordinated Universal time (UTC).
--
-- 'nameservers', 'getDomainDetailResponse_nameservers' - The name servers of the domain.
--
-- 'registrantContact', 'getDomainDetailResponse_registrantContact' - Provides details about the domain registrant.
--
-- 'registrantPrivacy', 'getDomainDetailResponse_registrantPrivacy' - Specifies whether contact information is concealed from WHOIS queries.
-- If the value is @true@, WHOIS (\"who is\") queries return contact
-- information either for Amazon Registrar (for .com, .net, and .org
-- domains) or for our registrar associate, Gandi (for all other TLDs). If
-- the value is @false@, WHOIS queries return the information that you
-- entered for the registrant contact (domain owner).
--
-- 'registrarName', 'getDomainDetailResponse_registrarName' - Name of the registrar of the domain as identified in the registry.
-- Domains with a .com, .net, or .org TLD are registered by Amazon
-- Registrar. All other domains are registered by our registrar associate,
-- Gandi. The value for domains that are registered by Gandi is
-- @\"GANDI SAS\"@.
--
-- 'registrarUrl', 'getDomainDetailResponse_registrarUrl' - Web address of the registrar.
--
-- 'registryDomainId', 'getDomainDetailResponse_registryDomainId' - Reserved for future use.
--
-- 'reseller', 'getDomainDetailResponse_reseller' - Reseller of the domain. Domains registered or transferred using Route 53
-- domains will have @\"Amazon\"@ as the reseller.
--
-- 'statusList', 'getDomainDetailResponse_statusList' - 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 <https://www.icann.org/ ICANN website>
-- and search for @epp status codes@. (Search on the ICANN website; web
-- searches sometimes return an old version of the document.)
--
-- 'techContact', 'getDomainDetailResponse_techContact' - Provides details about the domain technical contact.
--
-- 'techPrivacy', 'getDomainDetailResponse_techPrivacy' - Specifies whether contact information is concealed from WHOIS queries.
-- If the value is @true@, WHOIS (\"who is\") queries return contact
-- information either for Amazon Registrar (for .com, .net, and .org
-- domains) or for our registrar associate, Gandi (for all other TLDs). If
-- the value is @false@, WHOIS queries return the information that you
-- entered for the technical contact.
--
-- 'updatedDate', 'getDomainDetailResponse_updatedDate' - The last updated date of the domain as found in the response to a WHOIS
-- query. The date and time is in Unix time format and Coordinated
-- Universal time (UTC).
--
-- 'whoIsServer', 'getDomainDetailResponse_whoIsServer' - The fully qualified name of the WHOIS server that can answer the WHOIS
-- query for the domain.
--
-- 'httpStatus', 'getDomainDetailResponse_httpStatus' - The response's http status code.
newGetDomainDetailResponse ::
-- | 'httpStatus'
Prelude.Int ->
GetDomainDetailResponse
newGetDomainDetailResponse pHttpStatus_ =
GetDomainDetailResponse'
{ abuseContactEmail =
Prelude.Nothing,
abuseContactPhone = Prelude.Nothing,
adminContact = Prelude.Nothing,
adminPrivacy = Prelude.Nothing,
autoRenew = Prelude.Nothing,
creationDate = Prelude.Nothing,
dnsSec = Prelude.Nothing,
dnssecKeys = Prelude.Nothing,
domainName = Prelude.Nothing,
expirationDate = Prelude.Nothing,
nameservers = Prelude.Nothing,
registrantContact = Prelude.Nothing,
registrantPrivacy = Prelude.Nothing,
registrarName = Prelude.Nothing,
registrarUrl = Prelude.Nothing,
registryDomainId = Prelude.Nothing,
reseller = Prelude.Nothing,
statusList = Prelude.Nothing,
techContact = Prelude.Nothing,
techPrivacy = Prelude.Nothing,
updatedDate = Prelude.Nothing,
whoIsServer = Prelude.Nothing,
httpStatus = pHttpStatus_
}
-- | 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.
getDomainDetailResponse_abuseContactEmail :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Text)
getDomainDetailResponse_abuseContactEmail = Lens.lens (\GetDomainDetailResponse' {abuseContactEmail} -> abuseContactEmail) (\s@GetDomainDetailResponse' {} a -> s {abuseContactEmail = a} :: GetDomainDetailResponse)
-- | Phone number for reporting abuse.
getDomainDetailResponse_abuseContactPhone :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Text)
getDomainDetailResponse_abuseContactPhone = Lens.lens (\GetDomainDetailResponse' {abuseContactPhone} -> abuseContactPhone) (\s@GetDomainDetailResponse' {} a -> s {abuseContactPhone = a} :: GetDomainDetailResponse)
-- | Provides details about the domain administrative contact.
getDomainDetailResponse_adminContact :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe ContactDetail)
getDomainDetailResponse_adminContact = Lens.lens (\GetDomainDetailResponse' {adminContact} -> adminContact) (\s@GetDomainDetailResponse' {} a -> s {adminContact = a} :: GetDomainDetailResponse) Prelude.. Lens.mapping Data._Sensitive
-- | Specifies whether contact information is concealed from WHOIS queries.
-- If the value is @true@, WHOIS (\"who is\") queries return contact
-- information either for Amazon Registrar (for .com, .net, and .org
-- domains) or for our registrar associate, Gandi (for all other TLDs). If
-- the value is @false@, WHOIS queries return the information that you
-- entered for the admin contact.
getDomainDetailResponse_adminPrivacy :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Bool)
getDomainDetailResponse_adminPrivacy = Lens.lens (\GetDomainDetailResponse' {adminPrivacy} -> adminPrivacy) (\s@GetDomainDetailResponse' {} a -> s {adminPrivacy = a} :: GetDomainDetailResponse)
-- | Specifies whether the domain registration is set to renew automatically.
getDomainDetailResponse_autoRenew :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Bool)
getDomainDetailResponse_autoRenew = Lens.lens (\GetDomainDetailResponse' {autoRenew} -> autoRenew) (\s@GetDomainDetailResponse' {} a -> s {autoRenew = a} :: GetDomainDetailResponse)
-- | The date when the domain was created as found in the response to a WHOIS
-- query. The date and time is in Unix time format and Coordinated
-- Universal time (UTC).
getDomainDetailResponse_creationDate :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.UTCTime)
getDomainDetailResponse_creationDate = Lens.lens (\GetDomainDetailResponse' {creationDate} -> creationDate) (\s@GetDomainDetailResponse' {} a -> s {creationDate = a} :: GetDomainDetailResponse) Prelude.. Lens.mapping Data._Time
-- | Deprecated.
getDomainDetailResponse_dnsSec :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Text)
getDomainDetailResponse_dnsSec = Lens.lens (\GetDomainDetailResponse' {dnsSec} -> dnsSec) (\s@GetDomainDetailResponse' {} a -> s {dnsSec = a} :: GetDomainDetailResponse)
-- | A complex type that contains information about the DNSSEC configuration.
getDomainDetailResponse_dnssecKeys :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe [DnssecKey])
getDomainDetailResponse_dnssecKeys = Lens.lens (\GetDomainDetailResponse' {dnssecKeys} -> dnssecKeys) (\s@GetDomainDetailResponse' {} a -> s {dnssecKeys = a} :: GetDomainDetailResponse) Prelude.. Lens.mapping Lens.coerced
-- | The name of a domain.
getDomainDetailResponse_domainName :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Text)
getDomainDetailResponse_domainName = Lens.lens (\GetDomainDetailResponse' {domainName} -> domainName) (\s@GetDomainDetailResponse' {} a -> s {domainName = a} :: GetDomainDetailResponse)
-- | The date when the registration for the domain is set to expire. The date
-- and time is in Unix time format and Coordinated Universal time (UTC).
getDomainDetailResponse_expirationDate :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.UTCTime)
getDomainDetailResponse_expirationDate = Lens.lens (\GetDomainDetailResponse' {expirationDate} -> expirationDate) (\s@GetDomainDetailResponse' {} a -> s {expirationDate = a} :: GetDomainDetailResponse) Prelude.. Lens.mapping Data._Time
-- | The name servers of the domain.
getDomainDetailResponse_nameservers :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe [Nameserver])
getDomainDetailResponse_nameservers = Lens.lens (\GetDomainDetailResponse' {nameservers} -> nameservers) (\s@GetDomainDetailResponse' {} a -> s {nameservers = a} :: GetDomainDetailResponse) Prelude.. Lens.mapping Lens.coerced
-- | Provides details about the domain registrant.
getDomainDetailResponse_registrantContact :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe ContactDetail)
getDomainDetailResponse_registrantContact = Lens.lens (\GetDomainDetailResponse' {registrantContact} -> registrantContact) (\s@GetDomainDetailResponse' {} a -> s {registrantContact = a} :: GetDomainDetailResponse) Prelude.. Lens.mapping Data._Sensitive
-- | Specifies whether contact information is concealed from WHOIS queries.
-- If the value is @true@, WHOIS (\"who is\") queries return contact
-- information either for Amazon Registrar (for .com, .net, and .org
-- domains) or for our registrar associate, Gandi (for all other TLDs). If
-- the value is @false@, WHOIS queries return the information that you
-- entered for the registrant contact (domain owner).
getDomainDetailResponse_registrantPrivacy :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Bool)
getDomainDetailResponse_registrantPrivacy = Lens.lens (\GetDomainDetailResponse' {registrantPrivacy} -> registrantPrivacy) (\s@GetDomainDetailResponse' {} a -> s {registrantPrivacy = a} :: GetDomainDetailResponse)
-- | Name of the registrar of the domain as identified in the registry.
-- Domains with a .com, .net, or .org TLD are registered by Amazon
-- Registrar. All other domains are registered by our registrar associate,
-- Gandi. The value for domains that are registered by Gandi is
-- @\"GANDI SAS\"@.
getDomainDetailResponse_registrarName :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Text)
getDomainDetailResponse_registrarName = Lens.lens (\GetDomainDetailResponse' {registrarName} -> registrarName) (\s@GetDomainDetailResponse' {} a -> s {registrarName = a} :: GetDomainDetailResponse)
-- | Web address of the registrar.
getDomainDetailResponse_registrarUrl :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Text)
getDomainDetailResponse_registrarUrl = Lens.lens (\GetDomainDetailResponse' {registrarUrl} -> registrarUrl) (\s@GetDomainDetailResponse' {} a -> s {registrarUrl = a} :: GetDomainDetailResponse)
-- | Reserved for future use.
getDomainDetailResponse_registryDomainId :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Text)
getDomainDetailResponse_registryDomainId = Lens.lens (\GetDomainDetailResponse' {registryDomainId} -> registryDomainId) (\s@GetDomainDetailResponse' {} a -> s {registryDomainId = a} :: GetDomainDetailResponse)
-- | Reseller of the domain. Domains registered or transferred using Route 53
-- domains will have @\"Amazon\"@ as the reseller.
getDomainDetailResponse_reseller :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Text)
getDomainDetailResponse_reseller = Lens.lens (\GetDomainDetailResponse' {reseller} -> reseller) (\s@GetDomainDetailResponse' {} a -> s {reseller = a} :: GetDomainDetailResponse)
-- | 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 <https://www.icann.org/ ICANN website>
-- and search for @epp status codes@. (Search on the ICANN website; web
-- searches sometimes return an old version of the document.)
getDomainDetailResponse_statusList :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe [Prelude.Text])
getDomainDetailResponse_statusList = Lens.lens (\GetDomainDetailResponse' {statusList} -> statusList) (\s@GetDomainDetailResponse' {} a -> s {statusList = a} :: GetDomainDetailResponse) Prelude.. Lens.mapping Lens.coerced
-- | Provides details about the domain technical contact.
getDomainDetailResponse_techContact :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe ContactDetail)
getDomainDetailResponse_techContact = Lens.lens (\GetDomainDetailResponse' {techContact} -> techContact) (\s@GetDomainDetailResponse' {} a -> s {techContact = a} :: GetDomainDetailResponse) Prelude.. Lens.mapping Data._Sensitive
-- | Specifies whether contact information is concealed from WHOIS queries.
-- If the value is @true@, WHOIS (\"who is\") queries return contact
-- information either for Amazon Registrar (for .com, .net, and .org
-- domains) or for our registrar associate, Gandi (for all other TLDs). If
-- the value is @false@, WHOIS queries return the information that you
-- entered for the technical contact.
getDomainDetailResponse_techPrivacy :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Bool)
getDomainDetailResponse_techPrivacy = Lens.lens (\GetDomainDetailResponse' {techPrivacy} -> techPrivacy) (\s@GetDomainDetailResponse' {} a -> s {techPrivacy = a} :: GetDomainDetailResponse)
-- | The last updated date of the domain as found in the response to a WHOIS
-- query. The date and time is in Unix time format and Coordinated
-- Universal time (UTC).
getDomainDetailResponse_updatedDate :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.UTCTime)
getDomainDetailResponse_updatedDate = Lens.lens (\GetDomainDetailResponse' {updatedDate} -> updatedDate) (\s@GetDomainDetailResponse' {} a -> s {updatedDate = a} :: GetDomainDetailResponse) Prelude.. Lens.mapping Data._Time
-- | The fully qualified name of the WHOIS server that can answer the WHOIS
-- query for the domain.
getDomainDetailResponse_whoIsServer :: Lens.Lens' GetDomainDetailResponse (Prelude.Maybe Prelude.Text)
getDomainDetailResponse_whoIsServer = Lens.lens (\GetDomainDetailResponse' {whoIsServer} -> whoIsServer) (\s@GetDomainDetailResponse' {} a -> s {whoIsServer = a} :: GetDomainDetailResponse)
-- | The response's http status code.
getDomainDetailResponse_httpStatus :: Lens.Lens' GetDomainDetailResponse Prelude.Int
getDomainDetailResponse_httpStatus = Lens.lens (\GetDomainDetailResponse' {httpStatus} -> httpStatus) (\s@GetDomainDetailResponse' {} a -> s {httpStatus = a} :: GetDomainDetailResponse)
instance Prelude.NFData GetDomainDetailResponse where
rnf GetDomainDetailResponse' {..} =
Prelude.rnf abuseContactEmail
`Prelude.seq` Prelude.rnf abuseContactPhone
`Prelude.seq` Prelude.rnf adminContact
`Prelude.seq` Prelude.rnf adminPrivacy
`Prelude.seq` Prelude.rnf autoRenew
`Prelude.seq` Prelude.rnf creationDate
`Prelude.seq` Prelude.rnf dnsSec
`Prelude.seq` Prelude.rnf dnssecKeys
`Prelude.seq` Prelude.rnf domainName
`Prelude.seq` Prelude.rnf expirationDate
`Prelude.seq` Prelude.rnf nameservers
`Prelude.seq` Prelude.rnf registrantContact
`Prelude.seq` Prelude.rnf registrantPrivacy
`Prelude.seq` Prelude.rnf registrarName
`Prelude.seq` Prelude.rnf registrarUrl
`Prelude.seq` Prelude.rnf registryDomainId
`Prelude.seq` Prelude.rnf reseller
`Prelude.seq` Prelude.rnf statusList
`Prelude.seq` Prelude.rnf techContact
`Prelude.seq` Prelude.rnf techPrivacy
`Prelude.seq` Prelude.rnf updatedDate
`Prelude.seq` Prelude.rnf whoIsServer
`Prelude.seq` Prelude.rnf httpStatus