module Stratosphere.SSO.Assignment (
        Assignment(..), mkAssignment
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data Assignment
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html>
    Assignment {Assignment -> ()
haddock_workaround_ :: (),
                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-instancearn>
                Assignment -> Value Text
instanceArn :: (Value Prelude.Text),
                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-permissionsetarn>
                Assignment -> Value Text
permissionSetArn :: (Value Prelude.Text),
                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-principalid>
                Assignment -> Value Text
principalId :: (Value Prelude.Text),
                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-principaltype>
                Assignment -> Value Text
principalType :: (Value Prelude.Text),
                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-targetid>
                Assignment -> Value Text
targetId :: (Value Prelude.Text),
                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html#cfn-sso-assignment-targettype>
                Assignment -> Value Text
targetType :: (Value Prelude.Text)}
  deriving stock (Assignment -> Assignment -> Bool
(Assignment -> Assignment -> Bool)
-> (Assignment -> Assignment -> Bool) -> Eq Assignment
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Assignment -> Assignment -> Bool
== :: Assignment -> Assignment -> Bool
$c/= :: Assignment -> Assignment -> Bool
/= :: Assignment -> Assignment -> Bool
Prelude.Eq, Int -> Assignment -> ShowS
[Assignment] -> ShowS
Assignment -> String
(Int -> Assignment -> ShowS)
-> (Assignment -> String)
-> ([Assignment] -> ShowS)
-> Show Assignment
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Assignment -> ShowS
showsPrec :: Int -> Assignment -> ShowS
$cshow :: Assignment -> String
show :: Assignment -> String
$cshowList :: [Assignment] -> ShowS
showList :: [Assignment] -> ShowS
Prelude.Show)
mkAssignment ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text
        -> Value Prelude.Text
           -> Value Prelude.Text -> Value Prelude.Text -> Assignment
mkAssignment :: Value Text
-> Value Text
-> Value Text
-> Value Text
-> Value Text
-> Value Text
-> Assignment
mkAssignment
  Value Text
instanceArn
  Value Text
permissionSetArn
  Value Text
principalId
  Value Text
principalType
  Value Text
targetId
  Value Text
targetType
  = Assignment
      {haddock_workaround_ :: ()
haddock_workaround_ = (), instanceArn :: Value Text
instanceArn = Value Text
instanceArn,
       permissionSetArn :: Value Text
permissionSetArn = Value Text
permissionSetArn, principalId :: Value Text
principalId = Value Text
principalId,
       principalType :: Value Text
principalType = Value Text
principalType, targetId :: Value Text
targetId = Value Text
targetId,
       targetType :: Value Text
targetType = Value Text
targetType}
instance ToResourceProperties Assignment where
  toResourceProperties :: Assignment -> ResourceProperties
toResourceProperties Assignment {()
Value Text
haddock_workaround_ :: Assignment -> ()
instanceArn :: Assignment -> Value Text
permissionSetArn :: Assignment -> Value Text
principalId :: Assignment -> Value Text
principalType :: Assignment -> Value Text
targetId :: Assignment -> Value Text
targetType :: Assignment -> Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::SSO::Assignment", supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"InstanceArn" 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
instanceArn,
                       Key
"PermissionSetArn" 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
permissionSetArn,
                       Key
"PrincipalId" 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
principalId,
                       Key
"PrincipalType" 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
principalType, Key
"TargetId" 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
targetId,
                       Key
"TargetType" 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
targetType]}
instance JSON.ToJSON Assignment where
  toJSON :: Assignment -> Value
toJSON Assignment {()
Value Text
haddock_workaround_ :: Assignment -> ()
instanceArn :: Assignment -> Value Text
permissionSetArn :: Assignment -> Value Text
principalId :: Assignment -> Value Text
principalType :: Assignment -> Value Text
targetId :: Assignment -> Value Text
targetType :: Assignment -> Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"InstanceArn" 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
instanceArn,
         Key
"PermissionSetArn" 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
permissionSetArn,
         Key
"PrincipalId" 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
principalId,
         Key
"PrincipalType" 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
principalType, Key
"TargetId" 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
targetId,
         Key
"TargetType" 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
targetType]
instance Property "InstanceArn" Assignment where
  type PropertyType "InstanceArn" Assignment = Value Prelude.Text
  set :: PropertyType "InstanceArn" Assignment -> Assignment -> Assignment
set PropertyType "InstanceArn" Assignment
newValue Assignment {()
Value Text
haddock_workaround_ :: Assignment -> ()
instanceArn :: Assignment -> Value Text
permissionSetArn :: Assignment -> Value Text
principalId :: Assignment -> Value Text
principalType :: Assignment -> Value Text
targetId :: Assignment -> Value Text
targetType :: Assignment -> Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
..}
    = Assignment {instanceArn :: Value Text
instanceArn = PropertyType "InstanceArn" Assignment
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
haddock_workaround_ :: ()
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
..}
instance Property "PermissionSetArn" Assignment where
  type PropertyType "PermissionSetArn" Assignment = Value Prelude.Text
  set :: PropertyType "PermissionSetArn" Assignment
-> Assignment -> Assignment
set PropertyType "PermissionSetArn" Assignment
newValue Assignment {()
Value Text
haddock_workaround_ :: Assignment -> ()
instanceArn :: Assignment -> Value Text
permissionSetArn :: Assignment -> Value Text
principalId :: Assignment -> Value Text
principalType :: Assignment -> Value Text
targetId :: Assignment -> Value Text
targetType :: Assignment -> Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
..}
    = Assignment {permissionSetArn :: Value Text
permissionSetArn = PropertyType "PermissionSetArn" Assignment
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
..}
instance Property "PrincipalId" Assignment where
  type PropertyType "PrincipalId" Assignment = Value Prelude.Text
  set :: PropertyType "PrincipalId" Assignment -> Assignment -> Assignment
set PropertyType "PrincipalId" Assignment
newValue Assignment {()
Value Text
haddock_workaround_ :: Assignment -> ()
instanceArn :: Assignment -> Value Text
permissionSetArn :: Assignment -> Value Text
principalId :: Assignment -> Value Text
principalType :: Assignment -> Value Text
targetId :: Assignment -> Value Text
targetType :: Assignment -> Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
..}
    = Assignment {principalId :: Value Text
principalId = PropertyType "PrincipalId" Assignment
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
..}
instance Property "PrincipalType" Assignment where
  type PropertyType "PrincipalType" Assignment = Value Prelude.Text
  set :: PropertyType "PrincipalType" Assignment -> Assignment -> Assignment
set PropertyType "PrincipalType" Assignment
newValue Assignment {()
Value Text
haddock_workaround_ :: Assignment -> ()
instanceArn :: Assignment -> Value Text
permissionSetArn :: Assignment -> Value Text
principalId :: Assignment -> Value Text
principalType :: Assignment -> Value Text
targetId :: Assignment -> Value Text
targetType :: Assignment -> Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
..}
    = Assignment {principalType :: Value Text
principalType = PropertyType "PrincipalType" Assignment
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
targetId :: Value Text
targetType :: Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
targetId :: Value Text
targetType :: Value Text
..}
instance Property "TargetId" Assignment where
  type PropertyType "TargetId" Assignment = Value Prelude.Text
  set :: PropertyType "TargetId" Assignment -> Assignment -> Assignment
set PropertyType "TargetId" Assignment
newValue Assignment {()
Value Text
haddock_workaround_ :: Assignment -> ()
instanceArn :: Assignment -> Value Text
permissionSetArn :: Assignment -> Value Text
principalId :: Assignment -> Value Text
principalType :: Assignment -> Value Text
targetId :: Assignment -> Value Text
targetType :: Assignment -> Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
..} = Assignment {targetId :: Value Text
targetId = PropertyType "TargetId" Assignment
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetType :: Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetType :: Value Text
..}
instance Property "TargetType" Assignment where
  type PropertyType "TargetType" Assignment = Value Prelude.Text
  set :: PropertyType "TargetType" Assignment -> Assignment -> Assignment
set PropertyType "TargetType" Assignment
newValue Assignment {()
Value Text
haddock_workaround_ :: Assignment -> ()
instanceArn :: Assignment -> Value Text
permissionSetArn :: Assignment -> Value Text
principalId :: Assignment -> Value Text
principalType :: Assignment -> Value Text
targetId :: Assignment -> Value Text
targetType :: Assignment -> Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
targetType :: Value Text
..}
    = Assignment {targetType :: Value Text
targetType = PropertyType "TargetType" Assignment
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
haddock_workaround_ :: ()
instanceArn :: Value Text
permissionSetArn :: Value Text
principalId :: Value Text
principalType :: Value Text
targetId :: Value Text
..}