module Stratosphere.SageMaker.Model.AdditionalModelDataSourceProperty (
        module Exports, AdditionalModelDataSourceProperty(..),
        mkAdditionalModelDataSourceProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.SageMaker.Model.S3DataSourceProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data AdditionalModelDataSourceProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-additionalmodeldatasource.html>
    AdditionalModelDataSourceProperty {AdditionalModelDataSourceProperty -> ()
haddock_workaround_ :: (),
                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-additionalmodeldatasource.html#cfn-sagemaker-model-additionalmodeldatasource-channelname>
                                       AdditionalModelDataSourceProperty -> Value Text
channelName :: (Value Prelude.Text),
                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-additionalmodeldatasource.html#cfn-sagemaker-model-additionalmodeldatasource-s3datasource>
                                       AdditionalModelDataSourceProperty -> S3DataSourceProperty
s3DataSource :: S3DataSourceProperty}
  deriving stock (AdditionalModelDataSourceProperty
-> AdditionalModelDataSourceProperty -> Bool
(AdditionalModelDataSourceProperty
 -> AdditionalModelDataSourceProperty -> Bool)
-> (AdditionalModelDataSourceProperty
    -> AdditionalModelDataSourceProperty -> Bool)
-> Eq AdditionalModelDataSourceProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AdditionalModelDataSourceProperty
-> AdditionalModelDataSourceProperty -> Bool
== :: AdditionalModelDataSourceProperty
-> AdditionalModelDataSourceProperty -> Bool
$c/= :: AdditionalModelDataSourceProperty
-> AdditionalModelDataSourceProperty -> Bool
/= :: AdditionalModelDataSourceProperty
-> AdditionalModelDataSourceProperty -> Bool
Prelude.Eq, Int -> AdditionalModelDataSourceProperty -> ShowS
[AdditionalModelDataSourceProperty] -> ShowS
AdditionalModelDataSourceProperty -> String
(Int -> AdditionalModelDataSourceProperty -> ShowS)
-> (AdditionalModelDataSourceProperty -> String)
-> ([AdditionalModelDataSourceProperty] -> ShowS)
-> Show AdditionalModelDataSourceProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AdditionalModelDataSourceProperty -> ShowS
showsPrec :: Int -> AdditionalModelDataSourceProperty -> ShowS
$cshow :: AdditionalModelDataSourceProperty -> String
show :: AdditionalModelDataSourceProperty -> String
$cshowList :: [AdditionalModelDataSourceProperty] -> ShowS
showList :: [AdditionalModelDataSourceProperty] -> ShowS
Prelude.Show)
mkAdditionalModelDataSourceProperty ::
  Value Prelude.Text
  -> S3DataSourceProperty -> AdditionalModelDataSourceProperty
mkAdditionalModelDataSourceProperty :: Value Text
-> S3DataSourceProperty -> AdditionalModelDataSourceProperty
mkAdditionalModelDataSourceProperty Value Text
channelName S3DataSourceProperty
s3DataSource
  = AdditionalModelDataSourceProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), channelName :: Value Text
channelName = Value Text
channelName,
       s3DataSource :: S3DataSourceProperty
s3DataSource = S3DataSourceProperty
s3DataSource}
instance ToResourceProperties AdditionalModelDataSourceProperty where
  toResourceProperties :: AdditionalModelDataSourceProperty -> ResourceProperties
toResourceProperties AdditionalModelDataSourceProperty {()
Value Text
S3DataSourceProperty
haddock_workaround_ :: AdditionalModelDataSourceProperty -> ()
channelName :: AdditionalModelDataSourceProperty -> Value Text
s3DataSource :: AdditionalModelDataSourceProperty -> S3DataSourceProperty
haddock_workaround_ :: ()
channelName :: Value Text
s3DataSource :: S3DataSourceProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::SageMaker::Model.AdditionalModelDataSource",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ChannelName" 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
channelName,
                       Key
"S3DataSource" Key -> S3DataSourceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= S3DataSourceProperty
s3DataSource]}
instance JSON.ToJSON AdditionalModelDataSourceProperty where
  toJSON :: AdditionalModelDataSourceProperty -> Value
toJSON AdditionalModelDataSourceProperty {()
Value Text
S3DataSourceProperty
haddock_workaround_ :: AdditionalModelDataSourceProperty -> ()
channelName :: AdditionalModelDataSourceProperty -> Value Text
s3DataSource :: AdditionalModelDataSourceProperty -> S3DataSourceProperty
haddock_workaround_ :: ()
channelName :: Value Text
s3DataSource :: S3DataSourceProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ChannelName" 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
channelName,
         Key
"S3DataSource" Key -> S3DataSourceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= S3DataSourceProperty
s3DataSource]
instance Property "ChannelName" AdditionalModelDataSourceProperty where
  type PropertyType "ChannelName" AdditionalModelDataSourceProperty = Value Prelude.Text
  set :: PropertyType "ChannelName" AdditionalModelDataSourceProperty
-> AdditionalModelDataSourceProperty
-> AdditionalModelDataSourceProperty
set PropertyType "ChannelName" AdditionalModelDataSourceProperty
newValue AdditionalModelDataSourceProperty {()
Value Text
S3DataSourceProperty
haddock_workaround_ :: AdditionalModelDataSourceProperty -> ()
channelName :: AdditionalModelDataSourceProperty -> Value Text
s3DataSource :: AdditionalModelDataSourceProperty -> S3DataSourceProperty
haddock_workaround_ :: ()
channelName :: Value Text
s3DataSource :: S3DataSourceProperty
..}
    = AdditionalModelDataSourceProperty {channelName :: Value Text
channelName = PropertyType "ChannelName" AdditionalModelDataSourceProperty
Value Text
newValue, ()
S3DataSourceProperty
haddock_workaround_ :: ()
s3DataSource :: S3DataSourceProperty
haddock_workaround_ :: ()
s3DataSource :: S3DataSourceProperty
..}
instance Property "S3DataSource" AdditionalModelDataSourceProperty where
  type PropertyType "S3DataSource" AdditionalModelDataSourceProperty = S3DataSourceProperty
  set :: PropertyType "S3DataSource" AdditionalModelDataSourceProperty
-> AdditionalModelDataSourceProperty
-> AdditionalModelDataSourceProperty
set PropertyType "S3DataSource" AdditionalModelDataSourceProperty
newValue AdditionalModelDataSourceProperty {()
Value Text
S3DataSourceProperty
haddock_workaround_ :: AdditionalModelDataSourceProperty -> ()
channelName :: AdditionalModelDataSourceProperty -> Value Text
s3DataSource :: AdditionalModelDataSourceProperty -> S3DataSourceProperty
haddock_workaround_ :: ()
channelName :: Value Text
s3DataSource :: S3DataSourceProperty
..}
    = AdditionalModelDataSourceProperty {s3DataSource :: S3DataSourceProperty
s3DataSource = PropertyType "S3DataSource" AdditionalModelDataSourceProperty
S3DataSourceProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
channelName :: Value Text
haddock_workaround_ :: ()
channelName :: Value Text
..}