{-# 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.Shield.UpdateEmergencyContactSettings
(
UpdateEmergencyContactSettings (..),
newUpdateEmergencyContactSettings,
updateEmergencyContactSettings_emergencyContactList,
UpdateEmergencyContactSettingsResponse (..),
newUpdateEmergencyContactSettingsResponse,
updateEmergencyContactSettingsResponse_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.Shield.Types
data UpdateEmergencyContactSettings = UpdateEmergencyContactSettings'
{
UpdateEmergencyContactSettings -> Maybe [EmergencyContact]
emergencyContactList :: Prelude.Maybe [EmergencyContact]
}
deriving (UpdateEmergencyContactSettings
-> UpdateEmergencyContactSettings -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateEmergencyContactSettings
-> UpdateEmergencyContactSettings -> Bool
$c/= :: UpdateEmergencyContactSettings
-> UpdateEmergencyContactSettings -> Bool
== :: UpdateEmergencyContactSettings
-> UpdateEmergencyContactSettings -> Bool
$c== :: UpdateEmergencyContactSettings
-> UpdateEmergencyContactSettings -> Bool
Prelude.Eq, ReadPrec [UpdateEmergencyContactSettings]
ReadPrec UpdateEmergencyContactSettings
Int -> ReadS UpdateEmergencyContactSettings
ReadS [UpdateEmergencyContactSettings]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateEmergencyContactSettings]
$creadListPrec :: ReadPrec [UpdateEmergencyContactSettings]
readPrec :: ReadPrec UpdateEmergencyContactSettings
$creadPrec :: ReadPrec UpdateEmergencyContactSettings
readList :: ReadS [UpdateEmergencyContactSettings]
$creadList :: ReadS [UpdateEmergencyContactSettings]
readsPrec :: Int -> ReadS UpdateEmergencyContactSettings
$creadsPrec :: Int -> ReadS UpdateEmergencyContactSettings
Prelude.Read, Int -> UpdateEmergencyContactSettings -> ShowS
[UpdateEmergencyContactSettings] -> ShowS
UpdateEmergencyContactSettings -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateEmergencyContactSettings] -> ShowS
$cshowList :: [UpdateEmergencyContactSettings] -> ShowS
show :: UpdateEmergencyContactSettings -> String
$cshow :: UpdateEmergencyContactSettings -> String
showsPrec :: Int -> UpdateEmergencyContactSettings -> ShowS
$cshowsPrec :: Int -> UpdateEmergencyContactSettings -> ShowS
Prelude.Show, forall x.
Rep UpdateEmergencyContactSettings x
-> UpdateEmergencyContactSettings
forall x.
UpdateEmergencyContactSettings
-> Rep UpdateEmergencyContactSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateEmergencyContactSettings x
-> UpdateEmergencyContactSettings
$cfrom :: forall x.
UpdateEmergencyContactSettings
-> Rep UpdateEmergencyContactSettings x
Prelude.Generic)
newUpdateEmergencyContactSettings ::
UpdateEmergencyContactSettings
newUpdateEmergencyContactSettings :: UpdateEmergencyContactSettings
newUpdateEmergencyContactSettings =
UpdateEmergencyContactSettings'
{ $sel:emergencyContactList:UpdateEmergencyContactSettings' :: Maybe [EmergencyContact]
emergencyContactList =
forall a. Maybe a
Prelude.Nothing
}
updateEmergencyContactSettings_emergencyContactList :: Lens.Lens' UpdateEmergencyContactSettings (Prelude.Maybe [EmergencyContact])
updateEmergencyContactSettings_emergencyContactList :: Lens' UpdateEmergencyContactSettings (Maybe [EmergencyContact])
updateEmergencyContactSettings_emergencyContactList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEmergencyContactSettings' {Maybe [EmergencyContact]
emergencyContactList :: Maybe [EmergencyContact]
$sel:emergencyContactList:UpdateEmergencyContactSettings' :: UpdateEmergencyContactSettings -> Maybe [EmergencyContact]
emergencyContactList} -> Maybe [EmergencyContact]
emergencyContactList) (\s :: UpdateEmergencyContactSettings
s@UpdateEmergencyContactSettings' {} Maybe [EmergencyContact]
a -> UpdateEmergencyContactSettings
s {$sel:emergencyContactList:UpdateEmergencyContactSettings' :: Maybe [EmergencyContact]
emergencyContactList = Maybe [EmergencyContact]
a} :: UpdateEmergencyContactSettings) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance
Core.AWSRequest
UpdateEmergencyContactSettings
where
type
AWSResponse UpdateEmergencyContactSettings =
UpdateEmergencyContactSettingsResponse
request :: (Service -> Service)
-> UpdateEmergencyContactSettings
-> Request UpdateEmergencyContactSettings
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 UpdateEmergencyContactSettings
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse UpdateEmergencyContactSettings)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> UpdateEmergencyContactSettingsResponse
UpdateEmergencyContactSettingsResponse'
forall (f :: * -> *) a b. Functor 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
UpdateEmergencyContactSettings
where
hashWithSalt :: Int -> UpdateEmergencyContactSettings -> Int
hashWithSalt
Int
_salt
UpdateEmergencyContactSettings' {Maybe [EmergencyContact]
emergencyContactList :: Maybe [EmergencyContact]
$sel:emergencyContactList:UpdateEmergencyContactSettings' :: UpdateEmergencyContactSettings -> Maybe [EmergencyContact]
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [EmergencyContact]
emergencyContactList
instance
Prelude.NFData
UpdateEmergencyContactSettings
where
rnf :: UpdateEmergencyContactSettings -> ()
rnf UpdateEmergencyContactSettings' {Maybe [EmergencyContact]
emergencyContactList :: Maybe [EmergencyContact]
$sel:emergencyContactList:UpdateEmergencyContactSettings' :: UpdateEmergencyContactSettings -> Maybe [EmergencyContact]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [EmergencyContact]
emergencyContactList
instance
Data.ToHeaders
UpdateEmergencyContactSettings
where
toHeaders :: UpdateEmergencyContactSettings -> 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
"AWSShield_20160616.UpdateEmergencyContactSettings" ::
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 UpdateEmergencyContactSettings where
toJSON :: UpdateEmergencyContactSettings -> Value
toJSON UpdateEmergencyContactSettings' {Maybe [EmergencyContact]
emergencyContactList :: Maybe [EmergencyContact]
$sel:emergencyContactList:UpdateEmergencyContactSettings' :: UpdateEmergencyContactSettings -> Maybe [EmergencyContact]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"EmergencyContactList" 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 [EmergencyContact]
emergencyContactList
]
)
instance Data.ToPath UpdateEmergencyContactSettings where
toPath :: UpdateEmergencyContactSettings -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateEmergencyContactSettings where
toQuery :: UpdateEmergencyContactSettings -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateEmergencyContactSettingsResponse = UpdateEmergencyContactSettingsResponse'
{
UpdateEmergencyContactSettingsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateEmergencyContactSettingsResponse
-> UpdateEmergencyContactSettingsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateEmergencyContactSettingsResponse
-> UpdateEmergencyContactSettingsResponse -> Bool
$c/= :: UpdateEmergencyContactSettingsResponse
-> UpdateEmergencyContactSettingsResponse -> Bool
== :: UpdateEmergencyContactSettingsResponse
-> UpdateEmergencyContactSettingsResponse -> Bool
$c== :: UpdateEmergencyContactSettingsResponse
-> UpdateEmergencyContactSettingsResponse -> Bool
Prelude.Eq, ReadPrec [UpdateEmergencyContactSettingsResponse]
ReadPrec UpdateEmergencyContactSettingsResponse
Int -> ReadS UpdateEmergencyContactSettingsResponse
ReadS [UpdateEmergencyContactSettingsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateEmergencyContactSettingsResponse]
$creadListPrec :: ReadPrec [UpdateEmergencyContactSettingsResponse]
readPrec :: ReadPrec UpdateEmergencyContactSettingsResponse
$creadPrec :: ReadPrec UpdateEmergencyContactSettingsResponse
readList :: ReadS [UpdateEmergencyContactSettingsResponse]
$creadList :: ReadS [UpdateEmergencyContactSettingsResponse]
readsPrec :: Int -> ReadS UpdateEmergencyContactSettingsResponse
$creadsPrec :: Int -> ReadS UpdateEmergencyContactSettingsResponse
Prelude.Read, Int -> UpdateEmergencyContactSettingsResponse -> ShowS
[UpdateEmergencyContactSettingsResponse] -> ShowS
UpdateEmergencyContactSettingsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateEmergencyContactSettingsResponse] -> ShowS
$cshowList :: [UpdateEmergencyContactSettingsResponse] -> ShowS
show :: UpdateEmergencyContactSettingsResponse -> String
$cshow :: UpdateEmergencyContactSettingsResponse -> String
showsPrec :: Int -> UpdateEmergencyContactSettingsResponse -> ShowS
$cshowsPrec :: Int -> UpdateEmergencyContactSettingsResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateEmergencyContactSettingsResponse x
-> UpdateEmergencyContactSettingsResponse
forall x.
UpdateEmergencyContactSettingsResponse
-> Rep UpdateEmergencyContactSettingsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateEmergencyContactSettingsResponse x
-> UpdateEmergencyContactSettingsResponse
$cfrom :: forall x.
UpdateEmergencyContactSettingsResponse
-> Rep UpdateEmergencyContactSettingsResponse x
Prelude.Generic)
newUpdateEmergencyContactSettingsResponse ::
Prelude.Int ->
UpdateEmergencyContactSettingsResponse
newUpdateEmergencyContactSettingsResponse :: Int -> UpdateEmergencyContactSettingsResponse
newUpdateEmergencyContactSettingsResponse
Int
pHttpStatus_ =
UpdateEmergencyContactSettingsResponse'
{ $sel:httpStatus:UpdateEmergencyContactSettingsResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
updateEmergencyContactSettingsResponse_httpStatus :: Lens.Lens' UpdateEmergencyContactSettingsResponse Prelude.Int
updateEmergencyContactSettingsResponse_httpStatus :: Lens' UpdateEmergencyContactSettingsResponse Int
updateEmergencyContactSettingsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEmergencyContactSettingsResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateEmergencyContactSettingsResponse' :: UpdateEmergencyContactSettingsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateEmergencyContactSettingsResponse
s@UpdateEmergencyContactSettingsResponse' {} Int
a -> UpdateEmergencyContactSettingsResponse
s {$sel:httpStatus:UpdateEmergencyContactSettingsResponse' :: Int
httpStatus = Int
a} :: UpdateEmergencyContactSettingsResponse)
instance
Prelude.NFData
UpdateEmergencyContactSettingsResponse
where
rnf :: UpdateEmergencyContactSettingsResponse -> ()
rnf UpdateEmergencyContactSettingsResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateEmergencyContactSettingsResponse' :: UpdateEmergencyContactSettingsResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus