module Stratosphere.DevOpsGuru.ResourceCollection (
        module Exports, ResourceCollection(..), mkResourceCollection
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.DevOpsGuru.ResourceCollection.ResourceCollectionFilterProperty as Exports
import Stratosphere.ResourceProperties
data ResourceCollection
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html>
    ResourceCollection {ResourceCollection -> ()
haddock_workaround_ :: (),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html#cfn-devopsguru-resourcecollection-resourcecollectionfilter>
                        ResourceCollection -> ResourceCollectionFilterProperty
resourceCollectionFilter :: ResourceCollectionFilterProperty}
  deriving stock (ResourceCollection -> ResourceCollection -> Bool
(ResourceCollection -> ResourceCollection -> Bool)
-> (ResourceCollection -> ResourceCollection -> Bool)
-> Eq ResourceCollection
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ResourceCollection -> ResourceCollection -> Bool
== :: ResourceCollection -> ResourceCollection -> Bool
$c/= :: ResourceCollection -> ResourceCollection -> Bool
/= :: ResourceCollection -> ResourceCollection -> Bool
Prelude.Eq, Int -> ResourceCollection -> ShowS
[ResourceCollection] -> ShowS
ResourceCollection -> String
(Int -> ResourceCollection -> ShowS)
-> (ResourceCollection -> String)
-> ([ResourceCollection] -> ShowS)
-> Show ResourceCollection
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ResourceCollection -> ShowS
showsPrec :: Int -> ResourceCollection -> ShowS
$cshow :: ResourceCollection -> String
show :: ResourceCollection -> String
$cshowList :: [ResourceCollection] -> ShowS
showList :: [ResourceCollection] -> ShowS
Prelude.Show)
mkResourceCollection ::
  ResourceCollectionFilterProperty -> ResourceCollection
mkResourceCollection :: ResourceCollectionFilterProperty -> ResourceCollection
mkResourceCollection ResourceCollectionFilterProperty
resourceCollectionFilter
  = ResourceCollection
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       resourceCollectionFilter :: ResourceCollectionFilterProperty
resourceCollectionFilter = ResourceCollectionFilterProperty
resourceCollectionFilter}
instance ToResourceProperties ResourceCollection where
  toResourceProperties :: ResourceCollection -> ResourceProperties
toResourceProperties ResourceCollection {()
ResourceCollectionFilterProperty
haddock_workaround_ :: ResourceCollection -> ()
resourceCollectionFilter :: ResourceCollection -> ResourceCollectionFilterProperty
haddock_workaround_ :: ()
resourceCollectionFilter :: ResourceCollectionFilterProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::DevOpsGuru::ResourceCollection",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ResourceCollectionFilter"
                         Key -> ResourceCollectionFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ResourceCollectionFilterProperty
resourceCollectionFilter]}
instance JSON.ToJSON ResourceCollection where
  toJSON :: ResourceCollection -> Value
toJSON ResourceCollection {()
ResourceCollectionFilterProperty
haddock_workaround_ :: ResourceCollection -> ()
resourceCollectionFilter :: ResourceCollection -> ResourceCollectionFilterProperty
haddock_workaround_ :: ()
resourceCollectionFilter :: ResourceCollectionFilterProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ResourceCollectionFilter" Key -> ResourceCollectionFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ResourceCollectionFilterProperty
resourceCollectionFilter]
instance Property "ResourceCollectionFilter" ResourceCollection where
  type PropertyType "ResourceCollectionFilter" ResourceCollection = ResourceCollectionFilterProperty
  set :: PropertyType "ResourceCollectionFilter" ResourceCollection
-> ResourceCollection -> ResourceCollection
set PropertyType "ResourceCollectionFilter" ResourceCollection
newValue ResourceCollection {()
ResourceCollectionFilterProperty
haddock_workaround_ :: ResourceCollection -> ()
resourceCollectionFilter :: ResourceCollection -> ResourceCollectionFilterProperty
haddock_workaround_ :: ()
resourceCollectionFilter :: ResourceCollectionFilterProperty
..}
    = ResourceCollection {resourceCollectionFilter :: ResourceCollectionFilterProperty
resourceCollectionFilter = PropertyType "ResourceCollectionFilter" ResourceCollection
ResourceCollectionFilterProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}