module Stratosphere.EC2.EnclaveCertificateIamRoleAssociation (
        EnclaveCertificateIamRoleAssociation(..),
        mkEnclaveCertificateIamRoleAssociation
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data EnclaveCertificateIamRoleAssociation
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html>
    EnclaveCertificateIamRoleAssociation {EnclaveCertificateIamRoleAssociation -> ()
haddock_workaround_ :: (),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html#cfn-ec2-enclavecertificateiamroleassociation-certificatearn>
                                          EnclaveCertificateIamRoleAssociation -> Value Text
certificateArn :: (Value Prelude.Text),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html#cfn-ec2-enclavecertificateiamroleassociation-rolearn>
                                          EnclaveCertificateIamRoleAssociation -> Value Text
roleArn :: (Value Prelude.Text)}
  deriving stock (EnclaveCertificateIamRoleAssociation
-> EnclaveCertificateIamRoleAssociation -> Bool
(EnclaveCertificateIamRoleAssociation
 -> EnclaveCertificateIamRoleAssociation -> Bool)
-> (EnclaveCertificateIamRoleAssociation
    -> EnclaveCertificateIamRoleAssociation -> Bool)
-> Eq EnclaveCertificateIamRoleAssociation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EnclaveCertificateIamRoleAssociation
-> EnclaveCertificateIamRoleAssociation -> Bool
== :: EnclaveCertificateIamRoleAssociation
-> EnclaveCertificateIamRoleAssociation -> Bool
$c/= :: EnclaveCertificateIamRoleAssociation
-> EnclaveCertificateIamRoleAssociation -> Bool
/= :: EnclaveCertificateIamRoleAssociation
-> EnclaveCertificateIamRoleAssociation -> Bool
Prelude.Eq, Int -> EnclaveCertificateIamRoleAssociation -> ShowS
[EnclaveCertificateIamRoleAssociation] -> ShowS
EnclaveCertificateIamRoleAssociation -> String
(Int -> EnclaveCertificateIamRoleAssociation -> ShowS)
-> (EnclaveCertificateIamRoleAssociation -> String)
-> ([EnclaveCertificateIamRoleAssociation] -> ShowS)
-> Show EnclaveCertificateIamRoleAssociation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> EnclaveCertificateIamRoleAssociation -> ShowS
showsPrec :: Int -> EnclaveCertificateIamRoleAssociation -> ShowS
$cshow :: EnclaveCertificateIamRoleAssociation -> String
show :: EnclaveCertificateIamRoleAssociation -> String
$cshowList :: [EnclaveCertificateIamRoleAssociation] -> ShowS
showList :: [EnclaveCertificateIamRoleAssociation] -> ShowS
Prelude.Show)
mkEnclaveCertificateIamRoleAssociation ::
  Value Prelude.Text
  -> Value Prelude.Text -> EnclaveCertificateIamRoleAssociation
mkEnclaveCertificateIamRoleAssociation :: Value Text -> Value Text -> EnclaveCertificateIamRoleAssociation
mkEnclaveCertificateIamRoleAssociation Value Text
certificateArn Value Text
roleArn
  = EnclaveCertificateIamRoleAssociation
      {haddock_workaround_ :: ()
haddock_workaround_ = (), certificateArn :: Value Text
certificateArn = Value Text
certificateArn,
       roleArn :: Value Text
roleArn = Value Text
roleArn}
instance ToResourceProperties EnclaveCertificateIamRoleAssociation where
  toResourceProperties :: EnclaveCertificateIamRoleAssociation -> ResourceProperties
toResourceProperties EnclaveCertificateIamRoleAssociation {()
Value Text
haddock_workaround_ :: EnclaveCertificateIamRoleAssociation -> ()
certificateArn :: EnclaveCertificateIamRoleAssociation -> Value Text
roleArn :: EnclaveCertificateIamRoleAssociation -> Value Text
haddock_workaround_ :: ()
certificateArn :: Value Text
roleArn :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::EC2::EnclaveCertificateIamRoleAssociation",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"CertificateArn" 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
certificateArn,
                       Key
"RoleArn" 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
roleArn]}
instance JSON.ToJSON EnclaveCertificateIamRoleAssociation where
  toJSON :: EnclaveCertificateIamRoleAssociation -> Value
toJSON EnclaveCertificateIamRoleAssociation {()
Value Text
haddock_workaround_ :: EnclaveCertificateIamRoleAssociation -> ()
certificateArn :: EnclaveCertificateIamRoleAssociation -> Value Text
roleArn :: EnclaveCertificateIamRoleAssociation -> Value Text
haddock_workaround_ :: ()
certificateArn :: Value Text
roleArn :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"CertificateArn" 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
certificateArn,
         Key
"RoleArn" 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
roleArn]
instance Property "CertificateArn" EnclaveCertificateIamRoleAssociation where
  type PropertyType "CertificateArn" EnclaveCertificateIamRoleAssociation = Value Prelude.Text
  set :: PropertyType "CertificateArn" EnclaveCertificateIamRoleAssociation
-> EnclaveCertificateIamRoleAssociation
-> EnclaveCertificateIamRoleAssociation
set PropertyType "CertificateArn" EnclaveCertificateIamRoleAssociation
newValue EnclaveCertificateIamRoleAssociation {()
Value Text
haddock_workaround_ :: EnclaveCertificateIamRoleAssociation -> ()
certificateArn :: EnclaveCertificateIamRoleAssociation -> Value Text
roleArn :: EnclaveCertificateIamRoleAssociation -> Value Text
haddock_workaround_ :: ()
certificateArn :: Value Text
roleArn :: Value Text
..}
    = EnclaveCertificateIamRoleAssociation
        {certificateArn :: Value Text
certificateArn = PropertyType "CertificateArn" EnclaveCertificateIamRoleAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
roleArn :: Value Text
haddock_workaround_ :: ()
roleArn :: Value Text
..}
instance Property "RoleArn" EnclaveCertificateIamRoleAssociation where
  type PropertyType "RoleArn" EnclaveCertificateIamRoleAssociation = Value Prelude.Text
  set :: PropertyType "RoleArn" EnclaveCertificateIamRoleAssociation
-> EnclaveCertificateIamRoleAssociation
-> EnclaveCertificateIamRoleAssociation
set PropertyType "RoleArn" EnclaveCertificateIamRoleAssociation
newValue EnclaveCertificateIamRoleAssociation {()
Value Text
haddock_workaround_ :: EnclaveCertificateIamRoleAssociation -> ()
certificateArn :: EnclaveCertificateIamRoleAssociation -> Value Text
roleArn :: EnclaveCertificateIamRoleAssociation -> Value Text
haddock_workaround_ :: ()
certificateArn :: Value Text
roleArn :: Value Text
..}
    = EnclaveCertificateIamRoleAssociation {roleArn :: Value Text
roleArn = PropertyType "RoleArn" EnclaveCertificateIamRoleAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
certificateArn :: Value Text
haddock_workaround_ :: ()
certificateArn :: Value Text
..}