module Stratosphere.Omics.WorkflowVersion.DefinitionRepositoryProperty (
        module Exports, DefinitionRepositoryProperty(..),
        mkDefinitionRepositoryProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Omics.WorkflowVersion.SourceReferenceProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data DefinitionRepositoryProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-omics-workflowversion-definitionrepository.html>
    DefinitionRepositoryProperty {DefinitionRepositoryProperty -> ()
haddock_workaround_ :: (),
                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-omics-workflowversion-definitionrepository.html#cfn-omics-workflowversion-definitionrepository-connectionarn>
                                  DefinitionRepositoryProperty -> Maybe (Value Text)
connectionArn :: (Prelude.Maybe (Value Prelude.Text)),
                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-omics-workflowversion-definitionrepository.html#cfn-omics-workflowversion-definitionrepository-excludefilepatterns>
                                  DefinitionRepositoryProperty -> Maybe (ValueList Text)
excludeFilePatterns :: (Prelude.Maybe (ValueList Prelude.Text)),
                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-omics-workflowversion-definitionrepository.html#cfn-omics-workflowversion-definitionrepository-fullrepositoryid>
                                  DefinitionRepositoryProperty -> Maybe (Value Text)
fullRepositoryId :: (Prelude.Maybe (Value Prelude.Text)),
                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-omics-workflowversion-definitionrepository.html#cfn-omics-workflowversion-definitionrepository-sourcereference>
                                  DefinitionRepositoryProperty -> Maybe SourceReferenceProperty
sourceReference :: (Prelude.Maybe SourceReferenceProperty)}
  deriving stock (DefinitionRepositoryProperty
-> DefinitionRepositoryProperty -> Bool
(DefinitionRepositoryProperty
 -> DefinitionRepositoryProperty -> Bool)
-> (DefinitionRepositoryProperty
    -> DefinitionRepositoryProperty -> Bool)
-> Eq DefinitionRepositoryProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DefinitionRepositoryProperty
-> DefinitionRepositoryProperty -> Bool
== :: DefinitionRepositoryProperty
-> DefinitionRepositoryProperty -> Bool
$c/= :: DefinitionRepositoryProperty
-> DefinitionRepositoryProperty -> Bool
/= :: DefinitionRepositoryProperty
-> DefinitionRepositoryProperty -> Bool
Prelude.Eq, Int -> DefinitionRepositoryProperty -> ShowS
[DefinitionRepositoryProperty] -> ShowS
DefinitionRepositoryProperty -> String
(Int -> DefinitionRepositoryProperty -> ShowS)
-> (DefinitionRepositoryProperty -> String)
-> ([DefinitionRepositoryProperty] -> ShowS)
-> Show DefinitionRepositoryProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DefinitionRepositoryProperty -> ShowS
showsPrec :: Int -> DefinitionRepositoryProperty -> ShowS
$cshow :: DefinitionRepositoryProperty -> String
show :: DefinitionRepositoryProperty -> String
$cshowList :: [DefinitionRepositoryProperty] -> ShowS
showList :: [DefinitionRepositoryProperty] -> ShowS
Prelude.Show)
mkDefinitionRepositoryProperty :: DefinitionRepositoryProperty
mkDefinitionRepositoryProperty :: DefinitionRepositoryProperty
mkDefinitionRepositoryProperty
  = DefinitionRepositoryProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), connectionArn :: Maybe (Value Text)
connectionArn = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       excludeFilePatterns :: Maybe (ValueList Text)
excludeFilePatterns = Maybe (ValueList Text)
forall a. Maybe a
Prelude.Nothing,
       fullRepositoryId :: Maybe (Value Text)
fullRepositoryId = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       sourceReference :: Maybe SourceReferenceProperty
sourceReference = Maybe SourceReferenceProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties DefinitionRepositoryProperty where
  toResourceProperties :: DefinitionRepositoryProperty -> ResourceProperties
toResourceProperties DefinitionRepositoryProperty {Maybe (ValueList Text)
Maybe (Value Text)
Maybe SourceReferenceProperty
()
haddock_workaround_ :: DefinitionRepositoryProperty -> ()
connectionArn :: DefinitionRepositoryProperty -> Maybe (Value Text)
excludeFilePatterns :: DefinitionRepositoryProperty -> Maybe (ValueList Text)
fullRepositoryId :: DefinitionRepositoryProperty -> Maybe (Value Text)
sourceReference :: DefinitionRepositoryProperty -> Maybe SourceReferenceProperty
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
excludeFilePatterns :: Maybe (ValueList Text)
fullRepositoryId :: Maybe (Value Text)
sourceReference :: Maybe SourceReferenceProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Omics::WorkflowVersion.DefinitionRepository",
         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 -> 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
"connectionArn" (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)
connectionArn,
                            Key -> ValueList 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
"excludeFilePatterns" (ValueList Text -> (Key, Value))
-> Maybe (ValueList Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Text)
excludeFilePatterns,
                            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
"fullRepositoryId" (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)
fullRepositoryId,
                            Key -> SourceReferenceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"sourceReference" (SourceReferenceProperty -> (Key, Value))
-> Maybe SourceReferenceProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SourceReferenceProperty
sourceReference])}
instance JSON.ToJSON DefinitionRepositoryProperty where
  toJSON :: DefinitionRepositoryProperty -> Value
toJSON DefinitionRepositoryProperty {Maybe (ValueList Text)
Maybe (Value Text)
Maybe SourceReferenceProperty
()
haddock_workaround_ :: DefinitionRepositoryProperty -> ()
connectionArn :: DefinitionRepositoryProperty -> Maybe (Value Text)
excludeFilePatterns :: DefinitionRepositoryProperty -> Maybe (ValueList Text)
fullRepositoryId :: DefinitionRepositoryProperty -> Maybe (Value Text)
sourceReference :: DefinitionRepositoryProperty -> Maybe SourceReferenceProperty
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
excludeFilePatterns :: Maybe (ValueList Text)
fullRepositoryId :: Maybe (Value Text)
sourceReference :: Maybe SourceReferenceProperty
..}
    = [(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 -> 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
"connectionArn" (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)
connectionArn,
               Key -> ValueList 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
"excludeFilePatterns" (ValueList Text -> (Key, Value))
-> Maybe (ValueList Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Text)
excludeFilePatterns,
               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
"fullRepositoryId" (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)
fullRepositoryId,
               Key -> SourceReferenceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"sourceReference" (SourceReferenceProperty -> (Key, Value))
-> Maybe SourceReferenceProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SourceReferenceProperty
sourceReference]))
instance Property "connectionArn" DefinitionRepositoryProperty where
  type PropertyType "connectionArn" DefinitionRepositoryProperty = Value Prelude.Text
  set :: PropertyType "connectionArn" DefinitionRepositoryProperty
-> DefinitionRepositoryProperty -> DefinitionRepositoryProperty
set PropertyType "connectionArn" DefinitionRepositoryProperty
newValue DefinitionRepositoryProperty {Maybe (ValueList Text)
Maybe (Value Text)
Maybe SourceReferenceProperty
()
haddock_workaround_ :: DefinitionRepositoryProperty -> ()
connectionArn :: DefinitionRepositoryProperty -> Maybe (Value Text)
excludeFilePatterns :: DefinitionRepositoryProperty -> Maybe (ValueList Text)
fullRepositoryId :: DefinitionRepositoryProperty -> Maybe (Value Text)
sourceReference :: DefinitionRepositoryProperty -> Maybe SourceReferenceProperty
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
excludeFilePatterns :: Maybe (ValueList Text)
fullRepositoryId :: Maybe (Value Text)
sourceReference :: Maybe SourceReferenceProperty
..}
    = DefinitionRepositoryProperty
        {connectionArn :: Maybe (Value Text)
connectionArn = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "connectionArn" DefinitionRepositoryProperty
Value Text
newValue, Maybe (ValueList Text)
Maybe (Value Text)
Maybe SourceReferenceProperty
()
haddock_workaround_ :: ()
excludeFilePatterns :: Maybe (ValueList Text)
fullRepositoryId :: Maybe (Value Text)
sourceReference :: Maybe SourceReferenceProperty
haddock_workaround_ :: ()
excludeFilePatterns :: Maybe (ValueList Text)
fullRepositoryId :: Maybe (Value Text)
sourceReference :: Maybe SourceReferenceProperty
..}
instance Property "excludeFilePatterns" DefinitionRepositoryProperty where
  type PropertyType "excludeFilePatterns" DefinitionRepositoryProperty = ValueList Prelude.Text
  set :: PropertyType "excludeFilePatterns" DefinitionRepositoryProperty
-> DefinitionRepositoryProperty -> DefinitionRepositoryProperty
set PropertyType "excludeFilePatterns" DefinitionRepositoryProperty
newValue DefinitionRepositoryProperty {Maybe (ValueList Text)
Maybe (Value Text)
Maybe SourceReferenceProperty
()
haddock_workaround_ :: DefinitionRepositoryProperty -> ()
connectionArn :: DefinitionRepositoryProperty -> Maybe (Value Text)
excludeFilePatterns :: DefinitionRepositoryProperty -> Maybe (ValueList Text)
fullRepositoryId :: DefinitionRepositoryProperty -> Maybe (Value Text)
sourceReference :: DefinitionRepositoryProperty -> Maybe SourceReferenceProperty
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
excludeFilePatterns :: Maybe (ValueList Text)
fullRepositoryId :: Maybe (Value Text)
sourceReference :: Maybe SourceReferenceProperty
..}
    = DefinitionRepositoryProperty
        {excludeFilePatterns :: Maybe (ValueList Text)
excludeFilePatterns = ValueList Text -> Maybe (ValueList Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "excludeFilePatterns" DefinitionRepositoryProperty
ValueList Text
newValue, Maybe (Value Text)
Maybe SourceReferenceProperty
()
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
fullRepositoryId :: Maybe (Value Text)
sourceReference :: Maybe SourceReferenceProperty
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
fullRepositoryId :: Maybe (Value Text)
sourceReference :: Maybe SourceReferenceProperty
..}
instance Property "fullRepositoryId" DefinitionRepositoryProperty where
  type PropertyType "fullRepositoryId" DefinitionRepositoryProperty = Value Prelude.Text
  set :: PropertyType "fullRepositoryId" DefinitionRepositoryProperty
-> DefinitionRepositoryProperty -> DefinitionRepositoryProperty
set PropertyType "fullRepositoryId" DefinitionRepositoryProperty
newValue DefinitionRepositoryProperty {Maybe (ValueList Text)
Maybe (Value Text)
Maybe SourceReferenceProperty
()
haddock_workaround_ :: DefinitionRepositoryProperty -> ()
connectionArn :: DefinitionRepositoryProperty -> Maybe (Value Text)
excludeFilePatterns :: DefinitionRepositoryProperty -> Maybe (ValueList Text)
fullRepositoryId :: DefinitionRepositoryProperty -> Maybe (Value Text)
sourceReference :: DefinitionRepositoryProperty -> Maybe SourceReferenceProperty
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
excludeFilePatterns :: Maybe (ValueList Text)
fullRepositoryId :: Maybe (Value Text)
sourceReference :: Maybe SourceReferenceProperty
..}
    = DefinitionRepositoryProperty
        {fullRepositoryId :: Maybe (Value Text)
fullRepositoryId = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "fullRepositoryId" DefinitionRepositoryProperty
Value Text
newValue, Maybe (ValueList Text)
Maybe (Value Text)
Maybe SourceReferenceProperty
()
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
excludeFilePatterns :: Maybe (ValueList Text)
sourceReference :: Maybe SourceReferenceProperty
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
excludeFilePatterns :: Maybe (ValueList Text)
sourceReference :: Maybe SourceReferenceProperty
..}
instance Property "sourceReference" DefinitionRepositoryProperty where
  type PropertyType "sourceReference" DefinitionRepositoryProperty = SourceReferenceProperty
  set :: PropertyType "sourceReference" DefinitionRepositoryProperty
-> DefinitionRepositoryProperty -> DefinitionRepositoryProperty
set PropertyType "sourceReference" DefinitionRepositoryProperty
newValue DefinitionRepositoryProperty {Maybe (ValueList Text)
Maybe (Value Text)
Maybe SourceReferenceProperty
()
haddock_workaround_ :: DefinitionRepositoryProperty -> ()
connectionArn :: DefinitionRepositoryProperty -> Maybe (Value Text)
excludeFilePatterns :: DefinitionRepositoryProperty -> Maybe (ValueList Text)
fullRepositoryId :: DefinitionRepositoryProperty -> Maybe (Value Text)
sourceReference :: DefinitionRepositoryProperty -> Maybe SourceReferenceProperty
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
excludeFilePatterns :: Maybe (ValueList Text)
fullRepositoryId :: Maybe (Value Text)
sourceReference :: Maybe SourceReferenceProperty
..}
    = DefinitionRepositoryProperty
        {sourceReference :: Maybe SourceReferenceProperty
sourceReference = SourceReferenceProperty -> Maybe SourceReferenceProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "sourceReference" DefinitionRepositoryProperty
SourceReferenceProperty
newValue, Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
excludeFilePatterns :: Maybe (ValueList Text)
fullRepositoryId :: Maybe (Value Text)
haddock_workaround_ :: ()
connectionArn :: Maybe (Value Text)
excludeFilePatterns :: Maybe (ValueList Text)
fullRepositoryId :: Maybe (Value Text)
..}