code: func (p *Provider) Configure(c *terraform.ResourceConfig) error {
  	// No configuration
  	if p.ConfigureFunc == nil {
  		return nil
  	}
  
  	sm := schemaMap(p.Schema)
  
  	// Get a ResourceData for this configuration. To do this, we actually
  	// generate an intermediary "diff" although that is never exposed.
  	diff, err := sm.Diff(nil, c, nil, p.meta, true)
  	if err != nil {
  		return err
  	}
  
  	data, err := sm.Data(nil, diff)
  	if err != nil {
  		return err
  	}
  
  	meta, err := p.ConfigureFunc(data)
  	if err != nil {
  		return err
  	}
  
  	p.meta = meta
  	return nil
  }
docs: // Configure implementation of terraform.ResourceProvider interface.