Closed limberger closed 4 years ago
HI,
In POSTMAN this work:
POST /api/ipam/prefixes/1/available-ips/ HTTP/1.1 Host: 172.17.1.1 authorization: Token aae35cabcfe231ebc8734a798f1cac63439a7a2b Cache-Control: no-cache content-type: application/json Postman-Token: c11a2409-fd58-4dbf-b49c-2b4f557c7a5c { "description":"Inclusion - Terraform" }
When i try to use this from go-netbox (i am new with golang):
import ( "log" api "github.com/digitalocean/go-netbox/netbox" "github.com/digitalocean/go-netbox/netbox/client/ipam" "github.com/digitalocean/go-netbox/netbox/models" "github.com/go-openapi/runtime" ) func main() { c := api.NewNetboxWithAPIKey("172.17.1.1", "aae35cabcfe231ebc8734a798f1cac63439a7a2b") var parm = ipam.NewIPAMPrefixesAvailableIpsCreateParams() prefixes_id := 2 description := "Teste de inclusao de IP - Terraform" var mp = &models.Prefix{} mp.Description = description var res models.PrefixStatus value := int64(1) res.Value = &value mp.Status = &res a, err4 := mp.MarshalBinary() log.Printf("obj mp: %v\n", string(a)) if err4 != nil { log.Printf("err3: %v\n", err4) } parm.SetData(mp) parm.SetID(int64(prefixes_id)) log.Printf("[DEBUG] JP descriptioin %v\n", description) log.Println("[DEBUG] JP - Executado...") out, err := c.IPAM.IPAMPrefixesAvailableIpsCreate(parm, nil) if err != nil { log.Println("[DEBUG] JP - Err ao criar IP *************************************") log.Printf("[DEBUG] JP - Err: %v \n", err) } if out != nil { log.Println("[DEBUG] JP - Out ok ao criar IP **********************************") log.Printf("Created %v\n", out.Payload.Created) log.Printf("Custom Fields: %v\n", out.Payload.CustomFields) log.Printf("Description: %v\n", out.Payload.Description) log.Printf("Family: %v\n", out.Payload.Family) log.Printf("ID: %v\n", out.Payload.ID) log.Printf("IsPool: %v\n", out.Payload.IsPool) log.Printf("LastUpdated: %v\n", out.Payload.LastUpdated) log.Printf("Prefix: %v\n", out.Payload.Prefix) log.Printf("Role: %v\n", out.Payload.Role) log.Printf("Site: %v\n", out.Payload.Site) log.Printf("Status: %v\n", out.Payload.Status) if out.Payload.Tenant != nil { log.Printf("Tenant: %v\n", out.Payload.Tenant) } if out.Payload.Vlan != nil { log.Printf("Vlan Name: %v\n", out.Payload.Vlan.Name) } log.Print(out.Payload.Vrf) log.Printf("[DEBUG] JP - Out: %v \n", out) log.Println("[DEBUG] JP - *****************************************************") } }
The result is:
2018/08/23 13:59:33 obj mp: {"created":"0001-01-01","description":"Teste de inclusao de IP - Terraform","last_updated":"0001-01-01T00:00:00.000Z","prefix":null,"role":null,"site":null,"status":{"label":null,"value":1},"tenant":null,"vlan":null,"vrf":null} 2018/08/23 13:59:33 [DEBUG] JP descriptioin Teste de inclusao de IP - Terraform 2018/08/23 13:59:33 [DEBUG] JP - Executado... 2018/08/23 13:59:33 [DEBUG] JP - Err ao criar IP ************************************* 2018/08/23 13:59:33 [DEBUG] JP - Err: unknown error (status 500): {resp:0xc42032a000}
The problem is in JSON serialization? Is possible to do like de POSTMAN example (only serializing the Description)?
Thanks, jp
HI,
In POSTMAN this work:
When i try to use this from go-netbox (i am new with golang):
The result is:
The problem is in JSON serialization? Is possible to do like de POSTMAN example (only serializing the Description)?
Thanks, jp