input: from typing import Tuple
  
  def encrypt_decrypt(action: str, text: str, key: bytes) -> Tuple[bytes, str]:
      """Encrypt or decrypt a given string using AES encryption in ECB mode.
      The function takes in an action ('encrypt' or 'decrypt'), a text string to be 
      processed, and a key. It returns a tuple containing the processed text in 
      bytes and a success message.
      
      >>> encrypt_decrypt('encrypt', 'example text', b'Sixteen byte key')
      (b'v\xf2V\xa9\xb6\xcd\xba\xd6{\xc2\xd3\xa1\xec@p\xc0', 'Encryption successful.')
      >>> encrypt_decrypt('decrypt', b'v\xf2V\xa9\xb6\xcd\xba\xd6{\xc2\xd3\xa1\xec@p\xc0', b'Sixteen byte key')
      (b'example text', 'Decryption successful.')
      """
      from Crypto.Cipher import AES
      
      if action not in ['encrypt', 'decrypt']:
          return (b'', 'Invalid action specified.')
  
      cipher = AES.new(key, AES.MODE_ECB)
      
      if action == 'encrypt':
          result = cipher.encrypt(text.encode())
          message = 'Encryption successful.'
      else:
          result = cipher.decrypt(text).decode()
          message = 'Decryption successful.'
  
      return (result, message)
output:     from Crypto.Util.Padding import pad, unpad
      
      if action == 'encrypt':
          padded_text = pad(text.encode(), AES.block_size)
          result = cipher.encrypt(padded_text)
          message = 'Encryption successful.'
      else:
          decrypted_text = cipher.decrypt(text)
          result = unpad(decrypted_text, AES.block_size).decode()
          message = 'Decryption successful.'
  
      return (result, message)