Source code for SoftLayer.managers.email

"""
    SoftLayer.email
    ~~~~~~~~~~~~~~~~~~~~~~~
    Email manager

    :license: MIT, see License for more details.
"""

from SoftLayer import utils


# Invalid names are ignored due to long method names and short argument names
# pylint: disable=invalid-name, no-self-use


[docs]class EmailManager(utils.IdentifierMixin, object): """Common functions for getting information from the email service :param SoftLayer.API.BaseClient client: the client instance """ def __init__(self, client): self.client = client
[docs] def get_account_overview(self, identifier): """Gets all the Network Message Delivery Account Overview :returns: Network Message Delivery Account overview """ return self.client.call('SoftLayer_Network_Message_Delivery_Email_Sendgrid', 'getAccountOverview', id=identifier)
[docs] def get_statistics(self, identifier, days=30): """gets statistics from email accounts :days: range number :returns: statistics Network Message Delivery Account """ body = [["requests", "delivered", "opens", "clicks", "bounds"], True, True, True, days ] return self.client.call('SoftLayer_Network_Message_Delivery_Email_Sendgrid', 'getStatistics', id=identifier, *body)
[docs] def get_instance(self, identifier): """Gets the Network_Message_Delivery_Email_Sendgrid instance :return: Network_Message_Delivery_Email_Sendgrid """ _mask = """emailAddress,type,billingItem,vendor""" return self.client.call('SoftLayer_Network_Message_Delivery_Email_Sendgrid', 'getObject', id=identifier, mask=_mask)
[docs] def editObject(self, identifier, username=None, password=None): """Edit email delivery account related details. :param int identifier: The ID of the email account :param string username: username of the email account. :param string email: email of the email account. :param string password: password of the email account to be updated to. """ data = {} if username: data['username'] = username if password: data['password'] = password return self.client.call('SoftLayer_Network_Message_Delivery_Email_Sendgrid', 'editObject', data, id=identifier)
[docs] def update_email(self, identifier, email): """Edit email address delivery account . :param int identifier: The ID of the email account :param string email: email of the email account. """ return self.client.call('SoftLayer_Network_Message_Delivery_Email_Sendgrid', 'updateEmailAddress', email, id=identifier)