text: # 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 warnings
  import pulumi
  import pulumi.runtime
  from typing import Any, Mapping, Optional, Sequence, Union, overload
  from .. import _utilities
  
  __all__ = [
      'GetDomainResult',
      'AwaitableGetDomainResult',
      'get_domain',
      'get_domain_output',
  ]
  
  @pulumi.output_type
  class GetDomainResult:
      """
      A collection of values returned by getDomain.
      """
      def __init__(__self__, id=None, name=None, nameservers=None):
          if id and not isinstance(id, str):
              raise TypeError("Expected argument 'id' to be a str")
          pulumi.set(__self__, "id", id)
          if name and not isinstance(name, str):
              raise TypeError("Expected argument 'name' to be a str")
          pulumi.set(__self__, "name", name)
          if nameservers and not isinstance(nameservers, list):
              raise TypeError("Expected argument 'nameservers' to be a list")
          pulumi.set(__self__, "nameservers", nameservers)
  
      @property
      @pulumi.getter
      def id(self) -> str:
          """
          The provider-assigned unique ID for this managed resource.
          """
          return pulumi.get(self, "id")
  
      @property
      @pulumi.getter
      def name(self) -> str:
          return pulumi.get(self, "name")
  
      @property
      @pulumi.getter
      def nameservers(self) -> Sequence[str]:
          return pulumi.get(self, "nameservers")
  
  
  class AwaitableGetDomainResult(GetDomainResult):
      # pylint: disable=using-constant-test
      def __await__(self):
          if False:
              yield self
          return GetDomainResult(
              id=self.id,
              name=self.name,
              nameservers=self.nameservers)
  
  
  def get_domain(name: Optional[str] = None,
                 opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDomainResult:
      """
      Use this data source to access information about an existing resource.
      """
      __args__ = dict()
      __args__['name'] = name
      if opts is None:
          opts = pulumi.InvokeOptions()
      if opts.version is None:
          opts.version = _utilities.get_version()
      __ret__ = pulumi.runtime.invoke('gandi:domain/getDomain:getDomain', __args__, opts=opts, typ=GetDomainResult).value
  
      return AwaitableGetDomainResult(
          id=__ret__.id,
          name=__ret__.name,
          nameservers=__ret__.nameservers)
  
  
  @_utilities.lift_output_func(get_domain)
  def get_domain_output(name: Optional[pulumi.Input[str]] = None,
                        opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainResult]:
      """
      Use this data source to access information about an existing resource.
      """
      ...
  