module Stratosphere.SageMaker.MonitoringSchedule.MonitoringScheduleConfigProperty (
        module Exports, MonitoringScheduleConfigProperty(..),
        mkMonitoringScheduleConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.SageMaker.MonitoringSchedule.MonitoringJobDefinitionProperty as Exports
import {-# SOURCE #-} Stratosphere.SageMaker.MonitoringSchedule.ScheduleConfigProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data MonitoringScheduleConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html>
    MonitoringScheduleConfigProperty {MonitoringScheduleConfigProperty -> ()
haddock_workaround_ :: (),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinition>
                                      MonitoringScheduleConfigProperty
-> Maybe MonitoringJobDefinitionProperty
monitoringJobDefinition :: (Prelude.Maybe MonitoringJobDefinitionProperty),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringjobdefinitionname>
                                      MonitoringScheduleConfigProperty -> Maybe (Value Text)
monitoringJobDefinitionName :: (Prelude.Maybe (Value Prelude.Text)),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-monitoringtype>
                                      MonitoringScheduleConfigProperty -> Maybe (Value Text)
monitoringType :: (Prelude.Maybe (Value Prelude.Text)),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringscheduleconfig.html#cfn-sagemaker-monitoringschedule-monitoringscheduleconfig-scheduleconfig>
                                      MonitoringScheduleConfigProperty -> Maybe ScheduleConfigProperty
scheduleConfig :: (Prelude.Maybe ScheduleConfigProperty)}
  deriving stock (MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty -> Bool
(MonitoringScheduleConfigProperty
 -> MonitoringScheduleConfigProperty -> Bool)
-> (MonitoringScheduleConfigProperty
    -> MonitoringScheduleConfigProperty -> Bool)
-> Eq MonitoringScheduleConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty -> Bool
== :: MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty -> Bool
$c/= :: MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty -> Bool
/= :: MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty -> Bool
Prelude.Eq, Int -> MonitoringScheduleConfigProperty -> ShowS
[MonitoringScheduleConfigProperty] -> ShowS
MonitoringScheduleConfigProperty -> String
(Int -> MonitoringScheduleConfigProperty -> ShowS)
-> (MonitoringScheduleConfigProperty -> String)
-> ([MonitoringScheduleConfigProperty] -> ShowS)
-> Show MonitoringScheduleConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MonitoringScheduleConfigProperty -> ShowS
showsPrec :: Int -> MonitoringScheduleConfigProperty -> ShowS
$cshow :: MonitoringScheduleConfigProperty -> String
show :: MonitoringScheduleConfigProperty -> String
$cshowList :: [MonitoringScheduleConfigProperty] -> ShowS
showList :: [MonitoringScheduleConfigProperty] -> ShowS
Prelude.Show)
mkMonitoringScheduleConfigProperty ::
  MonitoringScheduleConfigProperty
mkMonitoringScheduleConfigProperty :: MonitoringScheduleConfigProperty
mkMonitoringScheduleConfigProperty
  = MonitoringScheduleConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinition = Maybe MonitoringJobDefinitionProperty
forall a. Maybe a
Prelude.Nothing,
       monitoringJobDefinitionName :: Maybe (Value Text)
monitoringJobDefinitionName = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       monitoringType :: Maybe (Value Text)
monitoringType = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing, scheduleConfig :: Maybe ScheduleConfigProperty
scheduleConfig = Maybe ScheduleConfigProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties MonitoringScheduleConfigProperty where
  toResourceProperties :: MonitoringScheduleConfigProperty -> ResourceProperties
toResourceProperties MonitoringScheduleConfigProperty {Maybe (Value Text)
Maybe ScheduleConfigProperty
Maybe MonitoringJobDefinitionProperty
()
haddock_workaround_ :: MonitoringScheduleConfigProperty -> ()
monitoringJobDefinition :: MonitoringScheduleConfigProperty
-> Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
monitoringType :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
scheduleConfig :: MonitoringScheduleConfigProperty -> Maybe ScheduleConfigProperty
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: Maybe (Value Text)
monitoringType :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                           [Key -> MonitoringJobDefinitionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"MonitoringJobDefinition"
                              (MonitoringJobDefinitionProperty -> (Key, Value))
-> Maybe MonitoringJobDefinitionProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MonitoringJobDefinitionProperty
monitoringJobDefinition,
                            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..=) Key
"MonitoringJobDefinitionName"
                              (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
monitoringJobDefinitionName,
                            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..=) Key
"MonitoringType" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
monitoringType,
                            Key -> ScheduleConfigProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ScheduleConfig" (ScheduleConfigProperty -> (Key, Value))
-> Maybe ScheduleConfigProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ScheduleConfigProperty
scheduleConfig])}
instance JSON.ToJSON MonitoringScheduleConfigProperty where
  toJSON :: MonitoringScheduleConfigProperty -> Value
toJSON MonitoringScheduleConfigProperty {Maybe (Value Text)
Maybe ScheduleConfigProperty
Maybe MonitoringJobDefinitionProperty
()
haddock_workaround_ :: MonitoringScheduleConfigProperty -> ()
monitoringJobDefinition :: MonitoringScheduleConfigProperty
-> Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
monitoringType :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
scheduleConfig :: MonitoringScheduleConfigProperty -> Maybe ScheduleConfigProperty
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: Maybe (Value Text)
monitoringType :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
              [Key -> MonitoringJobDefinitionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"MonitoringJobDefinition"
                 (MonitoringJobDefinitionProperty -> (Key, Value))
-> Maybe MonitoringJobDefinitionProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MonitoringJobDefinitionProperty
monitoringJobDefinition,
               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..=) Key
"MonitoringJobDefinitionName"
                 (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
monitoringJobDefinitionName,
               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..=) Key
"MonitoringType" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
monitoringType,
               Key -> ScheduleConfigProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ScheduleConfig" (ScheduleConfigProperty -> (Key, Value))
-> Maybe ScheduleConfigProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ScheduleConfigProperty
scheduleConfig]))
instance Property "MonitoringJobDefinition" MonitoringScheduleConfigProperty where
  type PropertyType "MonitoringJobDefinition" MonitoringScheduleConfigProperty = MonitoringJobDefinitionProperty
  set :: PropertyType
  "MonitoringJobDefinition" MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty
set PropertyType
  "MonitoringJobDefinition" MonitoringScheduleConfigProperty
newValue MonitoringScheduleConfigProperty {Maybe (Value Text)
Maybe ScheduleConfigProperty
Maybe MonitoringJobDefinitionProperty
()
haddock_workaround_ :: MonitoringScheduleConfigProperty -> ()
monitoringJobDefinition :: MonitoringScheduleConfigProperty
-> Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
monitoringType :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
scheduleConfig :: MonitoringScheduleConfigProperty -> Maybe ScheduleConfigProperty
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: Maybe (Value Text)
monitoringType :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
..}
    = MonitoringScheduleConfigProperty
        {monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinition = MonitoringJobDefinitionProperty
-> Maybe MonitoringJobDefinitionProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "MonitoringJobDefinition" MonitoringScheduleConfigProperty
MonitoringJobDefinitionProperty
newValue, Maybe (Value Text)
Maybe ScheduleConfigProperty
()
haddock_workaround_ :: ()
monitoringJobDefinitionName :: Maybe (Value Text)
monitoringType :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
haddock_workaround_ :: ()
monitoringJobDefinitionName :: Maybe (Value Text)
monitoringType :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
..}
instance Property "MonitoringJobDefinitionName" MonitoringScheduleConfigProperty where
  type PropertyType "MonitoringJobDefinitionName" MonitoringScheduleConfigProperty = Value Prelude.Text
  set :: PropertyType
  "MonitoringJobDefinitionName" MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty
set PropertyType
  "MonitoringJobDefinitionName" MonitoringScheduleConfigProperty
newValue MonitoringScheduleConfigProperty {Maybe (Value Text)
Maybe ScheduleConfigProperty
Maybe MonitoringJobDefinitionProperty
()
haddock_workaround_ :: MonitoringScheduleConfigProperty -> ()
monitoringJobDefinition :: MonitoringScheduleConfigProperty
-> Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
monitoringType :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
scheduleConfig :: MonitoringScheduleConfigProperty -> Maybe ScheduleConfigProperty
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: Maybe (Value Text)
monitoringType :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
..}
    = MonitoringScheduleConfigProperty
        {monitoringJobDefinitionName :: Maybe (Value Text)
monitoringJobDefinitionName = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "MonitoringJobDefinitionName" MonitoringScheduleConfigProperty
Value Text
newValue, Maybe (Value Text)
Maybe ScheduleConfigProperty
Maybe MonitoringJobDefinitionProperty
()
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringType :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringType :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
..}
instance Property "MonitoringType" MonitoringScheduleConfigProperty where
  type PropertyType "MonitoringType" MonitoringScheduleConfigProperty = Value Prelude.Text
  set :: PropertyType "MonitoringType" MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty
set PropertyType "MonitoringType" MonitoringScheduleConfigProperty
newValue MonitoringScheduleConfigProperty {Maybe (Value Text)
Maybe ScheduleConfigProperty
Maybe MonitoringJobDefinitionProperty
()
haddock_workaround_ :: MonitoringScheduleConfigProperty -> ()
monitoringJobDefinition :: MonitoringScheduleConfigProperty
-> Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
monitoringType :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
scheduleConfig :: MonitoringScheduleConfigProperty -> Maybe ScheduleConfigProperty
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: Maybe (Value Text)
monitoringType :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
..}
    = MonitoringScheduleConfigProperty
        {monitoringType :: Maybe (Value Text)
monitoringType = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "MonitoringType" MonitoringScheduleConfigProperty
Value Text
newValue, Maybe (Value Text)
Maybe ScheduleConfigProperty
Maybe MonitoringJobDefinitionProperty
()
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
..}
instance Property "ScheduleConfig" MonitoringScheduleConfigProperty where
  type PropertyType "ScheduleConfig" MonitoringScheduleConfigProperty = ScheduleConfigProperty
  set :: PropertyType "ScheduleConfig" MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty
-> MonitoringScheduleConfigProperty
set PropertyType "ScheduleConfig" MonitoringScheduleConfigProperty
newValue MonitoringScheduleConfigProperty {Maybe (Value Text)
Maybe ScheduleConfigProperty
Maybe MonitoringJobDefinitionProperty
()
haddock_workaround_ :: MonitoringScheduleConfigProperty -> ()
monitoringJobDefinition :: MonitoringScheduleConfigProperty
-> Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
monitoringType :: MonitoringScheduleConfigProperty -> Maybe (Value Text)
scheduleConfig :: MonitoringScheduleConfigProperty -> Maybe ScheduleConfigProperty
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: Maybe (Value Text)
monitoringType :: Maybe (Value Text)
scheduleConfig :: Maybe ScheduleConfigProperty
..}
    = MonitoringScheduleConfigProperty
        {scheduleConfig :: Maybe ScheduleConfigProperty
scheduleConfig = ScheduleConfigProperty -> Maybe ScheduleConfigProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "ScheduleConfig" MonitoringScheduleConfigProperty
ScheduleConfigProperty
newValue, Maybe (Value Text)
Maybe MonitoringJobDefinitionProperty
()
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: Maybe (Value Text)
monitoringType :: Maybe (Value Text)
haddock_workaround_ :: ()
monitoringJobDefinition :: Maybe MonitoringJobDefinitionProperty
monitoringJobDefinitionName :: Maybe (Value Text)
monitoringType :: Maybe (Value Text)
..}