module Stratosphere.LookoutEquipment.InferenceScheduler ( module Exports, InferenceScheduler(..), mkInferenceScheduler ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.LookoutEquipment.InferenceScheduler.DataInputConfigurationProperty as Exports import {-# SOURCE #-} Stratosphere.LookoutEquipment.InferenceScheduler.DataOutputConfigurationProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Tag import Stratosphere.Value data InferenceScheduler = -- | See: InferenceScheduler {haddock_workaround_ :: (), -- | See: dataDelayOffsetInMinutes :: (Prelude.Maybe (Value Prelude.Integer)), -- | See: dataInputConfiguration :: DataInputConfigurationProperty, -- | See: dataOutputConfiguration :: DataOutputConfigurationProperty, -- | See: dataUploadFrequency :: (Value Prelude.Text), -- | See: inferenceSchedulerName :: (Prelude.Maybe (Value Prelude.Text)), -- | See: modelName :: (Value Prelude.Text), -- | See: roleArn :: (Value Prelude.Text), -- | See: serverSideKmsKeyId :: (Prelude.Maybe (Value Prelude.Text)), -- | See: tags :: (Prelude.Maybe [Tag])} deriving stock (Prelude.Eq, Prelude.Show) mkInferenceScheduler :: DataInputConfigurationProperty -> DataOutputConfigurationProperty -> Value Prelude.Text -> Value Prelude.Text -> Value Prelude.Text -> InferenceScheduler mkInferenceScheduler dataInputConfiguration dataOutputConfiguration dataUploadFrequency modelName roleArn = InferenceScheduler {haddock_workaround_ = (), dataInputConfiguration = dataInputConfiguration, dataOutputConfiguration = dataOutputConfiguration, dataUploadFrequency = dataUploadFrequency, modelName = modelName, roleArn = roleArn, dataDelayOffsetInMinutes = Prelude.Nothing, inferenceSchedulerName = Prelude.Nothing, serverSideKmsKeyId = Prelude.Nothing, tags = Prelude.Nothing} instance ToResourceProperties InferenceScheduler where toResourceProperties InferenceScheduler {..} = ResourceProperties {awsType = "AWS::LookoutEquipment::InferenceScheduler", supportsTags = Prelude.True, properties = Prelude.fromList ((Prelude.<>) ["DataInputConfiguration" JSON..= dataInputConfiguration, "DataOutputConfiguration" JSON..= dataOutputConfiguration, "DataUploadFrequency" JSON..= dataUploadFrequency, "ModelName" JSON..= modelName, "RoleArn" JSON..= roleArn] (Prelude.catMaybes [(JSON..=) "DataDelayOffsetInMinutes" Prelude.<$> dataDelayOffsetInMinutes, (JSON..=) "InferenceSchedulerName" Prelude.<$> inferenceSchedulerName, (JSON..=) "ServerSideKmsKeyId" Prelude.<$> serverSideKmsKeyId, (JSON..=) "Tags" Prelude.<$> tags]))} instance JSON.ToJSON InferenceScheduler where toJSON InferenceScheduler {..} = JSON.object (Prelude.fromList ((Prelude.<>) ["DataInputConfiguration" JSON..= dataInputConfiguration, "DataOutputConfiguration" JSON..= dataOutputConfiguration, "DataUploadFrequency" JSON..= dataUploadFrequency, "ModelName" JSON..= modelName, "RoleArn" JSON..= roleArn] (Prelude.catMaybes [(JSON..=) "DataDelayOffsetInMinutes" Prelude.<$> dataDelayOffsetInMinutes, (JSON..=) "InferenceSchedulerName" Prelude.<$> inferenceSchedulerName, (JSON..=) "ServerSideKmsKeyId" Prelude.<$> serverSideKmsKeyId, (JSON..=) "Tags" Prelude.<$> tags]))) instance Property "DataDelayOffsetInMinutes" InferenceScheduler where type PropertyType "DataDelayOffsetInMinutes" InferenceScheduler = Value Prelude.Integer set newValue InferenceScheduler {..} = InferenceScheduler {dataDelayOffsetInMinutes = Prelude.pure newValue, ..} instance Property "DataInputConfiguration" InferenceScheduler where type PropertyType "DataInputConfiguration" InferenceScheduler = DataInputConfigurationProperty set newValue InferenceScheduler {..} = InferenceScheduler {dataInputConfiguration = newValue, ..} instance Property "DataOutputConfiguration" InferenceScheduler where type PropertyType "DataOutputConfiguration" InferenceScheduler = DataOutputConfigurationProperty set newValue InferenceScheduler {..} = InferenceScheduler {dataOutputConfiguration = newValue, ..} instance Property "DataUploadFrequency" InferenceScheduler where type PropertyType "DataUploadFrequency" InferenceScheduler = Value Prelude.Text set newValue InferenceScheduler {..} = InferenceScheduler {dataUploadFrequency = newValue, ..} instance Property "InferenceSchedulerName" InferenceScheduler where type PropertyType "InferenceSchedulerName" InferenceScheduler = Value Prelude.Text set newValue InferenceScheduler {..} = InferenceScheduler {inferenceSchedulerName = Prelude.pure newValue, ..} instance Property "ModelName" InferenceScheduler where type PropertyType "ModelName" InferenceScheduler = Value Prelude.Text set newValue InferenceScheduler {..} = InferenceScheduler {modelName = newValue, ..} instance Property "RoleArn" InferenceScheduler where type PropertyType "RoleArn" InferenceScheduler = Value Prelude.Text set newValue InferenceScheduler {..} = InferenceScheduler {roleArn = newValue, ..} instance Property "ServerSideKmsKeyId" InferenceScheduler where type PropertyType "ServerSideKmsKeyId" InferenceScheduler = Value Prelude.Text set newValue InferenceScheduler {..} = InferenceScheduler {serverSideKmsKeyId = Prelude.pure newValue, ..} instance Property "Tags" InferenceScheduler where type PropertyType "Tags" InferenceScheduler = [Tag] set newValue InferenceScheduler {..} = InferenceScheduler {tags = Prelude.pure newValue, ..}