module Network.AWS.EC2.ModifyImageAttribute
(
modifyImageAttribute
, ModifyImageAttribute
, miaAttribute
, miaUserIds
, miaUserGroups
, miaValue
, miaLaunchPermission
, miaOperationType
, miaProductCodes
, miaDescription
, miaDryRun
, miaImageId
, modifyImageAttributeResponse
, ModifyImageAttributeResponse
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ModifyImageAttribute = ModifyImageAttribute'
{ _miaAttribute :: !(Maybe Text)
, _miaUserIds :: !(Maybe [Text])
, _miaUserGroups :: !(Maybe [Text])
, _miaValue :: !(Maybe Text)
, _miaLaunchPermission :: !(Maybe LaunchPermissionModifications)
, _miaOperationType :: !(Maybe OperationType)
, _miaProductCodes :: !(Maybe [Text])
, _miaDescription :: !(Maybe AttributeValue)
, _miaDryRun :: !(Maybe Bool)
, _miaImageId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyImageAttribute
:: Text
-> ModifyImageAttribute
modifyImageAttribute pImageId_ =
ModifyImageAttribute'
{ _miaAttribute = Nothing
, _miaUserIds = Nothing
, _miaUserGroups = Nothing
, _miaValue = Nothing
, _miaLaunchPermission = Nothing
, _miaOperationType = Nothing
, _miaProductCodes = Nothing
, _miaDescription = Nothing
, _miaDryRun = Nothing
, _miaImageId = pImageId_
}
miaAttribute :: Lens' ModifyImageAttribute (Maybe Text)
miaAttribute = lens _miaAttribute (\ s a -> s{_miaAttribute = a});
miaUserIds :: Lens' ModifyImageAttribute [Text]
miaUserIds = lens _miaUserIds (\ s a -> s{_miaUserIds = a}) . _Default . _Coerce;
miaUserGroups :: Lens' ModifyImageAttribute [Text]
miaUserGroups = lens _miaUserGroups (\ s a -> s{_miaUserGroups = a}) . _Default . _Coerce;
miaValue :: Lens' ModifyImageAttribute (Maybe Text)
miaValue = lens _miaValue (\ s a -> s{_miaValue = a});
miaLaunchPermission :: Lens' ModifyImageAttribute (Maybe LaunchPermissionModifications)
miaLaunchPermission = lens _miaLaunchPermission (\ s a -> s{_miaLaunchPermission = a});
miaOperationType :: Lens' ModifyImageAttribute (Maybe OperationType)
miaOperationType = lens _miaOperationType (\ s a -> s{_miaOperationType = a});
miaProductCodes :: Lens' ModifyImageAttribute [Text]
miaProductCodes = lens _miaProductCodes (\ s a -> s{_miaProductCodes = a}) . _Default . _Coerce;
miaDescription :: Lens' ModifyImageAttribute (Maybe AttributeValue)
miaDescription = lens _miaDescription (\ s a -> s{_miaDescription = a});
miaDryRun :: Lens' ModifyImageAttribute (Maybe Bool)
miaDryRun = lens _miaDryRun (\ s a -> s{_miaDryRun = a});
miaImageId :: Lens' ModifyImageAttribute Text
miaImageId = lens _miaImageId (\ s a -> s{_miaImageId = a});
instance AWSRequest ModifyImageAttribute where
type Rs ModifyImageAttribute =
ModifyImageAttributeResponse
request = postQuery eC2
response = receiveNull ModifyImageAttributeResponse'
instance ToHeaders ModifyImageAttribute where
toHeaders = const mempty
instance ToPath ModifyImageAttribute where
toPath = const "/"
instance ToQuery ModifyImageAttribute where
toQuery ModifyImageAttribute'{..}
= mconcat
["Action" =: ("ModifyImageAttribute" :: ByteString),
"Version" =: ("2015-04-15" :: ByteString),
"Attribute" =: _miaAttribute,
toQuery (toQueryList "UserId" <$> _miaUserIds),
toQuery (toQueryList "UserGroup" <$> _miaUserGroups),
"Value" =: _miaValue,
"LaunchPermission" =: _miaLaunchPermission,
"OperationType" =: _miaOperationType,
toQuery
(toQueryList "ProductCode" <$> _miaProductCodes),
"Description" =: _miaDescription,
"DryRun" =: _miaDryRun, "ImageId" =: _miaImageId]
data ModifyImageAttributeResponse =
ModifyImageAttributeResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyImageAttributeResponse
:: ModifyImageAttributeResponse
modifyImageAttributeResponse = ModifyImageAttributeResponse'