module Stratosphere.SageMaker.App (
        module Exports, App(..), mkApp
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.SageMaker.App.ResourceSpecProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Tag
import Stratosphere.Value
data App
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html>
    App {App -> ()
haddock_workaround_ :: (),
         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-appname>
         App -> Value Text
appName :: (Value Prelude.Text),
         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-apptype>
         App -> Value Text
appType :: (Value Prelude.Text),
         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-domainid>
         App -> Value Text
domainId :: (Value Prelude.Text),
         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-recoverymode>
         App -> Maybe (Value Bool)
recoveryMode :: (Prelude.Maybe (Value Prelude.Bool)),
         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-resourcespec>
         App -> Maybe ResourceSpecProperty
resourceSpec :: (Prelude.Maybe ResourceSpecProperty),
         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-tags>
         App -> Maybe [Tag]
tags :: (Prelude.Maybe [Tag]),
         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html#cfn-sagemaker-app-userprofilename>
         App -> Value Text
userProfileName :: (Value Prelude.Text)}
  deriving stock (App -> App -> Bool
(App -> App -> Bool) -> (App -> App -> Bool) -> Eq App
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: App -> App -> Bool
== :: App -> App -> Bool
$c/= :: App -> App -> Bool
/= :: App -> App -> Bool
Prelude.Eq, Int -> App -> ShowS
[App] -> ShowS
App -> String
(Int -> App -> ShowS)
-> (App -> String) -> ([App] -> ShowS) -> Show App
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> App -> ShowS
showsPrec :: Int -> App -> ShowS
$cshow :: App -> String
show :: App -> String
$cshowList :: [App] -> ShowS
showList :: [App] -> ShowS
Prelude.Show)
mkApp ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text -> Value Prelude.Text -> App
mkApp :: Value Text -> Value Text -> Value Text -> Value Text -> App
mkApp Value Text
appName Value Text
appType Value Text
domainId Value Text
userProfileName
  = App
      {haddock_workaround_ :: ()
haddock_workaround_ = (), appName :: Value Text
appName = Value Text
appName, appType :: Value Text
appType = Value Text
appType,
       domainId :: Value Text
domainId = Value Text
domainId, userProfileName :: Value Text
userProfileName = Value Text
userProfileName,
       recoveryMode :: Maybe (Value Bool)
recoveryMode = Maybe (Value Bool)
forall a. Maybe a
Prelude.Nothing, resourceSpec :: Maybe ResourceSpecProperty
resourceSpec = Maybe ResourceSpecProperty
forall a. Maybe a
Prelude.Nothing,
       tags :: Maybe [Tag]
tags = Maybe [Tag]
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties App where
  toResourceProperties :: App -> ResourceProperties
toResourceProperties App {Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: App -> ()
appName :: App -> Value Text
appType :: App -> Value Text
domainId :: App -> Value Text
recoveryMode :: App -> Maybe (Value Bool)
resourceSpec :: App -> Maybe ResourceSpecProperty
tags :: App -> Maybe [Tag]
userProfileName :: App -> Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::SageMaker::App", supportsTags :: Bool
supportsTags = Bool
Prelude.True,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
                           [Key
"AppName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
appName, Key
"AppType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
appType,
                            Key
"DomainId" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
domainId,
                            Key
"UserProfileName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
userProfileName]
                           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                              [Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"RecoveryMode" (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
recoveryMode,
                               Key -> ResourceSpecProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ResourceSpec" (ResourceSpecProperty -> (Key, Value))
-> Maybe ResourceSpecProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ResourceSpecProperty
resourceSpec,
                               Key -> [Tag] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Tags" ([Tag] -> (Key, Value)) -> Maybe [Tag] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Tag]
tags]))}
instance JSON.ToJSON App where
  toJSON :: App -> Value
toJSON App {Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: App -> ()
appName :: App -> Value Text
appType :: App -> Value Text
domainId :: App -> Value Text
recoveryMode :: App -> Maybe (Value Bool)
resourceSpec :: App -> Maybe ResourceSpecProperty
tags :: App -> Maybe [Tag]
userProfileName :: App -> Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
              [Key
"AppName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
appName, Key
"AppType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
appType,
               Key
"DomainId" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
domainId,
               Key
"UserProfileName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
userProfileName]
              ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                 [Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"RecoveryMode" (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
recoveryMode,
                  Key -> ResourceSpecProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ResourceSpec" (ResourceSpecProperty -> (Key, Value))
-> Maybe ResourceSpecProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ResourceSpecProperty
resourceSpec,
                  Key -> [Tag] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Tags" ([Tag] -> (Key, Value)) -> Maybe [Tag] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Tag]
tags])))
instance Property "AppName" App where
  type PropertyType "AppName" App = Value Prelude.Text
  set :: PropertyType "AppName" App -> App -> App
set PropertyType "AppName" App
newValue App {Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: App -> ()
appName :: App -> Value Text
appType :: App -> Value Text
domainId :: App -> Value Text
recoveryMode :: App -> Maybe (Value Bool)
resourceSpec :: App -> Maybe ResourceSpecProperty
tags :: App -> Maybe [Tag]
userProfileName :: App -> Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..} = App {appName :: Value Text
appName = PropertyType "AppName" App
Value Text
newValue, Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: ()
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
haddock_workaround_ :: ()
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..}
instance Property "AppType" App where
  type PropertyType "AppType" App = Value Prelude.Text
  set :: PropertyType "AppType" App -> App -> App
set PropertyType "AppType" App
newValue App {Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: App -> ()
appName :: App -> Value Text
appType :: App -> Value Text
domainId :: App -> Value Text
recoveryMode :: App -> Maybe (Value Bool)
resourceSpec :: App -> Maybe ResourceSpecProperty
tags :: App -> Maybe [Tag]
userProfileName :: App -> Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..} = App {appType :: Value Text
appType = PropertyType "AppType" App
Value Text
newValue, Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: ()
appName :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
haddock_workaround_ :: ()
appName :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..}
instance Property "DomainId" App where
  type PropertyType "DomainId" App = Value Prelude.Text
  set :: PropertyType "DomainId" App -> App -> App
set PropertyType "DomainId" App
newValue App {Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: App -> ()
appName :: App -> Value Text
appType :: App -> Value Text
domainId :: App -> Value Text
recoveryMode :: App -> Maybe (Value Bool)
resourceSpec :: App -> Maybe ResourceSpecProperty
tags :: App -> Maybe [Tag]
userProfileName :: App -> Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..} = App {domainId :: Value Text
domainId = PropertyType "DomainId" App
Value Text
newValue, Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..}
instance Property "RecoveryMode" App where
  type PropertyType "RecoveryMode" App = Value Prelude.Bool
  set :: PropertyType "RecoveryMode" App -> App -> App
set PropertyType "RecoveryMode" App
newValue App {Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: App -> ()
appName :: App -> Value Text
appType :: App -> Value Text
domainId :: App -> Value Text
recoveryMode :: App -> Maybe (Value Bool)
resourceSpec :: App -> Maybe ResourceSpecProperty
tags :: App -> Maybe [Tag]
userProfileName :: App -> Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..}
    = App {recoveryMode :: Maybe (Value Bool)
recoveryMode = Value Bool -> Maybe (Value Bool)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "RecoveryMode" App
Value Bool
newValue, Maybe [Tag]
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..}
instance Property "ResourceSpec" App where
  type PropertyType "ResourceSpec" App = ResourceSpecProperty
  set :: PropertyType "ResourceSpec" App -> App -> App
set PropertyType "ResourceSpec" App
newValue App {Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: App -> ()
appName :: App -> Value Text
appType :: App -> Value Text
domainId :: App -> Value Text
recoveryMode :: App -> Maybe (Value Bool)
resourceSpec :: App -> Maybe ResourceSpecProperty
tags :: App -> Maybe [Tag]
userProfileName :: App -> Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..}
    = App {resourceSpec :: Maybe ResourceSpecProperty
resourceSpec = ResourceSpecProperty -> Maybe ResourceSpecProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "ResourceSpec" App
ResourceSpecProperty
newValue, Maybe [Tag]
Maybe (Value Bool)
()
Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
tags :: Maybe [Tag]
userProfileName :: Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
tags :: Maybe [Tag]
userProfileName :: Value Text
..}
instance Property "Tags" App where
  type PropertyType "Tags" App = [Tag]
  set :: PropertyType "Tags" App -> App -> App
set PropertyType "Tags" App
newValue App {Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: App -> ()
appName :: App -> Value Text
appType :: App -> Value Text
domainId :: App -> Value Text
recoveryMode :: App -> Maybe (Value Bool)
resourceSpec :: App -> Maybe ResourceSpecProperty
tags :: App -> Maybe [Tag]
userProfileName :: App -> Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..} = App {tags :: Maybe [Tag]
tags = [Tag] -> Maybe [Tag]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [Tag]
PropertyType "Tags" App
newValue, Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
userProfileName :: Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
userProfileName :: Value Text
..}
instance Property "UserProfileName" App where
  type PropertyType "UserProfileName" App = Value Prelude.Text
  set :: PropertyType "UserProfileName" App -> App -> App
set PropertyType "UserProfileName" App
newValue App {Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: App -> ()
appName :: App -> Value Text
appType :: App -> Value Text
domainId :: App -> Value Text
recoveryMode :: App -> Maybe (Value Bool)
resourceSpec :: App -> Maybe ResourceSpecProperty
tags :: App -> Maybe [Tag]
userProfileName :: App -> Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
userProfileName :: Value Text
..} = App {userProfileName :: Value Text
userProfileName = PropertyType "UserProfileName" App
Value Text
newValue, Maybe [Tag]
Maybe (Value Bool)
Maybe ResourceSpecProperty
()
Value Text
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
haddock_workaround_ :: ()
appName :: Value Text
appType :: Value Text
domainId :: Value Text
recoveryMode :: Maybe (Value Bool)
resourceSpec :: Maybe ResourceSpecProperty
tags :: Maybe [Tag]
..}