Esempio n. 1
0
 def __init__(self):
     super(QuickOrderRequest, self).__init__()
     self.order_parameters = OrderParameters()
     self.order_contacts = OrderContacts()
     self.organization_info = OrganizationInfo()
     self.approver_email = ApproverEmail()
     self.response_model = QuickOrderResponse
Esempio n. 2
0
 def __init__(self):
     super(QuickOrderRequest, self).__init__()
     self.order_parameters = OrderParameters()
     self.order_contacts = OrderContacts()
     self.organization_info = OrganizationInfo()
     self.approver_email = ApproverEmail()
     self.response_model = QuickOrderResponse
Esempio n. 3
0
class QuickOrderRequest(Request):

    def __init__(self):
        super(QuickOrderRequest, self).__init__()
        self.order_parameters = OrderParameters()
        self.order_contacts = OrderContacts()
        self.organization_info = OrganizationInfo()
        self.approver_email = ApproverEmail()
        self.response_model = QuickOrderResponse

    def serialize(self):
        """Serializes the quick order request.

        The request model for the QuickOrder call in the Symantec
        SOAP XML API. Serializes all related sections to this request model.

        This will serialize the following:
            Order Request Header
            Order Contacts
            Organization Info
            Approver Email

        :return: root element of the QuickOrderRequest section
        """

        root = etree.Element('QuickOrder', nsmap=utils.NS)
        order_request_header = self.request_header.serialize(order_type=True)

        request = etree.SubElement(root, 'Request')
        order_parameters = self.order_parameters.serialize()
        organization_info = self.organization_info.serialize()
        admin_contact, tech_contact, billing_contact = (
            self.order_contacts.serialize()
        )
        approver_email = self.approver_email.serialize()

        for item in [
            order_request_header, organization_info, order_parameters,
            admin_contact, tech_contact, billing_contact, approver_email
        ]:
            request.append(item)

        return root

    def set_order_parameters(
            self, csr, domain_name, partner_order_id, renewal_indicator,
            renewal_behavior, hash_algorithm,
            special_instructions, valid_period, web_server_type,
            wildcard='false', dns_names=None
    ):
        """Sets the parameters for the order request.

        Allows the user to change the order parameters options.
        Check the Symantec API documentation for specifics on each of these
        components.

        :param csr: the certificate signing request for the order
        :param domain_name: the domain being covered in the certificate
        :param order_partner_id: the original id provided by the user for
        tracking. Used with renewals.
        :param renewal_indicator: flag to set renewals on
        :param renewal_behavior: set to either
        'RenewalNoticesSentAutomatically' or 'RenewalNoticesNotSent'
        :param server_count: Reference the Symantec API documentation
        :param signature_hash_algorithm: hashing algorithm for certificate
        (ex: SHA2-256)
        :param special_instructions: notes for the approver
        :param valid_period: length of certificate in months. Defaults to 12.
        See Symantec API documentation for specifics per product.
        :param web_server_type: See Symantec API documentation for options
        :param wildcard: optional field. Indicates if the order is a wildcard
        or not. Binary
        :param dnsnames: optional field. Comma separated values for SAN
        certificates
        """

        self.order_parameters.csr = csr
        self.order_parameters.domain_name = domain_name
        self.order_parameters.order_partner_order_id = partner_order_id
        self.order_parameters.renewal_indicator = renewal_indicator
        self.order_parameters.renewal_behavior = renewal_behavior
        self.order_parameters.signature_hash_algorithm = hash_algorithm
        self.order_parameters.special_instructions = special_instructions
        self.order_parameters.valid_period = valid_period
        self.order_parameters.web_server_type = web_server_type
        self.order_parameters.wildcard = wildcard
        self.order_parameters.dnsnames = dns_names
Esempio n. 4
0
class QuickOrderRequest(Request):

    def __init__(self):
        super(QuickOrderRequest, self).__init__()
        self.order_parameters = OrderParameters()
        self.order_contacts = OrderContacts()
        self.organization_info = OrganizationInfo()
        self.approver_email = ApproverEmail()
        self.response_model = QuickOrderResponse

    def serialize(self):
        """Serializes the quick order request.

        The request model for the QuickOrder call in the Symantec
        SOAP XML API. Serializes all related sections to this request model.

        This will serialize the following:
            Order Request Header
            Order Contacts
            Organization Info
            Approver Email

        :return: root element of the QuickOrderRequest section
        """

        root = etree.Element('QuickOrder', nsmap=utils.NS)
        order_request_header = self.request_header.serialize(order_type=True)

        request = etree.SubElement(root, 'Request')
        order_parameters = self.order_parameters.serialize()
        organization_info = self.organization_info.serialize()
        admin_contact, tech_contact, billing_contact = (
            self.order_contacts.serialize()
        )
        approver_email = self.approver_email.serialize()

        for item in [
            order_request_header, organization_info, order_parameters,
            admin_contact, tech_contact, billing_contact, approver_email
        ]:
            request.append(item)

        return root

    def set_order_parameters(
            self, csr, domain_name, partner_order_id, renewal_indicator,
            renewal_behavior, hash_algorithm,
            special_instructions, valid_period, web_server_type,
            wildcard='false', dns_names=None
    ):
        """Sets the parameters for the order request.

        Allows the user to change the order parameters options.
        Check the Symantec API documentation for specifics on each of these
        components.

        :param csr: the certificate signing request for the order
        :param domain_name: the domain being covered in the certificate
        :param order_partner_id: the original id provided by the user for
        tracking. Used with renewals.
        :param renewal_indicator: flag to set renewals on
        :param renewal_behavior: set to either
        'RenewalNoticesSentAutomatically' or 'RenewalNoticesNotSent'
        :param server_count: Reference the Symantec API documentation
        :param signature_hash_algorithm: hashing algorithm for certificate
        (ex: SHA2-256)
        :param special_instructions: notes for the approver
        :param valid_period: length of certificate in months. Defaults to 12.
        See Symantec API documentation for specifics per product.
        :param web_server_type: See Symantec API documentation for options
        :param wildcard: optional field. Indicates if the order is a wildcard
        or not. Binary
        :param dnsnames: optional field. Comma separated values for SAN
        certificates
        """

        self.order_parameters.csr = csr
        self.order_parameters.domain_name = domain_name
        self.order_parameters.order_partner_order_id = partner_order_id
        self.order_parameters.renewal_indicator = renewal_indicator
        self.order_parameters.renewal_behavior = renewal_behavior
        self.order_parameters.signature_hash_algorithm = hash_algorithm
        self.order_parameters.special_instructions = special_instructions
        self.order_parameters.valid_period = valid_period
        self.order_parameters.web_server_type = web_server_type
        self.order_parameters.wildcard = wildcard
        self.order_parameters.dnsnames = dns_names