import logging
import os
import uuid

from keystoneauth1.identity import generic
from keystoneauth1 import session as keystone_session

from designateclient.v2 import client


logging.basicConfig(level='DEBUG')

auth = generic.Password(
    auth_url=os.environ.get('OS_AUTH_URL'),
    username=os.environ.get('OS_USERNAME'),
    password=os.environ.get('OS_PASSWORD'),
    project_name=os.environ.get('OS_PROJECT_NAME'),
    project_domain_id='default',
    user_domain_id='default')

session = keystone_session.Session(auth=auth)

client = client.Client(session=session)

# Primary Zone
primary = client.zones.create(
    f'primary-{str(uuid.uuid4())}.io.',
    'PRIMARY',
    'root@x.com')

# Secondary Zone
slave = client.zones.create(
    f'secondary-{str(uuid.uuid4())}.io.',
    'SECONDARY',
    masters=["127.0.1.1"])

# Try updating Masters for the Secondary
new_slave = client.zones.update(
    slave['id'],
    {"masters": ["10.0.0.1", "10.0.0.10"]}
)

# List all Zones
zones = client.zones.list()
