import sys
from datetime import datetime

from django.core.management.base import BaseCommand

from django.contrib.auth import get_user_model

from opennebula.models import VM as VMModel
from uncloud_vm.models import VMHost, VMProduct, VMNetworkCard, VMDiskImageProduct, VMDiskProduct, VMCluster

import logging
log = logging.getLogger(__name__)



peer_template="""
# {username}
[Peer]
PublicKey = {public_key}
AllowedIPs = {vpnnetwork}
"""

class Command(BaseCommand):
    help = 'General uncloud commands'

    def add_arguments(self, parser):
        parser.add_argument('--hostname',
                            action='store_true',
                            help='Name of this VPN Host',
                            required=True)

    def handle(self, *args, **options):
        if options['bootstrap']:
            self.bootstrap()

        self.create_vpn_config(options['hostname'])

    def create_vpn_config(self, hostname):
        configs = []

        for pool in VPNPool.objects.filter(vpn_hostname=hostname):
            configs.append(pool_config)

        print(configs)