code: func NewEFSProvisioner(client kubernetes.Interface) controller.Provisioner {
  	fileSystemID := os.Getenv(fileSystemIDKey)
  	if fileSystemID == "" {
  		klog.Fatalf("environment variable %s is not set! Please set it.", fileSystemIDKey)
  	}
  
  	awsRegion := os.Getenv(awsRegionKey)
  	if awsRegion == "" {
  		klog.Fatalf("environment variable %s is not set! Please set it.", awsRegionKey)
  	}
  
  	dnsName := os.Getenv(dnsNameKey)
  	klog.Errorf("%v", dnsName)
  	if dnsName == "" {
  		dnsName = getDNSName(fileSystemID, awsRegion)
  	}
  
  	mountpoint, source, err := getMount(dnsName)
  	if err != nil {
  		klog.Fatal(err)
  	}
  
  	sess, err := session.NewSession()
  	if err != nil {
  		klog.Warningf("couldn't create an AWS session: %v", err)
  	}
  
  	svc := efs.New(sess, &aws.Config{Region: aws.String(awsRegion)})
  	params := &efs.DescribeFileSystemsInput{
  		FileSystemId: aws.String(fileSystemID),
  	}
  
  	_, err = svc.DescribeFileSystems(params)
  	if err != nil {
  		klog.Warningf("couldn't confirm that the EFS file system exists: %v", err)
  	}
  
  	return &efsProvisioner{
  		dnsName:    dnsName,
  		mountpoint: mountpoint,
  		source:     source,
  		allocator:  gidallocator.New(client),
  	}
  }
docs: // NewEFSProvisioner creates an AWS EFS volume provisioner