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