code: func expandDistributedVirtualSwitchHostMemberConfigSpec(d map[string]interface{}) types.DistributedVirtualSwitchHostMemberConfigSpec {
  	hostRef := &types.ManagedObjectReference{
  		Type:  "HostSystem",
  		Value: d["host_system_id"].(string),
  	}
  
  	var pnSpecs []types.DistributedVirtualSwitchHostMemberPnicSpec
  	nics := structure.SliceInterfacesToStrings(d["devices"].([]interface{}))
  	for _, nic := range nics {
  		pnSpec := types.DistributedVirtualSwitchHostMemberPnicSpec{
  			PnicDevice: nic,
  		}
  		pnSpecs = append(pnSpecs, pnSpec)
  	}
  	backing := types.DistributedVirtualSwitchHostMemberPnicBacking{
  		PnicSpec: pnSpecs,
  	}
  
  	obj := types.DistributedVirtualSwitchHostMemberConfigSpec{
  		Host:    *hostRef,
  		Backing: &backing,
  	}
  	return obj
  }
docs: // expandDistributedVirtualSwitchHostMemberConfigSpec reads certain keys from a
  // Set object map and returns a DistributedVirtualSwitchHostMemberConfigSpec.