{-# 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.EC2.RegisterInstanceEventNotificationAttributes
(
RegisterInstanceEventNotificationAttributes (..),
newRegisterInstanceEventNotificationAttributes,
registerInstanceEventNotificationAttributes_dryRun,
registerInstanceEventNotificationAttributes_instanceTagAttribute,
RegisterInstanceEventNotificationAttributesResponse (..),
newRegisterInstanceEventNotificationAttributesResponse,
registerInstanceEventNotificationAttributesResponse_instanceTagAttribute,
registerInstanceEventNotificationAttributesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data RegisterInstanceEventNotificationAttributes = RegisterInstanceEventNotificationAttributes'
{
RegisterInstanceEventNotificationAttributes -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
RegisterInstanceEventNotificationAttributes
-> Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute :: Prelude.Maybe RegisterInstanceTagAttributeRequest
}
deriving (RegisterInstanceEventNotificationAttributes
-> RegisterInstanceEventNotificationAttributes -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RegisterInstanceEventNotificationAttributes
-> RegisterInstanceEventNotificationAttributes -> Bool
$c/= :: RegisterInstanceEventNotificationAttributes
-> RegisterInstanceEventNotificationAttributes -> Bool
== :: RegisterInstanceEventNotificationAttributes
-> RegisterInstanceEventNotificationAttributes -> Bool
$c== :: RegisterInstanceEventNotificationAttributes
-> RegisterInstanceEventNotificationAttributes -> Bool
Prelude.Eq, ReadPrec [RegisterInstanceEventNotificationAttributes]
ReadPrec RegisterInstanceEventNotificationAttributes
Int -> ReadS RegisterInstanceEventNotificationAttributes
ReadS [RegisterInstanceEventNotificationAttributes]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RegisterInstanceEventNotificationAttributes]
$creadListPrec :: ReadPrec [RegisterInstanceEventNotificationAttributes]
readPrec :: ReadPrec RegisterInstanceEventNotificationAttributes
$creadPrec :: ReadPrec RegisterInstanceEventNotificationAttributes
readList :: ReadS [RegisterInstanceEventNotificationAttributes]
$creadList :: ReadS [RegisterInstanceEventNotificationAttributes]
readsPrec :: Int -> ReadS RegisterInstanceEventNotificationAttributes
$creadsPrec :: Int -> ReadS RegisterInstanceEventNotificationAttributes
Prelude.Read, Int -> RegisterInstanceEventNotificationAttributes -> ShowS
[RegisterInstanceEventNotificationAttributes] -> ShowS
RegisterInstanceEventNotificationAttributes -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RegisterInstanceEventNotificationAttributes] -> ShowS
$cshowList :: [RegisterInstanceEventNotificationAttributes] -> ShowS
show :: RegisterInstanceEventNotificationAttributes -> String
$cshow :: RegisterInstanceEventNotificationAttributes -> String
showsPrec :: Int -> RegisterInstanceEventNotificationAttributes -> ShowS
$cshowsPrec :: Int -> RegisterInstanceEventNotificationAttributes -> ShowS
Prelude.Show, forall x.
Rep RegisterInstanceEventNotificationAttributes x
-> RegisterInstanceEventNotificationAttributes
forall x.
RegisterInstanceEventNotificationAttributes
-> Rep RegisterInstanceEventNotificationAttributes x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RegisterInstanceEventNotificationAttributes x
-> RegisterInstanceEventNotificationAttributes
$cfrom :: forall x.
RegisterInstanceEventNotificationAttributes
-> Rep RegisterInstanceEventNotificationAttributes x
Prelude.Generic)
newRegisterInstanceEventNotificationAttributes ::
RegisterInstanceEventNotificationAttributes
newRegisterInstanceEventNotificationAttributes :: RegisterInstanceEventNotificationAttributes
newRegisterInstanceEventNotificationAttributes =
RegisterInstanceEventNotificationAttributes'
{ $sel:dryRun:RegisterInstanceEventNotificationAttributes' :: Maybe Bool
dryRun =
forall a. Maybe a
Prelude.Nothing,
$sel:instanceTagAttribute:RegisterInstanceEventNotificationAttributes' :: Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute =
forall a. Maybe a
Prelude.Nothing
}
registerInstanceEventNotificationAttributes_dryRun :: Lens.Lens' RegisterInstanceEventNotificationAttributes (Prelude.Maybe Prelude.Bool)
registerInstanceEventNotificationAttributes_dryRun :: Lens' RegisterInstanceEventNotificationAttributes (Maybe Bool)
registerInstanceEventNotificationAttributes_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RegisterInstanceEventNotificationAttributes' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:RegisterInstanceEventNotificationAttributes' :: RegisterInstanceEventNotificationAttributes -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: RegisterInstanceEventNotificationAttributes
s@RegisterInstanceEventNotificationAttributes' {} Maybe Bool
a -> RegisterInstanceEventNotificationAttributes
s {$sel:dryRun:RegisterInstanceEventNotificationAttributes' :: Maybe Bool
dryRun = Maybe Bool
a} :: RegisterInstanceEventNotificationAttributes)
registerInstanceEventNotificationAttributes_instanceTagAttribute :: Lens.Lens' RegisterInstanceEventNotificationAttributes (Prelude.Maybe RegisterInstanceTagAttributeRequest)
registerInstanceEventNotificationAttributes_instanceTagAttribute :: Lens'
RegisterInstanceEventNotificationAttributes
(Maybe RegisterInstanceTagAttributeRequest)
registerInstanceEventNotificationAttributes_instanceTagAttribute = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RegisterInstanceEventNotificationAttributes' {Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute :: Maybe RegisterInstanceTagAttributeRequest
$sel:instanceTagAttribute:RegisterInstanceEventNotificationAttributes' :: RegisterInstanceEventNotificationAttributes
-> Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute} -> Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute) (\s :: RegisterInstanceEventNotificationAttributes
s@RegisterInstanceEventNotificationAttributes' {} Maybe RegisterInstanceTagAttributeRequest
a -> RegisterInstanceEventNotificationAttributes
s {$sel:instanceTagAttribute:RegisterInstanceEventNotificationAttributes' :: Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute = Maybe RegisterInstanceTagAttributeRequest
a} :: RegisterInstanceEventNotificationAttributes)
instance
Core.AWSRequest
RegisterInstanceEventNotificationAttributes
where
type
AWSResponse
RegisterInstanceEventNotificationAttributes =
RegisterInstanceEventNotificationAttributesResponse
request :: (Service -> Service)
-> RegisterInstanceEventNotificationAttributes
-> Request RegisterInstanceEventNotificationAttributes
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy RegisterInstanceEventNotificationAttributes
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse
(AWSResponse RegisterInstanceEventNotificationAttributes)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe InstanceTagNotificationAttribute
-> Int -> RegisterInstanceEventNotificationAttributesResponse
RegisterInstanceEventNotificationAttributesResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"instanceTagAttribute")
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
RegisterInstanceEventNotificationAttributes
where
hashWithSalt :: Int -> RegisterInstanceEventNotificationAttributes -> Int
hashWithSalt
Int
_salt
RegisterInstanceEventNotificationAttributes' {Maybe Bool
Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute :: Maybe RegisterInstanceTagAttributeRequest
dryRun :: Maybe Bool
$sel:instanceTagAttribute:RegisterInstanceEventNotificationAttributes' :: RegisterInstanceEventNotificationAttributes
-> Maybe RegisterInstanceTagAttributeRequest
$sel:dryRun:RegisterInstanceEventNotificationAttributes' :: RegisterInstanceEventNotificationAttributes -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute
instance
Prelude.NFData
RegisterInstanceEventNotificationAttributes
where
rnf :: RegisterInstanceEventNotificationAttributes -> ()
rnf RegisterInstanceEventNotificationAttributes' {Maybe Bool
Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute :: Maybe RegisterInstanceTagAttributeRequest
dryRun :: Maybe Bool
$sel:instanceTagAttribute:RegisterInstanceEventNotificationAttributes' :: RegisterInstanceEventNotificationAttributes
-> Maybe RegisterInstanceTagAttributeRequest
$sel:dryRun:RegisterInstanceEventNotificationAttributes' :: RegisterInstanceEventNotificationAttributes -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute
instance
Data.ToHeaders
RegisterInstanceEventNotificationAttributes
where
toHeaders :: RegisterInstanceEventNotificationAttributes -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance
Data.ToPath
RegisterInstanceEventNotificationAttributes
where
toPath :: RegisterInstanceEventNotificationAttributes -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
RegisterInstanceEventNotificationAttributes
where
toQuery :: RegisterInstanceEventNotificationAttributes -> QueryString
toQuery
RegisterInstanceEventNotificationAttributes' {Maybe Bool
Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute :: Maybe RegisterInstanceTagAttributeRequest
dryRun :: Maybe Bool
$sel:instanceTagAttribute:RegisterInstanceEventNotificationAttributes' :: RegisterInstanceEventNotificationAttributes
-> Maybe RegisterInstanceTagAttributeRequest
$sel:dryRun:RegisterInstanceEventNotificationAttributes' :: RegisterInstanceEventNotificationAttributes -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"RegisterInstanceEventNotificationAttributes" ::
Prelude.ByteString
),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
ByteString
"InstanceTagAttribute" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe RegisterInstanceTagAttributeRequest
instanceTagAttribute
]
data RegisterInstanceEventNotificationAttributesResponse = RegisterInstanceEventNotificationAttributesResponse'
{
RegisterInstanceEventNotificationAttributesResponse
-> Maybe InstanceTagNotificationAttribute
instanceTagAttribute :: Prelude.Maybe InstanceTagNotificationAttribute,
RegisterInstanceEventNotificationAttributesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (RegisterInstanceEventNotificationAttributesResponse
-> RegisterInstanceEventNotificationAttributesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RegisterInstanceEventNotificationAttributesResponse
-> RegisterInstanceEventNotificationAttributesResponse -> Bool
$c/= :: RegisterInstanceEventNotificationAttributesResponse
-> RegisterInstanceEventNotificationAttributesResponse -> Bool
== :: RegisterInstanceEventNotificationAttributesResponse
-> RegisterInstanceEventNotificationAttributesResponse -> Bool
$c== :: RegisterInstanceEventNotificationAttributesResponse
-> RegisterInstanceEventNotificationAttributesResponse -> Bool
Prelude.Eq, ReadPrec [RegisterInstanceEventNotificationAttributesResponse]
ReadPrec RegisterInstanceEventNotificationAttributesResponse
Int -> ReadS RegisterInstanceEventNotificationAttributesResponse
ReadS [RegisterInstanceEventNotificationAttributesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RegisterInstanceEventNotificationAttributesResponse]
$creadListPrec :: ReadPrec [RegisterInstanceEventNotificationAttributesResponse]
readPrec :: ReadPrec RegisterInstanceEventNotificationAttributesResponse
$creadPrec :: ReadPrec RegisterInstanceEventNotificationAttributesResponse
readList :: ReadS [RegisterInstanceEventNotificationAttributesResponse]
$creadList :: ReadS [RegisterInstanceEventNotificationAttributesResponse]
readsPrec :: Int -> ReadS RegisterInstanceEventNotificationAttributesResponse
$creadsPrec :: Int -> ReadS RegisterInstanceEventNotificationAttributesResponse
Prelude.Read, Int -> RegisterInstanceEventNotificationAttributesResponse -> ShowS
[RegisterInstanceEventNotificationAttributesResponse] -> ShowS
RegisterInstanceEventNotificationAttributesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RegisterInstanceEventNotificationAttributesResponse] -> ShowS
$cshowList :: [RegisterInstanceEventNotificationAttributesResponse] -> ShowS
show :: RegisterInstanceEventNotificationAttributesResponse -> String
$cshow :: RegisterInstanceEventNotificationAttributesResponse -> String
showsPrec :: Int -> RegisterInstanceEventNotificationAttributesResponse -> ShowS
$cshowsPrec :: Int -> RegisterInstanceEventNotificationAttributesResponse -> ShowS
Prelude.Show, forall x.
Rep RegisterInstanceEventNotificationAttributesResponse x
-> RegisterInstanceEventNotificationAttributesResponse
forall x.
RegisterInstanceEventNotificationAttributesResponse
-> Rep RegisterInstanceEventNotificationAttributesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RegisterInstanceEventNotificationAttributesResponse x
-> RegisterInstanceEventNotificationAttributesResponse
$cfrom :: forall x.
RegisterInstanceEventNotificationAttributesResponse
-> Rep RegisterInstanceEventNotificationAttributesResponse x
Prelude.Generic)
newRegisterInstanceEventNotificationAttributesResponse ::
Prelude.Int ->
RegisterInstanceEventNotificationAttributesResponse
newRegisterInstanceEventNotificationAttributesResponse :: Int -> RegisterInstanceEventNotificationAttributesResponse
newRegisterInstanceEventNotificationAttributesResponse
Int
pHttpStatus_ =
RegisterInstanceEventNotificationAttributesResponse'
{ $sel:instanceTagAttribute:RegisterInstanceEventNotificationAttributesResponse' :: Maybe InstanceTagNotificationAttribute
instanceTagAttribute =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:RegisterInstanceEventNotificationAttributesResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
registerInstanceEventNotificationAttributesResponse_instanceTagAttribute :: Lens.Lens' RegisterInstanceEventNotificationAttributesResponse (Prelude.Maybe InstanceTagNotificationAttribute)
registerInstanceEventNotificationAttributesResponse_instanceTagAttribute :: Lens'
RegisterInstanceEventNotificationAttributesResponse
(Maybe InstanceTagNotificationAttribute)
registerInstanceEventNotificationAttributesResponse_instanceTagAttribute = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RegisterInstanceEventNotificationAttributesResponse' {Maybe InstanceTagNotificationAttribute
instanceTagAttribute :: Maybe InstanceTagNotificationAttribute
$sel:instanceTagAttribute:RegisterInstanceEventNotificationAttributesResponse' :: RegisterInstanceEventNotificationAttributesResponse
-> Maybe InstanceTagNotificationAttribute
instanceTagAttribute} -> Maybe InstanceTagNotificationAttribute
instanceTagAttribute) (\s :: RegisterInstanceEventNotificationAttributesResponse
s@RegisterInstanceEventNotificationAttributesResponse' {} Maybe InstanceTagNotificationAttribute
a -> RegisterInstanceEventNotificationAttributesResponse
s {$sel:instanceTagAttribute:RegisterInstanceEventNotificationAttributesResponse' :: Maybe InstanceTagNotificationAttribute
instanceTagAttribute = Maybe InstanceTagNotificationAttribute
a} :: RegisterInstanceEventNotificationAttributesResponse)
registerInstanceEventNotificationAttributesResponse_httpStatus :: Lens.Lens' RegisterInstanceEventNotificationAttributesResponse Prelude.Int
registerInstanceEventNotificationAttributesResponse_httpStatus :: Lens' RegisterInstanceEventNotificationAttributesResponse Int
registerInstanceEventNotificationAttributesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RegisterInstanceEventNotificationAttributesResponse' {Int
httpStatus :: Int
$sel:httpStatus:RegisterInstanceEventNotificationAttributesResponse' :: RegisterInstanceEventNotificationAttributesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: RegisterInstanceEventNotificationAttributesResponse
s@RegisterInstanceEventNotificationAttributesResponse' {} Int
a -> RegisterInstanceEventNotificationAttributesResponse
s {$sel:httpStatus:RegisterInstanceEventNotificationAttributesResponse' :: Int
httpStatus = Int
a} :: RegisterInstanceEventNotificationAttributesResponse)
instance
Prelude.NFData
RegisterInstanceEventNotificationAttributesResponse
where
rnf :: RegisterInstanceEventNotificationAttributesResponse -> ()
rnf
RegisterInstanceEventNotificationAttributesResponse' {Int
Maybe InstanceTagNotificationAttribute
httpStatus :: Int
instanceTagAttribute :: Maybe InstanceTagNotificationAttribute
$sel:httpStatus:RegisterInstanceEventNotificationAttributesResponse' :: RegisterInstanceEventNotificationAttributesResponse -> Int
$sel:instanceTagAttribute:RegisterInstanceEventNotificationAttributesResponse' :: RegisterInstanceEventNotificationAttributesResponse
-> Maybe InstanceTagNotificationAttribute
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe InstanceTagNotificationAttribute
instanceTagAttribute
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus