module Stratosphere.SageMaker.Endpoint.AutoRollbackConfigProperty (
        module Exports, AutoRollbackConfigProperty(..),
        mkAutoRollbackConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.SageMaker.Endpoint.AlarmProperty as Exports
import Stratosphere.ResourceProperties
data AutoRollbackConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-autorollbackconfig.html>
    AutoRollbackConfigProperty {AutoRollbackConfigProperty -> ()
haddock_workaround_ :: (),
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-autorollbackconfig.html#cfn-sagemaker-endpoint-autorollbackconfig-alarms>
                                AutoRollbackConfigProperty -> [AlarmProperty]
alarms :: [AlarmProperty]}
  deriving stock (AutoRollbackConfigProperty -> AutoRollbackConfigProperty -> Bool
(AutoRollbackConfigProperty -> AutoRollbackConfigProperty -> Bool)
-> (AutoRollbackConfigProperty
    -> AutoRollbackConfigProperty -> Bool)
-> Eq AutoRollbackConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AutoRollbackConfigProperty -> AutoRollbackConfigProperty -> Bool
== :: AutoRollbackConfigProperty -> AutoRollbackConfigProperty -> Bool
$c/= :: AutoRollbackConfigProperty -> AutoRollbackConfigProperty -> Bool
/= :: AutoRollbackConfigProperty -> AutoRollbackConfigProperty -> Bool
Prelude.Eq, Int -> AutoRollbackConfigProperty -> ShowS
[AutoRollbackConfigProperty] -> ShowS
AutoRollbackConfigProperty -> String
(Int -> AutoRollbackConfigProperty -> ShowS)
-> (AutoRollbackConfigProperty -> String)
-> ([AutoRollbackConfigProperty] -> ShowS)
-> Show AutoRollbackConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AutoRollbackConfigProperty -> ShowS
showsPrec :: Int -> AutoRollbackConfigProperty -> ShowS
$cshow :: AutoRollbackConfigProperty -> String
show :: AutoRollbackConfigProperty -> String
$cshowList :: [AutoRollbackConfigProperty] -> ShowS
showList :: [AutoRollbackConfigProperty] -> ShowS
Prelude.Show)
mkAutoRollbackConfigProperty ::
  [AlarmProperty] -> AutoRollbackConfigProperty
mkAutoRollbackConfigProperty :: [AlarmProperty] -> AutoRollbackConfigProperty
mkAutoRollbackConfigProperty [AlarmProperty]
alarms
  = AutoRollbackConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), alarms :: [AlarmProperty]
alarms = [AlarmProperty]
alarms}
instance ToResourceProperties AutoRollbackConfigProperty where
  toResourceProperties :: AutoRollbackConfigProperty -> ResourceProperties
toResourceProperties AutoRollbackConfigProperty {[AlarmProperty]
()
haddock_workaround_ :: AutoRollbackConfigProperty -> ()
alarms :: AutoRollbackConfigProperty -> [AlarmProperty]
haddock_workaround_ :: ()
alarms :: [AlarmProperty]
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::SageMaker::Endpoint.AutoRollbackConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Alarms" Key -> [AlarmProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [AlarmProperty]
alarms]}
instance JSON.ToJSON AutoRollbackConfigProperty where
  toJSON :: AutoRollbackConfigProperty -> Value
toJSON AutoRollbackConfigProperty {[AlarmProperty]
()
haddock_workaround_ :: AutoRollbackConfigProperty -> ()
alarms :: AutoRollbackConfigProperty -> [AlarmProperty]
haddock_workaround_ :: ()
alarms :: [AlarmProperty]
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"Alarms" Key -> [AlarmProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [AlarmProperty]
alarms]
instance Property "Alarms" AutoRollbackConfigProperty where
  type PropertyType "Alarms" AutoRollbackConfigProperty = [AlarmProperty]
  set :: PropertyType "Alarms" AutoRollbackConfigProperty
-> AutoRollbackConfigProperty -> AutoRollbackConfigProperty
set PropertyType "Alarms" AutoRollbackConfigProperty
newValue AutoRollbackConfigProperty {[AlarmProperty]
()
haddock_workaround_ :: AutoRollbackConfigProperty -> ()
alarms :: AutoRollbackConfigProperty -> [AlarmProperty]
haddock_workaround_ :: ()
alarms :: [AlarmProperty]
..}
    = AutoRollbackConfigProperty {alarms :: [AlarmProperty]
alarms = [AlarmProperty]
PropertyType "Alarms" AutoRollbackConfigProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}