content: module Aws.Ses.Commands.SetIdentityDkimEnabled
      ( SetIdentityDkimEnabled(..)
      , SetIdentityDkimEnabledResponse(..)
      ) where
  
  import           Aws.Core
  import           Aws.Ses.Core
  import           Data.Text          (Text)
  import           Data.Text.Encoding as T
  import           Data.Typeable
  
  -- | Change whether bounces and complaints for the given identity will be
  -- DKIM signed.
  data SetIdentityDkimEnabled = SetIdentityDkimEnabled
        { sdDkimEnabled :: Bool
        , sdIdentity    :: Text
        }
      deriving (Eq, Ord, Show, Typeable)
  
  -- | ServiceConfiguration: 'SesConfiguration'
  instance SignQuery SetIdentityDkimEnabled where
      type ServiceConfiguration SetIdentityDkimEnabled = SesConfiguration
      signQuery SetIdentityDkimEnabled{..} =
          sesSignQuery [ ("Action",   "SetIdentityDkimEnabled")
                       , ("Identity",  T.encodeUtf8 sdIdentity)
                       , ("DkimEnabled", awsBool sdDkimEnabled)
                       ]
  
  -- | The response sent back by SES after the 'SetIdentityDkimEnabled' command.
  data SetIdentityDkimEnabledResponse = SetIdentityDkimEnabledResponse
      deriving (Eq, Ord, Show, Typeable)
  
  instance ResponseConsumer SetIdentityDkimEnabled SetIdentityDkimEnabledResponse where
      type ResponseMetadata SetIdentityDkimEnabledResponse = SesMetadata
      responseConsumer _ _
          = sesResponseConsumer $ \_ -> return SetIdentityDkimEnabledResponse
  
  instance Transaction SetIdentityDkimEnabled SetIdentityDkimEnabledResponse
  
  instance AsMemoryResponse SetIdentityDkimEnabledResponse where
      type MemoryResponse SetIdentityDkimEnabledResponse = SetIdentityDkimEnabledResponse
      loadToMemory = return
  