module Stratosphere.SageMaker.ModelPackage.ValidationSpecificationProperty (
        module Exports, ValidationSpecificationProperty(..),
        mkValidationSpecificationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.SageMaker.ModelPackage.ValidationProfileProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ValidationSpecificationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelpackage-validationspecification.html>
    ValidationSpecificationProperty {ValidationSpecificationProperty -> ()
haddock_workaround_ :: (),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelpackage-validationspecification.html#cfn-sagemaker-modelpackage-validationspecification-validationprofiles>
                                     ValidationSpecificationProperty -> [ValidationProfileProperty]
validationProfiles :: [ValidationProfileProperty],
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelpackage-validationspecification.html#cfn-sagemaker-modelpackage-validationspecification-validationrole>
                                     ValidationSpecificationProperty -> Value Text
validationRole :: (Value Prelude.Text)}
  deriving stock (ValidationSpecificationProperty
-> ValidationSpecificationProperty -> Bool
(ValidationSpecificationProperty
 -> ValidationSpecificationProperty -> Bool)
-> (ValidationSpecificationProperty
    -> ValidationSpecificationProperty -> Bool)
-> Eq ValidationSpecificationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ValidationSpecificationProperty
-> ValidationSpecificationProperty -> Bool
== :: ValidationSpecificationProperty
-> ValidationSpecificationProperty -> Bool
$c/= :: ValidationSpecificationProperty
-> ValidationSpecificationProperty -> Bool
/= :: ValidationSpecificationProperty
-> ValidationSpecificationProperty -> Bool
Prelude.Eq, Int -> ValidationSpecificationProperty -> ShowS
[ValidationSpecificationProperty] -> ShowS
ValidationSpecificationProperty -> String
(Int -> ValidationSpecificationProperty -> ShowS)
-> (ValidationSpecificationProperty -> String)
-> ([ValidationSpecificationProperty] -> ShowS)
-> Show ValidationSpecificationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ValidationSpecificationProperty -> ShowS
showsPrec :: Int -> ValidationSpecificationProperty -> ShowS
$cshow :: ValidationSpecificationProperty -> String
show :: ValidationSpecificationProperty -> String
$cshowList :: [ValidationSpecificationProperty] -> ShowS
showList :: [ValidationSpecificationProperty] -> ShowS
Prelude.Show)
mkValidationSpecificationProperty ::
  [ValidationProfileProperty]
  -> Value Prelude.Text -> ValidationSpecificationProperty
mkValidationSpecificationProperty :: [ValidationProfileProperty]
-> Value Text -> ValidationSpecificationProperty
mkValidationSpecificationProperty [ValidationProfileProperty]
validationProfiles Value Text
validationRole
  = ValidationSpecificationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), validationProfiles :: [ValidationProfileProperty]
validationProfiles = [ValidationProfileProperty]
validationProfiles,
       validationRole :: Value Text
validationRole = Value Text
validationRole}
instance ToResourceProperties ValidationSpecificationProperty where
  toResourceProperties :: ValidationSpecificationProperty -> ResourceProperties
toResourceProperties ValidationSpecificationProperty {[ValidationProfileProperty]
()
Value Text
haddock_workaround_ :: ValidationSpecificationProperty -> ()
validationProfiles :: ValidationSpecificationProperty -> [ValidationProfileProperty]
validationRole :: ValidationSpecificationProperty -> Value Text
haddock_workaround_ :: ()
validationProfiles :: [ValidationProfileProperty]
validationRole :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::SageMaker::ModelPackage.ValidationSpecification",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ValidationProfiles" Key -> [ValidationProfileProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [ValidationProfileProperty]
validationProfiles,
                       Key
"ValidationRole" 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
validationRole]}
instance JSON.ToJSON ValidationSpecificationProperty where
  toJSON :: ValidationSpecificationProperty -> Value
toJSON ValidationSpecificationProperty {[ValidationProfileProperty]
()
Value Text
haddock_workaround_ :: ValidationSpecificationProperty -> ()
validationProfiles :: ValidationSpecificationProperty -> [ValidationProfileProperty]
validationRole :: ValidationSpecificationProperty -> Value Text
haddock_workaround_ :: ()
validationProfiles :: [ValidationProfileProperty]
validationRole :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ValidationProfiles" Key -> [ValidationProfileProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [ValidationProfileProperty]
validationProfiles,
         Key
"ValidationRole" 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
validationRole]
instance Property "ValidationProfiles" ValidationSpecificationProperty where
  type PropertyType "ValidationProfiles" ValidationSpecificationProperty = [ValidationProfileProperty]
  set :: PropertyType "ValidationProfiles" ValidationSpecificationProperty
-> ValidationSpecificationProperty
-> ValidationSpecificationProperty
set PropertyType "ValidationProfiles" ValidationSpecificationProperty
newValue ValidationSpecificationProperty {[ValidationProfileProperty]
()
Value Text
haddock_workaround_ :: ValidationSpecificationProperty -> ()
validationProfiles :: ValidationSpecificationProperty -> [ValidationProfileProperty]
validationRole :: ValidationSpecificationProperty -> Value Text
haddock_workaround_ :: ()
validationProfiles :: [ValidationProfileProperty]
validationRole :: Value Text
..}
    = ValidationSpecificationProperty
        {validationProfiles :: [ValidationProfileProperty]
validationProfiles = [ValidationProfileProperty]
PropertyType "ValidationProfiles" ValidationSpecificationProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
validationRole :: Value Text
haddock_workaround_ :: ()
validationRole :: Value Text
..}
instance Property "ValidationRole" ValidationSpecificationProperty where
  type PropertyType "ValidationRole" ValidationSpecificationProperty = Value Prelude.Text
  set :: PropertyType "ValidationRole" ValidationSpecificationProperty
-> ValidationSpecificationProperty
-> ValidationSpecificationProperty
set PropertyType "ValidationRole" ValidationSpecificationProperty
newValue ValidationSpecificationProperty {[ValidationProfileProperty]
()
Value Text
haddock_workaround_ :: ValidationSpecificationProperty -> ()
validationProfiles :: ValidationSpecificationProperty -> [ValidationProfileProperty]
validationRole :: ValidationSpecificationProperty -> Value Text
haddock_workaround_ :: ()
validationProfiles :: [ValidationProfileProperty]
validationRole :: Value Text
..}
    = ValidationSpecificationProperty {validationRole :: Value Text
validationRole = PropertyType "ValidationRole" ValidationSpecificationProperty
Value Text
newValue, [ValidationProfileProperty]
()
haddock_workaround_ :: ()
validationProfiles :: [ValidationProfileProperty]
haddock_workaround_ :: ()
validationProfiles :: [ValidationProfileProperty]
..}