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