code: func NewNodeAbstractResourceInstance(addr addrs.AbsResourceInstance) *NodeAbstractResourceInstance {
  	// Due to the fact that we embed NodeAbstractResource, the given address
  	// actually ends up split between the resource address in the embedded
  	// object and the InstanceKey field in our own struct. The
  	// ResourceInstanceAddr method will stick these back together again on
  	// request.
  	return &NodeAbstractResourceInstance{
  		NodeAbstractResource: NodeAbstractResource{
  			Addr: addr.ContainingResource(),
  		},
  		InstanceKey: addr.Resource.Key,
  	}
  }
docs: // NewNodeAbstractResourceInstance creates an abstract resource instance graph
  // node for the given absolute resource instance address.