{-# 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.EFS.ModifyMountTargetSecurityGroups
(
ModifyMountTargetSecurityGroups (..),
newModifyMountTargetSecurityGroups,
modifyMountTargetSecurityGroups_securityGroups,
modifyMountTargetSecurityGroups_mountTargetId,
ModifyMountTargetSecurityGroupsResponse (..),
newModifyMountTargetSecurityGroupsResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EFS.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ModifyMountTargetSecurityGroups = ModifyMountTargetSecurityGroups'
{
ModifyMountTargetSecurityGroups -> Maybe [Text]
securityGroups :: Prelude.Maybe [Prelude.Text],
ModifyMountTargetSecurityGroups -> Text
mountTargetId :: Prelude.Text
}
deriving (ModifyMountTargetSecurityGroups
-> ModifyMountTargetSecurityGroups -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyMountTargetSecurityGroups
-> ModifyMountTargetSecurityGroups -> Bool
$c/= :: ModifyMountTargetSecurityGroups
-> ModifyMountTargetSecurityGroups -> Bool
== :: ModifyMountTargetSecurityGroups
-> ModifyMountTargetSecurityGroups -> Bool
$c== :: ModifyMountTargetSecurityGroups
-> ModifyMountTargetSecurityGroups -> Bool
Prelude.Eq, ReadPrec [ModifyMountTargetSecurityGroups]
ReadPrec ModifyMountTargetSecurityGroups
Int -> ReadS ModifyMountTargetSecurityGroups
ReadS [ModifyMountTargetSecurityGroups]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyMountTargetSecurityGroups]
$creadListPrec :: ReadPrec [ModifyMountTargetSecurityGroups]
readPrec :: ReadPrec ModifyMountTargetSecurityGroups
$creadPrec :: ReadPrec ModifyMountTargetSecurityGroups
readList :: ReadS [ModifyMountTargetSecurityGroups]
$creadList :: ReadS [ModifyMountTargetSecurityGroups]
readsPrec :: Int -> ReadS ModifyMountTargetSecurityGroups
$creadsPrec :: Int -> ReadS ModifyMountTargetSecurityGroups
Prelude.Read, Int -> ModifyMountTargetSecurityGroups -> ShowS
[ModifyMountTargetSecurityGroups] -> ShowS
ModifyMountTargetSecurityGroups -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyMountTargetSecurityGroups] -> ShowS
$cshowList :: [ModifyMountTargetSecurityGroups] -> ShowS
show :: ModifyMountTargetSecurityGroups -> String
$cshow :: ModifyMountTargetSecurityGroups -> String
showsPrec :: Int -> ModifyMountTargetSecurityGroups -> ShowS
$cshowsPrec :: Int -> ModifyMountTargetSecurityGroups -> ShowS
Prelude.Show, forall x.
Rep ModifyMountTargetSecurityGroups x
-> ModifyMountTargetSecurityGroups
forall x.
ModifyMountTargetSecurityGroups
-> Rep ModifyMountTargetSecurityGroups x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyMountTargetSecurityGroups x
-> ModifyMountTargetSecurityGroups
$cfrom :: forall x.
ModifyMountTargetSecurityGroups
-> Rep ModifyMountTargetSecurityGroups x
Prelude.Generic)
newModifyMountTargetSecurityGroups ::
Prelude.Text ->
ModifyMountTargetSecurityGroups
newModifyMountTargetSecurityGroups :: Text -> ModifyMountTargetSecurityGroups
newModifyMountTargetSecurityGroups Text
pMountTargetId_ =
ModifyMountTargetSecurityGroups'
{ $sel:securityGroups:ModifyMountTargetSecurityGroups' :: Maybe [Text]
securityGroups =
forall a. Maybe a
Prelude.Nothing,
$sel:mountTargetId:ModifyMountTargetSecurityGroups' :: Text
mountTargetId = Text
pMountTargetId_
}
modifyMountTargetSecurityGroups_securityGroups :: Lens.Lens' ModifyMountTargetSecurityGroups (Prelude.Maybe [Prelude.Text])
modifyMountTargetSecurityGroups_securityGroups :: Lens' ModifyMountTargetSecurityGroups (Maybe [Text])
modifyMountTargetSecurityGroups_securityGroups = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyMountTargetSecurityGroups' {Maybe [Text]
securityGroups :: Maybe [Text]
$sel:securityGroups:ModifyMountTargetSecurityGroups' :: ModifyMountTargetSecurityGroups -> Maybe [Text]
securityGroups} -> Maybe [Text]
securityGroups) (\s :: ModifyMountTargetSecurityGroups
s@ModifyMountTargetSecurityGroups' {} Maybe [Text]
a -> ModifyMountTargetSecurityGroups
s {$sel:securityGroups:ModifyMountTargetSecurityGroups' :: Maybe [Text]
securityGroups = Maybe [Text]
a} :: ModifyMountTargetSecurityGroups) 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
modifyMountTargetSecurityGroups_mountTargetId :: Lens.Lens' ModifyMountTargetSecurityGroups Prelude.Text
modifyMountTargetSecurityGroups_mountTargetId :: Lens' ModifyMountTargetSecurityGroups Text
modifyMountTargetSecurityGroups_mountTargetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyMountTargetSecurityGroups' {Text
mountTargetId :: Text
$sel:mountTargetId:ModifyMountTargetSecurityGroups' :: ModifyMountTargetSecurityGroups -> Text
mountTargetId} -> Text
mountTargetId) (\s :: ModifyMountTargetSecurityGroups
s@ModifyMountTargetSecurityGroups' {} Text
a -> ModifyMountTargetSecurityGroups
s {$sel:mountTargetId:ModifyMountTargetSecurityGroups' :: Text
mountTargetId = Text
a} :: ModifyMountTargetSecurityGroups)
instance
Core.AWSRequest
ModifyMountTargetSecurityGroups
where
type
AWSResponse ModifyMountTargetSecurityGroups =
ModifyMountTargetSecurityGroupsResponse
request :: (Service -> Service)
-> ModifyMountTargetSecurityGroups
-> Request ModifyMountTargetSecurityGroups
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ModifyMountTargetSecurityGroups
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse ModifyMountTargetSecurityGroups)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
ModifyMountTargetSecurityGroupsResponse
ModifyMountTargetSecurityGroupsResponse'
instance
Prelude.Hashable
ModifyMountTargetSecurityGroups
where
hashWithSalt :: Int -> ModifyMountTargetSecurityGroups -> Int
hashWithSalt
Int
_salt
ModifyMountTargetSecurityGroups' {Maybe [Text]
Text
mountTargetId :: Text
securityGroups :: Maybe [Text]
$sel:mountTargetId:ModifyMountTargetSecurityGroups' :: ModifyMountTargetSecurityGroups -> Text
$sel:securityGroups:ModifyMountTargetSecurityGroups' :: ModifyMountTargetSecurityGroups -> Maybe [Text]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
securityGroups
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
mountTargetId
instance
Prelude.NFData
ModifyMountTargetSecurityGroups
where
rnf :: ModifyMountTargetSecurityGroups -> ()
rnf ModifyMountTargetSecurityGroups' {Maybe [Text]
Text
mountTargetId :: Text
securityGroups :: Maybe [Text]
$sel:mountTargetId:ModifyMountTargetSecurityGroups' :: ModifyMountTargetSecurityGroups -> Text
$sel:securityGroups:ModifyMountTargetSecurityGroups' :: ModifyMountTargetSecurityGroups -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
securityGroups
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
mountTargetId
instance
Data.ToHeaders
ModifyMountTargetSecurityGroups
where
toHeaders :: ModifyMountTargetSecurityGroups -> [Header]
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON ModifyMountTargetSecurityGroups where
toJSON :: ModifyMountTargetSecurityGroups -> Value
toJSON ModifyMountTargetSecurityGroups' {Maybe [Text]
Text
mountTargetId :: Text
securityGroups :: Maybe [Text]
$sel:mountTargetId:ModifyMountTargetSecurityGroups' :: ModifyMountTargetSecurityGroups -> Text
$sel:securityGroups:ModifyMountTargetSecurityGroups' :: ModifyMountTargetSecurityGroups -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"SecurityGroups" 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]
securityGroups
]
)
instance Data.ToPath ModifyMountTargetSecurityGroups where
toPath :: ModifyMountTargetSecurityGroups -> ByteString
toPath ModifyMountTargetSecurityGroups' {Maybe [Text]
Text
mountTargetId :: Text
securityGroups :: Maybe [Text]
$sel:mountTargetId:ModifyMountTargetSecurityGroups' :: ModifyMountTargetSecurityGroups -> Text
$sel:securityGroups:ModifyMountTargetSecurityGroups' :: ModifyMountTargetSecurityGroups -> Maybe [Text]
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/2015-02-01/mount-targets/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
mountTargetId,
ByteString
"/security-groups"
]
instance Data.ToQuery ModifyMountTargetSecurityGroups where
toQuery :: ModifyMountTargetSecurityGroups -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ModifyMountTargetSecurityGroupsResponse = ModifyMountTargetSecurityGroupsResponse'
{
}
deriving (ModifyMountTargetSecurityGroupsResponse
-> ModifyMountTargetSecurityGroupsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyMountTargetSecurityGroupsResponse
-> ModifyMountTargetSecurityGroupsResponse -> Bool
$c/= :: ModifyMountTargetSecurityGroupsResponse
-> ModifyMountTargetSecurityGroupsResponse -> Bool
== :: ModifyMountTargetSecurityGroupsResponse
-> ModifyMountTargetSecurityGroupsResponse -> Bool
$c== :: ModifyMountTargetSecurityGroupsResponse
-> ModifyMountTargetSecurityGroupsResponse -> Bool
Prelude.Eq, ReadPrec [ModifyMountTargetSecurityGroupsResponse]
ReadPrec ModifyMountTargetSecurityGroupsResponse
Int -> ReadS ModifyMountTargetSecurityGroupsResponse
ReadS [ModifyMountTargetSecurityGroupsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyMountTargetSecurityGroupsResponse]
$creadListPrec :: ReadPrec [ModifyMountTargetSecurityGroupsResponse]
readPrec :: ReadPrec ModifyMountTargetSecurityGroupsResponse
$creadPrec :: ReadPrec ModifyMountTargetSecurityGroupsResponse
readList :: ReadS [ModifyMountTargetSecurityGroupsResponse]
$creadList :: ReadS [ModifyMountTargetSecurityGroupsResponse]
readsPrec :: Int -> ReadS ModifyMountTargetSecurityGroupsResponse
$creadsPrec :: Int -> ReadS ModifyMountTargetSecurityGroupsResponse
Prelude.Read, Int -> ModifyMountTargetSecurityGroupsResponse -> ShowS
[ModifyMountTargetSecurityGroupsResponse] -> ShowS
ModifyMountTargetSecurityGroupsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyMountTargetSecurityGroupsResponse] -> ShowS
$cshowList :: [ModifyMountTargetSecurityGroupsResponse] -> ShowS
show :: ModifyMountTargetSecurityGroupsResponse -> String
$cshow :: ModifyMountTargetSecurityGroupsResponse -> String
showsPrec :: Int -> ModifyMountTargetSecurityGroupsResponse -> ShowS
$cshowsPrec :: Int -> ModifyMountTargetSecurityGroupsResponse -> ShowS
Prelude.Show, forall x.
Rep ModifyMountTargetSecurityGroupsResponse x
-> ModifyMountTargetSecurityGroupsResponse
forall x.
ModifyMountTargetSecurityGroupsResponse
-> Rep ModifyMountTargetSecurityGroupsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyMountTargetSecurityGroupsResponse x
-> ModifyMountTargetSecurityGroupsResponse
$cfrom :: forall x.
ModifyMountTargetSecurityGroupsResponse
-> Rep ModifyMountTargetSecurityGroupsResponse x
Prelude.Generic)
newModifyMountTargetSecurityGroupsResponse ::
ModifyMountTargetSecurityGroupsResponse
newModifyMountTargetSecurityGroupsResponse :: ModifyMountTargetSecurityGroupsResponse
newModifyMountTargetSecurityGroupsResponse =
ModifyMountTargetSecurityGroupsResponse
ModifyMountTargetSecurityGroupsResponse'
instance
Prelude.NFData
ModifyMountTargetSecurityGroupsResponse
where
rnf :: ModifyMountTargetSecurityGroupsResponse -> ()
rnf ModifyMountTargetSecurityGroupsResponse
_ = ()