def _format_vpn_connection(vpn_connection, customer_gateways, os_ikepolicies, os_ipsecpolicies, os_ipsec_site_connections, external_ips): config_dict = _format_customer_config(vpn_connection, customer_gateways, os_ikepolicies, os_ipsecpolicies, os_ipsec_site_connections, external_ips) config = ec2utils.dict_to_xml(config_dict, 'vpn_connection') config.attrib['id'] = vpn_connection['id'] config_str = etree.tostring(config, xml_declaration=True, encoding='UTF-8', pretty_print=True) return { 'vpnConnectionId': vpn_connection['id'], 'vpnGatewayId': vpn_connection['vpn_gateway_id'], 'customerGatewayId': vpn_connection['customer_gateway_id'], 'state': 'available', 'type': 'ipsec.1', 'routes': [{ 'destinationCidrBlock': cidr, 'state': 'available' } for cidr in vpn_connection['cidrs']], 'vgwTelemetry': [], 'options': { 'staticRoutesOnly': True }, 'customerGatewayConfiguration': config_str }
def _render_response(self, response_data, request_id): response_el = ec2utils.dict_to_xml( {'return': 'true'} if response_data is True else response_data, self.action + 'Response') response_el.attrib['xmlns'] = ('http://ec2.amazonaws.com/doc/%s/' % self.version) request_id_el = etree.Element('requestId') request_id_el.text = request_id response_el.insert(0, request_id_el) response = etree.tostring(response_el, pretty_print=True) # Don't write private key to log if self.action != "CreateKeyPair": LOG.debug(response) else: LOG.debug("CreateKeyPair: Return Private Key") return response
def _format_vpn_connection(vpn_connection, customer_gateways, os_ikepolicies, os_ipsecpolicies, os_ipsec_site_connections, external_ips): config_dict = _format_customer_config( vpn_connection, customer_gateways, os_ikepolicies, os_ipsecpolicies, os_ipsec_site_connections, external_ips) config = ec2utils.dict_to_xml(config_dict, 'vpn_connection') config.attrib['id'] = vpn_connection['id'] config_str = etree.tostring(config, xml_declaration=True, encoding='UTF-8', pretty_print=True) return {'vpnConnectionId': vpn_connection['id'], 'vpnGatewayId': vpn_connection['vpn_gateway_id'], 'customerGatewayId': vpn_connection['customer_gateway_id'], 'state': 'available', 'type': 'ipsec.1', 'routes': [{'destinationCidrBlock': cidr, 'state': 'available'} for cidr in vpn_connection['cidrs']], 'vgwTelemetry': [], 'options': {'staticRoutesOnly': True}, 'customerGatewayConfiguration': config_str}