module Stratosphere.Cognito.UserPoolUserToGroupAttachment (
        UserPoolUserToGroupAttachment(..), mkUserPoolUserToGroupAttachment
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data UserPoolUserToGroupAttachment
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html>
    UserPoolUserToGroupAttachment {UserPoolUserToGroupAttachment -> ()
haddock_workaround_ :: (),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-groupname>
                                   UserPoolUserToGroupAttachment -> Value Text
groupName :: (Value Prelude.Text),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-userpoolid>
                                   UserPoolUserToGroupAttachment -> Value Text
userPoolId :: (Value Prelude.Text),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-username>
                                   UserPoolUserToGroupAttachment -> Value Text
username :: (Value Prelude.Text)}
  deriving stock (UserPoolUserToGroupAttachment
-> UserPoolUserToGroupAttachment -> Bool
(UserPoolUserToGroupAttachment
 -> UserPoolUserToGroupAttachment -> Bool)
-> (UserPoolUserToGroupAttachment
    -> UserPoolUserToGroupAttachment -> Bool)
-> Eq UserPoolUserToGroupAttachment
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: UserPoolUserToGroupAttachment
-> UserPoolUserToGroupAttachment -> Bool
== :: UserPoolUserToGroupAttachment
-> UserPoolUserToGroupAttachment -> Bool
$c/= :: UserPoolUserToGroupAttachment
-> UserPoolUserToGroupAttachment -> Bool
/= :: UserPoolUserToGroupAttachment
-> UserPoolUserToGroupAttachment -> Bool
Prelude.Eq, Int -> UserPoolUserToGroupAttachment -> ShowS
[UserPoolUserToGroupAttachment] -> ShowS
UserPoolUserToGroupAttachment -> String
(Int -> UserPoolUserToGroupAttachment -> ShowS)
-> (UserPoolUserToGroupAttachment -> String)
-> ([UserPoolUserToGroupAttachment] -> ShowS)
-> Show UserPoolUserToGroupAttachment
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> UserPoolUserToGroupAttachment -> ShowS
showsPrec :: Int -> UserPoolUserToGroupAttachment -> ShowS
$cshow :: UserPoolUserToGroupAttachment -> String
show :: UserPoolUserToGroupAttachment -> String
$cshowList :: [UserPoolUserToGroupAttachment] -> ShowS
showList :: [UserPoolUserToGroupAttachment] -> ShowS
Prelude.Show)
mkUserPoolUserToGroupAttachment ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text -> UserPoolUserToGroupAttachment
mkUserPoolUserToGroupAttachment :: Value Text
-> Value Text -> Value Text -> UserPoolUserToGroupAttachment
mkUserPoolUserToGroupAttachment Value Text
groupName Value Text
userPoolId Value Text
username
  = UserPoolUserToGroupAttachment
      {haddock_workaround_ :: ()
haddock_workaround_ = (), groupName :: Value Text
groupName = Value Text
groupName,
       userPoolId :: Value Text
userPoolId = Value Text
userPoolId, username :: Value Text
username = Value Text
username}
instance ToResourceProperties UserPoolUserToGroupAttachment where
  toResourceProperties :: UserPoolUserToGroupAttachment -> ResourceProperties
toResourceProperties UserPoolUserToGroupAttachment {()
Value Text
haddock_workaround_ :: UserPoolUserToGroupAttachment -> ()
groupName :: UserPoolUserToGroupAttachment -> Value Text
userPoolId :: UserPoolUserToGroupAttachment -> Value Text
username :: UserPoolUserToGroupAttachment -> Value Text
haddock_workaround_ :: ()
groupName :: Value Text
userPoolId :: Value Text
username :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Cognito::UserPoolUserToGroupAttachment",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"GroupName" 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
groupName,
                       Key
"UserPoolId" 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
userPoolId, Key
"Username" 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
username]}
instance JSON.ToJSON UserPoolUserToGroupAttachment where
  toJSON :: UserPoolUserToGroupAttachment -> Value
toJSON UserPoolUserToGroupAttachment {()
Value Text
haddock_workaround_ :: UserPoolUserToGroupAttachment -> ()
groupName :: UserPoolUserToGroupAttachment -> Value Text
userPoolId :: UserPoolUserToGroupAttachment -> Value Text
username :: UserPoolUserToGroupAttachment -> Value Text
haddock_workaround_ :: ()
groupName :: Value Text
userPoolId :: Value Text
username :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"GroupName" 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
groupName, Key
"UserPoolId" 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
userPoolId,
         Key
"Username" 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
username]
instance Property "GroupName" UserPoolUserToGroupAttachment where
  type PropertyType "GroupName" UserPoolUserToGroupAttachment = Value Prelude.Text
  set :: PropertyType "GroupName" UserPoolUserToGroupAttachment
-> UserPoolUserToGroupAttachment -> UserPoolUserToGroupAttachment
set PropertyType "GroupName" UserPoolUserToGroupAttachment
newValue UserPoolUserToGroupAttachment {()
Value Text
haddock_workaround_ :: UserPoolUserToGroupAttachment -> ()
groupName :: UserPoolUserToGroupAttachment -> Value Text
userPoolId :: UserPoolUserToGroupAttachment -> Value Text
username :: UserPoolUserToGroupAttachment -> Value Text
haddock_workaround_ :: ()
groupName :: Value Text
userPoolId :: Value Text
username :: Value Text
..}
    = UserPoolUserToGroupAttachment {groupName :: Value Text
groupName = PropertyType "GroupName" UserPoolUserToGroupAttachment
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
userPoolId :: Value Text
username :: Value Text
haddock_workaround_ :: ()
userPoolId :: Value Text
username :: Value Text
..}
instance Property "UserPoolId" UserPoolUserToGroupAttachment where
  type PropertyType "UserPoolId" UserPoolUserToGroupAttachment = Value Prelude.Text
  set :: PropertyType "UserPoolId" UserPoolUserToGroupAttachment
-> UserPoolUserToGroupAttachment -> UserPoolUserToGroupAttachment
set PropertyType "UserPoolId" UserPoolUserToGroupAttachment
newValue UserPoolUserToGroupAttachment {()
Value Text
haddock_workaround_ :: UserPoolUserToGroupAttachment -> ()
groupName :: UserPoolUserToGroupAttachment -> Value Text
userPoolId :: UserPoolUserToGroupAttachment -> Value Text
username :: UserPoolUserToGroupAttachment -> Value Text
haddock_workaround_ :: ()
groupName :: Value Text
userPoolId :: Value Text
username :: Value Text
..}
    = UserPoolUserToGroupAttachment {userPoolId :: Value Text
userPoolId = PropertyType "UserPoolId" UserPoolUserToGroupAttachment
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
groupName :: Value Text
username :: Value Text
haddock_workaround_ :: ()
groupName :: Value Text
username :: Value Text
..}
instance Property "Username" UserPoolUserToGroupAttachment where
  type PropertyType "Username" UserPoolUserToGroupAttachment = Value Prelude.Text
  set :: PropertyType "Username" UserPoolUserToGroupAttachment
-> UserPoolUserToGroupAttachment -> UserPoolUserToGroupAttachment
set PropertyType "Username" UserPoolUserToGroupAttachment
newValue UserPoolUserToGroupAttachment {()
Value Text
haddock_workaround_ :: UserPoolUserToGroupAttachment -> ()
groupName :: UserPoolUserToGroupAttachment -> Value Text
userPoolId :: UserPoolUserToGroupAttachment -> Value Text
username :: UserPoolUserToGroupAttachment -> Value Text
haddock_workaround_ :: ()
groupName :: Value Text
userPoolId :: Value Text
username :: Value Text
..}
    = UserPoolUserToGroupAttachment {username :: Value Text
username = PropertyType "Username" UserPoolUserToGroupAttachment
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
groupName :: Value Text
userPoolId :: Value Text
haddock_workaround_ :: ()
groupName :: Value Text
userPoolId :: Value Text
..}