{-# LANGUAGE FlexibleContexts, Rank2Types #-}moduleAWS.EC2.NetworkInterfaceAttribute(describeNetworkInterfaceDescription,describeNetworkInterfaceGroupSet,describeNetworkInterfaceSourceDestCheck,describeNetworkInterfaceAttachment,modifyNetworkInterfaceDescription,modifyNetworkInterfaceSecurityGroup,modifyNetworkInterfaceSourceDestCheck,modifyNetworkInterfaceAttachment,resetNetworkInterfaceSourceDestCheck)whereimportData.Text(Text)importData.Conduit(Consumer,MonadBaseControl,MonadResource)importData.XML.Types(Event)importAWS.EC2.Internal(EC2,groupSetSink,networkInterfaceAttachmentSink)importAWS.EC2.QueryimportAWS.EC2.Types(Group,NetworkInterfaceAttachment(..))importAWS.Lib.Parser(element,getT,getT_)importAWS.Util(toText)describeNetworkInterfaceDescription::(MonadBaseControlIOm,MonadResourcem)=>Text-- ^ The ID of the network interface.->EC2m(MaybeText)describeNetworkInterfaceDescription=describeNetworkInterfaceAttribute"description"$element"description"$getT"value"describeNetworkInterfaceGroupSet::(MonadBaseControlIOm,MonadResourcem)=>Text-- ^ The ID of the network interface.->EC2m[Group]describeNetworkInterfaceGroupSet=describeNetworkInterfaceAttribute"groupSet"groupSetSinkdescribeNetworkInterfaceSourceDestCheck::(MonadBaseControlIOm,MonadResourcem)=>Text-- ^ The ID of the network interface.->EC2mBooldescribeNetworkInterfaceSourceDestCheck=describeNetworkInterfaceAttribute"sourceDestCheck"$element"sourceDestCheck"$getT"value"describeNetworkInterfaceAttachment::(MonadBaseControlIOm,MonadResourcem)=>Text-- ^ The ID of the network interface.->EC2m(MaybeNetworkInterfaceAttachment)describeNetworkInterfaceAttachment=describeNetworkInterfaceAttribute"attachment"networkInterfaceAttachmentSinkdescribeNetworkInterfaceAttribute::(MonadBaseControlIOm,MonadResourcem)=>Text->ConsumerEventma->Text->EC2madescribeNetworkInterfaceAttributeactionsinknetworkInterface=ec2Query"DescribeNetworkInterfaceAttribute"params$getT_"networkInterfaceId">>sinkwhereparams=["NetworkInterfaceId"|=networkInterface,"Attribute"|=action]modifyNetworkInterfaceDescription::(MonadBaseControlIOm,MonadResourcem)=>Text-- ^ The ID of the network interface.->Text-- ^ The description of the network interface.->EC2mBoolmodifyNetworkInterfaceDescriptionifacedesc=modifyNetworkInterfaceAttributeiface["Description.Value"|=desc]modifyNetworkInterfaceSecurityGroup::(MonadBaseControlIOm,MonadResourcem)=>Text-- ^ The ID of the network interface.->[Text]-- ^ The security group ids that a network interface is in.->EC2mBoolmodifyNetworkInterfaceSecurityGroupifacegroups=modifyNetworkInterfaceAttributeiface["SecurityGroupId"|.#=groups]modifyNetworkInterfaceSourceDestCheck::(MonadBaseControlIOm,MonadResourcem)=>Text-- ^ The ID of the network interface.->Bool-- ^ Enables a Network Address Translation (NAT) instance in a VPC to perform NAT.->EC2mBoolmodifyNetworkInterfaceSourceDestCheckifacecheck=modifyNetworkInterfaceAttributeiface["SourceDestCheck.Value"|=toTextcheck]modifyNetworkInterfaceAttachment::(MonadBaseControlIOm,MonadResourcem)=>Text-- ^ The ID of the network interface.->Text-- ^ The ID of the interface attachment.->Bool-- ^ Specifies whether to delete the attachment when terminating the instance.->EC2mBoolmodifyNetworkInterfaceAttachmentifaceattachmentdeleteOnTermination=modifyNetworkInterfaceAttributeifaceparamswhereparams=["Attachment.AttachmentId"|=attachment,"Attachment.DeleteOnTermination"|=toTextdeleteOnTermination]modifyNetworkInterfaceAttribute::(MonadBaseControlIOm,MonadResourcem)=>Text->[QueryParam]->EC2mBoolmodifyNetworkInterfaceAttributeifaceparams=ec2Query"ModifyNetworkInterfaceAttribute"params'$getT"return"whereparams'=("NetworkInterfaceId"|=iface):paramsresetNetworkInterfaceSourceDestCheck::(MonadBaseControlIOm,MonadResourcem)=>Text-- ^ The ID of the network interface.->EC2mBoolresetNetworkInterfaceSourceDestCheck=resetNetworkInterfaceAttribute"sourceDestCheck"resetNetworkInterfaceAttribute::(MonadBaseControlIOm,MonadResourcem)=>Text->Text->EC2mBoolresetNetworkInterfaceAttributeattrNameiface=ec2Query"ResetNetworkInterfaceAttribute"params$getT"return"whereparams=["NetworkInterfaceId"|=iface,"Attribute"|=attrName]