module Stratosphere.SageMaker.MonitoringSchedule.MonitoringInputProperty (
        module Exports, MonitoringInputProperty(..),
        mkMonitoringInputProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.SageMaker.MonitoringSchedule.BatchTransformInputProperty as Exports
import {-# SOURCE #-} Stratosphere.SageMaker.MonitoringSchedule.EndpointInputProperty as Exports
import Stratosphere.ResourceProperties
data MonitoringInputProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringinput.html>
    MonitoringInputProperty {MonitoringInputProperty -> ()
haddock_workaround_ :: (),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringinput.html#cfn-sagemaker-monitoringschedule-monitoringinput-batchtransforminput>
                             MonitoringInputProperty -> Maybe BatchTransformInputProperty
batchTransformInput :: (Prelude.Maybe BatchTransformInputProperty),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-monitoringschedule-monitoringinput.html#cfn-sagemaker-monitoringschedule-monitoringinput-endpointinput>
                             MonitoringInputProperty -> Maybe EndpointInputProperty
endpointInput :: (Prelude.Maybe EndpointInputProperty)}
  deriving stock (MonitoringInputProperty -> MonitoringInputProperty -> Bool
(MonitoringInputProperty -> MonitoringInputProperty -> Bool)
-> (MonitoringInputProperty -> MonitoringInputProperty -> Bool)
-> Eq MonitoringInputProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MonitoringInputProperty -> MonitoringInputProperty -> Bool
== :: MonitoringInputProperty -> MonitoringInputProperty -> Bool
$c/= :: MonitoringInputProperty -> MonitoringInputProperty -> Bool
/= :: MonitoringInputProperty -> MonitoringInputProperty -> Bool
Prelude.Eq, Int -> MonitoringInputProperty -> ShowS
[MonitoringInputProperty] -> ShowS
MonitoringInputProperty -> String
(Int -> MonitoringInputProperty -> ShowS)
-> (MonitoringInputProperty -> String)
-> ([MonitoringInputProperty] -> ShowS)
-> Show MonitoringInputProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MonitoringInputProperty -> ShowS
showsPrec :: Int -> MonitoringInputProperty -> ShowS
$cshow :: MonitoringInputProperty -> String
show :: MonitoringInputProperty -> String
$cshowList :: [MonitoringInputProperty] -> ShowS
showList :: [MonitoringInputProperty] -> ShowS
Prelude.Show)
mkMonitoringInputProperty :: MonitoringInputProperty
mkMonitoringInputProperty :: MonitoringInputProperty
mkMonitoringInputProperty
  = MonitoringInputProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), batchTransformInput :: Maybe BatchTransformInputProperty
batchTransformInput = Maybe BatchTransformInputProperty
forall a. Maybe a
Prelude.Nothing,
       endpointInput :: Maybe EndpointInputProperty
endpointInput = Maybe EndpointInputProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties MonitoringInputProperty where
  toResourceProperties :: MonitoringInputProperty -> ResourceProperties
toResourceProperties MonitoringInputProperty {Maybe EndpointInputProperty
Maybe BatchTransformInputProperty
()
haddock_workaround_ :: MonitoringInputProperty -> ()
batchTransformInput :: MonitoringInputProperty -> Maybe BatchTransformInputProperty
endpointInput :: MonitoringInputProperty -> Maybe EndpointInputProperty
haddock_workaround_ :: ()
batchTransformInput :: Maybe BatchTransformInputProperty
endpointInput :: Maybe EndpointInputProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::SageMaker::MonitoringSchedule.MonitoringInput",
         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 -> BatchTransformInputProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"BatchTransformInput" (BatchTransformInputProperty -> (Key, Value))
-> Maybe BatchTransformInputProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe BatchTransformInputProperty
batchTransformInput,
                            Key -> EndpointInputProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"EndpointInput" (EndpointInputProperty -> (Key, Value))
-> Maybe EndpointInputProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EndpointInputProperty
endpointInput])}
instance JSON.ToJSON MonitoringInputProperty where
  toJSON :: MonitoringInputProperty -> Value
toJSON MonitoringInputProperty {Maybe EndpointInputProperty
Maybe BatchTransformInputProperty
()
haddock_workaround_ :: MonitoringInputProperty -> ()
batchTransformInput :: MonitoringInputProperty -> Maybe BatchTransformInputProperty
endpointInput :: MonitoringInputProperty -> Maybe EndpointInputProperty
haddock_workaround_ :: ()
batchTransformInput :: Maybe BatchTransformInputProperty
endpointInput :: Maybe EndpointInputProperty
..}
    = [(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 -> BatchTransformInputProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"BatchTransformInput" (BatchTransformInputProperty -> (Key, Value))
-> Maybe BatchTransformInputProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe BatchTransformInputProperty
batchTransformInput,
               Key -> EndpointInputProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"EndpointInput" (EndpointInputProperty -> (Key, Value))
-> Maybe EndpointInputProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EndpointInputProperty
endpointInput]))
instance Property "BatchTransformInput" MonitoringInputProperty where
  type PropertyType "BatchTransformInput" MonitoringInputProperty = BatchTransformInputProperty
  set :: PropertyType "BatchTransformInput" MonitoringInputProperty
-> MonitoringInputProperty -> MonitoringInputProperty
set PropertyType "BatchTransformInput" MonitoringInputProperty
newValue MonitoringInputProperty {Maybe EndpointInputProperty
Maybe BatchTransformInputProperty
()
haddock_workaround_ :: MonitoringInputProperty -> ()
batchTransformInput :: MonitoringInputProperty -> Maybe BatchTransformInputProperty
endpointInput :: MonitoringInputProperty -> Maybe EndpointInputProperty
haddock_workaround_ :: ()
batchTransformInput :: Maybe BatchTransformInputProperty
endpointInput :: Maybe EndpointInputProperty
..}
    = MonitoringInputProperty
        {batchTransformInput :: Maybe BatchTransformInputProperty
batchTransformInput = BatchTransformInputProperty -> Maybe BatchTransformInputProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "BatchTransformInput" MonitoringInputProperty
BatchTransformInputProperty
newValue, Maybe EndpointInputProperty
()
haddock_workaround_ :: ()
endpointInput :: Maybe EndpointInputProperty
haddock_workaround_ :: ()
endpointInput :: Maybe EndpointInputProperty
..}
instance Property "EndpointInput" MonitoringInputProperty where
  type PropertyType "EndpointInput" MonitoringInputProperty = EndpointInputProperty
  set :: PropertyType "EndpointInput" MonitoringInputProperty
-> MonitoringInputProperty -> MonitoringInputProperty
set PropertyType "EndpointInput" MonitoringInputProperty
newValue MonitoringInputProperty {Maybe EndpointInputProperty
Maybe BatchTransformInputProperty
()
haddock_workaround_ :: MonitoringInputProperty -> ()
batchTransformInput :: MonitoringInputProperty -> Maybe BatchTransformInputProperty
endpointInput :: MonitoringInputProperty -> Maybe EndpointInputProperty
haddock_workaround_ :: ()
batchTransformInput :: Maybe BatchTransformInputProperty
endpointInput :: Maybe EndpointInputProperty
..}
    = MonitoringInputProperty
        {endpointInput :: Maybe EndpointInputProperty
endpointInput = EndpointInputProperty -> Maybe EndpointInputProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "EndpointInput" MonitoringInputProperty
EndpointInputProperty
newValue, Maybe BatchTransformInputProperty
()
haddock_workaround_ :: ()
batchTransformInput :: Maybe BatchTransformInputProperty
haddock_workaround_ :: ()
batchTransformInput :: Maybe BatchTransformInputProperty
..}