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
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