{-# 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 #-}
module Amazonka.Route53Domains.UpdateDomainContact
(
UpdateDomainContact (..),
newUpdateDomainContact,
updateDomainContact_adminContact,
updateDomainContact_consent,
updateDomainContact_registrantContact,
updateDomainContact_techContact,
updateDomainContact_domainName,
UpdateDomainContactResponse (..),
newUpdateDomainContactResponse,
updateDomainContactResponse_operationId,
updateDomainContactResponse_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
data UpdateDomainContact = UpdateDomainContact'
{
UpdateDomainContact -> Maybe (Sensitive ContactDetail)
adminContact :: Prelude.Maybe (Data.Sensitive ContactDetail),
UpdateDomainContact -> Maybe Consent
consent :: Prelude.Maybe Consent,
UpdateDomainContact -> Maybe (Sensitive ContactDetail)
registrantContact :: Prelude.Maybe (Data.Sensitive ContactDetail),
UpdateDomainContact -> Maybe (Sensitive ContactDetail)
techContact :: Prelude.Maybe (Data.Sensitive ContactDetail),
UpdateDomainContact -> Text
domainName :: Prelude.Text
}
deriving (UpdateDomainContact -> UpdateDomainContact -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDomainContact -> UpdateDomainContact -> Bool
$c/= :: UpdateDomainContact -> UpdateDomainContact -> Bool
== :: UpdateDomainContact -> UpdateDomainContact -> Bool
$c== :: UpdateDomainContact -> UpdateDomainContact -> Bool
Prelude.Eq, Int -> UpdateDomainContact -> ShowS
[UpdateDomainContact] -> ShowS
UpdateDomainContact -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDomainContact] -> ShowS
$cshowList :: [UpdateDomainContact] -> ShowS
show :: UpdateDomainContact -> String
$cshow :: UpdateDomainContact -> String
showsPrec :: Int -> UpdateDomainContact -> ShowS
$cshowsPrec :: Int -> UpdateDomainContact -> ShowS
Prelude.Show, forall x. Rep UpdateDomainContact x -> UpdateDomainContact
forall x. UpdateDomainContact -> Rep UpdateDomainContact x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateDomainContact x -> UpdateDomainContact
$cfrom :: forall x. UpdateDomainContact -> Rep UpdateDomainContact x
Prelude.Generic)
newUpdateDomainContact ::
Prelude.Text ->
UpdateDomainContact
newUpdateDomainContact :: Text -> UpdateDomainContact
newUpdateDomainContact Text
pDomainName_ =
UpdateDomainContact'
{ $sel:adminContact:UpdateDomainContact' :: Maybe (Sensitive ContactDetail)
adminContact =
forall a. Maybe a
Prelude.Nothing,
$sel:consent:UpdateDomainContact' :: Maybe Consent
consent = forall a. Maybe a
Prelude.Nothing,
$sel:registrantContact:UpdateDomainContact' :: Maybe (Sensitive ContactDetail)
registrantContact = forall a. Maybe a
Prelude.Nothing,
$sel:techContact:UpdateDomainContact' :: Maybe (Sensitive ContactDetail)
techContact = forall a. Maybe a
Prelude.Nothing,
$sel:domainName:UpdateDomainContact' :: Text
domainName = Text
pDomainName_
}
updateDomainContact_adminContact :: Lens.Lens' UpdateDomainContact (Prelude.Maybe ContactDetail)
updateDomainContact_adminContact :: Lens' UpdateDomainContact (Maybe ContactDetail)
updateDomainContact_adminContact = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainContact' {Maybe (Sensitive ContactDetail)
adminContact :: Maybe (Sensitive ContactDetail)
$sel:adminContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
adminContact} -> Maybe (Sensitive ContactDetail)
adminContact) (\s :: UpdateDomainContact
s@UpdateDomainContact' {} Maybe (Sensitive ContactDetail)
a -> UpdateDomainContact
s {$sel:adminContact:UpdateDomainContact' :: Maybe (Sensitive ContactDetail)
adminContact = Maybe (Sensitive ContactDetail)
a} :: UpdateDomainContact) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall a. Iso' (Sensitive a) a
Data._Sensitive
updateDomainContact_consent :: Lens.Lens' UpdateDomainContact (Prelude.Maybe Consent)
updateDomainContact_consent :: Lens' UpdateDomainContact (Maybe Consent)
updateDomainContact_consent = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainContact' {Maybe Consent
consent :: Maybe Consent
$sel:consent:UpdateDomainContact' :: UpdateDomainContact -> Maybe Consent
consent} -> Maybe Consent
consent) (\s :: UpdateDomainContact
s@UpdateDomainContact' {} Maybe Consent
a -> UpdateDomainContact
s {$sel:consent:UpdateDomainContact' :: Maybe Consent
consent = Maybe Consent
a} :: UpdateDomainContact)
updateDomainContact_registrantContact :: Lens.Lens' UpdateDomainContact (Prelude.Maybe ContactDetail)
updateDomainContact_registrantContact :: Lens' UpdateDomainContact (Maybe ContactDetail)
updateDomainContact_registrantContact = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainContact' {Maybe (Sensitive ContactDetail)
registrantContact :: Maybe (Sensitive ContactDetail)
$sel:registrantContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
registrantContact} -> Maybe (Sensitive ContactDetail)
registrantContact) (\s :: UpdateDomainContact
s@UpdateDomainContact' {} Maybe (Sensitive ContactDetail)
a -> UpdateDomainContact
s {$sel:registrantContact:UpdateDomainContact' :: Maybe (Sensitive ContactDetail)
registrantContact = Maybe (Sensitive ContactDetail)
a} :: UpdateDomainContact) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall a. Iso' (Sensitive a) a
Data._Sensitive
updateDomainContact_techContact :: Lens.Lens' UpdateDomainContact (Prelude.Maybe ContactDetail)
updateDomainContact_techContact :: Lens' UpdateDomainContact (Maybe ContactDetail)
updateDomainContact_techContact = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainContact' {Maybe (Sensitive ContactDetail)
techContact :: Maybe (Sensitive ContactDetail)
$sel:techContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
techContact} -> Maybe (Sensitive ContactDetail)
techContact) (\s :: UpdateDomainContact
s@UpdateDomainContact' {} Maybe (Sensitive ContactDetail)
a -> UpdateDomainContact
s {$sel:techContact:UpdateDomainContact' :: Maybe (Sensitive ContactDetail)
techContact = Maybe (Sensitive ContactDetail)
a} :: UpdateDomainContact) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall a. Iso' (Sensitive a) a
Data._Sensitive
updateDomainContact_domainName :: Lens.Lens' UpdateDomainContact Prelude.Text
updateDomainContact_domainName :: Lens' UpdateDomainContact Text
updateDomainContact_domainName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainContact' {Text
domainName :: Text
$sel:domainName:UpdateDomainContact' :: UpdateDomainContact -> Text
domainName} -> Text
domainName) (\s :: UpdateDomainContact
s@UpdateDomainContact' {} Text
a -> UpdateDomainContact
s {$sel:domainName:UpdateDomainContact' :: Text
domainName = Text
a} :: UpdateDomainContact)
instance Core.AWSRequest UpdateDomainContact where
type
AWSResponse UpdateDomainContact =
UpdateDomainContactResponse
request :: (Service -> Service)
-> UpdateDomainContact -> Request UpdateDomainContact
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateDomainContact
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateDomainContact)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe Text -> Int -> UpdateDomainContactResponse
UpdateDomainContactResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"OperationId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable UpdateDomainContact where
hashWithSalt :: Int -> UpdateDomainContact -> Int
hashWithSalt Int
_salt UpdateDomainContact' {Maybe (Sensitive ContactDetail)
Maybe Consent
Text
domainName :: Text
techContact :: Maybe (Sensitive ContactDetail)
registrantContact :: Maybe (Sensitive ContactDetail)
consent :: Maybe Consent
adminContact :: Maybe (Sensitive ContactDetail)
$sel:domainName:UpdateDomainContact' :: UpdateDomainContact -> Text
$sel:techContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
$sel:registrantContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
$sel:consent:UpdateDomainContact' :: UpdateDomainContact -> Maybe Consent
$sel:adminContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive ContactDetail)
adminContact
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Consent
consent
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive ContactDetail)
registrantContact
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive ContactDetail)
techContact
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domainName
instance Prelude.NFData UpdateDomainContact where
rnf :: UpdateDomainContact -> ()
rnf UpdateDomainContact' {Maybe (Sensitive ContactDetail)
Maybe Consent
Text
domainName :: Text
techContact :: Maybe (Sensitive ContactDetail)
registrantContact :: Maybe (Sensitive ContactDetail)
consent :: Maybe Consent
adminContact :: Maybe (Sensitive ContactDetail)
$sel:domainName:UpdateDomainContact' :: UpdateDomainContact -> Text
$sel:techContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
$sel:registrantContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
$sel:consent:UpdateDomainContact' :: UpdateDomainContact -> Maybe Consent
$sel:adminContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive ContactDetail)
adminContact
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Consent
consent
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive ContactDetail)
registrantContact
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive ContactDetail)
techContact
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
domainName
instance Data.ToHeaders UpdateDomainContact where
toHeaders :: UpdateDomainContact -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"Route53Domains_v20140515.UpdateDomainContact" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateDomainContact where
toJSON :: UpdateDomainContact -> Value
toJSON UpdateDomainContact' {Maybe (Sensitive ContactDetail)
Maybe Consent
Text
domainName :: Text
techContact :: Maybe (Sensitive ContactDetail)
registrantContact :: Maybe (Sensitive ContactDetail)
consent :: Maybe Consent
adminContact :: Maybe (Sensitive ContactDetail)
$sel:domainName:UpdateDomainContact' :: UpdateDomainContact -> Text
$sel:techContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
$sel:registrantContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
$sel:consent:UpdateDomainContact' :: UpdateDomainContact -> Maybe Consent
$sel:adminContact:UpdateDomainContact' :: UpdateDomainContact -> Maybe (Sensitive ContactDetail)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"AdminContact" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Sensitive ContactDetail)
adminContact,
(Key
"Consent" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Consent
consent,
(Key
"RegistrantContact" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Sensitive ContactDetail)
registrantContact,
(Key
"TechContact" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Sensitive ContactDetail)
techContact,
forall a. a -> Maybe a
Prelude.Just (Key
"DomainName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
domainName)
]
)
instance Data.ToPath UpdateDomainContact where
toPath :: UpdateDomainContact -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateDomainContact where
toQuery :: UpdateDomainContact -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateDomainContactResponse = UpdateDomainContactResponse'
{
UpdateDomainContactResponse -> Maybe Text
operationId :: Prelude.Maybe Prelude.Text,
UpdateDomainContactResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateDomainContactResponse -> UpdateDomainContactResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDomainContactResponse -> UpdateDomainContactResponse -> Bool
$c/= :: UpdateDomainContactResponse -> UpdateDomainContactResponse -> Bool
== :: UpdateDomainContactResponse -> UpdateDomainContactResponse -> Bool
$c== :: UpdateDomainContactResponse -> UpdateDomainContactResponse -> Bool
Prelude.Eq, ReadPrec [UpdateDomainContactResponse]
ReadPrec UpdateDomainContactResponse
Int -> ReadS UpdateDomainContactResponse
ReadS [UpdateDomainContactResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDomainContactResponse]
$creadListPrec :: ReadPrec [UpdateDomainContactResponse]
readPrec :: ReadPrec UpdateDomainContactResponse
$creadPrec :: ReadPrec UpdateDomainContactResponse
readList :: ReadS [UpdateDomainContactResponse]
$creadList :: ReadS [UpdateDomainContactResponse]
readsPrec :: Int -> ReadS UpdateDomainContactResponse
$creadsPrec :: Int -> ReadS UpdateDomainContactResponse
Prelude.Read, Int -> UpdateDomainContactResponse -> ShowS
[UpdateDomainContactResponse] -> ShowS
UpdateDomainContactResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDomainContactResponse] -> ShowS
$cshowList :: [UpdateDomainContactResponse] -> ShowS
show :: UpdateDomainContactResponse -> String
$cshow :: UpdateDomainContactResponse -> String
showsPrec :: Int -> UpdateDomainContactResponse -> ShowS
$cshowsPrec :: Int -> UpdateDomainContactResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateDomainContactResponse x -> UpdateDomainContactResponse
forall x.
UpdateDomainContactResponse -> Rep UpdateDomainContactResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateDomainContactResponse x -> UpdateDomainContactResponse
$cfrom :: forall x.
UpdateDomainContactResponse -> Rep UpdateDomainContactResponse x
Prelude.Generic)
newUpdateDomainContactResponse ::
Prelude.Int ->
UpdateDomainContactResponse
newUpdateDomainContactResponse :: Int -> UpdateDomainContactResponse
newUpdateDomainContactResponse Int
pHttpStatus_ =
UpdateDomainContactResponse'
{ $sel:operationId:UpdateDomainContactResponse' :: Maybe Text
operationId =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateDomainContactResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateDomainContactResponse_operationId :: Lens.Lens' UpdateDomainContactResponse (Prelude.Maybe Prelude.Text)
updateDomainContactResponse_operationId :: Lens' UpdateDomainContactResponse (Maybe Text)
updateDomainContactResponse_operationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainContactResponse' {Maybe Text
operationId :: Maybe Text
$sel:operationId:UpdateDomainContactResponse' :: UpdateDomainContactResponse -> Maybe Text
operationId} -> Maybe Text
operationId) (\s :: UpdateDomainContactResponse
s@UpdateDomainContactResponse' {} Maybe Text
a -> UpdateDomainContactResponse
s {$sel:operationId:UpdateDomainContactResponse' :: Maybe Text
operationId = Maybe Text
a} :: UpdateDomainContactResponse)
updateDomainContactResponse_httpStatus :: Lens.Lens' UpdateDomainContactResponse Prelude.Int
updateDomainContactResponse_httpStatus :: Lens' UpdateDomainContactResponse Int
updateDomainContactResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainContactResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateDomainContactResponse' :: UpdateDomainContactResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateDomainContactResponse
s@UpdateDomainContactResponse' {} Int
a -> UpdateDomainContactResponse
s {$sel:httpStatus:UpdateDomainContactResponse' :: Int
httpStatus = Int
a} :: UpdateDomainContactResponse)
instance Prelude.NFData UpdateDomainContactResponse where
rnf :: UpdateDomainContactResponse -> ()
rnf UpdateDomainContactResponse' {Int
Maybe Text
httpStatus :: Int
operationId :: Maybe Text
$sel:httpStatus:UpdateDomainContactResponse' :: UpdateDomainContactResponse -> Int
$sel:operationId:UpdateDomainContactResponse' :: UpdateDomainContactResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
operationId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus