{-# 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.MigrationHubStrategy.PutPortfolioPreferences
(
PutPortfolioPreferences (..),
newPutPortfolioPreferences,
putPortfolioPreferences_applicationMode,
putPortfolioPreferences_applicationPreferences,
putPortfolioPreferences_databasePreferences,
putPortfolioPreferences_prioritizeBusinessGoals,
PutPortfolioPreferencesResponse (..),
newPutPortfolioPreferencesResponse,
putPortfolioPreferencesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MigrationHubStrategy.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data PutPortfolioPreferences = PutPortfolioPreferences'
{
PutPortfolioPreferences -> Maybe ApplicationMode
applicationMode :: Prelude.Maybe ApplicationMode,
PutPortfolioPreferences -> Maybe ApplicationPreferences
applicationPreferences :: Prelude.Maybe ApplicationPreferences,
PutPortfolioPreferences -> Maybe DatabasePreferences
databasePreferences :: Prelude.Maybe DatabasePreferences,
PutPortfolioPreferences -> Maybe PrioritizeBusinessGoals
prioritizeBusinessGoals :: Prelude.Maybe PrioritizeBusinessGoals
}
deriving (PutPortfolioPreferences -> PutPortfolioPreferences -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutPortfolioPreferences -> PutPortfolioPreferences -> Bool
$c/= :: PutPortfolioPreferences -> PutPortfolioPreferences -> Bool
== :: PutPortfolioPreferences -> PutPortfolioPreferences -> Bool
$c== :: PutPortfolioPreferences -> PutPortfolioPreferences -> Bool
Prelude.Eq, ReadPrec [PutPortfolioPreferences]
ReadPrec PutPortfolioPreferences
Int -> ReadS PutPortfolioPreferences
ReadS [PutPortfolioPreferences]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutPortfolioPreferences]
$creadListPrec :: ReadPrec [PutPortfolioPreferences]
readPrec :: ReadPrec PutPortfolioPreferences
$creadPrec :: ReadPrec PutPortfolioPreferences
readList :: ReadS [PutPortfolioPreferences]
$creadList :: ReadS [PutPortfolioPreferences]
readsPrec :: Int -> ReadS PutPortfolioPreferences
$creadsPrec :: Int -> ReadS PutPortfolioPreferences
Prelude.Read, Int -> PutPortfolioPreferences -> ShowS
[PutPortfolioPreferences] -> ShowS
PutPortfolioPreferences -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutPortfolioPreferences] -> ShowS
$cshowList :: [PutPortfolioPreferences] -> ShowS
show :: PutPortfolioPreferences -> String
$cshow :: PutPortfolioPreferences -> String
showsPrec :: Int -> PutPortfolioPreferences -> ShowS
$cshowsPrec :: Int -> PutPortfolioPreferences -> ShowS
Prelude.Show, forall x. Rep PutPortfolioPreferences x -> PutPortfolioPreferences
forall x. PutPortfolioPreferences -> Rep PutPortfolioPreferences x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutPortfolioPreferences x -> PutPortfolioPreferences
$cfrom :: forall x. PutPortfolioPreferences -> Rep PutPortfolioPreferences x
Prelude.Generic)
newPutPortfolioPreferences ::
PutPortfolioPreferences
newPutPortfolioPreferences :: PutPortfolioPreferences
newPutPortfolioPreferences =
PutPortfolioPreferences'
{ $sel:applicationMode:PutPortfolioPreferences' :: Maybe ApplicationMode
applicationMode =
forall a. Maybe a
Prelude.Nothing,
$sel:applicationPreferences:PutPortfolioPreferences' :: Maybe ApplicationPreferences
applicationPreferences = forall a. Maybe a
Prelude.Nothing,
$sel:databasePreferences:PutPortfolioPreferences' :: Maybe DatabasePreferences
databasePreferences = forall a. Maybe a
Prelude.Nothing,
$sel:prioritizeBusinessGoals:PutPortfolioPreferences' :: Maybe PrioritizeBusinessGoals
prioritizeBusinessGoals = forall a. Maybe a
Prelude.Nothing
}
putPortfolioPreferences_applicationMode :: Lens.Lens' PutPortfolioPreferences (Prelude.Maybe ApplicationMode)
putPortfolioPreferences_applicationMode :: Lens' PutPortfolioPreferences (Maybe ApplicationMode)
putPortfolioPreferences_applicationMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutPortfolioPreferences' {Maybe ApplicationMode
applicationMode :: Maybe ApplicationMode
$sel:applicationMode:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe ApplicationMode
applicationMode} -> Maybe ApplicationMode
applicationMode) (\s :: PutPortfolioPreferences
s@PutPortfolioPreferences' {} Maybe ApplicationMode
a -> PutPortfolioPreferences
s {$sel:applicationMode:PutPortfolioPreferences' :: Maybe ApplicationMode
applicationMode = Maybe ApplicationMode
a} :: PutPortfolioPreferences)
putPortfolioPreferences_applicationPreferences :: Lens.Lens' PutPortfolioPreferences (Prelude.Maybe ApplicationPreferences)
putPortfolioPreferences_applicationPreferences :: Lens' PutPortfolioPreferences (Maybe ApplicationPreferences)
putPortfolioPreferences_applicationPreferences = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutPortfolioPreferences' {Maybe ApplicationPreferences
applicationPreferences :: Maybe ApplicationPreferences
$sel:applicationPreferences:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe ApplicationPreferences
applicationPreferences} -> Maybe ApplicationPreferences
applicationPreferences) (\s :: PutPortfolioPreferences
s@PutPortfolioPreferences' {} Maybe ApplicationPreferences
a -> PutPortfolioPreferences
s {$sel:applicationPreferences:PutPortfolioPreferences' :: Maybe ApplicationPreferences
applicationPreferences = Maybe ApplicationPreferences
a} :: PutPortfolioPreferences)
putPortfolioPreferences_databasePreferences :: Lens.Lens' PutPortfolioPreferences (Prelude.Maybe DatabasePreferences)
putPortfolioPreferences_databasePreferences :: Lens' PutPortfolioPreferences (Maybe DatabasePreferences)
putPortfolioPreferences_databasePreferences = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutPortfolioPreferences' {Maybe DatabasePreferences
databasePreferences :: Maybe DatabasePreferences
$sel:databasePreferences:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe DatabasePreferences
databasePreferences} -> Maybe DatabasePreferences
databasePreferences) (\s :: PutPortfolioPreferences
s@PutPortfolioPreferences' {} Maybe DatabasePreferences
a -> PutPortfolioPreferences
s {$sel:databasePreferences:PutPortfolioPreferences' :: Maybe DatabasePreferences
databasePreferences = Maybe DatabasePreferences
a} :: PutPortfolioPreferences)
putPortfolioPreferences_prioritizeBusinessGoals :: Lens.Lens' PutPortfolioPreferences (Prelude.Maybe PrioritizeBusinessGoals)
putPortfolioPreferences_prioritizeBusinessGoals :: Lens' PutPortfolioPreferences (Maybe PrioritizeBusinessGoals)
putPortfolioPreferences_prioritizeBusinessGoals = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutPortfolioPreferences' {Maybe PrioritizeBusinessGoals
prioritizeBusinessGoals :: Maybe PrioritizeBusinessGoals
$sel:prioritizeBusinessGoals:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe PrioritizeBusinessGoals
prioritizeBusinessGoals} -> Maybe PrioritizeBusinessGoals
prioritizeBusinessGoals) (\s :: PutPortfolioPreferences
s@PutPortfolioPreferences' {} Maybe PrioritizeBusinessGoals
a -> PutPortfolioPreferences
s {$sel:prioritizeBusinessGoals:PutPortfolioPreferences' :: Maybe PrioritizeBusinessGoals
prioritizeBusinessGoals = Maybe PrioritizeBusinessGoals
a} :: PutPortfolioPreferences)
instance Core.AWSRequest PutPortfolioPreferences where
type
AWSResponse PutPortfolioPreferences =
PutPortfolioPreferencesResponse
request :: (Service -> Service)
-> PutPortfolioPreferences -> Request PutPortfolioPreferences
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 PutPortfolioPreferences
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse PutPortfolioPreferences)))
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 -> PutPortfolioPreferencesResponse
PutPortfolioPreferencesResponse'
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 PutPortfolioPreferences where
hashWithSalt :: Int -> PutPortfolioPreferences -> Int
hashWithSalt Int
_salt PutPortfolioPreferences' {Maybe ApplicationMode
Maybe PrioritizeBusinessGoals
Maybe ApplicationPreferences
Maybe DatabasePreferences
prioritizeBusinessGoals :: Maybe PrioritizeBusinessGoals
databasePreferences :: Maybe DatabasePreferences
applicationPreferences :: Maybe ApplicationPreferences
applicationMode :: Maybe ApplicationMode
$sel:prioritizeBusinessGoals:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe PrioritizeBusinessGoals
$sel:databasePreferences:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe DatabasePreferences
$sel:applicationPreferences:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe ApplicationPreferences
$sel:applicationMode:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe ApplicationMode
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ApplicationMode
applicationMode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ApplicationPreferences
applicationPreferences
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DatabasePreferences
databasePreferences
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PrioritizeBusinessGoals
prioritizeBusinessGoals
instance Prelude.NFData PutPortfolioPreferences where
rnf :: PutPortfolioPreferences -> ()
rnf PutPortfolioPreferences' {Maybe ApplicationMode
Maybe PrioritizeBusinessGoals
Maybe ApplicationPreferences
Maybe DatabasePreferences
prioritizeBusinessGoals :: Maybe PrioritizeBusinessGoals
databasePreferences :: Maybe DatabasePreferences
applicationPreferences :: Maybe ApplicationPreferences
applicationMode :: Maybe ApplicationMode
$sel:prioritizeBusinessGoals:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe PrioritizeBusinessGoals
$sel:databasePreferences:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe DatabasePreferences
$sel:applicationPreferences:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe ApplicationPreferences
$sel:applicationMode:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe ApplicationMode
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ApplicationMode
applicationMode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ApplicationPreferences
applicationPreferences
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DatabasePreferences
databasePreferences
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PrioritizeBusinessGoals
prioritizeBusinessGoals
instance Data.ToHeaders PutPortfolioPreferences where
toHeaders :: PutPortfolioPreferences -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON PutPortfolioPreferences where
toJSON :: PutPortfolioPreferences -> Value
toJSON PutPortfolioPreferences' {Maybe ApplicationMode
Maybe PrioritizeBusinessGoals
Maybe ApplicationPreferences
Maybe DatabasePreferences
prioritizeBusinessGoals :: Maybe PrioritizeBusinessGoals
databasePreferences :: Maybe DatabasePreferences
applicationPreferences :: Maybe ApplicationPreferences
applicationMode :: Maybe ApplicationMode
$sel:prioritizeBusinessGoals:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe PrioritizeBusinessGoals
$sel:databasePreferences:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe DatabasePreferences
$sel:applicationPreferences:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe ApplicationPreferences
$sel:applicationMode:PutPortfolioPreferences' :: PutPortfolioPreferences -> Maybe ApplicationMode
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"applicationMode" 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 ApplicationMode
applicationMode,
(Key
"applicationPreferences" 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 ApplicationPreferences
applicationPreferences,
(Key
"databasePreferences" 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 DatabasePreferences
databasePreferences,
(Key
"prioritizeBusinessGoals" 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 PrioritizeBusinessGoals
prioritizeBusinessGoals
]
)
instance Data.ToPath PutPortfolioPreferences where
toPath :: PutPortfolioPreferences -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/put-portfolio-preferences"
instance Data.ToQuery PutPortfolioPreferences where
toQuery :: PutPortfolioPreferences -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data PutPortfolioPreferencesResponse = PutPortfolioPreferencesResponse'
{
PutPortfolioPreferencesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (PutPortfolioPreferencesResponse
-> PutPortfolioPreferencesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutPortfolioPreferencesResponse
-> PutPortfolioPreferencesResponse -> Bool
$c/= :: PutPortfolioPreferencesResponse
-> PutPortfolioPreferencesResponse -> Bool
== :: PutPortfolioPreferencesResponse
-> PutPortfolioPreferencesResponse -> Bool
$c== :: PutPortfolioPreferencesResponse
-> PutPortfolioPreferencesResponse -> Bool
Prelude.Eq, ReadPrec [PutPortfolioPreferencesResponse]
ReadPrec PutPortfolioPreferencesResponse
Int -> ReadS PutPortfolioPreferencesResponse
ReadS [PutPortfolioPreferencesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutPortfolioPreferencesResponse]
$creadListPrec :: ReadPrec [PutPortfolioPreferencesResponse]
readPrec :: ReadPrec PutPortfolioPreferencesResponse
$creadPrec :: ReadPrec PutPortfolioPreferencesResponse
readList :: ReadS [PutPortfolioPreferencesResponse]
$creadList :: ReadS [PutPortfolioPreferencesResponse]
readsPrec :: Int -> ReadS PutPortfolioPreferencesResponse
$creadsPrec :: Int -> ReadS PutPortfolioPreferencesResponse
Prelude.Read, Int -> PutPortfolioPreferencesResponse -> ShowS
[PutPortfolioPreferencesResponse] -> ShowS
PutPortfolioPreferencesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutPortfolioPreferencesResponse] -> ShowS
$cshowList :: [PutPortfolioPreferencesResponse] -> ShowS
show :: PutPortfolioPreferencesResponse -> String
$cshow :: PutPortfolioPreferencesResponse -> String
showsPrec :: Int -> PutPortfolioPreferencesResponse -> ShowS
$cshowsPrec :: Int -> PutPortfolioPreferencesResponse -> ShowS
Prelude.Show, forall x.
Rep PutPortfolioPreferencesResponse x
-> PutPortfolioPreferencesResponse
forall x.
PutPortfolioPreferencesResponse
-> Rep PutPortfolioPreferencesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutPortfolioPreferencesResponse x
-> PutPortfolioPreferencesResponse
$cfrom :: forall x.
PutPortfolioPreferencesResponse
-> Rep PutPortfolioPreferencesResponse x
Prelude.Generic)
newPutPortfolioPreferencesResponse ::
Prelude.Int ->
PutPortfolioPreferencesResponse
newPutPortfolioPreferencesResponse :: Int -> PutPortfolioPreferencesResponse
newPutPortfolioPreferencesResponse Int
pHttpStatus_ =
PutPortfolioPreferencesResponse'
{ $sel:httpStatus:PutPortfolioPreferencesResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
putPortfolioPreferencesResponse_httpStatus :: Lens.Lens' PutPortfolioPreferencesResponse Prelude.Int
putPortfolioPreferencesResponse_httpStatus :: Lens' PutPortfolioPreferencesResponse Int
putPortfolioPreferencesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutPortfolioPreferencesResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutPortfolioPreferencesResponse' :: PutPortfolioPreferencesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: PutPortfolioPreferencesResponse
s@PutPortfolioPreferencesResponse' {} Int
a -> PutPortfolioPreferencesResponse
s {$sel:httpStatus:PutPortfolioPreferencesResponse' :: Int
httpStatus = Int
a} :: PutPortfolioPreferencesResponse)
instance
Prelude.NFData
PutPortfolioPreferencesResponse
where
rnf :: PutPortfolioPreferencesResponse -> ()
rnf PutPortfolioPreferencesResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutPortfolioPreferencesResponse' :: PutPortfolioPreferencesResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus