{-# 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.SMS.PutAppValidationConfiguration
(
PutAppValidationConfiguration (..),
newPutAppValidationConfiguration,
putAppValidationConfiguration_appValidationConfigurations,
putAppValidationConfiguration_serverGroupValidationConfigurations,
putAppValidationConfiguration_appId,
PutAppValidationConfigurationResponse (..),
newPutAppValidationConfigurationResponse,
putAppValidationConfigurationResponse_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.SMS.Types
data PutAppValidationConfiguration = PutAppValidationConfiguration'
{
PutAppValidationConfiguration -> Maybe [AppValidationConfiguration]
appValidationConfigurations :: Prelude.Maybe [AppValidationConfiguration],
PutAppValidationConfiguration
-> Maybe [ServerGroupValidationConfiguration]
serverGroupValidationConfigurations :: Prelude.Maybe [ServerGroupValidationConfiguration],
PutAppValidationConfiguration -> Text
appId :: Prelude.Text
}
deriving (PutAppValidationConfiguration
-> PutAppValidationConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutAppValidationConfiguration
-> PutAppValidationConfiguration -> Bool
$c/= :: PutAppValidationConfiguration
-> PutAppValidationConfiguration -> Bool
== :: PutAppValidationConfiguration
-> PutAppValidationConfiguration -> Bool
$c== :: PutAppValidationConfiguration
-> PutAppValidationConfiguration -> Bool
Prelude.Eq, ReadPrec [PutAppValidationConfiguration]
ReadPrec PutAppValidationConfiguration
Int -> ReadS PutAppValidationConfiguration
ReadS [PutAppValidationConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutAppValidationConfiguration]
$creadListPrec :: ReadPrec [PutAppValidationConfiguration]
readPrec :: ReadPrec PutAppValidationConfiguration
$creadPrec :: ReadPrec PutAppValidationConfiguration
readList :: ReadS [PutAppValidationConfiguration]
$creadList :: ReadS [PutAppValidationConfiguration]
readsPrec :: Int -> ReadS PutAppValidationConfiguration
$creadsPrec :: Int -> ReadS PutAppValidationConfiguration
Prelude.Read, Int -> PutAppValidationConfiguration -> ShowS
[PutAppValidationConfiguration] -> ShowS
PutAppValidationConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutAppValidationConfiguration] -> ShowS
$cshowList :: [PutAppValidationConfiguration] -> ShowS
show :: PutAppValidationConfiguration -> String
$cshow :: PutAppValidationConfiguration -> String
showsPrec :: Int -> PutAppValidationConfiguration -> ShowS
$cshowsPrec :: Int -> PutAppValidationConfiguration -> ShowS
Prelude.Show, forall x.
Rep PutAppValidationConfiguration x
-> PutAppValidationConfiguration
forall x.
PutAppValidationConfiguration
-> Rep PutAppValidationConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutAppValidationConfiguration x
-> PutAppValidationConfiguration
$cfrom :: forall x.
PutAppValidationConfiguration
-> Rep PutAppValidationConfiguration x
Prelude.Generic)
newPutAppValidationConfiguration ::
Prelude.Text ->
PutAppValidationConfiguration
newPutAppValidationConfiguration :: Text -> PutAppValidationConfiguration
newPutAppValidationConfiguration Text
pAppId_ =
PutAppValidationConfiguration'
{ $sel:appValidationConfigurations:PutAppValidationConfiguration' :: Maybe [AppValidationConfiguration]
appValidationConfigurations =
forall a. Maybe a
Prelude.Nothing,
$sel:serverGroupValidationConfigurations:PutAppValidationConfiguration' :: Maybe [ServerGroupValidationConfiguration]
serverGroupValidationConfigurations =
forall a. Maybe a
Prelude.Nothing,
$sel:appId:PutAppValidationConfiguration' :: Text
appId = Text
pAppId_
}
putAppValidationConfiguration_appValidationConfigurations :: Lens.Lens' PutAppValidationConfiguration (Prelude.Maybe [AppValidationConfiguration])
putAppValidationConfiguration_appValidationConfigurations :: Lens'
PutAppValidationConfiguration (Maybe [AppValidationConfiguration])
putAppValidationConfiguration_appValidationConfigurations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutAppValidationConfiguration' {Maybe [AppValidationConfiguration]
appValidationConfigurations :: Maybe [AppValidationConfiguration]
$sel:appValidationConfigurations:PutAppValidationConfiguration' :: PutAppValidationConfiguration -> Maybe [AppValidationConfiguration]
appValidationConfigurations} -> Maybe [AppValidationConfiguration]
appValidationConfigurations) (\s :: PutAppValidationConfiguration
s@PutAppValidationConfiguration' {} Maybe [AppValidationConfiguration]
a -> PutAppValidationConfiguration
s {$sel:appValidationConfigurations:PutAppValidationConfiguration' :: Maybe [AppValidationConfiguration]
appValidationConfigurations = Maybe [AppValidationConfiguration]
a} :: PutAppValidationConfiguration) 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
putAppValidationConfiguration_serverGroupValidationConfigurations :: Lens.Lens' PutAppValidationConfiguration (Prelude.Maybe [ServerGroupValidationConfiguration])
putAppValidationConfiguration_serverGroupValidationConfigurations :: Lens'
PutAppValidationConfiguration
(Maybe [ServerGroupValidationConfiguration])
putAppValidationConfiguration_serverGroupValidationConfigurations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutAppValidationConfiguration' {Maybe [ServerGroupValidationConfiguration]
serverGroupValidationConfigurations :: Maybe [ServerGroupValidationConfiguration]
$sel:serverGroupValidationConfigurations:PutAppValidationConfiguration' :: PutAppValidationConfiguration
-> Maybe [ServerGroupValidationConfiguration]
serverGroupValidationConfigurations} -> Maybe [ServerGroupValidationConfiguration]
serverGroupValidationConfigurations) (\s :: PutAppValidationConfiguration
s@PutAppValidationConfiguration' {} Maybe [ServerGroupValidationConfiguration]
a -> PutAppValidationConfiguration
s {$sel:serverGroupValidationConfigurations:PutAppValidationConfiguration' :: Maybe [ServerGroupValidationConfiguration]
serverGroupValidationConfigurations = Maybe [ServerGroupValidationConfiguration]
a} :: PutAppValidationConfiguration) 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
putAppValidationConfiguration_appId :: Lens.Lens' PutAppValidationConfiguration Prelude.Text
putAppValidationConfiguration_appId :: Lens' PutAppValidationConfiguration Text
putAppValidationConfiguration_appId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutAppValidationConfiguration' {Text
appId :: Text
$sel:appId:PutAppValidationConfiguration' :: PutAppValidationConfiguration -> Text
appId} -> Text
appId) (\s :: PutAppValidationConfiguration
s@PutAppValidationConfiguration' {} Text
a -> PutAppValidationConfiguration
s {$sel:appId:PutAppValidationConfiguration' :: Text
appId = Text
a} :: PutAppValidationConfiguration)
instance
Core.AWSRequest
PutAppValidationConfiguration
where
type
AWSResponse PutAppValidationConfiguration =
PutAppValidationConfigurationResponse
request :: (Service -> Service)
-> PutAppValidationConfiguration
-> Request PutAppValidationConfiguration
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 PutAppValidationConfiguration
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse PutAppValidationConfiguration)))
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 -> PutAppValidationConfigurationResponse
PutAppValidationConfigurationResponse'
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
PutAppValidationConfiguration
where
hashWithSalt :: Int -> PutAppValidationConfiguration -> Int
hashWithSalt Int
_salt PutAppValidationConfiguration' {Maybe [AppValidationConfiguration]
Maybe [ServerGroupValidationConfiguration]
Text
appId :: Text
serverGroupValidationConfigurations :: Maybe [ServerGroupValidationConfiguration]
appValidationConfigurations :: Maybe [AppValidationConfiguration]
$sel:appId:PutAppValidationConfiguration' :: PutAppValidationConfiguration -> Text
$sel:serverGroupValidationConfigurations:PutAppValidationConfiguration' :: PutAppValidationConfiguration
-> Maybe [ServerGroupValidationConfiguration]
$sel:appValidationConfigurations:PutAppValidationConfiguration' :: PutAppValidationConfiguration -> Maybe [AppValidationConfiguration]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [AppValidationConfiguration]
appValidationConfigurations
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [ServerGroupValidationConfiguration]
serverGroupValidationConfigurations
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
appId
instance Prelude.NFData PutAppValidationConfiguration where
rnf :: PutAppValidationConfiguration -> ()
rnf PutAppValidationConfiguration' {Maybe [AppValidationConfiguration]
Maybe [ServerGroupValidationConfiguration]
Text
appId :: Text
serverGroupValidationConfigurations :: Maybe [ServerGroupValidationConfiguration]
appValidationConfigurations :: Maybe [AppValidationConfiguration]
$sel:appId:PutAppValidationConfiguration' :: PutAppValidationConfiguration -> Text
$sel:serverGroupValidationConfigurations:PutAppValidationConfiguration' :: PutAppValidationConfiguration
-> Maybe [ServerGroupValidationConfiguration]
$sel:appValidationConfigurations:PutAppValidationConfiguration' :: PutAppValidationConfiguration -> Maybe [AppValidationConfiguration]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [AppValidationConfiguration]
appValidationConfigurations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ServerGroupValidationConfiguration]
serverGroupValidationConfigurations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
appId
instance Data.ToHeaders PutAppValidationConfiguration where
toHeaders :: PutAppValidationConfiguration -> 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
"AWSServerMigrationService_V2016_10_24.PutAppValidationConfiguration" ::
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 PutAppValidationConfiguration where
toJSON :: PutAppValidationConfiguration -> Value
toJSON PutAppValidationConfiguration' {Maybe [AppValidationConfiguration]
Maybe [ServerGroupValidationConfiguration]
Text
appId :: Text
serverGroupValidationConfigurations :: Maybe [ServerGroupValidationConfiguration]
appValidationConfigurations :: Maybe [AppValidationConfiguration]
$sel:appId:PutAppValidationConfiguration' :: PutAppValidationConfiguration -> Text
$sel:serverGroupValidationConfigurations:PutAppValidationConfiguration' :: PutAppValidationConfiguration
-> Maybe [ServerGroupValidationConfiguration]
$sel:appValidationConfigurations:PutAppValidationConfiguration' :: PutAppValidationConfiguration -> Maybe [AppValidationConfiguration]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"appValidationConfigurations" 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 [AppValidationConfiguration]
appValidationConfigurations,
(Key
"serverGroupValidationConfigurations" 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 [ServerGroupValidationConfiguration]
serverGroupValidationConfigurations,
forall a. a -> Maybe a
Prelude.Just (Key
"appId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
appId)
]
)
instance Data.ToPath PutAppValidationConfiguration where
toPath :: PutAppValidationConfiguration -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery PutAppValidationConfiguration where
toQuery :: PutAppValidationConfiguration -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data PutAppValidationConfigurationResponse = PutAppValidationConfigurationResponse'
{
PutAppValidationConfigurationResponse -> Int
httpStatus :: Prelude.Int
}
deriving (PutAppValidationConfigurationResponse
-> PutAppValidationConfigurationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutAppValidationConfigurationResponse
-> PutAppValidationConfigurationResponse -> Bool
$c/= :: PutAppValidationConfigurationResponse
-> PutAppValidationConfigurationResponse -> Bool
== :: PutAppValidationConfigurationResponse
-> PutAppValidationConfigurationResponse -> Bool
$c== :: PutAppValidationConfigurationResponse
-> PutAppValidationConfigurationResponse -> Bool
Prelude.Eq, ReadPrec [PutAppValidationConfigurationResponse]
ReadPrec PutAppValidationConfigurationResponse
Int -> ReadS PutAppValidationConfigurationResponse
ReadS [PutAppValidationConfigurationResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutAppValidationConfigurationResponse]
$creadListPrec :: ReadPrec [PutAppValidationConfigurationResponse]
readPrec :: ReadPrec PutAppValidationConfigurationResponse
$creadPrec :: ReadPrec PutAppValidationConfigurationResponse
readList :: ReadS [PutAppValidationConfigurationResponse]
$creadList :: ReadS [PutAppValidationConfigurationResponse]
readsPrec :: Int -> ReadS PutAppValidationConfigurationResponse
$creadsPrec :: Int -> ReadS PutAppValidationConfigurationResponse
Prelude.Read, Int -> PutAppValidationConfigurationResponse -> ShowS
[PutAppValidationConfigurationResponse] -> ShowS
PutAppValidationConfigurationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutAppValidationConfigurationResponse] -> ShowS
$cshowList :: [PutAppValidationConfigurationResponse] -> ShowS
show :: PutAppValidationConfigurationResponse -> String
$cshow :: PutAppValidationConfigurationResponse -> String
showsPrec :: Int -> PutAppValidationConfigurationResponse -> ShowS
$cshowsPrec :: Int -> PutAppValidationConfigurationResponse -> ShowS
Prelude.Show, forall x.
Rep PutAppValidationConfigurationResponse x
-> PutAppValidationConfigurationResponse
forall x.
PutAppValidationConfigurationResponse
-> Rep PutAppValidationConfigurationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutAppValidationConfigurationResponse x
-> PutAppValidationConfigurationResponse
$cfrom :: forall x.
PutAppValidationConfigurationResponse
-> Rep PutAppValidationConfigurationResponse x
Prelude.Generic)
newPutAppValidationConfigurationResponse ::
Prelude.Int ->
PutAppValidationConfigurationResponse
newPutAppValidationConfigurationResponse :: Int -> PutAppValidationConfigurationResponse
newPutAppValidationConfigurationResponse Int
pHttpStatus_ =
PutAppValidationConfigurationResponse'
{ $sel:httpStatus:PutAppValidationConfigurationResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
putAppValidationConfigurationResponse_httpStatus :: Lens.Lens' PutAppValidationConfigurationResponse Prelude.Int
putAppValidationConfigurationResponse_httpStatus :: Lens' PutAppValidationConfigurationResponse Int
putAppValidationConfigurationResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutAppValidationConfigurationResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutAppValidationConfigurationResponse' :: PutAppValidationConfigurationResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: PutAppValidationConfigurationResponse
s@PutAppValidationConfigurationResponse' {} Int
a -> PutAppValidationConfigurationResponse
s {$sel:httpStatus:PutAppValidationConfigurationResponse' :: Int
httpStatus = Int
a} :: PutAppValidationConfigurationResponse)
instance
Prelude.NFData
PutAppValidationConfigurationResponse
where
rnf :: PutAppValidationConfigurationResponse -> ()
rnf PutAppValidationConfigurationResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutAppValidationConfigurationResponse' :: PutAppValidationConfigurationResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus