def create_ipsec_site_connection(self, name, ipsecpolicy,
                                     ikepolicy,
                                     vpnservice,
                                     peer_cidrs,
                                     peer_address,
                                     peer_id,
                                     psk,
                                     admin_state_up=True,
                                     **kwargs):
        '''
        Creates a new IPsecSiteConnection
        '''
        ipsecpolicy_id = self._find_ipsecpolicy_id(ipsecpolicy)
        ikepolicy_id = self._find_ikepolicy_id(ikepolicy)
        vpnservice_id = self._find_vpnservice_id(vpnservice)
        body = {'psk': psk,
                'ipsecpolicy_id': ipsecpolicy_id,
                'admin_state_up': admin_state_up,
                'peer_cidrs': [peer_cidrs],
                'ikepolicy_id': ikepolicy_id,
                'vpnservice_id': vpnservice_id,
                'peer_address': peer_address,
                'peer_id': peer_id,
                'name': name}
        if 'initiator' in kwargs:
            body['initiator'] = kwargs['initiator']
        if 'mtu' in kwargs:
            body['mtu'] = kwargs['mtu']
        if 'dpd_action' in kwargs:
            body['dpd'] = {'action': kwargs['dpd_action']}
        if 'dpd_interval' in kwargs:
            if 'dpd' not in body:
                body['dpd'] = {}
            body['dpd']['interval'] = kwargs['dpd_interval']
        if 'dpd_timeout' in kwargs:
            if 'dpd' not in body:
                body['dpd'] = {}
            body['dpd']['timeout'] = kwargs['dpd_timeout']
        return self.network_conn.create_ipsec_site_connection(
            body={'ipsec_site_connection': body})