code: func (n *NodeAbstractResource) ProvisionedBy() []string {
  	// If we have no configuration, then we have no provisioners
  	if n.Config == nil || n.Config.Managed == nil {
  		return nil
  	}
  
  	// Build the list of provisioners we need based on the configuration.
  	// It is okay to have duplicates here.
  	result := make([]string, len(n.Config.Managed.Provisioners))
  	for i, p := range n.Config.Managed.Provisioners {
  		result[i] = p.Type
  	}
  
  	return result
  }
docs: // GraphNodeProvisionerConsumer