text: # coding=utf-8
  # *** WARNING: this file was generated by the Pulumi SDK Generator. ***
  # *** 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
  from . import outputs
  
  __all__ = [
      'GetIdentityResult',
      'AwaitableGetIdentityResult',
      'get_identity',
      'get_identity_output',
  ]
  
  @pulumi.output_type
  class GetIdentityResult:
      def __init__(__self__, dkim_signing_enabled=None, feedback_forwarding_enabled=None, id=None, identity_dns_record_name1=None, identity_dns_record_name2=None, identity_dns_record_name3=None, identity_dns_record_value1=None, identity_dns_record_value2=None, identity_dns_record_value3=None, mail_from_attributes=None, tags=None):
          if dkim_signing_enabled and not isinstance(dkim_signing_enabled, bool):
              raise TypeError("Expected argument 'dkim_signing_enabled' to be a bool")
          pulumi.set(__self__, "dkim_signing_enabled", dkim_signing_enabled)
          if feedback_forwarding_enabled and not isinstance(feedback_forwarding_enabled, bool):
              raise TypeError("Expected argument 'feedback_forwarding_enabled' to be a bool")
          pulumi.set(__self__, "feedback_forwarding_enabled", feedback_forwarding_enabled)
          if id and not isinstance(id, str):
              raise TypeError("Expected argument 'id' to be a str")
          pulumi.set(__self__, "id", id)
          if identity_dns_record_name1 and not isinstance(identity_dns_record_name1, str):
              raise TypeError("Expected argument 'identity_dns_record_name1' to be a str")
          pulumi.set(__self__, "identity_dns_record_name1", identity_dns_record_name1)
          if identity_dns_record_name2 and not isinstance(identity_dns_record_name2, str):
              raise TypeError("Expected argument 'identity_dns_record_name2' to be a str")
          pulumi.set(__self__, "identity_dns_record_name2", identity_dns_record_name2)
          if identity_dns_record_name3 and not isinstance(identity_dns_record_name3, str):
              raise TypeError("Expected argument 'identity_dns_record_name3' to be a str")
          pulumi.set(__self__, "identity_dns_record_name3", identity_dns_record_name3)
          if identity_dns_record_value1 and not isinstance(identity_dns_record_value1, str):
              raise TypeError("Expected argument 'identity_dns_record_value1' to be a str")
          pulumi.set(__self__, "identity_dns_record_value1", identity_dns_record_value1)
          if identity_dns_record_value2 and not isinstance(identity_dns_record_value2, str):
              raise TypeError("Expected argument 'identity_dns_record_value2' to be a str")
          pulumi.set(__self__, "identity_dns_record_value2", identity_dns_record_value2)
          if identity_dns_record_value3 and not isinstance(identity_dns_record_value3, str):
              raise TypeError("Expected argument 'identity_dns_record_value3' to be a str")
          pulumi.set(__self__, "identity_dns_record_value3", identity_dns_record_value3)
          if mail_from_attributes and not isinstance(mail_from_attributes, dict):
              raise TypeError("Expected argument 'mail_from_attributes' to be a dict")
          pulumi.set(__self__, "mail_from_attributes", mail_from_attributes)
          if tags and not isinstance(tags, list):
              raise TypeError("Expected argument 'tags' to be a list")
          pulumi.set(__self__, "tags", tags)
  
      @property
      @pulumi.getter(name="dkimSigningEnabled")
      def dkim_signing_enabled(self) -> Optional[bool]:
          return pulumi.get(self, "dkim_signing_enabled")
  
      @property
      @pulumi.getter(name="feedbackForwardingEnabled")
      def feedback_forwarding_enabled(self) -> Optional[bool]:
          return pulumi.get(self, "feedback_forwarding_enabled")
  
      @property
      @pulumi.getter
      def id(self) -> Optional[str]:
          return pulumi.get(self, "id")
  
      @property
      @pulumi.getter(name="identityDNSRecordName1")
      def identity_dns_record_name1(self) -> Optional[str]:
          return pulumi.get(self, "identity_dns_record_name1")
  
      @property
      @pulumi.getter(name="identityDNSRecordName2")
      def identity_dns_record_name2(self) -> Optional[str]:
          return pulumi.get(self, "identity_dns_record_name2")
  
      @property
      @pulumi.getter(name="identityDNSRecordName3")
      def identity_dns_record_name3(self) -> Optional[str]:
          return pulumi.get(self, "identity_dns_record_name3")
  
      @property
      @pulumi.getter(name="identityDNSRecordValue1")
      def identity_dns_record_value1(self) -> Optional[str]:
          return pulumi.get(self, "identity_dns_record_value1")
  
      @property
      @pulumi.getter(name="identityDNSRecordValue2")
      def identity_dns_record_value2(self) -> Optional[str]:
          return pulumi.get(self, "identity_dns_record_value2")
  
      @property
      @pulumi.getter(name="identityDNSRecordValue3")
      def identity_dns_record_value3(self) -> Optional[str]:
          return pulumi.get(self, "identity_dns_record_value3")
  
      @property
      @pulumi.getter(name="mailFromAttributes")
      def mail_from_attributes(self) -> Optional['outputs.IdentityMailFromAttributes']:
          return pulumi.get(self, "mail_from_attributes")
  
      @property
      @pulumi.getter
      def tags(self) -> Optional[Sequence['outputs.IdentityTags']]:
          return pulumi.get(self, "tags")
  
  
  class AwaitableGetIdentityResult(GetIdentityResult):
      # pylint: disable=using-constant-test
      def __await__(self):
          if False:
              yield self
          return GetIdentityResult(
              dkim_signing_enabled=self.dkim_signing_enabled,
              feedback_forwarding_enabled=self.feedback_forwarding_enabled,
              id=self.id,
              identity_dns_record_name1=self.identity_dns_record_name1,
              identity_dns_record_name2=self.identity_dns_record_name2,
              identity_dns_record_name3=self.identity_dns_record_name3,
              identity_dns_record_value1=self.identity_dns_record_value1,
              identity_dns_record_value2=self.identity_dns_record_value2,
              identity_dns_record_value3=self.identity_dns_record_value3,
              mail_from_attributes=self.mail_from_attributes,
              tags=self.tags)
  
  
  def get_identity(id: Optional[str] = None,
                   opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdentityResult:
      """
      Resource Type definition for AWS::PinpointEmail::Identity
      """
      __args__ = dict()
      __args__['id'] = id
      if opts is None:
          opts = pulumi.InvokeOptions()
      if opts.version is None:
          opts.version = _utilities.get_version()
      __ret__ = pulumi.runtime.invoke('aws-native:pinpointemail:getIdentity', __args__, opts=opts, typ=GetIdentityResult).value
  
      return AwaitableGetIdentityResult(
          dkim_signing_enabled=__ret__.dkim_signing_enabled,
          feedback_forwarding_enabled=__ret__.feedback_forwarding_enabled,
          id=__ret__.id,
          identity_dns_record_name1=__ret__.identity_dns_record_name1,
          identity_dns_record_name2=__ret__.identity_dns_record_name2,
          identity_dns_record_name3=__ret__.identity_dns_record_name3,
          identity_dns_record_value1=__ret__.identity_dns_record_value1,
          identity_dns_record_value2=__ret__.identity_dns_record_value2,
          identity_dns_record_value3=__ret__.identity_dns_record_value3,
          mail_from_attributes=__ret__.mail_from_attributes,
          tags=__ret__.tags)
  
  
  @_utilities.lift_output_func(get_identity)
  def get_identity_output(id: Optional[pulumi.Input[str]] = None,
                          opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdentityResult]:
      """
      Resource Type definition for AWS::PinpointEmail::Identity
      """
      ...
  