{-# 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.UpdateDomainNameservers
(
UpdateDomainNameservers (..),
newUpdateDomainNameservers,
updateDomainNameservers_fIAuthKey,
updateDomainNameservers_domainName,
updateDomainNameservers_nameservers,
UpdateDomainNameserversResponse (..),
newUpdateDomainNameserversResponse,
updateDomainNameserversResponse_operationId,
updateDomainNameserversResponse_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 UpdateDomainNameservers = UpdateDomainNameservers'
{
UpdateDomainNameservers -> Maybe (Sensitive Text)
fIAuthKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),
UpdateDomainNameservers -> Text
domainName :: Prelude.Text,
UpdateDomainNameservers -> [Nameserver]
nameservers :: [Nameserver]
}
deriving (UpdateDomainNameservers -> UpdateDomainNameservers -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDomainNameservers -> UpdateDomainNameservers -> Bool
$c/= :: UpdateDomainNameservers -> UpdateDomainNameservers -> Bool
== :: UpdateDomainNameservers -> UpdateDomainNameservers -> Bool
$c== :: UpdateDomainNameservers -> UpdateDomainNameservers -> Bool
Prelude.Eq, Int -> UpdateDomainNameservers -> ShowS
[UpdateDomainNameservers] -> ShowS
UpdateDomainNameservers -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDomainNameservers] -> ShowS
$cshowList :: [UpdateDomainNameservers] -> ShowS
show :: UpdateDomainNameservers -> String
$cshow :: UpdateDomainNameservers -> String
showsPrec :: Int -> UpdateDomainNameservers -> ShowS
$cshowsPrec :: Int -> UpdateDomainNameservers -> ShowS
Prelude.Show, forall x. Rep UpdateDomainNameservers x -> UpdateDomainNameservers
forall x. UpdateDomainNameservers -> Rep UpdateDomainNameservers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateDomainNameservers x -> UpdateDomainNameservers
$cfrom :: forall x. UpdateDomainNameservers -> Rep UpdateDomainNameservers x
Prelude.Generic)
newUpdateDomainNameservers ::
Prelude.Text ->
UpdateDomainNameservers
newUpdateDomainNameservers :: Text -> UpdateDomainNameservers
newUpdateDomainNameservers Text
pDomainName_ =
UpdateDomainNameservers'
{ $sel:fIAuthKey:UpdateDomainNameservers' :: Maybe (Sensitive Text)
fIAuthKey =
forall a. Maybe a
Prelude.Nothing,
$sel:domainName:UpdateDomainNameservers' :: Text
domainName = Text
pDomainName_,
$sel:nameservers:UpdateDomainNameservers' :: [Nameserver]
nameservers = forall a. Monoid a => a
Prelude.mempty
}
updateDomainNameservers_fIAuthKey :: Lens.Lens' UpdateDomainNameservers (Prelude.Maybe Prelude.Text)
updateDomainNameservers_fIAuthKey :: Lens' UpdateDomainNameservers (Maybe Text)
updateDomainNameservers_fIAuthKey = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainNameservers' {Maybe (Sensitive Text)
fIAuthKey :: Maybe (Sensitive Text)
$sel:fIAuthKey:UpdateDomainNameservers' :: UpdateDomainNameservers -> Maybe (Sensitive Text)
fIAuthKey} -> Maybe (Sensitive Text)
fIAuthKey) (\s :: UpdateDomainNameservers
s@UpdateDomainNameservers' {} Maybe (Sensitive Text)
a -> UpdateDomainNameservers
s {$sel:fIAuthKey:UpdateDomainNameservers' :: Maybe (Sensitive Text)
fIAuthKey = Maybe (Sensitive Text)
a} :: UpdateDomainNameservers) 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
updateDomainNameservers_domainName :: Lens.Lens' UpdateDomainNameservers Prelude.Text
updateDomainNameservers_domainName :: Lens' UpdateDomainNameservers Text
updateDomainNameservers_domainName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainNameservers' {Text
domainName :: Text
$sel:domainName:UpdateDomainNameservers' :: UpdateDomainNameservers -> Text
domainName} -> Text
domainName) (\s :: UpdateDomainNameservers
s@UpdateDomainNameservers' {} Text
a -> UpdateDomainNameservers
s {$sel:domainName:UpdateDomainNameservers' :: Text
domainName = Text
a} :: UpdateDomainNameservers)
updateDomainNameservers_nameservers :: Lens.Lens' UpdateDomainNameservers [Nameserver]
updateDomainNameservers_nameservers :: Lens' UpdateDomainNameservers [Nameserver]
updateDomainNameservers_nameservers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainNameservers' {[Nameserver]
nameservers :: [Nameserver]
$sel:nameservers:UpdateDomainNameservers' :: UpdateDomainNameservers -> [Nameserver]
nameservers} -> [Nameserver]
nameservers) (\s :: UpdateDomainNameservers
s@UpdateDomainNameservers' {} [Nameserver]
a -> UpdateDomainNameservers
s {$sel:nameservers:UpdateDomainNameservers' :: [Nameserver]
nameservers = [Nameserver]
a} :: UpdateDomainNameservers) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest UpdateDomainNameservers where
type
AWSResponse UpdateDomainNameservers =
UpdateDomainNameserversResponse
request :: (Service -> Service)
-> UpdateDomainNameservers -> Request UpdateDomainNameservers
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 UpdateDomainNameservers
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateDomainNameservers)))
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 -> UpdateDomainNameserversResponse
UpdateDomainNameserversResponse'
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 UpdateDomainNameservers where
hashWithSalt :: Int -> UpdateDomainNameservers -> Int
hashWithSalt Int
_salt UpdateDomainNameservers' {[Nameserver]
Maybe (Sensitive Text)
Text
nameservers :: [Nameserver]
domainName :: Text
fIAuthKey :: Maybe (Sensitive Text)
$sel:nameservers:UpdateDomainNameservers' :: UpdateDomainNameservers -> [Nameserver]
$sel:domainName:UpdateDomainNameservers' :: UpdateDomainNameservers -> Text
$sel:fIAuthKey:UpdateDomainNameservers' :: UpdateDomainNameservers -> Maybe (Sensitive Text)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
fIAuthKey
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domainName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Nameserver]
nameservers
instance Prelude.NFData UpdateDomainNameservers where
rnf :: UpdateDomainNameservers -> ()
rnf UpdateDomainNameservers' {[Nameserver]
Maybe (Sensitive Text)
Text
nameservers :: [Nameserver]
domainName :: Text
fIAuthKey :: Maybe (Sensitive Text)
$sel:nameservers:UpdateDomainNameservers' :: UpdateDomainNameservers -> [Nameserver]
$sel:domainName:UpdateDomainNameservers' :: UpdateDomainNameservers -> Text
$sel:fIAuthKey:UpdateDomainNameservers' :: UpdateDomainNameservers -> Maybe (Sensitive Text)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
fIAuthKey
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
domainName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Nameserver]
nameservers
instance Data.ToHeaders UpdateDomainNameservers where
toHeaders :: UpdateDomainNameservers -> 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.UpdateDomainNameservers" ::
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 UpdateDomainNameservers where
toJSON :: UpdateDomainNameservers -> Value
toJSON UpdateDomainNameservers' {[Nameserver]
Maybe (Sensitive Text)
Text
nameservers :: [Nameserver]
domainName :: Text
fIAuthKey :: Maybe (Sensitive Text)
$sel:nameservers:UpdateDomainNameservers' :: UpdateDomainNameservers -> [Nameserver]
$sel:domainName:UpdateDomainNameservers' :: UpdateDomainNameservers -> Text
$sel:fIAuthKey:UpdateDomainNameservers' :: UpdateDomainNameservers -> Maybe (Sensitive Text)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"FIAuthKey" 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 Text)
fIAuthKey,
forall a. a -> Maybe a
Prelude.Just (Key
"DomainName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
domainName),
forall a. a -> Maybe a
Prelude.Just (Key
"Nameservers" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Nameserver]
nameservers)
]
)
instance Data.ToPath UpdateDomainNameservers where
toPath :: UpdateDomainNameservers -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateDomainNameservers where
toQuery :: UpdateDomainNameservers -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateDomainNameserversResponse = UpdateDomainNameserversResponse'
{
UpdateDomainNameserversResponse -> Maybe Text
operationId :: Prelude.Maybe Prelude.Text,
UpdateDomainNameserversResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateDomainNameserversResponse
-> UpdateDomainNameserversResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDomainNameserversResponse
-> UpdateDomainNameserversResponse -> Bool
$c/= :: UpdateDomainNameserversResponse
-> UpdateDomainNameserversResponse -> Bool
== :: UpdateDomainNameserversResponse
-> UpdateDomainNameserversResponse -> Bool
$c== :: UpdateDomainNameserversResponse
-> UpdateDomainNameserversResponse -> Bool
Prelude.Eq, ReadPrec [UpdateDomainNameserversResponse]
ReadPrec UpdateDomainNameserversResponse
Int -> ReadS UpdateDomainNameserversResponse
ReadS [UpdateDomainNameserversResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDomainNameserversResponse]
$creadListPrec :: ReadPrec [UpdateDomainNameserversResponse]
readPrec :: ReadPrec UpdateDomainNameserversResponse
$creadPrec :: ReadPrec UpdateDomainNameserversResponse
readList :: ReadS [UpdateDomainNameserversResponse]
$creadList :: ReadS [UpdateDomainNameserversResponse]
readsPrec :: Int -> ReadS UpdateDomainNameserversResponse
$creadsPrec :: Int -> ReadS UpdateDomainNameserversResponse
Prelude.Read, Int -> UpdateDomainNameserversResponse -> ShowS
[UpdateDomainNameserversResponse] -> ShowS
UpdateDomainNameserversResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDomainNameserversResponse] -> ShowS
$cshowList :: [UpdateDomainNameserversResponse] -> ShowS
show :: UpdateDomainNameserversResponse -> String
$cshow :: UpdateDomainNameserversResponse -> String
showsPrec :: Int -> UpdateDomainNameserversResponse -> ShowS
$cshowsPrec :: Int -> UpdateDomainNameserversResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateDomainNameserversResponse x
-> UpdateDomainNameserversResponse
forall x.
UpdateDomainNameserversResponse
-> Rep UpdateDomainNameserversResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateDomainNameserversResponse x
-> UpdateDomainNameserversResponse
$cfrom :: forall x.
UpdateDomainNameserversResponse
-> Rep UpdateDomainNameserversResponse x
Prelude.Generic)
newUpdateDomainNameserversResponse ::
Prelude.Int ->
UpdateDomainNameserversResponse
newUpdateDomainNameserversResponse :: Int -> UpdateDomainNameserversResponse
newUpdateDomainNameserversResponse Int
pHttpStatus_ =
UpdateDomainNameserversResponse'
{ $sel:operationId:UpdateDomainNameserversResponse' :: Maybe Text
operationId =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateDomainNameserversResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateDomainNameserversResponse_operationId :: Lens.Lens' UpdateDomainNameserversResponse (Prelude.Maybe Prelude.Text)
updateDomainNameserversResponse_operationId :: Lens' UpdateDomainNameserversResponse (Maybe Text)
updateDomainNameserversResponse_operationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainNameserversResponse' {Maybe Text
operationId :: Maybe Text
$sel:operationId:UpdateDomainNameserversResponse' :: UpdateDomainNameserversResponse -> Maybe Text
operationId} -> Maybe Text
operationId) (\s :: UpdateDomainNameserversResponse
s@UpdateDomainNameserversResponse' {} Maybe Text
a -> UpdateDomainNameserversResponse
s {$sel:operationId:UpdateDomainNameserversResponse' :: Maybe Text
operationId = Maybe Text
a} :: UpdateDomainNameserversResponse)
updateDomainNameserversResponse_httpStatus :: Lens.Lens' UpdateDomainNameserversResponse Prelude.Int
updateDomainNameserversResponse_httpStatus :: Lens' UpdateDomainNameserversResponse Int
updateDomainNameserversResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDomainNameserversResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateDomainNameserversResponse' :: UpdateDomainNameserversResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateDomainNameserversResponse
s@UpdateDomainNameserversResponse' {} Int
a -> UpdateDomainNameserversResponse
s {$sel:httpStatus:UpdateDomainNameserversResponse' :: Int
httpStatus = Int
a} :: UpdateDomainNameserversResponse)
instance
Prelude.NFData
UpdateDomainNameserversResponse
where
rnf :: UpdateDomainNameserversResponse -> ()
rnf UpdateDomainNameserversResponse' {Int
Maybe Text
httpStatus :: Int
operationId :: Maybe Text
$sel:httpStatus:UpdateDomainNameserversResponse' :: UpdateDomainNameserversResponse -> Int
$sel:operationId:UpdateDomainNameserversResponse' :: UpdateDomainNameserversResponse -> 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