code: func (i *IpamInfo) MarshalJSON() ([]byte, error) {
  	m := map[string]interface{}{
  		"PoolID": i.PoolID,
  	}
  	v, err := json.Marshal(&i.IPAMData)
  	if err != nil {
  		return nil, err
  	}
  	m["IPAMData"] = string(v)
  
  	if i.Meta != nil {
  		m["Meta"] = i.Meta
  	}
  	return json.Marshal(m)
  }
docs: // MarshalJSON encodes IpamInfo into json message