stratosphere-0.40.0: library-gen/Stratosphere/ResourceProperties/RDSDBInstanceDBInstanceRole.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html
module Stratosphere.ResourceProperties.RDSDBInstanceDBInstanceRole where
import Stratosphere.ResourceImports
-- | Full data type definition for RDSDBInstanceDBInstanceRole. See
-- 'rdsdbInstanceDBInstanceRole' for a more convenient constructor.
data RDSDBInstanceDBInstanceRole =
RDSDBInstanceDBInstanceRole
{ _rDSDBInstanceDBInstanceRoleFeatureName :: Val Text
, _rDSDBInstanceDBInstanceRoleRoleArn :: Val Text
, _rDSDBInstanceDBInstanceRoleStatus :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON RDSDBInstanceDBInstanceRole where
toJSON RDSDBInstanceDBInstanceRole{..} =
object $
catMaybes
[ (Just . ("FeatureName",) . toJSON) _rDSDBInstanceDBInstanceRoleFeatureName
, (Just . ("RoleArn",) . toJSON) _rDSDBInstanceDBInstanceRoleRoleArn
, fmap (("Status",) . toJSON) _rDSDBInstanceDBInstanceRoleStatus
]
-- | Constructor for 'RDSDBInstanceDBInstanceRole' containing required fields
-- as arguments.
rdsdbInstanceDBInstanceRole
:: Val Text -- ^ 'rdsdbidbirFeatureName'
-> Val Text -- ^ 'rdsdbidbirRoleArn'
-> RDSDBInstanceDBInstanceRole
rdsdbInstanceDBInstanceRole featureNamearg roleArnarg =
RDSDBInstanceDBInstanceRole
{ _rDSDBInstanceDBInstanceRoleFeatureName = featureNamearg
, _rDSDBInstanceDBInstanceRoleRoleArn = roleArnarg
, _rDSDBInstanceDBInstanceRoleStatus = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-featurename
rdsdbidbirFeatureName :: Lens' RDSDBInstanceDBInstanceRole (Val Text)
rdsdbidbirFeatureName = lens _rDSDBInstanceDBInstanceRoleFeatureName (\s a -> s { _rDSDBInstanceDBInstanceRoleFeatureName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-rolearn
rdsdbidbirRoleArn :: Lens' RDSDBInstanceDBInstanceRole (Val Text)
rdsdbidbirRoleArn = lens _rDSDBInstanceDBInstanceRoleRoleArn (\s a -> s { _rDSDBInstanceDBInstanceRoleRoleArn = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-status
rdsdbidbirStatus :: Lens' RDSDBInstanceDBInstanceRole (Maybe (Val Text))
rdsdbidbirStatus = lens _rDSDBInstanceDBInstanceRoleStatus (\s a -> s { _rDSDBInstanceDBInstanceRoleStatus = a })