# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import pulumi
import pulumi.runtime

class GetDnsZoneResult(object):
    """
    A collection of values returned by getDnsZone.
    """
    def __init__(__self__, attributes=None, created_at=None, masters=None, pool_id=None, project_id=None, region=None, serial=None, transferred_at=None, updated_at=None, version=None):
        if attributes and not isinstance(attributes, dict):
            raise TypeError('Expected argument attributes to be a dict')
        __self__.attributes = attributes
        """
        Attributes of the DNS Service scheduler.
        """
        if created_at and not isinstance(created_at, basestring):
            raise TypeError('Expected argument created_at to be a basestring')
        __self__.created_at = created_at
        """
        The time the zone was created.
        """
        if masters and not isinstance(masters, list):
            raise TypeError('Expected argument masters to be a list')
        __self__.masters = masters
        """
        An array of master DNS servers. When `type` is  `SECONDARY`.
        """
        if pool_id and not isinstance(pool_id, basestring):
            raise TypeError('Expected argument pool_id to be a basestring')
        __self__.pool_id = pool_id
        """
        The ID of the pool hosting the zone.
        """
        if project_id and not isinstance(project_id, basestring):
            raise TypeError('Expected argument project_id to be a basestring')
        __self__.project_id = project_id
        """
        The project ID that owns the zone.
        """
        if region and not isinstance(region, basestring):
            raise TypeError('Expected argument region to be a basestring')
        __self__.region = region
        """
        See Argument Reference above.
        """
        if serial and not isinstance(serial, int):
            raise TypeError('Expected argument serial to be a int')
        __self__.serial = serial
        """
        The serial number of the zone.
        """
        if transferred_at and not isinstance(transferred_at, basestring):
            raise TypeError('Expected argument transferred_at to be a basestring')
        __self__.transferred_at = transferred_at
        """
        The time the zone was transferred.
        """
        if updated_at and not isinstance(updated_at, basestring):
            raise TypeError('Expected argument updated_at to be a basestring')
        __self__.updated_at = updated_at
        """
        The time the zone was last updated.
        """
        if version and not isinstance(version, int):
            raise TypeError('Expected argument version to be a int')
        __self__.version = version
        """
        The version of the zone.
        """

def get_dns_zone(attributes=None, created_at=None, description=None, email=None, masters=None, name=None, pool_id=None, project_id=None, region=None, serial=None, status=None, transferred_at=None, ttl=None, type=None, updated_at=None, version=None):
    """
    Use this data source to get the ID of an available OpenStack DNS zone.
    """
    __args__ = dict()

    __args__['attributes'] = attributes
    __args__['createdAt'] = created_at
    __args__['description'] = description
    __args__['email'] = email
    __args__['masters'] = masters
    __args__['name'] = name
    __args__['poolId'] = pool_id
    __args__['projectId'] = project_id
    __args__['region'] = region
    __args__['serial'] = serial
    __args__['status'] = status
    __args__['transferredAt'] = transferred_at
    __args__['ttl'] = ttl
    __args__['type'] = type
    __args__['updatedAt'] = updated_at
    __args__['version'] = version
    __ret__ = pulumi.runtime.invoke('openstack:dns/getDnsZone:getDnsZone', __args__)

    return GetDnsZoneResult(
        attributes=__ret__.get('attributes'),
        created_at=__ret__.get('createdAt'),
        masters=__ret__.get('masters'),
        pool_id=__ret__.get('poolId'),
        project_id=__ret__.get('projectId'),
        region=__ret__.get('region'),
        serial=__ret__.get('serial'),
        transferred_at=__ret__.get('transferredAt'),
        updated_at=__ret__.get('updatedAt'),
        version=__ret__.get('version'))
