{-# 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.ResourceGroups.UpdateGroupQuery
(
UpdateGroupQuery (..),
newUpdateGroupQuery,
updateGroupQuery_group,
updateGroupQuery_groupName,
updateGroupQuery_resourceQuery,
UpdateGroupQueryResponse (..),
newUpdateGroupQueryResponse,
updateGroupQueryResponse_groupQuery,
updateGroupQueryResponse_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 Amazonka.ResourceGroups.Types
import qualified Amazonka.Response as Response
data UpdateGroupQuery = UpdateGroupQuery'
{
UpdateGroupQuery -> Maybe Text
group' :: Prelude.Maybe Prelude.Text,
UpdateGroupQuery -> Maybe Text
groupName :: Prelude.Maybe Prelude.Text,
UpdateGroupQuery -> ResourceQuery
resourceQuery :: ResourceQuery
}
deriving (UpdateGroupQuery -> UpdateGroupQuery -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateGroupQuery -> UpdateGroupQuery -> Bool
$c/= :: UpdateGroupQuery -> UpdateGroupQuery -> Bool
== :: UpdateGroupQuery -> UpdateGroupQuery -> Bool
$c== :: UpdateGroupQuery -> UpdateGroupQuery -> Bool
Prelude.Eq, ReadPrec [UpdateGroupQuery]
ReadPrec UpdateGroupQuery
Int -> ReadS UpdateGroupQuery
ReadS [UpdateGroupQuery]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateGroupQuery]
$creadListPrec :: ReadPrec [UpdateGroupQuery]
readPrec :: ReadPrec UpdateGroupQuery
$creadPrec :: ReadPrec UpdateGroupQuery
readList :: ReadS [UpdateGroupQuery]
$creadList :: ReadS [UpdateGroupQuery]
readsPrec :: Int -> ReadS UpdateGroupQuery
$creadsPrec :: Int -> ReadS UpdateGroupQuery
Prelude.Read, Int -> UpdateGroupQuery -> ShowS
[UpdateGroupQuery] -> ShowS
UpdateGroupQuery -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateGroupQuery] -> ShowS
$cshowList :: [UpdateGroupQuery] -> ShowS
show :: UpdateGroupQuery -> String
$cshow :: UpdateGroupQuery -> String
showsPrec :: Int -> UpdateGroupQuery -> ShowS
$cshowsPrec :: Int -> UpdateGroupQuery -> ShowS
Prelude.Show, forall x. Rep UpdateGroupQuery x -> UpdateGroupQuery
forall x. UpdateGroupQuery -> Rep UpdateGroupQuery x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateGroupQuery x -> UpdateGroupQuery
$cfrom :: forall x. UpdateGroupQuery -> Rep UpdateGroupQuery x
Prelude.Generic)
newUpdateGroupQuery ::
ResourceQuery ->
UpdateGroupQuery
newUpdateGroupQuery :: ResourceQuery -> UpdateGroupQuery
newUpdateGroupQuery ResourceQuery
pResourceQuery_ =
UpdateGroupQuery'
{ $sel:group':UpdateGroupQuery' :: Maybe Text
group' = forall a. Maybe a
Prelude.Nothing,
$sel:groupName:UpdateGroupQuery' :: Maybe Text
groupName = forall a. Maybe a
Prelude.Nothing,
$sel:resourceQuery:UpdateGroupQuery' :: ResourceQuery
resourceQuery = ResourceQuery
pResourceQuery_
}
updateGroupQuery_group :: Lens.Lens' UpdateGroupQuery (Prelude.Maybe Prelude.Text)
updateGroupQuery_group :: Lens' UpdateGroupQuery (Maybe Text)
updateGroupQuery_group = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateGroupQuery' {Maybe Text
group' :: Maybe Text
$sel:group':UpdateGroupQuery' :: UpdateGroupQuery -> Maybe Text
group'} -> Maybe Text
group') (\s :: UpdateGroupQuery
s@UpdateGroupQuery' {} Maybe Text
a -> UpdateGroupQuery
s {$sel:group':UpdateGroupQuery' :: Maybe Text
group' = Maybe Text
a} :: UpdateGroupQuery)
updateGroupQuery_groupName :: Lens.Lens' UpdateGroupQuery (Prelude.Maybe Prelude.Text)
updateGroupQuery_groupName :: Lens' UpdateGroupQuery (Maybe Text)
updateGroupQuery_groupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateGroupQuery' {Maybe Text
groupName :: Maybe Text
$sel:groupName:UpdateGroupQuery' :: UpdateGroupQuery -> Maybe Text
groupName} -> Maybe Text
groupName) (\s :: UpdateGroupQuery
s@UpdateGroupQuery' {} Maybe Text
a -> UpdateGroupQuery
s {$sel:groupName:UpdateGroupQuery' :: Maybe Text
groupName = Maybe Text
a} :: UpdateGroupQuery)
updateGroupQuery_resourceQuery :: Lens.Lens' UpdateGroupQuery ResourceQuery
updateGroupQuery_resourceQuery :: Lens' UpdateGroupQuery ResourceQuery
updateGroupQuery_resourceQuery = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateGroupQuery' {ResourceQuery
resourceQuery :: ResourceQuery
$sel:resourceQuery:UpdateGroupQuery' :: UpdateGroupQuery -> ResourceQuery
resourceQuery} -> ResourceQuery
resourceQuery) (\s :: UpdateGroupQuery
s@UpdateGroupQuery' {} ResourceQuery
a -> UpdateGroupQuery
s {$sel:resourceQuery:UpdateGroupQuery' :: ResourceQuery
resourceQuery = ResourceQuery
a} :: UpdateGroupQuery)
instance Core.AWSRequest UpdateGroupQuery where
type
AWSResponse UpdateGroupQuery =
UpdateGroupQueryResponse
request :: (Service -> Service)
-> UpdateGroupQuery -> Request UpdateGroupQuery
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 UpdateGroupQuery
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateGroupQuery)))
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 GroupQuery -> Int -> UpdateGroupQueryResponse
UpdateGroupQueryResponse'
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
"GroupQuery")
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 UpdateGroupQuery where
hashWithSalt :: Int -> UpdateGroupQuery -> Int
hashWithSalt Int
_salt UpdateGroupQuery' {Maybe Text
ResourceQuery
resourceQuery :: ResourceQuery
groupName :: Maybe Text
group' :: Maybe Text
$sel:resourceQuery:UpdateGroupQuery' :: UpdateGroupQuery -> ResourceQuery
$sel:groupName:UpdateGroupQuery' :: UpdateGroupQuery -> Maybe Text
$sel:group':UpdateGroupQuery' :: UpdateGroupQuery -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
group'
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
groupName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ResourceQuery
resourceQuery
instance Prelude.NFData UpdateGroupQuery where
rnf :: UpdateGroupQuery -> ()
rnf UpdateGroupQuery' {Maybe Text
ResourceQuery
resourceQuery :: ResourceQuery
groupName :: Maybe Text
group' :: Maybe Text
$sel:resourceQuery:UpdateGroupQuery' :: UpdateGroupQuery -> ResourceQuery
$sel:groupName:UpdateGroupQuery' :: UpdateGroupQuery -> Maybe Text
$sel:group':UpdateGroupQuery' :: UpdateGroupQuery -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
group'
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
groupName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ResourceQuery
resourceQuery
instance Data.ToHeaders UpdateGroupQuery where
toHeaders :: UpdateGroupQuery -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON UpdateGroupQuery where
toJSON :: UpdateGroupQuery -> Value
toJSON UpdateGroupQuery' {Maybe Text
ResourceQuery
resourceQuery :: ResourceQuery
groupName :: Maybe Text
group' :: Maybe Text
$sel:resourceQuery:UpdateGroupQuery' :: UpdateGroupQuery -> ResourceQuery
$sel:groupName:UpdateGroupQuery' :: UpdateGroupQuery -> Maybe Text
$sel:group':UpdateGroupQuery' :: UpdateGroupQuery -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Group" 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 Text
group',
(Key
"GroupName" 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 Text
groupName,
forall a. a -> Maybe a
Prelude.Just
(Key
"ResourceQuery" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ResourceQuery
resourceQuery)
]
)
instance Data.ToPath UpdateGroupQuery where
toPath :: UpdateGroupQuery -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/update-group-query"
instance Data.ToQuery UpdateGroupQuery where
toQuery :: UpdateGroupQuery -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateGroupQueryResponse = UpdateGroupQueryResponse'
{
UpdateGroupQueryResponse -> Maybe GroupQuery
groupQuery :: Prelude.Maybe GroupQuery,
UpdateGroupQueryResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateGroupQueryResponse -> UpdateGroupQueryResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateGroupQueryResponse -> UpdateGroupQueryResponse -> Bool
$c/= :: UpdateGroupQueryResponse -> UpdateGroupQueryResponse -> Bool
== :: UpdateGroupQueryResponse -> UpdateGroupQueryResponse -> Bool
$c== :: UpdateGroupQueryResponse -> UpdateGroupQueryResponse -> Bool
Prelude.Eq, ReadPrec [UpdateGroupQueryResponse]
ReadPrec UpdateGroupQueryResponse
Int -> ReadS UpdateGroupQueryResponse
ReadS [UpdateGroupQueryResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateGroupQueryResponse]
$creadListPrec :: ReadPrec [UpdateGroupQueryResponse]
readPrec :: ReadPrec UpdateGroupQueryResponse
$creadPrec :: ReadPrec UpdateGroupQueryResponse
readList :: ReadS [UpdateGroupQueryResponse]
$creadList :: ReadS [UpdateGroupQueryResponse]
readsPrec :: Int -> ReadS UpdateGroupQueryResponse
$creadsPrec :: Int -> ReadS UpdateGroupQueryResponse
Prelude.Read, Int -> UpdateGroupQueryResponse -> ShowS
[UpdateGroupQueryResponse] -> ShowS
UpdateGroupQueryResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateGroupQueryResponse] -> ShowS
$cshowList :: [UpdateGroupQueryResponse] -> ShowS
show :: UpdateGroupQueryResponse -> String
$cshow :: UpdateGroupQueryResponse -> String
showsPrec :: Int -> UpdateGroupQueryResponse -> ShowS
$cshowsPrec :: Int -> UpdateGroupQueryResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateGroupQueryResponse x -> UpdateGroupQueryResponse
forall x.
UpdateGroupQueryResponse -> Rep UpdateGroupQueryResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateGroupQueryResponse x -> UpdateGroupQueryResponse
$cfrom :: forall x.
UpdateGroupQueryResponse -> Rep UpdateGroupQueryResponse x
Prelude.Generic)
newUpdateGroupQueryResponse ::
Prelude.Int ->
UpdateGroupQueryResponse
newUpdateGroupQueryResponse :: Int -> UpdateGroupQueryResponse
newUpdateGroupQueryResponse Int
pHttpStatus_ =
UpdateGroupQueryResponse'
{ $sel:groupQuery:UpdateGroupQueryResponse' :: Maybe GroupQuery
groupQuery =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateGroupQueryResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateGroupQueryResponse_groupQuery :: Lens.Lens' UpdateGroupQueryResponse (Prelude.Maybe GroupQuery)
updateGroupQueryResponse_groupQuery :: Lens' UpdateGroupQueryResponse (Maybe GroupQuery)
updateGroupQueryResponse_groupQuery = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateGroupQueryResponse' {Maybe GroupQuery
groupQuery :: Maybe GroupQuery
$sel:groupQuery:UpdateGroupQueryResponse' :: UpdateGroupQueryResponse -> Maybe GroupQuery
groupQuery} -> Maybe GroupQuery
groupQuery) (\s :: UpdateGroupQueryResponse
s@UpdateGroupQueryResponse' {} Maybe GroupQuery
a -> UpdateGroupQueryResponse
s {$sel:groupQuery:UpdateGroupQueryResponse' :: Maybe GroupQuery
groupQuery = Maybe GroupQuery
a} :: UpdateGroupQueryResponse)
updateGroupQueryResponse_httpStatus :: Lens.Lens' UpdateGroupQueryResponse Prelude.Int
updateGroupQueryResponse_httpStatus :: Lens' UpdateGroupQueryResponse Int
updateGroupQueryResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateGroupQueryResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateGroupQueryResponse' :: UpdateGroupQueryResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateGroupQueryResponse
s@UpdateGroupQueryResponse' {} Int
a -> UpdateGroupQueryResponse
s {$sel:httpStatus:UpdateGroupQueryResponse' :: Int
httpStatus = Int
a} :: UpdateGroupQueryResponse)
instance Prelude.NFData UpdateGroupQueryResponse where
rnf :: UpdateGroupQueryResponse -> ()
rnf UpdateGroupQueryResponse' {Int
Maybe GroupQuery
httpStatus :: Int
groupQuery :: Maybe GroupQuery
$sel:httpStatus:UpdateGroupQueryResponse' :: UpdateGroupQueryResponse -> Int
$sel:groupQuery:UpdateGroupQueryResponse' :: UpdateGroupQueryResponse -> Maybe GroupQuery
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe GroupQuery
groupQuery
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus