module Stratosphere.ServiceCatalogAppRegistry.ResourceAssociation (
        ResourceAssociation(..), mkResourceAssociation
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ResourceAssociation
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html>
    ResourceAssociation {ResourceAssociation -> ()
haddock_workaround_ :: (),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html#cfn-servicecatalogappregistry-resourceassociation-application>
                         ResourceAssociation -> Value Text
application :: (Value Prelude.Text),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html#cfn-servicecatalogappregistry-resourceassociation-resource>
                         ResourceAssociation -> Value Text
resource :: (Value Prelude.Text),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html#cfn-servicecatalogappregistry-resourceassociation-resourcetype>
                         ResourceAssociation -> Value Text
resourceType :: (Value Prelude.Text)}
  deriving stock (ResourceAssociation -> ResourceAssociation -> Bool
(ResourceAssociation -> ResourceAssociation -> Bool)
-> (ResourceAssociation -> ResourceAssociation -> Bool)
-> Eq ResourceAssociation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ResourceAssociation -> ResourceAssociation -> Bool
== :: ResourceAssociation -> ResourceAssociation -> Bool
$c/= :: ResourceAssociation -> ResourceAssociation -> Bool
/= :: ResourceAssociation -> ResourceAssociation -> Bool
Prelude.Eq, Int -> ResourceAssociation -> ShowS
[ResourceAssociation] -> ShowS
ResourceAssociation -> String
(Int -> ResourceAssociation -> ShowS)
-> (ResourceAssociation -> String)
-> ([ResourceAssociation] -> ShowS)
-> Show ResourceAssociation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ResourceAssociation -> ShowS
showsPrec :: Int -> ResourceAssociation -> ShowS
$cshow :: ResourceAssociation -> String
show :: ResourceAssociation -> String
$cshowList :: [ResourceAssociation] -> ShowS
showList :: [ResourceAssociation] -> ShowS
Prelude.Show)
mkResourceAssociation ::
  Value Prelude.Text
  -> Value Prelude.Text -> Value Prelude.Text -> ResourceAssociation
mkResourceAssociation :: Value Text -> Value Text -> Value Text -> ResourceAssociation
mkResourceAssociation Value Text
application Value Text
resource Value Text
resourceType
  = ResourceAssociation
      {haddock_workaround_ :: ()
haddock_workaround_ = (), application :: Value Text
application = Value Text
application,
       resource :: Value Text
resource = Value Text
resource, resourceType :: Value Text
resourceType = Value Text
resourceType}
instance ToResourceProperties ResourceAssociation where
  toResourceProperties :: ResourceAssociation -> ResourceProperties
toResourceProperties ResourceAssociation {()
Value Text
haddock_workaround_ :: ResourceAssociation -> ()
application :: ResourceAssociation -> Value Text
resource :: ResourceAssociation -> Value Text
resourceType :: ResourceAssociation -> Value Text
haddock_workaround_ :: ()
application :: Value Text
resource :: Value Text
resourceType :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ServiceCatalogAppRegistry::ResourceAssociation",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Application" 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
application,
                       Key
"Resource" 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
resource, Key
"ResourceType" 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
resourceType]}
instance JSON.ToJSON ResourceAssociation where
  toJSON :: ResourceAssociation -> Value
toJSON ResourceAssociation {()
Value Text
haddock_workaround_ :: ResourceAssociation -> ()
application :: ResourceAssociation -> Value Text
resource :: ResourceAssociation -> Value Text
resourceType :: ResourceAssociation -> Value Text
haddock_workaround_ :: ()
application :: Value Text
resource :: Value Text
resourceType :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Application" 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
application, Key
"Resource" 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
resource,
         Key
"ResourceType" 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
resourceType]
instance Property "Application" ResourceAssociation where
  type PropertyType "Application" ResourceAssociation = Value Prelude.Text
  set :: PropertyType "Application" ResourceAssociation
-> ResourceAssociation -> ResourceAssociation
set PropertyType "Application" ResourceAssociation
newValue ResourceAssociation {()
Value Text
haddock_workaround_ :: ResourceAssociation -> ()
application :: ResourceAssociation -> Value Text
resource :: ResourceAssociation -> Value Text
resourceType :: ResourceAssociation -> Value Text
haddock_workaround_ :: ()
application :: Value Text
resource :: Value Text
resourceType :: Value Text
..}
    = ResourceAssociation {application :: Value Text
application = PropertyType "Application" ResourceAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
resource :: Value Text
resourceType :: Value Text
haddock_workaround_ :: ()
resource :: Value Text
resourceType :: Value Text
..}
instance Property "Resource" ResourceAssociation where
  type PropertyType "Resource" ResourceAssociation = Value Prelude.Text
  set :: PropertyType "Resource" ResourceAssociation
-> ResourceAssociation -> ResourceAssociation
set PropertyType "Resource" ResourceAssociation
newValue ResourceAssociation {()
Value Text
haddock_workaround_ :: ResourceAssociation -> ()
application :: ResourceAssociation -> Value Text
resource :: ResourceAssociation -> Value Text
resourceType :: ResourceAssociation -> Value Text
haddock_workaround_ :: ()
application :: Value Text
resource :: Value Text
resourceType :: Value Text
..}
    = ResourceAssociation {resource :: Value Text
resource = PropertyType "Resource" ResourceAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
application :: Value Text
resourceType :: Value Text
haddock_workaround_ :: ()
application :: Value Text
resourceType :: Value Text
..}
instance Property "ResourceType" ResourceAssociation where
  type PropertyType "ResourceType" ResourceAssociation = Value Prelude.Text
  set :: PropertyType "ResourceType" ResourceAssociation
-> ResourceAssociation -> ResourceAssociation
set PropertyType "ResourceType" ResourceAssociation
newValue ResourceAssociation {()
Value Text
haddock_workaround_ :: ResourceAssociation -> ()
application :: ResourceAssociation -> Value Text
resource :: ResourceAssociation -> Value Text
resourceType :: ResourceAssociation -> Value Text
haddock_workaround_ :: ()
application :: Value Text
resource :: Value Text
resourceType :: Value Text
..}
    = ResourceAssociation {resourceType :: Value Text
resourceType = PropertyType "ResourceType" ResourceAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
application :: Value Text
resource :: Value Text
haddock_workaround_ :: ()
application :: Value Text
resource :: Value Text
..}