diff --git a/gen-go/instance_service/constants.go b/gen-go/instance_service/constants.go new file mode 100644 index 0000000..14b9c2a --- /dev/null +++ b/gen-go/instance_service/constants.go @@ -0,0 +1,18 @@ +// Autogenerated by Thrift Compiler (0.9.3) +// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + +package instance_service + +import ( + "bytes" + "fmt" + "git.apache.org/thrift.git/lib/go/thrift" +) + +// (needed to ensure safety because of naive import list construction.) +var _ = thrift.ZERO +var _ = fmt.Printf +var _ = bytes.Equal + +func init() { +} diff --git a/gen-go/instance_service/instance_service-remote/instance_service-remote.go b/gen-go/instance_service/instance_service-remote/instance_service-remote.go new file mode 100755 index 0000000..b8f78c1 --- /dev/null +++ b/gen-go/instance_service/instance_service-remote/instance_service-remote.go @@ -0,0 +1,392 @@ +// Autogenerated by Thrift Compiler (0.9.3) +// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + +package main + +import ( + "flag" + "fmt" + "git.apache.org/thrift.git/lib/go/thrift" + "instance_service" + "math" + "net" + "net/url" + "os" + "strconv" + "strings" +) + +func Usage() { + fmt.Fprintln(os.Stderr, "Usage of ", os.Args[0], " [-h host:port] [-u url] [-f[ramed]] function [arg1 [arg2...]]:") + flag.PrintDefaults() + fmt.Fprintln(os.Stderr, "\nFunctions:") + fmt.Fprintln(os.Stderr, " bool AddPort(PortList port_list)") + fmt.Fprintln(os.Stderr, " bool KeepAliveCheck()") + fmt.Fprintln(os.Stderr, " bool Connect()") + fmt.Fprintln(os.Stderr, " bool DeletePort(tuuid port_id)") + fmt.Fprintln(os.Stderr, " bool AddVirtualGateway(VirtualGatewayRequestList vgw_list)") + fmt.Fprintln(os.Stderr, " bool DeleteVirtualGateway( vgw_list)") + fmt.Fprintln(os.Stderr, " bool ConnectForVirtualGateway()") + fmt.Fprintln(os.Stderr, " bool AuditTimerForVirtualGateway(i32 timeout)") + fmt.Fprintln(os.Stderr, " bool TunnelNHEntryAdd(string src_ip, string dst_ip, string vrf_name)") + fmt.Fprintln(os.Stderr, " bool TunnelNHEntryDelete(string src_ip, string dst_ip, string vrf_name)") + fmt.Fprintln(os.Stderr, " bool RouteEntryAdd(string ip_address, string gw_ip, string vrf_name, string label)") + fmt.Fprintln(os.Stderr, " bool RouteEntryDelete(string ip_address, string vrf_name)") + fmt.Fprintln(os.Stderr, " bool AddHostRoute(string ip_address, string vrf_name)") + fmt.Fprintln(os.Stderr, " bool AddLocalVmRoute(string ip_address, string intf_uuid, string vrf_name, string label)") + fmt.Fprintln(os.Stderr, " bool AddRemoteVmRoute(string ip_address, string gw_ip, string vrf_name, string label)") + fmt.Fprintln(os.Stderr, " bool CreateVrf(string vrf_name)") + fmt.Fprintln(os.Stderr) + os.Exit(0) +} + +func main() { + flag.Usage = Usage + var host string + var port int + var protocol string + var urlString string + var framed bool + var useHttp bool + var parsedUrl url.URL + var trans thrift.TTransport + _ = strconv.Atoi + _ = math.Abs + flag.Usage = Usage + flag.StringVar(&host, "h", "localhost", "Specify host and port") + flag.IntVar(&port, "p", 9090, "Specify port") + flag.StringVar(&protocol, "P", "binary", "Specify the protocol (binary, compact, simplejson, json)") + flag.StringVar(&urlString, "u", "", "Specify the url") + flag.BoolVar(&framed, "framed", false, "Use framed transport") + flag.BoolVar(&useHttp, "http", false, "Use http") + flag.Parse() + + if len(urlString) > 0 { + parsedUrl, err := url.Parse(urlString) + if err != nil { + fmt.Fprintln(os.Stderr, "Error parsing URL: ", err) + flag.Usage() + } + host = parsedUrl.Host + useHttp = len(parsedUrl.Scheme) <= 0 || parsedUrl.Scheme == "http" + } else if useHttp { + _, err := url.Parse(fmt.Sprint("http://", host, ":", port)) + if err != nil { + fmt.Fprintln(os.Stderr, "Error parsing URL: ", err) + flag.Usage() + } + } + + cmd := flag.Arg(0) + var err error + if useHttp { + trans, err = thrift.NewTHttpClient(parsedUrl.String()) + } else { + portStr := fmt.Sprint(port) + if strings.Contains(host, ":") { + host, portStr, err = net.SplitHostPort(host) + if err != nil { + fmt.Fprintln(os.Stderr, "error with host:", err) + os.Exit(1) + } + } + trans, err = thrift.NewTSocket(net.JoinHostPort(host, portStr)) + if err != nil { + fmt.Fprintln(os.Stderr, "error resolving address:", err) + os.Exit(1) + } + if framed { + trans = thrift.NewTFramedTransport(trans) + } + } + if err != nil { + fmt.Fprintln(os.Stderr, "Error creating transport", err) + os.Exit(1) + } + defer trans.Close() + var protocolFactory thrift.TProtocolFactory + switch protocol { + case "compact": + protocolFactory = thrift.NewTCompactProtocolFactory() + break + case "simplejson": + protocolFactory = thrift.NewTSimpleJSONProtocolFactory() + break + case "json": + protocolFactory = thrift.NewTJSONProtocolFactory() + break + case "binary", "": + protocolFactory = thrift.NewTBinaryProtocolFactoryDefault() + break + default: + fmt.Fprintln(os.Stderr, "Invalid protocol specified: ", protocol) + Usage() + os.Exit(1) + } + client := instance_service.NewInstanceServiceClientFactory(trans, protocolFactory) + if err := trans.Open(); err != nil { + fmt.Fprintln(os.Stderr, "Error opening socket to ", host, ":", port, " ", err) + os.Exit(1) + } + + switch cmd { + case "AddPort": + if flag.NArg()-1 != 1 { + fmt.Fprintln(os.Stderr, "AddPort requires 1 args") + flag.Usage() + } + arg44 := flag.Arg(1) + mbTrans45 := thrift.NewTMemoryBufferLen(len(arg44)) + defer mbTrans45.Close() + _, err46 := mbTrans45.WriteString(arg44) + if err46 != nil { + Usage() + return + } + factory47 := thrift.NewTSimpleJSONProtocolFactory() + jsProt48 := factory47.GetProtocol(mbTrans45) + containerStruct0 := instance_service.NewInstanceServiceAddPortArgs() + err49 := containerStruct0.ReadField1(jsProt48) + if err49 != nil { + Usage() + return + } + argvalue0 := containerStruct0.PortList + value0 := instance_service.PortList(argvalue0) + fmt.Print(client.AddPort(value0)) + fmt.Print("\n") + break + case "KeepAliveCheck": + if flag.NArg()-1 != 0 { + fmt.Fprintln(os.Stderr, "KeepAliveCheck requires 0 args") + flag.Usage() + } + fmt.Print(client.KeepAliveCheck()) + fmt.Print("\n") + break + case "Connect": + if flag.NArg()-1 != 0 { + fmt.Fprintln(os.Stderr, "Connect requires 0 args") + flag.Usage() + } + fmt.Print(client.Connect()) + fmt.Print("\n") + break + case "DeletePort": + if flag.NArg()-1 != 1 { + fmt.Fprintln(os.Stderr, "DeletePort requires 1 args") + flag.Usage() + } + arg50 := flag.Arg(1) + mbTrans51 := thrift.NewTMemoryBufferLen(len(arg50)) + defer mbTrans51.Close() + _, err52 := mbTrans51.WriteString(arg50) + if err52 != nil { + Usage() + return + } + factory53 := thrift.NewTSimpleJSONProtocolFactory() + jsProt54 := factory53.GetProtocol(mbTrans51) + containerStruct0 := instance_service.NewInstanceServiceDeletePortArgs() + err55 := containerStruct0.ReadField1(jsProt54) + if err55 != nil { + Usage() + return + } + argvalue0 := containerStruct0.PortID + value0 := instance_service.Tuuid(argvalue0) + fmt.Print(client.DeletePort(value0)) + fmt.Print("\n") + break + case "AddVirtualGateway": + if flag.NArg()-1 != 1 { + fmt.Fprintln(os.Stderr, "AddVirtualGateway requires 1 args") + flag.Usage() + } + arg56 := flag.Arg(1) + mbTrans57 := thrift.NewTMemoryBufferLen(len(arg56)) + defer mbTrans57.Close() + _, err58 := mbTrans57.WriteString(arg56) + if err58 != nil { + Usage() + return + } + factory59 := thrift.NewTSimpleJSONProtocolFactory() + jsProt60 := factory59.GetProtocol(mbTrans57) + containerStruct0 := instance_service.NewInstanceServiceAddVirtualGatewayArgs() + err61 := containerStruct0.ReadField1(jsProt60) + if err61 != nil { + Usage() + return + } + argvalue0 := containerStruct0.VgwList + value0 := instance_service.VirtualGatewayRequestList(argvalue0) + fmt.Print(client.AddVirtualGateway(value0)) + fmt.Print("\n") + break + case "DeleteVirtualGateway": + if flag.NArg()-1 != 1 { + fmt.Fprintln(os.Stderr, "DeleteVirtualGateway requires 1 args") + flag.Usage() + } + arg62 := flag.Arg(1) + mbTrans63 := thrift.NewTMemoryBufferLen(len(arg62)) + defer mbTrans63.Close() + _, err64 := mbTrans63.WriteString(arg62) + if err64 != nil { + Usage() + return + } + factory65 := thrift.NewTSimpleJSONProtocolFactory() + jsProt66 := factory65.GetProtocol(mbTrans63) + containerStruct0 := instance_service.NewInstanceServiceDeleteVirtualGatewayArgs() + err67 := containerStruct0.ReadField1(jsProt66) + if err67 != nil { + Usage() + return + } + argvalue0 := containerStruct0.VgwList + value0 := argvalue0 + fmt.Print(client.DeleteVirtualGateway(value0)) + fmt.Print("\n") + break + case "ConnectForVirtualGateway": + if flag.NArg()-1 != 0 { + fmt.Fprintln(os.Stderr, "ConnectForVirtualGateway requires 0 args") + flag.Usage() + } + fmt.Print(client.ConnectForVirtualGateway()) + fmt.Print("\n") + break + case "AuditTimerForVirtualGateway": + if flag.NArg()-1 != 1 { + fmt.Fprintln(os.Stderr, "AuditTimerForVirtualGateway requires 1 args") + flag.Usage() + } + tmp0, err68 := (strconv.Atoi(flag.Arg(1))) + if err68 != nil { + Usage() + return + } + argvalue0 := int32(tmp0) + value0 := argvalue0 + fmt.Print(client.AuditTimerForVirtualGateway(value0)) + fmt.Print("\n") + break + case "TunnelNHEntryAdd": + if flag.NArg()-1 != 3 { + fmt.Fprintln(os.Stderr, "TunnelNHEntryAdd requires 3 args") + flag.Usage() + } + argvalue0 := flag.Arg(1) + value0 := argvalue0 + argvalue1 := flag.Arg(2) + value1 := argvalue1 + argvalue2 := flag.Arg(3) + value2 := argvalue2 + fmt.Print(client.TunnelNHEntryAdd(value0, value1, value2)) + fmt.Print("\n") + break + case "TunnelNHEntryDelete": + if flag.NArg()-1 != 3 { + fmt.Fprintln(os.Stderr, "TunnelNHEntryDelete requires 3 args") + flag.Usage() + } + argvalue0 := flag.Arg(1) + value0 := argvalue0 + argvalue1 := flag.Arg(2) + value1 := argvalue1 + argvalue2 := flag.Arg(3) + value2 := argvalue2 + fmt.Print(client.TunnelNHEntryDelete(value0, value1, value2)) + fmt.Print("\n") + break + case "RouteEntryAdd": + if flag.NArg()-1 != 4 { + fmt.Fprintln(os.Stderr, "RouteEntryAdd requires 4 args") + flag.Usage() + } + argvalue0 := flag.Arg(1) + value0 := argvalue0 + argvalue1 := flag.Arg(2) + value1 := argvalue1 + argvalue2 := flag.Arg(3) + value2 := argvalue2 + argvalue3 := flag.Arg(4) + value3 := argvalue3 + fmt.Print(client.RouteEntryAdd(value0, value1, value2, value3)) + fmt.Print("\n") + break + case "RouteEntryDelete": + if flag.NArg()-1 != 2 { + fmt.Fprintln(os.Stderr, "RouteEntryDelete requires 2 args") + flag.Usage() + } + argvalue0 := flag.Arg(1) + value0 := argvalue0 + argvalue1 := flag.Arg(2) + value1 := argvalue1 + fmt.Print(client.RouteEntryDelete(value0, value1)) + fmt.Print("\n") + break + case "AddHostRoute": + if flag.NArg()-1 != 2 { + fmt.Fprintln(os.Stderr, "AddHostRoute requires 2 args") + flag.Usage() + } + argvalue0 := flag.Arg(1) + value0 := argvalue0 + argvalue1 := flag.Arg(2) + value1 := argvalue1 + fmt.Print(client.AddHostRoute(value0, value1)) + fmt.Print("\n") + break + case "AddLocalVmRoute": + if flag.NArg()-1 != 4 { + fmt.Fprintln(os.Stderr, "AddLocalVmRoute requires 4 args") + flag.Usage() + } + argvalue0 := flag.Arg(1) + value0 := argvalue0 + argvalue1 := flag.Arg(2) + value1 := argvalue1 + argvalue2 := flag.Arg(3) + value2 := argvalue2 + argvalue3 := flag.Arg(4) + value3 := argvalue3 + fmt.Print(client.AddLocalVmRoute(value0, value1, value2, value3)) + fmt.Print("\n") + break + case "AddRemoteVmRoute": + if flag.NArg()-1 != 4 { + fmt.Fprintln(os.Stderr, "AddRemoteVmRoute requires 4 args") + flag.Usage() + } + argvalue0 := flag.Arg(1) + value0 := argvalue0 + argvalue1 := flag.Arg(2) + value1 := argvalue1 + argvalue2 := flag.Arg(3) + value2 := argvalue2 + argvalue3 := flag.Arg(4) + value3 := argvalue3 + fmt.Print(client.AddRemoteVmRoute(value0, value1, value2, value3)) + fmt.Print("\n") + break + case "CreateVrf": + if flag.NArg()-1 != 1 { + fmt.Fprintln(os.Stderr, "CreateVrf requires 1 args") + flag.Usage() + } + argvalue0 := flag.Arg(1) + value0 := argvalue0 + fmt.Print(client.CreateVrf(value0)) + fmt.Print("\n") + break + case "": + Usage() + break + default: + fmt.Fprintln(os.Stderr, "Invalid function ", cmd) + } +} diff --git a/gen-go/instance_service/instanceservice.go b/gen-go/instance_service/instanceservice.go new file mode 100644 index 0000000..29ce668 --- /dev/null +++ b/gen-go/instance_service/instanceservice.go @@ -0,0 +1,5867 @@ +// Autogenerated by Thrift Compiler (0.9.3) +// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + +package instance_service + +import ( + "bytes" + "fmt" + "git.apache.org/thrift.git/lib/go/thrift" +) + +// (needed to ensure safety because of naive import list construction.) +var _ = thrift.ZERO +var _ = fmt.Printf +var _ = bytes.Equal + +type InstanceService interface { + // Parameters: + // - PortList + AddPort(port_list PortList) (r bool, err error) + KeepAliveCheck() (r bool, err error) + Connect() (r bool, err error) + // Parameters: + // - PortID + DeletePort(port_id Tuuid) (r bool, err error) + // Parameters: + // - VgwList + AddVirtualGateway(vgw_list VirtualGatewayRequestList) (r bool, err error) + // Parameters: + // - VgwList + DeleteVirtualGateway(vgw_list []string) (r bool, err error) + ConnectForVirtualGateway() (r bool, err error) + // Parameters: + // - Timeout + AuditTimerForVirtualGateway(timeout int32) (r bool, err error) + // Parameters: + // - SrcIP + // - DstIP + // - VrfName + TunnelNHEntryAdd(src_ip string, dst_ip string, vrf_name string) (r bool, err error) + // Parameters: + // - SrcIP + // - DstIP + // - VrfName + TunnelNHEntryDelete(src_ip string, dst_ip string, vrf_name string) (r bool, err error) + // Parameters: + // - IPAddress + // - GwIP + // - VrfName + // - Label + RouteEntryAdd(ip_address string, gw_ip string, vrf_name string, label string) (r bool, err error) + // Parameters: + // - IPAddress + // - VrfName + RouteEntryDelete(ip_address string, vrf_name string) (r bool, err error) + // Parameters: + // - IPAddress + // - VrfName + AddHostRoute(ip_address string, vrf_name string) (r bool, err error) + // Parameters: + // - IPAddress + // - IntfUUID + // - VrfName + // - Label + AddLocalVmRoute(ip_address string, intf_uuid string, vrf_name string, label string) (r bool, err error) + // Parameters: + // - IPAddress + // - GwIP + // - VrfName + // - Label + AddRemoteVmRoute(ip_address string, gw_ip string, vrf_name string, label string) (r bool, err error) + // Parameters: + // - VrfName + CreateVrf(vrf_name string) (r bool, err error) +} + +type InstanceServiceClient struct { + Transport thrift.TTransport + ProtocolFactory thrift.TProtocolFactory + InputProtocol thrift.TProtocol + OutputProtocol thrift.TProtocol + SeqId int32 +} + +func NewInstanceServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *InstanceServiceClient { + return &InstanceServiceClient{Transport: t, + ProtocolFactory: f, + InputProtocol: f.GetProtocol(t), + OutputProtocol: f.GetProtocol(t), + SeqId: 0, + } +} + +func NewInstanceServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *InstanceServiceClient { + return &InstanceServiceClient{Transport: t, + ProtocolFactory: nil, + InputProtocol: iprot, + OutputProtocol: oprot, + SeqId: 0, + } +} + +// Parameters: +// - PortList +func (p *InstanceServiceClient) AddPort(port_list PortList) (r bool, err error) { + if err = p.sendAddPort(port_list); err != nil { + return + } + return p.recvAddPort() +} + +func (p *InstanceServiceClient) sendAddPort(port_list PortList) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("AddPort", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceAddPortArgs{ + PortList: port_list, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvAddPort() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "AddPort" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "AddPort failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "AddPort failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error6 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error7 error + error7, err = error6.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error7 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "AddPort failed: invalid message type") + return + } + result := InstanceServiceAddPortResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +func (p *InstanceServiceClient) KeepAliveCheck() (r bool, err error) { + if err = p.sendKeepAliveCheck(); err != nil { + return + } + return p.recvKeepAliveCheck() +} + +func (p *InstanceServiceClient) sendKeepAliveCheck() (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("KeepAliveCheck", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceKeepAliveCheckArgs{} + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvKeepAliveCheck() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "KeepAliveCheck" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "KeepAliveCheck failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "KeepAliveCheck failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error8 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error9 error + error9, err = error8.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error9 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "KeepAliveCheck failed: invalid message type") + return + } + result := InstanceServiceKeepAliveCheckResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +func (p *InstanceServiceClient) Connect() (r bool, err error) { + if err = p.sendConnect(); err != nil { + return + } + return p.recvConnect() +} + +func (p *InstanceServiceClient) sendConnect() (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("Connect", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceConnectArgs{} + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvConnect() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "Connect" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "Connect failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "Connect failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error10 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error11 error + error11, err = error10.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error11 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "Connect failed: invalid message type") + return + } + result := InstanceServiceConnectResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - PortID +func (p *InstanceServiceClient) DeletePort(port_id Tuuid) (r bool, err error) { + if err = p.sendDeletePort(port_id); err != nil { + return + } + return p.recvDeletePort() +} + +func (p *InstanceServiceClient) sendDeletePort(port_id Tuuid) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("DeletePort", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceDeletePortArgs{ + PortID: port_id, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvDeletePort() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "DeletePort" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "DeletePort failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "DeletePort failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error12 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error13 error + error13, err = error12.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error13 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "DeletePort failed: invalid message type") + return + } + result := InstanceServiceDeletePortResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - VgwList +func (p *InstanceServiceClient) AddVirtualGateway(vgw_list VirtualGatewayRequestList) (r bool, err error) { + if err = p.sendAddVirtualGateway(vgw_list); err != nil { + return + } + return p.recvAddVirtualGateway() +} + +func (p *InstanceServiceClient) sendAddVirtualGateway(vgw_list VirtualGatewayRequestList) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("AddVirtualGateway", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceAddVirtualGatewayArgs{ + VgwList: vgw_list, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvAddVirtualGateway() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "AddVirtualGateway" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "AddVirtualGateway failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "AddVirtualGateway failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error14 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error15 error + error15, err = error14.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error15 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "AddVirtualGateway failed: invalid message type") + return + } + result := InstanceServiceAddVirtualGatewayResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - VgwList +func (p *InstanceServiceClient) DeleteVirtualGateway(vgw_list []string) (r bool, err error) { + if err = p.sendDeleteVirtualGateway(vgw_list); err != nil { + return + } + return p.recvDeleteVirtualGateway() +} + +func (p *InstanceServiceClient) sendDeleteVirtualGateway(vgw_list []string) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("DeleteVirtualGateway", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceDeleteVirtualGatewayArgs{ + VgwList: vgw_list, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvDeleteVirtualGateway() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "DeleteVirtualGateway" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "DeleteVirtualGateway failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "DeleteVirtualGateway failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error16 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error17 error + error17, err = error16.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error17 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "DeleteVirtualGateway failed: invalid message type") + return + } + result := InstanceServiceDeleteVirtualGatewayResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +func (p *InstanceServiceClient) ConnectForVirtualGateway() (r bool, err error) { + if err = p.sendConnectForVirtualGateway(); err != nil { + return + } + return p.recvConnectForVirtualGateway() +} + +func (p *InstanceServiceClient) sendConnectForVirtualGateway() (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("ConnectForVirtualGateway", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceConnectForVirtualGatewayArgs{} + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvConnectForVirtualGateway() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "ConnectForVirtualGateway" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "ConnectForVirtualGateway failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "ConnectForVirtualGateway failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error18 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error19 error + error19, err = error18.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error19 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "ConnectForVirtualGateway failed: invalid message type") + return + } + result := InstanceServiceConnectForVirtualGatewayResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - Timeout +func (p *InstanceServiceClient) AuditTimerForVirtualGateway(timeout int32) (r bool, err error) { + if err = p.sendAuditTimerForVirtualGateway(timeout); err != nil { + return + } + return p.recvAuditTimerForVirtualGateway() +} + +func (p *InstanceServiceClient) sendAuditTimerForVirtualGateway(timeout int32) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("AuditTimerForVirtualGateway", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceAuditTimerForVirtualGatewayArgs{ + Timeout: timeout, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvAuditTimerForVirtualGateway() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "AuditTimerForVirtualGateway" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "AuditTimerForVirtualGateway failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "AuditTimerForVirtualGateway failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error20 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error21 error + error21, err = error20.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error21 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "AuditTimerForVirtualGateway failed: invalid message type") + return + } + result := InstanceServiceAuditTimerForVirtualGatewayResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - SrcIP +// - DstIP +// - VrfName +func (p *InstanceServiceClient) TunnelNHEntryAdd(src_ip string, dst_ip string, vrf_name string) (r bool, err error) { + if err = p.sendTunnelNHEntryAdd(src_ip, dst_ip, vrf_name); err != nil { + return + } + return p.recvTunnelNHEntryAdd() +} + +func (p *InstanceServiceClient) sendTunnelNHEntryAdd(src_ip string, dst_ip string, vrf_name string) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("TunnelNHEntryAdd", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceTunnelNHEntryAddArgs{ + SrcIP: src_ip, + DstIP: dst_ip, + VrfName: vrf_name, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvTunnelNHEntryAdd() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "TunnelNHEntryAdd" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "TunnelNHEntryAdd failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "TunnelNHEntryAdd failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error22 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error23 error + error23, err = error22.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error23 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "TunnelNHEntryAdd failed: invalid message type") + return + } + result := InstanceServiceTunnelNHEntryAddResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - SrcIP +// - DstIP +// - VrfName +func (p *InstanceServiceClient) TunnelNHEntryDelete(src_ip string, dst_ip string, vrf_name string) (r bool, err error) { + if err = p.sendTunnelNHEntryDelete(src_ip, dst_ip, vrf_name); err != nil { + return + } + return p.recvTunnelNHEntryDelete() +} + +func (p *InstanceServiceClient) sendTunnelNHEntryDelete(src_ip string, dst_ip string, vrf_name string) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("TunnelNHEntryDelete", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceTunnelNHEntryDeleteArgs{ + SrcIP: src_ip, + DstIP: dst_ip, + VrfName: vrf_name, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvTunnelNHEntryDelete() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "TunnelNHEntryDelete" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "TunnelNHEntryDelete failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "TunnelNHEntryDelete failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error24 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error25 error + error25, err = error24.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error25 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "TunnelNHEntryDelete failed: invalid message type") + return + } + result := InstanceServiceTunnelNHEntryDeleteResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - IPAddress +// - GwIP +// - VrfName +// - Label +func (p *InstanceServiceClient) RouteEntryAdd(ip_address string, gw_ip string, vrf_name string, label string) (r bool, err error) { + if err = p.sendRouteEntryAdd(ip_address, gw_ip, vrf_name, label); err != nil { + return + } + return p.recvRouteEntryAdd() +} + +func (p *InstanceServiceClient) sendRouteEntryAdd(ip_address string, gw_ip string, vrf_name string, label string) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("RouteEntryAdd", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceRouteEntryAddArgs{ + IPAddress: ip_address, + GwIP: gw_ip, + VrfName: vrf_name, + Label: label, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvRouteEntryAdd() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "RouteEntryAdd" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "RouteEntryAdd failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "RouteEntryAdd failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error26 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error27 error + error27, err = error26.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error27 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "RouteEntryAdd failed: invalid message type") + return + } + result := InstanceServiceRouteEntryAddResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - IPAddress +// - VrfName +func (p *InstanceServiceClient) RouteEntryDelete(ip_address string, vrf_name string) (r bool, err error) { + if err = p.sendRouteEntryDelete(ip_address, vrf_name); err != nil { + return + } + return p.recvRouteEntryDelete() +} + +func (p *InstanceServiceClient) sendRouteEntryDelete(ip_address string, vrf_name string) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("RouteEntryDelete", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceRouteEntryDeleteArgs{ + IPAddress: ip_address, + VrfName: vrf_name, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvRouteEntryDelete() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "RouteEntryDelete" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "RouteEntryDelete failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "RouteEntryDelete failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error28 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error29 error + error29, err = error28.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error29 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "RouteEntryDelete failed: invalid message type") + return + } + result := InstanceServiceRouteEntryDeleteResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - IPAddress +// - VrfName +func (p *InstanceServiceClient) AddHostRoute(ip_address string, vrf_name string) (r bool, err error) { + if err = p.sendAddHostRoute(ip_address, vrf_name); err != nil { + return + } + return p.recvAddHostRoute() +} + +func (p *InstanceServiceClient) sendAddHostRoute(ip_address string, vrf_name string) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("AddHostRoute", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceAddHostRouteArgs{ + IPAddress: ip_address, + VrfName: vrf_name, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvAddHostRoute() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "AddHostRoute" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "AddHostRoute failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "AddHostRoute failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error30 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error31 error + error31, err = error30.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error31 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "AddHostRoute failed: invalid message type") + return + } + result := InstanceServiceAddHostRouteResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - IPAddress +// - IntfUUID +// - VrfName +// - Label +func (p *InstanceServiceClient) AddLocalVmRoute(ip_address string, intf_uuid string, vrf_name string, label string) (r bool, err error) { + if err = p.sendAddLocalVmRoute(ip_address, intf_uuid, vrf_name, label); err != nil { + return + } + return p.recvAddLocalVmRoute() +} + +func (p *InstanceServiceClient) sendAddLocalVmRoute(ip_address string, intf_uuid string, vrf_name string, label string) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("AddLocalVmRoute", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceAddLocalVmRouteArgs{ + IPAddress: ip_address, + IntfUUID: intf_uuid, + VrfName: vrf_name, + Label: label, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvAddLocalVmRoute() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "AddLocalVmRoute" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "AddLocalVmRoute failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "AddLocalVmRoute failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error32 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error33 error + error33, err = error32.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error33 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "AddLocalVmRoute failed: invalid message type") + return + } + result := InstanceServiceAddLocalVmRouteResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - IPAddress +// - GwIP +// - VrfName +// - Label +func (p *InstanceServiceClient) AddRemoteVmRoute(ip_address string, gw_ip string, vrf_name string, label string) (r bool, err error) { + if err = p.sendAddRemoteVmRoute(ip_address, gw_ip, vrf_name, label); err != nil { + return + } + return p.recvAddRemoteVmRoute() +} + +func (p *InstanceServiceClient) sendAddRemoteVmRoute(ip_address string, gw_ip string, vrf_name string, label string) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("AddRemoteVmRoute", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceAddRemoteVmRouteArgs{ + IPAddress: ip_address, + GwIP: gw_ip, + VrfName: vrf_name, + Label: label, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvAddRemoteVmRoute() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "AddRemoteVmRoute" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "AddRemoteVmRoute failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "AddRemoteVmRoute failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error34 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error35 error + error35, err = error34.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error35 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "AddRemoteVmRoute failed: invalid message type") + return + } + result := InstanceServiceAddRemoteVmRouteResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +// Parameters: +// - VrfName +func (p *InstanceServiceClient) CreateVrf(vrf_name string) (r bool, err error) { + if err = p.sendCreateVrf(vrf_name); err != nil { + return + } + return p.recvCreateVrf() +} + +func (p *InstanceServiceClient) sendCreateVrf(vrf_name string) (err error) { + oprot := p.OutputProtocol + if oprot == nil { + oprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.OutputProtocol = oprot + } + p.SeqId++ + if err = oprot.WriteMessageBegin("CreateVrf", thrift.CALL, p.SeqId); err != nil { + return + } + args := InstanceServiceCreateVrfArgs{ + VrfName: vrf_name, + } + if err = args.Write(oprot); err != nil { + return + } + if err = oprot.WriteMessageEnd(); err != nil { + return + } + return oprot.Flush() +} + +func (p *InstanceServiceClient) recvCreateVrf() (value bool, err error) { + iprot := p.InputProtocol + if iprot == nil { + iprot = p.ProtocolFactory.GetProtocol(p.Transport) + p.InputProtocol = iprot + } + method, mTypeId, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return + } + if method != "CreateVrf" { + err = thrift.NewTApplicationException(thrift.WRONG_METHOD_NAME, "CreateVrf failed: wrong method name") + return + } + if p.SeqId != seqId { + err = thrift.NewTApplicationException(thrift.BAD_SEQUENCE_ID, "CreateVrf failed: out of sequence response") + return + } + if mTypeId == thrift.EXCEPTION { + error36 := thrift.NewTApplicationException(thrift.UNKNOWN_APPLICATION_EXCEPTION, "Unknown Exception") + var error37 error + error37, err = error36.Read(iprot) + if err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + err = error37 + return + } + if mTypeId != thrift.REPLY { + err = thrift.NewTApplicationException(thrift.INVALID_MESSAGE_TYPE_EXCEPTION, "CreateVrf failed: invalid message type") + return + } + result := InstanceServiceCreateVrfResult{} + if err = result.Read(iprot); err != nil { + return + } + if err = iprot.ReadMessageEnd(); err != nil { + return + } + value = result.GetSuccess() + return +} + +type InstanceServiceProcessor struct { + processorMap map[string]thrift.TProcessorFunction + handler InstanceService +} + +func (p *InstanceServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { + p.processorMap[key] = processor +} + +func (p *InstanceServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { + processor, ok = p.processorMap[key] + return processor, ok +} + +func (p *InstanceServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { + return p.processorMap +} + +func NewInstanceServiceProcessor(handler InstanceService) *InstanceServiceProcessor { + + self38 := &InstanceServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} + self38.processorMap["AddPort"] = &instanceServiceProcessorAddPort{handler: handler} + self38.processorMap["KeepAliveCheck"] = &instanceServiceProcessorKeepAliveCheck{handler: handler} + self38.processorMap["Connect"] = &instanceServiceProcessorConnect{handler: handler} + self38.processorMap["DeletePort"] = &instanceServiceProcessorDeletePort{handler: handler} + self38.processorMap["AddVirtualGateway"] = &instanceServiceProcessorAddVirtualGateway{handler: handler} + self38.processorMap["DeleteVirtualGateway"] = &instanceServiceProcessorDeleteVirtualGateway{handler: handler} + self38.processorMap["ConnectForVirtualGateway"] = &instanceServiceProcessorConnectForVirtualGateway{handler: handler} + self38.processorMap["AuditTimerForVirtualGateway"] = &instanceServiceProcessorAuditTimerForVirtualGateway{handler: handler} + self38.processorMap["TunnelNHEntryAdd"] = &instanceServiceProcessorTunnelNHEntryAdd{handler: handler} + self38.processorMap["TunnelNHEntryDelete"] = &instanceServiceProcessorTunnelNHEntryDelete{handler: handler} + self38.processorMap["RouteEntryAdd"] = &instanceServiceProcessorRouteEntryAdd{handler: handler} + self38.processorMap["RouteEntryDelete"] = &instanceServiceProcessorRouteEntryDelete{handler: handler} + self38.processorMap["AddHostRoute"] = &instanceServiceProcessorAddHostRoute{handler: handler} + self38.processorMap["AddLocalVmRoute"] = &instanceServiceProcessorAddLocalVmRoute{handler: handler} + self38.processorMap["AddRemoteVmRoute"] = &instanceServiceProcessorAddRemoteVmRoute{handler: handler} + self38.processorMap["CreateVrf"] = &instanceServiceProcessorCreateVrf{handler: handler} + return self38 +} + +func (p *InstanceServiceProcessor) Process(iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + name, _, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return false, err + } + if processor, ok := p.GetProcessorFunction(name); ok { + return processor.Process(seqId, iprot, oprot) + } + iprot.Skip(thrift.STRUCT) + iprot.ReadMessageEnd() + x39 := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) + oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) + x39.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, x39 + +} + +type instanceServiceProcessorAddPort struct { + handler InstanceService +} + +func (p *instanceServiceProcessorAddPort) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceAddPortArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("AddPort", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceAddPortResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.AddPort(args.PortList); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing AddPort: "+err2.Error()) + oprot.WriteMessageBegin("AddPort", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("AddPort", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorKeepAliveCheck struct { + handler InstanceService +} + +func (p *instanceServiceProcessorKeepAliveCheck) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceKeepAliveCheckArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("KeepAliveCheck", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceKeepAliveCheckResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.KeepAliveCheck(); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing KeepAliveCheck: "+err2.Error()) + oprot.WriteMessageBegin("KeepAliveCheck", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("KeepAliveCheck", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorConnect struct { + handler InstanceService +} + +func (p *instanceServiceProcessorConnect) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceConnectArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("Connect", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceConnectResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.Connect(); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing Connect: "+err2.Error()) + oprot.WriteMessageBegin("Connect", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("Connect", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorDeletePort struct { + handler InstanceService +} + +func (p *instanceServiceProcessorDeletePort) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceDeletePortArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("DeletePort", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceDeletePortResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.DeletePort(args.PortID); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeletePort: "+err2.Error()) + oprot.WriteMessageBegin("DeletePort", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("DeletePort", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorAddVirtualGateway struct { + handler InstanceService +} + +func (p *instanceServiceProcessorAddVirtualGateway) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceAddVirtualGatewayArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("AddVirtualGateway", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceAddVirtualGatewayResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.AddVirtualGateway(args.VgwList); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing AddVirtualGateway: "+err2.Error()) + oprot.WriteMessageBegin("AddVirtualGateway", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("AddVirtualGateway", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorDeleteVirtualGateway struct { + handler InstanceService +} + +func (p *instanceServiceProcessorDeleteVirtualGateway) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceDeleteVirtualGatewayArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("DeleteVirtualGateway", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceDeleteVirtualGatewayResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.DeleteVirtualGateway(args.VgwList); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteVirtualGateway: "+err2.Error()) + oprot.WriteMessageBegin("DeleteVirtualGateway", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("DeleteVirtualGateway", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorConnectForVirtualGateway struct { + handler InstanceService +} + +func (p *instanceServiceProcessorConnectForVirtualGateway) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceConnectForVirtualGatewayArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ConnectForVirtualGateway", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceConnectForVirtualGatewayResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.ConnectForVirtualGateway(); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ConnectForVirtualGateway: "+err2.Error()) + oprot.WriteMessageBegin("ConnectForVirtualGateway", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("ConnectForVirtualGateway", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorAuditTimerForVirtualGateway struct { + handler InstanceService +} + +func (p *instanceServiceProcessorAuditTimerForVirtualGateway) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceAuditTimerForVirtualGatewayArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("AuditTimerForVirtualGateway", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceAuditTimerForVirtualGatewayResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.AuditTimerForVirtualGateway(args.Timeout); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing AuditTimerForVirtualGateway: "+err2.Error()) + oprot.WriteMessageBegin("AuditTimerForVirtualGateway", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("AuditTimerForVirtualGateway", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorTunnelNHEntryAdd struct { + handler InstanceService +} + +func (p *instanceServiceProcessorTunnelNHEntryAdd) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceTunnelNHEntryAddArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("TunnelNHEntryAdd", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceTunnelNHEntryAddResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.TunnelNHEntryAdd(args.SrcIP, args.DstIP, args.VrfName); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing TunnelNHEntryAdd: "+err2.Error()) + oprot.WriteMessageBegin("TunnelNHEntryAdd", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("TunnelNHEntryAdd", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorTunnelNHEntryDelete struct { + handler InstanceService +} + +func (p *instanceServiceProcessorTunnelNHEntryDelete) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceTunnelNHEntryDeleteArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("TunnelNHEntryDelete", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceTunnelNHEntryDeleteResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.TunnelNHEntryDelete(args.SrcIP, args.DstIP, args.VrfName); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing TunnelNHEntryDelete: "+err2.Error()) + oprot.WriteMessageBegin("TunnelNHEntryDelete", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("TunnelNHEntryDelete", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorRouteEntryAdd struct { + handler InstanceService +} + +func (p *instanceServiceProcessorRouteEntryAdd) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceRouteEntryAddArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("RouteEntryAdd", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceRouteEntryAddResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.RouteEntryAdd(args.IPAddress, args.GwIP, args.VrfName, args.Label); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing RouteEntryAdd: "+err2.Error()) + oprot.WriteMessageBegin("RouteEntryAdd", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("RouteEntryAdd", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorRouteEntryDelete struct { + handler InstanceService +} + +func (p *instanceServiceProcessorRouteEntryDelete) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceRouteEntryDeleteArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("RouteEntryDelete", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceRouteEntryDeleteResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.RouteEntryDelete(args.IPAddress, args.VrfName); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing RouteEntryDelete: "+err2.Error()) + oprot.WriteMessageBegin("RouteEntryDelete", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("RouteEntryDelete", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorAddHostRoute struct { + handler InstanceService +} + +func (p *instanceServiceProcessorAddHostRoute) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceAddHostRouteArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("AddHostRoute", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceAddHostRouteResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.AddHostRoute(args.IPAddress, args.VrfName); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing AddHostRoute: "+err2.Error()) + oprot.WriteMessageBegin("AddHostRoute", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("AddHostRoute", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorAddLocalVmRoute struct { + handler InstanceService +} + +func (p *instanceServiceProcessorAddLocalVmRoute) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceAddLocalVmRouteArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("AddLocalVmRoute", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceAddLocalVmRouteResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.AddLocalVmRoute(args.IPAddress, args.IntfUUID, args.VrfName, args.Label); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing AddLocalVmRoute: "+err2.Error()) + oprot.WriteMessageBegin("AddLocalVmRoute", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("AddLocalVmRoute", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorAddRemoteVmRoute struct { + handler InstanceService +} + +func (p *instanceServiceProcessorAddRemoteVmRoute) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceAddRemoteVmRouteArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("AddRemoteVmRoute", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceAddRemoteVmRouteResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.AddRemoteVmRoute(args.IPAddress, args.GwIP, args.VrfName, args.Label); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing AddRemoteVmRoute: "+err2.Error()) + oprot.WriteMessageBegin("AddRemoteVmRoute", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("AddRemoteVmRoute", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type instanceServiceProcessorCreateVrf struct { + handler InstanceService +} + +func (p *instanceServiceProcessorCreateVrf) Process(seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := InstanceServiceCreateVrfArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("CreateVrf", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return false, err + } + + iprot.ReadMessageEnd() + result := InstanceServiceCreateVrfResult{} + var retval bool + var err2 error + if retval, err2 = p.handler.CreateVrf(args.VrfName); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateVrf: "+err2.Error()) + oprot.WriteMessageBegin("CreateVrf", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush() + return true, err2 + } else { + result.Success = &retval + } + if err2 = oprot.WriteMessageBegin("CreateVrf", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +// HELPER FUNCTIONS AND STRUCTURES + +// Attributes: +// - PortList +type InstanceServiceAddPortArgs struct { + PortList PortList `thrift:"port_list,1,required" json:"port_list"` +} + +func NewInstanceServiceAddPortArgs() *InstanceServiceAddPortArgs { + return &InstanceServiceAddPortArgs{} +} + +func (p *InstanceServiceAddPortArgs) GetPortList() PortList { + return p.PortList +} +func (p *InstanceServiceAddPortArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetPortList bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetPortList = true + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetPortList { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field PortList is not set")) + } + return nil +} + +func (p *InstanceServiceAddPortArgs) readField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make(PortList, 0, size) + p.PortList = tSlice + for i := 0; i < size; i++ { + _elem40 := &Port{} + if err := _elem40.Read(iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem40), err) + } + p.PortList = append(p.PortList, _elem40) + } + if err := iprot.ReadListEnd(); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *InstanceServiceAddPortArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AddPort_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAddPortArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("port_list", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:port_list: ", p), err) + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.PortList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.PortList { + if err := v.Write(oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:port_list: ", p), err) + } + return err +} + +func (p *InstanceServiceAddPortArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAddPortArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceAddPortResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceAddPortResult() *InstanceServiceAddPortResult { + return &InstanceServiceAddPortResult{} +} + +var InstanceServiceAddPortResult_Success_DEFAULT bool + +func (p *InstanceServiceAddPortResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceAddPortResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceAddPortResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceAddPortResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceAddPortResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceAddPortResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AddPort_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAddPortResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceAddPortResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAddPortResult(%+v)", *p) +} + +type InstanceServiceKeepAliveCheckArgs struct { +} + +func NewInstanceServiceKeepAliveCheckArgs() *InstanceServiceKeepAliveCheckArgs { + return &InstanceServiceKeepAliveCheckArgs{} +} + +func (p *InstanceServiceKeepAliveCheckArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceKeepAliveCheckArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("KeepAliveCheck_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceKeepAliveCheckArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceKeepAliveCheckArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceKeepAliveCheckResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceKeepAliveCheckResult() *InstanceServiceKeepAliveCheckResult { + return &InstanceServiceKeepAliveCheckResult{} +} + +var InstanceServiceKeepAliveCheckResult_Success_DEFAULT bool + +func (p *InstanceServiceKeepAliveCheckResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceKeepAliveCheckResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceKeepAliveCheckResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceKeepAliveCheckResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceKeepAliveCheckResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceKeepAliveCheckResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("KeepAliveCheck_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceKeepAliveCheckResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceKeepAliveCheckResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceKeepAliveCheckResult(%+v)", *p) +} + +type InstanceServiceConnectArgs struct { +} + +func NewInstanceServiceConnectArgs() *InstanceServiceConnectArgs { + return &InstanceServiceConnectArgs{} +} + +func (p *InstanceServiceConnectArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceConnectArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("Connect_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceConnectArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceConnectArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceConnectResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceConnectResult() *InstanceServiceConnectResult { + return &InstanceServiceConnectResult{} +} + +var InstanceServiceConnectResult_Success_DEFAULT bool + +func (p *InstanceServiceConnectResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceConnectResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceConnectResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceConnectResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceConnectResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceConnectResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("Connect_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceConnectResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceConnectResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceConnectResult(%+v)", *p) +} + +// Attributes: +// - PortID +type InstanceServiceDeletePortArgs struct { + PortID Tuuid `thrift:"port_id,1,required" json:"port_id"` +} + +func NewInstanceServiceDeletePortArgs() *InstanceServiceDeletePortArgs { + return &InstanceServiceDeletePortArgs{} +} + +func (p *InstanceServiceDeletePortArgs) GetPortID() Tuuid { + return p.PortID +} +func (p *InstanceServiceDeletePortArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetPortID bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetPortID = true + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetPortID { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field PortID is not set")) + } + return nil +} + +func (p *InstanceServiceDeletePortArgs) readField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make(Tuuid, 0, size) + p.PortID = tSlice + for i := 0; i < size; i++ { + var _elem41 int16 + if v, err := iprot.ReadI16(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem41 = v + } + p.PortID = append(p.PortID, _elem41) + } + if err := iprot.ReadListEnd(); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *InstanceServiceDeletePortArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("DeletePort_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceDeletePortArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("port_id", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:port_id: ", p), err) + } + if err := oprot.WriteListBegin(thrift.I16, len(p.PortID)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.PortID { + if err := oprot.WriteI16(int16(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:port_id: ", p), err) + } + return err +} + +func (p *InstanceServiceDeletePortArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceDeletePortArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceDeletePortResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceDeletePortResult() *InstanceServiceDeletePortResult { + return &InstanceServiceDeletePortResult{} +} + +var InstanceServiceDeletePortResult_Success_DEFAULT bool + +func (p *InstanceServiceDeletePortResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceDeletePortResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceDeletePortResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceDeletePortResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceDeletePortResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceDeletePortResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("DeletePort_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceDeletePortResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceDeletePortResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceDeletePortResult(%+v)", *p) +} + +// Attributes: +// - VgwList +type InstanceServiceAddVirtualGatewayArgs struct { + VgwList VirtualGatewayRequestList `thrift:"vgw_list,1,required" json:"vgw_list"` +} + +func NewInstanceServiceAddVirtualGatewayArgs() *InstanceServiceAddVirtualGatewayArgs { + return &InstanceServiceAddVirtualGatewayArgs{} +} + +func (p *InstanceServiceAddVirtualGatewayArgs) GetVgwList() VirtualGatewayRequestList { + return p.VgwList +} +func (p *InstanceServiceAddVirtualGatewayArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetVgwList bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetVgwList = true + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetVgwList { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field VgwList is not set")) + } + return nil +} + +func (p *InstanceServiceAddVirtualGatewayArgs) readField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make(VirtualGatewayRequestList, 0, size) + p.VgwList = tSlice + for i := 0; i < size; i++ { + _elem42 := &VirtualGatewayRequest{} + if err := _elem42.Read(iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem42), err) + } + p.VgwList = append(p.VgwList, _elem42) + } + if err := iprot.ReadListEnd(); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *InstanceServiceAddVirtualGatewayArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AddVirtualGateway_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAddVirtualGatewayArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("vgw_list", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:vgw_list: ", p), err) + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.VgwList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.VgwList { + if err := v.Write(oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:vgw_list: ", p), err) + } + return err +} + +func (p *InstanceServiceAddVirtualGatewayArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAddVirtualGatewayArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceAddVirtualGatewayResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceAddVirtualGatewayResult() *InstanceServiceAddVirtualGatewayResult { + return &InstanceServiceAddVirtualGatewayResult{} +} + +var InstanceServiceAddVirtualGatewayResult_Success_DEFAULT bool + +func (p *InstanceServiceAddVirtualGatewayResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceAddVirtualGatewayResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceAddVirtualGatewayResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceAddVirtualGatewayResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceAddVirtualGatewayResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceAddVirtualGatewayResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AddVirtualGateway_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAddVirtualGatewayResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceAddVirtualGatewayResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAddVirtualGatewayResult(%+v)", *p) +} + +// Attributes: +// - VgwList +type InstanceServiceDeleteVirtualGatewayArgs struct { + VgwList []string `thrift:"vgw_list,1,required" json:"vgw_list"` +} + +func NewInstanceServiceDeleteVirtualGatewayArgs() *InstanceServiceDeleteVirtualGatewayArgs { + return &InstanceServiceDeleteVirtualGatewayArgs{} +} + +func (p *InstanceServiceDeleteVirtualGatewayArgs) GetVgwList() []string { + return p.VgwList +} +func (p *InstanceServiceDeleteVirtualGatewayArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetVgwList bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetVgwList = true + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetVgwList { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field VgwList is not set")) + } + return nil +} + +func (p *InstanceServiceDeleteVirtualGatewayArgs) readField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make([]string, 0, size) + p.VgwList = tSlice + for i := 0; i < size; i++ { + var _elem43 string + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem43 = v + } + p.VgwList = append(p.VgwList, _elem43) + } + if err := iprot.ReadListEnd(); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *InstanceServiceDeleteVirtualGatewayArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("DeleteVirtualGateway_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceDeleteVirtualGatewayArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("vgw_list", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:vgw_list: ", p), err) + } + if err := oprot.WriteListBegin(thrift.STRING, len(p.VgwList)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.VgwList { + if err := oprot.WriteString(string(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:vgw_list: ", p), err) + } + return err +} + +func (p *InstanceServiceDeleteVirtualGatewayArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceDeleteVirtualGatewayArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceDeleteVirtualGatewayResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceDeleteVirtualGatewayResult() *InstanceServiceDeleteVirtualGatewayResult { + return &InstanceServiceDeleteVirtualGatewayResult{} +} + +var InstanceServiceDeleteVirtualGatewayResult_Success_DEFAULT bool + +func (p *InstanceServiceDeleteVirtualGatewayResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceDeleteVirtualGatewayResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceDeleteVirtualGatewayResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceDeleteVirtualGatewayResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceDeleteVirtualGatewayResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceDeleteVirtualGatewayResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("DeleteVirtualGateway_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceDeleteVirtualGatewayResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceDeleteVirtualGatewayResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceDeleteVirtualGatewayResult(%+v)", *p) +} + +type InstanceServiceConnectForVirtualGatewayArgs struct { +} + +func NewInstanceServiceConnectForVirtualGatewayArgs() *InstanceServiceConnectForVirtualGatewayArgs { + return &InstanceServiceConnectForVirtualGatewayArgs{} +} + +func (p *InstanceServiceConnectForVirtualGatewayArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceConnectForVirtualGatewayArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("ConnectForVirtualGateway_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceConnectForVirtualGatewayArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceConnectForVirtualGatewayArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceConnectForVirtualGatewayResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceConnectForVirtualGatewayResult() *InstanceServiceConnectForVirtualGatewayResult { + return &InstanceServiceConnectForVirtualGatewayResult{} +} + +var InstanceServiceConnectForVirtualGatewayResult_Success_DEFAULT bool + +func (p *InstanceServiceConnectForVirtualGatewayResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceConnectForVirtualGatewayResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceConnectForVirtualGatewayResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceConnectForVirtualGatewayResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceConnectForVirtualGatewayResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceConnectForVirtualGatewayResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("ConnectForVirtualGateway_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceConnectForVirtualGatewayResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceConnectForVirtualGatewayResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceConnectForVirtualGatewayResult(%+v)", *p) +} + +// Attributes: +// - Timeout +type InstanceServiceAuditTimerForVirtualGatewayArgs struct { + Timeout int32 `thrift:"timeout,1,required" json:"timeout"` +} + +func NewInstanceServiceAuditTimerForVirtualGatewayArgs() *InstanceServiceAuditTimerForVirtualGatewayArgs { + return &InstanceServiceAuditTimerForVirtualGatewayArgs{} +} + +func (p *InstanceServiceAuditTimerForVirtualGatewayArgs) GetTimeout() int32 { + return p.Timeout +} +func (p *InstanceServiceAuditTimerForVirtualGatewayArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetTimeout bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetTimeout = true + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetTimeout { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timeout is not set")) + } + return nil +} + +func (p *InstanceServiceAuditTimerForVirtualGatewayArgs) readField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Timeout = v + } + return nil +} + +func (p *InstanceServiceAuditTimerForVirtualGatewayArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AuditTimerForVirtualGateway_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAuditTimerForVirtualGatewayArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("timeout", thrift.I32, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:timeout: ", p), err) + } + if err := oprot.WriteI32(int32(p.Timeout)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.timeout (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:timeout: ", p), err) + } + return err +} + +func (p *InstanceServiceAuditTimerForVirtualGatewayArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAuditTimerForVirtualGatewayArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceAuditTimerForVirtualGatewayResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceAuditTimerForVirtualGatewayResult() *InstanceServiceAuditTimerForVirtualGatewayResult { + return &InstanceServiceAuditTimerForVirtualGatewayResult{} +} + +var InstanceServiceAuditTimerForVirtualGatewayResult_Success_DEFAULT bool + +func (p *InstanceServiceAuditTimerForVirtualGatewayResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceAuditTimerForVirtualGatewayResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceAuditTimerForVirtualGatewayResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceAuditTimerForVirtualGatewayResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceAuditTimerForVirtualGatewayResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceAuditTimerForVirtualGatewayResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AuditTimerForVirtualGateway_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAuditTimerForVirtualGatewayResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceAuditTimerForVirtualGatewayResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAuditTimerForVirtualGatewayResult(%+v)", *p) +} + +// Attributes: +// - SrcIP +// - DstIP +// - VrfName +type InstanceServiceTunnelNHEntryAddArgs struct { + SrcIP string `thrift:"src_ip,1,required" json:"src_ip"` + DstIP string `thrift:"dst_ip,2,required" json:"dst_ip"` + VrfName string `thrift:"vrf_name,3" json:"vrf_name"` +} + +func NewInstanceServiceTunnelNHEntryAddArgs() *InstanceServiceTunnelNHEntryAddArgs { + return &InstanceServiceTunnelNHEntryAddArgs{} +} + +func (p *InstanceServiceTunnelNHEntryAddArgs) GetSrcIP() string { + return p.SrcIP +} + +func (p *InstanceServiceTunnelNHEntryAddArgs) GetDstIP() string { + return p.DstIP +} + +func (p *InstanceServiceTunnelNHEntryAddArgs) GetVrfName() string { + return p.VrfName +} +func (p *InstanceServiceTunnelNHEntryAddArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetSrcIP bool = false + var issetDstIP bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetSrcIP = true + case 2: + if err := p.readField2(iprot); err != nil { + return err + } + issetDstIP = true + case 3: + if err := p.readField3(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetSrcIP { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SrcIP is not set")) + } + if !issetDstIP { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DstIP is not set")) + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryAddArgs) readField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.SrcIP = v + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryAddArgs) readField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.DstIP = v + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryAddArgs) readField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.VrfName = v + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryAddArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("TunnelNHEntryAdd_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := p.writeField2(oprot); err != nil { + return err + } + if err := p.writeField3(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryAddArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("src_ip", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:src_ip: ", p), err) + } + if err := oprot.WriteString(string(p.SrcIP)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.src_ip (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:src_ip: ", p), err) + } + return err +} + +func (p *InstanceServiceTunnelNHEntryAddArgs) writeField2(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("dst_ip", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:dst_ip: ", p), err) + } + if err := oprot.WriteString(string(p.DstIP)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dst_ip (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:dst_ip: ", p), err) + } + return err +} + +func (p *InstanceServiceTunnelNHEntryAddArgs) writeField3(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("vrf_name", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:vrf_name: ", p), err) + } + if err := oprot.WriteString(string(p.VrfName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.vrf_name (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:vrf_name: ", p), err) + } + return err +} + +func (p *InstanceServiceTunnelNHEntryAddArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceTunnelNHEntryAddArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceTunnelNHEntryAddResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceTunnelNHEntryAddResult() *InstanceServiceTunnelNHEntryAddResult { + return &InstanceServiceTunnelNHEntryAddResult{} +} + +var InstanceServiceTunnelNHEntryAddResult_Success_DEFAULT bool + +func (p *InstanceServiceTunnelNHEntryAddResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceTunnelNHEntryAddResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceTunnelNHEntryAddResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceTunnelNHEntryAddResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryAddResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryAddResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("TunnelNHEntryAdd_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryAddResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceTunnelNHEntryAddResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceTunnelNHEntryAddResult(%+v)", *p) +} + +// Attributes: +// - SrcIP +// - DstIP +// - VrfName +type InstanceServiceTunnelNHEntryDeleteArgs struct { + SrcIP string `thrift:"src_ip,1,required" json:"src_ip"` + DstIP string `thrift:"dst_ip,2,required" json:"dst_ip"` + VrfName string `thrift:"vrf_name,3" json:"vrf_name"` +} + +func NewInstanceServiceTunnelNHEntryDeleteArgs() *InstanceServiceTunnelNHEntryDeleteArgs { + return &InstanceServiceTunnelNHEntryDeleteArgs{} +} + +func (p *InstanceServiceTunnelNHEntryDeleteArgs) GetSrcIP() string { + return p.SrcIP +} + +func (p *InstanceServiceTunnelNHEntryDeleteArgs) GetDstIP() string { + return p.DstIP +} + +func (p *InstanceServiceTunnelNHEntryDeleteArgs) GetVrfName() string { + return p.VrfName +} +func (p *InstanceServiceTunnelNHEntryDeleteArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetSrcIP bool = false + var issetDstIP bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetSrcIP = true + case 2: + if err := p.readField2(iprot); err != nil { + return err + } + issetDstIP = true + case 3: + if err := p.readField3(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetSrcIP { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SrcIP is not set")) + } + if !issetDstIP { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DstIP is not set")) + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryDeleteArgs) readField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.SrcIP = v + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryDeleteArgs) readField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.DstIP = v + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryDeleteArgs) readField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.VrfName = v + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryDeleteArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("TunnelNHEntryDelete_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := p.writeField2(oprot); err != nil { + return err + } + if err := p.writeField3(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryDeleteArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("src_ip", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:src_ip: ", p), err) + } + if err := oprot.WriteString(string(p.SrcIP)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.src_ip (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:src_ip: ", p), err) + } + return err +} + +func (p *InstanceServiceTunnelNHEntryDeleteArgs) writeField2(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("dst_ip", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:dst_ip: ", p), err) + } + if err := oprot.WriteString(string(p.DstIP)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.dst_ip (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:dst_ip: ", p), err) + } + return err +} + +func (p *InstanceServiceTunnelNHEntryDeleteArgs) writeField3(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("vrf_name", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:vrf_name: ", p), err) + } + if err := oprot.WriteString(string(p.VrfName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.vrf_name (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:vrf_name: ", p), err) + } + return err +} + +func (p *InstanceServiceTunnelNHEntryDeleteArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceTunnelNHEntryDeleteArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceTunnelNHEntryDeleteResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceTunnelNHEntryDeleteResult() *InstanceServiceTunnelNHEntryDeleteResult { + return &InstanceServiceTunnelNHEntryDeleteResult{} +} + +var InstanceServiceTunnelNHEntryDeleteResult_Success_DEFAULT bool + +func (p *InstanceServiceTunnelNHEntryDeleteResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceTunnelNHEntryDeleteResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceTunnelNHEntryDeleteResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceTunnelNHEntryDeleteResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryDeleteResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryDeleteResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("TunnelNHEntryDelete_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceTunnelNHEntryDeleteResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceTunnelNHEntryDeleteResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceTunnelNHEntryDeleteResult(%+v)", *p) +} + +// Attributes: +// - IPAddress +// - GwIP +// - VrfName +// - Label +type InstanceServiceRouteEntryAddArgs struct { + IPAddress string `thrift:"ip_address,1,required" json:"ip_address"` + GwIP string `thrift:"gw_ip,2,required" json:"gw_ip"` + VrfName string `thrift:"vrf_name,3" json:"vrf_name"` + Label string `thrift:"label,4" json:"label"` +} + +func NewInstanceServiceRouteEntryAddArgs() *InstanceServiceRouteEntryAddArgs { + return &InstanceServiceRouteEntryAddArgs{} +} + +func (p *InstanceServiceRouteEntryAddArgs) GetIPAddress() string { + return p.IPAddress +} + +func (p *InstanceServiceRouteEntryAddArgs) GetGwIP() string { + return p.GwIP +} + +func (p *InstanceServiceRouteEntryAddArgs) GetVrfName() string { + return p.VrfName +} + +func (p *InstanceServiceRouteEntryAddArgs) GetLabel() string { + return p.Label +} +func (p *InstanceServiceRouteEntryAddArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetIPAddress bool = false + var issetGwIP bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetIPAddress = true + case 2: + if err := p.readField2(iprot); err != nil { + return err + } + issetGwIP = true + case 3: + if err := p.readField3(iprot); err != nil { + return err + } + case 4: + if err := p.readField4(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetIPAddress { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IPAddress is not set")) + } + if !issetGwIP { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field GwIP is not set")) + } + return nil +} + +func (p *InstanceServiceRouteEntryAddArgs) readField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.IPAddress = v + } + return nil +} + +func (p *InstanceServiceRouteEntryAddArgs) readField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.GwIP = v + } + return nil +} + +func (p *InstanceServiceRouteEntryAddArgs) readField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.VrfName = v + } + return nil +} + +func (p *InstanceServiceRouteEntryAddArgs) readField4(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Label = v + } + return nil +} + +func (p *InstanceServiceRouteEntryAddArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("RouteEntryAdd_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := p.writeField2(oprot); err != nil { + return err + } + if err := p.writeField3(oprot); err != nil { + return err + } + if err := p.writeField4(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceRouteEntryAddArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("ip_address", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ip_address: ", p), err) + } + if err := oprot.WriteString(string(p.IPAddress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ip_address (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ip_address: ", p), err) + } + return err +} + +func (p *InstanceServiceRouteEntryAddArgs) writeField2(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("gw_ip", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:gw_ip: ", p), err) + } + if err := oprot.WriteString(string(p.GwIP)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.gw_ip (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:gw_ip: ", p), err) + } + return err +} + +func (p *InstanceServiceRouteEntryAddArgs) writeField3(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("vrf_name", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:vrf_name: ", p), err) + } + if err := oprot.WriteString(string(p.VrfName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.vrf_name (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:vrf_name: ", p), err) + } + return err +} + +func (p *InstanceServiceRouteEntryAddArgs) writeField4(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("label", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:label: ", p), err) + } + if err := oprot.WriteString(string(p.Label)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.label (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:label: ", p), err) + } + return err +} + +func (p *InstanceServiceRouteEntryAddArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceRouteEntryAddArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceRouteEntryAddResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceRouteEntryAddResult() *InstanceServiceRouteEntryAddResult { + return &InstanceServiceRouteEntryAddResult{} +} + +var InstanceServiceRouteEntryAddResult_Success_DEFAULT bool + +func (p *InstanceServiceRouteEntryAddResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceRouteEntryAddResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceRouteEntryAddResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceRouteEntryAddResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceRouteEntryAddResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceRouteEntryAddResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("RouteEntryAdd_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceRouteEntryAddResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceRouteEntryAddResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceRouteEntryAddResult(%+v)", *p) +} + +// Attributes: +// - IPAddress +// - VrfName +type InstanceServiceRouteEntryDeleteArgs struct { + IPAddress string `thrift:"ip_address,1,required" json:"ip_address"` + VrfName string `thrift:"vrf_name,2,required" json:"vrf_name"` +} + +func NewInstanceServiceRouteEntryDeleteArgs() *InstanceServiceRouteEntryDeleteArgs { + return &InstanceServiceRouteEntryDeleteArgs{} +} + +func (p *InstanceServiceRouteEntryDeleteArgs) GetIPAddress() string { + return p.IPAddress +} + +func (p *InstanceServiceRouteEntryDeleteArgs) GetVrfName() string { + return p.VrfName +} +func (p *InstanceServiceRouteEntryDeleteArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetIPAddress bool = false + var issetVrfName bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetIPAddress = true + case 2: + if err := p.readField2(iprot); err != nil { + return err + } + issetVrfName = true + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetIPAddress { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IPAddress is not set")) + } + if !issetVrfName { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field VrfName is not set")) + } + return nil +} + +func (p *InstanceServiceRouteEntryDeleteArgs) readField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.IPAddress = v + } + return nil +} + +func (p *InstanceServiceRouteEntryDeleteArgs) readField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.VrfName = v + } + return nil +} + +func (p *InstanceServiceRouteEntryDeleteArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("RouteEntryDelete_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := p.writeField2(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceRouteEntryDeleteArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("ip_address", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ip_address: ", p), err) + } + if err := oprot.WriteString(string(p.IPAddress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ip_address (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ip_address: ", p), err) + } + return err +} + +func (p *InstanceServiceRouteEntryDeleteArgs) writeField2(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("vrf_name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:vrf_name: ", p), err) + } + if err := oprot.WriteString(string(p.VrfName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.vrf_name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:vrf_name: ", p), err) + } + return err +} + +func (p *InstanceServiceRouteEntryDeleteArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceRouteEntryDeleteArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceRouteEntryDeleteResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceRouteEntryDeleteResult() *InstanceServiceRouteEntryDeleteResult { + return &InstanceServiceRouteEntryDeleteResult{} +} + +var InstanceServiceRouteEntryDeleteResult_Success_DEFAULT bool + +func (p *InstanceServiceRouteEntryDeleteResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceRouteEntryDeleteResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceRouteEntryDeleteResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceRouteEntryDeleteResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceRouteEntryDeleteResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceRouteEntryDeleteResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("RouteEntryDelete_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceRouteEntryDeleteResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceRouteEntryDeleteResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceRouteEntryDeleteResult(%+v)", *p) +} + +// Attributes: +// - IPAddress +// - VrfName +type InstanceServiceAddHostRouteArgs struct { + IPAddress string `thrift:"ip_address,1,required" json:"ip_address"` + VrfName string `thrift:"vrf_name,2" json:"vrf_name"` +} + +func NewInstanceServiceAddHostRouteArgs() *InstanceServiceAddHostRouteArgs { + return &InstanceServiceAddHostRouteArgs{} +} + +func (p *InstanceServiceAddHostRouteArgs) GetIPAddress() string { + return p.IPAddress +} + +func (p *InstanceServiceAddHostRouteArgs) GetVrfName() string { + return p.VrfName +} +func (p *InstanceServiceAddHostRouteArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetIPAddress bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetIPAddress = true + case 2: + if err := p.readField2(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetIPAddress { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IPAddress is not set")) + } + return nil +} + +func (p *InstanceServiceAddHostRouteArgs) readField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.IPAddress = v + } + return nil +} + +func (p *InstanceServiceAddHostRouteArgs) readField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.VrfName = v + } + return nil +} + +func (p *InstanceServiceAddHostRouteArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AddHostRoute_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := p.writeField2(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAddHostRouteArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("ip_address", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ip_address: ", p), err) + } + if err := oprot.WriteString(string(p.IPAddress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ip_address (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ip_address: ", p), err) + } + return err +} + +func (p *InstanceServiceAddHostRouteArgs) writeField2(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("vrf_name", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:vrf_name: ", p), err) + } + if err := oprot.WriteString(string(p.VrfName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.vrf_name (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:vrf_name: ", p), err) + } + return err +} + +func (p *InstanceServiceAddHostRouteArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAddHostRouteArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceAddHostRouteResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceAddHostRouteResult() *InstanceServiceAddHostRouteResult { + return &InstanceServiceAddHostRouteResult{} +} + +var InstanceServiceAddHostRouteResult_Success_DEFAULT bool + +func (p *InstanceServiceAddHostRouteResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceAddHostRouteResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceAddHostRouteResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceAddHostRouteResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceAddHostRouteResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceAddHostRouteResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AddHostRoute_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAddHostRouteResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceAddHostRouteResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAddHostRouteResult(%+v)", *p) +} + +// Attributes: +// - IPAddress +// - IntfUUID +// - VrfName +// - Label +type InstanceServiceAddLocalVmRouteArgs struct { + IPAddress string `thrift:"ip_address,1,required" json:"ip_address"` + IntfUUID string `thrift:"intf_uuid,2,required" json:"intf_uuid"` + VrfName string `thrift:"vrf_name,3" json:"vrf_name"` + Label string `thrift:"label,4" json:"label"` +} + +func NewInstanceServiceAddLocalVmRouteArgs() *InstanceServiceAddLocalVmRouteArgs { + return &InstanceServiceAddLocalVmRouteArgs{} +} + +func (p *InstanceServiceAddLocalVmRouteArgs) GetIPAddress() string { + return p.IPAddress +} + +func (p *InstanceServiceAddLocalVmRouteArgs) GetIntfUUID() string { + return p.IntfUUID +} + +func (p *InstanceServiceAddLocalVmRouteArgs) GetVrfName() string { + return p.VrfName +} + +func (p *InstanceServiceAddLocalVmRouteArgs) GetLabel() string { + return p.Label +} +func (p *InstanceServiceAddLocalVmRouteArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetIPAddress bool = false + var issetIntfUUID bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetIPAddress = true + case 2: + if err := p.readField2(iprot); err != nil { + return err + } + issetIntfUUID = true + case 3: + if err := p.readField3(iprot); err != nil { + return err + } + case 4: + if err := p.readField4(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetIPAddress { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IPAddress is not set")) + } + if !issetIntfUUID { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IntfUUID is not set")) + } + return nil +} + +func (p *InstanceServiceAddLocalVmRouteArgs) readField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.IPAddress = v + } + return nil +} + +func (p *InstanceServiceAddLocalVmRouteArgs) readField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.IntfUUID = v + } + return nil +} + +func (p *InstanceServiceAddLocalVmRouteArgs) readField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.VrfName = v + } + return nil +} + +func (p *InstanceServiceAddLocalVmRouteArgs) readField4(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Label = v + } + return nil +} + +func (p *InstanceServiceAddLocalVmRouteArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AddLocalVmRoute_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := p.writeField2(oprot); err != nil { + return err + } + if err := p.writeField3(oprot); err != nil { + return err + } + if err := p.writeField4(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAddLocalVmRouteArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("ip_address", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ip_address: ", p), err) + } + if err := oprot.WriteString(string(p.IPAddress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ip_address (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ip_address: ", p), err) + } + return err +} + +func (p *InstanceServiceAddLocalVmRouteArgs) writeField2(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("intf_uuid", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:intf_uuid: ", p), err) + } + if err := oprot.WriteString(string(p.IntfUUID)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.intf_uuid (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:intf_uuid: ", p), err) + } + return err +} + +func (p *InstanceServiceAddLocalVmRouteArgs) writeField3(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("vrf_name", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:vrf_name: ", p), err) + } + if err := oprot.WriteString(string(p.VrfName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.vrf_name (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:vrf_name: ", p), err) + } + return err +} + +func (p *InstanceServiceAddLocalVmRouteArgs) writeField4(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("label", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:label: ", p), err) + } + if err := oprot.WriteString(string(p.Label)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.label (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:label: ", p), err) + } + return err +} + +func (p *InstanceServiceAddLocalVmRouteArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAddLocalVmRouteArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceAddLocalVmRouteResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceAddLocalVmRouteResult() *InstanceServiceAddLocalVmRouteResult { + return &InstanceServiceAddLocalVmRouteResult{} +} + +var InstanceServiceAddLocalVmRouteResult_Success_DEFAULT bool + +func (p *InstanceServiceAddLocalVmRouteResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceAddLocalVmRouteResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceAddLocalVmRouteResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceAddLocalVmRouteResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceAddLocalVmRouteResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceAddLocalVmRouteResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AddLocalVmRoute_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAddLocalVmRouteResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceAddLocalVmRouteResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAddLocalVmRouteResult(%+v)", *p) +} + +// Attributes: +// - IPAddress +// - GwIP +// - VrfName +// - Label +type InstanceServiceAddRemoteVmRouteArgs struct { + IPAddress string `thrift:"ip_address,1,required" json:"ip_address"` + GwIP string `thrift:"gw_ip,2,required" json:"gw_ip"` + VrfName string `thrift:"vrf_name,3" json:"vrf_name"` + Label string `thrift:"label,4" json:"label"` +} + +func NewInstanceServiceAddRemoteVmRouteArgs() *InstanceServiceAddRemoteVmRouteArgs { + return &InstanceServiceAddRemoteVmRouteArgs{} +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) GetIPAddress() string { + return p.IPAddress +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) GetGwIP() string { + return p.GwIP +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) GetVrfName() string { + return p.VrfName +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) GetLabel() string { + return p.Label +} +func (p *InstanceServiceAddRemoteVmRouteArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetIPAddress bool = false + var issetGwIP bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetIPAddress = true + case 2: + if err := p.readField2(iprot); err != nil { + return err + } + issetGwIP = true + case 3: + if err := p.readField3(iprot); err != nil { + return err + } + case 4: + if err := p.readField4(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetIPAddress { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IPAddress is not set")) + } + if !issetGwIP { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field GwIP is not set")) + } + return nil +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) readField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.IPAddress = v + } + return nil +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) readField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.GwIP = v + } + return nil +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) readField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.VrfName = v + } + return nil +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) readField4(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.Label = v + } + return nil +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AddRemoteVmRoute_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := p.writeField2(oprot); err != nil { + return err + } + if err := p.writeField3(oprot); err != nil { + return err + } + if err := p.writeField4(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("ip_address", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ip_address: ", p), err) + } + if err := oprot.WriteString(string(p.IPAddress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ip_address (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ip_address: ", p), err) + } + return err +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) writeField2(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("gw_ip", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:gw_ip: ", p), err) + } + if err := oprot.WriteString(string(p.GwIP)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.gw_ip (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:gw_ip: ", p), err) + } + return err +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) writeField3(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("vrf_name", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:vrf_name: ", p), err) + } + if err := oprot.WriteString(string(p.VrfName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.vrf_name (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:vrf_name: ", p), err) + } + return err +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) writeField4(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("label", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:label: ", p), err) + } + if err := oprot.WriteString(string(p.Label)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.label (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:label: ", p), err) + } + return err +} + +func (p *InstanceServiceAddRemoteVmRouteArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAddRemoteVmRouteArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceAddRemoteVmRouteResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceAddRemoteVmRouteResult() *InstanceServiceAddRemoteVmRouteResult { + return &InstanceServiceAddRemoteVmRouteResult{} +} + +var InstanceServiceAddRemoteVmRouteResult_Success_DEFAULT bool + +func (p *InstanceServiceAddRemoteVmRouteResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceAddRemoteVmRouteResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceAddRemoteVmRouteResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceAddRemoteVmRouteResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceAddRemoteVmRouteResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceAddRemoteVmRouteResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("AddRemoteVmRoute_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceAddRemoteVmRouteResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceAddRemoteVmRouteResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceAddRemoteVmRouteResult(%+v)", *p) +} + +// Attributes: +// - VrfName +type InstanceServiceCreateVrfArgs struct { + VrfName string `thrift:"vrf_name,1,required" json:"vrf_name"` +} + +func NewInstanceServiceCreateVrfArgs() *InstanceServiceCreateVrfArgs { + return &InstanceServiceCreateVrfArgs{} +} + +func (p *InstanceServiceCreateVrfArgs) GetVrfName() string { + return p.VrfName +} +func (p *InstanceServiceCreateVrfArgs) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetVrfName bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetVrfName = true + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetVrfName { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field VrfName is not set")) + } + return nil +} + +func (p *InstanceServiceCreateVrfArgs) readField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.VrfName = v + } + return nil +} + +func (p *InstanceServiceCreateVrfArgs) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("CreateVrf_args"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceCreateVrfArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("vrf_name", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:vrf_name: ", p), err) + } + if err := oprot.WriteString(string(p.VrfName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.vrf_name (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:vrf_name: ", p), err) + } + return err +} + +func (p *InstanceServiceCreateVrfArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceCreateVrfArgs(%+v)", *p) +} + +// Attributes: +// - Success +type InstanceServiceCreateVrfResult struct { + Success *bool `thrift:"success,0" json:"success,omitempty"` +} + +func NewInstanceServiceCreateVrfResult() *InstanceServiceCreateVrfResult { + return &InstanceServiceCreateVrfResult{} +} + +var InstanceServiceCreateVrfResult_Success_DEFAULT bool + +func (p *InstanceServiceCreateVrfResult) GetSuccess() bool { + if !p.IsSetSuccess() { + return InstanceServiceCreateVrfResult_Success_DEFAULT + } + return *p.Success +} +func (p *InstanceServiceCreateVrfResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *InstanceServiceCreateVrfResult) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if err := p.readField0(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + return nil +} + +func (p *InstanceServiceCreateVrfResult) readField0(iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + p.Success = &v + } + return nil +} + +func (p *InstanceServiceCreateVrfResult) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("CreateVrf_result"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField0(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *InstanceServiceCreateVrfResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err := oprot.WriteFieldBegin("success", thrift.BOOL, 0); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) + } + if err := oprot.WriteBool(bool(*p.Success)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) + } + } + return err +} + +func (p *InstanceServiceCreateVrfResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InstanceServiceCreateVrfResult(%+v)", *p) +} diff --git a/gen-go/instance_service/ttypes.go b/gen-go/instance_service/ttypes.go new file mode 100644 index 0000000..0da1489 --- /dev/null +++ b/gen-go/instance_service/ttypes.go @@ -0,0 +1,1216 @@ +// Autogenerated by Thrift Compiler (0.9.3) +// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + +package instance_service + +import ( + "bytes" + "fmt" + "git.apache.org/thrift.git/lib/go/thrift" +) + +// (needed to ensure safety because of naive import list construction.) +var _ = thrift.ZERO +var _ = fmt.Printf +var _ = bytes.Equal + +var GoUnusedProtection__ int + +type PortTypes int64 + +const ( + PortTypes_NovaVMPort PortTypes = 0 + PortTypes_NameSpacePort PortTypes = 1 +) + +func (p PortTypes) String() string { + switch p { + case PortTypes_NovaVMPort: + return "NovaVMPort" + case PortTypes_NameSpacePort: + return "NameSpacePort" + } + return "" +} + +func PortTypesFromString(s string) (PortTypes, error) { + switch s { + case "NovaVMPort": + return PortTypes_NovaVMPort, nil + case "NameSpacePort": + return PortTypes_NameSpacePort, nil + } + return PortTypes(0), fmt.Errorf("not a valid PortTypes string") +} + +func PortTypesPtr(v PortTypes) *PortTypes { return &v } + +func (p PortTypes) MarshalText() ([]byte, error) { + return []byte(p.String()), nil +} + +func (p *PortTypes) UnmarshalText(text []byte) error { + q, err := PortTypesFromString(string(text)) + if err != nil { + return err + } + *p = q + return nil +} + +type Tuuid []int16 + +func TuuidPtr(v Tuuid) *Tuuid { return &v } + +type PortList []*Port + +func PortListPtr(v PortList) *PortList { return &v } + +type SubnetList []*Subnet + +func SubnetListPtr(v SubnetList) *SubnetList { return &v } + +type VirtualGatewayRequestList []*VirtualGatewayRequest + +func VirtualGatewayRequestListPtr(v VirtualGatewayRequestList) *VirtualGatewayRequestList { return &v } + +// Attributes: +// - PortID +// - InstanceID +// - TapName +// - IPAddress +// - VnID +// - MacAddress +// - DisplayName +// - Hostname +// - Host +// - VMProjectID +// - VlanID +// - PortType +// - Ip6Address +// - IsolatedVlanID +type Port struct { + PortID Tuuid `thrift:"port_id,1,required" json:"port_id"` + InstanceID Tuuid `thrift:"instance_id,2,required" json:"instance_id"` + TapName string `thrift:"tap_name,3,required" json:"tap_name"` + IPAddress string `thrift:"ip_address,4,required" json:"ip_address"` + VnID Tuuid `thrift:"vn_id,5,required" json:"vn_id"` + MacAddress string `thrift:"mac_address,6,required" json:"mac_address"` + DisplayName *string `thrift:"display_name,7" json:"display_name,omitempty"` + Hostname *string `thrift:"hostname,8" json:"hostname,omitempty"` + Host *string `thrift:"host,9" json:"host,omitempty"` + VMProjectID Tuuid `thrift:"vm_project_id,10" json:"vm_project_id,omitempty"` + VlanID *int16 `thrift:"vlan_id,11" json:"vlan_id,omitempty"` + PortType *int16 `thrift:"port_type,12" json:"port_type,omitempty"` + Ip6Address *string `thrift:"ip6_address,13" json:"ip6_address,omitempty"` + IsolatedVlanID *int16 `thrift:"isolated_vlan_id,14" json:"isolated_vlan_id,omitempty"` +} + +func NewPort() *Port { + return &Port{} +} + +func (p *Port) GetPortID() Tuuid { + return p.PortID +} + +func (p *Port) GetInstanceID() Tuuid { + return p.InstanceID +} + +func (p *Port) GetTapName() string { + return p.TapName +} + +func (p *Port) GetIPAddress() string { + return p.IPAddress +} + +func (p *Port) GetVnID() Tuuid { + return p.VnID +} + +func (p *Port) GetMacAddress() string { + return p.MacAddress +} + +var Port_DisplayName_DEFAULT string + +func (p *Port) GetDisplayName() string { + if !p.IsSetDisplayName() { + return Port_DisplayName_DEFAULT + } + return *p.DisplayName +} + +var Port_Hostname_DEFAULT string + +func (p *Port) GetHostname() string { + if !p.IsSetHostname() { + return Port_Hostname_DEFAULT + } + return *p.Hostname +} + +var Port_Host_DEFAULT string + +func (p *Port) GetHost() string { + if !p.IsSetHost() { + return Port_Host_DEFAULT + } + return *p.Host +} + +var Port_VMProjectID_DEFAULT Tuuid + +func (p *Port) GetVMProjectID() Tuuid { + return p.VMProjectID +} + +var Port_VlanID_DEFAULT int16 + +func (p *Port) GetVlanID() int16 { + if !p.IsSetVlanID() { + return Port_VlanID_DEFAULT + } + return *p.VlanID +} + +var Port_PortType_DEFAULT int16 + +func (p *Port) GetPortType() int16 { + if !p.IsSetPortType() { + return Port_PortType_DEFAULT + } + return *p.PortType +} + +var Port_Ip6Address_DEFAULT string + +func (p *Port) GetIp6Address() string { + if !p.IsSetIp6Address() { + return Port_Ip6Address_DEFAULT + } + return *p.Ip6Address +} + +var Port_IsolatedVlanID_DEFAULT int16 + +func (p *Port) GetIsolatedVlanID() int16 { + if !p.IsSetIsolatedVlanID() { + return Port_IsolatedVlanID_DEFAULT + } + return *p.IsolatedVlanID +} +func (p *Port) IsSetDisplayName() bool { + return p.DisplayName != nil +} + +func (p *Port) IsSetHostname() bool { + return p.Hostname != nil +} + +func (p *Port) IsSetHost() bool { + return p.Host != nil +} + +func (p *Port) IsSetVMProjectID() bool { + return p.VMProjectID != nil +} + +func (p *Port) IsSetVlanID() bool { + return p.VlanID != nil +} + +func (p *Port) IsSetPortType() bool { + return p.PortType != nil +} + +func (p *Port) IsSetIp6Address() bool { + return p.Ip6Address != nil +} + +func (p *Port) IsSetIsolatedVlanID() bool { + return p.IsolatedVlanID != nil +} + +func (p *Port) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetPortID bool = false + var issetInstanceID bool = false + var issetTapName bool = false + var issetIPAddress bool = false + var issetVnID bool = false + var issetMacAddress bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetPortID = true + case 2: + if err := p.readField2(iprot); err != nil { + return err + } + issetInstanceID = true + case 3: + if err := p.readField3(iprot); err != nil { + return err + } + issetTapName = true + case 4: + if err := p.readField4(iprot); err != nil { + return err + } + issetIPAddress = true + case 5: + if err := p.readField5(iprot); err != nil { + return err + } + issetVnID = true + case 6: + if err := p.readField6(iprot); err != nil { + return err + } + issetMacAddress = true + case 7: + if err := p.readField7(iprot); err != nil { + return err + } + case 8: + if err := p.readField8(iprot); err != nil { + return err + } + case 9: + if err := p.readField9(iprot); err != nil { + return err + } + case 10: + if err := p.readField10(iprot); err != nil { + return err + } + case 11: + if err := p.readField11(iprot); err != nil { + return err + } + case 12: + if err := p.readField12(iprot); err != nil { + return err + } + case 13: + if err := p.readField13(iprot); err != nil { + return err + } + case 14: + if err := p.readField14(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetPortID { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field PortID is not set")) + } + if !issetInstanceID { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field InstanceID is not set")) + } + if !issetTapName { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TapName is not set")) + } + if !issetIPAddress { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IPAddress is not set")) + } + if !issetVnID { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field VnID is not set")) + } + if !issetMacAddress { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MacAddress is not set")) + } + return nil +} + +func (p *Port) readField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make(Tuuid, 0, size) + p.PortID = tSlice + for i := 0; i < size; i++ { + var _elem0 int16 + if v, err := iprot.ReadI16(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem0 = v + } + p.PortID = append(p.PortID, _elem0) + } + if err := iprot.ReadListEnd(); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *Port) readField2(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make(Tuuid, 0, size) + p.InstanceID = tSlice + for i := 0; i < size; i++ { + var _elem1 int16 + if v, err := iprot.ReadI16(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem1 = v + } + p.InstanceID = append(p.InstanceID, _elem1) + } + if err := iprot.ReadListEnd(); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *Port) readField3(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 3: ", err) + } else { + p.TapName = v + } + return nil +} + +func (p *Port) readField4(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 4: ", err) + } else { + p.IPAddress = v + } + return nil +} + +func (p *Port) readField5(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make(Tuuid, 0, size) + p.VnID = tSlice + for i := 0; i < size; i++ { + var _elem2 int16 + if v, err := iprot.ReadI16(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem2 = v + } + p.VnID = append(p.VnID, _elem2) + } + if err := iprot.ReadListEnd(); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *Port) readField6(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 6: ", err) + } else { + p.MacAddress = v + } + return nil +} + +func (p *Port) readField7(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 7: ", err) + } else { + p.DisplayName = &v + } + return nil +} + +func (p *Port) readField8(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 8: ", err) + } else { + p.Hostname = &v + } + return nil +} + +func (p *Port) readField9(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 9: ", err) + } else { + p.Host = &v + } + return nil +} + +func (p *Port) readField10(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make(Tuuid, 0, size) + p.VMProjectID = tSlice + for i := 0; i < size; i++ { + var _elem3 int16 + if v, err := iprot.ReadI16(); err != nil { + return thrift.PrependError("error reading field 0: ", err) + } else { + _elem3 = v + } + p.VMProjectID = append(p.VMProjectID, _elem3) + } + if err := iprot.ReadListEnd(); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *Port) readField11(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI16(); err != nil { + return thrift.PrependError("error reading field 11: ", err) + } else { + p.VlanID = &v + } + return nil +} + +func (p *Port) readField12(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI16(); err != nil { + return thrift.PrependError("error reading field 12: ", err) + } else { + p.PortType = &v + } + return nil +} + +func (p *Port) readField13(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 13: ", err) + } else { + p.Ip6Address = &v + } + return nil +} + +func (p *Port) readField14(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI16(); err != nil { + return thrift.PrependError("error reading field 14: ", err) + } else { + p.IsolatedVlanID = &v + } + return nil +} + +func (p *Port) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("Port"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := p.writeField2(oprot); err != nil { + return err + } + if err := p.writeField3(oprot); err != nil { + return err + } + if err := p.writeField4(oprot); err != nil { + return err + } + if err := p.writeField5(oprot); err != nil { + return err + } + if err := p.writeField6(oprot); err != nil { + return err + } + if err := p.writeField7(oprot); err != nil { + return err + } + if err := p.writeField8(oprot); err != nil { + return err + } + if err := p.writeField9(oprot); err != nil { + return err + } + if err := p.writeField10(oprot); err != nil { + return err + } + if err := p.writeField11(oprot); err != nil { + return err + } + if err := p.writeField12(oprot); err != nil { + return err + } + if err := p.writeField13(oprot); err != nil { + return err + } + if err := p.writeField14(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *Port) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("port_id", thrift.LIST, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:port_id: ", p), err) + } + if err := oprot.WriteListBegin(thrift.I16, len(p.PortID)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.PortID { + if err := oprot.WriteI16(int16(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:port_id: ", p), err) + } + return err +} + +func (p *Port) writeField2(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("instance_id", thrift.LIST, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:instance_id: ", p), err) + } + if err := oprot.WriteListBegin(thrift.I16, len(p.InstanceID)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.InstanceID { + if err := oprot.WriteI16(int16(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:instance_id: ", p), err) + } + return err +} + +func (p *Port) writeField3(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("tap_name", thrift.STRING, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:tap_name: ", p), err) + } + if err := oprot.WriteString(string(p.TapName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.tap_name (3) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:tap_name: ", p), err) + } + return err +} + +func (p *Port) writeField4(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("ip_address", thrift.STRING, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:ip_address: ", p), err) + } + if err := oprot.WriteString(string(p.IPAddress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ip_address (4) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:ip_address: ", p), err) + } + return err +} + +func (p *Port) writeField5(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("vn_id", thrift.LIST, 5); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:vn_id: ", p), err) + } + if err := oprot.WriteListBegin(thrift.I16, len(p.VnID)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.VnID { + if err := oprot.WriteI16(int16(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 5:vn_id: ", p), err) + } + return err +} + +func (p *Port) writeField6(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("mac_address", thrift.STRING, 6); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:mac_address: ", p), err) + } + if err := oprot.WriteString(string(p.MacAddress)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.mac_address (6) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 6:mac_address: ", p), err) + } + return err +} + +func (p *Port) writeField7(oprot thrift.TProtocol) (err error) { + if p.IsSetDisplayName() { + if err := oprot.WriteFieldBegin("display_name", thrift.STRING, 7); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:display_name: ", p), err) + } + if err := oprot.WriteString(string(*p.DisplayName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.display_name (7) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 7:display_name: ", p), err) + } + } + return err +} + +func (p *Port) writeField8(oprot thrift.TProtocol) (err error) { + if p.IsSetHostname() { + if err := oprot.WriteFieldBegin("hostname", thrift.STRING, 8); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:hostname: ", p), err) + } + if err := oprot.WriteString(string(*p.Hostname)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.hostname (8) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 8:hostname: ", p), err) + } + } + return err +} + +func (p *Port) writeField9(oprot thrift.TProtocol) (err error) { + if p.IsSetHost() { + if err := oprot.WriteFieldBegin("host", thrift.STRING, 9); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:host: ", p), err) + } + if err := oprot.WriteString(string(*p.Host)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.host (9) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 9:host: ", p), err) + } + } + return err +} + +func (p *Port) writeField10(oprot thrift.TProtocol) (err error) { + if p.IsSetVMProjectID() { + if err := oprot.WriteFieldBegin("vm_project_id", thrift.LIST, 10); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:vm_project_id: ", p), err) + } + if err := oprot.WriteListBegin(thrift.I16, len(p.VMProjectID)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.VMProjectID { + if err := oprot.WriteI16(int16(v)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) + } + } + if err := oprot.WriteListEnd(); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 10:vm_project_id: ", p), err) + } + } + return err +} + +func (p *Port) writeField11(oprot thrift.TProtocol) (err error) { + if p.IsSetVlanID() { + if err := oprot.WriteFieldBegin("vlan_id", thrift.I16, 11); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:vlan_id: ", p), err) + } + if err := oprot.WriteI16(int16(*p.VlanID)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.vlan_id (11) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 11:vlan_id: ", p), err) + } + } + return err +} + +func (p *Port) writeField12(oprot thrift.TProtocol) (err error) { + if p.IsSetPortType() { + if err := oprot.WriteFieldBegin("port_type", thrift.I16, 12); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:port_type: ", p), err) + } + if err := oprot.WriteI16(int16(*p.PortType)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.port_type (12) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 12:port_type: ", p), err) + } + } + return err +} + +func (p *Port) writeField13(oprot thrift.TProtocol) (err error) { + if p.IsSetIp6Address() { + if err := oprot.WriteFieldBegin("ip6_address", thrift.STRING, 13); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:ip6_address: ", p), err) + } + if err := oprot.WriteString(string(*p.Ip6Address)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.ip6_address (13) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 13:ip6_address: ", p), err) + } + } + return err +} + +func (p *Port) writeField14(oprot thrift.TProtocol) (err error) { + if p.IsSetIsolatedVlanID() { + if err := oprot.WriteFieldBegin("isolated_vlan_id", thrift.I16, 14); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:isolated_vlan_id: ", p), err) + } + if err := oprot.WriteI16(int16(*p.IsolatedVlanID)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.isolated_vlan_id (14) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 14:isolated_vlan_id: ", p), err) + } + } + return err +} + +func (p *Port) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("Port(%+v)", *p) +} + +// Attributes: +// - Prefix +// - Plen +type Subnet struct { + Prefix string `thrift:"prefix,1,required" json:"prefix"` + Plen int16 `thrift:"plen,2,required" json:"plen"` +} + +func NewSubnet() *Subnet { + return &Subnet{} +} + +func (p *Subnet) GetPrefix() string { + return p.Prefix +} + +func (p *Subnet) GetPlen() int16 { + return p.Plen +} +func (p *Subnet) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetPrefix bool = false + var issetPlen bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetPrefix = true + case 2: + if err := p.readField2(iprot); err != nil { + return err + } + issetPlen = true + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetPrefix { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Prefix is not set")) + } + if !issetPlen { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Plen is not set")) + } + return nil +} + +func (p *Subnet) readField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.Prefix = v + } + return nil +} + +func (p *Subnet) readField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadI16(); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.Plen = v + } + return nil +} + +func (p *Subnet) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("Subnet"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := p.writeField2(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *Subnet) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("prefix", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:prefix: ", p), err) + } + if err := oprot.WriteString(string(p.Prefix)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.prefix (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:prefix: ", p), err) + } + return err +} + +func (p *Subnet) writeField2(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("plen", thrift.I16, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:plen: ", p), err) + } + if err := oprot.WriteI16(int16(p.Plen)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.plen (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:plen: ", p), err) + } + return err +} + +func (p *Subnet) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("Subnet(%+v)", *p) +} + +// Attributes: +// - InterfaceName +// - RoutingInstance +// - Subnets +// - Routes +type VirtualGatewayRequest struct { + InterfaceName string `thrift:"interface_name,1,required" json:"interface_name"` + RoutingInstance string `thrift:"routing_instance,2,required" json:"routing_instance"` + Subnets SubnetList `thrift:"subnets,3,required" json:"subnets"` + Routes SubnetList `thrift:"routes,4" json:"routes,omitempty"` +} + +func NewVirtualGatewayRequest() *VirtualGatewayRequest { + return &VirtualGatewayRequest{} +} + +func (p *VirtualGatewayRequest) GetInterfaceName() string { + return p.InterfaceName +} + +func (p *VirtualGatewayRequest) GetRoutingInstance() string { + return p.RoutingInstance +} + +func (p *VirtualGatewayRequest) GetSubnets() SubnetList { + return p.Subnets +} + +var VirtualGatewayRequest_Routes_DEFAULT SubnetList + +func (p *VirtualGatewayRequest) GetRoutes() SubnetList { + return p.Routes +} +func (p *VirtualGatewayRequest) IsSetRoutes() bool { + return p.Routes != nil +} + +func (p *VirtualGatewayRequest) Read(iprot thrift.TProtocol) error { + if _, err := iprot.ReadStructBegin(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) + } + + var issetInterfaceName bool = false + var issetRoutingInstance bool = false + var issetSubnets bool = false + + for { + _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() + if err != nil { + return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if err := p.readField1(iprot); err != nil { + return err + } + issetInterfaceName = true + case 2: + if err := p.readField2(iprot); err != nil { + return err + } + issetRoutingInstance = true + case 3: + if err := p.readField3(iprot); err != nil { + return err + } + issetSubnets = true + case 4: + if err := p.readField4(iprot); err != nil { + return err + } + default: + if err := iprot.Skip(fieldTypeId); err != nil { + return err + } + } + if err := iprot.ReadFieldEnd(); err != nil { + return err + } + } + if err := iprot.ReadStructEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + } + if !issetInterfaceName { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field InterfaceName is not set")) + } + if !issetRoutingInstance { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field RoutingInstance is not set")) + } + if !issetSubnets { + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Subnets is not set")) + } + return nil +} + +func (p *VirtualGatewayRequest) readField1(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 1: ", err) + } else { + p.InterfaceName = v + } + return nil +} + +func (p *VirtualGatewayRequest) readField2(iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(); err != nil { + return thrift.PrependError("error reading field 2: ", err) + } else { + p.RoutingInstance = v + } + return nil +} + +func (p *VirtualGatewayRequest) readField3(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make(SubnetList, 0, size) + p.Subnets = tSlice + for i := 0; i < size; i++ { + _elem4 := &Subnet{} + if err := _elem4.Read(iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem4), err) + } + p.Subnets = append(p.Subnets, _elem4) + } + if err := iprot.ReadListEnd(); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *VirtualGatewayRequest) readField4(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return thrift.PrependError("error reading list begin: ", err) + } + tSlice := make(SubnetList, 0, size) + p.Routes = tSlice + for i := 0; i < size; i++ { + _elem5 := &Subnet{} + if err := _elem5.Read(iprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem5), err) + } + p.Routes = append(p.Routes, _elem5) + } + if err := iprot.ReadListEnd(); err != nil { + return thrift.PrependError("error reading list end: ", err) + } + return nil +} + +func (p *VirtualGatewayRequest) Write(oprot thrift.TProtocol) error { + if err := oprot.WriteStructBegin("VirtualGatewayRequest"); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) + } + if err := p.writeField1(oprot); err != nil { + return err + } + if err := p.writeField2(oprot); err != nil { + return err + } + if err := p.writeField3(oprot); err != nil { + return err + } + if err := p.writeField4(oprot); err != nil { + return err + } + if err := oprot.WriteFieldStop(); err != nil { + return thrift.PrependError("write field stop error: ", err) + } + if err := oprot.WriteStructEnd(); err != nil { + return thrift.PrependError("write struct stop error: ", err) + } + return nil +} + +func (p *VirtualGatewayRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("interface_name", thrift.STRING, 1); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:interface_name: ", p), err) + } + if err := oprot.WriteString(string(p.InterfaceName)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.interface_name (1) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 1:interface_name: ", p), err) + } + return err +} + +func (p *VirtualGatewayRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("routing_instance", thrift.STRING, 2); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:routing_instance: ", p), err) + } + if err := oprot.WriteString(string(p.RoutingInstance)); err != nil { + return thrift.PrependError(fmt.Sprintf("%T.routing_instance (2) field write error: ", p), err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 2:routing_instance: ", p), err) + } + return err +} + +func (p *VirtualGatewayRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err := oprot.WriteFieldBegin("subnets", thrift.LIST, 3); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:subnets: ", p), err) + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Subnets)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Subnets { + if err := v.Write(oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 3:subnets: ", p), err) + } + return err +} + +func (p *VirtualGatewayRequest) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetRoutes() { + if err := oprot.WriteFieldBegin("routes", thrift.LIST, 4); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:routes: ", p), err) + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Routes)); err != nil { + return thrift.PrependError("error writing list begin: ", err) + } + for _, v := range p.Routes { + if err := v.Write(oprot); err != nil { + return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) + } + } + if err := oprot.WriteListEnd(); err != nil { + return thrift.PrependError("error writing list end: ", err) + } + if err := oprot.WriteFieldEnd(); err != nil { + return thrift.PrependError(fmt.Sprintf("%T write field end error 4:routes: ", p), err) + } + } + return err +} + +func (p *VirtualGatewayRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("VirtualGatewayRequest(%+v)", *p) +} diff --git a/types/access_control_list.go b/types/access_control_list.go new file mode 100644 index 0000000..c5030ed --- /dev/null +++ b/types/access_control_list.go @@ -0,0 +1,269 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + access_control_list_access_control_list_entries uint64 = 1 << iota + access_control_list_id_perms + access_control_list_perms2 + access_control_list_display_name +) + +type AccessControlList struct { + contrail.ObjectBase + access_control_list_entries AclEntriesType + id_perms IdPermsType + perms2 PermType2 + display_name string + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *AccessControlList) GetType() string { + return "access-control-list" +} + +func (obj *AccessControlList) GetDefaultParent() []string { + name := []string{"default-domain", "default-project", "default-virtual-network"} + return name +} + +func (obj *AccessControlList) GetDefaultParentType() string { + return "virtual-network" +} + +func (obj *AccessControlList) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *AccessControlList) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *AccessControlList) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *AccessControlList) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *AccessControlList) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *AccessControlList) GetAccessControlListEntries() AclEntriesType { + return obj.access_control_list_entries +} + +func (obj *AccessControlList) SetAccessControlListEntries(value *AclEntriesType) { + obj.access_control_list_entries = *value + obj.modified |= access_control_list_access_control_list_entries +} + +func (obj *AccessControlList) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *AccessControlList) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= access_control_list_id_perms +} + +func (obj *AccessControlList) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *AccessControlList) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= access_control_list_perms2 +} + +func (obj *AccessControlList) GetDisplayName() string { + return obj.display_name +} + +func (obj *AccessControlList) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= access_control_list_display_name +} + +func (obj *AccessControlList) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & access_control_list_access_control_list_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.access_control_list_entries) + if err != nil { + return nil, err + } + msg["access_control_list_entries"] = &value + } + + if obj.modified & access_control_list_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & access_control_list_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & access_control_list_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *AccessControlList) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "access_control_list_entries": + err = json.Unmarshal(value, &obj.access_control_list_entries) + if err == nil { + obj.valid |= access_control_list_access_control_list_entries + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= access_control_list_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= access_control_list_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= access_control_list_display_name + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *AccessControlList) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & access_control_list_access_control_list_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.access_control_list_entries) + if err != nil { + return nil, err + } + msg["access_control_list_entries"] = &value + } + + if obj.modified & access_control_list_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & access_control_list_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & access_control_list_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *AccessControlList) UpdateReferences() error { + + return nil +} + +func AccessControlListByName(c contrail.ApiClient, fqn string) (*AccessControlList, error) { + obj, err := c.FindByName("access-control-list", fqn) + if err != nil { + return nil, err + } + return obj.(*AccessControlList), nil +} + +func AccessControlListByUuid(c contrail.ApiClient, uuid string) (*AccessControlList, error) { + obj, err := c.FindByUuid("access-control-list", uuid) + if err != nil { + return nil, err + } + return obj.(*AccessControlList), nil +} diff --git a/types/acl_entries_type.go b/types/acl_entries_type.go new file mode 100644 index 0000000..a23df6a --- /dev/null +++ b/types/acl_entries_type.go @@ -0,0 +1,20 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type AclRuleType struct { + MatchCondition *MatchConditionType `json:"match_condition,omitempty"` + ActionList *ActionListType `json:"action_list,omitempty"` + RuleUuid string `json:"rule_uuid,omitempty"` +} + +type AclEntriesType struct { + Dynamic bool `json:"dynamic,omitempty"` + AclRule []AclRuleType `json:"acl_rule,omitempty"` +} + +func (obj *AclEntriesType) AddAclRule(value *AclRuleType) { + obj.AclRule = append(obj.AclRule, *value) +} diff --git a/types/action_list_type.go b/types/action_list_type.go new file mode 100644 index 0000000..ec27b55 --- /dev/null +++ b/types/action_list_type.go @@ -0,0 +1,20 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type ActionListType struct { + SimpleAction string `json:"simple_action,omitempty"` + GatewayName string `json:"gateway_name,omitempty"` + ApplyService []string `json:"apply_service,omitempty"` + MirrorTo *MirrorActionType `json:"mirror_to,omitempty"` + AssignRoutingInstance string `json:"assign_routing_instance,omitempty"` + Log bool `json:"log,omitempty"` + Alert bool `json:"alert,omitempty"` + QosAction string `json:"qos_action,omitempty"` +} + +func (obj *ActionListType) AddApplyService(value string) { + obj.ApplyService = append(obj.ApplyService, value) +} diff --git a/types/address_type.go b/types/address_type.go new file mode 100644 index 0000000..40b8e4c --- /dev/null +++ b/types/address_type.go @@ -0,0 +1,17 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type AddressType struct { + Subnet *SubnetType `json:"subnet,omitempty"` + VirtualNetwork string `json:"virtual_network,omitempty"` + SecurityGroup string `json:"security_group,omitempty"` + NetworkPolicy string `json:"network_policy,omitempty"` + SubnetList []SubnetType `json:"subnet_list,omitempty"` +} + +func (obj *AddressType) AddSubnetList(value *SubnetType) { + obj.SubnetList = append(obj.SubnetList, *value) +} diff --git a/types/alarm.go b/types/alarm.go new file mode 100644 index 0000000..f7c3120 --- /dev/null +++ b/types/alarm.go @@ -0,0 +1,339 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + alarm_uve_keys uint64 = 1 << iota + alarm_alarm_severity + alarm_alarm_rules + alarm_id_perms + alarm_perms2 + alarm_display_name +) + +type Alarm struct { + contrail.ObjectBase + uve_keys string + alarm_severity int + alarm_rules AlarmRule + id_perms IdPermsType + perms2 PermType2 + display_name string + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *Alarm) GetType() string { + return "alarm" +} + +func (obj *Alarm) GetDefaultParent() []string { + name := []string{"default-global-system-config"} + return name +} + +func (obj *Alarm) GetDefaultParentType() string { + return "global-system-config" +} + +func (obj *Alarm) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *Alarm) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *Alarm) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *Alarm) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *Alarm) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *Alarm) GetUveKeys() string { + return obj.uve_keys +} + +func (obj *Alarm) SetUveKeys(value string) { + obj.uve_keys = value + obj.modified |= alarm_uve_keys +} + +func (obj *Alarm) GetAlarmSeverity() int { + return obj.alarm_severity +} + +func (obj *Alarm) SetAlarmSeverity(value int) { + obj.alarm_severity = value + obj.modified |= alarm_alarm_severity +} + +func (obj *Alarm) GetAlarmRules() AlarmRule { + return obj.alarm_rules +} + +func (obj *Alarm) SetAlarmRules(value *AlarmRule) { + obj.alarm_rules = *value + obj.modified |= alarm_alarm_rules +} + +func (obj *Alarm) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *Alarm) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= alarm_id_perms +} + +func (obj *Alarm) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *Alarm) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= alarm_perms2 +} + +func (obj *Alarm) GetDisplayName() string { + return obj.display_name +} + +func (obj *Alarm) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= alarm_display_name +} + +func (obj *Alarm) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & alarm_uve_keys != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.uve_keys) + if err != nil { + return nil, err + } + msg["uve_keys"] = &value + } + + if obj.modified & alarm_alarm_severity != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alarm_severity) + if err != nil { + return nil, err + } + msg["alarm_severity"] = &value + } + + if obj.modified & alarm_alarm_rules != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alarm_rules) + if err != nil { + return nil, err + } + msg["alarm_rules"] = &value + } + + if obj.modified & alarm_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & alarm_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & alarm_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *Alarm) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "uve_keys": + err = json.Unmarshal(value, &obj.uve_keys) + if err == nil { + obj.valid |= alarm_uve_keys + } + break + case "alarm_severity": + err = json.Unmarshal(value, &obj.alarm_severity) + if err == nil { + obj.valid |= alarm_alarm_severity + } + break + case "alarm_rules": + err = json.Unmarshal(value, &obj.alarm_rules) + if err == nil { + obj.valid |= alarm_alarm_rules + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= alarm_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= alarm_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= alarm_display_name + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *Alarm) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & alarm_uve_keys != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.uve_keys) + if err != nil { + return nil, err + } + msg["uve_keys"] = &value + } + + if obj.modified & alarm_alarm_severity != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alarm_severity) + if err != nil { + return nil, err + } + msg["alarm_severity"] = &value + } + + if obj.modified & alarm_alarm_rules != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alarm_rules) + if err != nil { + return nil, err + } + msg["alarm_rules"] = &value + } + + if obj.modified & alarm_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & alarm_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & alarm_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *Alarm) UpdateReferences() error { + + return nil +} + +func AlarmByName(c contrail.ApiClient, fqn string) (*Alarm, error) { + obj, err := c.FindByName("alarm", fqn) + if err != nil { + return nil, err + } + return obj.(*Alarm), nil +} + +func AlarmByUuid(c contrail.ApiClient, uuid string) (*Alarm, error) { + obj, err := c.FindByUuid("alarm", uuid) + if err != nil { + return nil, err + } + return obj.(*Alarm), nil +} diff --git a/types/alarm_rule.go b/types/alarm_rule.go new file mode 100644 index 0000000..81b286d --- /dev/null +++ b/types/alarm_rule.go @@ -0,0 +1,24 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type AlarmElement struct { + Operation string `json:"operation,omitempty"` + Operand1 string `json:"operand1,omitempty"` + Operand2 string `json:"operand2,omitempty"` + Vars []string `json:"vars,omitempty"` +} + +func (obj *AlarmElement) AddVars(value string) { + obj.Vars = append(obj.Vars, value) +} + +type AlarmRule struct { + Rule []AlarmElement `json:"rule,omitempty"` +} + +func (obj *AlarmRule) AddRule(value *AlarmElement) { + obj.Rule = append(obj.Rule, *value) +} diff --git a/types/alias_ip.go b/types/alias_ip.go new file mode 100644 index 0000000..40cbc93 --- /dev/null +++ b/types/alias_ip.go @@ -0,0 +1,572 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + alias_ip_alias_ip_address uint64 = 1 << iota + alias_ip_alias_ip_address_family + alias_ip_id_perms + alias_ip_perms2 + alias_ip_display_name + alias_ip_project_refs + alias_ip_virtual_machine_interface_refs +) + +type AliasIp struct { + contrail.ObjectBase + alias_ip_address string + alias_ip_address_family string + id_perms IdPermsType + perms2 PermType2 + display_name string + project_refs contrail.ReferenceList + virtual_machine_interface_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *AliasIp) GetType() string { + return "alias-ip" +} + +func (obj *AliasIp) GetDefaultParent() []string { + name := []string{"default-domain", "default-project", "default-virtual-network", "default-alias-ip-pool"} + return name +} + +func (obj *AliasIp) GetDefaultParentType() string { + return "alias-ip-pool" +} + +func (obj *AliasIp) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *AliasIp) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *AliasIp) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *AliasIp) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *AliasIp) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *AliasIp) GetAliasIpAddress() string { + return obj.alias_ip_address +} + +func (obj *AliasIp) SetAliasIpAddress(value string) { + obj.alias_ip_address = value + obj.modified |= alias_ip_alias_ip_address +} + +func (obj *AliasIp) GetAliasIpAddressFamily() string { + return obj.alias_ip_address_family +} + +func (obj *AliasIp) SetAliasIpAddressFamily(value string) { + obj.alias_ip_address_family = value + obj.modified |= alias_ip_alias_ip_address_family +} + +func (obj *AliasIp) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *AliasIp) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= alias_ip_id_perms +} + +func (obj *AliasIp) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *AliasIp) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= alias_ip_perms2 +} + +func (obj *AliasIp) GetDisplayName() string { + return obj.display_name +} + +func (obj *AliasIp) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= alias_ip_display_name +} + +func (obj *AliasIp) readProjectRefs() error { + if !obj.IsTransient() && + (obj.valid & alias_ip_project_refs == 0) { + err := obj.GetField(obj, "project_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *AliasIp) GetProjectRefs() ( + contrail.ReferenceList, error) { + err := obj.readProjectRefs() + if err != nil { + return nil, err + } + return obj.project_refs, nil +} + +func (obj *AliasIp) AddProject( + rhs *Project) error { + err := obj.readProjectRefs() + if err != nil { + return err + } + + if obj.modified & alias_ip_project_refs == 0 { + obj.storeReferenceBase("project", obj.project_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.project_refs = append(obj.project_refs, ref) + obj.modified |= alias_ip_project_refs + return nil +} + +func (obj *AliasIp) DeleteProject(uuid string) error { + err := obj.readProjectRefs() + if err != nil { + return err + } + + if obj.modified & alias_ip_project_refs == 0 { + obj.storeReferenceBase("project", obj.project_refs) + } + + for i, ref := range obj.project_refs { + if ref.Uuid == uuid { + obj.project_refs = append( + obj.project_refs[:i], + obj.project_refs[i+1:]...) + break + } + } + obj.modified |= alias_ip_project_refs + return nil +} + +func (obj *AliasIp) ClearProject() { + if (obj.valid & alias_ip_project_refs != 0) && + (obj.modified & alias_ip_project_refs == 0) { + obj.storeReferenceBase("project", obj.project_refs) + } + obj.project_refs = make([]contrail.Reference, 0) + obj.valid |= alias_ip_project_refs + obj.modified |= alias_ip_project_refs +} + +func (obj *AliasIp) SetProjectList( + refList []contrail.ReferencePair) { + obj.ClearProject() + obj.project_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.project_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *AliasIp) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & alias_ip_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *AliasIp) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *AliasIp) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & alias_ip_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= alias_ip_virtual_machine_interface_refs + return nil +} + +func (obj *AliasIp) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & alias_ip_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= alias_ip_virtual_machine_interface_refs + return nil +} + +func (obj *AliasIp) ClearVirtualMachineInterface() { + if (obj.valid & alias_ip_virtual_machine_interface_refs != 0) && + (obj.modified & alias_ip_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= alias_ip_virtual_machine_interface_refs + obj.modified |= alias_ip_virtual_machine_interface_refs +} + +func (obj *AliasIp) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *AliasIp) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & alias_ip_alias_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alias_ip_address) + if err != nil { + return nil, err + } + msg["alias_ip_address"] = &value + } + + if obj.modified & alias_ip_alias_ip_address_family != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alias_ip_address_family) + if err != nil { + return nil, err + } + msg["alias_ip_address_family"] = &value + } + + if obj.modified & alias_ip_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & alias_ip_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & alias_ip_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.project_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.project_refs) + if err != nil { + return nil, err + } + msg["project_refs"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *AliasIp) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "alias_ip_address": + err = json.Unmarshal(value, &obj.alias_ip_address) + if err == nil { + obj.valid |= alias_ip_alias_ip_address + } + break + case "alias_ip_address_family": + err = json.Unmarshal(value, &obj.alias_ip_address_family) + if err == nil { + obj.valid |= alias_ip_alias_ip_address_family + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= alias_ip_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= alias_ip_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= alias_ip_display_name + } + break + case "project_refs": + err = json.Unmarshal(value, &obj.project_refs) + if err == nil { + obj.valid |= alias_ip_project_refs + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= alias_ip_virtual_machine_interface_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *AliasIp) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & alias_ip_alias_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alias_ip_address) + if err != nil { + return nil, err + } + msg["alias_ip_address"] = &value + } + + if obj.modified & alias_ip_alias_ip_address_family != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alias_ip_address_family) + if err != nil { + return nil, err + } + msg["alias_ip_address_family"] = &value + } + + if obj.modified & alias_ip_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & alias_ip_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & alias_ip_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & alias_ip_project_refs != 0 { + if len(obj.project_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["project_refs"] = &value + } else if !obj.hasReferenceBase("project") { + var value json.RawMessage + value, err := json.Marshal(&obj.project_refs) + if err != nil { + return nil, err + } + msg["project_refs"] = &value + } + } + + + if obj.modified & alias_ip_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *AliasIp) UpdateReferences() error { + + if (obj.modified & alias_ip_project_refs != 0) && + len(obj.project_refs) > 0 && + obj.hasReferenceBase("project") { + err := obj.UpdateReference( + obj, "project", + obj.project_refs, + obj.baseMap["project"]) + if err != nil { + return err + } + } + + if (obj.modified & alias_ip_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + return nil +} + +func AliasIpByName(c contrail.ApiClient, fqn string) (*AliasIp, error) { + obj, err := c.FindByName("alias-ip", fqn) + if err != nil { + return nil, err + } + return obj.(*AliasIp), nil +} + +func AliasIpByUuid(c contrail.ApiClient, uuid string) (*AliasIp, error) { + obj, err := c.FindByUuid("alias-ip", uuid) + if err != nil { + return nil, err + } + return obj.(*AliasIp), nil +} diff --git a/types/alias_ip_pool.go b/types/alias_ip_pool.go new file mode 100644 index 0000000..a97e3b1 --- /dev/null +++ b/types/alias_ip_pool.go @@ -0,0 +1,290 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + alias_ip_pool_id_perms uint64 = 1 << iota + alias_ip_pool_perms2 + alias_ip_pool_display_name + alias_ip_pool_alias_ips + alias_ip_pool_project_back_refs +) + +type AliasIpPool struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + alias_ips contrail.ReferenceList + project_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *AliasIpPool) GetType() string { + return "alias-ip-pool" +} + +func (obj *AliasIpPool) GetDefaultParent() []string { + name := []string{"default-domain", "default-project", "default-virtual-network"} + return name +} + +func (obj *AliasIpPool) GetDefaultParentType() string { + return "virtual-network" +} + +func (obj *AliasIpPool) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *AliasIpPool) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *AliasIpPool) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *AliasIpPool) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *AliasIpPool) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *AliasIpPool) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *AliasIpPool) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= alias_ip_pool_id_perms +} + +func (obj *AliasIpPool) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *AliasIpPool) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= alias_ip_pool_perms2 +} + +func (obj *AliasIpPool) GetDisplayName() string { + return obj.display_name +} + +func (obj *AliasIpPool) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= alias_ip_pool_display_name +} + +func (obj *AliasIpPool) readAliasIps() error { + if !obj.IsTransient() && + (obj.valid & alias_ip_pool_alias_ips == 0) { + err := obj.GetField(obj, "alias_ips") + if err != nil { + return err + } + } + return nil +} + +func (obj *AliasIpPool) GetAliasIps() ( + contrail.ReferenceList, error) { + err := obj.readAliasIps() + if err != nil { + return nil, err + } + return obj.alias_ips, nil +} + +func (obj *AliasIpPool) readProjectBackRefs() error { + if !obj.IsTransient() && + (obj.valid & alias_ip_pool_project_back_refs == 0) { + err := obj.GetField(obj, "project_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *AliasIpPool) GetProjectBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readProjectBackRefs() + if err != nil { + return nil, err + } + return obj.project_back_refs, nil +} + +func (obj *AliasIpPool) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & alias_ip_pool_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & alias_ip_pool_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & alias_ip_pool_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *AliasIpPool) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= alias_ip_pool_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= alias_ip_pool_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= alias_ip_pool_display_name + } + break + case "alias_ips": + err = json.Unmarshal(value, &obj.alias_ips) + if err == nil { + obj.valid |= alias_ip_pool_alias_ips + } + break + case "project_back_refs": + err = json.Unmarshal(value, &obj.project_back_refs) + if err == nil { + obj.valid |= alias_ip_pool_project_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *AliasIpPool) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & alias_ip_pool_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & alias_ip_pool_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & alias_ip_pool_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *AliasIpPool) UpdateReferences() error { + + return nil +} + +func AliasIpPoolByName(c contrail.ApiClient, fqn string) (*AliasIpPool, error) { + obj, err := c.FindByName("alias-ip-pool", fqn) + if err != nil { + return nil, err + } + return obj.(*AliasIpPool), nil +} + +func AliasIpPoolByUuid(c contrail.ApiClient, uuid string) (*AliasIpPool, error) { + obj, err := c.FindByUuid("alias-ip-pool", uuid) + if err != nil { + return nil, err + } + return obj.(*AliasIpPool), nil +} diff --git a/types/allowed_address_pair.go b/types/allowed_address_pair.go new file mode 100644 index 0000000..90f60f4 --- /dev/null +++ b/types/allowed_address_pair.go @@ -0,0 +1,11 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type AllowedAddressPair struct { + Ip *SubnetType `json:"ip,omitempty"` + Mac string `json:"mac,omitempty"` + AddressMode string `json:"address_mode,omitempty"` +} diff --git a/types/allowed_address_pairs.go b/types/allowed_address_pairs.go new file mode 100644 index 0000000..fc032dc --- /dev/null +++ b/types/allowed_address_pairs.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type AllowedAddressPairs struct { + AllowedAddressPair []AllowedAddressPair `json:"allowed_address_pair,omitempty"` +} + +func (obj *AllowedAddressPairs) AddAllowedAddressPair(value *AllowedAddressPair) { + obj.AllowedAddressPair = append(obj.AllowedAddressPair, *value) +} diff --git a/types/analytics_node.go b/types/analytics_node.go new file mode 100644 index 0000000..827f04f --- /dev/null +++ b/types/analytics_node.go @@ -0,0 +1,269 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + analytics_node_analytics_node_ip_address uint64 = 1 << iota + analytics_node_id_perms + analytics_node_perms2 + analytics_node_display_name +) + +type AnalyticsNode struct { + contrail.ObjectBase + analytics_node_ip_address string + id_perms IdPermsType + perms2 PermType2 + display_name string + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *AnalyticsNode) GetType() string { + return "analytics-node" +} + +func (obj *AnalyticsNode) GetDefaultParent() []string { + name := []string{"default-global-system-config"} + return name +} + +func (obj *AnalyticsNode) GetDefaultParentType() string { + return "global-system-config" +} + +func (obj *AnalyticsNode) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *AnalyticsNode) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *AnalyticsNode) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *AnalyticsNode) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *AnalyticsNode) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *AnalyticsNode) GetAnalyticsNodeIpAddress() string { + return obj.analytics_node_ip_address +} + +func (obj *AnalyticsNode) SetAnalyticsNodeIpAddress(value string) { + obj.analytics_node_ip_address = value + obj.modified |= analytics_node_analytics_node_ip_address +} + +func (obj *AnalyticsNode) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *AnalyticsNode) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= analytics_node_id_perms +} + +func (obj *AnalyticsNode) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *AnalyticsNode) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= analytics_node_perms2 +} + +func (obj *AnalyticsNode) GetDisplayName() string { + return obj.display_name +} + +func (obj *AnalyticsNode) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= analytics_node_display_name +} + +func (obj *AnalyticsNode) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & analytics_node_analytics_node_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.analytics_node_ip_address) + if err != nil { + return nil, err + } + msg["analytics_node_ip_address"] = &value + } + + if obj.modified & analytics_node_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & analytics_node_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & analytics_node_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *AnalyticsNode) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "analytics_node_ip_address": + err = json.Unmarshal(value, &obj.analytics_node_ip_address) + if err == nil { + obj.valid |= analytics_node_analytics_node_ip_address + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= analytics_node_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= analytics_node_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= analytics_node_display_name + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *AnalyticsNode) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & analytics_node_analytics_node_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.analytics_node_ip_address) + if err != nil { + return nil, err + } + msg["analytics_node_ip_address"] = &value + } + + if obj.modified & analytics_node_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & analytics_node_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & analytics_node_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *AnalyticsNode) UpdateReferences() error { + + return nil +} + +func AnalyticsNodeByName(c contrail.ApiClient, fqn string) (*AnalyticsNode, error) { + obj, err := c.FindByName("analytics-node", fqn) + if err != nil { + return nil, err + } + return obj.(*AnalyticsNode), nil +} + +func AnalyticsNodeByUuid(c contrail.ApiClient, uuid string) (*AnalyticsNode, error) { + obj, err := c.FindByUuid("analytics-node", uuid) + if err != nil { + return nil, err + } + return obj.(*AnalyticsNode), nil +} diff --git a/types/api_access_list.go b/types/api_access_list.go new file mode 100644 index 0000000..178c849 --- /dev/null +++ b/types/api_access_list.go @@ -0,0 +1,269 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + api_access_list_api_access_list_entries uint64 = 1 << iota + api_access_list_id_perms + api_access_list_perms2 + api_access_list_display_name +) + +type ApiAccessList struct { + contrail.ObjectBase + api_access_list_entries RbacRuleEntriesType + id_perms IdPermsType + perms2 PermType2 + display_name string + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *ApiAccessList) GetType() string { + return "api-access-list" +} + +func (obj *ApiAccessList) GetDefaultParent() []string { + name := []string{"default-domain"} + return name +} + +func (obj *ApiAccessList) GetDefaultParentType() string { + return "domain" +} + +func (obj *ApiAccessList) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *ApiAccessList) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *ApiAccessList) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *ApiAccessList) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *ApiAccessList) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *ApiAccessList) GetApiAccessListEntries() RbacRuleEntriesType { + return obj.api_access_list_entries +} + +func (obj *ApiAccessList) SetApiAccessListEntries(value *RbacRuleEntriesType) { + obj.api_access_list_entries = *value + obj.modified |= api_access_list_api_access_list_entries +} + +func (obj *ApiAccessList) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *ApiAccessList) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= api_access_list_id_perms +} + +func (obj *ApiAccessList) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *ApiAccessList) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= api_access_list_perms2 +} + +func (obj *ApiAccessList) GetDisplayName() string { + return obj.display_name +} + +func (obj *ApiAccessList) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= api_access_list_display_name +} + +func (obj *ApiAccessList) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & api_access_list_api_access_list_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.api_access_list_entries) + if err != nil { + return nil, err + } + msg["api_access_list_entries"] = &value + } + + if obj.modified & api_access_list_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & api_access_list_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & api_access_list_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ApiAccessList) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "api_access_list_entries": + err = json.Unmarshal(value, &obj.api_access_list_entries) + if err == nil { + obj.valid |= api_access_list_api_access_list_entries + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= api_access_list_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= api_access_list_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= api_access_list_display_name + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *ApiAccessList) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & api_access_list_api_access_list_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.api_access_list_entries) + if err != nil { + return nil, err + } + msg["api_access_list_entries"] = &value + } + + if obj.modified & api_access_list_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & api_access_list_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & api_access_list_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ApiAccessList) UpdateReferences() error { + + return nil +} + +func ApiAccessListByName(c contrail.ApiClient, fqn string) (*ApiAccessList, error) { + obj, err := c.FindByName("api-access-list", fqn) + if err != nil { + return nil, err + } + return obj.(*ApiAccessList), nil +} + +func ApiAccessListByUuid(c contrail.ApiClient, uuid string) (*ApiAccessList, error) { + obj, err := c.FindByUuid("api-access-list", uuid) + if err != nil { + return nil, err + } + return obj.(*ApiAccessList), nil +} diff --git a/types/bgp_as_a_service.go b/types/bgp_as_a_service.go new file mode 100644 index 0000000..4d6cb70 --- /dev/null +++ b/types/bgp_as_a_service.go @@ -0,0 +1,543 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + bgp_as_a_service_autonomous_system uint64 = 1 << iota + bgp_as_a_service_bgpaas_ip_address + bgp_as_a_service_bgpaas_session_attributes + bgp_as_a_service_bgpaas_ipv4_mapped_ipv6_nexthop + bgp_as_a_service_bgpaas_suppress_route_advertisement + bgp_as_a_service_id_perms + bgp_as_a_service_perms2 + bgp_as_a_service_display_name + bgp_as_a_service_virtual_machine_interface_refs +) + +type BgpAsAService struct { + contrail.ObjectBase + autonomous_system int + bgpaas_ip_address string + bgpaas_session_attributes string + bgpaas_ipv4_mapped_ipv6_nexthop bool + bgpaas_suppress_route_advertisement bool + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_machine_interface_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *BgpAsAService) GetType() string { + return "bgp-as-a-service" +} + +func (obj *BgpAsAService) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *BgpAsAService) GetDefaultParentType() string { + return "project" +} + +func (obj *BgpAsAService) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *BgpAsAService) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *BgpAsAService) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *BgpAsAService) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *BgpAsAService) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *BgpAsAService) GetAutonomousSystem() int { + return obj.autonomous_system +} + +func (obj *BgpAsAService) SetAutonomousSystem(value int) { + obj.autonomous_system = value + obj.modified |= bgp_as_a_service_autonomous_system +} + +func (obj *BgpAsAService) GetBgpaasIpAddress() string { + return obj.bgpaas_ip_address +} + +func (obj *BgpAsAService) SetBgpaasIpAddress(value string) { + obj.bgpaas_ip_address = value + obj.modified |= bgp_as_a_service_bgpaas_ip_address +} + +func (obj *BgpAsAService) GetBgpaasSessionAttributes() string { + return obj.bgpaas_session_attributes +} + +func (obj *BgpAsAService) SetBgpaasSessionAttributes(value string) { + obj.bgpaas_session_attributes = value + obj.modified |= bgp_as_a_service_bgpaas_session_attributes +} + +func (obj *BgpAsAService) GetBgpaasIpv4MappedIpv6Nexthop() bool { + return obj.bgpaas_ipv4_mapped_ipv6_nexthop +} + +func (obj *BgpAsAService) SetBgpaasIpv4MappedIpv6Nexthop(value bool) { + obj.bgpaas_ipv4_mapped_ipv6_nexthop = value + obj.modified |= bgp_as_a_service_bgpaas_ipv4_mapped_ipv6_nexthop +} + +func (obj *BgpAsAService) GetBgpaasSuppressRouteAdvertisement() bool { + return obj.bgpaas_suppress_route_advertisement +} + +func (obj *BgpAsAService) SetBgpaasSuppressRouteAdvertisement(value bool) { + obj.bgpaas_suppress_route_advertisement = value + obj.modified |= bgp_as_a_service_bgpaas_suppress_route_advertisement +} + +func (obj *BgpAsAService) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *BgpAsAService) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= bgp_as_a_service_id_perms +} + +func (obj *BgpAsAService) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *BgpAsAService) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= bgp_as_a_service_perms2 +} + +func (obj *BgpAsAService) GetDisplayName() string { + return obj.display_name +} + +func (obj *BgpAsAService) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= bgp_as_a_service_display_name +} + +func (obj *BgpAsAService) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & bgp_as_a_service_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *BgpAsAService) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *BgpAsAService) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & bgp_as_a_service_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= bgp_as_a_service_virtual_machine_interface_refs + return nil +} + +func (obj *BgpAsAService) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & bgp_as_a_service_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= bgp_as_a_service_virtual_machine_interface_refs + return nil +} + +func (obj *BgpAsAService) ClearVirtualMachineInterface() { + if (obj.valid & bgp_as_a_service_virtual_machine_interface_refs != 0) && + (obj.modified & bgp_as_a_service_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= bgp_as_a_service_virtual_machine_interface_refs + obj.modified |= bgp_as_a_service_virtual_machine_interface_refs +} + +func (obj *BgpAsAService) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *BgpAsAService) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & bgp_as_a_service_autonomous_system != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.autonomous_system) + if err != nil { + return nil, err + } + msg["autonomous_system"] = &value + } + + if obj.modified & bgp_as_a_service_bgpaas_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.bgpaas_ip_address) + if err != nil { + return nil, err + } + msg["bgpaas_ip_address"] = &value + } + + if obj.modified & bgp_as_a_service_bgpaas_session_attributes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.bgpaas_session_attributes) + if err != nil { + return nil, err + } + msg["bgpaas_session_attributes"] = &value + } + + if obj.modified & bgp_as_a_service_bgpaas_ipv4_mapped_ipv6_nexthop != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.bgpaas_ipv4_mapped_ipv6_nexthop) + if err != nil { + return nil, err + } + msg["bgpaas_ipv4_mapped_ipv6_nexthop"] = &value + } + + if obj.modified & bgp_as_a_service_bgpaas_suppress_route_advertisement != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.bgpaas_suppress_route_advertisement) + if err != nil { + return nil, err + } + msg["bgpaas_suppress_route_advertisement"] = &value + } + + if obj.modified & bgp_as_a_service_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & bgp_as_a_service_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & bgp_as_a_service_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *BgpAsAService) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "autonomous_system": + err = json.Unmarshal(value, &obj.autonomous_system) + if err == nil { + obj.valid |= bgp_as_a_service_autonomous_system + } + break + case "bgpaas_ip_address": + err = json.Unmarshal(value, &obj.bgpaas_ip_address) + if err == nil { + obj.valid |= bgp_as_a_service_bgpaas_ip_address + } + break + case "bgpaas_session_attributes": + err = json.Unmarshal(value, &obj.bgpaas_session_attributes) + if err == nil { + obj.valid |= bgp_as_a_service_bgpaas_session_attributes + } + break + case "bgpaas_ipv4_mapped_ipv6_nexthop": + err = json.Unmarshal(value, &obj.bgpaas_ipv4_mapped_ipv6_nexthop) + if err == nil { + obj.valid |= bgp_as_a_service_bgpaas_ipv4_mapped_ipv6_nexthop + } + break + case "bgpaas_suppress_route_advertisement": + err = json.Unmarshal(value, &obj.bgpaas_suppress_route_advertisement) + if err == nil { + obj.valid |= bgp_as_a_service_bgpaas_suppress_route_advertisement + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= bgp_as_a_service_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= bgp_as_a_service_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= bgp_as_a_service_display_name + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= bgp_as_a_service_virtual_machine_interface_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *BgpAsAService) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & bgp_as_a_service_autonomous_system != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.autonomous_system) + if err != nil { + return nil, err + } + msg["autonomous_system"] = &value + } + + if obj.modified & bgp_as_a_service_bgpaas_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.bgpaas_ip_address) + if err != nil { + return nil, err + } + msg["bgpaas_ip_address"] = &value + } + + if obj.modified & bgp_as_a_service_bgpaas_session_attributes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.bgpaas_session_attributes) + if err != nil { + return nil, err + } + msg["bgpaas_session_attributes"] = &value + } + + if obj.modified & bgp_as_a_service_bgpaas_ipv4_mapped_ipv6_nexthop != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.bgpaas_ipv4_mapped_ipv6_nexthop) + if err != nil { + return nil, err + } + msg["bgpaas_ipv4_mapped_ipv6_nexthop"] = &value + } + + if obj.modified & bgp_as_a_service_bgpaas_suppress_route_advertisement != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.bgpaas_suppress_route_advertisement) + if err != nil { + return nil, err + } + msg["bgpaas_suppress_route_advertisement"] = &value + } + + if obj.modified & bgp_as_a_service_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & bgp_as_a_service_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & bgp_as_a_service_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & bgp_as_a_service_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *BgpAsAService) UpdateReferences() error { + + if (obj.modified & bgp_as_a_service_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + return nil +} + +func BgpAsAServiceByName(c contrail.ApiClient, fqn string) (*BgpAsAService, error) { + obj, err := c.FindByName("bgp-as-a-service", fqn) + if err != nil { + return nil, err + } + return obj.(*BgpAsAService), nil +} + +func BgpAsAServiceByUuid(c contrail.ApiClient, uuid string) (*BgpAsAService, error) { + obj, err := c.FindByUuid("bgp-as-a-service", uuid) + if err != nil { + return nil, err + } + return obj.(*BgpAsAService), nil +} diff --git a/types/bgp_router.go b/types/bgp_router.go new file mode 100644 index 0000000..8e85264 --- /dev/null +++ b/types/bgp_router.go @@ -0,0 +1,290 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + bgp_router_id_perms uint64 = 1 << iota + bgp_router_perms2 + bgp_router_display_name + bgp_router_global_system_config_back_refs + bgp_router_physical_router_back_refs +) + +type BgpRouter struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + global_system_config_back_refs contrail.ReferenceList + physical_router_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *BgpRouter) GetType() string { + return "bgp-router" +} + +func (obj *BgpRouter) GetDefaultParent() []string { + name := []string{} + return name +} + +func (obj *BgpRouter) GetDefaultParentType() string { + return "" +} + +func (obj *BgpRouter) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *BgpRouter) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *BgpRouter) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *BgpRouter) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *BgpRouter) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *BgpRouter) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *BgpRouter) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= bgp_router_id_perms +} + +func (obj *BgpRouter) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *BgpRouter) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= bgp_router_perms2 +} + +func (obj *BgpRouter) GetDisplayName() string { + return obj.display_name +} + +func (obj *BgpRouter) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= bgp_router_display_name +} + +func (obj *BgpRouter) readGlobalSystemConfigBackRefs() error { + if !obj.IsTransient() && + (obj.valid & bgp_router_global_system_config_back_refs == 0) { + err := obj.GetField(obj, "global_system_config_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *BgpRouter) GetGlobalSystemConfigBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readGlobalSystemConfigBackRefs() + if err != nil { + return nil, err + } + return obj.global_system_config_back_refs, nil +} + +func (obj *BgpRouter) readPhysicalRouterBackRefs() error { + if !obj.IsTransient() && + (obj.valid & bgp_router_physical_router_back_refs == 0) { + err := obj.GetField(obj, "physical_router_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *BgpRouter) GetPhysicalRouterBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readPhysicalRouterBackRefs() + if err != nil { + return nil, err + } + return obj.physical_router_back_refs, nil +} + +func (obj *BgpRouter) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & bgp_router_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & bgp_router_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & bgp_router_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *BgpRouter) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= bgp_router_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= bgp_router_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= bgp_router_display_name + } + break + case "global_system_config_back_refs": + err = json.Unmarshal(value, &obj.global_system_config_back_refs) + if err == nil { + obj.valid |= bgp_router_global_system_config_back_refs + } + break + case "physical_router_back_refs": + err = json.Unmarshal(value, &obj.physical_router_back_refs) + if err == nil { + obj.valid |= bgp_router_physical_router_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *BgpRouter) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & bgp_router_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & bgp_router_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & bgp_router_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *BgpRouter) UpdateReferences() error { + + return nil +} + +func BgpRouterByName(c contrail.ApiClient, fqn string) (*BgpRouter, error) { + obj, err := c.FindByName("bgp-router", fqn) + if err != nil { + return nil, err + } + return obj.(*BgpRouter), nil +} + +func BgpRouterByUuid(c contrail.ApiClient, uuid string) (*BgpRouter, error) { + obj, err := c.FindByUuid("bgp-router", uuid) + if err != nil { + return nil, err + } + return obj.(*BgpRouter), nil +} diff --git a/types/community_attributes.go b/types/community_attributes.go new file mode 100644 index 0000000..4eb99ce --- /dev/null +++ b/types/community_attributes.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type CommunityAttributes struct { + CommunityAttribute []string `json:"community_attribute,omitempty"` +} + +func (obj *CommunityAttributes) AddCommunityAttribute(value string) { + obj.CommunityAttribute = append(obj.CommunityAttribute, value) +} diff --git a/types/config_node.go b/types/config_node.go new file mode 100644 index 0000000..a4ed8ac --- /dev/null +++ b/types/config_node.go @@ -0,0 +1,269 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + config_node_config_node_ip_address uint64 = 1 << iota + config_node_id_perms + config_node_perms2 + config_node_display_name +) + +type ConfigNode struct { + contrail.ObjectBase + config_node_ip_address string + id_perms IdPermsType + perms2 PermType2 + display_name string + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *ConfigNode) GetType() string { + return "config-node" +} + +func (obj *ConfigNode) GetDefaultParent() []string { + name := []string{"default-global-system-config"} + return name +} + +func (obj *ConfigNode) GetDefaultParentType() string { + return "global-system-config" +} + +func (obj *ConfigNode) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *ConfigNode) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *ConfigNode) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *ConfigNode) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *ConfigNode) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *ConfigNode) GetConfigNodeIpAddress() string { + return obj.config_node_ip_address +} + +func (obj *ConfigNode) SetConfigNodeIpAddress(value string) { + obj.config_node_ip_address = value + obj.modified |= config_node_config_node_ip_address +} + +func (obj *ConfigNode) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *ConfigNode) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= config_node_id_perms +} + +func (obj *ConfigNode) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *ConfigNode) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= config_node_perms2 +} + +func (obj *ConfigNode) GetDisplayName() string { + return obj.display_name +} + +func (obj *ConfigNode) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= config_node_display_name +} + +func (obj *ConfigNode) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & config_node_config_node_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.config_node_ip_address) + if err != nil { + return nil, err + } + msg["config_node_ip_address"] = &value + } + + if obj.modified & config_node_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & config_node_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & config_node_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ConfigNode) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "config_node_ip_address": + err = json.Unmarshal(value, &obj.config_node_ip_address) + if err == nil { + obj.valid |= config_node_config_node_ip_address + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= config_node_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= config_node_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= config_node_display_name + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *ConfigNode) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & config_node_config_node_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.config_node_ip_address) + if err != nil { + return nil, err + } + msg["config_node_ip_address"] = &value + } + + if obj.modified & config_node_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & config_node_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & config_node_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ConfigNode) UpdateReferences() error { + + return nil +} + +func ConfigNodeByName(c contrail.ApiClient, fqn string) (*ConfigNode, error) { + obj, err := c.FindByName("config-node", fqn) + if err != nil { + return nil, err + } + return obj.(*ConfigNode), nil +} + +func ConfigNodeByUuid(c contrail.ApiClient, uuid string) (*ConfigNode, error) { + obj, err := c.FindByUuid("config-node", uuid) + if err != nil { + return nil, err + } + return obj.(*ConfigNode), nil +} diff --git a/types/config_root.go b/types/config_root.go new file mode 100644 index 0000000..4d6587d --- /dev/null +++ b/types/config_root.go @@ -0,0 +1,290 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + config_root_id_perms uint64 = 1 << iota + config_root_perms2 + config_root_display_name + config_root_global_system_configs + config_root_domains +) + +type ConfigRoot struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + global_system_configs contrail.ReferenceList + domains contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *ConfigRoot) GetType() string { + return "config-root" +} + +func (obj *ConfigRoot) GetDefaultParent() []string { + name := []string{} + return name +} + +func (obj *ConfigRoot) GetDefaultParentType() string { + return "" +} + +func (obj *ConfigRoot) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *ConfigRoot) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *ConfigRoot) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *ConfigRoot) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *ConfigRoot) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *ConfigRoot) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *ConfigRoot) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= config_root_id_perms +} + +func (obj *ConfigRoot) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *ConfigRoot) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= config_root_perms2 +} + +func (obj *ConfigRoot) GetDisplayName() string { + return obj.display_name +} + +func (obj *ConfigRoot) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= config_root_display_name +} + +func (obj *ConfigRoot) readGlobalSystemConfigs() error { + if !obj.IsTransient() && + (obj.valid & config_root_global_system_configs == 0) { + err := obj.GetField(obj, "global_system_configs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ConfigRoot) GetGlobalSystemConfigs() ( + contrail.ReferenceList, error) { + err := obj.readGlobalSystemConfigs() + if err != nil { + return nil, err + } + return obj.global_system_configs, nil +} + +func (obj *ConfigRoot) readDomains() error { + if !obj.IsTransient() && + (obj.valid & config_root_domains == 0) { + err := obj.GetField(obj, "domains") + if err != nil { + return err + } + } + return nil +} + +func (obj *ConfigRoot) GetDomains() ( + contrail.ReferenceList, error) { + err := obj.readDomains() + if err != nil { + return nil, err + } + return obj.domains, nil +} + +func (obj *ConfigRoot) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & config_root_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & config_root_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & config_root_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ConfigRoot) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= config_root_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= config_root_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= config_root_display_name + } + break + case "global_system_configs": + err = json.Unmarshal(value, &obj.global_system_configs) + if err == nil { + obj.valid |= config_root_global_system_configs + } + break + case "domains": + err = json.Unmarshal(value, &obj.domains) + if err == nil { + obj.valid |= config_root_domains + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *ConfigRoot) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & config_root_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & config_root_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & config_root_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ConfigRoot) UpdateReferences() error { + + return nil +} + +func ConfigRootByName(c contrail.ApiClient, fqn string) (*ConfigRoot, error) { + obj, err := c.FindByName("config-root", fqn) + if err != nil { + return nil, err + } + return obj.(*ConfigRoot), nil +} + +func ConfigRootByUuid(c contrail.ApiClient, uuid string) (*ConfigRoot, error) { + obj, err := c.FindByUuid("config-root", uuid) + if err != nil { + return nil, err + } + return obj.(*ConfigRoot), nil +} diff --git a/types/customer_attachment.go b/types/customer_attachment.go new file mode 100644 index 0000000..855400d --- /dev/null +++ b/types/customer_attachment.go @@ -0,0 +1,502 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + customer_attachment_id_perms uint64 = 1 << iota + customer_attachment_perms2 + customer_attachment_display_name + customer_attachment_virtual_machine_interface_refs + customer_attachment_floating_ip_refs +) + +type CustomerAttachment struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_machine_interface_refs contrail.ReferenceList + floating_ip_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *CustomerAttachment) GetType() string { + return "customer-attachment" +} + +func (obj *CustomerAttachment) GetDefaultParent() []string { + name := []string{} + return name +} + +func (obj *CustomerAttachment) GetDefaultParentType() string { + return "" +} + +func (obj *CustomerAttachment) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *CustomerAttachment) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *CustomerAttachment) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *CustomerAttachment) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *CustomerAttachment) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *CustomerAttachment) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *CustomerAttachment) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= customer_attachment_id_perms +} + +func (obj *CustomerAttachment) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *CustomerAttachment) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= customer_attachment_perms2 +} + +func (obj *CustomerAttachment) GetDisplayName() string { + return obj.display_name +} + +func (obj *CustomerAttachment) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= customer_attachment_display_name +} + +func (obj *CustomerAttachment) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & customer_attachment_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *CustomerAttachment) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *CustomerAttachment) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & customer_attachment_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= customer_attachment_virtual_machine_interface_refs + return nil +} + +func (obj *CustomerAttachment) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & customer_attachment_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= customer_attachment_virtual_machine_interface_refs + return nil +} + +func (obj *CustomerAttachment) ClearVirtualMachineInterface() { + if (obj.valid & customer_attachment_virtual_machine_interface_refs != 0) && + (obj.modified & customer_attachment_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= customer_attachment_virtual_machine_interface_refs + obj.modified |= customer_attachment_virtual_machine_interface_refs +} + +func (obj *CustomerAttachment) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *CustomerAttachment) readFloatingIpRefs() error { + if !obj.IsTransient() && + (obj.valid & customer_attachment_floating_ip_refs == 0) { + err := obj.GetField(obj, "floating_ip_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *CustomerAttachment) GetFloatingIpRefs() ( + contrail.ReferenceList, error) { + err := obj.readFloatingIpRefs() + if err != nil { + return nil, err + } + return obj.floating_ip_refs, nil +} + +func (obj *CustomerAttachment) AddFloatingIp( + rhs *FloatingIp) error { + err := obj.readFloatingIpRefs() + if err != nil { + return err + } + + if obj.modified & customer_attachment_floating_ip_refs == 0 { + obj.storeReferenceBase("floating-ip", obj.floating_ip_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.floating_ip_refs = append(obj.floating_ip_refs, ref) + obj.modified |= customer_attachment_floating_ip_refs + return nil +} + +func (obj *CustomerAttachment) DeleteFloatingIp(uuid string) error { + err := obj.readFloatingIpRefs() + if err != nil { + return err + } + + if obj.modified & customer_attachment_floating_ip_refs == 0 { + obj.storeReferenceBase("floating-ip", obj.floating_ip_refs) + } + + for i, ref := range obj.floating_ip_refs { + if ref.Uuid == uuid { + obj.floating_ip_refs = append( + obj.floating_ip_refs[:i], + obj.floating_ip_refs[i+1:]...) + break + } + } + obj.modified |= customer_attachment_floating_ip_refs + return nil +} + +func (obj *CustomerAttachment) ClearFloatingIp() { + if (obj.valid & customer_attachment_floating_ip_refs != 0) && + (obj.modified & customer_attachment_floating_ip_refs == 0) { + obj.storeReferenceBase("floating-ip", obj.floating_ip_refs) + } + obj.floating_ip_refs = make([]contrail.Reference, 0) + obj.valid |= customer_attachment_floating_ip_refs + obj.modified |= customer_attachment_floating_ip_refs +} + +func (obj *CustomerAttachment) SetFloatingIpList( + refList []contrail.ReferencePair) { + obj.ClearFloatingIp() + obj.floating_ip_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.floating_ip_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *CustomerAttachment) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & customer_attachment_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & customer_attachment_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & customer_attachment_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + if len(obj.floating_ip_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_refs) + if err != nil { + return nil, err + } + msg["floating_ip_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *CustomerAttachment) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= customer_attachment_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= customer_attachment_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= customer_attachment_display_name + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= customer_attachment_virtual_machine_interface_refs + } + break + case "floating_ip_refs": + err = json.Unmarshal(value, &obj.floating_ip_refs) + if err == nil { + obj.valid |= customer_attachment_floating_ip_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *CustomerAttachment) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & customer_attachment_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & customer_attachment_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & customer_attachment_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & customer_attachment_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + if obj.modified & customer_attachment_floating_ip_refs != 0 { + if len(obj.floating_ip_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["floating_ip_refs"] = &value + } else if !obj.hasReferenceBase("floating-ip") { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_refs) + if err != nil { + return nil, err + } + msg["floating_ip_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *CustomerAttachment) UpdateReferences() error { + + if (obj.modified & customer_attachment_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + if (obj.modified & customer_attachment_floating_ip_refs != 0) && + len(obj.floating_ip_refs) > 0 && + obj.hasReferenceBase("floating-ip") { + err := obj.UpdateReference( + obj, "floating-ip", + obj.floating_ip_refs, + obj.baseMap["floating-ip"]) + if err != nil { + return err + } + } + + return nil +} + +func CustomerAttachmentByName(c contrail.ApiClient, fqn string) (*CustomerAttachment, error) { + obj, err := c.FindByName("customer-attachment", fqn) + if err != nil { + return nil, err + } + return obj.(*CustomerAttachment), nil +} + +func CustomerAttachmentByUuid(c contrail.ApiClient, uuid string) (*CustomerAttachment, error) { + obj, err := c.FindByUuid("customer-attachment", uuid) + if err != nil { + return nil, err + } + return obj.(*CustomerAttachment), nil +} diff --git a/types/database_node.go b/types/database_node.go new file mode 100644 index 0000000..8c80b22 --- /dev/null +++ b/types/database_node.go @@ -0,0 +1,269 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + database_node_database_node_ip_address uint64 = 1 << iota + database_node_id_perms + database_node_perms2 + database_node_display_name +) + +type DatabaseNode struct { + contrail.ObjectBase + database_node_ip_address string + id_perms IdPermsType + perms2 PermType2 + display_name string + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *DatabaseNode) GetType() string { + return "database-node" +} + +func (obj *DatabaseNode) GetDefaultParent() []string { + name := []string{"default-global-system-config"} + return name +} + +func (obj *DatabaseNode) GetDefaultParentType() string { + return "global-system-config" +} + +func (obj *DatabaseNode) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *DatabaseNode) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *DatabaseNode) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *DatabaseNode) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *DatabaseNode) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *DatabaseNode) GetDatabaseNodeIpAddress() string { + return obj.database_node_ip_address +} + +func (obj *DatabaseNode) SetDatabaseNodeIpAddress(value string) { + obj.database_node_ip_address = value + obj.modified |= database_node_database_node_ip_address +} + +func (obj *DatabaseNode) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *DatabaseNode) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= database_node_id_perms +} + +func (obj *DatabaseNode) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *DatabaseNode) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= database_node_perms2 +} + +func (obj *DatabaseNode) GetDisplayName() string { + return obj.display_name +} + +func (obj *DatabaseNode) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= database_node_display_name +} + +func (obj *DatabaseNode) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & database_node_database_node_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.database_node_ip_address) + if err != nil { + return nil, err + } + msg["database_node_ip_address"] = &value + } + + if obj.modified & database_node_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & database_node_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & database_node_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *DatabaseNode) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "database_node_ip_address": + err = json.Unmarshal(value, &obj.database_node_ip_address) + if err == nil { + obj.valid |= database_node_database_node_ip_address + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= database_node_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= database_node_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= database_node_display_name + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *DatabaseNode) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & database_node_database_node_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.database_node_ip_address) + if err != nil { + return nil, err + } + msg["database_node_ip_address"] = &value + } + + if obj.modified & database_node_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & database_node_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & database_node_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *DatabaseNode) UpdateReferences() error { + + return nil +} + +func DatabaseNodeByName(c contrail.ApiClient, fqn string) (*DatabaseNode, error) { + obj, err := c.FindByName("database-node", fqn) + if err != nil { + return nil, err + } + return obj.(*DatabaseNode), nil +} + +func DatabaseNodeByUuid(c contrail.ApiClient, uuid string) (*DatabaseNode, error) { + obj, err := c.FindByUuid("database-node", uuid) + if err != nil { + return nil, err + } + return obj.(*DatabaseNode), nil +} diff --git a/types/dhcp_option_type.go b/types/dhcp_option_type.go new file mode 100644 index 0000000..5bcbac0 --- /dev/null +++ b/types/dhcp_option_type.go @@ -0,0 +1,11 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type DhcpOptionType struct { + DhcpOptionName string `json:"dhcp_option_name,omitempty"` + DhcpOptionValue string `json:"dhcp_option_value,omitempty"` + DhcpOptionValueBytes string `json:"dhcp_option_value_bytes,omitempty"` +} diff --git a/types/dhcp_options_list_type.go b/types/dhcp_options_list_type.go new file mode 100644 index 0000000..9049f2a --- /dev/null +++ b/types/dhcp_options_list_type.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type DhcpOptionsListType struct { + DhcpOption []DhcpOptionType `json:"dhcp_option,omitempty"` +} + +func (obj *DhcpOptionsListType) AddDhcpOption(value *DhcpOptionType) { + obj.DhcpOption = append(obj.DhcpOption, *value) +} diff --git a/types/discovery_service_assignment.go b/types/discovery_service_assignment.go new file mode 100644 index 0000000..336f5b1 --- /dev/null +++ b/types/discovery_service_assignment.go @@ -0,0 +1,262 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + discovery_service_assignment_id_perms uint64 = 1 << iota + discovery_service_assignment_perms2 + discovery_service_assignment_display_name + discovery_service_assignment_dsa_rules +) + +type DiscoveryServiceAssignment struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + dsa_rules contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *DiscoveryServiceAssignment) GetType() string { + return "discovery-service-assignment" +} + +func (obj *DiscoveryServiceAssignment) GetDefaultParent() []string { + name := []string{} + return name +} + +func (obj *DiscoveryServiceAssignment) GetDefaultParentType() string { + return "" +} + +func (obj *DiscoveryServiceAssignment) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *DiscoveryServiceAssignment) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *DiscoveryServiceAssignment) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *DiscoveryServiceAssignment) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *DiscoveryServiceAssignment) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *DiscoveryServiceAssignment) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *DiscoveryServiceAssignment) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= discovery_service_assignment_id_perms +} + +func (obj *DiscoveryServiceAssignment) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *DiscoveryServiceAssignment) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= discovery_service_assignment_perms2 +} + +func (obj *DiscoveryServiceAssignment) GetDisplayName() string { + return obj.display_name +} + +func (obj *DiscoveryServiceAssignment) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= discovery_service_assignment_display_name +} + +func (obj *DiscoveryServiceAssignment) readDsaRules() error { + if !obj.IsTransient() && + (obj.valid & discovery_service_assignment_dsa_rules == 0) { + err := obj.GetField(obj, "dsa_rules") + if err != nil { + return err + } + } + return nil +} + +func (obj *DiscoveryServiceAssignment) GetDsaRules() ( + contrail.ReferenceList, error) { + err := obj.readDsaRules() + if err != nil { + return nil, err + } + return obj.dsa_rules, nil +} + +func (obj *DiscoveryServiceAssignment) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & discovery_service_assignment_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & discovery_service_assignment_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & discovery_service_assignment_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *DiscoveryServiceAssignment) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= discovery_service_assignment_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= discovery_service_assignment_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= discovery_service_assignment_display_name + } + break + case "dsa_rules": + err = json.Unmarshal(value, &obj.dsa_rules) + if err == nil { + obj.valid |= discovery_service_assignment_dsa_rules + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *DiscoveryServiceAssignment) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & discovery_service_assignment_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & discovery_service_assignment_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & discovery_service_assignment_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *DiscoveryServiceAssignment) UpdateReferences() error { + + return nil +} + +func DiscoveryServiceAssignmentByName(c contrail.ApiClient, fqn string) (*DiscoveryServiceAssignment, error) { + obj, err := c.FindByName("discovery-service-assignment", fqn) + if err != nil { + return nil, err + } + return obj.(*DiscoveryServiceAssignment), nil +} + +func DiscoveryServiceAssignmentByUuid(c contrail.ApiClient, uuid string) (*DiscoveryServiceAssignment, error) { + obj, err := c.FindByUuid("discovery-service-assignment", uuid) + if err != nil { + return nil, err + } + return obj.(*DiscoveryServiceAssignment), nil +} diff --git a/types/discovery_service_assignment_type.go b/types/discovery_service_assignment_type.go new file mode 100644 index 0000000..177a890 --- /dev/null +++ b/types/discovery_service_assignment_type.go @@ -0,0 +1,21 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type DiscoveryPubSubEndPointType struct { + EpType string `json:"ep_type,omitempty"` + EpId string `json:"ep_id,omitempty"` + EpPrefix *SubnetType `json:"ep_prefix,omitempty"` + EpVersion string `json:"ep_version,omitempty"` +} + +type DiscoveryServiceAssignmentType struct { + Publisher *DiscoveryPubSubEndPointType `json:"publisher,omitempty"` + Subscriber []DiscoveryPubSubEndPointType `json:"subscriber,omitempty"` +} + +func (obj *DiscoveryServiceAssignmentType) AddSubscriber(value *DiscoveryPubSubEndPointType) { + obj.Subscriber = append(obj.Subscriber, *value) +} diff --git a/types/domain.go b/types/domain.go new file mode 100644 index 0000000..8befa32 --- /dev/null +++ b/types/domain.go @@ -0,0 +1,409 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + domain_domain_limits uint64 = 1 << iota + domain_id_perms + domain_perms2 + domain_display_name + domain_projects + domain_namespaces + domain_service_templates + domain_virtual_DNSs + domain_api_access_lists +) + +type Domain struct { + contrail.ObjectBase + domain_limits DomainLimitsType + id_perms IdPermsType + perms2 PermType2 + display_name string + projects contrail.ReferenceList + namespaces contrail.ReferenceList + service_templates contrail.ReferenceList + virtual_DNSs contrail.ReferenceList + api_access_lists contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *Domain) GetType() string { + return "domain" +} + +func (obj *Domain) GetDefaultParent() []string { + name := []string{} + return name +} + +func (obj *Domain) GetDefaultParentType() string { + return "config-root" +} + +func (obj *Domain) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *Domain) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *Domain) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *Domain) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *Domain) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *Domain) GetDomainLimits() DomainLimitsType { + return obj.domain_limits +} + +func (obj *Domain) SetDomainLimits(value *DomainLimitsType) { + obj.domain_limits = *value + obj.modified |= domain_domain_limits +} + +func (obj *Domain) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *Domain) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= domain_id_perms +} + +func (obj *Domain) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *Domain) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= domain_perms2 +} + +func (obj *Domain) GetDisplayName() string { + return obj.display_name +} + +func (obj *Domain) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= domain_display_name +} + +func (obj *Domain) readProjects() error { + if !obj.IsTransient() && + (obj.valid & domain_projects == 0) { + err := obj.GetField(obj, "projects") + if err != nil { + return err + } + } + return nil +} + +func (obj *Domain) GetProjects() ( + contrail.ReferenceList, error) { + err := obj.readProjects() + if err != nil { + return nil, err + } + return obj.projects, nil +} + +func (obj *Domain) readNamespaces() error { + if !obj.IsTransient() && + (obj.valid & domain_namespaces == 0) { + err := obj.GetField(obj, "namespaces") + if err != nil { + return err + } + } + return nil +} + +func (obj *Domain) GetNamespaces() ( + contrail.ReferenceList, error) { + err := obj.readNamespaces() + if err != nil { + return nil, err + } + return obj.namespaces, nil +} + +func (obj *Domain) readServiceTemplates() error { + if !obj.IsTransient() && + (obj.valid & domain_service_templates == 0) { + err := obj.GetField(obj, "service_templates") + if err != nil { + return err + } + } + return nil +} + +func (obj *Domain) GetServiceTemplates() ( + contrail.ReferenceList, error) { + err := obj.readServiceTemplates() + if err != nil { + return nil, err + } + return obj.service_templates, nil +} + +func (obj *Domain) readVirtualDnss() error { + if !obj.IsTransient() && + (obj.valid & domain_virtual_DNSs == 0) { + err := obj.GetField(obj, "virtual_DNSs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Domain) GetVirtualDnss() ( + contrail.ReferenceList, error) { + err := obj.readVirtualDnss() + if err != nil { + return nil, err + } + return obj.virtual_DNSs, nil +} + +func (obj *Domain) readApiAccessLists() error { + if !obj.IsTransient() && + (obj.valid & domain_api_access_lists == 0) { + err := obj.GetField(obj, "api_access_lists") + if err != nil { + return err + } + } + return nil +} + +func (obj *Domain) GetApiAccessLists() ( + contrail.ReferenceList, error) { + err := obj.readApiAccessLists() + if err != nil { + return nil, err + } + return obj.api_access_lists, nil +} + +func (obj *Domain) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & domain_domain_limits != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.domain_limits) + if err != nil { + return nil, err + } + msg["domain_limits"] = &value + } + + if obj.modified & domain_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & domain_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & domain_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *Domain) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "domain_limits": + err = json.Unmarshal(value, &obj.domain_limits) + if err == nil { + obj.valid |= domain_domain_limits + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= domain_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= domain_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= domain_display_name + } + break + case "projects": + err = json.Unmarshal(value, &obj.projects) + if err == nil { + obj.valid |= domain_projects + } + break + case "namespaces": + err = json.Unmarshal(value, &obj.namespaces) + if err == nil { + obj.valid |= domain_namespaces + } + break + case "service_templates": + err = json.Unmarshal(value, &obj.service_templates) + if err == nil { + obj.valid |= domain_service_templates + } + break + case "virtual_DNSs": + err = json.Unmarshal(value, &obj.virtual_DNSs) + if err == nil { + obj.valid |= domain_virtual_DNSs + } + break + case "api_access_lists": + err = json.Unmarshal(value, &obj.api_access_lists) + if err == nil { + obj.valid |= domain_api_access_lists + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *Domain) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & domain_domain_limits != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.domain_limits) + if err != nil { + return nil, err + } + msg["domain_limits"] = &value + } + + if obj.modified & domain_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & domain_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & domain_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *Domain) UpdateReferences() error { + + return nil +} + +func DomainByName(c contrail.ApiClient, fqn string) (*Domain, error) { + obj, err := c.FindByName("domain", fqn) + if err != nil { + return nil, err + } + return obj.(*Domain), nil +} + +func DomainByUuid(c contrail.ApiClient, uuid string) (*Domain, error) { + obj, err := c.FindByUuid("domain", uuid) + if err != nil { + return nil, err + } + return obj.(*Domain), nil +} diff --git a/types/domain_limits_type.go b/types/domain_limits_type.go new file mode 100644 index 0000000..808e7e0 --- /dev/null +++ b/types/domain_limits_type.go @@ -0,0 +1,11 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type DomainLimitsType struct { + ProjectLimit int `json:"project_limit,omitempty"` + VirtualNetworkLimit int `json:"virtual_network_limit,omitempty"` + SecurityGroupLimit int `json:"security_group_limit,omitempty"` +} diff --git a/types/dsa_rule.go b/types/dsa_rule.go new file mode 100644 index 0000000..a5cd4c7 --- /dev/null +++ b/types/dsa_rule.go @@ -0,0 +1,269 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + dsa_rule_dsa_rule_entry uint64 = 1 << iota + dsa_rule_id_perms + dsa_rule_perms2 + dsa_rule_display_name +) + +type DsaRule struct { + contrail.ObjectBase + dsa_rule_entry DiscoveryServiceAssignmentType + id_perms IdPermsType + perms2 PermType2 + display_name string + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *DsaRule) GetType() string { + return "dsa-rule" +} + +func (obj *DsaRule) GetDefaultParent() []string { + name := []string{"default-discovery-service-assignment"} + return name +} + +func (obj *DsaRule) GetDefaultParentType() string { + return "discovery-service-assignment" +} + +func (obj *DsaRule) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *DsaRule) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *DsaRule) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *DsaRule) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *DsaRule) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *DsaRule) GetDsaRuleEntry() DiscoveryServiceAssignmentType { + return obj.dsa_rule_entry +} + +func (obj *DsaRule) SetDsaRuleEntry(value *DiscoveryServiceAssignmentType) { + obj.dsa_rule_entry = *value + obj.modified |= dsa_rule_dsa_rule_entry +} + +func (obj *DsaRule) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *DsaRule) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= dsa_rule_id_perms +} + +func (obj *DsaRule) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *DsaRule) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= dsa_rule_perms2 +} + +func (obj *DsaRule) GetDisplayName() string { + return obj.display_name +} + +func (obj *DsaRule) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= dsa_rule_display_name +} + +func (obj *DsaRule) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & dsa_rule_dsa_rule_entry != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.dsa_rule_entry) + if err != nil { + return nil, err + } + msg["dsa_rule_entry"] = &value + } + + if obj.modified & dsa_rule_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & dsa_rule_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & dsa_rule_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *DsaRule) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "dsa_rule_entry": + err = json.Unmarshal(value, &obj.dsa_rule_entry) + if err == nil { + obj.valid |= dsa_rule_dsa_rule_entry + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= dsa_rule_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= dsa_rule_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= dsa_rule_display_name + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *DsaRule) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & dsa_rule_dsa_rule_entry != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.dsa_rule_entry) + if err != nil { + return nil, err + } + msg["dsa_rule_entry"] = &value + } + + if obj.modified & dsa_rule_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & dsa_rule_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & dsa_rule_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *DsaRule) UpdateReferences() error { + + return nil +} + +func DsaRuleByName(c contrail.ApiClient, fqn string) (*DsaRule, error) { + obj, err := c.FindByName("dsa-rule", fqn) + if err != nil { + return nil, err + } + return obj.(*DsaRule), nil +} + +func DsaRuleByUuid(c contrail.ApiClient, uuid string) (*DsaRule, error) { + obj, err := c.FindByUuid("dsa-rule", uuid) + if err != nil { + return nil, err + } + return obj.(*DsaRule), nil +} diff --git a/types/ecmp_hashing_include_fields.go b/types/ecmp_hashing_include_fields.go new file mode 100644 index 0000000..48d2562 --- /dev/null +++ b/types/ecmp_hashing_include_fields.go @@ -0,0 +1,14 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type EcmpHashingIncludeFields struct { + HashingConfigured bool `json:"hashing_configured,omitempty"` + SourceIp bool `json:"source_ip,omitempty"` + DestinationIp bool `json:"destination_ip,omitempty"` + IpProtocol bool `json:"ip_protocol,omitempty"` + SourcePort bool `json:"source_port,omitempty"` + DestinationPort bool `json:"destination_port,omitempty"` +} diff --git a/types/encapsulation_priorities_type.go b/types/encapsulation_priorities_type.go new file mode 100644 index 0000000..4b849da --- /dev/null +++ b/types/encapsulation_priorities_type.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type EncapsulationPrioritiesType struct { + Encapsulation []string `json:"encapsulation,omitempty"` +} + +func (obj *EncapsulationPrioritiesType) AddEncapsulation(value string) { + obj.Encapsulation = append(obj.Encapsulation, value) +} diff --git a/types/fat_flow_protocols.go b/types/fat_flow_protocols.go new file mode 100644 index 0000000..c78374a --- /dev/null +++ b/types/fat_flow_protocols.go @@ -0,0 +1,18 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type ProtocolType struct { + Protocol string `json:"protocol,omitempty"` + Port int `json:"port,omitempty"` +} + +type FatFlowProtocols struct { + FatFlowProtocol []ProtocolType `json:"fat_flow_protocol,omitempty"` +} + +func (obj *FatFlowProtocols) AddFatFlowProtocol(value *ProtocolType) { + obj.FatFlowProtocol = append(obj.FatFlowProtocol, *value) +} diff --git a/types/floating_ip.go b/types/floating_ip.go new file mode 100644 index 0000000..448bdf9 --- /dev/null +++ b/types/floating_ip.go @@ -0,0 +1,670 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + floating_ip_floating_ip_address uint64 = 1 << iota + floating_ip_floating_ip_is_virtual_ip + floating_ip_floating_ip_fixed_ip_address + floating_ip_floating_ip_address_family + floating_ip_id_perms + floating_ip_perms2 + floating_ip_display_name + floating_ip_project_refs + floating_ip_virtual_machine_interface_refs + floating_ip_customer_attachment_back_refs +) + +type FloatingIp struct { + contrail.ObjectBase + floating_ip_address string + floating_ip_is_virtual_ip bool + floating_ip_fixed_ip_address string + floating_ip_address_family string + id_perms IdPermsType + perms2 PermType2 + display_name string + project_refs contrail.ReferenceList + virtual_machine_interface_refs contrail.ReferenceList + customer_attachment_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *FloatingIp) GetType() string { + return "floating-ip" +} + +func (obj *FloatingIp) GetDefaultParent() []string { + name := []string{"default-domain", "default-project", "default-virtual-network", "default-floating-ip-pool"} + return name +} + +func (obj *FloatingIp) GetDefaultParentType() string { + return "floating-ip-pool" +} + +func (obj *FloatingIp) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *FloatingIp) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *FloatingIp) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *FloatingIp) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *FloatingIp) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *FloatingIp) GetFloatingIpAddress() string { + return obj.floating_ip_address +} + +func (obj *FloatingIp) SetFloatingIpAddress(value string) { + obj.floating_ip_address = value + obj.modified |= floating_ip_floating_ip_address +} + +func (obj *FloatingIp) GetFloatingIpIsVirtualIp() bool { + return obj.floating_ip_is_virtual_ip +} + +func (obj *FloatingIp) SetFloatingIpIsVirtualIp(value bool) { + obj.floating_ip_is_virtual_ip = value + obj.modified |= floating_ip_floating_ip_is_virtual_ip +} + +func (obj *FloatingIp) GetFloatingIpFixedIpAddress() string { + return obj.floating_ip_fixed_ip_address +} + +func (obj *FloatingIp) SetFloatingIpFixedIpAddress(value string) { + obj.floating_ip_fixed_ip_address = value + obj.modified |= floating_ip_floating_ip_fixed_ip_address +} + +func (obj *FloatingIp) GetFloatingIpAddressFamily() string { + return obj.floating_ip_address_family +} + +func (obj *FloatingIp) SetFloatingIpAddressFamily(value string) { + obj.floating_ip_address_family = value + obj.modified |= floating_ip_floating_ip_address_family +} + +func (obj *FloatingIp) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *FloatingIp) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= floating_ip_id_perms +} + +func (obj *FloatingIp) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *FloatingIp) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= floating_ip_perms2 +} + +func (obj *FloatingIp) GetDisplayName() string { + return obj.display_name +} + +func (obj *FloatingIp) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= floating_ip_display_name +} + +func (obj *FloatingIp) readProjectRefs() error { + if !obj.IsTransient() && + (obj.valid & floating_ip_project_refs == 0) { + err := obj.GetField(obj, "project_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *FloatingIp) GetProjectRefs() ( + contrail.ReferenceList, error) { + err := obj.readProjectRefs() + if err != nil { + return nil, err + } + return obj.project_refs, nil +} + +func (obj *FloatingIp) AddProject( + rhs *Project) error { + err := obj.readProjectRefs() + if err != nil { + return err + } + + if obj.modified & floating_ip_project_refs == 0 { + obj.storeReferenceBase("project", obj.project_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.project_refs = append(obj.project_refs, ref) + obj.modified |= floating_ip_project_refs + return nil +} + +func (obj *FloatingIp) DeleteProject(uuid string) error { + err := obj.readProjectRefs() + if err != nil { + return err + } + + if obj.modified & floating_ip_project_refs == 0 { + obj.storeReferenceBase("project", obj.project_refs) + } + + for i, ref := range obj.project_refs { + if ref.Uuid == uuid { + obj.project_refs = append( + obj.project_refs[:i], + obj.project_refs[i+1:]...) + break + } + } + obj.modified |= floating_ip_project_refs + return nil +} + +func (obj *FloatingIp) ClearProject() { + if (obj.valid & floating_ip_project_refs != 0) && + (obj.modified & floating_ip_project_refs == 0) { + obj.storeReferenceBase("project", obj.project_refs) + } + obj.project_refs = make([]contrail.Reference, 0) + obj.valid |= floating_ip_project_refs + obj.modified |= floating_ip_project_refs +} + +func (obj *FloatingIp) SetProjectList( + refList []contrail.ReferencePair) { + obj.ClearProject() + obj.project_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.project_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *FloatingIp) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & floating_ip_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *FloatingIp) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *FloatingIp) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & floating_ip_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= floating_ip_virtual_machine_interface_refs + return nil +} + +func (obj *FloatingIp) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & floating_ip_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= floating_ip_virtual_machine_interface_refs + return nil +} + +func (obj *FloatingIp) ClearVirtualMachineInterface() { + if (obj.valid & floating_ip_virtual_machine_interface_refs != 0) && + (obj.modified & floating_ip_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= floating_ip_virtual_machine_interface_refs + obj.modified |= floating_ip_virtual_machine_interface_refs +} + +func (obj *FloatingIp) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *FloatingIp) readCustomerAttachmentBackRefs() error { + if !obj.IsTransient() && + (obj.valid & floating_ip_customer_attachment_back_refs == 0) { + err := obj.GetField(obj, "customer_attachment_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *FloatingIp) GetCustomerAttachmentBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readCustomerAttachmentBackRefs() + if err != nil { + return nil, err + } + return obj.customer_attachment_back_refs, nil +} + +func (obj *FloatingIp) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & floating_ip_floating_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_address) + if err != nil { + return nil, err + } + msg["floating_ip_address"] = &value + } + + if obj.modified & floating_ip_floating_ip_is_virtual_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_is_virtual_ip) + if err != nil { + return nil, err + } + msg["floating_ip_is_virtual_ip"] = &value + } + + if obj.modified & floating_ip_floating_ip_fixed_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_fixed_ip_address) + if err != nil { + return nil, err + } + msg["floating_ip_fixed_ip_address"] = &value + } + + if obj.modified & floating_ip_floating_ip_address_family != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_address_family) + if err != nil { + return nil, err + } + msg["floating_ip_address_family"] = &value + } + + if obj.modified & floating_ip_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & floating_ip_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & floating_ip_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.project_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.project_refs) + if err != nil { + return nil, err + } + msg["project_refs"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *FloatingIp) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "floating_ip_address": + err = json.Unmarshal(value, &obj.floating_ip_address) + if err == nil { + obj.valid |= floating_ip_floating_ip_address + } + break + case "floating_ip_is_virtual_ip": + err = json.Unmarshal(value, &obj.floating_ip_is_virtual_ip) + if err == nil { + obj.valid |= floating_ip_floating_ip_is_virtual_ip + } + break + case "floating_ip_fixed_ip_address": + err = json.Unmarshal(value, &obj.floating_ip_fixed_ip_address) + if err == nil { + obj.valid |= floating_ip_floating_ip_fixed_ip_address + } + break + case "floating_ip_address_family": + err = json.Unmarshal(value, &obj.floating_ip_address_family) + if err == nil { + obj.valid |= floating_ip_floating_ip_address_family + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= floating_ip_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= floating_ip_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= floating_ip_display_name + } + break + case "project_refs": + err = json.Unmarshal(value, &obj.project_refs) + if err == nil { + obj.valid |= floating_ip_project_refs + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= floating_ip_virtual_machine_interface_refs + } + break + case "customer_attachment_back_refs": + err = json.Unmarshal(value, &obj.customer_attachment_back_refs) + if err == nil { + obj.valid |= floating_ip_customer_attachment_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *FloatingIp) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & floating_ip_floating_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_address) + if err != nil { + return nil, err + } + msg["floating_ip_address"] = &value + } + + if obj.modified & floating_ip_floating_ip_is_virtual_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_is_virtual_ip) + if err != nil { + return nil, err + } + msg["floating_ip_is_virtual_ip"] = &value + } + + if obj.modified & floating_ip_floating_ip_fixed_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_fixed_ip_address) + if err != nil { + return nil, err + } + msg["floating_ip_fixed_ip_address"] = &value + } + + if obj.modified & floating_ip_floating_ip_address_family != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_address_family) + if err != nil { + return nil, err + } + msg["floating_ip_address_family"] = &value + } + + if obj.modified & floating_ip_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & floating_ip_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & floating_ip_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & floating_ip_project_refs != 0 { + if len(obj.project_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["project_refs"] = &value + } else if !obj.hasReferenceBase("project") { + var value json.RawMessage + value, err := json.Marshal(&obj.project_refs) + if err != nil { + return nil, err + } + msg["project_refs"] = &value + } + } + + + if obj.modified & floating_ip_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *FloatingIp) UpdateReferences() error { + + if (obj.modified & floating_ip_project_refs != 0) && + len(obj.project_refs) > 0 && + obj.hasReferenceBase("project") { + err := obj.UpdateReference( + obj, "project", + obj.project_refs, + obj.baseMap["project"]) + if err != nil { + return err + } + } + + if (obj.modified & floating_ip_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + return nil +} + +func FloatingIpByName(c contrail.ApiClient, fqn string) (*FloatingIp, error) { + obj, err := c.FindByName("floating-ip", fqn) + if err != nil { + return nil, err + } + return obj.(*FloatingIp), nil +} + +func FloatingIpByUuid(c contrail.ApiClient, uuid string) (*FloatingIp, error) { + obj, err := c.FindByUuid("floating-ip", uuid) + if err != nil { + return nil, err + } + return obj.(*FloatingIp), nil +} diff --git a/types/floating_ip_pool.go b/types/floating_ip_pool.go new file mode 100644 index 0000000..ab8a2be --- /dev/null +++ b/types/floating_ip_pool.go @@ -0,0 +1,325 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + floating_ip_pool_floating_ip_pool_prefixes uint64 = 1 << iota + floating_ip_pool_id_perms + floating_ip_pool_perms2 + floating_ip_pool_display_name + floating_ip_pool_floating_ips + floating_ip_pool_project_back_refs +) + +type FloatingIpPool struct { + contrail.ObjectBase + floating_ip_pool_prefixes FloatingIpPoolType + id_perms IdPermsType + perms2 PermType2 + display_name string + floating_ips contrail.ReferenceList + project_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *FloatingIpPool) GetType() string { + return "floating-ip-pool" +} + +func (obj *FloatingIpPool) GetDefaultParent() []string { + name := []string{"default-domain", "default-project", "default-virtual-network"} + return name +} + +func (obj *FloatingIpPool) GetDefaultParentType() string { + return "virtual-network" +} + +func (obj *FloatingIpPool) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *FloatingIpPool) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *FloatingIpPool) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *FloatingIpPool) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *FloatingIpPool) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *FloatingIpPool) GetFloatingIpPoolPrefixes() FloatingIpPoolType { + return obj.floating_ip_pool_prefixes +} + +func (obj *FloatingIpPool) SetFloatingIpPoolPrefixes(value *FloatingIpPoolType) { + obj.floating_ip_pool_prefixes = *value + obj.modified |= floating_ip_pool_floating_ip_pool_prefixes +} + +func (obj *FloatingIpPool) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *FloatingIpPool) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= floating_ip_pool_id_perms +} + +func (obj *FloatingIpPool) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *FloatingIpPool) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= floating_ip_pool_perms2 +} + +func (obj *FloatingIpPool) GetDisplayName() string { + return obj.display_name +} + +func (obj *FloatingIpPool) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= floating_ip_pool_display_name +} + +func (obj *FloatingIpPool) readFloatingIps() error { + if !obj.IsTransient() && + (obj.valid & floating_ip_pool_floating_ips == 0) { + err := obj.GetField(obj, "floating_ips") + if err != nil { + return err + } + } + return nil +} + +func (obj *FloatingIpPool) GetFloatingIps() ( + contrail.ReferenceList, error) { + err := obj.readFloatingIps() + if err != nil { + return nil, err + } + return obj.floating_ips, nil +} + +func (obj *FloatingIpPool) readProjectBackRefs() error { + if !obj.IsTransient() && + (obj.valid & floating_ip_pool_project_back_refs == 0) { + err := obj.GetField(obj, "project_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *FloatingIpPool) GetProjectBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readProjectBackRefs() + if err != nil { + return nil, err + } + return obj.project_back_refs, nil +} + +func (obj *FloatingIpPool) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & floating_ip_pool_floating_ip_pool_prefixes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_pool_prefixes) + if err != nil { + return nil, err + } + msg["floating_ip_pool_prefixes"] = &value + } + + if obj.modified & floating_ip_pool_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & floating_ip_pool_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & floating_ip_pool_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *FloatingIpPool) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "floating_ip_pool_prefixes": + err = json.Unmarshal(value, &obj.floating_ip_pool_prefixes) + if err == nil { + obj.valid |= floating_ip_pool_floating_ip_pool_prefixes + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= floating_ip_pool_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= floating_ip_pool_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= floating_ip_pool_display_name + } + break + case "floating_ips": + err = json.Unmarshal(value, &obj.floating_ips) + if err == nil { + obj.valid |= floating_ip_pool_floating_ips + } + break + case "project_back_refs": + err = json.Unmarshal(value, &obj.project_back_refs) + if err == nil { + obj.valid |= floating_ip_pool_project_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *FloatingIpPool) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & floating_ip_pool_floating_ip_pool_prefixes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_pool_prefixes) + if err != nil { + return nil, err + } + msg["floating_ip_pool_prefixes"] = &value + } + + if obj.modified & floating_ip_pool_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & floating_ip_pool_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & floating_ip_pool_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *FloatingIpPool) UpdateReferences() error { + + return nil +} + +func FloatingIpPoolByName(c contrail.ApiClient, fqn string) (*FloatingIpPool, error) { + obj, err := c.FindByName("floating-ip-pool", fqn) + if err != nil { + return nil, err + } + return obj.(*FloatingIpPool), nil +} + +func FloatingIpPoolByUuid(c contrail.ApiClient, uuid string) (*FloatingIpPool, error) { + obj, err := c.FindByUuid("floating-ip-pool", uuid) + if err != nil { + return nil, err + } + return obj.(*FloatingIpPool), nil +} diff --git a/types/floating_ip_pool_type.go b/types/floating_ip_pool_type.go new file mode 100644 index 0000000..12e2514 --- /dev/null +++ b/types/floating_ip_pool_type.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type FloatingIpPoolType struct { + Subnet []SubnetType `json:"subnet,omitempty"` +} + +func (obj *FloatingIpPoolType) AddSubnet(value *SubnetType) { + obj.Subnet = append(obj.Subnet, *value) +} diff --git a/types/flow_aging_timeout_list.go b/types/flow_aging_timeout_list.go new file mode 100644 index 0000000..41b5e30 --- /dev/null +++ b/types/flow_aging_timeout_list.go @@ -0,0 +1,19 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type FlowAgingTimeout struct { + Protocol string `json:"protocol,omitempty"` + Port int `json:"port,omitempty"` + TimeoutInSeconds int `json:"timeout_in_seconds,omitempty"` +} + +type FlowAgingTimeoutList struct { + FlowAgingTimeout []FlowAgingTimeout `json:"flow_aging_timeout,omitempty"` +} + +func (obj *FlowAgingTimeoutList) AddFlowAgingTimeout(value *FlowAgingTimeout) { + obj.FlowAgingTimeout = append(obj.FlowAgingTimeout, *value) +} diff --git a/types/forwarding_class.go b/types/forwarding_class.go new file mode 100644 index 0000000..724f8d9 --- /dev/null +++ b/types/forwarding_class.go @@ -0,0 +1,508 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + forwarding_class_forwarding_class_id uint64 = 1 << iota + forwarding_class_forwarding_class_dscp + forwarding_class_forwarding_class_vlan_priority + forwarding_class_forwarding_class_mpls_exp + forwarding_class_id_perms + forwarding_class_perms2 + forwarding_class_display_name + forwarding_class_qos_queue_refs +) + +type ForwardingClass struct { + contrail.ObjectBase + forwarding_class_id int + forwarding_class_dscp int + forwarding_class_vlan_priority int + forwarding_class_mpls_exp int + id_perms IdPermsType + perms2 PermType2 + display_name string + qos_queue_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *ForwardingClass) GetType() string { + return "forwarding-class" +} + +func (obj *ForwardingClass) GetDefaultParent() []string { + name := []string{"default-global-system-config", "default-global-qos-config"} + return name +} + +func (obj *ForwardingClass) GetDefaultParentType() string { + return "global-qos-config" +} + +func (obj *ForwardingClass) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *ForwardingClass) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *ForwardingClass) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *ForwardingClass) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *ForwardingClass) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *ForwardingClass) GetForwardingClassId() int { + return obj.forwarding_class_id +} + +func (obj *ForwardingClass) SetForwardingClassId(value int) { + obj.forwarding_class_id = value + obj.modified |= forwarding_class_forwarding_class_id +} + +func (obj *ForwardingClass) GetForwardingClassDscp() int { + return obj.forwarding_class_dscp +} + +func (obj *ForwardingClass) SetForwardingClassDscp(value int) { + obj.forwarding_class_dscp = value + obj.modified |= forwarding_class_forwarding_class_dscp +} + +func (obj *ForwardingClass) GetForwardingClassVlanPriority() int { + return obj.forwarding_class_vlan_priority +} + +func (obj *ForwardingClass) SetForwardingClassVlanPriority(value int) { + obj.forwarding_class_vlan_priority = value + obj.modified |= forwarding_class_forwarding_class_vlan_priority +} + +func (obj *ForwardingClass) GetForwardingClassMplsExp() int { + return obj.forwarding_class_mpls_exp +} + +func (obj *ForwardingClass) SetForwardingClassMplsExp(value int) { + obj.forwarding_class_mpls_exp = value + obj.modified |= forwarding_class_forwarding_class_mpls_exp +} + +func (obj *ForwardingClass) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *ForwardingClass) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= forwarding_class_id_perms +} + +func (obj *ForwardingClass) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *ForwardingClass) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= forwarding_class_perms2 +} + +func (obj *ForwardingClass) GetDisplayName() string { + return obj.display_name +} + +func (obj *ForwardingClass) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= forwarding_class_display_name +} + +func (obj *ForwardingClass) readQosQueueRefs() error { + if !obj.IsTransient() && + (obj.valid & forwarding_class_qos_queue_refs == 0) { + err := obj.GetField(obj, "qos_queue_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ForwardingClass) GetQosQueueRefs() ( + contrail.ReferenceList, error) { + err := obj.readQosQueueRefs() + if err != nil { + return nil, err + } + return obj.qos_queue_refs, nil +} + +func (obj *ForwardingClass) AddQosQueue( + rhs *QosQueue) error { + err := obj.readQosQueueRefs() + if err != nil { + return err + } + + if obj.modified & forwarding_class_qos_queue_refs == 0 { + obj.storeReferenceBase("qos-queue", obj.qos_queue_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.qos_queue_refs = append(obj.qos_queue_refs, ref) + obj.modified |= forwarding_class_qos_queue_refs + return nil +} + +func (obj *ForwardingClass) DeleteQosQueue(uuid string) error { + err := obj.readQosQueueRefs() + if err != nil { + return err + } + + if obj.modified & forwarding_class_qos_queue_refs == 0 { + obj.storeReferenceBase("qos-queue", obj.qos_queue_refs) + } + + for i, ref := range obj.qos_queue_refs { + if ref.Uuid == uuid { + obj.qos_queue_refs = append( + obj.qos_queue_refs[:i], + obj.qos_queue_refs[i+1:]...) + break + } + } + obj.modified |= forwarding_class_qos_queue_refs + return nil +} + +func (obj *ForwardingClass) ClearQosQueue() { + if (obj.valid & forwarding_class_qos_queue_refs != 0) && + (obj.modified & forwarding_class_qos_queue_refs == 0) { + obj.storeReferenceBase("qos-queue", obj.qos_queue_refs) + } + obj.qos_queue_refs = make([]contrail.Reference, 0) + obj.valid |= forwarding_class_qos_queue_refs + obj.modified |= forwarding_class_qos_queue_refs +} + +func (obj *ForwardingClass) SetQosQueueList( + refList []contrail.ReferencePair) { + obj.ClearQosQueue() + obj.qos_queue_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.qos_queue_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *ForwardingClass) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & forwarding_class_forwarding_class_id != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.forwarding_class_id) + if err != nil { + return nil, err + } + msg["forwarding_class_id"] = &value + } + + if obj.modified & forwarding_class_forwarding_class_dscp != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.forwarding_class_dscp) + if err != nil { + return nil, err + } + msg["forwarding_class_dscp"] = &value + } + + if obj.modified & forwarding_class_forwarding_class_vlan_priority != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.forwarding_class_vlan_priority) + if err != nil { + return nil, err + } + msg["forwarding_class_vlan_priority"] = &value + } + + if obj.modified & forwarding_class_forwarding_class_mpls_exp != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.forwarding_class_mpls_exp) + if err != nil { + return nil, err + } + msg["forwarding_class_mpls_exp"] = &value + } + + if obj.modified & forwarding_class_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & forwarding_class_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & forwarding_class_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.qos_queue_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.qos_queue_refs) + if err != nil { + return nil, err + } + msg["qos_queue_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ForwardingClass) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "forwarding_class_id": + err = json.Unmarshal(value, &obj.forwarding_class_id) + if err == nil { + obj.valid |= forwarding_class_forwarding_class_id + } + break + case "forwarding_class_dscp": + err = json.Unmarshal(value, &obj.forwarding_class_dscp) + if err == nil { + obj.valid |= forwarding_class_forwarding_class_dscp + } + break + case "forwarding_class_vlan_priority": + err = json.Unmarshal(value, &obj.forwarding_class_vlan_priority) + if err == nil { + obj.valid |= forwarding_class_forwarding_class_vlan_priority + } + break + case "forwarding_class_mpls_exp": + err = json.Unmarshal(value, &obj.forwarding_class_mpls_exp) + if err == nil { + obj.valid |= forwarding_class_forwarding_class_mpls_exp + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= forwarding_class_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= forwarding_class_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= forwarding_class_display_name + } + break + case "qos_queue_refs": + err = json.Unmarshal(value, &obj.qos_queue_refs) + if err == nil { + obj.valid |= forwarding_class_qos_queue_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *ForwardingClass) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & forwarding_class_forwarding_class_id != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.forwarding_class_id) + if err != nil { + return nil, err + } + msg["forwarding_class_id"] = &value + } + + if obj.modified & forwarding_class_forwarding_class_dscp != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.forwarding_class_dscp) + if err != nil { + return nil, err + } + msg["forwarding_class_dscp"] = &value + } + + if obj.modified & forwarding_class_forwarding_class_vlan_priority != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.forwarding_class_vlan_priority) + if err != nil { + return nil, err + } + msg["forwarding_class_vlan_priority"] = &value + } + + if obj.modified & forwarding_class_forwarding_class_mpls_exp != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.forwarding_class_mpls_exp) + if err != nil { + return nil, err + } + msg["forwarding_class_mpls_exp"] = &value + } + + if obj.modified & forwarding_class_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & forwarding_class_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & forwarding_class_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & forwarding_class_qos_queue_refs != 0 { + if len(obj.qos_queue_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["qos_queue_refs"] = &value + } else if !obj.hasReferenceBase("qos-queue") { + var value json.RawMessage + value, err := json.Marshal(&obj.qos_queue_refs) + if err != nil { + return nil, err + } + msg["qos_queue_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *ForwardingClass) UpdateReferences() error { + + if (obj.modified & forwarding_class_qos_queue_refs != 0) && + len(obj.qos_queue_refs) > 0 && + obj.hasReferenceBase("qos-queue") { + err := obj.UpdateReference( + obj, "qos-queue", + obj.qos_queue_refs, + obj.baseMap["qos-queue"]) + if err != nil { + return err + } + } + + return nil +} + +func ForwardingClassByName(c contrail.ApiClient, fqn string) (*ForwardingClass, error) { + obj, err := c.FindByName("forwarding-class", fqn) + if err != nil { + return nil, err + } + return obj.(*ForwardingClass), nil +} + +func ForwardingClassByUuid(c contrail.ApiClient, uuid string) (*ForwardingClass, error) { + obj, err := c.FindByUuid("forwarding-class", uuid) + if err != nil { + return nil, err + } + return obj.(*ForwardingClass), nil +} diff --git a/types/global_qos_config.go b/types/global_qos_config.go new file mode 100644 index 0000000..9f92784 --- /dev/null +++ b/types/global_qos_config.go @@ -0,0 +1,318 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + global_qos_config_id_perms uint64 = 1 << iota + global_qos_config_perms2 + global_qos_config_display_name + global_qos_config_qos_configs + global_qos_config_forwarding_classs + global_qos_config_qos_queues +) + +type GlobalQosConfig struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + qos_configs contrail.ReferenceList + forwarding_classs contrail.ReferenceList + qos_queues contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *GlobalQosConfig) GetType() string { + return "global-qos-config" +} + +func (obj *GlobalQosConfig) GetDefaultParent() []string { + name := []string{"default-global-system-config"} + return name +} + +func (obj *GlobalQosConfig) GetDefaultParentType() string { + return "global-system-config" +} + +func (obj *GlobalQosConfig) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *GlobalQosConfig) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *GlobalQosConfig) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *GlobalQosConfig) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *GlobalQosConfig) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *GlobalQosConfig) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *GlobalQosConfig) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= global_qos_config_id_perms +} + +func (obj *GlobalQosConfig) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *GlobalQosConfig) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= global_qos_config_perms2 +} + +func (obj *GlobalQosConfig) GetDisplayName() string { + return obj.display_name +} + +func (obj *GlobalQosConfig) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= global_qos_config_display_name +} + +func (obj *GlobalQosConfig) readQosConfigs() error { + if !obj.IsTransient() && + (obj.valid & global_qos_config_qos_configs == 0) { + err := obj.GetField(obj, "qos_configs") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalQosConfig) GetQosConfigs() ( + contrail.ReferenceList, error) { + err := obj.readQosConfigs() + if err != nil { + return nil, err + } + return obj.qos_configs, nil +} + +func (obj *GlobalQosConfig) readForwardingClasss() error { + if !obj.IsTransient() && + (obj.valid & global_qos_config_forwarding_classs == 0) { + err := obj.GetField(obj, "forwarding_classs") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalQosConfig) GetForwardingClasss() ( + contrail.ReferenceList, error) { + err := obj.readForwardingClasss() + if err != nil { + return nil, err + } + return obj.forwarding_classs, nil +} + +func (obj *GlobalQosConfig) readQosQueues() error { + if !obj.IsTransient() && + (obj.valid & global_qos_config_qos_queues == 0) { + err := obj.GetField(obj, "qos_queues") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalQosConfig) GetQosQueues() ( + contrail.ReferenceList, error) { + err := obj.readQosQueues() + if err != nil { + return nil, err + } + return obj.qos_queues, nil +} + +func (obj *GlobalQosConfig) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & global_qos_config_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & global_qos_config_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & global_qos_config_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *GlobalQosConfig) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= global_qos_config_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= global_qos_config_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= global_qos_config_display_name + } + break + case "qos_configs": + err = json.Unmarshal(value, &obj.qos_configs) + if err == nil { + obj.valid |= global_qos_config_qos_configs + } + break + case "forwarding_classs": + err = json.Unmarshal(value, &obj.forwarding_classs) + if err == nil { + obj.valid |= global_qos_config_forwarding_classs + } + break + case "qos_queues": + err = json.Unmarshal(value, &obj.qos_queues) + if err == nil { + obj.valid |= global_qos_config_qos_queues + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalQosConfig) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & global_qos_config_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & global_qos_config_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & global_qos_config_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *GlobalQosConfig) UpdateReferences() error { + + return nil +} + +func GlobalQosConfigByName(c contrail.ApiClient, fqn string) (*GlobalQosConfig, error) { + obj, err := c.FindByName("global-qos-config", fqn) + if err != nil { + return nil, err + } + return obj.(*GlobalQosConfig), nil +} + +func GlobalQosConfigByUuid(c contrail.ApiClient, uuid string) (*GlobalQosConfig, error) { + obj, err := c.FindByUuid("global-qos-config", uuid) + if err != nil { + return nil, err + } + return obj.(*GlobalQosConfig), nil +} diff --git a/types/global_system_config.go b/types/global_system_config.go new file mode 100644 index 0000000..4adf9cc --- /dev/null +++ b/types/global_system_config.go @@ -0,0 +1,865 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + global_system_config_autonomous_system uint64 = 1 << iota + global_system_config_config_version + global_system_config_plugin_tuning + global_system_config_ibgp_auto_mesh + global_system_config_ip_fabric_subnets + global_system_config_alarm_enable + global_system_config_user_defined_counter + global_system_config_id_perms + global_system_config_perms2 + global_system_config_display_name + global_system_config_bgp_router_refs + global_system_config_global_vrouter_configs + global_system_config_global_qos_configs + global_system_config_physical_routers + global_system_config_virtual_routers + global_system_config_config_nodes + global_system_config_analytics_nodes + global_system_config_database_nodes + global_system_config_service_appliance_sets + global_system_config_alarms +) + +type GlobalSystemConfig struct { + contrail.ObjectBase + autonomous_system int + config_version string + plugin_tuning PluginProperties + ibgp_auto_mesh bool + ip_fabric_subnets SubnetListType + alarm_enable bool + user_defined_counter UserDefinedCounterList + id_perms IdPermsType + perms2 PermType2 + display_name string + bgp_router_refs contrail.ReferenceList + global_vrouter_configs contrail.ReferenceList + global_qos_configs contrail.ReferenceList + physical_routers contrail.ReferenceList + virtual_routers contrail.ReferenceList + config_nodes contrail.ReferenceList + analytics_nodes contrail.ReferenceList + database_nodes contrail.ReferenceList + service_appliance_sets contrail.ReferenceList + alarms contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *GlobalSystemConfig) GetType() string { + return "global-system-config" +} + +func (obj *GlobalSystemConfig) GetDefaultParent() []string { + name := []string{} + return name +} + +func (obj *GlobalSystemConfig) GetDefaultParentType() string { + return "config-root" +} + +func (obj *GlobalSystemConfig) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *GlobalSystemConfig) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *GlobalSystemConfig) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *GlobalSystemConfig) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *GlobalSystemConfig) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *GlobalSystemConfig) GetAutonomousSystem() int { + return obj.autonomous_system +} + +func (obj *GlobalSystemConfig) SetAutonomousSystem(value int) { + obj.autonomous_system = value + obj.modified |= global_system_config_autonomous_system +} + +func (obj *GlobalSystemConfig) GetConfigVersion() string { + return obj.config_version +} + +func (obj *GlobalSystemConfig) SetConfigVersion(value string) { + obj.config_version = value + obj.modified |= global_system_config_config_version +} + +func (obj *GlobalSystemConfig) GetPluginTuning() PluginProperties { + return obj.plugin_tuning +} + +func (obj *GlobalSystemConfig) SetPluginTuning(value *PluginProperties) { + obj.plugin_tuning = *value + obj.modified |= global_system_config_plugin_tuning +} + +func (obj *GlobalSystemConfig) GetIbgpAutoMesh() bool { + return obj.ibgp_auto_mesh +} + +func (obj *GlobalSystemConfig) SetIbgpAutoMesh(value bool) { + obj.ibgp_auto_mesh = value + obj.modified |= global_system_config_ibgp_auto_mesh +} + +func (obj *GlobalSystemConfig) GetIpFabricSubnets() SubnetListType { + return obj.ip_fabric_subnets +} + +func (obj *GlobalSystemConfig) SetIpFabricSubnets(value *SubnetListType) { + obj.ip_fabric_subnets = *value + obj.modified |= global_system_config_ip_fabric_subnets +} + +func (obj *GlobalSystemConfig) GetAlarmEnable() bool { + return obj.alarm_enable +} + +func (obj *GlobalSystemConfig) SetAlarmEnable(value bool) { + obj.alarm_enable = value + obj.modified |= global_system_config_alarm_enable +} + +func (obj *GlobalSystemConfig) GetUserDefinedCounter() UserDefinedCounterList { + return obj.user_defined_counter +} + +func (obj *GlobalSystemConfig) SetUserDefinedCounter(value *UserDefinedCounterList) { + obj.user_defined_counter = *value + obj.modified |= global_system_config_user_defined_counter +} + +func (obj *GlobalSystemConfig) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *GlobalSystemConfig) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= global_system_config_id_perms +} + +func (obj *GlobalSystemConfig) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *GlobalSystemConfig) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= global_system_config_perms2 +} + +func (obj *GlobalSystemConfig) GetDisplayName() string { + return obj.display_name +} + +func (obj *GlobalSystemConfig) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= global_system_config_display_name +} + +func (obj *GlobalSystemConfig) readGlobalVrouterConfigs() error { + if !obj.IsTransient() && + (obj.valid & global_system_config_global_vrouter_configs == 0) { + err := obj.GetField(obj, "global_vrouter_configs") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalSystemConfig) GetGlobalVrouterConfigs() ( + contrail.ReferenceList, error) { + err := obj.readGlobalVrouterConfigs() + if err != nil { + return nil, err + } + return obj.global_vrouter_configs, nil +} + +func (obj *GlobalSystemConfig) readGlobalQosConfigs() error { + if !obj.IsTransient() && + (obj.valid & global_system_config_global_qos_configs == 0) { + err := obj.GetField(obj, "global_qos_configs") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalSystemConfig) GetGlobalQosConfigs() ( + contrail.ReferenceList, error) { + err := obj.readGlobalQosConfigs() + if err != nil { + return nil, err + } + return obj.global_qos_configs, nil +} + +func (obj *GlobalSystemConfig) readPhysicalRouters() error { + if !obj.IsTransient() && + (obj.valid & global_system_config_physical_routers == 0) { + err := obj.GetField(obj, "physical_routers") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalSystemConfig) GetPhysicalRouters() ( + contrail.ReferenceList, error) { + err := obj.readPhysicalRouters() + if err != nil { + return nil, err + } + return obj.physical_routers, nil +} + +func (obj *GlobalSystemConfig) readVirtualRouters() error { + if !obj.IsTransient() && + (obj.valid & global_system_config_virtual_routers == 0) { + err := obj.GetField(obj, "virtual_routers") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalSystemConfig) GetVirtualRouters() ( + contrail.ReferenceList, error) { + err := obj.readVirtualRouters() + if err != nil { + return nil, err + } + return obj.virtual_routers, nil +} + +func (obj *GlobalSystemConfig) readConfigNodes() error { + if !obj.IsTransient() && + (obj.valid & global_system_config_config_nodes == 0) { + err := obj.GetField(obj, "config_nodes") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalSystemConfig) GetConfigNodes() ( + contrail.ReferenceList, error) { + err := obj.readConfigNodes() + if err != nil { + return nil, err + } + return obj.config_nodes, nil +} + +func (obj *GlobalSystemConfig) readAnalyticsNodes() error { + if !obj.IsTransient() && + (obj.valid & global_system_config_analytics_nodes == 0) { + err := obj.GetField(obj, "analytics_nodes") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalSystemConfig) GetAnalyticsNodes() ( + contrail.ReferenceList, error) { + err := obj.readAnalyticsNodes() + if err != nil { + return nil, err + } + return obj.analytics_nodes, nil +} + +func (obj *GlobalSystemConfig) readDatabaseNodes() error { + if !obj.IsTransient() && + (obj.valid & global_system_config_database_nodes == 0) { + err := obj.GetField(obj, "database_nodes") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalSystemConfig) GetDatabaseNodes() ( + contrail.ReferenceList, error) { + err := obj.readDatabaseNodes() + if err != nil { + return nil, err + } + return obj.database_nodes, nil +} + +func (obj *GlobalSystemConfig) readServiceApplianceSets() error { + if !obj.IsTransient() && + (obj.valid & global_system_config_service_appliance_sets == 0) { + err := obj.GetField(obj, "service_appliance_sets") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalSystemConfig) GetServiceApplianceSets() ( + contrail.ReferenceList, error) { + err := obj.readServiceApplianceSets() + if err != nil { + return nil, err + } + return obj.service_appliance_sets, nil +} + +func (obj *GlobalSystemConfig) readAlarms() error { + if !obj.IsTransient() && + (obj.valid & global_system_config_alarms == 0) { + err := obj.GetField(obj, "alarms") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalSystemConfig) GetAlarms() ( + contrail.ReferenceList, error) { + err := obj.readAlarms() + if err != nil { + return nil, err + } + return obj.alarms, nil +} + +func (obj *GlobalSystemConfig) readBgpRouterRefs() error { + if !obj.IsTransient() && + (obj.valid & global_system_config_bgp_router_refs == 0) { + err := obj.GetField(obj, "bgp_router_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalSystemConfig) GetBgpRouterRefs() ( + contrail.ReferenceList, error) { + err := obj.readBgpRouterRefs() + if err != nil { + return nil, err + } + return obj.bgp_router_refs, nil +} + +func (obj *GlobalSystemConfig) AddBgpRouter( + rhs *BgpRouter) error { + err := obj.readBgpRouterRefs() + if err != nil { + return err + } + + if obj.modified & global_system_config_bgp_router_refs == 0 { + obj.storeReferenceBase("bgp-router", obj.bgp_router_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.bgp_router_refs = append(obj.bgp_router_refs, ref) + obj.modified |= global_system_config_bgp_router_refs + return nil +} + +func (obj *GlobalSystemConfig) DeleteBgpRouter(uuid string) error { + err := obj.readBgpRouterRefs() + if err != nil { + return err + } + + if obj.modified & global_system_config_bgp_router_refs == 0 { + obj.storeReferenceBase("bgp-router", obj.bgp_router_refs) + } + + for i, ref := range obj.bgp_router_refs { + if ref.Uuid == uuid { + obj.bgp_router_refs = append( + obj.bgp_router_refs[:i], + obj.bgp_router_refs[i+1:]...) + break + } + } + obj.modified |= global_system_config_bgp_router_refs + return nil +} + +func (obj *GlobalSystemConfig) ClearBgpRouter() { + if (obj.valid & global_system_config_bgp_router_refs != 0) && + (obj.modified & global_system_config_bgp_router_refs == 0) { + obj.storeReferenceBase("bgp-router", obj.bgp_router_refs) + } + obj.bgp_router_refs = make([]contrail.Reference, 0) + obj.valid |= global_system_config_bgp_router_refs + obj.modified |= global_system_config_bgp_router_refs +} + +func (obj *GlobalSystemConfig) SetBgpRouterList( + refList []contrail.ReferencePair) { + obj.ClearBgpRouter() + obj.bgp_router_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.bgp_router_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *GlobalSystemConfig) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & global_system_config_autonomous_system != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.autonomous_system) + if err != nil { + return nil, err + } + msg["autonomous_system"] = &value + } + + if obj.modified & global_system_config_config_version != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.config_version) + if err != nil { + return nil, err + } + msg["config_version"] = &value + } + + if obj.modified & global_system_config_plugin_tuning != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.plugin_tuning) + if err != nil { + return nil, err + } + msg["plugin_tuning"] = &value + } + + if obj.modified & global_system_config_ibgp_auto_mesh != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.ibgp_auto_mesh) + if err != nil { + return nil, err + } + msg["ibgp_auto_mesh"] = &value + } + + if obj.modified & global_system_config_ip_fabric_subnets != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.ip_fabric_subnets) + if err != nil { + return nil, err + } + msg["ip_fabric_subnets"] = &value + } + + if obj.modified & global_system_config_alarm_enable != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alarm_enable) + if err != nil { + return nil, err + } + msg["alarm_enable"] = &value + } + + if obj.modified & global_system_config_user_defined_counter != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.user_defined_counter) + if err != nil { + return nil, err + } + msg["user_defined_counter"] = &value + } + + if obj.modified & global_system_config_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & global_system_config_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & global_system_config_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.bgp_router_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.bgp_router_refs) + if err != nil { + return nil, err + } + msg["bgp_router_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *GlobalSystemConfig) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "autonomous_system": + err = json.Unmarshal(value, &obj.autonomous_system) + if err == nil { + obj.valid |= global_system_config_autonomous_system + } + break + case "config_version": + err = json.Unmarshal(value, &obj.config_version) + if err == nil { + obj.valid |= global_system_config_config_version + } + break + case "plugin_tuning": + err = json.Unmarshal(value, &obj.plugin_tuning) + if err == nil { + obj.valid |= global_system_config_plugin_tuning + } + break + case "ibgp_auto_mesh": + err = json.Unmarshal(value, &obj.ibgp_auto_mesh) + if err == nil { + obj.valid |= global_system_config_ibgp_auto_mesh + } + break + case "ip_fabric_subnets": + err = json.Unmarshal(value, &obj.ip_fabric_subnets) + if err == nil { + obj.valid |= global_system_config_ip_fabric_subnets + } + break + case "alarm_enable": + err = json.Unmarshal(value, &obj.alarm_enable) + if err == nil { + obj.valid |= global_system_config_alarm_enable + } + break + case "user_defined_counter": + err = json.Unmarshal(value, &obj.user_defined_counter) + if err == nil { + obj.valid |= global_system_config_user_defined_counter + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= global_system_config_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= global_system_config_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= global_system_config_display_name + } + break + case "bgp_router_refs": + err = json.Unmarshal(value, &obj.bgp_router_refs) + if err == nil { + obj.valid |= global_system_config_bgp_router_refs + } + break + case "global_vrouter_configs": + err = json.Unmarshal(value, &obj.global_vrouter_configs) + if err == nil { + obj.valid |= global_system_config_global_vrouter_configs + } + break + case "global_qos_configs": + err = json.Unmarshal(value, &obj.global_qos_configs) + if err == nil { + obj.valid |= global_system_config_global_qos_configs + } + break + case "physical_routers": + err = json.Unmarshal(value, &obj.physical_routers) + if err == nil { + obj.valid |= global_system_config_physical_routers + } + break + case "virtual_routers": + err = json.Unmarshal(value, &obj.virtual_routers) + if err == nil { + obj.valid |= global_system_config_virtual_routers + } + break + case "config_nodes": + err = json.Unmarshal(value, &obj.config_nodes) + if err == nil { + obj.valid |= global_system_config_config_nodes + } + break + case "analytics_nodes": + err = json.Unmarshal(value, &obj.analytics_nodes) + if err == nil { + obj.valid |= global_system_config_analytics_nodes + } + break + case "database_nodes": + err = json.Unmarshal(value, &obj.database_nodes) + if err == nil { + obj.valid |= global_system_config_database_nodes + } + break + case "service_appliance_sets": + err = json.Unmarshal(value, &obj.service_appliance_sets) + if err == nil { + obj.valid |= global_system_config_service_appliance_sets + } + break + case "alarms": + err = json.Unmarshal(value, &obj.alarms) + if err == nil { + obj.valid |= global_system_config_alarms + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalSystemConfig) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & global_system_config_autonomous_system != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.autonomous_system) + if err != nil { + return nil, err + } + msg["autonomous_system"] = &value + } + + if obj.modified & global_system_config_config_version != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.config_version) + if err != nil { + return nil, err + } + msg["config_version"] = &value + } + + if obj.modified & global_system_config_plugin_tuning != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.plugin_tuning) + if err != nil { + return nil, err + } + msg["plugin_tuning"] = &value + } + + if obj.modified & global_system_config_ibgp_auto_mesh != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.ibgp_auto_mesh) + if err != nil { + return nil, err + } + msg["ibgp_auto_mesh"] = &value + } + + if obj.modified & global_system_config_ip_fabric_subnets != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.ip_fabric_subnets) + if err != nil { + return nil, err + } + msg["ip_fabric_subnets"] = &value + } + + if obj.modified & global_system_config_alarm_enable != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alarm_enable) + if err != nil { + return nil, err + } + msg["alarm_enable"] = &value + } + + if obj.modified & global_system_config_user_defined_counter != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.user_defined_counter) + if err != nil { + return nil, err + } + msg["user_defined_counter"] = &value + } + + if obj.modified & global_system_config_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & global_system_config_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & global_system_config_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & global_system_config_bgp_router_refs != 0 { + if len(obj.bgp_router_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["bgp_router_refs"] = &value + } else if !obj.hasReferenceBase("bgp-router") { + var value json.RawMessage + value, err := json.Marshal(&obj.bgp_router_refs) + if err != nil { + return nil, err + } + msg["bgp_router_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *GlobalSystemConfig) UpdateReferences() error { + + if (obj.modified & global_system_config_bgp_router_refs != 0) && + len(obj.bgp_router_refs) > 0 && + obj.hasReferenceBase("bgp-router") { + err := obj.UpdateReference( + obj, "bgp-router", + obj.bgp_router_refs, + obj.baseMap["bgp-router"]) + if err != nil { + return err + } + } + + return nil +} + +func GlobalSystemConfigByName(c contrail.ApiClient, fqn string) (*GlobalSystemConfig, error) { + obj, err := c.FindByName("global-system-config", fqn) + if err != nil { + return nil, err + } + return obj.(*GlobalSystemConfig), nil +} + +func GlobalSystemConfigByUuid(c contrail.ApiClient, uuid string) (*GlobalSystemConfig, error) { + obj, err := c.FindByUuid("global-system-config", uuid) + if err != nil { + return nil, err + } + return obj.(*GlobalSystemConfig), nil +} diff --git a/types/global_vrouter_config.go b/types/global_vrouter_config.go new file mode 100644 index 0000000..00c9b9c --- /dev/null +++ b/types/global_vrouter_config.go @@ -0,0 +1,479 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + global_vrouter_config_ecmp_hashing_include_fields uint64 = 1 << iota + global_vrouter_config_linklocal_services + global_vrouter_config_encapsulation_priorities + global_vrouter_config_vxlan_network_identifier_mode + global_vrouter_config_flow_export_rate + global_vrouter_config_flow_aging_timeout_list + global_vrouter_config_forwarding_mode + global_vrouter_config_id_perms + global_vrouter_config_perms2 + global_vrouter_config_display_name +) + +type GlobalVrouterConfig struct { + contrail.ObjectBase + ecmp_hashing_include_fields EcmpHashingIncludeFields + linklocal_services LinklocalServicesTypes + encapsulation_priorities EncapsulationPrioritiesType + vxlan_network_identifier_mode string + flow_export_rate int + flow_aging_timeout_list FlowAgingTimeoutList + forwarding_mode string + id_perms IdPermsType + perms2 PermType2 + display_name string + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *GlobalVrouterConfig) GetType() string { + return "global-vrouter-config" +} + +func (obj *GlobalVrouterConfig) GetDefaultParent() []string { + name := []string{"default-global-system-config"} + return name +} + +func (obj *GlobalVrouterConfig) GetDefaultParentType() string { + return "global-system-config" +} + +func (obj *GlobalVrouterConfig) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *GlobalVrouterConfig) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *GlobalVrouterConfig) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *GlobalVrouterConfig) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *GlobalVrouterConfig) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *GlobalVrouterConfig) GetEcmpHashingIncludeFields() EcmpHashingIncludeFields { + return obj.ecmp_hashing_include_fields +} + +func (obj *GlobalVrouterConfig) SetEcmpHashingIncludeFields(value *EcmpHashingIncludeFields) { + obj.ecmp_hashing_include_fields = *value + obj.modified |= global_vrouter_config_ecmp_hashing_include_fields +} + +func (obj *GlobalVrouterConfig) GetLinklocalServices() LinklocalServicesTypes { + return obj.linklocal_services +} + +func (obj *GlobalVrouterConfig) SetLinklocalServices(value *LinklocalServicesTypes) { + obj.linklocal_services = *value + obj.modified |= global_vrouter_config_linklocal_services +} + +func (obj *GlobalVrouterConfig) GetEncapsulationPriorities() EncapsulationPrioritiesType { + return obj.encapsulation_priorities +} + +func (obj *GlobalVrouterConfig) SetEncapsulationPriorities(value *EncapsulationPrioritiesType) { + obj.encapsulation_priorities = *value + obj.modified |= global_vrouter_config_encapsulation_priorities +} + +func (obj *GlobalVrouterConfig) GetVxlanNetworkIdentifierMode() string { + return obj.vxlan_network_identifier_mode +} + +func (obj *GlobalVrouterConfig) SetVxlanNetworkIdentifierMode(value string) { + obj.vxlan_network_identifier_mode = value + obj.modified |= global_vrouter_config_vxlan_network_identifier_mode +} + +func (obj *GlobalVrouterConfig) GetFlowExportRate() int { + return obj.flow_export_rate +} + +func (obj *GlobalVrouterConfig) SetFlowExportRate(value int) { + obj.flow_export_rate = value + obj.modified |= global_vrouter_config_flow_export_rate +} + +func (obj *GlobalVrouterConfig) GetFlowAgingTimeoutList() FlowAgingTimeoutList { + return obj.flow_aging_timeout_list +} + +func (obj *GlobalVrouterConfig) SetFlowAgingTimeoutList(value *FlowAgingTimeoutList) { + obj.flow_aging_timeout_list = *value + obj.modified |= global_vrouter_config_flow_aging_timeout_list +} + +func (obj *GlobalVrouterConfig) GetForwardingMode() string { + return obj.forwarding_mode +} + +func (obj *GlobalVrouterConfig) SetForwardingMode(value string) { + obj.forwarding_mode = value + obj.modified |= global_vrouter_config_forwarding_mode +} + +func (obj *GlobalVrouterConfig) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *GlobalVrouterConfig) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= global_vrouter_config_id_perms +} + +func (obj *GlobalVrouterConfig) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *GlobalVrouterConfig) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= global_vrouter_config_perms2 +} + +func (obj *GlobalVrouterConfig) GetDisplayName() string { + return obj.display_name +} + +func (obj *GlobalVrouterConfig) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= global_vrouter_config_display_name +} + +func (obj *GlobalVrouterConfig) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & global_vrouter_config_ecmp_hashing_include_fields != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.ecmp_hashing_include_fields) + if err != nil { + return nil, err + } + msg["ecmp_hashing_include_fields"] = &value + } + + if obj.modified & global_vrouter_config_linklocal_services != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.linklocal_services) + if err != nil { + return nil, err + } + msg["linklocal_services"] = &value + } + + if obj.modified & global_vrouter_config_encapsulation_priorities != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.encapsulation_priorities) + if err != nil { + return nil, err + } + msg["encapsulation_priorities"] = &value + } + + if obj.modified & global_vrouter_config_vxlan_network_identifier_mode != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.vxlan_network_identifier_mode) + if err != nil { + return nil, err + } + msg["vxlan_network_identifier_mode"] = &value + } + + if obj.modified & global_vrouter_config_flow_export_rate != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.flow_export_rate) + if err != nil { + return nil, err + } + msg["flow_export_rate"] = &value + } + + if obj.modified & global_vrouter_config_flow_aging_timeout_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.flow_aging_timeout_list) + if err != nil { + return nil, err + } + msg["flow_aging_timeout_list"] = &value + } + + if obj.modified & global_vrouter_config_forwarding_mode != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.forwarding_mode) + if err != nil { + return nil, err + } + msg["forwarding_mode"] = &value + } + + if obj.modified & global_vrouter_config_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & global_vrouter_config_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & global_vrouter_config_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *GlobalVrouterConfig) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "ecmp_hashing_include_fields": + err = json.Unmarshal(value, &obj.ecmp_hashing_include_fields) + if err == nil { + obj.valid |= global_vrouter_config_ecmp_hashing_include_fields + } + break + case "linklocal_services": + err = json.Unmarshal(value, &obj.linklocal_services) + if err == nil { + obj.valid |= global_vrouter_config_linklocal_services + } + break + case "encapsulation_priorities": + err = json.Unmarshal(value, &obj.encapsulation_priorities) + if err == nil { + obj.valid |= global_vrouter_config_encapsulation_priorities + } + break + case "vxlan_network_identifier_mode": + err = json.Unmarshal(value, &obj.vxlan_network_identifier_mode) + if err == nil { + obj.valid |= global_vrouter_config_vxlan_network_identifier_mode + } + break + case "flow_export_rate": + err = json.Unmarshal(value, &obj.flow_export_rate) + if err == nil { + obj.valid |= global_vrouter_config_flow_export_rate + } + break + case "flow_aging_timeout_list": + err = json.Unmarshal(value, &obj.flow_aging_timeout_list) + if err == nil { + obj.valid |= global_vrouter_config_flow_aging_timeout_list + } + break + case "forwarding_mode": + err = json.Unmarshal(value, &obj.forwarding_mode) + if err == nil { + obj.valid |= global_vrouter_config_forwarding_mode + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= global_vrouter_config_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= global_vrouter_config_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= global_vrouter_config_display_name + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *GlobalVrouterConfig) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & global_vrouter_config_ecmp_hashing_include_fields != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.ecmp_hashing_include_fields) + if err != nil { + return nil, err + } + msg["ecmp_hashing_include_fields"] = &value + } + + if obj.modified & global_vrouter_config_linklocal_services != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.linklocal_services) + if err != nil { + return nil, err + } + msg["linklocal_services"] = &value + } + + if obj.modified & global_vrouter_config_encapsulation_priorities != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.encapsulation_priorities) + if err != nil { + return nil, err + } + msg["encapsulation_priorities"] = &value + } + + if obj.modified & global_vrouter_config_vxlan_network_identifier_mode != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.vxlan_network_identifier_mode) + if err != nil { + return nil, err + } + msg["vxlan_network_identifier_mode"] = &value + } + + if obj.modified & global_vrouter_config_flow_export_rate != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.flow_export_rate) + if err != nil { + return nil, err + } + msg["flow_export_rate"] = &value + } + + if obj.modified & global_vrouter_config_flow_aging_timeout_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.flow_aging_timeout_list) + if err != nil { + return nil, err + } + msg["flow_aging_timeout_list"] = &value + } + + if obj.modified & global_vrouter_config_forwarding_mode != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.forwarding_mode) + if err != nil { + return nil, err + } + msg["forwarding_mode"] = &value + } + + if obj.modified & global_vrouter_config_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & global_vrouter_config_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & global_vrouter_config_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *GlobalVrouterConfig) UpdateReferences() error { + + return nil +} + +func GlobalVrouterConfigByName(c contrail.ApiClient, fqn string) (*GlobalVrouterConfig, error) { + obj, err := c.FindByName("global-vrouter-config", fqn) + if err != nil { + return nil, err + } + return obj.(*GlobalVrouterConfig), nil +} + +func GlobalVrouterConfigByUuid(c contrail.ApiClient, uuid string) (*GlobalVrouterConfig, error) { + obj, err := c.FindByUuid("global-vrouter-config", uuid) + if err != nil { + return nil, err + } + return obj.(*GlobalVrouterConfig), nil +} diff --git a/types/id_perms_type.go b/types/id_perms_type.go new file mode 100644 index 0000000..9dee205 --- /dev/null +++ b/types/id_perms_type.go @@ -0,0 +1,29 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type PermType struct { + Owner string `json:"owner,omitempty"` + OwnerAccess int `json:"owner_access,omitempty"` + Group string `json:"group,omitempty"` + GroupAccess int `json:"group_access,omitempty"` + OtherAccess int `json:"other_access,omitempty"` +} + +type UuidType struct { + UuidMslong uint64 `json:"uuid_mslong,omitempty"` + UuidLslong uint64 `json:"uuid_lslong,omitempty"` +} + +type IdPermsType struct { + Permissions *PermType `json:"permissions,omitempty"` + Uuid *UuidType `json:"uuid,omitempty"` + Enable bool `json:"enable,omitempty"` + Created string `json:"created,omitempty"` + LastModified string `json:"last_modified,omitempty"` + Description string `json:"description,omitempty"` + UserVisible bool `json:"user_visible,omitempty"` + Creator string `json:"creator,omitempty"` +} diff --git a/types/instance_ip.go b/types/instance_ip.go new file mode 100644 index 0000000..991c68a --- /dev/null +++ b/types/instance_ip.go @@ -0,0 +1,963 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + instance_ip_instance_ip_address uint64 = 1 << iota + instance_ip_instance_ip_family + instance_ip_instance_ip_mode + instance_ip_secondary_ip_tracking_ip + instance_ip_subnet_uuid + instance_ip_instance_ip_secondary + instance_ip_service_instance_ip + instance_ip_service_health_check_ip + instance_ip_id_perms + instance_ip_perms2 + instance_ip_display_name + instance_ip_virtual_network_refs + instance_ip_virtual_machine_interface_refs + instance_ip_physical_router_refs + instance_ip_service_instance_back_refs +) + +type InstanceIp struct { + contrail.ObjectBase + instance_ip_address string + instance_ip_family string + instance_ip_mode string + secondary_ip_tracking_ip SubnetType + subnet_uuid string + instance_ip_secondary bool + service_instance_ip bool + service_health_check_ip bool + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_network_refs contrail.ReferenceList + virtual_machine_interface_refs contrail.ReferenceList + physical_router_refs contrail.ReferenceList + service_instance_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *InstanceIp) GetType() string { + return "instance-ip" +} + +func (obj *InstanceIp) GetDefaultParent() []string { + name := []string{} + return name +} + +func (obj *InstanceIp) GetDefaultParentType() string { + return "" +} + +func (obj *InstanceIp) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *InstanceIp) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *InstanceIp) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *InstanceIp) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *InstanceIp) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *InstanceIp) GetInstanceIpAddress() string { + return obj.instance_ip_address +} + +func (obj *InstanceIp) SetInstanceIpAddress(value string) { + obj.instance_ip_address = value + obj.modified |= instance_ip_instance_ip_address +} + +func (obj *InstanceIp) GetInstanceIpFamily() string { + return obj.instance_ip_family +} + +func (obj *InstanceIp) SetInstanceIpFamily(value string) { + obj.instance_ip_family = value + obj.modified |= instance_ip_instance_ip_family +} + +func (obj *InstanceIp) GetInstanceIpMode() string { + return obj.instance_ip_mode +} + +func (obj *InstanceIp) SetInstanceIpMode(value string) { + obj.instance_ip_mode = value + obj.modified |= instance_ip_instance_ip_mode +} + +func (obj *InstanceIp) GetSecondaryIpTrackingIp() SubnetType { + return obj.secondary_ip_tracking_ip +} + +func (obj *InstanceIp) SetSecondaryIpTrackingIp(value *SubnetType) { + obj.secondary_ip_tracking_ip = *value + obj.modified |= instance_ip_secondary_ip_tracking_ip +} + +func (obj *InstanceIp) GetSubnetUuid() string { + return obj.subnet_uuid +} + +func (obj *InstanceIp) SetSubnetUuid(value string) { + obj.subnet_uuid = value + obj.modified |= instance_ip_subnet_uuid +} + +func (obj *InstanceIp) GetInstanceIpSecondary() bool { + return obj.instance_ip_secondary +} + +func (obj *InstanceIp) SetInstanceIpSecondary(value bool) { + obj.instance_ip_secondary = value + obj.modified |= instance_ip_instance_ip_secondary +} + +func (obj *InstanceIp) GetServiceInstanceIp() bool { + return obj.service_instance_ip +} + +func (obj *InstanceIp) SetServiceInstanceIp(value bool) { + obj.service_instance_ip = value + obj.modified |= instance_ip_service_instance_ip +} + +func (obj *InstanceIp) GetServiceHealthCheckIp() bool { + return obj.service_health_check_ip +} + +func (obj *InstanceIp) SetServiceHealthCheckIp(value bool) { + obj.service_health_check_ip = value + obj.modified |= instance_ip_service_health_check_ip +} + +func (obj *InstanceIp) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *InstanceIp) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= instance_ip_id_perms +} + +func (obj *InstanceIp) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *InstanceIp) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= instance_ip_perms2 +} + +func (obj *InstanceIp) GetDisplayName() string { + return obj.display_name +} + +func (obj *InstanceIp) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= instance_ip_display_name +} + +func (obj *InstanceIp) readVirtualNetworkRefs() error { + if !obj.IsTransient() && + (obj.valid & instance_ip_virtual_network_refs == 0) { + err := obj.GetField(obj, "virtual_network_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *InstanceIp) GetVirtualNetworkRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualNetworkRefs() + if err != nil { + return nil, err + } + return obj.virtual_network_refs, nil +} + +func (obj *InstanceIp) AddVirtualNetwork( + rhs *VirtualNetwork) error { + err := obj.readVirtualNetworkRefs() + if err != nil { + return err + } + + if obj.modified & instance_ip_virtual_network_refs == 0 { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_network_refs = append(obj.virtual_network_refs, ref) + obj.modified |= instance_ip_virtual_network_refs + return nil +} + +func (obj *InstanceIp) DeleteVirtualNetwork(uuid string) error { + err := obj.readVirtualNetworkRefs() + if err != nil { + return err + } + + if obj.modified & instance_ip_virtual_network_refs == 0 { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + + for i, ref := range obj.virtual_network_refs { + if ref.Uuid == uuid { + obj.virtual_network_refs = append( + obj.virtual_network_refs[:i], + obj.virtual_network_refs[i+1:]...) + break + } + } + obj.modified |= instance_ip_virtual_network_refs + return nil +} + +func (obj *InstanceIp) ClearVirtualNetwork() { + if (obj.valid & instance_ip_virtual_network_refs != 0) && + (obj.modified & instance_ip_virtual_network_refs == 0) { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + obj.virtual_network_refs = make([]contrail.Reference, 0) + obj.valid |= instance_ip_virtual_network_refs + obj.modified |= instance_ip_virtual_network_refs +} + +func (obj *InstanceIp) SetVirtualNetworkList( + refList []contrail.ReferencePair) { + obj.ClearVirtualNetwork() + obj.virtual_network_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_network_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *InstanceIp) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & instance_ip_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *InstanceIp) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *InstanceIp) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & instance_ip_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= instance_ip_virtual_machine_interface_refs + return nil +} + +func (obj *InstanceIp) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & instance_ip_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= instance_ip_virtual_machine_interface_refs + return nil +} + +func (obj *InstanceIp) ClearVirtualMachineInterface() { + if (obj.valid & instance_ip_virtual_machine_interface_refs != 0) && + (obj.modified & instance_ip_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= instance_ip_virtual_machine_interface_refs + obj.modified |= instance_ip_virtual_machine_interface_refs +} + +func (obj *InstanceIp) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *InstanceIp) readPhysicalRouterRefs() error { + if !obj.IsTransient() && + (obj.valid & instance_ip_physical_router_refs == 0) { + err := obj.GetField(obj, "physical_router_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *InstanceIp) GetPhysicalRouterRefs() ( + contrail.ReferenceList, error) { + err := obj.readPhysicalRouterRefs() + if err != nil { + return nil, err + } + return obj.physical_router_refs, nil +} + +func (obj *InstanceIp) AddPhysicalRouter( + rhs *PhysicalRouter) error { + err := obj.readPhysicalRouterRefs() + if err != nil { + return err + } + + if obj.modified & instance_ip_physical_router_refs == 0 { + obj.storeReferenceBase("physical-router", obj.physical_router_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.physical_router_refs = append(obj.physical_router_refs, ref) + obj.modified |= instance_ip_physical_router_refs + return nil +} + +func (obj *InstanceIp) DeletePhysicalRouter(uuid string) error { + err := obj.readPhysicalRouterRefs() + if err != nil { + return err + } + + if obj.modified & instance_ip_physical_router_refs == 0 { + obj.storeReferenceBase("physical-router", obj.physical_router_refs) + } + + for i, ref := range obj.physical_router_refs { + if ref.Uuid == uuid { + obj.physical_router_refs = append( + obj.physical_router_refs[:i], + obj.physical_router_refs[i+1:]...) + break + } + } + obj.modified |= instance_ip_physical_router_refs + return nil +} + +func (obj *InstanceIp) ClearPhysicalRouter() { + if (obj.valid & instance_ip_physical_router_refs != 0) && + (obj.modified & instance_ip_physical_router_refs == 0) { + obj.storeReferenceBase("physical-router", obj.physical_router_refs) + } + obj.physical_router_refs = make([]contrail.Reference, 0) + obj.valid |= instance_ip_physical_router_refs + obj.modified |= instance_ip_physical_router_refs +} + +func (obj *InstanceIp) SetPhysicalRouterList( + refList []contrail.ReferencePair) { + obj.ClearPhysicalRouter() + obj.physical_router_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.physical_router_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *InstanceIp) readServiceInstanceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & instance_ip_service_instance_back_refs == 0) { + err := obj.GetField(obj, "service_instance_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *InstanceIp) GetServiceInstanceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceInstanceBackRefs() + if err != nil { + return nil, err + } + return obj.service_instance_back_refs, nil +} + +func (obj *InstanceIp) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & instance_ip_instance_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.instance_ip_address) + if err != nil { + return nil, err + } + msg["instance_ip_address"] = &value + } + + if obj.modified & instance_ip_instance_ip_family != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.instance_ip_family) + if err != nil { + return nil, err + } + msg["instance_ip_family"] = &value + } + + if obj.modified & instance_ip_instance_ip_mode != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.instance_ip_mode) + if err != nil { + return nil, err + } + msg["instance_ip_mode"] = &value + } + + if obj.modified & instance_ip_secondary_ip_tracking_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.secondary_ip_tracking_ip) + if err != nil { + return nil, err + } + msg["secondary_ip_tracking_ip"] = &value + } + + if obj.modified & instance_ip_subnet_uuid != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.subnet_uuid) + if err != nil { + return nil, err + } + msg["subnet_uuid"] = &value + } + + if obj.modified & instance_ip_instance_ip_secondary != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.instance_ip_secondary) + if err != nil { + return nil, err + } + msg["instance_ip_secondary"] = &value + } + + if obj.modified & instance_ip_service_instance_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_ip) + if err != nil { + return nil, err + } + msg["service_instance_ip"] = &value + } + + if obj.modified & instance_ip_service_health_check_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_health_check_ip) + if err != nil { + return nil, err + } + msg["service_health_check_ip"] = &value + } + + if obj.modified & instance_ip_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & instance_ip_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & instance_ip_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.virtual_network_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_refs) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + if len(obj.physical_router_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_refs) + if err != nil { + return nil, err + } + msg["physical_router_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *InstanceIp) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "instance_ip_address": + err = json.Unmarshal(value, &obj.instance_ip_address) + if err == nil { + obj.valid |= instance_ip_instance_ip_address + } + break + case "instance_ip_family": + err = json.Unmarshal(value, &obj.instance_ip_family) + if err == nil { + obj.valid |= instance_ip_instance_ip_family + } + break + case "instance_ip_mode": + err = json.Unmarshal(value, &obj.instance_ip_mode) + if err == nil { + obj.valid |= instance_ip_instance_ip_mode + } + break + case "secondary_ip_tracking_ip": + err = json.Unmarshal(value, &obj.secondary_ip_tracking_ip) + if err == nil { + obj.valid |= instance_ip_secondary_ip_tracking_ip + } + break + case "subnet_uuid": + err = json.Unmarshal(value, &obj.subnet_uuid) + if err == nil { + obj.valid |= instance_ip_subnet_uuid + } + break + case "instance_ip_secondary": + err = json.Unmarshal(value, &obj.instance_ip_secondary) + if err == nil { + obj.valid |= instance_ip_instance_ip_secondary + } + break + case "service_instance_ip": + err = json.Unmarshal(value, &obj.service_instance_ip) + if err == nil { + obj.valid |= instance_ip_service_instance_ip + } + break + case "service_health_check_ip": + err = json.Unmarshal(value, &obj.service_health_check_ip) + if err == nil { + obj.valid |= instance_ip_service_health_check_ip + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= instance_ip_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= instance_ip_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= instance_ip_display_name + } + break + case "virtual_network_refs": + err = json.Unmarshal(value, &obj.virtual_network_refs) + if err == nil { + obj.valid |= instance_ip_virtual_network_refs + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= instance_ip_virtual_machine_interface_refs + } + break + case "physical_router_refs": + err = json.Unmarshal(value, &obj.physical_router_refs) + if err == nil { + obj.valid |= instance_ip_physical_router_refs + } + break + case "service_instance_back_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr ServiceInterfaceTag + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= instance_ip_service_instance_back_refs + obj.service_instance_back_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.service_instance_back_refs = append(obj.service_instance_back_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *InstanceIp) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & instance_ip_instance_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.instance_ip_address) + if err != nil { + return nil, err + } + msg["instance_ip_address"] = &value + } + + if obj.modified & instance_ip_instance_ip_family != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.instance_ip_family) + if err != nil { + return nil, err + } + msg["instance_ip_family"] = &value + } + + if obj.modified & instance_ip_instance_ip_mode != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.instance_ip_mode) + if err != nil { + return nil, err + } + msg["instance_ip_mode"] = &value + } + + if obj.modified & instance_ip_secondary_ip_tracking_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.secondary_ip_tracking_ip) + if err != nil { + return nil, err + } + msg["secondary_ip_tracking_ip"] = &value + } + + if obj.modified & instance_ip_subnet_uuid != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.subnet_uuid) + if err != nil { + return nil, err + } + msg["subnet_uuid"] = &value + } + + if obj.modified & instance_ip_instance_ip_secondary != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.instance_ip_secondary) + if err != nil { + return nil, err + } + msg["instance_ip_secondary"] = &value + } + + if obj.modified & instance_ip_service_instance_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_ip) + if err != nil { + return nil, err + } + msg["service_instance_ip"] = &value + } + + if obj.modified & instance_ip_service_health_check_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_health_check_ip) + if err != nil { + return nil, err + } + msg["service_health_check_ip"] = &value + } + + if obj.modified & instance_ip_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & instance_ip_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & instance_ip_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & instance_ip_virtual_network_refs != 0 { + if len(obj.virtual_network_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } else if !obj.hasReferenceBase("virtual-network") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_refs) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } + } + + + if obj.modified & instance_ip_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + if obj.modified & instance_ip_physical_router_refs != 0 { + if len(obj.physical_router_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["physical_router_refs"] = &value + } else if !obj.hasReferenceBase("physical-router") { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_refs) + if err != nil { + return nil, err + } + msg["physical_router_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *InstanceIp) UpdateReferences() error { + + if (obj.modified & instance_ip_virtual_network_refs != 0) && + len(obj.virtual_network_refs) > 0 && + obj.hasReferenceBase("virtual-network") { + err := obj.UpdateReference( + obj, "virtual-network", + obj.virtual_network_refs, + obj.baseMap["virtual-network"]) + if err != nil { + return err + } + } + + if (obj.modified & instance_ip_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + if (obj.modified & instance_ip_physical_router_refs != 0) && + len(obj.physical_router_refs) > 0 && + obj.hasReferenceBase("physical-router") { + err := obj.UpdateReference( + obj, "physical-router", + obj.physical_router_refs, + obj.baseMap["physical-router"]) + if err != nil { + return err + } + } + + return nil +} + +func InstanceIpByName(c contrail.ApiClient, fqn string) (*InstanceIp, error) { + obj, err := c.FindByName("instance-ip", fqn) + if err != nil { + return nil, err + } + return obj.(*InstanceIp), nil +} + +func InstanceIpByUuid(c contrail.ApiClient, uuid string) (*InstanceIp, error) { + obj, err := c.FindByUuid("instance-ip", uuid) + if err != nil { + return nil, err + } + return obj.(*InstanceIp), nil +} diff --git a/types/interface_route_table.go b/types/interface_route_table.go new file mode 100644 index 0000000..8459c08 --- /dev/null +++ b/types/interface_route_table.go @@ -0,0 +1,450 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + interface_route_table_interface_route_table_routes uint64 = 1 << iota + interface_route_table_id_perms + interface_route_table_perms2 + interface_route_table_display_name + interface_route_table_service_instance_refs + interface_route_table_virtual_machine_interface_back_refs +) + +type InterfaceRouteTable struct { + contrail.ObjectBase + interface_route_table_routes RouteTableType + id_perms IdPermsType + perms2 PermType2 + display_name string + service_instance_refs contrail.ReferenceList + virtual_machine_interface_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *InterfaceRouteTable) GetType() string { + return "interface-route-table" +} + +func (obj *InterfaceRouteTable) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *InterfaceRouteTable) GetDefaultParentType() string { + return "project" +} + +func (obj *InterfaceRouteTable) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *InterfaceRouteTable) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *InterfaceRouteTable) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *InterfaceRouteTable) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *InterfaceRouteTable) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *InterfaceRouteTable) GetInterfaceRouteTableRoutes() RouteTableType { + return obj.interface_route_table_routes +} + +func (obj *InterfaceRouteTable) SetInterfaceRouteTableRoutes(value *RouteTableType) { + obj.interface_route_table_routes = *value + obj.modified |= interface_route_table_interface_route_table_routes +} + +func (obj *InterfaceRouteTable) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *InterfaceRouteTable) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= interface_route_table_id_perms +} + +func (obj *InterfaceRouteTable) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *InterfaceRouteTable) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= interface_route_table_perms2 +} + +func (obj *InterfaceRouteTable) GetDisplayName() string { + return obj.display_name +} + +func (obj *InterfaceRouteTable) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= interface_route_table_display_name +} + +func (obj *InterfaceRouteTable) readServiceInstanceRefs() error { + if !obj.IsTransient() && + (obj.valid & interface_route_table_service_instance_refs == 0) { + err := obj.GetField(obj, "service_instance_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *InterfaceRouteTable) GetServiceInstanceRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceInstanceRefs() + if err != nil { + return nil, err + } + return obj.service_instance_refs, nil +} + +func (obj *InterfaceRouteTable) AddServiceInstance( + rhs *ServiceInstance, data ServiceInterfaceTag) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & interface_route_table_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), data} + obj.service_instance_refs = append(obj.service_instance_refs, ref) + obj.modified |= interface_route_table_service_instance_refs + return nil +} + +func (obj *InterfaceRouteTable) DeleteServiceInstance(uuid string) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & interface_route_table_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + for i, ref := range obj.service_instance_refs { + if ref.Uuid == uuid { + obj.service_instance_refs = append( + obj.service_instance_refs[:i], + obj.service_instance_refs[i+1:]...) + break + } + } + obj.modified |= interface_route_table_service_instance_refs + return nil +} + +func (obj *InterfaceRouteTable) ClearServiceInstance() { + if (obj.valid & interface_route_table_service_instance_refs != 0) && + (obj.modified & interface_route_table_service_instance_refs == 0) { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + obj.service_instance_refs = make([]contrail.Reference, 0) + obj.valid |= interface_route_table_service_instance_refs + obj.modified |= interface_route_table_service_instance_refs +} + +func (obj *InterfaceRouteTable) SetServiceInstanceList( + refList []contrail.ReferencePair) { + obj.ClearServiceInstance() + obj.service_instance_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_instance_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *InterfaceRouteTable) readVirtualMachineInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & interface_route_table_virtual_machine_interface_back_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *InterfaceRouteTable) GetVirtualMachineInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_back_refs, nil +} + +func (obj *InterfaceRouteTable) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & interface_route_table_interface_route_table_routes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.interface_route_table_routes) + if err != nil { + return nil, err + } + msg["interface_route_table_routes"] = &value + } + + if obj.modified & interface_route_table_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & interface_route_table_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & interface_route_table_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.service_instance_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *InterfaceRouteTable) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "interface_route_table_routes": + err = json.Unmarshal(value, &obj.interface_route_table_routes) + if err == nil { + obj.valid |= interface_route_table_interface_route_table_routes + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= interface_route_table_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= interface_route_table_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= interface_route_table_display_name + } + break + case "virtual_machine_interface_back_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_back_refs) + if err == nil { + obj.valid |= interface_route_table_virtual_machine_interface_back_refs + } + break + case "service_instance_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr ServiceInterfaceTag + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= interface_route_table_service_instance_refs + obj.service_instance_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.service_instance_refs = append(obj.service_instance_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *InterfaceRouteTable) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & interface_route_table_interface_route_table_routes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.interface_route_table_routes) + if err != nil { + return nil, err + } + msg["interface_route_table_routes"] = &value + } + + if obj.modified & interface_route_table_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & interface_route_table_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & interface_route_table_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & interface_route_table_service_instance_refs != 0 { + if len(obj.service_instance_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } else if !obj.hasReferenceBase("service-instance") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *InterfaceRouteTable) UpdateReferences() error { + + if (obj.modified & interface_route_table_service_instance_refs != 0) && + len(obj.service_instance_refs) > 0 && + obj.hasReferenceBase("service-instance") { + err := obj.UpdateReference( + obj, "service-instance", + obj.service_instance_refs, + obj.baseMap["service-instance"]) + if err != nil { + return err + } + } + + return nil +} + +func InterfaceRouteTableByName(c contrail.ApiClient, fqn string) (*InterfaceRouteTable, error) { + obj, err := c.FindByName("interface-route-table", fqn) + if err != nil { + return nil, err + } + return obj.(*InterfaceRouteTable), nil +} + +func InterfaceRouteTableByUuid(c contrail.ApiClient, uuid string) (*InterfaceRouteTable, error) { + obj, err := c.FindByUuid("interface-route-table", uuid) + if err != nil { + return nil, err + } + return obj.(*InterfaceRouteTable), nil +} diff --git a/types/ipam_type.go b/types/ipam_type.go new file mode 100644 index 0000000..b9d326a --- /dev/null +++ b/types/ipam_type.go @@ -0,0 +1,27 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type IpAddressesType struct { + IpAddress []string `json:"ip_address,omitempty"` +} + +func (obj *IpAddressesType) AddIpAddress(value string) { + obj.IpAddress = append(obj.IpAddress, value) +} + +type IpamDnsAddressType struct { + TenantDnsServerAddress *IpAddressesType `json:"tenant_dns_server_address,omitempty"` + VirtualDnsServerName string `json:"virtual_dns_server_name,omitempty"` +} + +type IpamType struct { + IpamMethod string `json:"ipam_method,omitempty"` + IpamDnsMethod string `json:"ipam_dns_method,omitempty"` + IpamDnsServer *IpamDnsAddressType `json:"ipam_dns_server,omitempty"` + DhcpOptionList *DhcpOptionsListType `json:"dhcp_option_list,omitempty"` + CidrBlock *SubnetType `json:"cidr_block,omitempty"` + HostRoutes *RouteTableType `json:"host_routes,omitempty"` +} diff --git a/types/junos_service_ports.go b/types/junos_service_ports.go new file mode 100644 index 0000000..0c31b6d --- /dev/null +++ b/types/junos_service_ports.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type JunosServicePorts struct { + ServicePort []string `json:"service_port,omitempty"` +} + +func (obj *JunosServicePorts) AddServicePort(value string) { + obj.ServicePort = append(obj.ServicePort, value) +} diff --git a/types/key_value_pairs.go b/types/key_value_pairs.go new file mode 100644 index 0000000..d88b527 --- /dev/null +++ b/types/key_value_pairs.go @@ -0,0 +1,18 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type KeyValuePair struct { + Key string `json:"key,omitempty"` + Value string `json:"value,omitempty"` +} + +type KeyValuePairs struct { + KeyValuePair []KeyValuePair `json:"key_value_pair,omitempty"` +} + +func (obj *KeyValuePairs) AddKeyValuePair(value *KeyValuePair) { + obj.KeyValuePair = append(obj.KeyValuePair, *value) +} diff --git a/types/linklocal_services_types.go b/types/linklocal_services_types.go new file mode 100644 index 0000000..76b3f23 --- /dev/null +++ b/types/linklocal_services_types.go @@ -0,0 +1,26 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type LinklocalServiceEntryType struct { + LinklocalServiceName string `json:"linklocal_service_name,omitempty"` + LinklocalServiceIp string `json:"linklocal_service_ip,omitempty"` + LinklocalServicePort int `json:"linklocal_service_port,omitempty"` + IpFabricDnsServiceName string `json:"ip_fabric_DNS_service_name,omitempty"` + IpFabricServicePort int `json:"ip_fabric_service_port,omitempty"` + IpFabricServiceIp []string `json:"ip_fabric_service_ip,omitempty"` +} + +func (obj *LinklocalServiceEntryType) AddIpFabricServiceIp(value string) { + obj.IpFabricServiceIp = append(obj.IpFabricServiceIp, value) +} + +type LinklocalServicesTypes struct { + LinklocalServiceEntry []LinklocalServiceEntryType `json:"linklocal_service_entry,omitempty"` +} + +func (obj *LinklocalServicesTypes) AddLinklocalServiceEntry(value *LinklocalServiceEntryType) { + obj.LinklocalServiceEntry = append(obj.LinklocalServiceEntry, *value) +} diff --git a/types/loadbalancer.go b/types/loadbalancer.go new file mode 100644 index 0000000..0064a45 --- /dev/null +++ b/types/loadbalancer.go @@ -0,0 +1,600 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + loadbalancer_loadbalancer_properties uint64 = 1 << iota + loadbalancer_loadbalancer_provider + loadbalancer_id_perms + loadbalancer_perms2 + loadbalancer_display_name + loadbalancer_service_instance_refs + loadbalancer_virtual_machine_interface_refs + loadbalancer_loadbalancer_listener_back_refs +) + +type Loadbalancer struct { + contrail.ObjectBase + loadbalancer_properties LoadbalancerType + loadbalancer_provider string + id_perms IdPermsType + perms2 PermType2 + display_name string + service_instance_refs contrail.ReferenceList + virtual_machine_interface_refs contrail.ReferenceList + loadbalancer_listener_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *Loadbalancer) GetType() string { + return "loadbalancer" +} + +func (obj *Loadbalancer) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *Loadbalancer) GetDefaultParentType() string { + return "project" +} + +func (obj *Loadbalancer) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *Loadbalancer) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *Loadbalancer) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *Loadbalancer) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *Loadbalancer) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *Loadbalancer) GetLoadbalancerProperties() LoadbalancerType { + return obj.loadbalancer_properties +} + +func (obj *Loadbalancer) SetLoadbalancerProperties(value *LoadbalancerType) { + obj.loadbalancer_properties = *value + obj.modified |= loadbalancer_loadbalancer_properties +} + +func (obj *Loadbalancer) GetLoadbalancerProvider() string { + return obj.loadbalancer_provider +} + +func (obj *Loadbalancer) SetLoadbalancerProvider(value string) { + obj.loadbalancer_provider = value + obj.modified |= loadbalancer_loadbalancer_provider +} + +func (obj *Loadbalancer) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *Loadbalancer) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= loadbalancer_id_perms +} + +func (obj *Loadbalancer) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *Loadbalancer) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= loadbalancer_perms2 +} + +func (obj *Loadbalancer) GetDisplayName() string { + return obj.display_name +} + +func (obj *Loadbalancer) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= loadbalancer_display_name +} + +func (obj *Loadbalancer) readServiceInstanceRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_service_instance_refs == 0) { + err := obj.GetField(obj, "service_instance_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Loadbalancer) GetServiceInstanceRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceInstanceRefs() + if err != nil { + return nil, err + } + return obj.service_instance_refs, nil +} + +func (obj *Loadbalancer) AddServiceInstance( + rhs *ServiceInstance) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.service_instance_refs = append(obj.service_instance_refs, ref) + obj.modified |= loadbalancer_service_instance_refs + return nil +} + +func (obj *Loadbalancer) DeleteServiceInstance(uuid string) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + for i, ref := range obj.service_instance_refs { + if ref.Uuid == uuid { + obj.service_instance_refs = append( + obj.service_instance_refs[:i], + obj.service_instance_refs[i+1:]...) + break + } + } + obj.modified |= loadbalancer_service_instance_refs + return nil +} + +func (obj *Loadbalancer) ClearServiceInstance() { + if (obj.valid & loadbalancer_service_instance_refs != 0) && + (obj.modified & loadbalancer_service_instance_refs == 0) { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + obj.service_instance_refs = make([]contrail.Reference, 0) + obj.valid |= loadbalancer_service_instance_refs + obj.modified |= loadbalancer_service_instance_refs +} + +func (obj *Loadbalancer) SetServiceInstanceList( + refList []contrail.ReferencePair) { + obj.ClearServiceInstance() + obj.service_instance_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_instance_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *Loadbalancer) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Loadbalancer) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *Loadbalancer) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= loadbalancer_virtual_machine_interface_refs + return nil +} + +func (obj *Loadbalancer) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= loadbalancer_virtual_machine_interface_refs + return nil +} + +func (obj *Loadbalancer) ClearVirtualMachineInterface() { + if (obj.valid & loadbalancer_virtual_machine_interface_refs != 0) && + (obj.modified & loadbalancer_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= loadbalancer_virtual_machine_interface_refs + obj.modified |= loadbalancer_virtual_machine_interface_refs +} + +func (obj *Loadbalancer) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *Loadbalancer) readLoadbalancerListenerBackRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_loadbalancer_listener_back_refs == 0) { + err := obj.GetField(obj, "loadbalancer_listener_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Loadbalancer) GetLoadbalancerListenerBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerListenerBackRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_listener_back_refs, nil +} + +func (obj *Loadbalancer) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & loadbalancer_loadbalancer_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_properties) + if err != nil { + return nil, err + } + msg["loadbalancer_properties"] = &value + } + + if obj.modified & loadbalancer_loadbalancer_provider != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_provider) + if err != nil { + return nil, err + } + msg["loadbalancer_provider"] = &value + } + + if obj.modified & loadbalancer_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & loadbalancer_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & loadbalancer_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.service_instance_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *Loadbalancer) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "loadbalancer_properties": + err = json.Unmarshal(value, &obj.loadbalancer_properties) + if err == nil { + obj.valid |= loadbalancer_loadbalancer_properties + } + break + case "loadbalancer_provider": + err = json.Unmarshal(value, &obj.loadbalancer_provider) + if err == nil { + obj.valid |= loadbalancer_loadbalancer_provider + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= loadbalancer_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= loadbalancer_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= loadbalancer_display_name + } + break + case "service_instance_refs": + err = json.Unmarshal(value, &obj.service_instance_refs) + if err == nil { + obj.valid |= loadbalancer_service_instance_refs + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= loadbalancer_virtual_machine_interface_refs + } + break + case "loadbalancer_listener_back_refs": + err = json.Unmarshal(value, &obj.loadbalancer_listener_back_refs) + if err == nil { + obj.valid |= loadbalancer_loadbalancer_listener_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *Loadbalancer) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & loadbalancer_loadbalancer_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_properties) + if err != nil { + return nil, err + } + msg["loadbalancer_properties"] = &value + } + + if obj.modified & loadbalancer_loadbalancer_provider != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_provider) + if err != nil { + return nil, err + } + msg["loadbalancer_provider"] = &value + } + + if obj.modified & loadbalancer_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & loadbalancer_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & loadbalancer_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & loadbalancer_service_instance_refs != 0 { + if len(obj.service_instance_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } else if !obj.hasReferenceBase("service-instance") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + } + + + if obj.modified & loadbalancer_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *Loadbalancer) UpdateReferences() error { + + if (obj.modified & loadbalancer_service_instance_refs != 0) && + len(obj.service_instance_refs) > 0 && + obj.hasReferenceBase("service-instance") { + err := obj.UpdateReference( + obj, "service-instance", + obj.service_instance_refs, + obj.baseMap["service-instance"]) + if err != nil { + return err + } + } + + if (obj.modified & loadbalancer_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + return nil +} + +func LoadbalancerByName(c contrail.ApiClient, fqn string) (*Loadbalancer, error) { + obj, err := c.FindByName("loadbalancer", fqn) + if err != nil { + return nil, err + } + return obj.(*Loadbalancer), nil +} + +func LoadbalancerByUuid(c contrail.ApiClient, uuid string) (*Loadbalancer, error) { + obj, err := c.FindByUuid("loadbalancer", uuid) + if err != nil { + return nil, err + } + return obj.(*Loadbalancer), nil +} diff --git a/types/loadbalancer_healthmonitor.go b/types/loadbalancer_healthmonitor.go new file mode 100644 index 0000000..766763b --- /dev/null +++ b/types/loadbalancer_healthmonitor.go @@ -0,0 +1,297 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + loadbalancer_healthmonitor_loadbalancer_healthmonitor_properties uint64 = 1 << iota + loadbalancer_healthmonitor_id_perms + loadbalancer_healthmonitor_perms2 + loadbalancer_healthmonitor_display_name + loadbalancer_healthmonitor_loadbalancer_pool_back_refs +) + +type LoadbalancerHealthmonitor struct { + contrail.ObjectBase + loadbalancer_healthmonitor_properties LoadbalancerHealthmonitorType + id_perms IdPermsType + perms2 PermType2 + display_name string + loadbalancer_pool_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *LoadbalancerHealthmonitor) GetType() string { + return "loadbalancer-healthmonitor" +} + +func (obj *LoadbalancerHealthmonitor) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *LoadbalancerHealthmonitor) GetDefaultParentType() string { + return "project" +} + +func (obj *LoadbalancerHealthmonitor) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *LoadbalancerHealthmonitor) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *LoadbalancerHealthmonitor) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *LoadbalancerHealthmonitor) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *LoadbalancerHealthmonitor) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *LoadbalancerHealthmonitor) GetLoadbalancerHealthmonitorProperties() LoadbalancerHealthmonitorType { + return obj.loadbalancer_healthmonitor_properties +} + +func (obj *LoadbalancerHealthmonitor) SetLoadbalancerHealthmonitorProperties(value *LoadbalancerHealthmonitorType) { + obj.loadbalancer_healthmonitor_properties = *value + obj.modified |= loadbalancer_healthmonitor_loadbalancer_healthmonitor_properties +} + +func (obj *LoadbalancerHealthmonitor) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *LoadbalancerHealthmonitor) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= loadbalancer_healthmonitor_id_perms +} + +func (obj *LoadbalancerHealthmonitor) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *LoadbalancerHealthmonitor) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= loadbalancer_healthmonitor_perms2 +} + +func (obj *LoadbalancerHealthmonitor) GetDisplayName() string { + return obj.display_name +} + +func (obj *LoadbalancerHealthmonitor) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= loadbalancer_healthmonitor_display_name +} + +func (obj *LoadbalancerHealthmonitor) readLoadbalancerPoolBackRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_healthmonitor_loadbalancer_pool_back_refs == 0) { + err := obj.GetField(obj, "loadbalancer_pool_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerHealthmonitor) GetLoadbalancerPoolBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerPoolBackRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_pool_back_refs, nil +} + +func (obj *LoadbalancerHealthmonitor) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & loadbalancer_healthmonitor_loadbalancer_healthmonitor_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_healthmonitor_properties) + if err != nil { + return nil, err + } + msg["loadbalancer_healthmonitor_properties"] = &value + } + + if obj.modified & loadbalancer_healthmonitor_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & loadbalancer_healthmonitor_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & loadbalancer_healthmonitor_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *LoadbalancerHealthmonitor) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "loadbalancer_healthmonitor_properties": + err = json.Unmarshal(value, &obj.loadbalancer_healthmonitor_properties) + if err == nil { + obj.valid |= loadbalancer_healthmonitor_loadbalancer_healthmonitor_properties + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= loadbalancer_healthmonitor_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= loadbalancer_healthmonitor_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= loadbalancer_healthmonitor_display_name + } + break + case "loadbalancer_pool_back_refs": + err = json.Unmarshal(value, &obj.loadbalancer_pool_back_refs) + if err == nil { + obj.valid |= loadbalancer_healthmonitor_loadbalancer_pool_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerHealthmonitor) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & loadbalancer_healthmonitor_loadbalancer_healthmonitor_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_healthmonitor_properties) + if err != nil { + return nil, err + } + msg["loadbalancer_healthmonitor_properties"] = &value + } + + if obj.modified & loadbalancer_healthmonitor_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & loadbalancer_healthmonitor_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & loadbalancer_healthmonitor_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *LoadbalancerHealthmonitor) UpdateReferences() error { + + return nil +} + +func LoadbalancerHealthmonitorByName(c contrail.ApiClient, fqn string) (*LoadbalancerHealthmonitor, error) { + obj, err := c.FindByName("loadbalancer-healthmonitor", fqn) + if err != nil { + return nil, err + } + return obj.(*LoadbalancerHealthmonitor), nil +} + +func LoadbalancerHealthmonitorByUuid(c contrail.ApiClient, uuid string) (*LoadbalancerHealthmonitor, error) { + obj, err := c.FindByUuid("loadbalancer-healthmonitor", uuid) + if err != nil { + return nil, err + } + return obj.(*LoadbalancerHealthmonitor), nil +} diff --git a/types/loadbalancer_healthmonitor_type.go b/types/loadbalancer_healthmonitor_type.go new file mode 100644 index 0000000..9952c04 --- /dev/null +++ b/types/loadbalancer_healthmonitor_type.go @@ -0,0 +1,16 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type LoadbalancerHealthmonitorType struct { + AdminState bool `json:"admin_state,omitempty"` + MonitorType string `json:"monitor_type,omitempty"` + Delay int `json:"delay,omitempty"` + Timeout int `json:"timeout,omitempty"` + MaxRetries int `json:"max_retries,omitempty"` + HttpMethod string `json:"http_method,omitempty"` + UrlPath string `json:"url_path,omitempty"` + ExpectedCodes string `json:"expected_codes,omitempty"` +} diff --git a/types/loadbalancer_listener.go b/types/loadbalancer_listener.go new file mode 100644 index 0000000..f56f27c --- /dev/null +++ b/types/loadbalancer_listener.go @@ -0,0 +1,431 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + loadbalancer_listener_loadbalancer_listener_properties uint64 = 1 << iota + loadbalancer_listener_id_perms + loadbalancer_listener_perms2 + loadbalancer_listener_display_name + loadbalancer_listener_loadbalancer_refs + loadbalancer_listener_loadbalancer_pool_back_refs +) + +type LoadbalancerListener struct { + contrail.ObjectBase + loadbalancer_listener_properties LoadbalancerListenerType + id_perms IdPermsType + perms2 PermType2 + display_name string + loadbalancer_refs contrail.ReferenceList + loadbalancer_pool_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *LoadbalancerListener) GetType() string { + return "loadbalancer-listener" +} + +func (obj *LoadbalancerListener) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *LoadbalancerListener) GetDefaultParentType() string { + return "project" +} + +func (obj *LoadbalancerListener) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *LoadbalancerListener) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *LoadbalancerListener) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *LoadbalancerListener) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *LoadbalancerListener) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *LoadbalancerListener) GetLoadbalancerListenerProperties() LoadbalancerListenerType { + return obj.loadbalancer_listener_properties +} + +func (obj *LoadbalancerListener) SetLoadbalancerListenerProperties(value *LoadbalancerListenerType) { + obj.loadbalancer_listener_properties = *value + obj.modified |= loadbalancer_listener_loadbalancer_listener_properties +} + +func (obj *LoadbalancerListener) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *LoadbalancerListener) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= loadbalancer_listener_id_perms +} + +func (obj *LoadbalancerListener) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *LoadbalancerListener) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= loadbalancer_listener_perms2 +} + +func (obj *LoadbalancerListener) GetDisplayName() string { + return obj.display_name +} + +func (obj *LoadbalancerListener) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= loadbalancer_listener_display_name +} + +func (obj *LoadbalancerListener) readLoadbalancerRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_listener_loadbalancer_refs == 0) { + err := obj.GetField(obj, "loadbalancer_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerListener) GetLoadbalancerRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_refs, nil +} + +func (obj *LoadbalancerListener) AddLoadbalancer( + rhs *Loadbalancer) error { + err := obj.readLoadbalancerRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_listener_loadbalancer_refs == 0 { + obj.storeReferenceBase("loadbalancer", obj.loadbalancer_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.loadbalancer_refs = append(obj.loadbalancer_refs, ref) + obj.modified |= loadbalancer_listener_loadbalancer_refs + return nil +} + +func (obj *LoadbalancerListener) DeleteLoadbalancer(uuid string) error { + err := obj.readLoadbalancerRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_listener_loadbalancer_refs == 0 { + obj.storeReferenceBase("loadbalancer", obj.loadbalancer_refs) + } + + for i, ref := range obj.loadbalancer_refs { + if ref.Uuid == uuid { + obj.loadbalancer_refs = append( + obj.loadbalancer_refs[:i], + obj.loadbalancer_refs[i+1:]...) + break + } + } + obj.modified |= loadbalancer_listener_loadbalancer_refs + return nil +} + +func (obj *LoadbalancerListener) ClearLoadbalancer() { + if (obj.valid & loadbalancer_listener_loadbalancer_refs != 0) && + (obj.modified & loadbalancer_listener_loadbalancer_refs == 0) { + obj.storeReferenceBase("loadbalancer", obj.loadbalancer_refs) + } + obj.loadbalancer_refs = make([]contrail.Reference, 0) + obj.valid |= loadbalancer_listener_loadbalancer_refs + obj.modified |= loadbalancer_listener_loadbalancer_refs +} + +func (obj *LoadbalancerListener) SetLoadbalancerList( + refList []contrail.ReferencePair) { + obj.ClearLoadbalancer() + obj.loadbalancer_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.loadbalancer_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LoadbalancerListener) readLoadbalancerPoolBackRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_listener_loadbalancer_pool_back_refs == 0) { + err := obj.GetField(obj, "loadbalancer_pool_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerListener) GetLoadbalancerPoolBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerPoolBackRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_pool_back_refs, nil +} + +func (obj *LoadbalancerListener) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & loadbalancer_listener_loadbalancer_listener_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_listener_properties) + if err != nil { + return nil, err + } + msg["loadbalancer_listener_properties"] = &value + } + + if obj.modified & loadbalancer_listener_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & loadbalancer_listener_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & loadbalancer_listener_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.loadbalancer_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_refs) + if err != nil { + return nil, err + } + msg["loadbalancer_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *LoadbalancerListener) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "loadbalancer_listener_properties": + err = json.Unmarshal(value, &obj.loadbalancer_listener_properties) + if err == nil { + obj.valid |= loadbalancer_listener_loadbalancer_listener_properties + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= loadbalancer_listener_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= loadbalancer_listener_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= loadbalancer_listener_display_name + } + break + case "loadbalancer_refs": + err = json.Unmarshal(value, &obj.loadbalancer_refs) + if err == nil { + obj.valid |= loadbalancer_listener_loadbalancer_refs + } + break + case "loadbalancer_pool_back_refs": + err = json.Unmarshal(value, &obj.loadbalancer_pool_back_refs) + if err == nil { + obj.valid |= loadbalancer_listener_loadbalancer_pool_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerListener) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & loadbalancer_listener_loadbalancer_listener_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_listener_properties) + if err != nil { + return nil, err + } + msg["loadbalancer_listener_properties"] = &value + } + + if obj.modified & loadbalancer_listener_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & loadbalancer_listener_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & loadbalancer_listener_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & loadbalancer_listener_loadbalancer_refs != 0 { + if len(obj.loadbalancer_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["loadbalancer_refs"] = &value + } else if !obj.hasReferenceBase("loadbalancer") { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_refs) + if err != nil { + return nil, err + } + msg["loadbalancer_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *LoadbalancerListener) UpdateReferences() error { + + if (obj.modified & loadbalancer_listener_loadbalancer_refs != 0) && + len(obj.loadbalancer_refs) > 0 && + obj.hasReferenceBase("loadbalancer") { + err := obj.UpdateReference( + obj, "loadbalancer", + obj.loadbalancer_refs, + obj.baseMap["loadbalancer"]) + if err != nil { + return err + } + } + + return nil +} + +func LoadbalancerListenerByName(c contrail.ApiClient, fqn string) (*LoadbalancerListener, error) { + obj, err := c.FindByName("loadbalancer-listener", fqn) + if err != nil { + return nil, err + } + return obj.(*LoadbalancerListener), nil +} + +func LoadbalancerListenerByUuid(c contrail.ApiClient, uuid string) (*LoadbalancerListener, error) { + obj, err := c.FindByUuid("loadbalancer-listener", uuid) + if err != nil { + return nil, err + } + return obj.(*LoadbalancerListener), nil +} diff --git a/types/loadbalancer_listener_type.go b/types/loadbalancer_listener_type.go new file mode 100644 index 0000000..b865fda --- /dev/null +++ b/types/loadbalancer_listener_type.go @@ -0,0 +1,18 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type LoadbalancerListenerType struct { + Protocol string `json:"protocol,omitempty"` + ProtocolPort int `json:"protocol_port,omitempty"` + AdminState bool `json:"admin_state,omitempty"` + ConnectionLimit int `json:"connection_limit,omitempty"` + DefaultTlsContainer string `json:"default_tls_container,omitempty"` + SniContainers []string `json:"sni_containers,omitempty"` +} + +func (obj *LoadbalancerListenerType) AddSniContainers(value string) { + obj.SniContainers = append(obj.SniContainers, value) +} diff --git a/types/loadbalancer_member.go b/types/loadbalancer_member.go new file mode 100644 index 0000000..eb7b43a --- /dev/null +++ b/types/loadbalancer_member.go @@ -0,0 +1,269 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + loadbalancer_member_loadbalancer_member_properties uint64 = 1 << iota + loadbalancer_member_id_perms + loadbalancer_member_perms2 + loadbalancer_member_display_name +) + +type LoadbalancerMember struct { + contrail.ObjectBase + loadbalancer_member_properties LoadbalancerMemberType + id_perms IdPermsType + perms2 PermType2 + display_name string + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *LoadbalancerMember) GetType() string { + return "loadbalancer-member" +} + +func (obj *LoadbalancerMember) GetDefaultParent() []string { + name := []string{"default-domain", "default-project", "default-loadbalancer-pool"} + return name +} + +func (obj *LoadbalancerMember) GetDefaultParentType() string { + return "loadbalancer-pool" +} + +func (obj *LoadbalancerMember) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *LoadbalancerMember) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *LoadbalancerMember) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *LoadbalancerMember) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *LoadbalancerMember) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *LoadbalancerMember) GetLoadbalancerMemberProperties() LoadbalancerMemberType { + return obj.loadbalancer_member_properties +} + +func (obj *LoadbalancerMember) SetLoadbalancerMemberProperties(value *LoadbalancerMemberType) { + obj.loadbalancer_member_properties = *value + obj.modified |= loadbalancer_member_loadbalancer_member_properties +} + +func (obj *LoadbalancerMember) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *LoadbalancerMember) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= loadbalancer_member_id_perms +} + +func (obj *LoadbalancerMember) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *LoadbalancerMember) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= loadbalancer_member_perms2 +} + +func (obj *LoadbalancerMember) GetDisplayName() string { + return obj.display_name +} + +func (obj *LoadbalancerMember) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= loadbalancer_member_display_name +} + +func (obj *LoadbalancerMember) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & loadbalancer_member_loadbalancer_member_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_member_properties) + if err != nil { + return nil, err + } + msg["loadbalancer_member_properties"] = &value + } + + if obj.modified & loadbalancer_member_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & loadbalancer_member_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & loadbalancer_member_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *LoadbalancerMember) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "loadbalancer_member_properties": + err = json.Unmarshal(value, &obj.loadbalancer_member_properties) + if err == nil { + obj.valid |= loadbalancer_member_loadbalancer_member_properties + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= loadbalancer_member_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= loadbalancer_member_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= loadbalancer_member_display_name + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerMember) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & loadbalancer_member_loadbalancer_member_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_member_properties) + if err != nil { + return nil, err + } + msg["loadbalancer_member_properties"] = &value + } + + if obj.modified & loadbalancer_member_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & loadbalancer_member_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & loadbalancer_member_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *LoadbalancerMember) UpdateReferences() error { + + return nil +} + +func LoadbalancerMemberByName(c contrail.ApiClient, fqn string) (*LoadbalancerMember, error) { + obj, err := c.FindByName("loadbalancer-member", fqn) + if err != nil { + return nil, err + } + return obj.(*LoadbalancerMember), nil +} + +func LoadbalancerMemberByUuid(c contrail.ApiClient, uuid string) (*LoadbalancerMember, error) { + obj, err := c.FindByUuid("loadbalancer-member", uuid) + if err != nil { + return nil, err + } + return obj.(*LoadbalancerMember), nil +} diff --git a/types/loadbalancer_member_type.go b/types/loadbalancer_member_type.go new file mode 100644 index 0000000..33fe3fd --- /dev/null +++ b/types/loadbalancer_member_type.go @@ -0,0 +1,14 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type LoadbalancerMemberType struct { + AdminState bool `json:"admin_state,omitempty"` + Status string `json:"status,omitempty"` + StatusDescription string `json:"status_description,omitempty"` + ProtocolPort int `json:"protocol_port,omitempty"` + Weight int `json:"weight,omitempty"` + Address string `json:"address,omitempty"` +} diff --git a/types/loadbalancer_pool.go b/types/loadbalancer_pool.go new file mode 100644 index 0000000..5e83393 --- /dev/null +++ b/types/loadbalancer_pool.go @@ -0,0 +1,1065 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + loadbalancer_pool_loadbalancer_pool_properties uint64 = 1 << iota + loadbalancer_pool_loadbalancer_pool_provider + loadbalancer_pool_loadbalancer_pool_custom_attributes + loadbalancer_pool_id_perms + loadbalancer_pool_perms2 + loadbalancer_pool_display_name + loadbalancer_pool_service_instance_refs + loadbalancer_pool_virtual_machine_interface_refs + loadbalancer_pool_loadbalancer_listener_refs + loadbalancer_pool_service_appliance_set_refs + loadbalancer_pool_loadbalancer_members + loadbalancer_pool_loadbalancer_healthmonitor_refs + loadbalancer_pool_virtual_ip_back_refs +) + +type LoadbalancerPool struct { + contrail.ObjectBase + loadbalancer_pool_properties LoadbalancerPoolType + loadbalancer_pool_provider string + loadbalancer_pool_custom_attributes KeyValuePairs + id_perms IdPermsType + perms2 PermType2 + display_name string + service_instance_refs contrail.ReferenceList + virtual_machine_interface_refs contrail.ReferenceList + loadbalancer_listener_refs contrail.ReferenceList + service_appliance_set_refs contrail.ReferenceList + loadbalancer_members contrail.ReferenceList + loadbalancer_healthmonitor_refs contrail.ReferenceList + virtual_ip_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *LoadbalancerPool) GetType() string { + return "loadbalancer-pool" +} + +func (obj *LoadbalancerPool) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *LoadbalancerPool) GetDefaultParentType() string { + return "project" +} + +func (obj *LoadbalancerPool) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *LoadbalancerPool) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *LoadbalancerPool) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *LoadbalancerPool) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *LoadbalancerPool) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *LoadbalancerPool) GetLoadbalancerPoolProperties() LoadbalancerPoolType { + return obj.loadbalancer_pool_properties +} + +func (obj *LoadbalancerPool) SetLoadbalancerPoolProperties(value *LoadbalancerPoolType) { + obj.loadbalancer_pool_properties = *value + obj.modified |= loadbalancer_pool_loadbalancer_pool_properties +} + +func (obj *LoadbalancerPool) GetLoadbalancerPoolProvider() string { + return obj.loadbalancer_pool_provider +} + +func (obj *LoadbalancerPool) SetLoadbalancerPoolProvider(value string) { + obj.loadbalancer_pool_provider = value + obj.modified |= loadbalancer_pool_loadbalancer_pool_provider +} + +func (obj *LoadbalancerPool) GetLoadbalancerPoolCustomAttributes() KeyValuePairs { + return obj.loadbalancer_pool_custom_attributes +} + +func (obj *LoadbalancerPool) SetLoadbalancerPoolCustomAttributes(value *KeyValuePairs) { + obj.loadbalancer_pool_custom_attributes = *value + obj.modified |= loadbalancer_pool_loadbalancer_pool_custom_attributes +} + +func (obj *LoadbalancerPool) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *LoadbalancerPool) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= loadbalancer_pool_id_perms +} + +func (obj *LoadbalancerPool) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *LoadbalancerPool) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= loadbalancer_pool_perms2 +} + +func (obj *LoadbalancerPool) GetDisplayName() string { + return obj.display_name +} + +func (obj *LoadbalancerPool) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= loadbalancer_pool_display_name +} + +func (obj *LoadbalancerPool) readLoadbalancerMembers() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_pool_loadbalancer_members == 0) { + err := obj.GetField(obj, "loadbalancer_members") + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerPool) GetLoadbalancerMembers() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerMembers() + if err != nil { + return nil, err + } + return obj.loadbalancer_members, nil +} + +func (obj *LoadbalancerPool) readServiceInstanceRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_pool_service_instance_refs == 0) { + err := obj.GetField(obj, "service_instance_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerPool) GetServiceInstanceRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceInstanceRefs() + if err != nil { + return nil, err + } + return obj.service_instance_refs, nil +} + +func (obj *LoadbalancerPool) AddServiceInstance( + rhs *ServiceInstance) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_pool_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.service_instance_refs = append(obj.service_instance_refs, ref) + obj.modified |= loadbalancer_pool_service_instance_refs + return nil +} + +func (obj *LoadbalancerPool) DeleteServiceInstance(uuid string) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_pool_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + for i, ref := range obj.service_instance_refs { + if ref.Uuid == uuid { + obj.service_instance_refs = append( + obj.service_instance_refs[:i], + obj.service_instance_refs[i+1:]...) + break + } + } + obj.modified |= loadbalancer_pool_service_instance_refs + return nil +} + +func (obj *LoadbalancerPool) ClearServiceInstance() { + if (obj.valid & loadbalancer_pool_service_instance_refs != 0) && + (obj.modified & loadbalancer_pool_service_instance_refs == 0) { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + obj.service_instance_refs = make([]contrail.Reference, 0) + obj.valid |= loadbalancer_pool_service_instance_refs + obj.modified |= loadbalancer_pool_service_instance_refs +} + +func (obj *LoadbalancerPool) SetServiceInstanceList( + refList []contrail.ReferencePair) { + obj.ClearServiceInstance() + obj.service_instance_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_instance_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LoadbalancerPool) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_pool_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerPool) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *LoadbalancerPool) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_pool_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= loadbalancer_pool_virtual_machine_interface_refs + return nil +} + +func (obj *LoadbalancerPool) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_pool_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= loadbalancer_pool_virtual_machine_interface_refs + return nil +} + +func (obj *LoadbalancerPool) ClearVirtualMachineInterface() { + if (obj.valid & loadbalancer_pool_virtual_machine_interface_refs != 0) && + (obj.modified & loadbalancer_pool_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= loadbalancer_pool_virtual_machine_interface_refs + obj.modified |= loadbalancer_pool_virtual_machine_interface_refs +} + +func (obj *LoadbalancerPool) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LoadbalancerPool) readLoadbalancerListenerRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_pool_loadbalancer_listener_refs == 0) { + err := obj.GetField(obj, "loadbalancer_listener_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerPool) GetLoadbalancerListenerRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerListenerRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_listener_refs, nil +} + +func (obj *LoadbalancerPool) AddLoadbalancerListener( + rhs *LoadbalancerListener) error { + err := obj.readLoadbalancerListenerRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_pool_loadbalancer_listener_refs == 0 { + obj.storeReferenceBase("loadbalancer-listener", obj.loadbalancer_listener_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.loadbalancer_listener_refs = append(obj.loadbalancer_listener_refs, ref) + obj.modified |= loadbalancer_pool_loadbalancer_listener_refs + return nil +} + +func (obj *LoadbalancerPool) DeleteLoadbalancerListener(uuid string) error { + err := obj.readLoadbalancerListenerRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_pool_loadbalancer_listener_refs == 0 { + obj.storeReferenceBase("loadbalancer-listener", obj.loadbalancer_listener_refs) + } + + for i, ref := range obj.loadbalancer_listener_refs { + if ref.Uuid == uuid { + obj.loadbalancer_listener_refs = append( + obj.loadbalancer_listener_refs[:i], + obj.loadbalancer_listener_refs[i+1:]...) + break + } + } + obj.modified |= loadbalancer_pool_loadbalancer_listener_refs + return nil +} + +func (obj *LoadbalancerPool) ClearLoadbalancerListener() { + if (obj.valid & loadbalancer_pool_loadbalancer_listener_refs != 0) && + (obj.modified & loadbalancer_pool_loadbalancer_listener_refs == 0) { + obj.storeReferenceBase("loadbalancer-listener", obj.loadbalancer_listener_refs) + } + obj.loadbalancer_listener_refs = make([]contrail.Reference, 0) + obj.valid |= loadbalancer_pool_loadbalancer_listener_refs + obj.modified |= loadbalancer_pool_loadbalancer_listener_refs +} + +func (obj *LoadbalancerPool) SetLoadbalancerListenerList( + refList []contrail.ReferencePair) { + obj.ClearLoadbalancerListener() + obj.loadbalancer_listener_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.loadbalancer_listener_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LoadbalancerPool) readServiceApplianceSetRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_pool_service_appliance_set_refs == 0) { + err := obj.GetField(obj, "service_appliance_set_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerPool) GetServiceApplianceSetRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceApplianceSetRefs() + if err != nil { + return nil, err + } + return obj.service_appliance_set_refs, nil +} + +func (obj *LoadbalancerPool) AddServiceApplianceSet( + rhs *ServiceApplianceSet) error { + err := obj.readServiceApplianceSetRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_pool_service_appliance_set_refs == 0 { + obj.storeReferenceBase("service-appliance-set", obj.service_appliance_set_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.service_appliance_set_refs = append(obj.service_appliance_set_refs, ref) + obj.modified |= loadbalancer_pool_service_appliance_set_refs + return nil +} + +func (obj *LoadbalancerPool) DeleteServiceApplianceSet(uuid string) error { + err := obj.readServiceApplianceSetRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_pool_service_appliance_set_refs == 0 { + obj.storeReferenceBase("service-appliance-set", obj.service_appliance_set_refs) + } + + for i, ref := range obj.service_appliance_set_refs { + if ref.Uuid == uuid { + obj.service_appliance_set_refs = append( + obj.service_appliance_set_refs[:i], + obj.service_appliance_set_refs[i+1:]...) + break + } + } + obj.modified |= loadbalancer_pool_service_appliance_set_refs + return nil +} + +func (obj *LoadbalancerPool) ClearServiceApplianceSet() { + if (obj.valid & loadbalancer_pool_service_appliance_set_refs != 0) && + (obj.modified & loadbalancer_pool_service_appliance_set_refs == 0) { + obj.storeReferenceBase("service-appliance-set", obj.service_appliance_set_refs) + } + obj.service_appliance_set_refs = make([]contrail.Reference, 0) + obj.valid |= loadbalancer_pool_service_appliance_set_refs + obj.modified |= loadbalancer_pool_service_appliance_set_refs +} + +func (obj *LoadbalancerPool) SetServiceApplianceSetList( + refList []contrail.ReferencePair) { + obj.ClearServiceApplianceSet() + obj.service_appliance_set_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_appliance_set_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LoadbalancerPool) readLoadbalancerHealthmonitorRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_pool_loadbalancer_healthmonitor_refs == 0) { + err := obj.GetField(obj, "loadbalancer_healthmonitor_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerPool) GetLoadbalancerHealthmonitorRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerHealthmonitorRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_healthmonitor_refs, nil +} + +func (obj *LoadbalancerPool) AddLoadbalancerHealthmonitor( + rhs *LoadbalancerHealthmonitor) error { + err := obj.readLoadbalancerHealthmonitorRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_pool_loadbalancer_healthmonitor_refs == 0 { + obj.storeReferenceBase("loadbalancer-healthmonitor", obj.loadbalancer_healthmonitor_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.loadbalancer_healthmonitor_refs = append(obj.loadbalancer_healthmonitor_refs, ref) + obj.modified |= loadbalancer_pool_loadbalancer_healthmonitor_refs + return nil +} + +func (obj *LoadbalancerPool) DeleteLoadbalancerHealthmonitor(uuid string) error { + err := obj.readLoadbalancerHealthmonitorRefs() + if err != nil { + return err + } + + if obj.modified & loadbalancer_pool_loadbalancer_healthmonitor_refs == 0 { + obj.storeReferenceBase("loadbalancer-healthmonitor", obj.loadbalancer_healthmonitor_refs) + } + + for i, ref := range obj.loadbalancer_healthmonitor_refs { + if ref.Uuid == uuid { + obj.loadbalancer_healthmonitor_refs = append( + obj.loadbalancer_healthmonitor_refs[:i], + obj.loadbalancer_healthmonitor_refs[i+1:]...) + break + } + } + obj.modified |= loadbalancer_pool_loadbalancer_healthmonitor_refs + return nil +} + +func (obj *LoadbalancerPool) ClearLoadbalancerHealthmonitor() { + if (obj.valid & loadbalancer_pool_loadbalancer_healthmonitor_refs != 0) && + (obj.modified & loadbalancer_pool_loadbalancer_healthmonitor_refs == 0) { + obj.storeReferenceBase("loadbalancer-healthmonitor", obj.loadbalancer_healthmonitor_refs) + } + obj.loadbalancer_healthmonitor_refs = make([]contrail.Reference, 0) + obj.valid |= loadbalancer_pool_loadbalancer_healthmonitor_refs + obj.modified |= loadbalancer_pool_loadbalancer_healthmonitor_refs +} + +func (obj *LoadbalancerPool) SetLoadbalancerHealthmonitorList( + refList []contrail.ReferencePair) { + obj.ClearLoadbalancerHealthmonitor() + obj.loadbalancer_healthmonitor_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.loadbalancer_healthmonitor_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LoadbalancerPool) readVirtualIpBackRefs() error { + if !obj.IsTransient() && + (obj.valid & loadbalancer_pool_virtual_ip_back_refs == 0) { + err := obj.GetField(obj, "virtual_ip_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerPool) GetVirtualIpBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualIpBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_ip_back_refs, nil +} + +func (obj *LoadbalancerPool) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & loadbalancer_pool_loadbalancer_pool_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_pool_properties) + if err != nil { + return nil, err + } + msg["loadbalancer_pool_properties"] = &value + } + + if obj.modified & loadbalancer_pool_loadbalancer_pool_provider != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_pool_provider) + if err != nil { + return nil, err + } + msg["loadbalancer_pool_provider"] = &value + } + + if obj.modified & loadbalancer_pool_loadbalancer_pool_custom_attributes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_pool_custom_attributes) + if err != nil { + return nil, err + } + msg["loadbalancer_pool_custom_attributes"] = &value + } + + if obj.modified & loadbalancer_pool_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & loadbalancer_pool_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & loadbalancer_pool_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.service_instance_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + if len(obj.loadbalancer_listener_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_listener_refs) + if err != nil { + return nil, err + } + msg["loadbalancer_listener_refs"] = &value + } + + if len(obj.service_appliance_set_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_set_refs) + if err != nil { + return nil, err + } + msg["service_appliance_set_refs"] = &value + } + + if len(obj.loadbalancer_healthmonitor_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_healthmonitor_refs) + if err != nil { + return nil, err + } + msg["loadbalancer_healthmonitor_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *LoadbalancerPool) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "loadbalancer_pool_properties": + err = json.Unmarshal(value, &obj.loadbalancer_pool_properties) + if err == nil { + obj.valid |= loadbalancer_pool_loadbalancer_pool_properties + } + break + case "loadbalancer_pool_provider": + err = json.Unmarshal(value, &obj.loadbalancer_pool_provider) + if err == nil { + obj.valid |= loadbalancer_pool_loadbalancer_pool_provider + } + break + case "loadbalancer_pool_custom_attributes": + err = json.Unmarshal(value, &obj.loadbalancer_pool_custom_attributes) + if err == nil { + obj.valid |= loadbalancer_pool_loadbalancer_pool_custom_attributes + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= loadbalancer_pool_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= loadbalancer_pool_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= loadbalancer_pool_display_name + } + break + case "service_instance_refs": + err = json.Unmarshal(value, &obj.service_instance_refs) + if err == nil { + obj.valid |= loadbalancer_pool_service_instance_refs + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= loadbalancer_pool_virtual_machine_interface_refs + } + break + case "loadbalancer_listener_refs": + err = json.Unmarshal(value, &obj.loadbalancer_listener_refs) + if err == nil { + obj.valid |= loadbalancer_pool_loadbalancer_listener_refs + } + break + case "service_appliance_set_refs": + err = json.Unmarshal(value, &obj.service_appliance_set_refs) + if err == nil { + obj.valid |= loadbalancer_pool_service_appliance_set_refs + } + break + case "loadbalancer_members": + err = json.Unmarshal(value, &obj.loadbalancer_members) + if err == nil { + obj.valid |= loadbalancer_pool_loadbalancer_members + } + break + case "loadbalancer_healthmonitor_refs": + err = json.Unmarshal(value, &obj.loadbalancer_healthmonitor_refs) + if err == nil { + obj.valid |= loadbalancer_pool_loadbalancer_healthmonitor_refs + } + break + case "virtual_ip_back_refs": + err = json.Unmarshal(value, &obj.virtual_ip_back_refs) + if err == nil { + obj.valid |= loadbalancer_pool_virtual_ip_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *LoadbalancerPool) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & loadbalancer_pool_loadbalancer_pool_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_pool_properties) + if err != nil { + return nil, err + } + msg["loadbalancer_pool_properties"] = &value + } + + if obj.modified & loadbalancer_pool_loadbalancer_pool_provider != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_pool_provider) + if err != nil { + return nil, err + } + msg["loadbalancer_pool_provider"] = &value + } + + if obj.modified & loadbalancer_pool_loadbalancer_pool_custom_attributes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_pool_custom_attributes) + if err != nil { + return nil, err + } + msg["loadbalancer_pool_custom_attributes"] = &value + } + + if obj.modified & loadbalancer_pool_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & loadbalancer_pool_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & loadbalancer_pool_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & loadbalancer_pool_service_instance_refs != 0 { + if len(obj.service_instance_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } else if !obj.hasReferenceBase("service-instance") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + } + + + if obj.modified & loadbalancer_pool_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + if obj.modified & loadbalancer_pool_loadbalancer_listener_refs != 0 { + if len(obj.loadbalancer_listener_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["loadbalancer_listener_refs"] = &value + } else if !obj.hasReferenceBase("loadbalancer-listener") { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_listener_refs) + if err != nil { + return nil, err + } + msg["loadbalancer_listener_refs"] = &value + } + } + + + if obj.modified & loadbalancer_pool_service_appliance_set_refs != 0 { + if len(obj.service_appliance_set_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_appliance_set_refs"] = &value + } else if !obj.hasReferenceBase("service-appliance-set") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_set_refs) + if err != nil { + return nil, err + } + msg["service_appliance_set_refs"] = &value + } + } + + + if obj.modified & loadbalancer_pool_loadbalancer_healthmonitor_refs != 0 { + if len(obj.loadbalancer_healthmonitor_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["loadbalancer_healthmonitor_refs"] = &value + } else if !obj.hasReferenceBase("loadbalancer-healthmonitor") { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_healthmonitor_refs) + if err != nil { + return nil, err + } + msg["loadbalancer_healthmonitor_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *LoadbalancerPool) UpdateReferences() error { + + if (obj.modified & loadbalancer_pool_service_instance_refs != 0) && + len(obj.service_instance_refs) > 0 && + obj.hasReferenceBase("service-instance") { + err := obj.UpdateReference( + obj, "service-instance", + obj.service_instance_refs, + obj.baseMap["service-instance"]) + if err != nil { + return err + } + } + + if (obj.modified & loadbalancer_pool_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + if (obj.modified & loadbalancer_pool_loadbalancer_listener_refs != 0) && + len(obj.loadbalancer_listener_refs) > 0 && + obj.hasReferenceBase("loadbalancer-listener") { + err := obj.UpdateReference( + obj, "loadbalancer-listener", + obj.loadbalancer_listener_refs, + obj.baseMap["loadbalancer-listener"]) + if err != nil { + return err + } + } + + if (obj.modified & loadbalancer_pool_service_appliance_set_refs != 0) && + len(obj.service_appliance_set_refs) > 0 && + obj.hasReferenceBase("service-appliance-set") { + err := obj.UpdateReference( + obj, "service-appliance-set", + obj.service_appliance_set_refs, + obj.baseMap["service-appliance-set"]) + if err != nil { + return err + } + } + + if (obj.modified & loadbalancer_pool_loadbalancer_healthmonitor_refs != 0) && + len(obj.loadbalancer_healthmonitor_refs) > 0 && + obj.hasReferenceBase("loadbalancer-healthmonitor") { + err := obj.UpdateReference( + obj, "loadbalancer-healthmonitor", + obj.loadbalancer_healthmonitor_refs, + obj.baseMap["loadbalancer-healthmonitor"]) + if err != nil { + return err + } + } + + return nil +} + +func LoadbalancerPoolByName(c contrail.ApiClient, fqn string) (*LoadbalancerPool, error) { + obj, err := c.FindByName("loadbalancer-pool", fqn) + if err != nil { + return nil, err + } + return obj.(*LoadbalancerPool), nil +} + +func LoadbalancerPoolByUuid(c contrail.ApiClient, uuid string) (*LoadbalancerPool, error) { + obj, err := c.FindByUuid("loadbalancer-pool", uuid) + if err != nil { + return nil, err + } + return obj.(*LoadbalancerPool), nil +} diff --git a/types/loadbalancer_pool_type.go b/types/loadbalancer_pool_type.go new file mode 100644 index 0000000..78ee474 --- /dev/null +++ b/types/loadbalancer_pool_type.go @@ -0,0 +1,16 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type LoadbalancerPoolType struct { + Status string `json:"status,omitempty"` + StatusDescription string `json:"status_description,omitempty"` + AdminState bool `json:"admin_state,omitempty"` + Protocol string `json:"protocol,omitempty"` + LoadbalancerMethod string `json:"loadbalancer_method,omitempty"` + SubnetId string `json:"subnet_id,omitempty"` + SessionPersistence string `json:"session_persistence,omitempty"` + PersistenceCookieName string `json:"persistence_cookie_name,omitempty"` +} diff --git a/types/loadbalancer_type.go b/types/loadbalancer_type.go new file mode 100644 index 0000000..0a9da27 --- /dev/null +++ b/types/loadbalancer_type.go @@ -0,0 +1,14 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type LoadbalancerType struct { + Status string `json:"status,omitempty"` + ProvisioningStatus string `json:"provisioning_status,omitempty"` + OperatingStatus string `json:"operating_status,omitempty"` + VipSubnetId string `json:"vip_subnet_id,omitempty"` + VipAddress string `json:"vip_address,omitempty"` + AdminState bool `json:"admin_state,omitempty"` +} diff --git a/types/logical_interface.go b/types/logical_interface.go new file mode 100644 index 0000000..8a821bd --- /dev/null +++ b/types/logical_interface.go @@ -0,0 +1,438 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + logical_interface_logical_interface_vlan_tag uint64 = 1 << iota + logical_interface_logical_interface_type + logical_interface_id_perms + logical_interface_perms2 + logical_interface_display_name + logical_interface_virtual_machine_interface_refs +) + +type LogicalInterface struct { + contrail.ObjectBase + logical_interface_vlan_tag int + logical_interface_type string + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_machine_interface_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *LogicalInterface) GetType() string { + return "logical-interface" +} + +func (obj *LogicalInterface) GetDefaultParent() []string { + name := []string{"default-global-system-config", "default-physical-router"} + return name +} + +func (obj *LogicalInterface) GetDefaultParentType() string { + return "physical-router" +} + +func (obj *LogicalInterface) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *LogicalInterface) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *LogicalInterface) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *LogicalInterface) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *LogicalInterface) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *LogicalInterface) GetLogicalInterfaceVlanTag() int { + return obj.logical_interface_vlan_tag +} + +func (obj *LogicalInterface) SetLogicalInterfaceVlanTag(value int) { + obj.logical_interface_vlan_tag = value + obj.modified |= logical_interface_logical_interface_vlan_tag +} + +func (obj *LogicalInterface) GetLogicalInterfaceType() string { + return obj.logical_interface_type +} + +func (obj *LogicalInterface) SetLogicalInterfaceType(value string) { + obj.logical_interface_type = value + obj.modified |= logical_interface_logical_interface_type +} + +func (obj *LogicalInterface) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *LogicalInterface) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= logical_interface_id_perms +} + +func (obj *LogicalInterface) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *LogicalInterface) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= logical_interface_perms2 +} + +func (obj *LogicalInterface) GetDisplayName() string { + return obj.display_name +} + +func (obj *LogicalInterface) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= logical_interface_display_name +} + +func (obj *LogicalInterface) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & logical_interface_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LogicalInterface) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *LogicalInterface) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & logical_interface_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= logical_interface_virtual_machine_interface_refs + return nil +} + +func (obj *LogicalInterface) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & logical_interface_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= logical_interface_virtual_machine_interface_refs + return nil +} + +func (obj *LogicalInterface) ClearVirtualMachineInterface() { + if (obj.valid & logical_interface_virtual_machine_interface_refs != 0) && + (obj.modified & logical_interface_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= logical_interface_virtual_machine_interface_refs + obj.modified |= logical_interface_virtual_machine_interface_refs +} + +func (obj *LogicalInterface) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LogicalInterface) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & logical_interface_logical_interface_vlan_tag != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.logical_interface_vlan_tag) + if err != nil { + return nil, err + } + msg["logical_interface_vlan_tag"] = &value + } + + if obj.modified & logical_interface_logical_interface_type != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.logical_interface_type) + if err != nil { + return nil, err + } + msg["logical_interface_type"] = &value + } + + if obj.modified & logical_interface_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & logical_interface_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & logical_interface_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *LogicalInterface) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "logical_interface_vlan_tag": + err = json.Unmarshal(value, &obj.logical_interface_vlan_tag) + if err == nil { + obj.valid |= logical_interface_logical_interface_vlan_tag + } + break + case "logical_interface_type": + err = json.Unmarshal(value, &obj.logical_interface_type) + if err == nil { + obj.valid |= logical_interface_logical_interface_type + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= logical_interface_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= logical_interface_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= logical_interface_display_name + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= logical_interface_virtual_machine_interface_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *LogicalInterface) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & logical_interface_logical_interface_vlan_tag != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.logical_interface_vlan_tag) + if err != nil { + return nil, err + } + msg["logical_interface_vlan_tag"] = &value + } + + if obj.modified & logical_interface_logical_interface_type != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.logical_interface_type) + if err != nil { + return nil, err + } + msg["logical_interface_type"] = &value + } + + if obj.modified & logical_interface_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & logical_interface_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & logical_interface_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & logical_interface_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *LogicalInterface) UpdateReferences() error { + + if (obj.modified & logical_interface_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + return nil +} + +func LogicalInterfaceByName(c contrail.ApiClient, fqn string) (*LogicalInterface, error) { + obj, err := c.FindByName("logical-interface", fqn) + if err != nil { + return nil, err + } + return obj.(*LogicalInterface), nil +} + +func LogicalInterfaceByUuid(c contrail.ApiClient, uuid string) (*LogicalInterface, error) { + obj, err := c.FindByUuid("logical-interface", uuid) + if err != nil { + return nil, err + } + return obj.(*LogicalInterface), nil +} diff --git a/types/logical_router.go b/types/logical_router.go new file mode 100644 index 0000000..851ee77 --- /dev/null +++ b/types/logical_router.go @@ -0,0 +1,939 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + logical_router_configured_route_target_list uint64 = 1 << iota + logical_router_id_perms + logical_router_perms2 + logical_router_display_name + logical_router_virtual_machine_interface_refs + logical_router_route_target_refs + logical_router_route_table_refs + logical_router_virtual_network_refs + logical_router_service_instance_refs +) + +type LogicalRouter struct { + contrail.ObjectBase + configured_route_target_list RouteTargetList + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_machine_interface_refs contrail.ReferenceList + route_target_refs contrail.ReferenceList + route_table_refs contrail.ReferenceList + virtual_network_refs contrail.ReferenceList + service_instance_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *LogicalRouter) GetType() string { + return "logical-router" +} + +func (obj *LogicalRouter) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *LogicalRouter) GetDefaultParentType() string { + return "project" +} + +func (obj *LogicalRouter) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *LogicalRouter) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *LogicalRouter) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *LogicalRouter) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *LogicalRouter) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *LogicalRouter) GetConfiguredRouteTargetList() RouteTargetList { + return obj.configured_route_target_list +} + +func (obj *LogicalRouter) SetConfiguredRouteTargetList(value *RouteTargetList) { + obj.configured_route_target_list = *value + obj.modified |= logical_router_configured_route_target_list +} + +func (obj *LogicalRouter) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *LogicalRouter) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= logical_router_id_perms +} + +func (obj *LogicalRouter) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *LogicalRouter) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= logical_router_perms2 +} + +func (obj *LogicalRouter) GetDisplayName() string { + return obj.display_name +} + +func (obj *LogicalRouter) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= logical_router_display_name +} + +func (obj *LogicalRouter) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & logical_router_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LogicalRouter) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *LogicalRouter) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & logical_router_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= logical_router_virtual_machine_interface_refs + return nil +} + +func (obj *LogicalRouter) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & logical_router_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= logical_router_virtual_machine_interface_refs + return nil +} + +func (obj *LogicalRouter) ClearVirtualMachineInterface() { + if (obj.valid & logical_router_virtual_machine_interface_refs != 0) && + (obj.modified & logical_router_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= logical_router_virtual_machine_interface_refs + obj.modified |= logical_router_virtual_machine_interface_refs +} + +func (obj *LogicalRouter) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LogicalRouter) readRouteTargetRefs() error { + if !obj.IsTransient() && + (obj.valid & logical_router_route_target_refs == 0) { + err := obj.GetField(obj, "route_target_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LogicalRouter) GetRouteTargetRefs() ( + contrail.ReferenceList, error) { + err := obj.readRouteTargetRefs() + if err != nil { + return nil, err + } + return obj.route_target_refs, nil +} + +func (obj *LogicalRouter) AddRouteTarget( + rhs *RouteTarget) error { + err := obj.readRouteTargetRefs() + if err != nil { + return err + } + + if obj.modified & logical_router_route_target_refs == 0 { + obj.storeReferenceBase("route-target", obj.route_target_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.route_target_refs = append(obj.route_target_refs, ref) + obj.modified |= logical_router_route_target_refs + return nil +} + +func (obj *LogicalRouter) DeleteRouteTarget(uuid string) error { + err := obj.readRouteTargetRefs() + if err != nil { + return err + } + + if obj.modified & logical_router_route_target_refs == 0 { + obj.storeReferenceBase("route-target", obj.route_target_refs) + } + + for i, ref := range obj.route_target_refs { + if ref.Uuid == uuid { + obj.route_target_refs = append( + obj.route_target_refs[:i], + obj.route_target_refs[i+1:]...) + break + } + } + obj.modified |= logical_router_route_target_refs + return nil +} + +func (obj *LogicalRouter) ClearRouteTarget() { + if (obj.valid & logical_router_route_target_refs != 0) && + (obj.modified & logical_router_route_target_refs == 0) { + obj.storeReferenceBase("route-target", obj.route_target_refs) + } + obj.route_target_refs = make([]contrail.Reference, 0) + obj.valid |= logical_router_route_target_refs + obj.modified |= logical_router_route_target_refs +} + +func (obj *LogicalRouter) SetRouteTargetList( + refList []contrail.ReferencePair) { + obj.ClearRouteTarget() + obj.route_target_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.route_target_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LogicalRouter) readRouteTableRefs() error { + if !obj.IsTransient() && + (obj.valid & logical_router_route_table_refs == 0) { + err := obj.GetField(obj, "route_table_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LogicalRouter) GetRouteTableRefs() ( + contrail.ReferenceList, error) { + err := obj.readRouteTableRefs() + if err != nil { + return nil, err + } + return obj.route_table_refs, nil +} + +func (obj *LogicalRouter) AddRouteTable( + rhs *RouteTable) error { + err := obj.readRouteTableRefs() + if err != nil { + return err + } + + if obj.modified & logical_router_route_table_refs == 0 { + obj.storeReferenceBase("route-table", obj.route_table_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.route_table_refs = append(obj.route_table_refs, ref) + obj.modified |= logical_router_route_table_refs + return nil +} + +func (obj *LogicalRouter) DeleteRouteTable(uuid string) error { + err := obj.readRouteTableRefs() + if err != nil { + return err + } + + if obj.modified & logical_router_route_table_refs == 0 { + obj.storeReferenceBase("route-table", obj.route_table_refs) + } + + for i, ref := range obj.route_table_refs { + if ref.Uuid == uuid { + obj.route_table_refs = append( + obj.route_table_refs[:i], + obj.route_table_refs[i+1:]...) + break + } + } + obj.modified |= logical_router_route_table_refs + return nil +} + +func (obj *LogicalRouter) ClearRouteTable() { + if (obj.valid & logical_router_route_table_refs != 0) && + (obj.modified & logical_router_route_table_refs == 0) { + obj.storeReferenceBase("route-table", obj.route_table_refs) + } + obj.route_table_refs = make([]contrail.Reference, 0) + obj.valid |= logical_router_route_table_refs + obj.modified |= logical_router_route_table_refs +} + +func (obj *LogicalRouter) SetRouteTableList( + refList []contrail.ReferencePair) { + obj.ClearRouteTable() + obj.route_table_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.route_table_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LogicalRouter) readVirtualNetworkRefs() error { + if !obj.IsTransient() && + (obj.valid & logical_router_virtual_network_refs == 0) { + err := obj.GetField(obj, "virtual_network_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LogicalRouter) GetVirtualNetworkRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualNetworkRefs() + if err != nil { + return nil, err + } + return obj.virtual_network_refs, nil +} + +func (obj *LogicalRouter) AddVirtualNetwork( + rhs *VirtualNetwork) error { + err := obj.readVirtualNetworkRefs() + if err != nil { + return err + } + + if obj.modified & logical_router_virtual_network_refs == 0 { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_network_refs = append(obj.virtual_network_refs, ref) + obj.modified |= logical_router_virtual_network_refs + return nil +} + +func (obj *LogicalRouter) DeleteVirtualNetwork(uuid string) error { + err := obj.readVirtualNetworkRefs() + if err != nil { + return err + } + + if obj.modified & logical_router_virtual_network_refs == 0 { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + + for i, ref := range obj.virtual_network_refs { + if ref.Uuid == uuid { + obj.virtual_network_refs = append( + obj.virtual_network_refs[:i], + obj.virtual_network_refs[i+1:]...) + break + } + } + obj.modified |= logical_router_virtual_network_refs + return nil +} + +func (obj *LogicalRouter) ClearVirtualNetwork() { + if (obj.valid & logical_router_virtual_network_refs != 0) && + (obj.modified & logical_router_virtual_network_refs == 0) { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + obj.virtual_network_refs = make([]contrail.Reference, 0) + obj.valid |= logical_router_virtual_network_refs + obj.modified |= logical_router_virtual_network_refs +} + +func (obj *LogicalRouter) SetVirtualNetworkList( + refList []contrail.ReferencePair) { + obj.ClearVirtualNetwork() + obj.virtual_network_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_network_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LogicalRouter) readServiceInstanceRefs() error { + if !obj.IsTransient() && + (obj.valid & logical_router_service_instance_refs == 0) { + err := obj.GetField(obj, "service_instance_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *LogicalRouter) GetServiceInstanceRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceInstanceRefs() + if err != nil { + return nil, err + } + return obj.service_instance_refs, nil +} + +func (obj *LogicalRouter) AddServiceInstance( + rhs *ServiceInstance) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & logical_router_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.service_instance_refs = append(obj.service_instance_refs, ref) + obj.modified |= logical_router_service_instance_refs + return nil +} + +func (obj *LogicalRouter) DeleteServiceInstance(uuid string) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & logical_router_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + for i, ref := range obj.service_instance_refs { + if ref.Uuid == uuid { + obj.service_instance_refs = append( + obj.service_instance_refs[:i], + obj.service_instance_refs[i+1:]...) + break + } + } + obj.modified |= logical_router_service_instance_refs + return nil +} + +func (obj *LogicalRouter) ClearServiceInstance() { + if (obj.valid & logical_router_service_instance_refs != 0) && + (obj.modified & logical_router_service_instance_refs == 0) { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + obj.service_instance_refs = make([]contrail.Reference, 0) + obj.valid |= logical_router_service_instance_refs + obj.modified |= logical_router_service_instance_refs +} + +func (obj *LogicalRouter) SetServiceInstanceList( + refList []contrail.ReferencePair) { + obj.ClearServiceInstance() + obj.service_instance_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_instance_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *LogicalRouter) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & logical_router_configured_route_target_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.configured_route_target_list) + if err != nil { + return nil, err + } + msg["configured_route_target_list"] = &value + } + + if obj.modified & logical_router_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & logical_router_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & logical_router_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + if len(obj.route_target_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.route_target_refs) + if err != nil { + return nil, err + } + msg["route_target_refs"] = &value + } + + if len(obj.route_table_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.route_table_refs) + if err != nil { + return nil, err + } + msg["route_table_refs"] = &value + } + + if len(obj.virtual_network_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_refs) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } + + if len(obj.service_instance_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *LogicalRouter) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "configured_route_target_list": + err = json.Unmarshal(value, &obj.configured_route_target_list) + if err == nil { + obj.valid |= logical_router_configured_route_target_list + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= logical_router_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= logical_router_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= logical_router_display_name + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= logical_router_virtual_machine_interface_refs + } + break + case "route_target_refs": + err = json.Unmarshal(value, &obj.route_target_refs) + if err == nil { + obj.valid |= logical_router_route_target_refs + } + break + case "route_table_refs": + err = json.Unmarshal(value, &obj.route_table_refs) + if err == nil { + obj.valid |= logical_router_route_table_refs + } + break + case "virtual_network_refs": + err = json.Unmarshal(value, &obj.virtual_network_refs) + if err == nil { + obj.valid |= logical_router_virtual_network_refs + } + break + case "service_instance_refs": + err = json.Unmarshal(value, &obj.service_instance_refs) + if err == nil { + obj.valid |= logical_router_service_instance_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *LogicalRouter) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & logical_router_configured_route_target_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.configured_route_target_list) + if err != nil { + return nil, err + } + msg["configured_route_target_list"] = &value + } + + if obj.modified & logical_router_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & logical_router_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & logical_router_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & logical_router_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + if obj.modified & logical_router_route_target_refs != 0 { + if len(obj.route_target_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["route_target_refs"] = &value + } else if !obj.hasReferenceBase("route-target") { + var value json.RawMessage + value, err := json.Marshal(&obj.route_target_refs) + if err != nil { + return nil, err + } + msg["route_target_refs"] = &value + } + } + + + if obj.modified & logical_router_route_table_refs != 0 { + if len(obj.route_table_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["route_table_refs"] = &value + } else if !obj.hasReferenceBase("route-table") { + var value json.RawMessage + value, err := json.Marshal(&obj.route_table_refs) + if err != nil { + return nil, err + } + msg["route_table_refs"] = &value + } + } + + + if obj.modified & logical_router_virtual_network_refs != 0 { + if len(obj.virtual_network_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } else if !obj.hasReferenceBase("virtual-network") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_refs) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } + } + + + if obj.modified & logical_router_service_instance_refs != 0 { + if len(obj.service_instance_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } else if !obj.hasReferenceBase("service-instance") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *LogicalRouter) UpdateReferences() error { + + if (obj.modified & logical_router_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + if (obj.modified & logical_router_route_target_refs != 0) && + len(obj.route_target_refs) > 0 && + obj.hasReferenceBase("route-target") { + err := obj.UpdateReference( + obj, "route-target", + obj.route_target_refs, + obj.baseMap["route-target"]) + if err != nil { + return err + } + } + + if (obj.modified & logical_router_route_table_refs != 0) && + len(obj.route_table_refs) > 0 && + obj.hasReferenceBase("route-table") { + err := obj.UpdateReference( + obj, "route-table", + obj.route_table_refs, + obj.baseMap["route-table"]) + if err != nil { + return err + } + } + + if (obj.modified & logical_router_virtual_network_refs != 0) && + len(obj.virtual_network_refs) > 0 && + obj.hasReferenceBase("virtual-network") { + err := obj.UpdateReference( + obj, "virtual-network", + obj.virtual_network_refs, + obj.baseMap["virtual-network"]) + if err != nil { + return err + } + } + + if (obj.modified & logical_router_service_instance_refs != 0) && + len(obj.service_instance_refs) > 0 && + obj.hasReferenceBase("service-instance") { + err := obj.UpdateReference( + obj, "service-instance", + obj.service_instance_refs, + obj.baseMap["service-instance"]) + if err != nil { + return err + } + } + + return nil +} + +func LogicalRouterByName(c contrail.ApiClient, fqn string) (*LogicalRouter, error) { + obj, err := c.FindByName("logical-router", fqn) + if err != nil { + return nil, err + } + return obj.(*LogicalRouter), nil +} + +func LogicalRouterByUuid(c contrail.ApiClient, uuid string) (*LogicalRouter, error) { + obj, err := c.FindByUuid("logical-router", uuid) + if err != nil { + return nil, err + } + return obj.(*LogicalRouter), nil +} diff --git a/types/mac_addresses_type.go b/types/mac_addresses_type.go new file mode 100644 index 0000000..a1203a4 --- /dev/null +++ b/types/mac_addresses_type.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type MacAddressesType struct { + MacAddress []string `json:"mac_address,omitempty"` +} + +func (obj *MacAddressesType) AddMacAddress(value string) { + obj.MacAddress = append(obj.MacAddress, value) +} diff --git a/types/match_condition_type.go b/types/match_condition_type.go new file mode 100644 index 0000000..7955ad8 --- /dev/null +++ b/types/match_condition_type.go @@ -0,0 +1,14 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type MatchConditionType struct { + Protocol string `json:"protocol,omitempty"` + SrcAddress *AddressType `json:"src_address,omitempty"` + SrcPort *PortType `json:"src_port,omitempty"` + DstAddress *AddressType `json:"dst_address,omitempty"` + DstPort *PortType `json:"dst_port,omitempty"` + Ethertype string `json:"ethertype,omitempty"` +} diff --git a/types/mirror_action_type.go b/types/mirror_action_type.go new file mode 100644 index 0000000..5987f3a --- /dev/null +++ b/types/mirror_action_type.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type MirrorActionType struct { + AnalyzerName string `json:"analyzer_name,omitempty"` + Encapsulation string `json:"encapsulation,omitempty"` + AnalyzerIpAddress string `json:"analyzer_ip_address,omitempty"` + RoutingInstance string `json:"routing_instance,omitempty"` + UdpPort int `json:"udp_port,omitempty"` +} diff --git a/types/namespace.go b/types/namespace.go new file mode 100644 index 0000000..3d4a3e7 --- /dev/null +++ b/types/namespace.go @@ -0,0 +1,316 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + namespace_namespace_cidr uint64 = 1 << iota + namespace_id_perms + namespace_perms2 + namespace_display_name + namespace_project_back_refs +) + +type Namespace struct { + contrail.ObjectBase + namespace_cidr SubnetType + id_perms IdPermsType + perms2 PermType2 + display_name string + project_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *Namespace) GetType() string { + return "namespace" +} + +func (obj *Namespace) GetDefaultParent() []string { + name := []string{"default-domain"} + return name +} + +func (obj *Namespace) GetDefaultParentType() string { + return "domain" +} + +func (obj *Namespace) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *Namespace) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *Namespace) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *Namespace) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *Namespace) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *Namespace) GetNamespaceCidr() SubnetType { + return obj.namespace_cidr +} + +func (obj *Namespace) SetNamespaceCidr(value *SubnetType) { + obj.namespace_cidr = *value + obj.modified |= namespace_namespace_cidr +} + +func (obj *Namespace) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *Namespace) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= namespace_id_perms +} + +func (obj *Namespace) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *Namespace) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= namespace_perms2 +} + +func (obj *Namespace) GetDisplayName() string { + return obj.display_name +} + +func (obj *Namespace) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= namespace_display_name +} + +func (obj *Namespace) readProjectBackRefs() error { + if !obj.IsTransient() && + (obj.valid & namespace_project_back_refs == 0) { + err := obj.GetField(obj, "project_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Namespace) GetProjectBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readProjectBackRefs() + if err != nil { + return nil, err + } + return obj.project_back_refs, nil +} + +func (obj *Namespace) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & namespace_namespace_cidr != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.namespace_cidr) + if err != nil { + return nil, err + } + msg["namespace_cidr"] = &value + } + + if obj.modified & namespace_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & namespace_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & namespace_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *Namespace) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "namespace_cidr": + err = json.Unmarshal(value, &obj.namespace_cidr) + if err == nil { + obj.valid |= namespace_namespace_cidr + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= namespace_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= namespace_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= namespace_display_name + } + break + case "project_back_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr SubnetType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= namespace_project_back_refs + obj.project_back_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.project_back_refs = append(obj.project_back_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *Namespace) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & namespace_namespace_cidr != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.namespace_cidr) + if err != nil { + return nil, err + } + msg["namespace_cidr"] = &value + } + + if obj.modified & namespace_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & namespace_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & namespace_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *Namespace) UpdateReferences() error { + + return nil +} + +func NamespaceByName(c contrail.ApiClient, fqn string) (*Namespace, error) { + obj, err := c.FindByName("namespace", fqn) + if err != nil { + return nil, err + } + return obj.(*Namespace), nil +} + +func NamespaceByUuid(c contrail.ApiClient, uuid string) (*Namespace, error) { + obj, err := c.FindByUuid("namespace", uuid) + if err != nil { + return nil, err + } + return obj.(*Namespace), nil +} diff --git a/types/network_ipam.go b/types/network_ipam.go new file mode 100644 index 0000000..55f3571 --- /dev/null +++ b/types/network_ipam.go @@ -0,0 +1,450 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + network_ipam_network_ipam_mgmt uint64 = 1 << iota + network_ipam_id_perms + network_ipam_perms2 + network_ipam_display_name + network_ipam_virtual_DNS_refs + network_ipam_virtual_network_back_refs +) + +type NetworkIpam struct { + contrail.ObjectBase + network_ipam_mgmt IpamType + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_DNS_refs contrail.ReferenceList + virtual_network_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *NetworkIpam) GetType() string { + return "network-ipam" +} + +func (obj *NetworkIpam) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *NetworkIpam) GetDefaultParentType() string { + return "project" +} + +func (obj *NetworkIpam) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *NetworkIpam) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *NetworkIpam) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *NetworkIpam) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *NetworkIpam) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *NetworkIpam) GetNetworkIpamMgmt() IpamType { + return obj.network_ipam_mgmt +} + +func (obj *NetworkIpam) SetNetworkIpamMgmt(value *IpamType) { + obj.network_ipam_mgmt = *value + obj.modified |= network_ipam_network_ipam_mgmt +} + +func (obj *NetworkIpam) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *NetworkIpam) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= network_ipam_id_perms +} + +func (obj *NetworkIpam) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *NetworkIpam) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= network_ipam_perms2 +} + +func (obj *NetworkIpam) GetDisplayName() string { + return obj.display_name +} + +func (obj *NetworkIpam) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= network_ipam_display_name +} + +func (obj *NetworkIpam) readVirtualDnsRefs() error { + if !obj.IsTransient() && + (obj.valid & network_ipam_virtual_DNS_refs == 0) { + err := obj.GetField(obj, "virtual_DNS_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *NetworkIpam) GetVirtualDnsRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualDnsRefs() + if err != nil { + return nil, err + } + return obj.virtual_DNS_refs, nil +} + +func (obj *NetworkIpam) AddVirtualDns( + rhs *VirtualDns) error { + err := obj.readVirtualDnsRefs() + if err != nil { + return err + } + + if obj.modified & network_ipam_virtual_DNS_refs == 0 { + obj.storeReferenceBase("virtual-DNS", obj.virtual_DNS_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_DNS_refs = append(obj.virtual_DNS_refs, ref) + obj.modified |= network_ipam_virtual_DNS_refs + return nil +} + +func (obj *NetworkIpam) DeleteVirtualDns(uuid string) error { + err := obj.readVirtualDnsRefs() + if err != nil { + return err + } + + if obj.modified & network_ipam_virtual_DNS_refs == 0 { + obj.storeReferenceBase("virtual-DNS", obj.virtual_DNS_refs) + } + + for i, ref := range obj.virtual_DNS_refs { + if ref.Uuid == uuid { + obj.virtual_DNS_refs = append( + obj.virtual_DNS_refs[:i], + obj.virtual_DNS_refs[i+1:]...) + break + } + } + obj.modified |= network_ipam_virtual_DNS_refs + return nil +} + +func (obj *NetworkIpam) ClearVirtualDns() { + if (obj.valid & network_ipam_virtual_DNS_refs != 0) && + (obj.modified & network_ipam_virtual_DNS_refs == 0) { + obj.storeReferenceBase("virtual-DNS", obj.virtual_DNS_refs) + } + obj.virtual_DNS_refs = make([]contrail.Reference, 0) + obj.valid |= network_ipam_virtual_DNS_refs + obj.modified |= network_ipam_virtual_DNS_refs +} + +func (obj *NetworkIpam) SetVirtualDnsList( + refList []contrail.ReferencePair) { + obj.ClearVirtualDns() + obj.virtual_DNS_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_DNS_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *NetworkIpam) readVirtualNetworkBackRefs() error { + if !obj.IsTransient() && + (obj.valid & network_ipam_virtual_network_back_refs == 0) { + err := obj.GetField(obj, "virtual_network_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *NetworkIpam) GetVirtualNetworkBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualNetworkBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_network_back_refs, nil +} + +func (obj *NetworkIpam) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & network_ipam_network_ipam_mgmt != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.network_ipam_mgmt) + if err != nil { + return nil, err + } + msg["network_ipam_mgmt"] = &value + } + + if obj.modified & network_ipam_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & network_ipam_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & network_ipam_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.virtual_DNS_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_DNS_refs) + if err != nil { + return nil, err + } + msg["virtual_DNS_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *NetworkIpam) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "network_ipam_mgmt": + err = json.Unmarshal(value, &obj.network_ipam_mgmt) + if err == nil { + obj.valid |= network_ipam_network_ipam_mgmt + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= network_ipam_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= network_ipam_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= network_ipam_display_name + } + break + case "virtual_DNS_refs": + err = json.Unmarshal(value, &obj.virtual_DNS_refs) + if err == nil { + obj.valid |= network_ipam_virtual_DNS_refs + } + break + case "virtual_network_back_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr VnSubnetsType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= network_ipam_virtual_network_back_refs + obj.virtual_network_back_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.virtual_network_back_refs = append(obj.virtual_network_back_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *NetworkIpam) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & network_ipam_network_ipam_mgmt != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.network_ipam_mgmt) + if err != nil { + return nil, err + } + msg["network_ipam_mgmt"] = &value + } + + if obj.modified & network_ipam_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & network_ipam_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & network_ipam_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & network_ipam_virtual_DNS_refs != 0 { + if len(obj.virtual_DNS_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_DNS_refs"] = &value + } else if !obj.hasReferenceBase("virtual-DNS") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_DNS_refs) + if err != nil { + return nil, err + } + msg["virtual_DNS_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *NetworkIpam) UpdateReferences() error { + + if (obj.modified & network_ipam_virtual_DNS_refs != 0) && + len(obj.virtual_DNS_refs) > 0 && + obj.hasReferenceBase("virtual-DNS") { + err := obj.UpdateReference( + obj, "virtual-DNS", + obj.virtual_DNS_refs, + obj.baseMap["virtual-DNS"]) + if err != nil { + return err + } + } + + return nil +} + +func NetworkIpamByName(c contrail.ApiClient, fqn string) (*NetworkIpam, error) { + obj, err := c.FindByName("network-ipam", fqn) + if err != nil { + return nil, err + } + return obj.(*NetworkIpam), nil +} + +func NetworkIpamByUuid(c contrail.ApiClient, uuid string) (*NetworkIpam, error) { + obj, err := c.FindByUuid("network-ipam", uuid) + if err != nil { + return nil, err + } + return obj.(*NetworkIpam), nil +} diff --git a/types/network_policy.go b/types/network_policy.go new file mode 100644 index 0000000..f607174 --- /dev/null +++ b/types/network_policy.go @@ -0,0 +1,316 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + network_policy_network_policy_entries uint64 = 1 << iota + network_policy_id_perms + network_policy_perms2 + network_policy_display_name + network_policy_virtual_network_back_refs +) + +type NetworkPolicy struct { + contrail.ObjectBase + network_policy_entries PolicyEntriesType + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_network_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *NetworkPolicy) GetType() string { + return "network-policy" +} + +func (obj *NetworkPolicy) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *NetworkPolicy) GetDefaultParentType() string { + return "project" +} + +func (obj *NetworkPolicy) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *NetworkPolicy) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *NetworkPolicy) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *NetworkPolicy) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *NetworkPolicy) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *NetworkPolicy) GetNetworkPolicyEntries() PolicyEntriesType { + return obj.network_policy_entries +} + +func (obj *NetworkPolicy) SetNetworkPolicyEntries(value *PolicyEntriesType) { + obj.network_policy_entries = *value + obj.modified |= network_policy_network_policy_entries +} + +func (obj *NetworkPolicy) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *NetworkPolicy) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= network_policy_id_perms +} + +func (obj *NetworkPolicy) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *NetworkPolicy) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= network_policy_perms2 +} + +func (obj *NetworkPolicy) GetDisplayName() string { + return obj.display_name +} + +func (obj *NetworkPolicy) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= network_policy_display_name +} + +func (obj *NetworkPolicy) readVirtualNetworkBackRefs() error { + if !obj.IsTransient() && + (obj.valid & network_policy_virtual_network_back_refs == 0) { + err := obj.GetField(obj, "virtual_network_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *NetworkPolicy) GetVirtualNetworkBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualNetworkBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_network_back_refs, nil +} + +func (obj *NetworkPolicy) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & network_policy_network_policy_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.network_policy_entries) + if err != nil { + return nil, err + } + msg["network_policy_entries"] = &value + } + + if obj.modified & network_policy_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & network_policy_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & network_policy_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *NetworkPolicy) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "network_policy_entries": + err = json.Unmarshal(value, &obj.network_policy_entries) + if err == nil { + obj.valid |= network_policy_network_policy_entries + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= network_policy_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= network_policy_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= network_policy_display_name + } + break + case "virtual_network_back_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr VirtualNetworkPolicyType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= network_policy_virtual_network_back_refs + obj.virtual_network_back_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.virtual_network_back_refs = append(obj.virtual_network_back_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *NetworkPolicy) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & network_policy_network_policy_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.network_policy_entries) + if err != nil { + return nil, err + } + msg["network_policy_entries"] = &value + } + + if obj.modified & network_policy_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & network_policy_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & network_policy_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *NetworkPolicy) UpdateReferences() error { + + return nil +} + +func NetworkPolicyByName(c contrail.ApiClient, fqn string) (*NetworkPolicy, error) { + obj, err := c.FindByName("network-policy", fqn) + if err != nil { + return nil, err + } + return obj.(*NetworkPolicy), nil +} + +func NetworkPolicyByUuid(c contrail.ApiClient, uuid string) (*NetworkPolicy, error) { + obj, err := c.FindByUuid("network-policy", uuid) + if err != nil { + return nil, err + } + return obj.(*NetworkPolicy), nil +} diff --git a/types/perm_type2.go b/types/perm_type2.go new file mode 100644 index 0000000..d3b44bd --- /dev/null +++ b/types/perm_type2.go @@ -0,0 +1,21 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type ShareType struct { + Tenant string `json:"tenant,omitempty"` + TenantAccess int `json:"tenant_access,omitempty"` +} + +type PermType2 struct { + Owner string `json:"owner,omitempty"` + OwnerAccess int `json:"owner_access,omitempty"` + GlobalAccess int `json:"global_access,omitempty"` + Share []ShareType `json:"share,omitempty"` +} + +func (obj *PermType2) AddShare(value *ShareType) { + obj.Share = append(obj.Share, *value) +} diff --git a/types/physical_interface.go b/types/physical_interface.go new file mode 100644 index 0000000..89a8e5c --- /dev/null +++ b/types/physical_interface.go @@ -0,0 +1,499 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + physical_interface_id_perms uint64 = 1 << iota + physical_interface_perms2 + physical_interface_display_name + physical_interface_logical_interfaces + physical_interface_physical_interface_refs + physical_interface_service_appliance_back_refs + physical_interface_virtual_machine_interface_back_refs + physical_interface_physical_interface_back_refs +) + +type PhysicalInterface struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + logical_interfaces contrail.ReferenceList + physical_interface_refs contrail.ReferenceList + service_appliance_back_refs contrail.ReferenceList + virtual_machine_interface_back_refs contrail.ReferenceList + physical_interface_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *PhysicalInterface) GetType() string { + return "physical-interface" +} + +func (obj *PhysicalInterface) GetDefaultParent() []string { + name := []string{"default-global-system-config", "default-physical-router"} + return name +} + +func (obj *PhysicalInterface) GetDefaultParentType() string { + return "physical-router" +} + +func (obj *PhysicalInterface) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *PhysicalInterface) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *PhysicalInterface) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *PhysicalInterface) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *PhysicalInterface) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *PhysicalInterface) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *PhysicalInterface) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= physical_interface_id_perms +} + +func (obj *PhysicalInterface) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *PhysicalInterface) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= physical_interface_perms2 +} + +func (obj *PhysicalInterface) GetDisplayName() string { + return obj.display_name +} + +func (obj *PhysicalInterface) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= physical_interface_display_name +} + +func (obj *PhysicalInterface) readLogicalInterfaces() error { + if !obj.IsTransient() && + (obj.valid & physical_interface_logical_interfaces == 0) { + err := obj.GetField(obj, "logical_interfaces") + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalInterface) GetLogicalInterfaces() ( + contrail.ReferenceList, error) { + err := obj.readLogicalInterfaces() + if err != nil { + return nil, err + } + return obj.logical_interfaces, nil +} + +func (obj *PhysicalInterface) readPhysicalInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & physical_interface_physical_interface_refs == 0) { + err := obj.GetField(obj, "physical_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalInterface) GetPhysicalInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readPhysicalInterfaceRefs() + if err != nil { + return nil, err + } + return obj.physical_interface_refs, nil +} + +func (obj *PhysicalInterface) AddPhysicalInterface( + rhs *PhysicalInterface) error { + err := obj.readPhysicalInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & physical_interface_physical_interface_refs == 0 { + obj.storeReferenceBase("physical-interface", obj.physical_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.physical_interface_refs = append(obj.physical_interface_refs, ref) + obj.modified |= physical_interface_physical_interface_refs + return nil +} + +func (obj *PhysicalInterface) DeletePhysicalInterface(uuid string) error { + err := obj.readPhysicalInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & physical_interface_physical_interface_refs == 0 { + obj.storeReferenceBase("physical-interface", obj.physical_interface_refs) + } + + for i, ref := range obj.physical_interface_refs { + if ref.Uuid == uuid { + obj.physical_interface_refs = append( + obj.physical_interface_refs[:i], + obj.physical_interface_refs[i+1:]...) + break + } + } + obj.modified |= physical_interface_physical_interface_refs + return nil +} + +func (obj *PhysicalInterface) ClearPhysicalInterface() { + if (obj.valid & physical_interface_physical_interface_refs != 0) && + (obj.modified & physical_interface_physical_interface_refs == 0) { + obj.storeReferenceBase("physical-interface", obj.physical_interface_refs) + } + obj.physical_interface_refs = make([]contrail.Reference, 0) + obj.valid |= physical_interface_physical_interface_refs + obj.modified |= physical_interface_physical_interface_refs +} + +func (obj *PhysicalInterface) SetPhysicalInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearPhysicalInterface() + obj.physical_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.physical_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *PhysicalInterface) readServiceApplianceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & physical_interface_service_appliance_back_refs == 0) { + err := obj.GetField(obj, "service_appliance_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalInterface) GetServiceApplianceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceApplianceBackRefs() + if err != nil { + return nil, err + } + return obj.service_appliance_back_refs, nil +} + +func (obj *PhysicalInterface) readVirtualMachineInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & physical_interface_virtual_machine_interface_back_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalInterface) GetVirtualMachineInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_back_refs, nil +} + +func (obj *PhysicalInterface) readPhysicalInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & physical_interface_physical_interface_back_refs == 0) { + err := obj.GetField(obj, "physical_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalInterface) GetPhysicalInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readPhysicalInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.physical_interface_back_refs, nil +} + +func (obj *PhysicalInterface) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & physical_interface_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & physical_interface_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & physical_interface_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.physical_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_interface_refs) + if err != nil { + return nil, err + } + msg["physical_interface_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *PhysicalInterface) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= physical_interface_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= physical_interface_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= physical_interface_display_name + } + break + case "logical_interfaces": + err = json.Unmarshal(value, &obj.logical_interfaces) + if err == nil { + obj.valid |= physical_interface_logical_interfaces + } + break + case "physical_interface_refs": + err = json.Unmarshal(value, &obj.physical_interface_refs) + if err == nil { + obj.valid |= physical_interface_physical_interface_refs + } + break + case "virtual_machine_interface_back_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_back_refs) + if err == nil { + obj.valid |= physical_interface_virtual_machine_interface_back_refs + } + break + case "physical_interface_back_refs": + err = json.Unmarshal(value, &obj.physical_interface_back_refs) + if err == nil { + obj.valid |= physical_interface_physical_interface_back_refs + } + break + case "service_appliance_back_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr ServiceApplianceInterfaceType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= physical_interface_service_appliance_back_refs + obj.service_appliance_back_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.service_appliance_back_refs = append(obj.service_appliance_back_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalInterface) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & physical_interface_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & physical_interface_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & physical_interface_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & physical_interface_physical_interface_refs != 0 { + if len(obj.physical_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["physical_interface_refs"] = &value + } else if !obj.hasReferenceBase("physical-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_interface_refs) + if err != nil { + return nil, err + } + msg["physical_interface_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *PhysicalInterface) UpdateReferences() error { + + if (obj.modified & physical_interface_physical_interface_refs != 0) && + len(obj.physical_interface_refs) > 0 && + obj.hasReferenceBase("physical-interface") { + err := obj.UpdateReference( + obj, "physical-interface", + obj.physical_interface_refs, + obj.baseMap["physical-interface"]) + if err != nil { + return err + } + } + + return nil +} + +func PhysicalInterfaceByName(c contrail.ApiClient, fqn string) (*PhysicalInterface, error) { + obj, err := c.FindByName("physical-interface", fqn) + if err != nil { + return nil, err + } + return obj.(*PhysicalInterface), nil +} + +func PhysicalInterfaceByUuid(c contrail.ApiClient, uuid string) (*PhysicalInterface, error) { + obj, err := c.FindByUuid("physical-interface", uuid) + if err != nil { + return nil, err + } + return obj.(*PhysicalInterface), nil +} diff --git a/types/physical_router.go b/types/physical_router.go new file mode 100644 index 0000000..5cbd826 --- /dev/null +++ b/types/physical_router.go @@ -0,0 +1,1000 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + physical_router_physical_router_management_ip uint64 = 1 << iota + physical_router_physical_router_dataplane_ip + physical_router_physical_router_vendor_name + physical_router_physical_router_product_name + physical_router_physical_router_vnc_managed + physical_router_physical_router_user_credentials + physical_router_physical_router_snmp_credentials + physical_router_physical_router_junos_service_ports + physical_router_id_perms + physical_router_perms2 + physical_router_display_name + physical_router_virtual_router_refs + physical_router_bgp_router_refs + physical_router_virtual_network_refs + physical_router_physical_interfaces + physical_router_logical_interfaces + physical_router_instance_ip_back_refs +) + +type PhysicalRouter struct { + contrail.ObjectBase + physical_router_management_ip string + physical_router_dataplane_ip string + physical_router_vendor_name string + physical_router_product_name string + physical_router_vnc_managed bool + physical_router_user_credentials UserCredentials + physical_router_snmp_credentials SNMPCredentials + physical_router_junos_service_ports JunosServicePorts + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_router_refs contrail.ReferenceList + bgp_router_refs contrail.ReferenceList + virtual_network_refs contrail.ReferenceList + physical_interfaces contrail.ReferenceList + logical_interfaces contrail.ReferenceList + instance_ip_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *PhysicalRouter) GetType() string { + return "physical-router" +} + +func (obj *PhysicalRouter) GetDefaultParent() []string { + name := []string{"default-global-system-config"} + return name +} + +func (obj *PhysicalRouter) GetDefaultParentType() string { + return "global-system-config" +} + +func (obj *PhysicalRouter) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *PhysicalRouter) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *PhysicalRouter) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *PhysicalRouter) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *PhysicalRouter) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *PhysicalRouter) GetPhysicalRouterManagementIp() string { + return obj.physical_router_management_ip +} + +func (obj *PhysicalRouter) SetPhysicalRouterManagementIp(value string) { + obj.physical_router_management_ip = value + obj.modified |= physical_router_physical_router_management_ip +} + +func (obj *PhysicalRouter) GetPhysicalRouterDataplaneIp() string { + return obj.physical_router_dataplane_ip +} + +func (obj *PhysicalRouter) SetPhysicalRouterDataplaneIp(value string) { + obj.physical_router_dataplane_ip = value + obj.modified |= physical_router_physical_router_dataplane_ip +} + +func (obj *PhysicalRouter) GetPhysicalRouterVendorName() string { + return obj.physical_router_vendor_name +} + +func (obj *PhysicalRouter) SetPhysicalRouterVendorName(value string) { + obj.physical_router_vendor_name = value + obj.modified |= physical_router_physical_router_vendor_name +} + +func (obj *PhysicalRouter) GetPhysicalRouterProductName() string { + return obj.physical_router_product_name +} + +func (obj *PhysicalRouter) SetPhysicalRouterProductName(value string) { + obj.physical_router_product_name = value + obj.modified |= physical_router_physical_router_product_name +} + +func (obj *PhysicalRouter) GetPhysicalRouterVncManaged() bool { + return obj.physical_router_vnc_managed +} + +func (obj *PhysicalRouter) SetPhysicalRouterVncManaged(value bool) { + obj.physical_router_vnc_managed = value + obj.modified |= physical_router_physical_router_vnc_managed +} + +func (obj *PhysicalRouter) GetPhysicalRouterUserCredentials() UserCredentials { + return obj.physical_router_user_credentials +} + +func (obj *PhysicalRouter) SetPhysicalRouterUserCredentials(value *UserCredentials) { + obj.physical_router_user_credentials = *value + obj.modified |= physical_router_physical_router_user_credentials +} + +func (obj *PhysicalRouter) GetPhysicalRouterSnmpCredentials() SNMPCredentials { + return obj.physical_router_snmp_credentials +} + +func (obj *PhysicalRouter) SetPhysicalRouterSnmpCredentials(value *SNMPCredentials) { + obj.physical_router_snmp_credentials = *value + obj.modified |= physical_router_physical_router_snmp_credentials +} + +func (obj *PhysicalRouter) GetPhysicalRouterJunosServicePorts() JunosServicePorts { + return obj.physical_router_junos_service_ports +} + +func (obj *PhysicalRouter) SetPhysicalRouterJunosServicePorts(value *JunosServicePorts) { + obj.physical_router_junos_service_ports = *value + obj.modified |= physical_router_physical_router_junos_service_ports +} + +func (obj *PhysicalRouter) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *PhysicalRouter) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= physical_router_id_perms +} + +func (obj *PhysicalRouter) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *PhysicalRouter) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= physical_router_perms2 +} + +func (obj *PhysicalRouter) GetDisplayName() string { + return obj.display_name +} + +func (obj *PhysicalRouter) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= physical_router_display_name +} + +func (obj *PhysicalRouter) readPhysicalInterfaces() error { + if !obj.IsTransient() && + (obj.valid & physical_router_physical_interfaces == 0) { + err := obj.GetField(obj, "physical_interfaces") + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalRouter) GetPhysicalInterfaces() ( + contrail.ReferenceList, error) { + err := obj.readPhysicalInterfaces() + if err != nil { + return nil, err + } + return obj.physical_interfaces, nil +} + +func (obj *PhysicalRouter) readLogicalInterfaces() error { + if !obj.IsTransient() && + (obj.valid & physical_router_logical_interfaces == 0) { + err := obj.GetField(obj, "logical_interfaces") + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalRouter) GetLogicalInterfaces() ( + contrail.ReferenceList, error) { + err := obj.readLogicalInterfaces() + if err != nil { + return nil, err + } + return obj.logical_interfaces, nil +} + +func (obj *PhysicalRouter) readVirtualRouterRefs() error { + if !obj.IsTransient() && + (obj.valid & physical_router_virtual_router_refs == 0) { + err := obj.GetField(obj, "virtual_router_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalRouter) GetVirtualRouterRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualRouterRefs() + if err != nil { + return nil, err + } + return obj.virtual_router_refs, nil +} + +func (obj *PhysicalRouter) AddVirtualRouter( + rhs *VirtualRouter) error { + err := obj.readVirtualRouterRefs() + if err != nil { + return err + } + + if obj.modified & physical_router_virtual_router_refs == 0 { + obj.storeReferenceBase("virtual-router", obj.virtual_router_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_router_refs = append(obj.virtual_router_refs, ref) + obj.modified |= physical_router_virtual_router_refs + return nil +} + +func (obj *PhysicalRouter) DeleteVirtualRouter(uuid string) error { + err := obj.readVirtualRouterRefs() + if err != nil { + return err + } + + if obj.modified & physical_router_virtual_router_refs == 0 { + obj.storeReferenceBase("virtual-router", obj.virtual_router_refs) + } + + for i, ref := range obj.virtual_router_refs { + if ref.Uuid == uuid { + obj.virtual_router_refs = append( + obj.virtual_router_refs[:i], + obj.virtual_router_refs[i+1:]...) + break + } + } + obj.modified |= physical_router_virtual_router_refs + return nil +} + +func (obj *PhysicalRouter) ClearVirtualRouter() { + if (obj.valid & physical_router_virtual_router_refs != 0) && + (obj.modified & physical_router_virtual_router_refs == 0) { + obj.storeReferenceBase("virtual-router", obj.virtual_router_refs) + } + obj.virtual_router_refs = make([]contrail.Reference, 0) + obj.valid |= physical_router_virtual_router_refs + obj.modified |= physical_router_virtual_router_refs +} + +func (obj *PhysicalRouter) SetVirtualRouterList( + refList []contrail.ReferencePair) { + obj.ClearVirtualRouter() + obj.virtual_router_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_router_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *PhysicalRouter) readBgpRouterRefs() error { + if !obj.IsTransient() && + (obj.valid & physical_router_bgp_router_refs == 0) { + err := obj.GetField(obj, "bgp_router_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalRouter) GetBgpRouterRefs() ( + contrail.ReferenceList, error) { + err := obj.readBgpRouterRefs() + if err != nil { + return nil, err + } + return obj.bgp_router_refs, nil +} + +func (obj *PhysicalRouter) AddBgpRouter( + rhs *BgpRouter) error { + err := obj.readBgpRouterRefs() + if err != nil { + return err + } + + if obj.modified & physical_router_bgp_router_refs == 0 { + obj.storeReferenceBase("bgp-router", obj.bgp_router_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.bgp_router_refs = append(obj.bgp_router_refs, ref) + obj.modified |= physical_router_bgp_router_refs + return nil +} + +func (obj *PhysicalRouter) DeleteBgpRouter(uuid string) error { + err := obj.readBgpRouterRefs() + if err != nil { + return err + } + + if obj.modified & physical_router_bgp_router_refs == 0 { + obj.storeReferenceBase("bgp-router", obj.bgp_router_refs) + } + + for i, ref := range obj.bgp_router_refs { + if ref.Uuid == uuid { + obj.bgp_router_refs = append( + obj.bgp_router_refs[:i], + obj.bgp_router_refs[i+1:]...) + break + } + } + obj.modified |= physical_router_bgp_router_refs + return nil +} + +func (obj *PhysicalRouter) ClearBgpRouter() { + if (obj.valid & physical_router_bgp_router_refs != 0) && + (obj.modified & physical_router_bgp_router_refs == 0) { + obj.storeReferenceBase("bgp-router", obj.bgp_router_refs) + } + obj.bgp_router_refs = make([]contrail.Reference, 0) + obj.valid |= physical_router_bgp_router_refs + obj.modified |= physical_router_bgp_router_refs +} + +func (obj *PhysicalRouter) SetBgpRouterList( + refList []contrail.ReferencePair) { + obj.ClearBgpRouter() + obj.bgp_router_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.bgp_router_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *PhysicalRouter) readVirtualNetworkRefs() error { + if !obj.IsTransient() && + (obj.valid & physical_router_virtual_network_refs == 0) { + err := obj.GetField(obj, "virtual_network_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalRouter) GetVirtualNetworkRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualNetworkRefs() + if err != nil { + return nil, err + } + return obj.virtual_network_refs, nil +} + +func (obj *PhysicalRouter) AddVirtualNetwork( + rhs *VirtualNetwork) error { + err := obj.readVirtualNetworkRefs() + if err != nil { + return err + } + + if obj.modified & physical_router_virtual_network_refs == 0 { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_network_refs = append(obj.virtual_network_refs, ref) + obj.modified |= physical_router_virtual_network_refs + return nil +} + +func (obj *PhysicalRouter) DeleteVirtualNetwork(uuid string) error { + err := obj.readVirtualNetworkRefs() + if err != nil { + return err + } + + if obj.modified & physical_router_virtual_network_refs == 0 { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + + for i, ref := range obj.virtual_network_refs { + if ref.Uuid == uuid { + obj.virtual_network_refs = append( + obj.virtual_network_refs[:i], + obj.virtual_network_refs[i+1:]...) + break + } + } + obj.modified |= physical_router_virtual_network_refs + return nil +} + +func (obj *PhysicalRouter) ClearVirtualNetwork() { + if (obj.valid & physical_router_virtual_network_refs != 0) && + (obj.modified & physical_router_virtual_network_refs == 0) { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + obj.virtual_network_refs = make([]contrail.Reference, 0) + obj.valid |= physical_router_virtual_network_refs + obj.modified |= physical_router_virtual_network_refs +} + +func (obj *PhysicalRouter) SetVirtualNetworkList( + refList []contrail.ReferencePair) { + obj.ClearVirtualNetwork() + obj.virtual_network_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_network_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *PhysicalRouter) readInstanceIpBackRefs() error { + if !obj.IsTransient() && + (obj.valid & physical_router_instance_ip_back_refs == 0) { + err := obj.GetField(obj, "instance_ip_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalRouter) GetInstanceIpBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readInstanceIpBackRefs() + if err != nil { + return nil, err + } + return obj.instance_ip_back_refs, nil +} + +func (obj *PhysicalRouter) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & physical_router_physical_router_management_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_management_ip) + if err != nil { + return nil, err + } + msg["physical_router_management_ip"] = &value + } + + if obj.modified & physical_router_physical_router_dataplane_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_dataplane_ip) + if err != nil { + return nil, err + } + msg["physical_router_dataplane_ip"] = &value + } + + if obj.modified & physical_router_physical_router_vendor_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_vendor_name) + if err != nil { + return nil, err + } + msg["physical_router_vendor_name"] = &value + } + + if obj.modified & physical_router_physical_router_product_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_product_name) + if err != nil { + return nil, err + } + msg["physical_router_product_name"] = &value + } + + if obj.modified & physical_router_physical_router_vnc_managed != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_vnc_managed) + if err != nil { + return nil, err + } + msg["physical_router_vnc_managed"] = &value + } + + if obj.modified & physical_router_physical_router_user_credentials != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_user_credentials) + if err != nil { + return nil, err + } + msg["physical_router_user_credentials"] = &value + } + + if obj.modified & physical_router_physical_router_snmp_credentials != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_snmp_credentials) + if err != nil { + return nil, err + } + msg["physical_router_snmp_credentials"] = &value + } + + if obj.modified & physical_router_physical_router_junos_service_ports != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_junos_service_ports) + if err != nil { + return nil, err + } + msg["physical_router_junos_service_ports"] = &value + } + + if obj.modified & physical_router_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & physical_router_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & physical_router_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.virtual_router_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_router_refs) + if err != nil { + return nil, err + } + msg["virtual_router_refs"] = &value + } + + if len(obj.bgp_router_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.bgp_router_refs) + if err != nil { + return nil, err + } + msg["bgp_router_refs"] = &value + } + + if len(obj.virtual_network_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_refs) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *PhysicalRouter) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "physical_router_management_ip": + err = json.Unmarshal(value, &obj.physical_router_management_ip) + if err == nil { + obj.valid |= physical_router_physical_router_management_ip + } + break + case "physical_router_dataplane_ip": + err = json.Unmarshal(value, &obj.physical_router_dataplane_ip) + if err == nil { + obj.valid |= physical_router_physical_router_dataplane_ip + } + break + case "physical_router_vendor_name": + err = json.Unmarshal(value, &obj.physical_router_vendor_name) + if err == nil { + obj.valid |= physical_router_physical_router_vendor_name + } + break + case "physical_router_product_name": + err = json.Unmarshal(value, &obj.physical_router_product_name) + if err == nil { + obj.valid |= physical_router_physical_router_product_name + } + break + case "physical_router_vnc_managed": + err = json.Unmarshal(value, &obj.physical_router_vnc_managed) + if err == nil { + obj.valid |= physical_router_physical_router_vnc_managed + } + break + case "physical_router_user_credentials": + err = json.Unmarshal(value, &obj.physical_router_user_credentials) + if err == nil { + obj.valid |= physical_router_physical_router_user_credentials + } + break + case "physical_router_snmp_credentials": + err = json.Unmarshal(value, &obj.physical_router_snmp_credentials) + if err == nil { + obj.valid |= physical_router_physical_router_snmp_credentials + } + break + case "physical_router_junos_service_ports": + err = json.Unmarshal(value, &obj.physical_router_junos_service_ports) + if err == nil { + obj.valid |= physical_router_physical_router_junos_service_ports + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= physical_router_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= physical_router_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= physical_router_display_name + } + break + case "virtual_router_refs": + err = json.Unmarshal(value, &obj.virtual_router_refs) + if err == nil { + obj.valid |= physical_router_virtual_router_refs + } + break + case "bgp_router_refs": + err = json.Unmarshal(value, &obj.bgp_router_refs) + if err == nil { + obj.valid |= physical_router_bgp_router_refs + } + break + case "virtual_network_refs": + err = json.Unmarshal(value, &obj.virtual_network_refs) + if err == nil { + obj.valid |= physical_router_virtual_network_refs + } + break + case "physical_interfaces": + err = json.Unmarshal(value, &obj.physical_interfaces) + if err == nil { + obj.valid |= physical_router_physical_interfaces + } + break + case "logical_interfaces": + err = json.Unmarshal(value, &obj.logical_interfaces) + if err == nil { + obj.valid |= physical_router_logical_interfaces + } + break + case "instance_ip_back_refs": + err = json.Unmarshal(value, &obj.instance_ip_back_refs) + if err == nil { + obj.valid |= physical_router_instance_ip_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *PhysicalRouter) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & physical_router_physical_router_management_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_management_ip) + if err != nil { + return nil, err + } + msg["physical_router_management_ip"] = &value + } + + if obj.modified & physical_router_physical_router_dataplane_ip != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_dataplane_ip) + if err != nil { + return nil, err + } + msg["physical_router_dataplane_ip"] = &value + } + + if obj.modified & physical_router_physical_router_vendor_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_vendor_name) + if err != nil { + return nil, err + } + msg["physical_router_vendor_name"] = &value + } + + if obj.modified & physical_router_physical_router_product_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_product_name) + if err != nil { + return nil, err + } + msg["physical_router_product_name"] = &value + } + + if obj.modified & physical_router_physical_router_vnc_managed != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_vnc_managed) + if err != nil { + return nil, err + } + msg["physical_router_vnc_managed"] = &value + } + + if obj.modified & physical_router_physical_router_user_credentials != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_user_credentials) + if err != nil { + return nil, err + } + msg["physical_router_user_credentials"] = &value + } + + if obj.modified & physical_router_physical_router_snmp_credentials != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_snmp_credentials) + if err != nil { + return nil, err + } + msg["physical_router_snmp_credentials"] = &value + } + + if obj.modified & physical_router_physical_router_junos_service_ports != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_router_junos_service_ports) + if err != nil { + return nil, err + } + msg["physical_router_junos_service_ports"] = &value + } + + if obj.modified & physical_router_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & physical_router_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & physical_router_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & physical_router_virtual_router_refs != 0 { + if len(obj.virtual_router_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_router_refs"] = &value + } else if !obj.hasReferenceBase("virtual-router") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_router_refs) + if err != nil { + return nil, err + } + msg["virtual_router_refs"] = &value + } + } + + + if obj.modified & physical_router_bgp_router_refs != 0 { + if len(obj.bgp_router_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["bgp_router_refs"] = &value + } else if !obj.hasReferenceBase("bgp-router") { + var value json.RawMessage + value, err := json.Marshal(&obj.bgp_router_refs) + if err != nil { + return nil, err + } + msg["bgp_router_refs"] = &value + } + } + + + if obj.modified & physical_router_virtual_network_refs != 0 { + if len(obj.virtual_network_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } else if !obj.hasReferenceBase("virtual-network") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_refs) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *PhysicalRouter) UpdateReferences() error { + + if (obj.modified & physical_router_virtual_router_refs != 0) && + len(obj.virtual_router_refs) > 0 && + obj.hasReferenceBase("virtual-router") { + err := obj.UpdateReference( + obj, "virtual-router", + obj.virtual_router_refs, + obj.baseMap["virtual-router"]) + if err != nil { + return err + } + } + + if (obj.modified & physical_router_bgp_router_refs != 0) && + len(obj.bgp_router_refs) > 0 && + obj.hasReferenceBase("bgp-router") { + err := obj.UpdateReference( + obj, "bgp-router", + obj.bgp_router_refs, + obj.baseMap["bgp-router"]) + if err != nil { + return err + } + } + + if (obj.modified & physical_router_virtual_network_refs != 0) && + len(obj.virtual_network_refs) > 0 && + obj.hasReferenceBase("virtual-network") { + err := obj.UpdateReference( + obj, "virtual-network", + obj.virtual_network_refs, + obj.baseMap["virtual-network"]) + if err != nil { + return err + } + } + + return nil +} + +func PhysicalRouterByName(c contrail.ApiClient, fqn string) (*PhysicalRouter, error) { + obj, err := c.FindByName("physical-router", fqn) + if err != nil { + return nil, err + } + return obj.(*PhysicalRouter), nil +} + +func PhysicalRouterByUuid(c contrail.ApiClient, uuid string) (*PhysicalRouter, error) { + obj, err := c.FindByUuid("physical-router", uuid) + if err != nil { + return nil, err + } + return obj.(*PhysicalRouter), nil +} diff --git a/types/plugin_properties.go b/types/plugin_properties.go new file mode 100644 index 0000000..2b17005 --- /dev/null +++ b/types/plugin_properties.go @@ -0,0 +1,18 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type PluginProperty struct { + Property string `json:"property,omitempty"` + Value string `json:"value,omitempty"` +} + +type PluginProperties struct { + PluginProperty []PluginProperty `json:"plugin_property,omitempty"` +} + +func (obj *PluginProperties) AddPluginProperty(value *PluginProperty) { + obj.PluginProperty = append(obj.PluginProperty, *value) +} diff --git a/types/policy_based_forwarding_rule_type.go b/types/policy_based_forwarding_rule_type.go new file mode 100644 index 0000000..6769357 --- /dev/null +++ b/types/policy_based_forwarding_rule_type.go @@ -0,0 +1,16 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type PolicyBasedForwardingRuleType struct { + Direction string `json:"direction,omitempty"` + VlanTag int `json:"vlan_tag,omitempty"` + SrcMac string `json:"src_mac,omitempty"` + DstMac string `json:"dst_mac,omitempty"` + MplsLabel int `json:"mpls_label,omitempty"` + ServiceChainAddress string `json:"service_chain_address,omitempty"` + Ipv6ServiceChainAddress string `json:"ipv6_service_chain_address,omitempty"` + Protocol string `json:"protocol,omitempty"` +} diff --git a/types/policy_entries_type.go b/types/policy_entries_type.go new file mode 100644 index 0000000..dd40dc7 --- /dev/null +++ b/types/policy_entries_type.go @@ -0,0 +1,47 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type PolicyRuleType struct { + RuleSequence *SequenceType `json:"rule_sequence,omitempty"` + RuleUuid string `json:"rule_uuid,omitempty"` + Direction string `json:"direction,omitempty"` + Protocol string `json:"protocol,omitempty"` + SrcAddresses []AddressType `json:"src_addresses,omitempty"` + SrcPorts []PortType `json:"src_ports,omitempty"` + Application []string `json:"application,omitempty"` + DstAddresses []AddressType `json:"dst_addresses,omitempty"` + DstPorts []PortType `json:"dst_ports,omitempty"` + ActionList *ActionListType `json:"action_list,omitempty"` + Ethertype string `json:"ethertype,omitempty"` +} + +func (obj *PolicyRuleType) AddSrcAddresses(value *AddressType) { + obj.SrcAddresses = append(obj.SrcAddresses, *value) +} + +func (obj *PolicyRuleType) AddSrcPorts(value *PortType) { + obj.SrcPorts = append(obj.SrcPorts, *value) +} + +func (obj *PolicyRuleType) AddApplication(value string) { + obj.Application = append(obj.Application, value) +} + +func (obj *PolicyRuleType) AddDstAddresses(value *AddressType) { + obj.DstAddresses = append(obj.DstAddresses, *value) +} + +func (obj *PolicyRuleType) AddDstPorts(value *PortType) { + obj.DstPorts = append(obj.DstPorts, *value) +} + +type PolicyEntriesType struct { + PolicyRule []PolicyRuleType `json:"policy_rule,omitempty"` +} + +func (obj *PolicyEntriesType) AddPolicyRule(value *PolicyRuleType) { + obj.PolicyRule = append(obj.PolicyRule, *value) +} diff --git a/types/port_tuple.go b/types/port_tuple.go new file mode 100644 index 0000000..83e7db8 --- /dev/null +++ b/types/port_tuple.go @@ -0,0 +1,262 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + port_tuple_id_perms uint64 = 1 << iota + port_tuple_perms2 + port_tuple_display_name + port_tuple_virtual_machine_interface_back_refs +) + +type PortTuple struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_machine_interface_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *PortTuple) GetType() string { + return "port-tuple" +} + +func (obj *PortTuple) GetDefaultParent() []string { + name := []string{"default-domain", "default-project", "default-service-instance"} + return name +} + +func (obj *PortTuple) GetDefaultParentType() string { + return "service-instance" +} + +func (obj *PortTuple) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *PortTuple) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *PortTuple) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *PortTuple) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *PortTuple) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *PortTuple) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *PortTuple) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= port_tuple_id_perms +} + +func (obj *PortTuple) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *PortTuple) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= port_tuple_perms2 +} + +func (obj *PortTuple) GetDisplayName() string { + return obj.display_name +} + +func (obj *PortTuple) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= port_tuple_display_name +} + +func (obj *PortTuple) readVirtualMachineInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & port_tuple_virtual_machine_interface_back_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *PortTuple) GetVirtualMachineInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_back_refs, nil +} + +func (obj *PortTuple) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & port_tuple_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & port_tuple_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & port_tuple_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *PortTuple) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= port_tuple_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= port_tuple_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= port_tuple_display_name + } + break + case "virtual_machine_interface_back_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_back_refs) + if err == nil { + obj.valid |= port_tuple_virtual_machine_interface_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *PortTuple) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & port_tuple_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & port_tuple_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & port_tuple_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *PortTuple) UpdateReferences() error { + + return nil +} + +func PortTupleByName(c contrail.ApiClient, fqn string) (*PortTuple, error) { + obj, err := c.FindByName("port-tuple", fqn) + if err != nil { + return nil, err + } + return obj.(*PortTuple), nil +} + +func PortTupleByUuid(c contrail.ApiClient, uuid string) (*PortTuple, error) { + obj, err := c.FindByUuid("port-tuple", uuid) + if err != nil { + return nil, err + } + return obj.(*PortTuple), nil +} diff --git a/types/port_type.go b/types/port_type.go new file mode 100644 index 0000000..c991925 --- /dev/null +++ b/types/port_type.go @@ -0,0 +1,10 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type PortType struct { + StartPort int `json:"start_port,omitempty"` + EndPort int `json:"end_port,omitempty"` +} diff --git a/types/project.go b/types/project.go new file mode 100644 index 0000000..48d552f --- /dev/null +++ b/types/project.go @@ -0,0 +1,1369 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + project_quota uint64 = 1 << iota + project_alarm_enable + project_id_perms + project_perms2 + project_display_name + project_namespace_refs + project_security_groups + project_virtual_networks + project_qos_configs + project_network_ipams + project_network_policys + project_virtual_machine_interfaces + project_floating_ip_pool_refs + project_alias_ip_pool_refs + project_bgp_as_a_services + project_routing_policys + project_route_aggregates + project_service_instances + project_service_health_checks + project_route_tables + project_interface_route_tables + project_logical_routers + project_api_access_lists + project_loadbalancer_pools + project_loadbalancer_healthmonitors + project_virtual_ips + project_loadbalancer_listeners + project_loadbalancers + project_alarms + project_floating_ip_back_refs + project_alias_ip_back_refs +) + +type Project struct { + contrail.ObjectBase + quota QuotaType + alarm_enable bool + id_perms IdPermsType + perms2 PermType2 + display_name string + namespace_refs contrail.ReferenceList + security_groups contrail.ReferenceList + virtual_networks contrail.ReferenceList + qos_configs contrail.ReferenceList + network_ipams contrail.ReferenceList + network_policys contrail.ReferenceList + virtual_machine_interfaces contrail.ReferenceList + floating_ip_pool_refs contrail.ReferenceList + alias_ip_pool_refs contrail.ReferenceList + bgp_as_a_services contrail.ReferenceList + routing_policys contrail.ReferenceList + route_aggregates contrail.ReferenceList + service_instances contrail.ReferenceList + service_health_checks contrail.ReferenceList + route_tables contrail.ReferenceList + interface_route_tables contrail.ReferenceList + logical_routers contrail.ReferenceList + api_access_lists contrail.ReferenceList + loadbalancer_pools contrail.ReferenceList + loadbalancer_healthmonitors contrail.ReferenceList + virtual_ips contrail.ReferenceList + loadbalancer_listeners contrail.ReferenceList + loadbalancers contrail.ReferenceList + alarms contrail.ReferenceList + floating_ip_back_refs contrail.ReferenceList + alias_ip_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *Project) GetType() string { + return "project" +} + +func (obj *Project) GetDefaultParent() []string { + name := []string{"default-domain"} + return name +} + +func (obj *Project) GetDefaultParentType() string { + return "domain" +} + +func (obj *Project) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *Project) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *Project) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *Project) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *Project) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *Project) GetQuota() QuotaType { + return obj.quota +} + +func (obj *Project) SetQuota(value *QuotaType) { + obj.quota = *value + obj.modified |= project_quota +} + +func (obj *Project) GetAlarmEnable() bool { + return obj.alarm_enable +} + +func (obj *Project) SetAlarmEnable(value bool) { + obj.alarm_enable = value + obj.modified |= project_alarm_enable +} + +func (obj *Project) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *Project) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= project_id_perms +} + +func (obj *Project) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *Project) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= project_perms2 +} + +func (obj *Project) GetDisplayName() string { + return obj.display_name +} + +func (obj *Project) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= project_display_name +} + +func (obj *Project) readSecurityGroups() error { + if !obj.IsTransient() && + (obj.valid & project_security_groups == 0) { + err := obj.GetField(obj, "security_groups") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetSecurityGroups() ( + contrail.ReferenceList, error) { + err := obj.readSecurityGroups() + if err != nil { + return nil, err + } + return obj.security_groups, nil +} + +func (obj *Project) readVirtualNetworks() error { + if !obj.IsTransient() && + (obj.valid & project_virtual_networks == 0) { + err := obj.GetField(obj, "virtual_networks") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetVirtualNetworks() ( + contrail.ReferenceList, error) { + err := obj.readVirtualNetworks() + if err != nil { + return nil, err + } + return obj.virtual_networks, nil +} + +func (obj *Project) readQosConfigs() error { + if !obj.IsTransient() && + (obj.valid & project_qos_configs == 0) { + err := obj.GetField(obj, "qos_configs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetQosConfigs() ( + contrail.ReferenceList, error) { + err := obj.readQosConfigs() + if err != nil { + return nil, err + } + return obj.qos_configs, nil +} + +func (obj *Project) readNetworkIpams() error { + if !obj.IsTransient() && + (obj.valid & project_network_ipams == 0) { + err := obj.GetField(obj, "network_ipams") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetNetworkIpams() ( + contrail.ReferenceList, error) { + err := obj.readNetworkIpams() + if err != nil { + return nil, err + } + return obj.network_ipams, nil +} + +func (obj *Project) readNetworkPolicys() error { + if !obj.IsTransient() && + (obj.valid & project_network_policys == 0) { + err := obj.GetField(obj, "network_policys") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetNetworkPolicys() ( + contrail.ReferenceList, error) { + err := obj.readNetworkPolicys() + if err != nil { + return nil, err + } + return obj.network_policys, nil +} + +func (obj *Project) readVirtualMachineInterfaces() error { + if !obj.IsTransient() && + (obj.valid & project_virtual_machine_interfaces == 0) { + err := obj.GetField(obj, "virtual_machine_interfaces") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetVirtualMachineInterfaces() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaces() + if err != nil { + return nil, err + } + return obj.virtual_machine_interfaces, nil +} + +func (obj *Project) readBgpAsAServices() error { + if !obj.IsTransient() && + (obj.valid & project_bgp_as_a_services == 0) { + err := obj.GetField(obj, "bgp_as_a_services") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetBgpAsAServices() ( + contrail.ReferenceList, error) { + err := obj.readBgpAsAServices() + if err != nil { + return nil, err + } + return obj.bgp_as_a_services, nil +} + +func (obj *Project) readRoutingPolicys() error { + if !obj.IsTransient() && + (obj.valid & project_routing_policys == 0) { + err := obj.GetField(obj, "routing_policys") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetRoutingPolicys() ( + contrail.ReferenceList, error) { + err := obj.readRoutingPolicys() + if err != nil { + return nil, err + } + return obj.routing_policys, nil +} + +func (obj *Project) readRouteAggregates() error { + if !obj.IsTransient() && + (obj.valid & project_route_aggregates == 0) { + err := obj.GetField(obj, "route_aggregates") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetRouteAggregates() ( + contrail.ReferenceList, error) { + err := obj.readRouteAggregates() + if err != nil { + return nil, err + } + return obj.route_aggregates, nil +} + +func (obj *Project) readServiceInstances() error { + if !obj.IsTransient() && + (obj.valid & project_service_instances == 0) { + err := obj.GetField(obj, "service_instances") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetServiceInstances() ( + contrail.ReferenceList, error) { + err := obj.readServiceInstances() + if err != nil { + return nil, err + } + return obj.service_instances, nil +} + +func (obj *Project) readServiceHealthChecks() error { + if !obj.IsTransient() && + (obj.valid & project_service_health_checks == 0) { + err := obj.GetField(obj, "service_health_checks") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetServiceHealthChecks() ( + contrail.ReferenceList, error) { + err := obj.readServiceHealthChecks() + if err != nil { + return nil, err + } + return obj.service_health_checks, nil +} + +func (obj *Project) readRouteTables() error { + if !obj.IsTransient() && + (obj.valid & project_route_tables == 0) { + err := obj.GetField(obj, "route_tables") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetRouteTables() ( + contrail.ReferenceList, error) { + err := obj.readRouteTables() + if err != nil { + return nil, err + } + return obj.route_tables, nil +} + +func (obj *Project) readInterfaceRouteTables() error { + if !obj.IsTransient() && + (obj.valid & project_interface_route_tables == 0) { + err := obj.GetField(obj, "interface_route_tables") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetInterfaceRouteTables() ( + contrail.ReferenceList, error) { + err := obj.readInterfaceRouteTables() + if err != nil { + return nil, err + } + return obj.interface_route_tables, nil +} + +func (obj *Project) readLogicalRouters() error { + if !obj.IsTransient() && + (obj.valid & project_logical_routers == 0) { + err := obj.GetField(obj, "logical_routers") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetLogicalRouters() ( + contrail.ReferenceList, error) { + err := obj.readLogicalRouters() + if err != nil { + return nil, err + } + return obj.logical_routers, nil +} + +func (obj *Project) readApiAccessLists() error { + if !obj.IsTransient() && + (obj.valid & project_api_access_lists == 0) { + err := obj.GetField(obj, "api_access_lists") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetApiAccessLists() ( + contrail.ReferenceList, error) { + err := obj.readApiAccessLists() + if err != nil { + return nil, err + } + return obj.api_access_lists, nil +} + +func (obj *Project) readLoadbalancerPools() error { + if !obj.IsTransient() && + (obj.valid & project_loadbalancer_pools == 0) { + err := obj.GetField(obj, "loadbalancer_pools") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetLoadbalancerPools() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerPools() + if err != nil { + return nil, err + } + return obj.loadbalancer_pools, nil +} + +func (obj *Project) readLoadbalancerHealthmonitors() error { + if !obj.IsTransient() && + (obj.valid & project_loadbalancer_healthmonitors == 0) { + err := obj.GetField(obj, "loadbalancer_healthmonitors") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetLoadbalancerHealthmonitors() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerHealthmonitors() + if err != nil { + return nil, err + } + return obj.loadbalancer_healthmonitors, nil +} + +func (obj *Project) readVirtualIps() error { + if !obj.IsTransient() && + (obj.valid & project_virtual_ips == 0) { + err := obj.GetField(obj, "virtual_ips") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetVirtualIps() ( + contrail.ReferenceList, error) { + err := obj.readVirtualIps() + if err != nil { + return nil, err + } + return obj.virtual_ips, nil +} + +func (obj *Project) readLoadbalancerListeners() error { + if !obj.IsTransient() && + (obj.valid & project_loadbalancer_listeners == 0) { + err := obj.GetField(obj, "loadbalancer_listeners") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetLoadbalancerListeners() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerListeners() + if err != nil { + return nil, err + } + return obj.loadbalancer_listeners, nil +} + +func (obj *Project) readLoadbalancers() error { + if !obj.IsTransient() && + (obj.valid & project_loadbalancers == 0) { + err := obj.GetField(obj, "loadbalancers") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetLoadbalancers() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancers() + if err != nil { + return nil, err + } + return obj.loadbalancers, nil +} + +func (obj *Project) readAlarms() error { + if !obj.IsTransient() && + (obj.valid & project_alarms == 0) { + err := obj.GetField(obj, "alarms") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetAlarms() ( + contrail.ReferenceList, error) { + err := obj.readAlarms() + if err != nil { + return nil, err + } + return obj.alarms, nil +} + +func (obj *Project) readNamespaceRefs() error { + if !obj.IsTransient() && + (obj.valid & project_namespace_refs == 0) { + err := obj.GetField(obj, "namespace_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetNamespaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readNamespaceRefs() + if err != nil { + return nil, err + } + return obj.namespace_refs, nil +} + +func (obj *Project) AddNamespace( + rhs *Namespace, data SubnetType) error { + err := obj.readNamespaceRefs() + if err != nil { + return err + } + + if obj.modified & project_namespace_refs == 0 { + obj.storeReferenceBase("namespace", obj.namespace_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), data} + obj.namespace_refs = append(obj.namespace_refs, ref) + obj.modified |= project_namespace_refs + return nil +} + +func (obj *Project) DeleteNamespace(uuid string) error { + err := obj.readNamespaceRefs() + if err != nil { + return err + } + + if obj.modified & project_namespace_refs == 0 { + obj.storeReferenceBase("namespace", obj.namespace_refs) + } + + for i, ref := range obj.namespace_refs { + if ref.Uuid == uuid { + obj.namespace_refs = append( + obj.namespace_refs[:i], + obj.namespace_refs[i+1:]...) + break + } + } + obj.modified |= project_namespace_refs + return nil +} + +func (obj *Project) ClearNamespace() { + if (obj.valid & project_namespace_refs != 0) && + (obj.modified & project_namespace_refs == 0) { + obj.storeReferenceBase("namespace", obj.namespace_refs) + } + obj.namespace_refs = make([]contrail.Reference, 0) + obj.valid |= project_namespace_refs + obj.modified |= project_namespace_refs +} + +func (obj *Project) SetNamespaceList( + refList []contrail.ReferencePair) { + obj.ClearNamespace() + obj.namespace_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.namespace_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *Project) readFloatingIpPoolRefs() error { + if !obj.IsTransient() && + (obj.valid & project_floating_ip_pool_refs == 0) { + err := obj.GetField(obj, "floating_ip_pool_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetFloatingIpPoolRefs() ( + contrail.ReferenceList, error) { + err := obj.readFloatingIpPoolRefs() + if err != nil { + return nil, err + } + return obj.floating_ip_pool_refs, nil +} + +func (obj *Project) AddFloatingIpPool( + rhs *FloatingIpPool) error { + err := obj.readFloatingIpPoolRefs() + if err != nil { + return err + } + + if obj.modified & project_floating_ip_pool_refs == 0 { + obj.storeReferenceBase("floating-ip-pool", obj.floating_ip_pool_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.floating_ip_pool_refs = append(obj.floating_ip_pool_refs, ref) + obj.modified |= project_floating_ip_pool_refs + return nil +} + +func (obj *Project) DeleteFloatingIpPool(uuid string) error { + err := obj.readFloatingIpPoolRefs() + if err != nil { + return err + } + + if obj.modified & project_floating_ip_pool_refs == 0 { + obj.storeReferenceBase("floating-ip-pool", obj.floating_ip_pool_refs) + } + + for i, ref := range obj.floating_ip_pool_refs { + if ref.Uuid == uuid { + obj.floating_ip_pool_refs = append( + obj.floating_ip_pool_refs[:i], + obj.floating_ip_pool_refs[i+1:]...) + break + } + } + obj.modified |= project_floating_ip_pool_refs + return nil +} + +func (obj *Project) ClearFloatingIpPool() { + if (obj.valid & project_floating_ip_pool_refs != 0) && + (obj.modified & project_floating_ip_pool_refs == 0) { + obj.storeReferenceBase("floating-ip-pool", obj.floating_ip_pool_refs) + } + obj.floating_ip_pool_refs = make([]contrail.Reference, 0) + obj.valid |= project_floating_ip_pool_refs + obj.modified |= project_floating_ip_pool_refs +} + +func (obj *Project) SetFloatingIpPoolList( + refList []contrail.ReferencePair) { + obj.ClearFloatingIpPool() + obj.floating_ip_pool_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.floating_ip_pool_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *Project) readAliasIpPoolRefs() error { + if !obj.IsTransient() && + (obj.valid & project_alias_ip_pool_refs == 0) { + err := obj.GetField(obj, "alias_ip_pool_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetAliasIpPoolRefs() ( + contrail.ReferenceList, error) { + err := obj.readAliasIpPoolRefs() + if err != nil { + return nil, err + } + return obj.alias_ip_pool_refs, nil +} + +func (obj *Project) AddAliasIpPool( + rhs *AliasIpPool) error { + err := obj.readAliasIpPoolRefs() + if err != nil { + return err + } + + if obj.modified & project_alias_ip_pool_refs == 0 { + obj.storeReferenceBase("alias-ip-pool", obj.alias_ip_pool_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.alias_ip_pool_refs = append(obj.alias_ip_pool_refs, ref) + obj.modified |= project_alias_ip_pool_refs + return nil +} + +func (obj *Project) DeleteAliasIpPool(uuid string) error { + err := obj.readAliasIpPoolRefs() + if err != nil { + return err + } + + if obj.modified & project_alias_ip_pool_refs == 0 { + obj.storeReferenceBase("alias-ip-pool", obj.alias_ip_pool_refs) + } + + for i, ref := range obj.alias_ip_pool_refs { + if ref.Uuid == uuid { + obj.alias_ip_pool_refs = append( + obj.alias_ip_pool_refs[:i], + obj.alias_ip_pool_refs[i+1:]...) + break + } + } + obj.modified |= project_alias_ip_pool_refs + return nil +} + +func (obj *Project) ClearAliasIpPool() { + if (obj.valid & project_alias_ip_pool_refs != 0) && + (obj.modified & project_alias_ip_pool_refs == 0) { + obj.storeReferenceBase("alias-ip-pool", obj.alias_ip_pool_refs) + } + obj.alias_ip_pool_refs = make([]contrail.Reference, 0) + obj.valid |= project_alias_ip_pool_refs + obj.modified |= project_alias_ip_pool_refs +} + +func (obj *Project) SetAliasIpPoolList( + refList []contrail.ReferencePair) { + obj.ClearAliasIpPool() + obj.alias_ip_pool_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.alias_ip_pool_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *Project) readFloatingIpBackRefs() error { + if !obj.IsTransient() && + (obj.valid & project_floating_ip_back_refs == 0) { + err := obj.GetField(obj, "floating_ip_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetFloatingIpBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readFloatingIpBackRefs() + if err != nil { + return nil, err + } + return obj.floating_ip_back_refs, nil +} + +func (obj *Project) readAliasIpBackRefs() error { + if !obj.IsTransient() && + (obj.valid & project_alias_ip_back_refs == 0) { + err := obj.GetField(obj, "alias_ip_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) GetAliasIpBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readAliasIpBackRefs() + if err != nil { + return nil, err + } + return obj.alias_ip_back_refs, nil +} + +func (obj *Project) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & project_quota != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.quota) + if err != nil { + return nil, err + } + msg["quota"] = &value + } + + if obj.modified & project_alarm_enable != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alarm_enable) + if err != nil { + return nil, err + } + msg["alarm_enable"] = &value + } + + if obj.modified & project_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & project_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & project_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.namespace_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.namespace_refs) + if err != nil { + return nil, err + } + msg["namespace_refs"] = &value + } + + if len(obj.floating_ip_pool_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_pool_refs) + if err != nil { + return nil, err + } + msg["floating_ip_pool_refs"] = &value + } + + if len(obj.alias_ip_pool_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alias_ip_pool_refs) + if err != nil { + return nil, err + } + msg["alias_ip_pool_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *Project) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "quota": + err = json.Unmarshal(value, &obj.quota) + if err == nil { + obj.valid |= project_quota + } + break + case "alarm_enable": + err = json.Unmarshal(value, &obj.alarm_enable) + if err == nil { + obj.valid |= project_alarm_enable + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= project_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= project_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= project_display_name + } + break + case "security_groups": + err = json.Unmarshal(value, &obj.security_groups) + if err == nil { + obj.valid |= project_security_groups + } + break + case "virtual_networks": + err = json.Unmarshal(value, &obj.virtual_networks) + if err == nil { + obj.valid |= project_virtual_networks + } + break + case "qos_configs": + err = json.Unmarshal(value, &obj.qos_configs) + if err == nil { + obj.valid |= project_qos_configs + } + break + case "network_ipams": + err = json.Unmarshal(value, &obj.network_ipams) + if err == nil { + obj.valid |= project_network_ipams + } + break + case "network_policys": + err = json.Unmarshal(value, &obj.network_policys) + if err == nil { + obj.valid |= project_network_policys + } + break + case "virtual_machine_interfaces": + err = json.Unmarshal(value, &obj.virtual_machine_interfaces) + if err == nil { + obj.valid |= project_virtual_machine_interfaces + } + break + case "floating_ip_pool_refs": + err = json.Unmarshal(value, &obj.floating_ip_pool_refs) + if err == nil { + obj.valid |= project_floating_ip_pool_refs + } + break + case "alias_ip_pool_refs": + err = json.Unmarshal(value, &obj.alias_ip_pool_refs) + if err == nil { + obj.valid |= project_alias_ip_pool_refs + } + break + case "bgp_as_a_services": + err = json.Unmarshal(value, &obj.bgp_as_a_services) + if err == nil { + obj.valid |= project_bgp_as_a_services + } + break + case "routing_policys": + err = json.Unmarshal(value, &obj.routing_policys) + if err == nil { + obj.valid |= project_routing_policys + } + break + case "route_aggregates": + err = json.Unmarshal(value, &obj.route_aggregates) + if err == nil { + obj.valid |= project_route_aggregates + } + break + case "service_instances": + err = json.Unmarshal(value, &obj.service_instances) + if err == nil { + obj.valid |= project_service_instances + } + break + case "service_health_checks": + err = json.Unmarshal(value, &obj.service_health_checks) + if err == nil { + obj.valid |= project_service_health_checks + } + break + case "route_tables": + err = json.Unmarshal(value, &obj.route_tables) + if err == nil { + obj.valid |= project_route_tables + } + break + case "interface_route_tables": + err = json.Unmarshal(value, &obj.interface_route_tables) + if err == nil { + obj.valid |= project_interface_route_tables + } + break + case "logical_routers": + err = json.Unmarshal(value, &obj.logical_routers) + if err == nil { + obj.valid |= project_logical_routers + } + break + case "api_access_lists": + err = json.Unmarshal(value, &obj.api_access_lists) + if err == nil { + obj.valid |= project_api_access_lists + } + break + case "loadbalancer_pools": + err = json.Unmarshal(value, &obj.loadbalancer_pools) + if err == nil { + obj.valid |= project_loadbalancer_pools + } + break + case "loadbalancer_healthmonitors": + err = json.Unmarshal(value, &obj.loadbalancer_healthmonitors) + if err == nil { + obj.valid |= project_loadbalancer_healthmonitors + } + break + case "virtual_ips": + err = json.Unmarshal(value, &obj.virtual_ips) + if err == nil { + obj.valid |= project_virtual_ips + } + break + case "loadbalancer_listeners": + err = json.Unmarshal(value, &obj.loadbalancer_listeners) + if err == nil { + obj.valid |= project_loadbalancer_listeners + } + break + case "loadbalancers": + err = json.Unmarshal(value, &obj.loadbalancers) + if err == nil { + obj.valid |= project_loadbalancers + } + break + case "alarms": + err = json.Unmarshal(value, &obj.alarms) + if err == nil { + obj.valid |= project_alarms + } + break + case "floating_ip_back_refs": + err = json.Unmarshal(value, &obj.floating_ip_back_refs) + if err == nil { + obj.valid |= project_floating_ip_back_refs + } + break + case "alias_ip_back_refs": + err = json.Unmarshal(value, &obj.alias_ip_back_refs) + if err == nil { + obj.valid |= project_alias_ip_back_refs + } + break + case "namespace_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr SubnetType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= project_namespace_refs + obj.namespace_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.namespace_refs = append(obj.namespace_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *Project) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & project_quota != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.quota) + if err != nil { + return nil, err + } + msg["quota"] = &value + } + + if obj.modified & project_alarm_enable != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.alarm_enable) + if err != nil { + return nil, err + } + msg["alarm_enable"] = &value + } + + if obj.modified & project_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & project_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & project_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & project_namespace_refs != 0 { + if len(obj.namespace_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["namespace_refs"] = &value + } else if !obj.hasReferenceBase("namespace") { + var value json.RawMessage + value, err := json.Marshal(&obj.namespace_refs) + if err != nil { + return nil, err + } + msg["namespace_refs"] = &value + } + } + + + if obj.modified & project_floating_ip_pool_refs != 0 { + if len(obj.floating_ip_pool_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["floating_ip_pool_refs"] = &value + } else if !obj.hasReferenceBase("floating-ip-pool") { + var value json.RawMessage + value, err := json.Marshal(&obj.floating_ip_pool_refs) + if err != nil { + return nil, err + } + msg["floating_ip_pool_refs"] = &value + } + } + + + if obj.modified & project_alias_ip_pool_refs != 0 { + if len(obj.alias_ip_pool_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["alias_ip_pool_refs"] = &value + } else if !obj.hasReferenceBase("alias-ip-pool") { + var value json.RawMessage + value, err := json.Marshal(&obj.alias_ip_pool_refs) + if err != nil { + return nil, err + } + msg["alias_ip_pool_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *Project) UpdateReferences() error { + + if (obj.modified & project_namespace_refs != 0) && + len(obj.namespace_refs) > 0 && + obj.hasReferenceBase("namespace") { + err := obj.UpdateReference( + obj, "namespace", + obj.namespace_refs, + obj.baseMap["namespace"]) + if err != nil { + return err + } + } + + if (obj.modified & project_floating_ip_pool_refs != 0) && + len(obj.floating_ip_pool_refs) > 0 && + obj.hasReferenceBase("floating-ip-pool") { + err := obj.UpdateReference( + obj, "floating-ip-pool", + obj.floating_ip_pool_refs, + obj.baseMap["floating-ip-pool"]) + if err != nil { + return err + } + } + + if (obj.modified & project_alias_ip_pool_refs != 0) && + len(obj.alias_ip_pool_refs) > 0 && + obj.hasReferenceBase("alias-ip-pool") { + err := obj.UpdateReference( + obj, "alias-ip-pool", + obj.alias_ip_pool_refs, + obj.baseMap["alias-ip-pool"]) + if err != nil { + return err + } + } + + return nil +} + +func ProjectByName(c contrail.ApiClient, fqn string) (*Project, error) { + obj, err := c.FindByName("project", fqn) + if err != nil { + return nil, err + } + return obj.(*Project), nil +} + +func ProjectByUuid(c contrail.ApiClient, uuid string) (*Project, error) { + obj, err := c.FindByUuid("project", uuid) + if err != nil { + return nil, err + } + return obj.(*Project), nil +} diff --git a/types/provider_attachment.go b/types/provider_attachment.go new file mode 100644 index 0000000..c9f5084 --- /dev/null +++ b/types/provider_attachment.go @@ -0,0 +1,368 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + provider_attachment_id_perms uint64 = 1 << iota + provider_attachment_perms2 + provider_attachment_display_name + provider_attachment_virtual_router_refs +) + +type ProviderAttachment struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_router_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *ProviderAttachment) GetType() string { + return "provider-attachment" +} + +func (obj *ProviderAttachment) GetDefaultParent() []string { + name := []string{} + return name +} + +func (obj *ProviderAttachment) GetDefaultParentType() string { + return "" +} + +func (obj *ProviderAttachment) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *ProviderAttachment) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *ProviderAttachment) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *ProviderAttachment) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *ProviderAttachment) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *ProviderAttachment) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *ProviderAttachment) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= provider_attachment_id_perms +} + +func (obj *ProviderAttachment) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *ProviderAttachment) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= provider_attachment_perms2 +} + +func (obj *ProviderAttachment) GetDisplayName() string { + return obj.display_name +} + +func (obj *ProviderAttachment) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= provider_attachment_display_name +} + +func (obj *ProviderAttachment) readVirtualRouterRefs() error { + if !obj.IsTransient() && + (obj.valid & provider_attachment_virtual_router_refs == 0) { + err := obj.GetField(obj, "virtual_router_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ProviderAttachment) GetVirtualRouterRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualRouterRefs() + if err != nil { + return nil, err + } + return obj.virtual_router_refs, nil +} + +func (obj *ProviderAttachment) AddVirtualRouter( + rhs *VirtualRouter) error { + err := obj.readVirtualRouterRefs() + if err != nil { + return err + } + + if obj.modified & provider_attachment_virtual_router_refs == 0 { + obj.storeReferenceBase("virtual-router", obj.virtual_router_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_router_refs = append(obj.virtual_router_refs, ref) + obj.modified |= provider_attachment_virtual_router_refs + return nil +} + +func (obj *ProviderAttachment) DeleteVirtualRouter(uuid string) error { + err := obj.readVirtualRouterRefs() + if err != nil { + return err + } + + if obj.modified & provider_attachment_virtual_router_refs == 0 { + obj.storeReferenceBase("virtual-router", obj.virtual_router_refs) + } + + for i, ref := range obj.virtual_router_refs { + if ref.Uuid == uuid { + obj.virtual_router_refs = append( + obj.virtual_router_refs[:i], + obj.virtual_router_refs[i+1:]...) + break + } + } + obj.modified |= provider_attachment_virtual_router_refs + return nil +} + +func (obj *ProviderAttachment) ClearVirtualRouter() { + if (obj.valid & provider_attachment_virtual_router_refs != 0) && + (obj.modified & provider_attachment_virtual_router_refs == 0) { + obj.storeReferenceBase("virtual-router", obj.virtual_router_refs) + } + obj.virtual_router_refs = make([]contrail.Reference, 0) + obj.valid |= provider_attachment_virtual_router_refs + obj.modified |= provider_attachment_virtual_router_refs +} + +func (obj *ProviderAttachment) SetVirtualRouterList( + refList []contrail.ReferencePair) { + obj.ClearVirtualRouter() + obj.virtual_router_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_router_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *ProviderAttachment) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & provider_attachment_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & provider_attachment_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & provider_attachment_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.virtual_router_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_router_refs) + if err != nil { + return nil, err + } + msg["virtual_router_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ProviderAttachment) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= provider_attachment_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= provider_attachment_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= provider_attachment_display_name + } + break + case "virtual_router_refs": + err = json.Unmarshal(value, &obj.virtual_router_refs) + if err == nil { + obj.valid |= provider_attachment_virtual_router_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *ProviderAttachment) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & provider_attachment_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & provider_attachment_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & provider_attachment_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & provider_attachment_virtual_router_refs != 0 { + if len(obj.virtual_router_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_router_refs"] = &value + } else if !obj.hasReferenceBase("virtual-router") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_router_refs) + if err != nil { + return nil, err + } + msg["virtual_router_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *ProviderAttachment) UpdateReferences() error { + + if (obj.modified & provider_attachment_virtual_router_refs != 0) && + len(obj.virtual_router_refs) > 0 && + obj.hasReferenceBase("virtual-router") { + err := obj.UpdateReference( + obj, "virtual-router", + obj.virtual_router_refs, + obj.baseMap["virtual-router"]) + if err != nil { + return err + } + } + + return nil +} + +func ProviderAttachmentByName(c contrail.ApiClient, fqn string) (*ProviderAttachment, error) { + obj, err := c.FindByName("provider-attachment", fqn) + if err != nil { + return nil, err + } + return obj.(*ProviderAttachment), nil +} + +func ProviderAttachmentByUuid(c contrail.ApiClient, uuid string) (*ProviderAttachment, error) { + obj, err := c.FindByUuid("provider-attachment", uuid) + if err != nil { + return nil, err + } + return obj.(*ProviderAttachment), nil +} diff --git a/types/provider_details.go b/types/provider_details.go new file mode 100644 index 0000000..8b160a8 --- /dev/null +++ b/types/provider_details.go @@ -0,0 +1,10 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type ProviderDetails struct { + SegmentationId int `json:"segmentation_id,omitempty"` + PhysicalNetwork string `json:"physical_network,omitempty"` +} diff --git a/types/qos_config.go b/types/qos_config.go new file mode 100644 index 0000000..b46a76f --- /dev/null +++ b/types/qos_config.go @@ -0,0 +1,465 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + qos_config_qos_config_type uint64 = 1 << iota + qos_config_dscp_entries + qos_config_vlan_priority_entries + qos_config_mpls_exp_entries + qos_config_trusted + qos_config_id_perms + qos_config_perms2 + qos_config_display_name + qos_config_virtual_network_back_refs + qos_config_virtual_machine_interface_back_refs +) + +type QosConfig struct { + contrail.ObjectBase + qos_config_type string + dscp_entries QosIdForwardingClassPairs + vlan_priority_entries QosIdForwardingClassPairs + mpls_exp_entries QosIdForwardingClassPairs + trusted bool + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_network_back_refs contrail.ReferenceList + virtual_machine_interface_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *QosConfig) GetType() string { + return "qos-config" +} + +func (obj *QosConfig) GetDefaultParent() []string { + name := []string{"default-global-system-config", "default-global-qos-config"} + return name +} + +func (obj *QosConfig) GetDefaultParentType() string { + return "global-qos-config" +} + +func (obj *QosConfig) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *QosConfig) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *QosConfig) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *QosConfig) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *QosConfig) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *QosConfig) GetQosConfigType() string { + return obj.qos_config_type +} + +func (obj *QosConfig) SetQosConfigType(value string) { + obj.qos_config_type = value + obj.modified |= qos_config_qos_config_type +} + +func (obj *QosConfig) GetDscpEntries() QosIdForwardingClassPairs { + return obj.dscp_entries +} + +func (obj *QosConfig) SetDscpEntries(value *QosIdForwardingClassPairs) { + obj.dscp_entries = *value + obj.modified |= qos_config_dscp_entries +} + +func (obj *QosConfig) GetVlanPriorityEntries() QosIdForwardingClassPairs { + return obj.vlan_priority_entries +} + +func (obj *QosConfig) SetVlanPriorityEntries(value *QosIdForwardingClassPairs) { + obj.vlan_priority_entries = *value + obj.modified |= qos_config_vlan_priority_entries +} + +func (obj *QosConfig) GetMplsExpEntries() QosIdForwardingClassPairs { + return obj.mpls_exp_entries +} + +func (obj *QosConfig) SetMplsExpEntries(value *QosIdForwardingClassPairs) { + obj.mpls_exp_entries = *value + obj.modified |= qos_config_mpls_exp_entries +} + +func (obj *QosConfig) GetTrusted() bool { + return obj.trusted +} + +func (obj *QosConfig) SetTrusted(value bool) { + obj.trusted = value + obj.modified |= qos_config_trusted +} + +func (obj *QosConfig) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *QosConfig) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= qos_config_id_perms +} + +func (obj *QosConfig) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *QosConfig) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= qos_config_perms2 +} + +func (obj *QosConfig) GetDisplayName() string { + return obj.display_name +} + +func (obj *QosConfig) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= qos_config_display_name +} + +func (obj *QosConfig) readVirtualNetworkBackRefs() error { + if !obj.IsTransient() && + (obj.valid & qos_config_virtual_network_back_refs == 0) { + err := obj.GetField(obj, "virtual_network_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *QosConfig) GetVirtualNetworkBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualNetworkBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_network_back_refs, nil +} + +func (obj *QosConfig) readVirtualMachineInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & qos_config_virtual_machine_interface_back_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *QosConfig) GetVirtualMachineInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_back_refs, nil +} + +func (obj *QosConfig) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & qos_config_qos_config_type != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.qos_config_type) + if err != nil { + return nil, err + } + msg["qos_config_type"] = &value + } + + if obj.modified & qos_config_dscp_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.dscp_entries) + if err != nil { + return nil, err + } + msg["dscp_entries"] = &value + } + + if obj.modified & qos_config_vlan_priority_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.vlan_priority_entries) + if err != nil { + return nil, err + } + msg["vlan_priority_entries"] = &value + } + + if obj.modified & qos_config_mpls_exp_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.mpls_exp_entries) + if err != nil { + return nil, err + } + msg["mpls_exp_entries"] = &value + } + + if obj.modified & qos_config_trusted != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.trusted) + if err != nil { + return nil, err + } + msg["trusted"] = &value + } + + if obj.modified & qos_config_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & qos_config_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & qos_config_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *QosConfig) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "qos_config_type": + err = json.Unmarshal(value, &obj.qos_config_type) + if err == nil { + obj.valid |= qos_config_qos_config_type + } + break + case "dscp_entries": + err = json.Unmarshal(value, &obj.dscp_entries) + if err == nil { + obj.valid |= qos_config_dscp_entries + } + break + case "vlan_priority_entries": + err = json.Unmarshal(value, &obj.vlan_priority_entries) + if err == nil { + obj.valid |= qos_config_vlan_priority_entries + } + break + case "mpls_exp_entries": + err = json.Unmarshal(value, &obj.mpls_exp_entries) + if err == nil { + obj.valid |= qos_config_mpls_exp_entries + } + break + case "trusted": + err = json.Unmarshal(value, &obj.trusted) + if err == nil { + obj.valid |= qos_config_trusted + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= qos_config_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= qos_config_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= qos_config_display_name + } + break + case "virtual_network_back_refs": + err = json.Unmarshal(value, &obj.virtual_network_back_refs) + if err == nil { + obj.valid |= qos_config_virtual_network_back_refs + } + break + case "virtual_machine_interface_back_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_back_refs) + if err == nil { + obj.valid |= qos_config_virtual_machine_interface_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *QosConfig) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & qos_config_qos_config_type != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.qos_config_type) + if err != nil { + return nil, err + } + msg["qos_config_type"] = &value + } + + if obj.modified & qos_config_dscp_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.dscp_entries) + if err != nil { + return nil, err + } + msg["dscp_entries"] = &value + } + + if obj.modified & qos_config_vlan_priority_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.vlan_priority_entries) + if err != nil { + return nil, err + } + msg["vlan_priority_entries"] = &value + } + + if obj.modified & qos_config_mpls_exp_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.mpls_exp_entries) + if err != nil { + return nil, err + } + msg["mpls_exp_entries"] = &value + } + + if obj.modified & qos_config_trusted != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.trusted) + if err != nil { + return nil, err + } + msg["trusted"] = &value + } + + if obj.modified & qos_config_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & qos_config_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & qos_config_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *QosConfig) UpdateReferences() error { + + return nil +} + +func QosConfigByName(c contrail.ApiClient, fqn string) (*QosConfig, error) { + obj, err := c.FindByName("qos-config", fqn) + if err != nil { + return nil, err + } + return obj.(*QosConfig), nil +} + +func QosConfigByUuid(c contrail.ApiClient, uuid string) (*QosConfig, error) { + obj, err := c.FindByUuid("qos-config", uuid) + if err != nil { + return nil, err + } + return obj.(*QosConfig), nil +} diff --git a/types/qos_id_forwarding_class_pairs.go b/types/qos_id_forwarding_class_pairs.go new file mode 100644 index 0000000..936b4f5 --- /dev/null +++ b/types/qos_id_forwarding_class_pairs.go @@ -0,0 +1,18 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type QosIdForwardingClassPair struct { + Key int `json:"key,omitempty"` + ForwardingClassId int `json:"forwarding_class_id,omitempty"` +} + +type QosIdForwardingClassPairs struct { + QosIdForwardingClassPair []QosIdForwardingClassPair `json:"qos_id_forwarding_class_pair,omitempty"` +} + +func (obj *QosIdForwardingClassPairs) AddQosIdForwardingClassPair(value *QosIdForwardingClassPair) { + obj.QosIdForwardingClassPair = append(obj.QosIdForwardingClassPair, *value) +} diff --git a/types/qos_queue.go b/types/qos_queue.go new file mode 100644 index 0000000..e968b91 --- /dev/null +++ b/types/qos_queue.go @@ -0,0 +1,332 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + qos_queue_min_bandwidth uint64 = 1 << iota + qos_queue_max_bandwidth + qos_queue_id_perms + qos_queue_perms2 + qos_queue_display_name + qos_queue_forwarding_class_back_refs +) + +type QosQueue struct { + contrail.ObjectBase + min_bandwidth int + max_bandwidth int + id_perms IdPermsType + perms2 PermType2 + display_name string + forwarding_class_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *QosQueue) GetType() string { + return "qos-queue" +} + +func (obj *QosQueue) GetDefaultParent() []string { + name := []string{"default-global-system-config", "default-global-qos-config"} + return name +} + +func (obj *QosQueue) GetDefaultParentType() string { + return "global-qos-config" +} + +func (obj *QosQueue) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *QosQueue) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *QosQueue) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *QosQueue) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *QosQueue) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *QosQueue) GetMinBandwidth() int { + return obj.min_bandwidth +} + +func (obj *QosQueue) SetMinBandwidth(value int) { + obj.min_bandwidth = value + obj.modified |= qos_queue_min_bandwidth +} + +func (obj *QosQueue) GetMaxBandwidth() int { + return obj.max_bandwidth +} + +func (obj *QosQueue) SetMaxBandwidth(value int) { + obj.max_bandwidth = value + obj.modified |= qos_queue_max_bandwidth +} + +func (obj *QosQueue) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *QosQueue) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= qos_queue_id_perms +} + +func (obj *QosQueue) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *QosQueue) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= qos_queue_perms2 +} + +func (obj *QosQueue) GetDisplayName() string { + return obj.display_name +} + +func (obj *QosQueue) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= qos_queue_display_name +} + +func (obj *QosQueue) readForwardingClassBackRefs() error { + if !obj.IsTransient() && + (obj.valid & qos_queue_forwarding_class_back_refs == 0) { + err := obj.GetField(obj, "forwarding_class_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *QosQueue) GetForwardingClassBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readForwardingClassBackRefs() + if err != nil { + return nil, err + } + return obj.forwarding_class_back_refs, nil +} + +func (obj *QosQueue) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & qos_queue_min_bandwidth != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.min_bandwidth) + if err != nil { + return nil, err + } + msg["min_bandwidth"] = &value + } + + if obj.modified & qos_queue_max_bandwidth != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.max_bandwidth) + if err != nil { + return nil, err + } + msg["max_bandwidth"] = &value + } + + if obj.modified & qos_queue_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & qos_queue_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & qos_queue_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *QosQueue) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "min_bandwidth": + err = json.Unmarshal(value, &obj.min_bandwidth) + if err == nil { + obj.valid |= qos_queue_min_bandwidth + } + break + case "max_bandwidth": + err = json.Unmarshal(value, &obj.max_bandwidth) + if err == nil { + obj.valid |= qos_queue_max_bandwidth + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= qos_queue_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= qos_queue_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= qos_queue_display_name + } + break + case "forwarding_class_back_refs": + err = json.Unmarshal(value, &obj.forwarding_class_back_refs) + if err == nil { + obj.valid |= qos_queue_forwarding_class_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *QosQueue) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & qos_queue_min_bandwidth != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.min_bandwidth) + if err != nil { + return nil, err + } + msg["min_bandwidth"] = &value + } + + if obj.modified & qos_queue_max_bandwidth != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.max_bandwidth) + if err != nil { + return nil, err + } + msg["max_bandwidth"] = &value + } + + if obj.modified & qos_queue_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & qos_queue_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & qos_queue_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *QosQueue) UpdateReferences() error { + + return nil +} + +func QosQueueByName(c contrail.ApiClient, fqn string) (*QosQueue, error) { + obj, err := c.FindByName("qos-queue", fqn) + if err != nil { + return nil, err + } + return obj.(*QosQueue), nil +} + +func QosQueueByUuid(c contrail.ApiClient, uuid string) (*QosQueue, error) { + obj, err := c.FindByUuid("qos-queue", uuid) + if err != nil { + return nil, err + } + return obj.(*QosQueue), nil +} diff --git a/types/quota_type.go b/types/quota_type.go new file mode 100644 index 0000000..db3dd9b --- /dev/null +++ b/types/quota_type.go @@ -0,0 +1,32 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type QuotaType struct { + Defaults int `json:"defaults,omitempty"` + FloatingIp int `json:"floating_ip,omitempty"` + InstanceIp int `json:"instance_ip,omitempty"` + VirtualMachineInterface int `json:"virtual_machine_interface,omitempty"` + VirtualNetwork int `json:"virtual_network,omitempty"` + VirtualRouter int `json:"virtual_router,omitempty"` + VirtualDns int `json:"virtual_DNS,omitempty"` + VirtualDnsRecord int `json:"virtual_DNS_record,omitempty"` + BgpRouter int `json:"bgp_router,omitempty"` + NetworkIpam int `json:"network_ipam,omitempty"` + AccessControlList int `json:"access_control_list,omitempty"` + NetworkPolicy int `json:"network_policy,omitempty"` + FloatingIpPool int `json:"floating_ip_pool,omitempty"` + ServiceTemplate int `json:"service_template,omitempty"` + ServiceInstance int `json:"service_instance,omitempty"` + LogicalRouter int `json:"logical_router,omitempty"` + SecurityGroup int `json:"security_group,omitempty"` + SecurityGroupRule int `json:"security_group_rule,omitempty"` + Subnet int `json:"subnet,omitempty"` + GlobalVrouterConfig int `json:"global_vrouter_config,omitempty"` + LoadbalancerPool int `json:"loadbalancer_pool,omitempty"` + LoadbalancerMember int `json:"loadbalancer_member,omitempty"` + LoadbalancerHealthmonitor int `json:"loadbalancer_healthmonitor,omitempty"` + VirtualIp int `json:"virtual_ip,omitempty"` +} diff --git a/types/rbac_rule_entries_type.go b/types/rbac_rule_entries_type.go new file mode 100644 index 0000000..8d5a116 --- /dev/null +++ b/types/rbac_rule_entries_type.go @@ -0,0 +1,28 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type RbacPermType struct { + RoleName string `json:"role_name,omitempty"` + RoleCrud string `json:"role_crud,omitempty"` +} + +type RbacRuleType struct { + RuleObject string `json:"rule_object,omitempty"` + RuleField string `json:"rule_field,omitempty"` + RulePerms []RbacPermType `json:"rule_perms,omitempty"` +} + +func (obj *RbacRuleType) AddRulePerms(value *RbacPermType) { + obj.RulePerms = append(obj.RulePerms, *value) +} + +type RbacRuleEntriesType struct { + RbacRule []RbacRuleType `json:"rbac_rule,omitempty"` +} + +func (obj *RbacRuleEntriesType) AddRbacRule(value *RbacRuleType) { + obj.RbacRule = append(obj.RbacRule, *value) +} diff --git a/types/route_aggregate.go b/types/route_aggregate.go new file mode 100644 index 0000000..7d64d98 --- /dev/null +++ b/types/route_aggregate.go @@ -0,0 +1,387 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + route_aggregate_id_perms uint64 = 1 << iota + route_aggregate_perms2 + route_aggregate_display_name + route_aggregate_service_instance_refs +) + +type RouteAggregate struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + service_instance_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *RouteAggregate) GetType() string { + return "route-aggregate" +} + +func (obj *RouteAggregate) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *RouteAggregate) GetDefaultParentType() string { + return "project" +} + +func (obj *RouteAggregate) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *RouteAggregate) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *RouteAggregate) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *RouteAggregate) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *RouteAggregate) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *RouteAggregate) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *RouteAggregate) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= route_aggregate_id_perms +} + +func (obj *RouteAggregate) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *RouteAggregate) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= route_aggregate_perms2 +} + +func (obj *RouteAggregate) GetDisplayName() string { + return obj.display_name +} + +func (obj *RouteAggregate) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= route_aggregate_display_name +} + +func (obj *RouteAggregate) readServiceInstanceRefs() error { + if !obj.IsTransient() && + (obj.valid & route_aggregate_service_instance_refs == 0) { + err := obj.GetField(obj, "service_instance_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *RouteAggregate) GetServiceInstanceRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceInstanceRefs() + if err != nil { + return nil, err + } + return obj.service_instance_refs, nil +} + +func (obj *RouteAggregate) AddServiceInstance( + rhs *ServiceInstance, data ServiceInterfaceTag) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & route_aggregate_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), data} + obj.service_instance_refs = append(obj.service_instance_refs, ref) + obj.modified |= route_aggregate_service_instance_refs + return nil +} + +func (obj *RouteAggregate) DeleteServiceInstance(uuid string) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & route_aggregate_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + for i, ref := range obj.service_instance_refs { + if ref.Uuid == uuid { + obj.service_instance_refs = append( + obj.service_instance_refs[:i], + obj.service_instance_refs[i+1:]...) + break + } + } + obj.modified |= route_aggregate_service_instance_refs + return nil +} + +func (obj *RouteAggregate) ClearServiceInstance() { + if (obj.valid & route_aggregate_service_instance_refs != 0) && + (obj.modified & route_aggregate_service_instance_refs == 0) { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + obj.service_instance_refs = make([]contrail.Reference, 0) + obj.valid |= route_aggregate_service_instance_refs + obj.modified |= route_aggregate_service_instance_refs +} + +func (obj *RouteAggregate) SetServiceInstanceList( + refList []contrail.ReferencePair) { + obj.ClearServiceInstance() + obj.service_instance_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_instance_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *RouteAggregate) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & route_aggregate_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & route_aggregate_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & route_aggregate_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.service_instance_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *RouteAggregate) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= route_aggregate_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= route_aggregate_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= route_aggregate_display_name + } + break + case "service_instance_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr ServiceInterfaceTag + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= route_aggregate_service_instance_refs + obj.service_instance_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.service_instance_refs = append(obj.service_instance_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *RouteAggregate) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & route_aggregate_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & route_aggregate_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & route_aggregate_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & route_aggregate_service_instance_refs != 0 { + if len(obj.service_instance_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } else if !obj.hasReferenceBase("service-instance") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *RouteAggregate) UpdateReferences() error { + + if (obj.modified & route_aggregate_service_instance_refs != 0) && + len(obj.service_instance_refs) > 0 && + obj.hasReferenceBase("service-instance") { + err := obj.UpdateReference( + obj, "service-instance", + obj.service_instance_refs, + obj.baseMap["service-instance"]) + if err != nil { + return err + } + } + + return nil +} + +func RouteAggregateByName(c contrail.ApiClient, fqn string) (*RouteAggregate, error) { + obj, err := c.FindByName("route-aggregate", fqn) + if err != nil { + return nil, err + } + return obj.(*RouteAggregate), nil +} + +func RouteAggregateByUuid(c contrail.ApiClient, uuid string) (*RouteAggregate, error) { + obj, err := c.FindByUuid("route-aggregate", uuid) + if err != nil { + return nil, err + } + return obj.(*RouteAggregate), nil +} diff --git a/types/route_table.go b/types/route_table.go new file mode 100644 index 0000000..b33be1c --- /dev/null +++ b/types/route_table.go @@ -0,0 +1,325 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + route_table_routes uint64 = 1 << iota + route_table_id_perms + route_table_perms2 + route_table_display_name + route_table_virtual_network_back_refs + route_table_logical_router_back_refs +) + +type RouteTable struct { + contrail.ObjectBase + routes RouteTableType + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_network_back_refs contrail.ReferenceList + logical_router_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *RouteTable) GetType() string { + return "route-table" +} + +func (obj *RouteTable) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *RouteTable) GetDefaultParentType() string { + return "project" +} + +func (obj *RouteTable) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *RouteTable) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *RouteTable) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *RouteTable) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *RouteTable) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *RouteTable) GetRoutes() RouteTableType { + return obj.routes +} + +func (obj *RouteTable) SetRoutes(value *RouteTableType) { + obj.routes = *value + obj.modified |= route_table_routes +} + +func (obj *RouteTable) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *RouteTable) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= route_table_id_perms +} + +func (obj *RouteTable) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *RouteTable) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= route_table_perms2 +} + +func (obj *RouteTable) GetDisplayName() string { + return obj.display_name +} + +func (obj *RouteTable) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= route_table_display_name +} + +func (obj *RouteTable) readVirtualNetworkBackRefs() error { + if !obj.IsTransient() && + (obj.valid & route_table_virtual_network_back_refs == 0) { + err := obj.GetField(obj, "virtual_network_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *RouteTable) GetVirtualNetworkBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualNetworkBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_network_back_refs, nil +} + +func (obj *RouteTable) readLogicalRouterBackRefs() error { + if !obj.IsTransient() && + (obj.valid & route_table_logical_router_back_refs == 0) { + err := obj.GetField(obj, "logical_router_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *RouteTable) GetLogicalRouterBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLogicalRouterBackRefs() + if err != nil { + return nil, err + } + return obj.logical_router_back_refs, nil +} + +func (obj *RouteTable) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & route_table_routes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.routes) + if err != nil { + return nil, err + } + msg["routes"] = &value + } + + if obj.modified & route_table_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & route_table_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & route_table_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *RouteTable) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "routes": + err = json.Unmarshal(value, &obj.routes) + if err == nil { + obj.valid |= route_table_routes + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= route_table_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= route_table_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= route_table_display_name + } + break + case "virtual_network_back_refs": + err = json.Unmarshal(value, &obj.virtual_network_back_refs) + if err == nil { + obj.valid |= route_table_virtual_network_back_refs + } + break + case "logical_router_back_refs": + err = json.Unmarshal(value, &obj.logical_router_back_refs) + if err == nil { + obj.valid |= route_table_logical_router_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *RouteTable) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & route_table_routes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.routes) + if err != nil { + return nil, err + } + msg["routes"] = &value + } + + if obj.modified & route_table_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & route_table_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & route_table_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *RouteTable) UpdateReferences() error { + + return nil +} + +func RouteTableByName(c contrail.ApiClient, fqn string) (*RouteTable, error) { + obj, err := c.FindByName("route-table", fqn) + if err != nil { + return nil, err + } + return obj.(*RouteTable), nil +} + +func RouteTableByUuid(c contrail.ApiClient, uuid string) (*RouteTable, error) { + obj, err := c.FindByUuid("route-table", uuid) + if err != nil { + return nil, err + } + return obj.(*RouteTable), nil +} diff --git a/types/route_table_type.go b/types/route_table_type.go new file mode 100644 index 0000000..fecc28b --- /dev/null +++ b/types/route_table_type.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type RouteTableType struct { + Route []RouteType `json:"route,omitempty"` +} + +func (obj *RouteTableType) AddRoute(value *RouteType) { + obj.Route = append(obj.Route, *value) +} diff --git a/types/route_target.go b/types/route_target.go new file mode 100644 index 0000000..3388d07 --- /dev/null +++ b/types/route_target.go @@ -0,0 +1,262 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + route_target_id_perms uint64 = 1 << iota + route_target_perms2 + route_target_display_name + route_target_logical_router_back_refs +) + +type RouteTarget struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + logical_router_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *RouteTarget) GetType() string { + return "route-target" +} + +func (obj *RouteTarget) GetDefaultParent() []string { + name := []string{} + return name +} + +func (obj *RouteTarget) GetDefaultParentType() string { + return "" +} + +func (obj *RouteTarget) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *RouteTarget) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *RouteTarget) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *RouteTarget) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *RouteTarget) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *RouteTarget) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *RouteTarget) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= route_target_id_perms +} + +func (obj *RouteTarget) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *RouteTarget) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= route_target_perms2 +} + +func (obj *RouteTarget) GetDisplayName() string { + return obj.display_name +} + +func (obj *RouteTarget) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= route_target_display_name +} + +func (obj *RouteTarget) readLogicalRouterBackRefs() error { + if !obj.IsTransient() && + (obj.valid & route_target_logical_router_back_refs == 0) { + err := obj.GetField(obj, "logical_router_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *RouteTarget) GetLogicalRouterBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLogicalRouterBackRefs() + if err != nil { + return nil, err + } + return obj.logical_router_back_refs, nil +} + +func (obj *RouteTarget) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & route_target_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & route_target_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & route_target_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *RouteTarget) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= route_target_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= route_target_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= route_target_display_name + } + break + case "logical_router_back_refs": + err = json.Unmarshal(value, &obj.logical_router_back_refs) + if err == nil { + obj.valid |= route_target_logical_router_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *RouteTarget) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & route_target_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & route_target_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & route_target_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *RouteTarget) UpdateReferences() error { + + return nil +} + +func RouteTargetByName(c contrail.ApiClient, fqn string) (*RouteTarget, error) { + obj, err := c.FindByName("route-target", fqn) + if err != nil { + return nil, err + } + return obj.(*RouteTarget), nil +} + +func RouteTargetByUuid(c contrail.ApiClient, uuid string) (*RouteTarget, error) { + obj, err := c.FindByUuid("route-target", uuid) + if err != nil { + return nil, err + } + return obj.(*RouteTarget), nil +} diff --git a/types/route_target_list.go b/types/route_target_list.go new file mode 100644 index 0000000..3f22844 --- /dev/null +++ b/types/route_target_list.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type RouteTargetList struct { + RouteTarget []string `json:"route_target,omitempty"` +} + +func (obj *RouteTargetList) AddRouteTarget(value string) { + obj.RouteTarget = append(obj.RouteTarget, value) +} diff --git a/types/route_type.go b/types/route_type.go new file mode 100644 index 0000000..0c94451 --- /dev/null +++ b/types/route_type.go @@ -0,0 +1,12 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type RouteType struct { + Prefix string `json:"prefix,omitempty"` + NextHop string `json:"next_hop,omitempty"` + NextHopType string `json:"next_hop_type,omitempty"` + CommunityAttributes *CommunityAttributes `json:"community_attributes,omitempty"` +} diff --git a/types/routing_instance.go b/types/routing_instance.go new file mode 100644 index 0000000..5a98807 --- /dev/null +++ b/types/routing_instance.go @@ -0,0 +1,281 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + routing_instance_id_perms uint64 = 1 << iota + routing_instance_perms2 + routing_instance_display_name + routing_instance_virtual_machine_interface_back_refs +) + +type RoutingInstance struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_machine_interface_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *RoutingInstance) GetType() string { + return "routing-instance" +} + +func (obj *RoutingInstance) GetDefaultParent() []string { + name := []string{"default-domain", "default-project", "default-virtual-network"} + return name +} + +func (obj *RoutingInstance) GetDefaultParentType() string { + return "virtual-network" +} + +func (obj *RoutingInstance) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *RoutingInstance) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *RoutingInstance) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *RoutingInstance) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *RoutingInstance) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *RoutingInstance) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *RoutingInstance) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= routing_instance_id_perms +} + +func (obj *RoutingInstance) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *RoutingInstance) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= routing_instance_perms2 +} + +func (obj *RoutingInstance) GetDisplayName() string { + return obj.display_name +} + +func (obj *RoutingInstance) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= routing_instance_display_name +} + +func (obj *RoutingInstance) readVirtualMachineInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & routing_instance_virtual_machine_interface_back_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *RoutingInstance) GetVirtualMachineInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_back_refs, nil +} + +func (obj *RoutingInstance) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & routing_instance_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & routing_instance_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & routing_instance_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *RoutingInstance) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= routing_instance_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= routing_instance_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= routing_instance_display_name + } + break + case "virtual_machine_interface_back_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr PolicyBasedForwardingRuleType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= routing_instance_virtual_machine_interface_back_refs + obj.virtual_machine_interface_back_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.virtual_machine_interface_back_refs = append(obj.virtual_machine_interface_back_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *RoutingInstance) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & routing_instance_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & routing_instance_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & routing_instance_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *RoutingInstance) UpdateReferences() error { + + return nil +} + +func RoutingInstanceByName(c contrail.ApiClient, fqn string) (*RoutingInstance, error) { + obj, err := c.FindByName("routing-instance", fqn) + if err != nil { + return nil, err + } + return obj.(*RoutingInstance), nil +} + +func RoutingInstanceByUuid(c contrail.ApiClient, uuid string) (*RoutingInstance, error) { + obj, err := c.FindByUuid("routing-instance", uuid) + if err != nil { + return nil, err + } + return obj.(*RoutingInstance), nil +} diff --git a/types/routing_policy.go b/types/routing_policy.go new file mode 100644 index 0000000..5d68315 --- /dev/null +++ b/types/routing_policy.go @@ -0,0 +1,387 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + routing_policy_id_perms uint64 = 1 << iota + routing_policy_perms2 + routing_policy_display_name + routing_policy_service_instance_refs +) + +type RoutingPolicy struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + service_instance_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *RoutingPolicy) GetType() string { + return "routing-policy" +} + +func (obj *RoutingPolicy) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *RoutingPolicy) GetDefaultParentType() string { + return "project" +} + +func (obj *RoutingPolicy) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *RoutingPolicy) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *RoutingPolicy) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *RoutingPolicy) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *RoutingPolicy) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *RoutingPolicy) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *RoutingPolicy) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= routing_policy_id_perms +} + +func (obj *RoutingPolicy) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *RoutingPolicy) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= routing_policy_perms2 +} + +func (obj *RoutingPolicy) GetDisplayName() string { + return obj.display_name +} + +func (obj *RoutingPolicy) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= routing_policy_display_name +} + +func (obj *RoutingPolicy) readServiceInstanceRefs() error { + if !obj.IsTransient() && + (obj.valid & routing_policy_service_instance_refs == 0) { + err := obj.GetField(obj, "service_instance_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *RoutingPolicy) GetServiceInstanceRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceInstanceRefs() + if err != nil { + return nil, err + } + return obj.service_instance_refs, nil +} + +func (obj *RoutingPolicy) AddServiceInstance( + rhs *ServiceInstance, data RoutingPolicyServiceInstanceType) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & routing_policy_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), data} + obj.service_instance_refs = append(obj.service_instance_refs, ref) + obj.modified |= routing_policy_service_instance_refs + return nil +} + +func (obj *RoutingPolicy) DeleteServiceInstance(uuid string) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & routing_policy_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + for i, ref := range obj.service_instance_refs { + if ref.Uuid == uuid { + obj.service_instance_refs = append( + obj.service_instance_refs[:i], + obj.service_instance_refs[i+1:]...) + break + } + } + obj.modified |= routing_policy_service_instance_refs + return nil +} + +func (obj *RoutingPolicy) ClearServiceInstance() { + if (obj.valid & routing_policy_service_instance_refs != 0) && + (obj.modified & routing_policy_service_instance_refs == 0) { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + obj.service_instance_refs = make([]contrail.Reference, 0) + obj.valid |= routing_policy_service_instance_refs + obj.modified |= routing_policy_service_instance_refs +} + +func (obj *RoutingPolicy) SetServiceInstanceList( + refList []contrail.ReferencePair) { + obj.ClearServiceInstance() + obj.service_instance_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_instance_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *RoutingPolicy) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & routing_policy_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & routing_policy_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & routing_policy_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.service_instance_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *RoutingPolicy) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= routing_policy_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= routing_policy_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= routing_policy_display_name + } + break + case "service_instance_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr RoutingPolicyServiceInstanceType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= routing_policy_service_instance_refs + obj.service_instance_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.service_instance_refs = append(obj.service_instance_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *RoutingPolicy) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & routing_policy_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & routing_policy_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & routing_policy_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & routing_policy_service_instance_refs != 0 { + if len(obj.service_instance_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } else if !obj.hasReferenceBase("service-instance") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *RoutingPolicy) UpdateReferences() error { + + if (obj.modified & routing_policy_service_instance_refs != 0) && + len(obj.service_instance_refs) > 0 && + obj.hasReferenceBase("service-instance") { + err := obj.UpdateReference( + obj, "service-instance", + obj.service_instance_refs, + obj.baseMap["service-instance"]) + if err != nil { + return err + } + } + + return nil +} + +func RoutingPolicyByName(c contrail.ApiClient, fqn string) (*RoutingPolicy, error) { + obj, err := c.FindByName("routing-policy", fqn) + if err != nil { + return nil, err + } + return obj.(*RoutingPolicy), nil +} + +func RoutingPolicyByUuid(c contrail.ApiClient, uuid string) (*RoutingPolicy, error) { + obj, err := c.FindByUuid("routing-policy", uuid) + if err != nil { + return nil, err + } + return obj.(*RoutingPolicy), nil +} diff --git a/types/routing_policy_service_instance_type.go b/types/routing_policy_service_instance_type.go new file mode 100644 index 0000000..7cf9287 --- /dev/null +++ b/types/routing_policy_service_instance_type.go @@ -0,0 +1,10 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type RoutingPolicyServiceInstanceType struct { + LeftSequence string `json:"left_sequence,omitempty"` + RightSequence string `json:"right_sequence,omitempty"` +} diff --git a/types/s_n_m_p_credentials.go b/types/s_n_m_p_credentials.go new file mode 100644 index 0000000..8558436 --- /dev/null +++ b/types/s_n_m_p_credentials.go @@ -0,0 +1,25 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type SNMPCredentials struct { + Version int `json:"version,omitempty"` + LocalPort int `json:"local_port,omitempty"` + Retries int `json:"retries,omitempty"` + Timeout int `json:"timeout,omitempty"` + V2Community string `json:"v2_community,omitempty"` + V3SecurityName string `json:"v3_security_name,omitempty"` + V3SecurityLevel string `json:"v3_security_level,omitempty"` + V3SecurityEngineId string `json:"v3_security_engine_id,omitempty"` + V3Context string `json:"v3_context,omitempty"` + V3ContextEngineId string `json:"v3_context_engine_id,omitempty"` + V3AuthenticationProtocol string `json:"v3_authentication_protocol,omitempty"` + V3AuthenticationPassword string `json:"v3_authentication_password,omitempty"` + V3PrivacyProtocol string `json:"v3_privacy_protocol,omitempty"` + V3PrivacyPassword string `json:"v3_privacy_password,omitempty"` + V3EngineId string `json:"v3_engine_id,omitempty"` + V3EngineBoots int `json:"v3_engine_boots,omitempty"` + V3EngineTime int `json:"v3_engine_time,omitempty"` +} diff --git a/types/security_group.go b/types/security_group.go new file mode 100644 index 0000000..597a88e --- /dev/null +++ b/types/security_group.go @@ -0,0 +1,395 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + security_group_security_group_id uint64 = 1 << iota + security_group_configured_security_group_id + security_group_security_group_entries + security_group_id_perms + security_group_perms2 + security_group_display_name + security_group_access_control_lists + security_group_virtual_machine_interface_back_refs +) + +type SecurityGroup struct { + contrail.ObjectBase + security_group_id string + configured_security_group_id int + security_group_entries PolicyEntriesType + id_perms IdPermsType + perms2 PermType2 + display_name string + access_control_lists contrail.ReferenceList + virtual_machine_interface_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *SecurityGroup) GetType() string { + return "security-group" +} + +func (obj *SecurityGroup) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *SecurityGroup) GetDefaultParentType() string { + return "project" +} + +func (obj *SecurityGroup) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *SecurityGroup) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *SecurityGroup) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *SecurityGroup) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *SecurityGroup) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *SecurityGroup) GetSecurityGroupId() string { + return obj.security_group_id +} + +func (obj *SecurityGroup) SetSecurityGroupId(value string) { + obj.security_group_id = value + obj.modified |= security_group_security_group_id +} + +func (obj *SecurityGroup) GetConfiguredSecurityGroupId() int { + return obj.configured_security_group_id +} + +func (obj *SecurityGroup) SetConfiguredSecurityGroupId(value int) { + obj.configured_security_group_id = value + obj.modified |= security_group_configured_security_group_id +} + +func (obj *SecurityGroup) GetSecurityGroupEntries() PolicyEntriesType { + return obj.security_group_entries +} + +func (obj *SecurityGroup) SetSecurityGroupEntries(value *PolicyEntriesType) { + obj.security_group_entries = *value + obj.modified |= security_group_security_group_entries +} + +func (obj *SecurityGroup) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *SecurityGroup) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= security_group_id_perms +} + +func (obj *SecurityGroup) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *SecurityGroup) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= security_group_perms2 +} + +func (obj *SecurityGroup) GetDisplayName() string { + return obj.display_name +} + +func (obj *SecurityGroup) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= security_group_display_name +} + +func (obj *SecurityGroup) readAccessControlLists() error { + if !obj.IsTransient() && + (obj.valid & security_group_access_control_lists == 0) { + err := obj.GetField(obj, "access_control_lists") + if err != nil { + return err + } + } + return nil +} + +func (obj *SecurityGroup) GetAccessControlLists() ( + contrail.ReferenceList, error) { + err := obj.readAccessControlLists() + if err != nil { + return nil, err + } + return obj.access_control_lists, nil +} + +func (obj *SecurityGroup) readVirtualMachineInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & security_group_virtual_machine_interface_back_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *SecurityGroup) GetVirtualMachineInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_back_refs, nil +} + +func (obj *SecurityGroup) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & security_group_security_group_id != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.security_group_id) + if err != nil { + return nil, err + } + msg["security_group_id"] = &value + } + + if obj.modified & security_group_configured_security_group_id != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.configured_security_group_id) + if err != nil { + return nil, err + } + msg["configured_security_group_id"] = &value + } + + if obj.modified & security_group_security_group_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.security_group_entries) + if err != nil { + return nil, err + } + msg["security_group_entries"] = &value + } + + if obj.modified & security_group_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & security_group_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & security_group_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *SecurityGroup) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "security_group_id": + err = json.Unmarshal(value, &obj.security_group_id) + if err == nil { + obj.valid |= security_group_security_group_id + } + break + case "configured_security_group_id": + err = json.Unmarshal(value, &obj.configured_security_group_id) + if err == nil { + obj.valid |= security_group_configured_security_group_id + } + break + case "security_group_entries": + err = json.Unmarshal(value, &obj.security_group_entries) + if err == nil { + obj.valid |= security_group_security_group_entries + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= security_group_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= security_group_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= security_group_display_name + } + break + case "access_control_lists": + err = json.Unmarshal(value, &obj.access_control_lists) + if err == nil { + obj.valid |= security_group_access_control_lists + } + break + case "virtual_machine_interface_back_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_back_refs) + if err == nil { + obj.valid |= security_group_virtual_machine_interface_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *SecurityGroup) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & security_group_security_group_id != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.security_group_id) + if err != nil { + return nil, err + } + msg["security_group_id"] = &value + } + + if obj.modified & security_group_configured_security_group_id != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.configured_security_group_id) + if err != nil { + return nil, err + } + msg["configured_security_group_id"] = &value + } + + if obj.modified & security_group_security_group_entries != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.security_group_entries) + if err != nil { + return nil, err + } + msg["security_group_entries"] = &value + } + + if obj.modified & security_group_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & security_group_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & security_group_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *SecurityGroup) UpdateReferences() error { + + return nil +} + +func SecurityGroupByName(c contrail.ApiClient, fqn string) (*SecurityGroup, error) { + obj, err := c.FindByName("security-group", fqn) + if err != nil { + return nil, err + } + return obj.(*SecurityGroup), nil +} + +func SecurityGroupByUuid(c contrail.ApiClient, uuid string) (*SecurityGroup, error) { + obj, err := c.FindByUuid("security-group", uuid) + if err != nil { + return nil, err + } + return obj.(*SecurityGroup), nil +} diff --git a/types/sequence_type.go b/types/sequence_type.go new file mode 100644 index 0000000..5fb9dac --- /dev/null +++ b/types/sequence_type.go @@ -0,0 +1,10 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type SequenceType struct { + Major int `json:"major,omitempty"` + Minor int `json:"minor,omitempty"` +} diff --git a/types/service_appliance.go b/types/service_appliance.go new file mode 100644 index 0000000..68e8cdc --- /dev/null +++ b/types/service_appliance.go @@ -0,0 +1,492 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + service_appliance_service_appliance_user_credentials uint64 = 1 << iota + service_appliance_service_appliance_ip_address + service_appliance_service_appliance_properties + service_appliance_id_perms + service_appliance_perms2 + service_appliance_display_name + service_appliance_physical_interface_refs +) + +type ServiceAppliance struct { + contrail.ObjectBase + service_appliance_user_credentials UserCredentials + service_appliance_ip_address string + service_appliance_properties KeyValuePairs + id_perms IdPermsType + perms2 PermType2 + display_name string + physical_interface_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *ServiceAppliance) GetType() string { + return "service-appliance" +} + +func (obj *ServiceAppliance) GetDefaultParent() []string { + name := []string{"default-global-system-config", "default-service-appliance-set"} + return name +} + +func (obj *ServiceAppliance) GetDefaultParentType() string { + return "service-appliance-set" +} + +func (obj *ServiceAppliance) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *ServiceAppliance) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *ServiceAppliance) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *ServiceAppliance) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *ServiceAppliance) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *ServiceAppliance) GetServiceApplianceUserCredentials() UserCredentials { + return obj.service_appliance_user_credentials +} + +func (obj *ServiceAppliance) SetServiceApplianceUserCredentials(value *UserCredentials) { + obj.service_appliance_user_credentials = *value + obj.modified |= service_appliance_service_appliance_user_credentials +} + +func (obj *ServiceAppliance) GetServiceApplianceIpAddress() string { + return obj.service_appliance_ip_address +} + +func (obj *ServiceAppliance) SetServiceApplianceIpAddress(value string) { + obj.service_appliance_ip_address = value + obj.modified |= service_appliance_service_appliance_ip_address +} + +func (obj *ServiceAppliance) GetServiceApplianceProperties() KeyValuePairs { + return obj.service_appliance_properties +} + +func (obj *ServiceAppliance) SetServiceApplianceProperties(value *KeyValuePairs) { + obj.service_appliance_properties = *value + obj.modified |= service_appliance_service_appliance_properties +} + +func (obj *ServiceAppliance) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *ServiceAppliance) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= service_appliance_id_perms +} + +func (obj *ServiceAppliance) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *ServiceAppliance) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= service_appliance_perms2 +} + +func (obj *ServiceAppliance) GetDisplayName() string { + return obj.display_name +} + +func (obj *ServiceAppliance) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= service_appliance_display_name +} + +func (obj *ServiceAppliance) readPhysicalInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & service_appliance_physical_interface_refs == 0) { + err := obj.GetField(obj, "physical_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceAppliance) GetPhysicalInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readPhysicalInterfaceRefs() + if err != nil { + return nil, err + } + return obj.physical_interface_refs, nil +} + +func (obj *ServiceAppliance) AddPhysicalInterface( + rhs *PhysicalInterface, data ServiceApplianceInterfaceType) error { + err := obj.readPhysicalInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & service_appliance_physical_interface_refs == 0 { + obj.storeReferenceBase("physical-interface", obj.physical_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), data} + obj.physical_interface_refs = append(obj.physical_interface_refs, ref) + obj.modified |= service_appliance_physical_interface_refs + return nil +} + +func (obj *ServiceAppliance) DeletePhysicalInterface(uuid string) error { + err := obj.readPhysicalInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & service_appliance_physical_interface_refs == 0 { + obj.storeReferenceBase("physical-interface", obj.physical_interface_refs) + } + + for i, ref := range obj.physical_interface_refs { + if ref.Uuid == uuid { + obj.physical_interface_refs = append( + obj.physical_interface_refs[:i], + obj.physical_interface_refs[i+1:]...) + break + } + } + obj.modified |= service_appliance_physical_interface_refs + return nil +} + +func (obj *ServiceAppliance) ClearPhysicalInterface() { + if (obj.valid & service_appliance_physical_interface_refs != 0) && + (obj.modified & service_appliance_physical_interface_refs == 0) { + obj.storeReferenceBase("physical-interface", obj.physical_interface_refs) + } + obj.physical_interface_refs = make([]contrail.Reference, 0) + obj.valid |= service_appliance_physical_interface_refs + obj.modified |= service_appliance_physical_interface_refs +} + +func (obj *ServiceAppliance) SetPhysicalInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearPhysicalInterface() + obj.physical_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.physical_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *ServiceAppliance) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & service_appliance_service_appliance_user_credentials != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_user_credentials) + if err != nil { + return nil, err + } + msg["service_appliance_user_credentials"] = &value + } + + if obj.modified & service_appliance_service_appliance_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_ip_address) + if err != nil { + return nil, err + } + msg["service_appliance_ip_address"] = &value + } + + if obj.modified & service_appliance_service_appliance_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_properties) + if err != nil { + return nil, err + } + msg["service_appliance_properties"] = &value + } + + if obj.modified & service_appliance_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & service_appliance_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & service_appliance_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.physical_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_interface_refs) + if err != nil { + return nil, err + } + msg["physical_interface_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ServiceAppliance) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "service_appliance_user_credentials": + err = json.Unmarshal(value, &obj.service_appliance_user_credentials) + if err == nil { + obj.valid |= service_appliance_service_appliance_user_credentials + } + break + case "service_appliance_ip_address": + err = json.Unmarshal(value, &obj.service_appliance_ip_address) + if err == nil { + obj.valid |= service_appliance_service_appliance_ip_address + } + break + case "service_appliance_properties": + err = json.Unmarshal(value, &obj.service_appliance_properties) + if err == nil { + obj.valid |= service_appliance_service_appliance_properties + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= service_appliance_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= service_appliance_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= service_appliance_display_name + } + break + case "physical_interface_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr ServiceApplianceInterfaceType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= service_appliance_physical_interface_refs + obj.physical_interface_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.physical_interface_refs = append(obj.physical_interface_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceAppliance) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & service_appliance_service_appliance_user_credentials != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_user_credentials) + if err != nil { + return nil, err + } + msg["service_appliance_user_credentials"] = &value + } + + if obj.modified & service_appliance_service_appliance_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_ip_address) + if err != nil { + return nil, err + } + msg["service_appliance_ip_address"] = &value + } + + if obj.modified & service_appliance_service_appliance_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_properties) + if err != nil { + return nil, err + } + msg["service_appliance_properties"] = &value + } + + if obj.modified & service_appliance_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & service_appliance_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & service_appliance_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & service_appliance_physical_interface_refs != 0 { + if len(obj.physical_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["physical_interface_refs"] = &value + } else if !obj.hasReferenceBase("physical-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_interface_refs) + if err != nil { + return nil, err + } + msg["physical_interface_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *ServiceAppliance) UpdateReferences() error { + + if (obj.modified & service_appliance_physical_interface_refs != 0) && + len(obj.physical_interface_refs) > 0 && + obj.hasReferenceBase("physical-interface") { + err := obj.UpdateReference( + obj, "physical-interface", + obj.physical_interface_refs, + obj.baseMap["physical-interface"]) + if err != nil { + return err + } + } + + return nil +} + +func ServiceApplianceByName(c contrail.ApiClient, fqn string) (*ServiceAppliance, error) { + obj, err := c.FindByName("service-appliance", fqn) + if err != nil { + return nil, err + } + return obj.(*ServiceAppliance), nil +} + +func ServiceApplianceByUuid(c contrail.ApiClient, uuid string) (*ServiceAppliance, error) { + obj, err := c.FindByUuid("service-appliance", uuid) + if err != nil { + return nil, err + } + return obj.(*ServiceAppliance), nil +} diff --git a/types/service_appliance_interface_type.go b/types/service_appliance_interface_type.go new file mode 100644 index 0000000..ce25c09 --- /dev/null +++ b/types/service_appliance_interface_type.go @@ -0,0 +1,9 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type ServiceApplianceInterfaceType struct { + InterfaceType string `json:"interface_type,omitempty"` +} diff --git a/types/service_appliance_set.go b/types/service_appliance_set.go new file mode 100644 index 0000000..fcee41c --- /dev/null +++ b/types/service_appliance_set.go @@ -0,0 +1,423 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + service_appliance_set_service_appliance_set_properties uint64 = 1 << iota + service_appliance_set_service_appliance_driver + service_appliance_set_service_appliance_ha_mode + service_appliance_set_id_perms + service_appliance_set_perms2 + service_appliance_set_display_name + service_appliance_set_service_appliances + service_appliance_set_service_template_back_refs + service_appliance_set_loadbalancer_pool_back_refs +) + +type ServiceApplianceSet struct { + contrail.ObjectBase + service_appliance_set_properties KeyValuePairs + service_appliance_driver string + service_appliance_ha_mode string + id_perms IdPermsType + perms2 PermType2 + display_name string + service_appliances contrail.ReferenceList + service_template_back_refs contrail.ReferenceList + loadbalancer_pool_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *ServiceApplianceSet) GetType() string { + return "service-appliance-set" +} + +func (obj *ServiceApplianceSet) GetDefaultParent() []string { + name := []string{"default-global-system-config"} + return name +} + +func (obj *ServiceApplianceSet) GetDefaultParentType() string { + return "global-system-config" +} + +func (obj *ServiceApplianceSet) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *ServiceApplianceSet) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *ServiceApplianceSet) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *ServiceApplianceSet) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *ServiceApplianceSet) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *ServiceApplianceSet) GetServiceApplianceSetProperties() KeyValuePairs { + return obj.service_appliance_set_properties +} + +func (obj *ServiceApplianceSet) SetServiceApplianceSetProperties(value *KeyValuePairs) { + obj.service_appliance_set_properties = *value + obj.modified |= service_appliance_set_service_appliance_set_properties +} + +func (obj *ServiceApplianceSet) GetServiceApplianceDriver() string { + return obj.service_appliance_driver +} + +func (obj *ServiceApplianceSet) SetServiceApplianceDriver(value string) { + obj.service_appliance_driver = value + obj.modified |= service_appliance_set_service_appliance_driver +} + +func (obj *ServiceApplianceSet) GetServiceApplianceHaMode() string { + return obj.service_appliance_ha_mode +} + +func (obj *ServiceApplianceSet) SetServiceApplianceHaMode(value string) { + obj.service_appliance_ha_mode = value + obj.modified |= service_appliance_set_service_appliance_ha_mode +} + +func (obj *ServiceApplianceSet) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *ServiceApplianceSet) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= service_appliance_set_id_perms +} + +func (obj *ServiceApplianceSet) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *ServiceApplianceSet) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= service_appliance_set_perms2 +} + +func (obj *ServiceApplianceSet) GetDisplayName() string { + return obj.display_name +} + +func (obj *ServiceApplianceSet) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= service_appliance_set_display_name +} + +func (obj *ServiceApplianceSet) readServiceAppliances() error { + if !obj.IsTransient() && + (obj.valid & service_appliance_set_service_appliances == 0) { + err := obj.GetField(obj, "service_appliances") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceApplianceSet) GetServiceAppliances() ( + contrail.ReferenceList, error) { + err := obj.readServiceAppliances() + if err != nil { + return nil, err + } + return obj.service_appliances, nil +} + +func (obj *ServiceApplianceSet) readServiceTemplateBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_appliance_set_service_template_back_refs == 0) { + err := obj.GetField(obj, "service_template_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceApplianceSet) GetServiceTemplateBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceTemplateBackRefs() + if err != nil { + return nil, err + } + return obj.service_template_back_refs, nil +} + +func (obj *ServiceApplianceSet) readLoadbalancerPoolBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_appliance_set_loadbalancer_pool_back_refs == 0) { + err := obj.GetField(obj, "loadbalancer_pool_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceApplianceSet) GetLoadbalancerPoolBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerPoolBackRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_pool_back_refs, nil +} + +func (obj *ServiceApplianceSet) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & service_appliance_set_service_appliance_set_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_set_properties) + if err != nil { + return nil, err + } + msg["service_appliance_set_properties"] = &value + } + + if obj.modified & service_appliance_set_service_appliance_driver != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_driver) + if err != nil { + return nil, err + } + msg["service_appliance_driver"] = &value + } + + if obj.modified & service_appliance_set_service_appliance_ha_mode != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_ha_mode) + if err != nil { + return nil, err + } + msg["service_appliance_ha_mode"] = &value + } + + if obj.modified & service_appliance_set_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & service_appliance_set_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & service_appliance_set_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ServiceApplianceSet) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "service_appliance_set_properties": + err = json.Unmarshal(value, &obj.service_appliance_set_properties) + if err == nil { + obj.valid |= service_appliance_set_service_appliance_set_properties + } + break + case "service_appliance_driver": + err = json.Unmarshal(value, &obj.service_appliance_driver) + if err == nil { + obj.valid |= service_appliance_set_service_appliance_driver + } + break + case "service_appliance_ha_mode": + err = json.Unmarshal(value, &obj.service_appliance_ha_mode) + if err == nil { + obj.valid |= service_appliance_set_service_appliance_ha_mode + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= service_appliance_set_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= service_appliance_set_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= service_appliance_set_display_name + } + break + case "service_appliances": + err = json.Unmarshal(value, &obj.service_appliances) + if err == nil { + obj.valid |= service_appliance_set_service_appliances + } + break + case "service_template_back_refs": + err = json.Unmarshal(value, &obj.service_template_back_refs) + if err == nil { + obj.valid |= service_appliance_set_service_template_back_refs + } + break + case "loadbalancer_pool_back_refs": + err = json.Unmarshal(value, &obj.loadbalancer_pool_back_refs) + if err == nil { + obj.valid |= service_appliance_set_loadbalancer_pool_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceApplianceSet) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & service_appliance_set_service_appliance_set_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_set_properties) + if err != nil { + return nil, err + } + msg["service_appliance_set_properties"] = &value + } + + if obj.modified & service_appliance_set_service_appliance_driver != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_driver) + if err != nil { + return nil, err + } + msg["service_appliance_driver"] = &value + } + + if obj.modified & service_appliance_set_service_appliance_ha_mode != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_ha_mode) + if err != nil { + return nil, err + } + msg["service_appliance_ha_mode"] = &value + } + + if obj.modified & service_appliance_set_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & service_appliance_set_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & service_appliance_set_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ServiceApplianceSet) UpdateReferences() error { + + return nil +} + +func ServiceApplianceSetByName(c contrail.ApiClient, fqn string) (*ServiceApplianceSet, error) { + obj, err := c.FindByName("service-appliance-set", fqn) + if err != nil { + return nil, err + } + return obj.(*ServiceApplianceSet), nil +} + +func ServiceApplianceSetByUuid(c contrail.ApiClient, uuid string) (*ServiceApplianceSet, error) { + obj, err := c.FindByUuid("service-appliance-set", uuid) + if err != nil { + return nil, err + } + return obj.(*ServiceApplianceSet), nil +} diff --git a/types/service_health_check.go b/types/service_health_check.go new file mode 100644 index 0000000..4405b99 --- /dev/null +++ b/types/service_health_check.go @@ -0,0 +1,450 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + service_health_check_service_health_check_properties uint64 = 1 << iota + service_health_check_id_perms + service_health_check_perms2 + service_health_check_display_name + service_health_check_service_instance_refs + service_health_check_virtual_machine_interface_back_refs +) + +type ServiceHealthCheck struct { + contrail.ObjectBase + service_health_check_properties ServiceHealthCheckType + id_perms IdPermsType + perms2 PermType2 + display_name string + service_instance_refs contrail.ReferenceList + virtual_machine_interface_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *ServiceHealthCheck) GetType() string { + return "service-health-check" +} + +func (obj *ServiceHealthCheck) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *ServiceHealthCheck) GetDefaultParentType() string { + return "project" +} + +func (obj *ServiceHealthCheck) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *ServiceHealthCheck) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *ServiceHealthCheck) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *ServiceHealthCheck) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *ServiceHealthCheck) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *ServiceHealthCheck) GetServiceHealthCheckProperties() ServiceHealthCheckType { + return obj.service_health_check_properties +} + +func (obj *ServiceHealthCheck) SetServiceHealthCheckProperties(value *ServiceHealthCheckType) { + obj.service_health_check_properties = *value + obj.modified |= service_health_check_service_health_check_properties +} + +func (obj *ServiceHealthCheck) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *ServiceHealthCheck) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= service_health_check_id_perms +} + +func (obj *ServiceHealthCheck) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *ServiceHealthCheck) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= service_health_check_perms2 +} + +func (obj *ServiceHealthCheck) GetDisplayName() string { + return obj.display_name +} + +func (obj *ServiceHealthCheck) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= service_health_check_display_name +} + +func (obj *ServiceHealthCheck) readServiceInstanceRefs() error { + if !obj.IsTransient() && + (obj.valid & service_health_check_service_instance_refs == 0) { + err := obj.GetField(obj, "service_instance_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceHealthCheck) GetServiceInstanceRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceInstanceRefs() + if err != nil { + return nil, err + } + return obj.service_instance_refs, nil +} + +func (obj *ServiceHealthCheck) AddServiceInstance( + rhs *ServiceInstance, data ServiceInterfaceTag) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & service_health_check_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), data} + obj.service_instance_refs = append(obj.service_instance_refs, ref) + obj.modified |= service_health_check_service_instance_refs + return nil +} + +func (obj *ServiceHealthCheck) DeleteServiceInstance(uuid string) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & service_health_check_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + for i, ref := range obj.service_instance_refs { + if ref.Uuid == uuid { + obj.service_instance_refs = append( + obj.service_instance_refs[:i], + obj.service_instance_refs[i+1:]...) + break + } + } + obj.modified |= service_health_check_service_instance_refs + return nil +} + +func (obj *ServiceHealthCheck) ClearServiceInstance() { + if (obj.valid & service_health_check_service_instance_refs != 0) && + (obj.modified & service_health_check_service_instance_refs == 0) { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + obj.service_instance_refs = make([]contrail.Reference, 0) + obj.valid |= service_health_check_service_instance_refs + obj.modified |= service_health_check_service_instance_refs +} + +func (obj *ServiceHealthCheck) SetServiceInstanceList( + refList []contrail.ReferencePair) { + obj.ClearServiceInstance() + obj.service_instance_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_instance_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *ServiceHealthCheck) readVirtualMachineInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_health_check_virtual_machine_interface_back_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceHealthCheck) GetVirtualMachineInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_back_refs, nil +} + +func (obj *ServiceHealthCheck) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & service_health_check_service_health_check_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_health_check_properties) + if err != nil { + return nil, err + } + msg["service_health_check_properties"] = &value + } + + if obj.modified & service_health_check_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & service_health_check_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & service_health_check_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.service_instance_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ServiceHealthCheck) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "service_health_check_properties": + err = json.Unmarshal(value, &obj.service_health_check_properties) + if err == nil { + obj.valid |= service_health_check_service_health_check_properties + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= service_health_check_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= service_health_check_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= service_health_check_display_name + } + break + case "virtual_machine_interface_back_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_back_refs) + if err == nil { + obj.valid |= service_health_check_virtual_machine_interface_back_refs + } + break + case "service_instance_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr ServiceInterfaceTag + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= service_health_check_service_instance_refs + obj.service_instance_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.service_instance_refs = append(obj.service_instance_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceHealthCheck) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & service_health_check_service_health_check_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_health_check_properties) + if err != nil { + return nil, err + } + msg["service_health_check_properties"] = &value + } + + if obj.modified & service_health_check_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & service_health_check_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & service_health_check_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & service_health_check_service_instance_refs != 0 { + if len(obj.service_instance_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } else if !obj.hasReferenceBase("service-instance") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *ServiceHealthCheck) UpdateReferences() error { + + if (obj.modified & service_health_check_service_instance_refs != 0) && + len(obj.service_instance_refs) > 0 && + obj.hasReferenceBase("service-instance") { + err := obj.UpdateReference( + obj, "service-instance", + obj.service_instance_refs, + obj.baseMap["service-instance"]) + if err != nil { + return err + } + } + + return nil +} + +func ServiceHealthCheckByName(c contrail.ApiClient, fqn string) (*ServiceHealthCheck, error) { + obj, err := c.FindByName("service-health-check", fqn) + if err != nil { + return nil, err + } + return obj.(*ServiceHealthCheck), nil +} + +func ServiceHealthCheckByUuid(c contrail.ApiClient, uuid string) (*ServiceHealthCheck, error) { + obj, err := c.FindByUuid("service-health-check", uuid) + if err != nil { + return nil, err + } + return obj.(*ServiceHealthCheck), nil +} diff --git a/types/service_health_check_type.go b/types/service_health_check_type.go new file mode 100644 index 0000000..4aa7852 --- /dev/null +++ b/types/service_health_check_type.go @@ -0,0 +1,17 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type ServiceHealthCheckType struct { + Enabled bool `json:"enabled,omitempty"` + HealthCheckType string `json:"health_check_type,omitempty"` + MonitorType string `json:"monitor_type,omitempty"` + Delay int `json:"delay,omitempty"` + Timeout int `json:"timeout,omitempty"` + MaxRetries int `json:"max_retries,omitempty"` + HttpMethod string `json:"http_method,omitempty"` + UrlPath string `json:"url_path,omitempty"` + ExpectedCodes string `json:"expected_codes,omitempty"` +} diff --git a/types/service_instance.go b/types/service_instance.go new file mode 100644 index 0000000..6498f87 --- /dev/null +++ b/types/service_instance.go @@ -0,0 +1,919 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + service_instance_service_instance_properties uint64 = 1 << iota + service_instance_service_instance_bindings + service_instance_id_perms + service_instance_perms2 + service_instance_display_name + service_instance_service_template_refs + service_instance_instance_ip_refs + service_instance_port_tuples + service_instance_virtual_machine_back_refs + service_instance_service_health_check_back_refs + service_instance_interface_route_table_back_refs + service_instance_routing_policy_back_refs + service_instance_route_aggregate_back_refs + service_instance_logical_router_back_refs + service_instance_loadbalancer_pool_back_refs + service_instance_loadbalancer_back_refs +) + +type ServiceInstance struct { + contrail.ObjectBase + service_instance_properties ServiceInstanceType + service_instance_bindings KeyValuePairs + id_perms IdPermsType + perms2 PermType2 + display_name string + service_template_refs contrail.ReferenceList + instance_ip_refs contrail.ReferenceList + port_tuples contrail.ReferenceList + virtual_machine_back_refs contrail.ReferenceList + service_health_check_back_refs contrail.ReferenceList + interface_route_table_back_refs contrail.ReferenceList + routing_policy_back_refs contrail.ReferenceList + route_aggregate_back_refs contrail.ReferenceList + logical_router_back_refs contrail.ReferenceList + loadbalancer_pool_back_refs contrail.ReferenceList + loadbalancer_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *ServiceInstance) GetType() string { + return "service-instance" +} + +func (obj *ServiceInstance) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *ServiceInstance) GetDefaultParentType() string { + return "project" +} + +func (obj *ServiceInstance) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *ServiceInstance) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *ServiceInstance) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *ServiceInstance) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *ServiceInstance) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *ServiceInstance) GetServiceInstanceProperties() ServiceInstanceType { + return obj.service_instance_properties +} + +func (obj *ServiceInstance) SetServiceInstanceProperties(value *ServiceInstanceType) { + obj.service_instance_properties = *value + obj.modified |= service_instance_service_instance_properties +} + +func (obj *ServiceInstance) GetServiceInstanceBindings() KeyValuePairs { + return obj.service_instance_bindings +} + +func (obj *ServiceInstance) SetServiceInstanceBindings(value *KeyValuePairs) { + obj.service_instance_bindings = *value + obj.modified |= service_instance_service_instance_bindings +} + +func (obj *ServiceInstance) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *ServiceInstance) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= service_instance_id_perms +} + +func (obj *ServiceInstance) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *ServiceInstance) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= service_instance_perms2 +} + +func (obj *ServiceInstance) GetDisplayName() string { + return obj.display_name +} + +func (obj *ServiceInstance) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= service_instance_display_name +} + +func (obj *ServiceInstance) readPortTuples() error { + if !obj.IsTransient() && + (obj.valid & service_instance_port_tuples == 0) { + err := obj.GetField(obj, "port_tuples") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) GetPortTuples() ( + contrail.ReferenceList, error) { + err := obj.readPortTuples() + if err != nil { + return nil, err + } + return obj.port_tuples, nil +} + +func (obj *ServiceInstance) readServiceTemplateRefs() error { + if !obj.IsTransient() && + (obj.valid & service_instance_service_template_refs == 0) { + err := obj.GetField(obj, "service_template_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) GetServiceTemplateRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceTemplateRefs() + if err != nil { + return nil, err + } + return obj.service_template_refs, nil +} + +func (obj *ServiceInstance) AddServiceTemplate( + rhs *ServiceTemplate) error { + err := obj.readServiceTemplateRefs() + if err != nil { + return err + } + + if obj.modified & service_instance_service_template_refs == 0 { + obj.storeReferenceBase("service-template", obj.service_template_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.service_template_refs = append(obj.service_template_refs, ref) + obj.modified |= service_instance_service_template_refs + return nil +} + +func (obj *ServiceInstance) DeleteServiceTemplate(uuid string) error { + err := obj.readServiceTemplateRefs() + if err != nil { + return err + } + + if obj.modified & service_instance_service_template_refs == 0 { + obj.storeReferenceBase("service-template", obj.service_template_refs) + } + + for i, ref := range obj.service_template_refs { + if ref.Uuid == uuid { + obj.service_template_refs = append( + obj.service_template_refs[:i], + obj.service_template_refs[i+1:]...) + break + } + } + obj.modified |= service_instance_service_template_refs + return nil +} + +func (obj *ServiceInstance) ClearServiceTemplate() { + if (obj.valid & service_instance_service_template_refs != 0) && + (obj.modified & service_instance_service_template_refs == 0) { + obj.storeReferenceBase("service-template", obj.service_template_refs) + } + obj.service_template_refs = make([]contrail.Reference, 0) + obj.valid |= service_instance_service_template_refs + obj.modified |= service_instance_service_template_refs +} + +func (obj *ServiceInstance) SetServiceTemplateList( + refList []contrail.ReferencePair) { + obj.ClearServiceTemplate() + obj.service_template_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_template_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *ServiceInstance) readInstanceIpRefs() error { + if !obj.IsTransient() && + (obj.valid & service_instance_instance_ip_refs == 0) { + err := obj.GetField(obj, "instance_ip_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) GetInstanceIpRefs() ( + contrail.ReferenceList, error) { + err := obj.readInstanceIpRefs() + if err != nil { + return nil, err + } + return obj.instance_ip_refs, nil +} + +func (obj *ServiceInstance) AddInstanceIp( + rhs *InstanceIp, data ServiceInterfaceTag) error { + err := obj.readInstanceIpRefs() + if err != nil { + return err + } + + if obj.modified & service_instance_instance_ip_refs == 0 { + obj.storeReferenceBase("instance-ip", obj.instance_ip_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), data} + obj.instance_ip_refs = append(obj.instance_ip_refs, ref) + obj.modified |= service_instance_instance_ip_refs + return nil +} + +func (obj *ServiceInstance) DeleteInstanceIp(uuid string) error { + err := obj.readInstanceIpRefs() + if err != nil { + return err + } + + if obj.modified & service_instance_instance_ip_refs == 0 { + obj.storeReferenceBase("instance-ip", obj.instance_ip_refs) + } + + for i, ref := range obj.instance_ip_refs { + if ref.Uuid == uuid { + obj.instance_ip_refs = append( + obj.instance_ip_refs[:i], + obj.instance_ip_refs[i+1:]...) + break + } + } + obj.modified |= service_instance_instance_ip_refs + return nil +} + +func (obj *ServiceInstance) ClearInstanceIp() { + if (obj.valid & service_instance_instance_ip_refs != 0) && + (obj.modified & service_instance_instance_ip_refs == 0) { + obj.storeReferenceBase("instance-ip", obj.instance_ip_refs) + } + obj.instance_ip_refs = make([]contrail.Reference, 0) + obj.valid |= service_instance_instance_ip_refs + obj.modified |= service_instance_instance_ip_refs +} + +func (obj *ServiceInstance) SetInstanceIpList( + refList []contrail.ReferencePair) { + obj.ClearInstanceIp() + obj.instance_ip_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.instance_ip_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *ServiceInstance) readVirtualMachineBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_instance_virtual_machine_back_refs == 0) { + err := obj.GetField(obj, "virtual_machine_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) GetVirtualMachineBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_back_refs, nil +} + +func (obj *ServiceInstance) readServiceHealthCheckBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_instance_service_health_check_back_refs == 0) { + err := obj.GetField(obj, "service_health_check_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) GetServiceHealthCheckBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceHealthCheckBackRefs() + if err != nil { + return nil, err + } + return obj.service_health_check_back_refs, nil +} + +func (obj *ServiceInstance) readInterfaceRouteTableBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_instance_interface_route_table_back_refs == 0) { + err := obj.GetField(obj, "interface_route_table_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) GetInterfaceRouteTableBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readInterfaceRouteTableBackRefs() + if err != nil { + return nil, err + } + return obj.interface_route_table_back_refs, nil +} + +func (obj *ServiceInstance) readRoutingPolicyBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_instance_routing_policy_back_refs == 0) { + err := obj.GetField(obj, "routing_policy_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) GetRoutingPolicyBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readRoutingPolicyBackRefs() + if err != nil { + return nil, err + } + return obj.routing_policy_back_refs, nil +} + +func (obj *ServiceInstance) readRouteAggregateBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_instance_route_aggregate_back_refs == 0) { + err := obj.GetField(obj, "route_aggregate_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) GetRouteAggregateBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readRouteAggregateBackRefs() + if err != nil { + return nil, err + } + return obj.route_aggregate_back_refs, nil +} + +func (obj *ServiceInstance) readLogicalRouterBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_instance_logical_router_back_refs == 0) { + err := obj.GetField(obj, "logical_router_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) GetLogicalRouterBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLogicalRouterBackRefs() + if err != nil { + return nil, err + } + return obj.logical_router_back_refs, nil +} + +func (obj *ServiceInstance) readLoadbalancerPoolBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_instance_loadbalancer_pool_back_refs == 0) { + err := obj.GetField(obj, "loadbalancer_pool_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) GetLoadbalancerPoolBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerPoolBackRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_pool_back_refs, nil +} + +func (obj *ServiceInstance) readLoadbalancerBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_instance_loadbalancer_back_refs == 0) { + err := obj.GetField(obj, "loadbalancer_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) GetLoadbalancerBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerBackRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_back_refs, nil +} + +func (obj *ServiceInstance) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & service_instance_service_instance_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_properties) + if err != nil { + return nil, err + } + msg["service_instance_properties"] = &value + } + + if obj.modified & service_instance_service_instance_bindings != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_bindings) + if err != nil { + return nil, err + } + msg["service_instance_bindings"] = &value + } + + if obj.modified & service_instance_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & service_instance_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & service_instance_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.service_template_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_template_refs) + if err != nil { + return nil, err + } + msg["service_template_refs"] = &value + } + + if len(obj.instance_ip_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.instance_ip_refs) + if err != nil { + return nil, err + } + msg["instance_ip_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ServiceInstance) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "service_instance_properties": + err = json.Unmarshal(value, &obj.service_instance_properties) + if err == nil { + obj.valid |= service_instance_service_instance_properties + } + break + case "service_instance_bindings": + err = json.Unmarshal(value, &obj.service_instance_bindings) + if err == nil { + obj.valid |= service_instance_service_instance_bindings + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= service_instance_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= service_instance_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= service_instance_display_name + } + break + case "service_template_refs": + err = json.Unmarshal(value, &obj.service_template_refs) + if err == nil { + obj.valid |= service_instance_service_template_refs + } + break + case "port_tuples": + err = json.Unmarshal(value, &obj.port_tuples) + if err == nil { + obj.valid |= service_instance_port_tuples + } + break + case "virtual_machine_back_refs": + err = json.Unmarshal(value, &obj.virtual_machine_back_refs) + if err == nil { + obj.valid |= service_instance_virtual_machine_back_refs + } + break + case "logical_router_back_refs": + err = json.Unmarshal(value, &obj.logical_router_back_refs) + if err == nil { + obj.valid |= service_instance_logical_router_back_refs + } + break + case "loadbalancer_pool_back_refs": + err = json.Unmarshal(value, &obj.loadbalancer_pool_back_refs) + if err == nil { + obj.valid |= service_instance_loadbalancer_pool_back_refs + } + break + case "loadbalancer_back_refs": + err = json.Unmarshal(value, &obj.loadbalancer_back_refs) + if err == nil { + obj.valid |= service_instance_loadbalancer_back_refs + } + break + case "instance_ip_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr ServiceInterfaceTag + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= service_instance_instance_ip_refs + obj.instance_ip_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.instance_ip_refs = append(obj.instance_ip_refs, ref) + } + break + } + case "service_health_check_back_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr ServiceInterfaceTag + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= service_instance_service_health_check_back_refs + obj.service_health_check_back_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.service_health_check_back_refs = append(obj.service_health_check_back_refs, ref) + } + break + } + case "interface_route_table_back_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr ServiceInterfaceTag + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= service_instance_interface_route_table_back_refs + obj.interface_route_table_back_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.interface_route_table_back_refs = append(obj.interface_route_table_back_refs, ref) + } + break + } + case "routing_policy_back_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr RoutingPolicyServiceInstanceType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= service_instance_routing_policy_back_refs + obj.routing_policy_back_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.routing_policy_back_refs = append(obj.routing_policy_back_refs, ref) + } + break + } + case "route_aggregate_back_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr ServiceInterfaceTag + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= service_instance_route_aggregate_back_refs + obj.route_aggregate_back_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.route_aggregate_back_refs = append(obj.route_aggregate_back_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceInstance) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & service_instance_service_instance_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_properties) + if err != nil { + return nil, err + } + msg["service_instance_properties"] = &value + } + + if obj.modified & service_instance_service_instance_bindings != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_bindings) + if err != nil { + return nil, err + } + msg["service_instance_bindings"] = &value + } + + if obj.modified & service_instance_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & service_instance_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & service_instance_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & service_instance_service_template_refs != 0 { + if len(obj.service_template_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_template_refs"] = &value + } else if !obj.hasReferenceBase("service-template") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_template_refs) + if err != nil { + return nil, err + } + msg["service_template_refs"] = &value + } + } + + + if obj.modified & service_instance_instance_ip_refs != 0 { + if len(obj.instance_ip_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["instance_ip_refs"] = &value + } else if !obj.hasReferenceBase("instance-ip") { + var value json.RawMessage + value, err := json.Marshal(&obj.instance_ip_refs) + if err != nil { + return nil, err + } + msg["instance_ip_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *ServiceInstance) UpdateReferences() error { + + if (obj.modified & service_instance_service_template_refs != 0) && + len(obj.service_template_refs) > 0 && + obj.hasReferenceBase("service-template") { + err := obj.UpdateReference( + obj, "service-template", + obj.service_template_refs, + obj.baseMap["service-template"]) + if err != nil { + return err + } + } + + if (obj.modified & service_instance_instance_ip_refs != 0) && + len(obj.instance_ip_refs) > 0 && + obj.hasReferenceBase("instance-ip") { + err := obj.UpdateReference( + obj, "instance-ip", + obj.instance_ip_refs, + obj.baseMap["instance-ip"]) + if err != nil { + return err + } + } + + return nil +} + +func ServiceInstanceByName(c contrail.ApiClient, fqn string) (*ServiceInstance, error) { + obj, err := c.FindByName("service-instance", fqn) + if err != nil { + return nil, err + } + return obj.(*ServiceInstance), nil +} + +func ServiceInstanceByUuid(c contrail.ApiClient, uuid string) (*ServiceInstance, error) { + obj, err := c.FindByUuid("service-instance", uuid) + if err != nil { + return nil, err + } + return obj.(*ServiceInstance), nil +} diff --git a/types/service_instance_type.go b/types/service_instance_type.go new file mode 100644 index 0000000..bc75696 --- /dev/null +++ b/types/service_instance_type.go @@ -0,0 +1,35 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type ServiceInstanceInterfaceType struct { + VirtualNetwork string `json:"virtual_network,omitempty"` + IpAddress string `json:"ip_address,omitempty"` + StaticRoutes *RouteTableType `json:"static_routes,omitempty"` + AllowedAddressPairs *AllowedAddressPairs `json:"allowed_address_pairs,omitempty"` +} + +type ServiceScaleOutType struct { + MaxInstances int `json:"max_instances,omitempty"` + AutoScale bool `json:"auto_scale,omitempty"` +} + +type ServiceInstanceType struct { + AutoPolicy bool `json:"auto_policy,omitempty"` + AvailabilityZone string `json:"availability_zone,omitempty"` + ManagementVirtualNetwork string `json:"management_virtual_network,omitempty"` + LeftVirtualNetwork string `json:"left_virtual_network,omitempty"` + LeftIpAddress string `json:"left_ip_address,omitempty"` + RightVirtualNetwork string `json:"right_virtual_network,omitempty"` + RightIpAddress string `json:"right_ip_address,omitempty"` + InterfaceList []ServiceInstanceInterfaceType `json:"interface_list,omitempty"` + ScaleOut *ServiceScaleOutType `json:"scale_out,omitempty"` + HaMode string `json:"ha_mode,omitempty"` + VirtualRouterId string `json:"virtual_router_id,omitempty"` +} + +func (obj *ServiceInstanceType) AddInterfaceList(value *ServiceInstanceInterfaceType) { + obj.InterfaceList = append(obj.InterfaceList, *value) +} diff --git a/types/service_interface_tag.go b/types/service_interface_tag.go new file mode 100644 index 0000000..2d54d5f --- /dev/null +++ b/types/service_interface_tag.go @@ -0,0 +1,9 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type ServiceInterfaceTag struct { + InterfaceType string `json:"interface_type,omitempty"` +} diff --git a/types/service_template.go b/types/service_template.go new file mode 100644 index 0000000..a28fd8f --- /dev/null +++ b/types/service_template.go @@ -0,0 +1,431 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + service_template_service_template_properties uint64 = 1 << iota + service_template_id_perms + service_template_perms2 + service_template_display_name + service_template_service_appliance_set_refs + service_template_service_instance_back_refs +) + +type ServiceTemplate struct { + contrail.ObjectBase + service_template_properties ServiceTemplateType + id_perms IdPermsType + perms2 PermType2 + display_name string + service_appliance_set_refs contrail.ReferenceList + service_instance_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *ServiceTemplate) GetType() string { + return "service-template" +} + +func (obj *ServiceTemplate) GetDefaultParent() []string { + name := []string{"default-domain"} + return name +} + +func (obj *ServiceTemplate) GetDefaultParentType() string { + return "domain" +} + +func (obj *ServiceTemplate) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *ServiceTemplate) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *ServiceTemplate) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *ServiceTemplate) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *ServiceTemplate) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *ServiceTemplate) GetServiceTemplateProperties() ServiceTemplateType { + return obj.service_template_properties +} + +func (obj *ServiceTemplate) SetServiceTemplateProperties(value *ServiceTemplateType) { + obj.service_template_properties = *value + obj.modified |= service_template_service_template_properties +} + +func (obj *ServiceTemplate) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *ServiceTemplate) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= service_template_id_perms +} + +func (obj *ServiceTemplate) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *ServiceTemplate) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= service_template_perms2 +} + +func (obj *ServiceTemplate) GetDisplayName() string { + return obj.display_name +} + +func (obj *ServiceTemplate) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= service_template_display_name +} + +func (obj *ServiceTemplate) readServiceApplianceSetRefs() error { + if !obj.IsTransient() && + (obj.valid & service_template_service_appliance_set_refs == 0) { + err := obj.GetField(obj, "service_appliance_set_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceTemplate) GetServiceApplianceSetRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceApplianceSetRefs() + if err != nil { + return nil, err + } + return obj.service_appliance_set_refs, nil +} + +func (obj *ServiceTemplate) AddServiceApplianceSet( + rhs *ServiceApplianceSet) error { + err := obj.readServiceApplianceSetRefs() + if err != nil { + return err + } + + if obj.modified & service_template_service_appliance_set_refs == 0 { + obj.storeReferenceBase("service-appliance-set", obj.service_appliance_set_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.service_appliance_set_refs = append(obj.service_appliance_set_refs, ref) + obj.modified |= service_template_service_appliance_set_refs + return nil +} + +func (obj *ServiceTemplate) DeleteServiceApplianceSet(uuid string) error { + err := obj.readServiceApplianceSetRefs() + if err != nil { + return err + } + + if obj.modified & service_template_service_appliance_set_refs == 0 { + obj.storeReferenceBase("service-appliance-set", obj.service_appliance_set_refs) + } + + for i, ref := range obj.service_appliance_set_refs { + if ref.Uuid == uuid { + obj.service_appliance_set_refs = append( + obj.service_appliance_set_refs[:i], + obj.service_appliance_set_refs[i+1:]...) + break + } + } + obj.modified |= service_template_service_appliance_set_refs + return nil +} + +func (obj *ServiceTemplate) ClearServiceApplianceSet() { + if (obj.valid & service_template_service_appliance_set_refs != 0) && + (obj.modified & service_template_service_appliance_set_refs == 0) { + obj.storeReferenceBase("service-appliance-set", obj.service_appliance_set_refs) + } + obj.service_appliance_set_refs = make([]contrail.Reference, 0) + obj.valid |= service_template_service_appliance_set_refs + obj.modified |= service_template_service_appliance_set_refs +} + +func (obj *ServiceTemplate) SetServiceApplianceSetList( + refList []contrail.ReferencePair) { + obj.ClearServiceApplianceSet() + obj.service_appliance_set_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_appliance_set_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *ServiceTemplate) readServiceInstanceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & service_template_service_instance_back_refs == 0) { + err := obj.GetField(obj, "service_instance_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceTemplate) GetServiceInstanceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceInstanceBackRefs() + if err != nil { + return nil, err + } + return obj.service_instance_back_refs, nil +} + +func (obj *ServiceTemplate) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & service_template_service_template_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_template_properties) + if err != nil { + return nil, err + } + msg["service_template_properties"] = &value + } + + if obj.modified & service_template_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & service_template_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & service_template_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.service_appliance_set_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_set_refs) + if err != nil { + return nil, err + } + msg["service_appliance_set_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *ServiceTemplate) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "service_template_properties": + err = json.Unmarshal(value, &obj.service_template_properties) + if err == nil { + obj.valid |= service_template_service_template_properties + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= service_template_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= service_template_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= service_template_display_name + } + break + case "service_appliance_set_refs": + err = json.Unmarshal(value, &obj.service_appliance_set_refs) + if err == nil { + obj.valid |= service_template_service_appliance_set_refs + } + break + case "service_instance_back_refs": + err = json.Unmarshal(value, &obj.service_instance_back_refs) + if err == nil { + obj.valid |= service_template_service_instance_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *ServiceTemplate) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & service_template_service_template_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_template_properties) + if err != nil { + return nil, err + } + msg["service_template_properties"] = &value + } + + if obj.modified & service_template_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & service_template_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & service_template_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & service_template_service_appliance_set_refs != 0 { + if len(obj.service_appliance_set_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_appliance_set_refs"] = &value + } else if !obj.hasReferenceBase("service-appliance-set") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_appliance_set_refs) + if err != nil { + return nil, err + } + msg["service_appliance_set_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *ServiceTemplate) UpdateReferences() error { + + if (obj.modified & service_template_service_appliance_set_refs != 0) && + len(obj.service_appliance_set_refs) > 0 && + obj.hasReferenceBase("service-appliance-set") { + err := obj.UpdateReference( + obj, "service-appliance-set", + obj.service_appliance_set_refs, + obj.baseMap["service-appliance-set"]) + if err != nil { + return err + } + } + + return nil +} + +func ServiceTemplateByName(c contrail.ApiClient, fqn string) (*ServiceTemplate, error) { + obj, err := c.FindByName("service-template", fqn) + if err != nil { + return nil, err + } + return obj.(*ServiceTemplate), nil +} + +func ServiceTemplateByUuid(c contrail.ApiClient, uuid string) (*ServiceTemplate, error) { + obj, err := c.FindByUuid("service-template", uuid) + if err != nil { + return nil, err + } + return obj.(*ServiceTemplate), nil +} diff --git a/types/service_template_type.go b/types/service_template_type.go new file mode 100644 index 0000000..ce97a6a --- /dev/null +++ b/types/service_template_type.go @@ -0,0 +1,30 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type ServiceTemplateInterfaceType struct { + ServiceInterfaceType string `json:"service_interface_type,omitempty"` + SharedIp bool `json:"shared_ip,omitempty"` + StaticRouteEnable bool `json:"static_route_enable,omitempty"` +} + +type ServiceTemplateType struct { + Version int `json:"version,omitempty"` + ServiceMode string `json:"service_mode,omitempty"` + ServiceType string `json:"service_type,omitempty"` + ImageName string `json:"image_name,omitempty"` + ServiceScaling bool `json:"service_scaling,omitempty"` + InterfaceType []ServiceTemplateInterfaceType `json:"interface_type,omitempty"` + Flavor string `json:"flavor,omitempty"` + OrderedInterfaces bool `json:"ordered_interfaces,omitempty"` + ServiceVirtualizationType string `json:"service_virtualization_type,omitempty"` + AvailabilityZoneEnable bool `json:"availability_zone_enable,omitempty"` + VrouterInstanceType string `json:"vrouter_instance_type,omitempty"` + InstanceData string `json:"instance_data,omitempty"` +} + +func (obj *ServiceTemplateType) AddInterfaceType(value *ServiceTemplateInterfaceType) { + obj.InterfaceType = append(obj.InterfaceType, *value) +} diff --git a/types/subnet.go b/types/subnet.go new file mode 100644 index 0000000..72efd27 --- /dev/null +++ b/types/subnet.go @@ -0,0 +1,403 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + subnet_subnet_ip_prefix uint64 = 1 << iota + subnet_id_perms + subnet_perms2 + subnet_display_name + subnet_virtual_machine_interface_refs +) + +type Subnet struct { + contrail.ObjectBase + subnet_ip_prefix SubnetType + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_machine_interface_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *Subnet) GetType() string { + return "subnet" +} + +func (obj *Subnet) GetDefaultParent() []string { + name := []string{} + return name +} + +func (obj *Subnet) GetDefaultParentType() string { + return "" +} + +func (obj *Subnet) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *Subnet) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *Subnet) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *Subnet) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *Subnet) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *Subnet) GetSubnetIpPrefix() SubnetType { + return obj.subnet_ip_prefix +} + +func (obj *Subnet) SetSubnetIpPrefix(value *SubnetType) { + obj.subnet_ip_prefix = *value + obj.modified |= subnet_subnet_ip_prefix +} + +func (obj *Subnet) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *Subnet) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= subnet_id_perms +} + +func (obj *Subnet) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *Subnet) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= subnet_perms2 +} + +func (obj *Subnet) GetDisplayName() string { + return obj.display_name +} + +func (obj *Subnet) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= subnet_display_name +} + +func (obj *Subnet) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & subnet_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *Subnet) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *Subnet) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & subnet_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= subnet_virtual_machine_interface_refs + return nil +} + +func (obj *Subnet) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & subnet_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= subnet_virtual_machine_interface_refs + return nil +} + +func (obj *Subnet) ClearVirtualMachineInterface() { + if (obj.valid & subnet_virtual_machine_interface_refs != 0) && + (obj.modified & subnet_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= subnet_virtual_machine_interface_refs + obj.modified |= subnet_virtual_machine_interface_refs +} + +func (obj *Subnet) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *Subnet) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & subnet_subnet_ip_prefix != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.subnet_ip_prefix) + if err != nil { + return nil, err + } + msg["subnet_ip_prefix"] = &value + } + + if obj.modified & subnet_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & subnet_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & subnet_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *Subnet) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "subnet_ip_prefix": + err = json.Unmarshal(value, &obj.subnet_ip_prefix) + if err == nil { + obj.valid |= subnet_subnet_ip_prefix + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= subnet_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= subnet_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= subnet_display_name + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= subnet_virtual_machine_interface_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *Subnet) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & subnet_subnet_ip_prefix != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.subnet_ip_prefix) + if err != nil { + return nil, err + } + msg["subnet_ip_prefix"] = &value + } + + if obj.modified & subnet_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & subnet_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & subnet_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & subnet_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *Subnet) UpdateReferences() error { + + if (obj.modified & subnet_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + return nil +} + +func SubnetByName(c contrail.ApiClient, fqn string) (*Subnet, error) { + obj, err := c.FindByName("subnet", fqn) + if err != nil { + return nil, err + } + return obj.(*Subnet), nil +} + +func SubnetByUuid(c contrail.ApiClient, uuid string) (*Subnet, error) { + obj, err := c.FindByUuid("subnet", uuid) + if err != nil { + return nil, err + } + return obj.(*Subnet), nil +} diff --git a/types/subnet_list_type.go b/types/subnet_list_type.go new file mode 100644 index 0000000..fa80b69 --- /dev/null +++ b/types/subnet_list_type.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type SubnetListType struct { + Subnet []SubnetType `json:"subnet,omitempty"` +} + +func (obj *SubnetListType) AddSubnet(value *SubnetType) { + obj.Subnet = append(obj.Subnet, *value) +} diff --git a/types/subnet_type.go b/types/subnet_type.go new file mode 100644 index 0000000..318c9f8 --- /dev/null +++ b/types/subnet_type.go @@ -0,0 +1,10 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type SubnetType struct { + IpPrefix string `json:"ip_prefix,omitempty"` + IpPrefixLen int `json:"ip_prefix_len,omitempty"` +} diff --git a/types/types.go b/types/types.go new file mode 100644 index 0000000..f791a7e --- /dev/null +++ b/types/types.go @@ -0,0 +1,77 @@ + +package types + +import ( + "reflect" + + "github.com/Juniper/contrail-go-api" +) + +var ( + TypeMap = map[string]reflect.Type { + "domain": reflect.TypeOf(Domain{}), + "global-vrouter-config": reflect.TypeOf(GlobalVrouterConfig{}), + "instance-ip": reflect.TypeOf(InstanceIp{}), + "floating-ip-pool": reflect.TypeOf(FloatingIpPool{}), + "loadbalancer-pool": reflect.TypeOf(LoadbalancerPool{}), + "virtual-DNS-record": reflect.TypeOf(VirtualDnsRecord{}), + "route-target": reflect.TypeOf(RouteTarget{}), + "alarm": reflect.TypeOf(Alarm{}), + "discovery-service-assignment": reflect.TypeOf(DiscoveryServiceAssignment{}), + "floating-ip": reflect.TypeOf(FloatingIp{}), + "alias-ip": reflect.TypeOf(AliasIp{}), + "network-policy": reflect.TypeOf(NetworkPolicy{}), + "physical-router": reflect.TypeOf(PhysicalRouter{}), + "bgp-router": reflect.TypeOf(BgpRouter{}), + "api-access-list": reflect.TypeOf(ApiAccessList{}), + "virtual-router": reflect.TypeOf(VirtualRouter{}), + "config-root": reflect.TypeOf(ConfigRoot{}), + "subnet": reflect.TypeOf(Subnet{}), + "global-system-config": reflect.TypeOf(GlobalSystemConfig{}), + "service-appliance": reflect.TypeOf(ServiceAppliance{}), + "routing-policy": reflect.TypeOf(RoutingPolicy{}), + "namespace": reflect.TypeOf(Namespace{}), + "forwarding-class": reflect.TypeOf(ForwardingClass{}), + "service-instance": reflect.TypeOf(ServiceInstance{}), + "route-table": reflect.TypeOf(RouteTable{}), + "physical-interface": reflect.TypeOf(PhysicalInterface{}), + "access-control-list": reflect.TypeOf(AccessControlList{}), + "bgp-as-a-service": reflect.TypeOf(BgpAsAService{}), + "port-tuple": reflect.TypeOf(PortTuple{}), + "analytics-node": reflect.TypeOf(AnalyticsNode{}), + "virtual-DNS": reflect.TypeOf(VirtualDns{}), + "customer-attachment": reflect.TypeOf(CustomerAttachment{}), + "service-appliance-set": reflect.TypeOf(ServiceApplianceSet{}), + "config-node": reflect.TypeOf(ConfigNode{}), + "qos-queue": reflect.TypeOf(QosQueue{}), + "virtual-machine": reflect.TypeOf(VirtualMachine{}), + "interface-route-table": reflect.TypeOf(InterfaceRouteTable{}), + "service-template": reflect.TypeOf(ServiceTemplate{}), + "dsa-rule": reflect.TypeOf(DsaRule{}), + "global-qos-config": reflect.TypeOf(GlobalQosConfig{}), + "virtual-ip": reflect.TypeOf(VirtualIp{}), + "loadbalancer-member": reflect.TypeOf(LoadbalancerMember{}), + "security-group": reflect.TypeOf(SecurityGroup{}), + "service-health-check": reflect.TypeOf(ServiceHealthCheck{}), + "qos-config": reflect.TypeOf(QosConfig{}), + "provider-attachment": reflect.TypeOf(ProviderAttachment{}), + "virtual-machine-interface": reflect.TypeOf(VirtualMachineInterface{}), + "loadbalancer-healthmonitor": reflect.TypeOf(LoadbalancerHealthmonitor{}), + "loadbalancer-listener": reflect.TypeOf(LoadbalancerListener{}), + "virtual-network": reflect.TypeOf(VirtualNetwork{}), + "project": reflect.TypeOf(Project{}), + "logical-interface": reflect.TypeOf(LogicalInterface{}), + "loadbalancer": reflect.TypeOf(Loadbalancer{}), + "database-node": reflect.TypeOf(DatabaseNode{}), + "routing-instance": reflect.TypeOf(RoutingInstance{}), + "alias-ip-pool": reflect.TypeOf(AliasIpPool{}), + "network-ipam": reflect.TypeOf(NetworkIpam{}), + "route-aggregate": reflect.TypeOf(RouteAggregate{}), + "logical-router": reflect.TypeOf(LogicalRouter{}), + + } +) + +func init() { + contrail.RegisterTypeMap(TypeMap) +} diff --git a/types/user_credentials.go b/types/user_credentials.go new file mode 100644 index 0000000..41c8fc8 --- /dev/null +++ b/types/user_credentials.go @@ -0,0 +1,10 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type UserCredentials struct { + Username string `json:"username,omitempty"` + Password string `json:"password,omitempty"` +} diff --git a/types/user_defined_counter_list.go b/types/user_defined_counter_list.go new file mode 100644 index 0000000..5955124 --- /dev/null +++ b/types/user_defined_counter_list.go @@ -0,0 +1,18 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type UserDefinedCounter struct { + Name string `json:"name,omitempty"` + Pattern string `json:"pattern,omitempty"` +} + +type UserDefinedCounterList struct { + Counter []UserDefinedCounter `json:"counter,omitempty"` +} + +func (obj *UserDefinedCounterList) AddCounter(value *UserDefinedCounter) { + obj.Counter = append(obj.Counter, *value) +} diff --git a/types/virtual_DNS.go b/types/virtual_DNS.go new file mode 100644 index 0000000..31a0ba6 --- /dev/null +++ b/types/virtual_DNS.go @@ -0,0 +1,325 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + virtual_DNS_virtual_DNS_data uint64 = 1 << iota + virtual_DNS_id_perms + virtual_DNS_perms2 + virtual_DNS_display_name + virtual_DNS_virtual_DNS_records + virtual_DNS_network_ipam_back_refs +) + +type VirtualDns struct { + contrail.ObjectBase + virtual_DNS_data VirtualDnsType + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_DNS_records contrail.ReferenceList + network_ipam_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *VirtualDns) GetType() string { + return "virtual-DNS" +} + +func (obj *VirtualDns) GetDefaultParent() []string { + name := []string{"default-domain"} + return name +} + +func (obj *VirtualDns) GetDefaultParentType() string { + return "domain" +} + +func (obj *VirtualDns) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *VirtualDns) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *VirtualDns) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *VirtualDns) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *VirtualDns) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *VirtualDns) GetVirtualDnsData() VirtualDnsType { + return obj.virtual_DNS_data +} + +func (obj *VirtualDns) SetVirtualDnsData(value *VirtualDnsType) { + obj.virtual_DNS_data = *value + obj.modified |= virtual_DNS_virtual_DNS_data +} + +func (obj *VirtualDns) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *VirtualDns) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= virtual_DNS_id_perms +} + +func (obj *VirtualDns) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *VirtualDns) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= virtual_DNS_perms2 +} + +func (obj *VirtualDns) GetDisplayName() string { + return obj.display_name +} + +func (obj *VirtualDns) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= virtual_DNS_display_name +} + +func (obj *VirtualDns) readVirtualDnsRecords() error { + if !obj.IsTransient() && + (obj.valid & virtual_DNS_virtual_DNS_records == 0) { + err := obj.GetField(obj, "virtual_DNS_records") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualDns) GetVirtualDnsRecords() ( + contrail.ReferenceList, error) { + err := obj.readVirtualDnsRecords() + if err != nil { + return nil, err + } + return obj.virtual_DNS_records, nil +} + +func (obj *VirtualDns) readNetworkIpamBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_DNS_network_ipam_back_refs == 0) { + err := obj.GetField(obj, "network_ipam_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualDns) GetNetworkIpamBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readNetworkIpamBackRefs() + if err != nil { + return nil, err + } + return obj.network_ipam_back_refs, nil +} + +func (obj *VirtualDns) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_DNS_virtual_DNS_data != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_DNS_data) + if err != nil { + return nil, err + } + msg["virtual_DNS_data"] = &value + } + + if obj.modified & virtual_DNS_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_DNS_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_DNS_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *VirtualDns) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "virtual_DNS_data": + err = json.Unmarshal(value, &obj.virtual_DNS_data) + if err == nil { + obj.valid |= virtual_DNS_virtual_DNS_data + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= virtual_DNS_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= virtual_DNS_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= virtual_DNS_display_name + } + break + case "virtual_DNS_records": + err = json.Unmarshal(value, &obj.virtual_DNS_records) + if err == nil { + obj.valid |= virtual_DNS_virtual_DNS_records + } + break + case "network_ipam_back_refs": + err = json.Unmarshal(value, &obj.network_ipam_back_refs) + if err == nil { + obj.valid |= virtual_DNS_network_ipam_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualDns) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_DNS_virtual_DNS_data != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_DNS_data) + if err != nil { + return nil, err + } + msg["virtual_DNS_data"] = &value + } + + if obj.modified & virtual_DNS_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_DNS_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_DNS_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *VirtualDns) UpdateReferences() error { + + return nil +} + +func VirtualDnsByName(c contrail.ApiClient, fqn string) (*VirtualDns, error) { + obj, err := c.FindByName("virtual-DNS", fqn) + if err != nil { + return nil, err + } + return obj.(*VirtualDns), nil +} + +func VirtualDnsByUuid(c contrail.ApiClient, uuid string) (*VirtualDns, error) { + obj, err := c.FindByUuid("virtual-DNS", uuid) + if err != nil { + return nil, err + } + return obj.(*VirtualDns), nil +} diff --git a/types/virtual_DNS_record.go b/types/virtual_DNS_record.go new file mode 100644 index 0000000..b585024 --- /dev/null +++ b/types/virtual_DNS_record.go @@ -0,0 +1,269 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + virtual_DNS_record_virtual_DNS_record_data uint64 = 1 << iota + virtual_DNS_record_id_perms + virtual_DNS_record_perms2 + virtual_DNS_record_display_name +) + +type VirtualDnsRecord struct { + contrail.ObjectBase + virtual_DNS_record_data VirtualDnsRecordType + id_perms IdPermsType + perms2 PermType2 + display_name string + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *VirtualDnsRecord) GetType() string { + return "virtual-DNS-record" +} + +func (obj *VirtualDnsRecord) GetDefaultParent() []string { + name := []string{"default-domain", "default-virtual-DNS"} + return name +} + +func (obj *VirtualDnsRecord) GetDefaultParentType() string { + return "virtual-DNS" +} + +func (obj *VirtualDnsRecord) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *VirtualDnsRecord) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *VirtualDnsRecord) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *VirtualDnsRecord) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *VirtualDnsRecord) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *VirtualDnsRecord) GetVirtualDnsRecordData() VirtualDnsRecordType { + return obj.virtual_DNS_record_data +} + +func (obj *VirtualDnsRecord) SetVirtualDnsRecordData(value *VirtualDnsRecordType) { + obj.virtual_DNS_record_data = *value + obj.modified |= virtual_DNS_record_virtual_DNS_record_data +} + +func (obj *VirtualDnsRecord) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *VirtualDnsRecord) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= virtual_DNS_record_id_perms +} + +func (obj *VirtualDnsRecord) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *VirtualDnsRecord) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= virtual_DNS_record_perms2 +} + +func (obj *VirtualDnsRecord) GetDisplayName() string { + return obj.display_name +} + +func (obj *VirtualDnsRecord) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= virtual_DNS_record_display_name +} + +func (obj *VirtualDnsRecord) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_DNS_record_virtual_DNS_record_data != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_DNS_record_data) + if err != nil { + return nil, err + } + msg["virtual_DNS_record_data"] = &value + } + + if obj.modified & virtual_DNS_record_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_DNS_record_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_DNS_record_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *VirtualDnsRecord) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "virtual_DNS_record_data": + err = json.Unmarshal(value, &obj.virtual_DNS_record_data) + if err == nil { + obj.valid |= virtual_DNS_record_virtual_DNS_record_data + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= virtual_DNS_record_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= virtual_DNS_record_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= virtual_DNS_record_display_name + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualDnsRecord) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_DNS_record_virtual_DNS_record_data != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_DNS_record_data) + if err != nil { + return nil, err + } + msg["virtual_DNS_record_data"] = &value + } + + if obj.modified & virtual_DNS_record_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_DNS_record_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_DNS_record_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + return json.Marshal(msg) +} + +func (obj *VirtualDnsRecord) UpdateReferences() error { + + return nil +} + +func VirtualDnsRecordByName(c contrail.ApiClient, fqn string) (*VirtualDnsRecord, error) { + obj, err := c.FindByName("virtual-DNS-record", fqn) + if err != nil { + return nil, err + } + return obj.(*VirtualDnsRecord), nil +} + +func VirtualDnsRecordByUuid(c contrail.ApiClient, uuid string) (*VirtualDnsRecord, error) { + obj, err := c.FindByUuid("virtual-DNS-record", uuid) + if err != nil { + return nil, err + } + return obj.(*VirtualDnsRecord), nil +} diff --git a/types/virtual_dns_record_type.go b/types/virtual_dns_record_type.go new file mode 100644 index 0000000..aa04c6a --- /dev/null +++ b/types/virtual_dns_record_type.go @@ -0,0 +1,14 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type VirtualDnsRecordType struct { + RecordName string `json:"record_name,omitempty"` + RecordType string `json:"record_type,omitempty"` + RecordClass string `json:"record_class,omitempty"` + RecordData string `json:"record_data,omitempty"` + RecordTtlSeconds int `json:"record_ttl_seconds,omitempty"` + RecordMxPreference int `json:"record_mx_preference,omitempty"` +} diff --git a/types/virtual_dns_type.go b/types/virtual_dns_type.go new file mode 100644 index 0000000..8c5b131 --- /dev/null +++ b/types/virtual_dns_type.go @@ -0,0 +1,16 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type VirtualDnsType struct { + DomainName string `json:"domain_name,omitempty"` + DynamicRecordsFromClient bool `json:"dynamic_records_from_client,omitempty"` + RecordOrder string `json:"record_order,omitempty"` + DefaultTtlSeconds int `json:"default_ttl_seconds,omitempty"` + NextVirtualDns string `json:"next_virtual_DNS,omitempty"` + FloatingIpRecord string `json:"floating_ip_record,omitempty"` + ExternalVisible bool `json:"external_visible,omitempty"` + ReverseResolution bool `json:"reverse_resolution,omitempty"` +} diff --git a/types/virtual_ip.go b/types/virtual_ip.go new file mode 100644 index 0000000..1a8fb8d --- /dev/null +++ b/types/virtual_ip.go @@ -0,0 +1,537 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + virtual_ip_virtual_ip_properties uint64 = 1 << iota + virtual_ip_id_perms + virtual_ip_perms2 + virtual_ip_display_name + virtual_ip_loadbalancer_pool_refs + virtual_ip_virtual_machine_interface_refs +) + +type VirtualIp struct { + contrail.ObjectBase + virtual_ip_properties VirtualIpType + id_perms IdPermsType + perms2 PermType2 + display_name string + loadbalancer_pool_refs contrail.ReferenceList + virtual_machine_interface_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *VirtualIp) GetType() string { + return "virtual-ip" +} + +func (obj *VirtualIp) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *VirtualIp) GetDefaultParentType() string { + return "project" +} + +func (obj *VirtualIp) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *VirtualIp) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *VirtualIp) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *VirtualIp) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *VirtualIp) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *VirtualIp) GetVirtualIpProperties() VirtualIpType { + return obj.virtual_ip_properties +} + +func (obj *VirtualIp) SetVirtualIpProperties(value *VirtualIpType) { + obj.virtual_ip_properties = *value + obj.modified |= virtual_ip_virtual_ip_properties +} + +func (obj *VirtualIp) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *VirtualIp) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= virtual_ip_id_perms +} + +func (obj *VirtualIp) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *VirtualIp) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= virtual_ip_perms2 +} + +func (obj *VirtualIp) GetDisplayName() string { + return obj.display_name +} + +func (obj *VirtualIp) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= virtual_ip_display_name +} + +func (obj *VirtualIp) readLoadbalancerPoolRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_ip_loadbalancer_pool_refs == 0) { + err := obj.GetField(obj, "loadbalancer_pool_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualIp) GetLoadbalancerPoolRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerPoolRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_pool_refs, nil +} + +func (obj *VirtualIp) AddLoadbalancerPool( + rhs *LoadbalancerPool) error { + err := obj.readLoadbalancerPoolRefs() + if err != nil { + return err + } + + if obj.modified & virtual_ip_loadbalancer_pool_refs == 0 { + obj.storeReferenceBase("loadbalancer-pool", obj.loadbalancer_pool_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.loadbalancer_pool_refs = append(obj.loadbalancer_pool_refs, ref) + obj.modified |= virtual_ip_loadbalancer_pool_refs + return nil +} + +func (obj *VirtualIp) DeleteLoadbalancerPool(uuid string) error { + err := obj.readLoadbalancerPoolRefs() + if err != nil { + return err + } + + if obj.modified & virtual_ip_loadbalancer_pool_refs == 0 { + obj.storeReferenceBase("loadbalancer-pool", obj.loadbalancer_pool_refs) + } + + for i, ref := range obj.loadbalancer_pool_refs { + if ref.Uuid == uuid { + obj.loadbalancer_pool_refs = append( + obj.loadbalancer_pool_refs[:i], + obj.loadbalancer_pool_refs[i+1:]...) + break + } + } + obj.modified |= virtual_ip_loadbalancer_pool_refs + return nil +} + +func (obj *VirtualIp) ClearLoadbalancerPool() { + if (obj.valid & virtual_ip_loadbalancer_pool_refs != 0) && + (obj.modified & virtual_ip_loadbalancer_pool_refs == 0) { + obj.storeReferenceBase("loadbalancer-pool", obj.loadbalancer_pool_refs) + } + obj.loadbalancer_pool_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_ip_loadbalancer_pool_refs + obj.modified |= virtual_ip_loadbalancer_pool_refs +} + +func (obj *VirtualIp) SetLoadbalancerPoolList( + refList []contrail.ReferencePair) { + obj.ClearLoadbalancerPool() + obj.loadbalancer_pool_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.loadbalancer_pool_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualIp) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_ip_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualIp) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *VirtualIp) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & virtual_ip_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= virtual_ip_virtual_machine_interface_refs + return nil +} + +func (obj *VirtualIp) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & virtual_ip_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= virtual_ip_virtual_machine_interface_refs + return nil +} + +func (obj *VirtualIp) ClearVirtualMachineInterface() { + if (obj.valid & virtual_ip_virtual_machine_interface_refs != 0) && + (obj.modified & virtual_ip_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_ip_virtual_machine_interface_refs + obj.modified |= virtual_ip_virtual_machine_interface_refs +} + +func (obj *VirtualIp) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualIp) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_ip_virtual_ip_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_ip_properties) + if err != nil { + return nil, err + } + msg["virtual_ip_properties"] = &value + } + + if obj.modified & virtual_ip_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_ip_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_ip_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.loadbalancer_pool_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_pool_refs) + if err != nil { + return nil, err + } + msg["loadbalancer_pool_refs"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *VirtualIp) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "virtual_ip_properties": + err = json.Unmarshal(value, &obj.virtual_ip_properties) + if err == nil { + obj.valid |= virtual_ip_virtual_ip_properties + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= virtual_ip_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= virtual_ip_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= virtual_ip_display_name + } + break + case "loadbalancer_pool_refs": + err = json.Unmarshal(value, &obj.loadbalancer_pool_refs) + if err == nil { + obj.valid |= virtual_ip_loadbalancer_pool_refs + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= virtual_ip_virtual_machine_interface_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualIp) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_ip_virtual_ip_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_ip_properties) + if err != nil { + return nil, err + } + msg["virtual_ip_properties"] = &value + } + + if obj.modified & virtual_ip_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_ip_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_ip_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & virtual_ip_loadbalancer_pool_refs != 0 { + if len(obj.loadbalancer_pool_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["loadbalancer_pool_refs"] = &value + } else if !obj.hasReferenceBase("loadbalancer-pool") { + var value json.RawMessage + value, err := json.Marshal(&obj.loadbalancer_pool_refs) + if err != nil { + return nil, err + } + msg["loadbalancer_pool_refs"] = &value + } + } + + + if obj.modified & virtual_ip_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *VirtualIp) UpdateReferences() error { + + if (obj.modified & virtual_ip_loadbalancer_pool_refs != 0) && + len(obj.loadbalancer_pool_refs) > 0 && + obj.hasReferenceBase("loadbalancer-pool") { + err := obj.UpdateReference( + obj, "loadbalancer-pool", + obj.loadbalancer_pool_refs, + obj.baseMap["loadbalancer-pool"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_ip_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + return nil +} + +func VirtualIpByName(c contrail.ApiClient, fqn string) (*VirtualIp, error) { + obj, err := c.FindByName("virtual-ip", fqn) + if err != nil { + return nil, err + } + return obj.(*VirtualIp), nil +} + +func VirtualIpByUuid(c contrail.ApiClient, uuid string) (*VirtualIp, error) { + obj, err := c.FindByUuid("virtual-ip", uuid) + if err != nil { + return nil, err + } + return obj.(*VirtualIp), nil +} diff --git a/types/virtual_ip_type.go b/types/virtual_ip_type.go new file mode 100644 index 0000000..fa1053d --- /dev/null +++ b/types/virtual_ip_type.go @@ -0,0 +1,18 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type VirtualIpType struct { + Address string `json:"address,omitempty"` + Status string `json:"status,omitempty"` + StatusDescription string `json:"status_description,omitempty"` + AdminState bool `json:"admin_state,omitempty"` + Protocol string `json:"protocol,omitempty"` + ProtocolPort int `json:"protocol_port,omitempty"` + ConnectionLimit int `json:"connection_limit,omitempty"` + SubnetId string `json:"subnet_id,omitempty"` + PersistenceCookieName string `json:"persistence_cookie_name,omitempty"` + PersistenceType string `json:"persistence_type,omitempty"` +} diff --git a/types/virtual_machine.go b/types/virtual_machine.go new file mode 100644 index 0000000..8697bdc --- /dev/null +++ b/types/virtual_machine.go @@ -0,0 +1,452 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + virtual_machine_id_perms uint64 = 1 << iota + virtual_machine_perms2 + virtual_machine_display_name + virtual_machine_virtual_machine_interfaces + virtual_machine_service_instance_refs + virtual_machine_virtual_machine_interface_back_refs + virtual_machine_virtual_router_back_refs +) + +type VirtualMachine struct { + contrail.ObjectBase + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_machine_interfaces contrail.ReferenceList + service_instance_refs contrail.ReferenceList + virtual_machine_interface_back_refs contrail.ReferenceList + virtual_router_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *VirtualMachine) GetType() string { + return "virtual-machine" +} + +func (obj *VirtualMachine) GetDefaultParent() []string { + name := []string{} + return name +} + +func (obj *VirtualMachine) GetDefaultParentType() string { + return "" +} + +func (obj *VirtualMachine) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *VirtualMachine) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *VirtualMachine) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *VirtualMachine) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *VirtualMachine) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *VirtualMachine) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *VirtualMachine) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= virtual_machine_id_perms +} + +func (obj *VirtualMachine) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *VirtualMachine) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= virtual_machine_perms2 +} + +func (obj *VirtualMachine) GetDisplayName() string { + return obj.display_name +} + +func (obj *VirtualMachine) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= virtual_machine_display_name +} + +func (obj *VirtualMachine) readVirtualMachineInterfaces() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_virtual_machine_interfaces == 0) { + err := obj.GetField(obj, "virtual_machine_interfaces") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachine) GetVirtualMachineInterfaces() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaces() + if err != nil { + return nil, err + } + return obj.virtual_machine_interfaces, nil +} + +func (obj *VirtualMachine) readServiceInstanceRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_service_instance_refs == 0) { + err := obj.GetField(obj, "service_instance_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachine) GetServiceInstanceRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceInstanceRefs() + if err != nil { + return nil, err + } + return obj.service_instance_refs, nil +} + +func (obj *VirtualMachine) AddServiceInstance( + rhs *ServiceInstance) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.service_instance_refs = append(obj.service_instance_refs, ref) + obj.modified |= virtual_machine_service_instance_refs + return nil +} + +func (obj *VirtualMachine) DeleteServiceInstance(uuid string) error { + err := obj.readServiceInstanceRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_service_instance_refs == 0 { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + + for i, ref := range obj.service_instance_refs { + if ref.Uuid == uuid { + obj.service_instance_refs = append( + obj.service_instance_refs[:i], + obj.service_instance_refs[i+1:]...) + break + } + } + obj.modified |= virtual_machine_service_instance_refs + return nil +} + +func (obj *VirtualMachine) ClearServiceInstance() { + if (obj.valid & virtual_machine_service_instance_refs != 0) && + (obj.modified & virtual_machine_service_instance_refs == 0) { + obj.storeReferenceBase("service-instance", obj.service_instance_refs) + } + obj.service_instance_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_machine_service_instance_refs + obj.modified |= virtual_machine_service_instance_refs +} + +func (obj *VirtualMachine) SetServiceInstanceList( + refList []contrail.ReferencePair) { + obj.ClearServiceInstance() + obj.service_instance_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_instance_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualMachine) readVirtualMachineInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_virtual_machine_interface_back_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachine) GetVirtualMachineInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_back_refs, nil +} + +func (obj *VirtualMachine) readVirtualRouterBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_virtual_router_back_refs == 0) { + err := obj.GetField(obj, "virtual_router_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachine) GetVirtualRouterBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualRouterBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_router_back_refs, nil +} + +func (obj *VirtualMachine) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_machine_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_machine_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_machine_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.service_instance_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *VirtualMachine) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= virtual_machine_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= virtual_machine_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= virtual_machine_display_name + } + break + case "virtual_machine_interfaces": + err = json.Unmarshal(value, &obj.virtual_machine_interfaces) + if err == nil { + obj.valid |= virtual_machine_virtual_machine_interfaces + } + break + case "service_instance_refs": + err = json.Unmarshal(value, &obj.service_instance_refs) + if err == nil { + obj.valid |= virtual_machine_service_instance_refs + } + break + case "virtual_machine_interface_back_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_back_refs) + if err == nil { + obj.valid |= virtual_machine_virtual_machine_interface_back_refs + } + break + case "virtual_router_back_refs": + err = json.Unmarshal(value, &obj.virtual_router_back_refs) + if err == nil { + obj.valid |= virtual_machine_virtual_router_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachine) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_machine_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_machine_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_machine_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & virtual_machine_service_instance_refs != 0 { + if len(obj.service_instance_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } else if !obj.hasReferenceBase("service-instance") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_instance_refs) + if err != nil { + return nil, err + } + msg["service_instance_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *VirtualMachine) UpdateReferences() error { + + if (obj.modified & virtual_machine_service_instance_refs != 0) && + len(obj.service_instance_refs) > 0 && + obj.hasReferenceBase("service-instance") { + err := obj.UpdateReference( + obj, "service-instance", + obj.service_instance_refs, + obj.baseMap["service-instance"]) + if err != nil { + return err + } + } + + return nil +} + +func VirtualMachineByName(c contrail.ApiClient, fqn string) (*VirtualMachine, error) { + obj, err := c.FindByName("virtual-machine", fqn) + if err != nil { + return nil, err + } + return obj.(*VirtualMachine), nil +} + +func VirtualMachineByUuid(c contrail.ApiClient, uuid string) (*VirtualMachine, error) { + obj, err := c.FindByUuid("virtual-machine", uuid) + if err != nil { + return nil, err + } + return obj.(*VirtualMachine), nil +} diff --git a/types/virtual_machine_interface.go b/types/virtual_machine_interface.go new file mode 100644 index 0000000..17caf32 --- /dev/null +++ b/types/virtual_machine_interface.go @@ -0,0 +1,2314 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + virtual_machine_interface_ecmp_hashing_include_fields uint64 = 1 << iota + virtual_machine_interface_virtual_machine_interface_mac_addresses + virtual_machine_interface_virtual_machine_interface_dhcp_option_list + virtual_machine_interface_virtual_machine_interface_host_routes + virtual_machine_interface_virtual_machine_interface_allowed_address_pairs + virtual_machine_interface_vrf_assign_table + virtual_machine_interface_virtual_machine_interface_device_owner + virtual_machine_interface_virtual_machine_interface_disable_policy + virtual_machine_interface_virtual_machine_interface_properties + virtual_machine_interface_virtual_machine_interface_bindings + virtual_machine_interface_virtual_machine_interface_fat_flow_protocols + virtual_machine_interface_id_perms + virtual_machine_interface_perms2 + virtual_machine_interface_display_name + virtual_machine_interface_qos_config_refs + virtual_machine_interface_security_group_refs + virtual_machine_interface_virtual_machine_interface_refs + virtual_machine_interface_virtual_machine_refs + virtual_machine_interface_virtual_network_refs + virtual_machine_interface_routing_instance_refs + virtual_machine_interface_port_tuple_refs + virtual_machine_interface_service_health_check_refs + virtual_machine_interface_interface_route_table_refs + virtual_machine_interface_physical_interface_refs + virtual_machine_interface_virtual_machine_interface_back_refs + virtual_machine_interface_instance_ip_back_refs + virtual_machine_interface_subnet_back_refs + virtual_machine_interface_floating_ip_back_refs + virtual_machine_interface_alias_ip_back_refs + virtual_machine_interface_logical_interface_back_refs + virtual_machine_interface_bgp_as_a_service_back_refs + virtual_machine_interface_customer_attachment_back_refs + virtual_machine_interface_logical_router_back_refs + virtual_machine_interface_loadbalancer_pool_back_refs + virtual_machine_interface_virtual_ip_back_refs + virtual_machine_interface_loadbalancer_back_refs +) + +type VirtualMachineInterface struct { + contrail.ObjectBase + ecmp_hashing_include_fields EcmpHashingIncludeFields + virtual_machine_interface_mac_addresses MacAddressesType + virtual_machine_interface_dhcp_option_list DhcpOptionsListType + virtual_machine_interface_host_routes RouteTableType + virtual_machine_interface_allowed_address_pairs AllowedAddressPairs + vrf_assign_table VrfAssignTableType + virtual_machine_interface_device_owner string + virtual_machine_interface_disable_policy bool + virtual_machine_interface_properties VirtualMachineInterfacePropertiesType + virtual_machine_interface_bindings KeyValuePairs + virtual_machine_interface_fat_flow_protocols FatFlowProtocols + id_perms IdPermsType + perms2 PermType2 + display_name string + qos_config_refs contrail.ReferenceList + security_group_refs contrail.ReferenceList + virtual_machine_interface_refs contrail.ReferenceList + virtual_machine_refs contrail.ReferenceList + virtual_network_refs contrail.ReferenceList + routing_instance_refs contrail.ReferenceList + port_tuple_refs contrail.ReferenceList + service_health_check_refs contrail.ReferenceList + interface_route_table_refs contrail.ReferenceList + physical_interface_refs contrail.ReferenceList + virtual_machine_interface_back_refs contrail.ReferenceList + instance_ip_back_refs contrail.ReferenceList + subnet_back_refs contrail.ReferenceList + floating_ip_back_refs contrail.ReferenceList + alias_ip_back_refs contrail.ReferenceList + logical_interface_back_refs contrail.ReferenceList + bgp_as_a_service_back_refs contrail.ReferenceList + customer_attachment_back_refs contrail.ReferenceList + logical_router_back_refs contrail.ReferenceList + loadbalancer_pool_back_refs contrail.ReferenceList + virtual_ip_back_refs contrail.ReferenceList + loadbalancer_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *VirtualMachineInterface) GetType() string { + return "virtual-machine-interface" +} + +func (obj *VirtualMachineInterface) GetDefaultParent() []string { + name := []string{"default-virtual-machine"} + return name +} + +func (obj *VirtualMachineInterface) GetDefaultParentType() string { + return "virtual-machine" +} + +func (obj *VirtualMachineInterface) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *VirtualMachineInterface) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *VirtualMachineInterface) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *VirtualMachineInterface) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *VirtualMachineInterface) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *VirtualMachineInterface) GetEcmpHashingIncludeFields() EcmpHashingIncludeFields { + return obj.ecmp_hashing_include_fields +} + +func (obj *VirtualMachineInterface) SetEcmpHashingIncludeFields(value *EcmpHashingIncludeFields) { + obj.ecmp_hashing_include_fields = *value + obj.modified |= virtual_machine_interface_ecmp_hashing_include_fields +} + +func (obj *VirtualMachineInterface) GetVirtualMachineInterfaceMacAddresses() MacAddressesType { + return obj.virtual_machine_interface_mac_addresses +} + +func (obj *VirtualMachineInterface) SetVirtualMachineInterfaceMacAddresses(value *MacAddressesType) { + obj.virtual_machine_interface_mac_addresses = *value + obj.modified |= virtual_machine_interface_virtual_machine_interface_mac_addresses +} + +func (obj *VirtualMachineInterface) GetVirtualMachineInterfaceDhcpOptionList() DhcpOptionsListType { + return obj.virtual_machine_interface_dhcp_option_list +} + +func (obj *VirtualMachineInterface) SetVirtualMachineInterfaceDhcpOptionList(value *DhcpOptionsListType) { + obj.virtual_machine_interface_dhcp_option_list = *value + obj.modified |= virtual_machine_interface_virtual_machine_interface_dhcp_option_list +} + +func (obj *VirtualMachineInterface) GetVirtualMachineInterfaceHostRoutes() RouteTableType { + return obj.virtual_machine_interface_host_routes +} + +func (obj *VirtualMachineInterface) SetVirtualMachineInterfaceHostRoutes(value *RouteTableType) { + obj.virtual_machine_interface_host_routes = *value + obj.modified |= virtual_machine_interface_virtual_machine_interface_host_routes +} + +func (obj *VirtualMachineInterface) GetVirtualMachineInterfaceAllowedAddressPairs() AllowedAddressPairs { + return obj.virtual_machine_interface_allowed_address_pairs +} + +func (obj *VirtualMachineInterface) SetVirtualMachineInterfaceAllowedAddressPairs(value *AllowedAddressPairs) { + obj.virtual_machine_interface_allowed_address_pairs = *value + obj.modified |= virtual_machine_interface_virtual_machine_interface_allowed_address_pairs +} + +func (obj *VirtualMachineInterface) GetVrfAssignTable() VrfAssignTableType { + return obj.vrf_assign_table +} + +func (obj *VirtualMachineInterface) SetVrfAssignTable(value *VrfAssignTableType) { + obj.vrf_assign_table = *value + obj.modified |= virtual_machine_interface_vrf_assign_table +} + +func (obj *VirtualMachineInterface) GetVirtualMachineInterfaceDeviceOwner() string { + return obj.virtual_machine_interface_device_owner +} + +func (obj *VirtualMachineInterface) SetVirtualMachineInterfaceDeviceOwner(value string) { + obj.virtual_machine_interface_device_owner = value + obj.modified |= virtual_machine_interface_virtual_machine_interface_device_owner +} + +func (obj *VirtualMachineInterface) GetVirtualMachineInterfaceDisablePolicy() bool { + return obj.virtual_machine_interface_disable_policy +} + +func (obj *VirtualMachineInterface) SetVirtualMachineInterfaceDisablePolicy(value bool) { + obj.virtual_machine_interface_disable_policy = value + obj.modified |= virtual_machine_interface_virtual_machine_interface_disable_policy +} + +func (obj *VirtualMachineInterface) GetVirtualMachineInterfaceProperties() VirtualMachineInterfacePropertiesType { + return obj.virtual_machine_interface_properties +} + +func (obj *VirtualMachineInterface) SetVirtualMachineInterfaceProperties(value *VirtualMachineInterfacePropertiesType) { + obj.virtual_machine_interface_properties = *value + obj.modified |= virtual_machine_interface_virtual_machine_interface_properties +} + +func (obj *VirtualMachineInterface) GetVirtualMachineInterfaceBindings() KeyValuePairs { + return obj.virtual_machine_interface_bindings +} + +func (obj *VirtualMachineInterface) SetVirtualMachineInterfaceBindings(value *KeyValuePairs) { + obj.virtual_machine_interface_bindings = *value + obj.modified |= virtual_machine_interface_virtual_machine_interface_bindings +} + +func (obj *VirtualMachineInterface) GetVirtualMachineInterfaceFatFlowProtocols() FatFlowProtocols { + return obj.virtual_machine_interface_fat_flow_protocols +} + +func (obj *VirtualMachineInterface) SetVirtualMachineInterfaceFatFlowProtocols(value *FatFlowProtocols) { + obj.virtual_machine_interface_fat_flow_protocols = *value + obj.modified |= virtual_machine_interface_virtual_machine_interface_fat_flow_protocols +} + +func (obj *VirtualMachineInterface) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *VirtualMachineInterface) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= virtual_machine_interface_id_perms +} + +func (obj *VirtualMachineInterface) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *VirtualMachineInterface) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= virtual_machine_interface_perms2 +} + +func (obj *VirtualMachineInterface) GetDisplayName() string { + return obj.display_name +} + +func (obj *VirtualMachineInterface) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= virtual_machine_interface_display_name +} + +func (obj *VirtualMachineInterface) readQosConfigRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_qos_config_refs == 0) { + err := obj.GetField(obj, "qos_config_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetQosConfigRefs() ( + contrail.ReferenceList, error) { + err := obj.readQosConfigRefs() + if err != nil { + return nil, err + } + return obj.qos_config_refs, nil +} + +func (obj *VirtualMachineInterface) AddQosConfig( + rhs *QosConfig) error { + err := obj.readQosConfigRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_qos_config_refs == 0 { + obj.storeReferenceBase("qos-config", obj.qos_config_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.qos_config_refs = append(obj.qos_config_refs, ref) + obj.modified |= virtual_machine_interface_qos_config_refs + return nil +} + +func (obj *VirtualMachineInterface) DeleteQosConfig(uuid string) error { + err := obj.readQosConfigRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_qos_config_refs == 0 { + obj.storeReferenceBase("qos-config", obj.qos_config_refs) + } + + for i, ref := range obj.qos_config_refs { + if ref.Uuid == uuid { + obj.qos_config_refs = append( + obj.qos_config_refs[:i], + obj.qos_config_refs[i+1:]...) + break + } + } + obj.modified |= virtual_machine_interface_qos_config_refs + return nil +} + +func (obj *VirtualMachineInterface) ClearQosConfig() { + if (obj.valid & virtual_machine_interface_qos_config_refs != 0) && + (obj.modified & virtual_machine_interface_qos_config_refs == 0) { + obj.storeReferenceBase("qos-config", obj.qos_config_refs) + } + obj.qos_config_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_machine_interface_qos_config_refs + obj.modified |= virtual_machine_interface_qos_config_refs +} + +func (obj *VirtualMachineInterface) SetQosConfigList( + refList []contrail.ReferencePair) { + obj.ClearQosConfig() + obj.qos_config_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.qos_config_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualMachineInterface) readSecurityGroupRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_security_group_refs == 0) { + err := obj.GetField(obj, "security_group_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetSecurityGroupRefs() ( + contrail.ReferenceList, error) { + err := obj.readSecurityGroupRefs() + if err != nil { + return nil, err + } + return obj.security_group_refs, nil +} + +func (obj *VirtualMachineInterface) AddSecurityGroup( + rhs *SecurityGroup) error { + err := obj.readSecurityGroupRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_security_group_refs == 0 { + obj.storeReferenceBase("security-group", obj.security_group_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.security_group_refs = append(obj.security_group_refs, ref) + obj.modified |= virtual_machine_interface_security_group_refs + return nil +} + +func (obj *VirtualMachineInterface) DeleteSecurityGroup(uuid string) error { + err := obj.readSecurityGroupRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_security_group_refs == 0 { + obj.storeReferenceBase("security-group", obj.security_group_refs) + } + + for i, ref := range obj.security_group_refs { + if ref.Uuid == uuid { + obj.security_group_refs = append( + obj.security_group_refs[:i], + obj.security_group_refs[i+1:]...) + break + } + } + obj.modified |= virtual_machine_interface_security_group_refs + return nil +} + +func (obj *VirtualMachineInterface) ClearSecurityGroup() { + if (obj.valid & virtual_machine_interface_security_group_refs != 0) && + (obj.modified & virtual_machine_interface_security_group_refs == 0) { + obj.storeReferenceBase("security-group", obj.security_group_refs) + } + obj.security_group_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_machine_interface_security_group_refs + obj.modified |= virtual_machine_interface_security_group_refs +} + +func (obj *VirtualMachineInterface) SetSecurityGroupList( + refList []contrail.ReferencePair) { + obj.ClearSecurityGroup() + obj.security_group_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.security_group_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualMachineInterface) readVirtualMachineInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_virtual_machine_interface_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetVirtualMachineInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_refs, nil +} + +func (obj *VirtualMachineInterface) AddVirtualMachineInterface( + rhs *VirtualMachineInterface) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_interface_refs = append(obj.virtual_machine_interface_refs, ref) + obj.modified |= virtual_machine_interface_virtual_machine_interface_refs + return nil +} + +func (obj *VirtualMachineInterface) DeleteVirtualMachineInterface(uuid string) error { + err := obj.readVirtualMachineInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_refs == 0 { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + + for i, ref := range obj.virtual_machine_interface_refs { + if ref.Uuid == uuid { + obj.virtual_machine_interface_refs = append( + obj.virtual_machine_interface_refs[:i], + obj.virtual_machine_interface_refs[i+1:]...) + break + } + } + obj.modified |= virtual_machine_interface_virtual_machine_interface_refs + return nil +} + +func (obj *VirtualMachineInterface) ClearVirtualMachineInterface() { + if (obj.valid & virtual_machine_interface_virtual_machine_interface_refs != 0) && + (obj.modified & virtual_machine_interface_virtual_machine_interface_refs == 0) { + obj.storeReferenceBase("virtual-machine-interface", obj.virtual_machine_interface_refs) + } + obj.virtual_machine_interface_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_machine_interface_virtual_machine_interface_refs + obj.modified |= virtual_machine_interface_virtual_machine_interface_refs +} + +func (obj *VirtualMachineInterface) SetVirtualMachineInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachineInterface() + obj.virtual_machine_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualMachineInterface) readVirtualMachineRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_virtual_machine_refs == 0) { + err := obj.GetField(obj, "virtual_machine_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetVirtualMachineRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_refs, nil +} + +func (obj *VirtualMachineInterface) AddVirtualMachine( + rhs *VirtualMachine) error { + err := obj.readVirtualMachineRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_virtual_machine_refs == 0 { + obj.storeReferenceBase("virtual-machine", obj.virtual_machine_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_refs = append(obj.virtual_machine_refs, ref) + obj.modified |= virtual_machine_interface_virtual_machine_refs + return nil +} + +func (obj *VirtualMachineInterface) DeleteVirtualMachine(uuid string) error { + err := obj.readVirtualMachineRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_virtual_machine_refs == 0 { + obj.storeReferenceBase("virtual-machine", obj.virtual_machine_refs) + } + + for i, ref := range obj.virtual_machine_refs { + if ref.Uuid == uuid { + obj.virtual_machine_refs = append( + obj.virtual_machine_refs[:i], + obj.virtual_machine_refs[i+1:]...) + break + } + } + obj.modified |= virtual_machine_interface_virtual_machine_refs + return nil +} + +func (obj *VirtualMachineInterface) ClearVirtualMachine() { + if (obj.valid & virtual_machine_interface_virtual_machine_refs != 0) && + (obj.modified & virtual_machine_interface_virtual_machine_refs == 0) { + obj.storeReferenceBase("virtual-machine", obj.virtual_machine_refs) + } + obj.virtual_machine_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_machine_interface_virtual_machine_refs + obj.modified |= virtual_machine_interface_virtual_machine_refs +} + +func (obj *VirtualMachineInterface) SetVirtualMachineList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachine() + obj.virtual_machine_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualMachineInterface) readVirtualNetworkRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_virtual_network_refs == 0) { + err := obj.GetField(obj, "virtual_network_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetVirtualNetworkRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualNetworkRefs() + if err != nil { + return nil, err + } + return obj.virtual_network_refs, nil +} + +func (obj *VirtualMachineInterface) AddVirtualNetwork( + rhs *VirtualNetwork) error { + err := obj.readVirtualNetworkRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_virtual_network_refs == 0 { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_network_refs = append(obj.virtual_network_refs, ref) + obj.modified |= virtual_machine_interface_virtual_network_refs + return nil +} + +func (obj *VirtualMachineInterface) DeleteVirtualNetwork(uuid string) error { + err := obj.readVirtualNetworkRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_virtual_network_refs == 0 { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + + for i, ref := range obj.virtual_network_refs { + if ref.Uuid == uuid { + obj.virtual_network_refs = append( + obj.virtual_network_refs[:i], + obj.virtual_network_refs[i+1:]...) + break + } + } + obj.modified |= virtual_machine_interface_virtual_network_refs + return nil +} + +func (obj *VirtualMachineInterface) ClearVirtualNetwork() { + if (obj.valid & virtual_machine_interface_virtual_network_refs != 0) && + (obj.modified & virtual_machine_interface_virtual_network_refs == 0) { + obj.storeReferenceBase("virtual-network", obj.virtual_network_refs) + } + obj.virtual_network_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_machine_interface_virtual_network_refs + obj.modified |= virtual_machine_interface_virtual_network_refs +} + +func (obj *VirtualMachineInterface) SetVirtualNetworkList( + refList []contrail.ReferencePair) { + obj.ClearVirtualNetwork() + obj.virtual_network_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_network_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualMachineInterface) readRoutingInstanceRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_routing_instance_refs == 0) { + err := obj.GetField(obj, "routing_instance_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetRoutingInstanceRefs() ( + contrail.ReferenceList, error) { + err := obj.readRoutingInstanceRefs() + if err != nil { + return nil, err + } + return obj.routing_instance_refs, nil +} + +func (obj *VirtualMachineInterface) AddRoutingInstance( + rhs *RoutingInstance, data PolicyBasedForwardingRuleType) error { + err := obj.readRoutingInstanceRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_routing_instance_refs == 0 { + obj.storeReferenceBase("routing-instance", obj.routing_instance_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), data} + obj.routing_instance_refs = append(obj.routing_instance_refs, ref) + obj.modified |= virtual_machine_interface_routing_instance_refs + return nil +} + +func (obj *VirtualMachineInterface) DeleteRoutingInstance(uuid string) error { + err := obj.readRoutingInstanceRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_routing_instance_refs == 0 { + obj.storeReferenceBase("routing-instance", obj.routing_instance_refs) + } + + for i, ref := range obj.routing_instance_refs { + if ref.Uuid == uuid { + obj.routing_instance_refs = append( + obj.routing_instance_refs[:i], + obj.routing_instance_refs[i+1:]...) + break + } + } + obj.modified |= virtual_machine_interface_routing_instance_refs + return nil +} + +func (obj *VirtualMachineInterface) ClearRoutingInstance() { + if (obj.valid & virtual_machine_interface_routing_instance_refs != 0) && + (obj.modified & virtual_machine_interface_routing_instance_refs == 0) { + obj.storeReferenceBase("routing-instance", obj.routing_instance_refs) + } + obj.routing_instance_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_machine_interface_routing_instance_refs + obj.modified |= virtual_machine_interface_routing_instance_refs +} + +func (obj *VirtualMachineInterface) SetRoutingInstanceList( + refList []contrail.ReferencePair) { + obj.ClearRoutingInstance() + obj.routing_instance_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.routing_instance_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualMachineInterface) readPortTupleRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_port_tuple_refs == 0) { + err := obj.GetField(obj, "port_tuple_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetPortTupleRefs() ( + contrail.ReferenceList, error) { + err := obj.readPortTupleRefs() + if err != nil { + return nil, err + } + return obj.port_tuple_refs, nil +} + +func (obj *VirtualMachineInterface) AddPortTuple( + rhs *PortTuple) error { + err := obj.readPortTupleRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_port_tuple_refs == 0 { + obj.storeReferenceBase("port-tuple", obj.port_tuple_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.port_tuple_refs = append(obj.port_tuple_refs, ref) + obj.modified |= virtual_machine_interface_port_tuple_refs + return nil +} + +func (obj *VirtualMachineInterface) DeletePortTuple(uuid string) error { + err := obj.readPortTupleRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_port_tuple_refs == 0 { + obj.storeReferenceBase("port-tuple", obj.port_tuple_refs) + } + + for i, ref := range obj.port_tuple_refs { + if ref.Uuid == uuid { + obj.port_tuple_refs = append( + obj.port_tuple_refs[:i], + obj.port_tuple_refs[i+1:]...) + break + } + } + obj.modified |= virtual_machine_interface_port_tuple_refs + return nil +} + +func (obj *VirtualMachineInterface) ClearPortTuple() { + if (obj.valid & virtual_machine_interface_port_tuple_refs != 0) && + (obj.modified & virtual_machine_interface_port_tuple_refs == 0) { + obj.storeReferenceBase("port-tuple", obj.port_tuple_refs) + } + obj.port_tuple_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_machine_interface_port_tuple_refs + obj.modified |= virtual_machine_interface_port_tuple_refs +} + +func (obj *VirtualMachineInterface) SetPortTupleList( + refList []contrail.ReferencePair) { + obj.ClearPortTuple() + obj.port_tuple_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.port_tuple_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualMachineInterface) readServiceHealthCheckRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_service_health_check_refs == 0) { + err := obj.GetField(obj, "service_health_check_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetServiceHealthCheckRefs() ( + contrail.ReferenceList, error) { + err := obj.readServiceHealthCheckRefs() + if err != nil { + return nil, err + } + return obj.service_health_check_refs, nil +} + +func (obj *VirtualMachineInterface) AddServiceHealthCheck( + rhs *ServiceHealthCheck) error { + err := obj.readServiceHealthCheckRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_service_health_check_refs == 0 { + obj.storeReferenceBase("service-health-check", obj.service_health_check_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.service_health_check_refs = append(obj.service_health_check_refs, ref) + obj.modified |= virtual_machine_interface_service_health_check_refs + return nil +} + +func (obj *VirtualMachineInterface) DeleteServiceHealthCheck(uuid string) error { + err := obj.readServiceHealthCheckRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_service_health_check_refs == 0 { + obj.storeReferenceBase("service-health-check", obj.service_health_check_refs) + } + + for i, ref := range obj.service_health_check_refs { + if ref.Uuid == uuid { + obj.service_health_check_refs = append( + obj.service_health_check_refs[:i], + obj.service_health_check_refs[i+1:]...) + break + } + } + obj.modified |= virtual_machine_interface_service_health_check_refs + return nil +} + +func (obj *VirtualMachineInterface) ClearServiceHealthCheck() { + if (obj.valid & virtual_machine_interface_service_health_check_refs != 0) && + (obj.modified & virtual_machine_interface_service_health_check_refs == 0) { + obj.storeReferenceBase("service-health-check", obj.service_health_check_refs) + } + obj.service_health_check_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_machine_interface_service_health_check_refs + obj.modified |= virtual_machine_interface_service_health_check_refs +} + +func (obj *VirtualMachineInterface) SetServiceHealthCheckList( + refList []contrail.ReferencePair) { + obj.ClearServiceHealthCheck() + obj.service_health_check_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.service_health_check_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualMachineInterface) readInterfaceRouteTableRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_interface_route_table_refs == 0) { + err := obj.GetField(obj, "interface_route_table_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetInterfaceRouteTableRefs() ( + contrail.ReferenceList, error) { + err := obj.readInterfaceRouteTableRefs() + if err != nil { + return nil, err + } + return obj.interface_route_table_refs, nil +} + +func (obj *VirtualMachineInterface) AddInterfaceRouteTable( + rhs *InterfaceRouteTable) error { + err := obj.readInterfaceRouteTableRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_interface_route_table_refs == 0 { + obj.storeReferenceBase("interface-route-table", obj.interface_route_table_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.interface_route_table_refs = append(obj.interface_route_table_refs, ref) + obj.modified |= virtual_machine_interface_interface_route_table_refs + return nil +} + +func (obj *VirtualMachineInterface) DeleteInterfaceRouteTable(uuid string) error { + err := obj.readInterfaceRouteTableRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_interface_route_table_refs == 0 { + obj.storeReferenceBase("interface-route-table", obj.interface_route_table_refs) + } + + for i, ref := range obj.interface_route_table_refs { + if ref.Uuid == uuid { + obj.interface_route_table_refs = append( + obj.interface_route_table_refs[:i], + obj.interface_route_table_refs[i+1:]...) + break + } + } + obj.modified |= virtual_machine_interface_interface_route_table_refs + return nil +} + +func (obj *VirtualMachineInterface) ClearInterfaceRouteTable() { + if (obj.valid & virtual_machine_interface_interface_route_table_refs != 0) && + (obj.modified & virtual_machine_interface_interface_route_table_refs == 0) { + obj.storeReferenceBase("interface-route-table", obj.interface_route_table_refs) + } + obj.interface_route_table_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_machine_interface_interface_route_table_refs + obj.modified |= virtual_machine_interface_interface_route_table_refs +} + +func (obj *VirtualMachineInterface) SetInterfaceRouteTableList( + refList []contrail.ReferencePair) { + obj.ClearInterfaceRouteTable() + obj.interface_route_table_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.interface_route_table_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualMachineInterface) readPhysicalInterfaceRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_physical_interface_refs == 0) { + err := obj.GetField(obj, "physical_interface_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetPhysicalInterfaceRefs() ( + contrail.ReferenceList, error) { + err := obj.readPhysicalInterfaceRefs() + if err != nil { + return nil, err + } + return obj.physical_interface_refs, nil +} + +func (obj *VirtualMachineInterface) AddPhysicalInterface( + rhs *PhysicalInterface) error { + err := obj.readPhysicalInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_physical_interface_refs == 0 { + obj.storeReferenceBase("physical-interface", obj.physical_interface_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.physical_interface_refs = append(obj.physical_interface_refs, ref) + obj.modified |= virtual_machine_interface_physical_interface_refs + return nil +} + +func (obj *VirtualMachineInterface) DeletePhysicalInterface(uuid string) error { + err := obj.readPhysicalInterfaceRefs() + if err != nil { + return err + } + + if obj.modified & virtual_machine_interface_physical_interface_refs == 0 { + obj.storeReferenceBase("physical-interface", obj.physical_interface_refs) + } + + for i, ref := range obj.physical_interface_refs { + if ref.Uuid == uuid { + obj.physical_interface_refs = append( + obj.physical_interface_refs[:i], + obj.physical_interface_refs[i+1:]...) + break + } + } + obj.modified |= virtual_machine_interface_physical_interface_refs + return nil +} + +func (obj *VirtualMachineInterface) ClearPhysicalInterface() { + if (obj.valid & virtual_machine_interface_physical_interface_refs != 0) && + (obj.modified & virtual_machine_interface_physical_interface_refs == 0) { + obj.storeReferenceBase("physical-interface", obj.physical_interface_refs) + } + obj.physical_interface_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_machine_interface_physical_interface_refs + obj.modified |= virtual_machine_interface_physical_interface_refs +} + +func (obj *VirtualMachineInterface) SetPhysicalInterfaceList( + refList []contrail.ReferencePair) { + obj.ClearPhysicalInterface() + obj.physical_interface_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.physical_interface_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualMachineInterface) readVirtualMachineInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_virtual_machine_interface_back_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetVirtualMachineInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_back_refs, nil +} + +func (obj *VirtualMachineInterface) readInstanceIpBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_instance_ip_back_refs == 0) { + err := obj.GetField(obj, "instance_ip_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetInstanceIpBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readInstanceIpBackRefs() + if err != nil { + return nil, err + } + return obj.instance_ip_back_refs, nil +} + +func (obj *VirtualMachineInterface) readSubnetBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_subnet_back_refs == 0) { + err := obj.GetField(obj, "subnet_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetSubnetBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readSubnetBackRefs() + if err != nil { + return nil, err + } + return obj.subnet_back_refs, nil +} + +func (obj *VirtualMachineInterface) readFloatingIpBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_floating_ip_back_refs == 0) { + err := obj.GetField(obj, "floating_ip_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetFloatingIpBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readFloatingIpBackRefs() + if err != nil { + return nil, err + } + return obj.floating_ip_back_refs, nil +} + +func (obj *VirtualMachineInterface) readAliasIpBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_alias_ip_back_refs == 0) { + err := obj.GetField(obj, "alias_ip_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetAliasIpBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readAliasIpBackRefs() + if err != nil { + return nil, err + } + return obj.alias_ip_back_refs, nil +} + +func (obj *VirtualMachineInterface) readLogicalInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_logical_interface_back_refs == 0) { + err := obj.GetField(obj, "logical_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetLogicalInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLogicalInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.logical_interface_back_refs, nil +} + +func (obj *VirtualMachineInterface) readBgpAsAServiceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_bgp_as_a_service_back_refs == 0) { + err := obj.GetField(obj, "bgp_as_a_service_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetBgpAsAServiceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readBgpAsAServiceBackRefs() + if err != nil { + return nil, err + } + return obj.bgp_as_a_service_back_refs, nil +} + +func (obj *VirtualMachineInterface) readCustomerAttachmentBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_customer_attachment_back_refs == 0) { + err := obj.GetField(obj, "customer_attachment_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetCustomerAttachmentBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readCustomerAttachmentBackRefs() + if err != nil { + return nil, err + } + return obj.customer_attachment_back_refs, nil +} + +func (obj *VirtualMachineInterface) readLogicalRouterBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_logical_router_back_refs == 0) { + err := obj.GetField(obj, "logical_router_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetLogicalRouterBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLogicalRouterBackRefs() + if err != nil { + return nil, err + } + return obj.logical_router_back_refs, nil +} + +func (obj *VirtualMachineInterface) readLoadbalancerPoolBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_loadbalancer_pool_back_refs == 0) { + err := obj.GetField(obj, "loadbalancer_pool_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetLoadbalancerPoolBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerPoolBackRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_pool_back_refs, nil +} + +func (obj *VirtualMachineInterface) readVirtualIpBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_virtual_ip_back_refs == 0) { + err := obj.GetField(obj, "virtual_ip_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetVirtualIpBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualIpBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_ip_back_refs, nil +} + +func (obj *VirtualMachineInterface) readLoadbalancerBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_machine_interface_loadbalancer_back_refs == 0) { + err := obj.GetField(obj, "loadbalancer_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) GetLoadbalancerBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLoadbalancerBackRefs() + if err != nil { + return nil, err + } + return obj.loadbalancer_back_refs, nil +} + +func (obj *VirtualMachineInterface) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_machine_interface_ecmp_hashing_include_fields != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.ecmp_hashing_include_fields) + if err != nil { + return nil, err + } + msg["ecmp_hashing_include_fields"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_mac_addresses != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_mac_addresses) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_mac_addresses"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_dhcp_option_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_dhcp_option_list) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_dhcp_option_list"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_host_routes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_host_routes) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_host_routes"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_allowed_address_pairs != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_allowed_address_pairs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_allowed_address_pairs"] = &value + } + + if obj.modified & virtual_machine_interface_vrf_assign_table != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.vrf_assign_table) + if err != nil { + return nil, err + } + msg["vrf_assign_table"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_device_owner != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_device_owner) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_device_owner"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_disable_policy != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_disable_policy) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_disable_policy"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_properties) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_properties"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_bindings != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_bindings) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_bindings"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_fat_flow_protocols != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_fat_flow_protocols) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_fat_flow_protocols"] = &value + } + + if obj.modified & virtual_machine_interface_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_machine_interface_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_machine_interface_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.qos_config_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.qos_config_refs) + if err != nil { + return nil, err + } + msg["qos_config_refs"] = &value + } + + if len(obj.security_group_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.security_group_refs) + if err != nil { + return nil, err + } + msg["security_group_refs"] = &value + } + + if len(obj.virtual_machine_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + + if len(obj.virtual_machine_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_refs"] = &value + } + + if len(obj.virtual_network_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_refs) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } + + if len(obj.routing_instance_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.routing_instance_refs) + if err != nil { + return nil, err + } + msg["routing_instance_refs"] = &value + } + + if len(obj.port_tuple_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.port_tuple_refs) + if err != nil { + return nil, err + } + msg["port_tuple_refs"] = &value + } + + if len(obj.service_health_check_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.service_health_check_refs) + if err != nil { + return nil, err + } + msg["service_health_check_refs"] = &value + } + + if len(obj.interface_route_table_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.interface_route_table_refs) + if err != nil { + return nil, err + } + msg["interface_route_table_refs"] = &value + } + + if len(obj.physical_interface_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_interface_refs) + if err != nil { + return nil, err + } + msg["physical_interface_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *VirtualMachineInterface) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "ecmp_hashing_include_fields": + err = json.Unmarshal(value, &obj.ecmp_hashing_include_fields) + if err == nil { + obj.valid |= virtual_machine_interface_ecmp_hashing_include_fields + } + break + case "virtual_machine_interface_mac_addresses": + err = json.Unmarshal(value, &obj.virtual_machine_interface_mac_addresses) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_interface_mac_addresses + } + break + case "virtual_machine_interface_dhcp_option_list": + err = json.Unmarshal(value, &obj.virtual_machine_interface_dhcp_option_list) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_interface_dhcp_option_list + } + break + case "virtual_machine_interface_host_routes": + err = json.Unmarshal(value, &obj.virtual_machine_interface_host_routes) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_interface_host_routes + } + break + case "virtual_machine_interface_allowed_address_pairs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_allowed_address_pairs) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_interface_allowed_address_pairs + } + break + case "vrf_assign_table": + err = json.Unmarshal(value, &obj.vrf_assign_table) + if err == nil { + obj.valid |= virtual_machine_interface_vrf_assign_table + } + break + case "virtual_machine_interface_device_owner": + err = json.Unmarshal(value, &obj.virtual_machine_interface_device_owner) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_interface_device_owner + } + break + case "virtual_machine_interface_disable_policy": + err = json.Unmarshal(value, &obj.virtual_machine_interface_disable_policy) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_interface_disable_policy + } + break + case "virtual_machine_interface_properties": + err = json.Unmarshal(value, &obj.virtual_machine_interface_properties) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_interface_properties + } + break + case "virtual_machine_interface_bindings": + err = json.Unmarshal(value, &obj.virtual_machine_interface_bindings) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_interface_bindings + } + break + case "virtual_machine_interface_fat_flow_protocols": + err = json.Unmarshal(value, &obj.virtual_machine_interface_fat_flow_protocols) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_interface_fat_flow_protocols + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= virtual_machine_interface_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= virtual_machine_interface_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= virtual_machine_interface_display_name + } + break + case "qos_config_refs": + err = json.Unmarshal(value, &obj.qos_config_refs) + if err == nil { + obj.valid |= virtual_machine_interface_qos_config_refs + } + break + case "security_group_refs": + err = json.Unmarshal(value, &obj.security_group_refs) + if err == nil { + obj.valid |= virtual_machine_interface_security_group_refs + } + break + case "virtual_machine_interface_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_refs) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_interface_refs + } + break + case "virtual_machine_refs": + err = json.Unmarshal(value, &obj.virtual_machine_refs) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_refs + } + break + case "virtual_network_refs": + err = json.Unmarshal(value, &obj.virtual_network_refs) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_network_refs + } + break + case "port_tuple_refs": + err = json.Unmarshal(value, &obj.port_tuple_refs) + if err == nil { + obj.valid |= virtual_machine_interface_port_tuple_refs + } + break + case "service_health_check_refs": + err = json.Unmarshal(value, &obj.service_health_check_refs) + if err == nil { + obj.valid |= virtual_machine_interface_service_health_check_refs + } + break + case "interface_route_table_refs": + err = json.Unmarshal(value, &obj.interface_route_table_refs) + if err == nil { + obj.valid |= virtual_machine_interface_interface_route_table_refs + } + break + case "physical_interface_refs": + err = json.Unmarshal(value, &obj.physical_interface_refs) + if err == nil { + obj.valid |= virtual_machine_interface_physical_interface_refs + } + break + case "virtual_machine_interface_back_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_machine_interface_back_refs + } + break + case "instance_ip_back_refs": + err = json.Unmarshal(value, &obj.instance_ip_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_instance_ip_back_refs + } + break + case "subnet_back_refs": + err = json.Unmarshal(value, &obj.subnet_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_subnet_back_refs + } + break + case "floating_ip_back_refs": + err = json.Unmarshal(value, &obj.floating_ip_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_floating_ip_back_refs + } + break + case "alias_ip_back_refs": + err = json.Unmarshal(value, &obj.alias_ip_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_alias_ip_back_refs + } + break + case "logical_interface_back_refs": + err = json.Unmarshal(value, &obj.logical_interface_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_logical_interface_back_refs + } + break + case "bgp_as_a_service_back_refs": + err = json.Unmarshal(value, &obj.bgp_as_a_service_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_bgp_as_a_service_back_refs + } + break + case "customer_attachment_back_refs": + err = json.Unmarshal(value, &obj.customer_attachment_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_customer_attachment_back_refs + } + break + case "logical_router_back_refs": + err = json.Unmarshal(value, &obj.logical_router_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_logical_router_back_refs + } + break + case "loadbalancer_pool_back_refs": + err = json.Unmarshal(value, &obj.loadbalancer_pool_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_loadbalancer_pool_back_refs + } + break + case "virtual_ip_back_refs": + err = json.Unmarshal(value, &obj.virtual_ip_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_virtual_ip_back_refs + } + break + case "loadbalancer_back_refs": + err = json.Unmarshal(value, &obj.loadbalancer_back_refs) + if err == nil { + obj.valid |= virtual_machine_interface_loadbalancer_back_refs + } + break + case "routing_instance_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr PolicyBasedForwardingRuleType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= virtual_machine_interface_routing_instance_refs + obj.routing_instance_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.routing_instance_refs = append(obj.routing_instance_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualMachineInterface) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_machine_interface_ecmp_hashing_include_fields != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.ecmp_hashing_include_fields) + if err != nil { + return nil, err + } + msg["ecmp_hashing_include_fields"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_mac_addresses != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_mac_addresses) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_mac_addresses"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_dhcp_option_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_dhcp_option_list) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_dhcp_option_list"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_host_routes != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_host_routes) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_host_routes"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_allowed_address_pairs != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_allowed_address_pairs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_allowed_address_pairs"] = &value + } + + if obj.modified & virtual_machine_interface_vrf_assign_table != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.vrf_assign_table) + if err != nil { + return nil, err + } + msg["vrf_assign_table"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_device_owner != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_device_owner) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_device_owner"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_disable_policy != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_disable_policy) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_disable_policy"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_properties) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_properties"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_bindings != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_bindings) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_bindings"] = &value + } + + if obj.modified & virtual_machine_interface_virtual_machine_interface_fat_flow_protocols != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_fat_flow_protocols) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_fat_flow_protocols"] = &value + } + + if obj.modified & virtual_machine_interface_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_machine_interface_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_machine_interface_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & virtual_machine_interface_qos_config_refs != 0 { + if len(obj.qos_config_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["qos_config_refs"] = &value + } else if !obj.hasReferenceBase("qos-config") { + var value json.RawMessage + value, err := json.Marshal(&obj.qos_config_refs) + if err != nil { + return nil, err + } + msg["qos_config_refs"] = &value + } + } + + + if obj.modified & virtual_machine_interface_security_group_refs != 0 { + if len(obj.security_group_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["security_group_refs"] = &value + } else if !obj.hasReferenceBase("security-group") { + var value json.RawMessage + value, err := json.Marshal(&obj.security_group_refs) + if err != nil { + return nil, err + } + msg["security_group_refs"] = &value + } + } + + + if obj.modified & virtual_machine_interface_virtual_machine_interface_refs != 0 { + if len(obj.virtual_machine_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_interface_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_interface_refs"] = &value + } + } + + + if obj.modified & virtual_machine_interface_virtual_machine_refs != 0 { + if len(obj.virtual_machine_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_refs"] = &value + } + } + + + if obj.modified & virtual_machine_interface_virtual_network_refs != 0 { + if len(obj.virtual_network_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } else if !obj.hasReferenceBase("virtual-network") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_refs) + if err != nil { + return nil, err + } + msg["virtual_network_refs"] = &value + } + } + + + if obj.modified & virtual_machine_interface_routing_instance_refs != 0 { + if len(obj.routing_instance_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["routing_instance_refs"] = &value + } else if !obj.hasReferenceBase("routing-instance") { + var value json.RawMessage + value, err := json.Marshal(&obj.routing_instance_refs) + if err != nil { + return nil, err + } + msg["routing_instance_refs"] = &value + } + } + + + if obj.modified & virtual_machine_interface_port_tuple_refs != 0 { + if len(obj.port_tuple_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["port_tuple_refs"] = &value + } else if !obj.hasReferenceBase("port-tuple") { + var value json.RawMessage + value, err := json.Marshal(&obj.port_tuple_refs) + if err != nil { + return nil, err + } + msg["port_tuple_refs"] = &value + } + } + + + if obj.modified & virtual_machine_interface_service_health_check_refs != 0 { + if len(obj.service_health_check_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["service_health_check_refs"] = &value + } else if !obj.hasReferenceBase("service-health-check") { + var value json.RawMessage + value, err := json.Marshal(&obj.service_health_check_refs) + if err != nil { + return nil, err + } + msg["service_health_check_refs"] = &value + } + } + + + if obj.modified & virtual_machine_interface_interface_route_table_refs != 0 { + if len(obj.interface_route_table_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["interface_route_table_refs"] = &value + } else if !obj.hasReferenceBase("interface-route-table") { + var value json.RawMessage + value, err := json.Marshal(&obj.interface_route_table_refs) + if err != nil { + return nil, err + } + msg["interface_route_table_refs"] = &value + } + } + + + if obj.modified & virtual_machine_interface_physical_interface_refs != 0 { + if len(obj.physical_interface_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["physical_interface_refs"] = &value + } else if !obj.hasReferenceBase("physical-interface") { + var value json.RawMessage + value, err := json.Marshal(&obj.physical_interface_refs) + if err != nil { + return nil, err + } + msg["physical_interface_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *VirtualMachineInterface) UpdateReferences() error { + + if (obj.modified & virtual_machine_interface_qos_config_refs != 0) && + len(obj.qos_config_refs) > 0 && + obj.hasReferenceBase("qos-config") { + err := obj.UpdateReference( + obj, "qos-config", + obj.qos_config_refs, + obj.baseMap["qos-config"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_machine_interface_security_group_refs != 0) && + len(obj.security_group_refs) > 0 && + obj.hasReferenceBase("security-group") { + err := obj.UpdateReference( + obj, "security-group", + obj.security_group_refs, + obj.baseMap["security-group"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_machine_interface_virtual_machine_interface_refs != 0) && + len(obj.virtual_machine_interface_refs) > 0 && + obj.hasReferenceBase("virtual-machine-interface") { + err := obj.UpdateReference( + obj, "virtual-machine-interface", + obj.virtual_machine_interface_refs, + obj.baseMap["virtual-machine-interface"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_machine_interface_virtual_machine_refs != 0) && + len(obj.virtual_machine_refs) > 0 && + obj.hasReferenceBase("virtual-machine") { + err := obj.UpdateReference( + obj, "virtual-machine", + obj.virtual_machine_refs, + obj.baseMap["virtual-machine"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_machine_interface_virtual_network_refs != 0) && + len(obj.virtual_network_refs) > 0 && + obj.hasReferenceBase("virtual-network") { + err := obj.UpdateReference( + obj, "virtual-network", + obj.virtual_network_refs, + obj.baseMap["virtual-network"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_machine_interface_routing_instance_refs != 0) && + len(obj.routing_instance_refs) > 0 && + obj.hasReferenceBase("routing-instance") { + err := obj.UpdateReference( + obj, "routing-instance", + obj.routing_instance_refs, + obj.baseMap["routing-instance"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_machine_interface_port_tuple_refs != 0) && + len(obj.port_tuple_refs) > 0 && + obj.hasReferenceBase("port-tuple") { + err := obj.UpdateReference( + obj, "port-tuple", + obj.port_tuple_refs, + obj.baseMap["port-tuple"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_machine_interface_service_health_check_refs != 0) && + len(obj.service_health_check_refs) > 0 && + obj.hasReferenceBase("service-health-check") { + err := obj.UpdateReference( + obj, "service-health-check", + obj.service_health_check_refs, + obj.baseMap["service-health-check"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_machine_interface_interface_route_table_refs != 0) && + len(obj.interface_route_table_refs) > 0 && + obj.hasReferenceBase("interface-route-table") { + err := obj.UpdateReference( + obj, "interface-route-table", + obj.interface_route_table_refs, + obj.baseMap["interface-route-table"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_machine_interface_physical_interface_refs != 0) && + len(obj.physical_interface_refs) > 0 && + obj.hasReferenceBase("physical-interface") { + err := obj.UpdateReference( + obj, "physical-interface", + obj.physical_interface_refs, + obj.baseMap["physical-interface"]) + if err != nil { + return err + } + } + + return nil +} + +func VirtualMachineInterfaceByName(c contrail.ApiClient, fqn string) (*VirtualMachineInterface, error) { + obj, err := c.FindByName("virtual-machine-interface", fqn) + if err != nil { + return nil, err + } + return obj.(*VirtualMachineInterface), nil +} + +func VirtualMachineInterfaceByUuid(c contrail.ApiClient, uuid string) (*VirtualMachineInterface, error) { + obj, err := c.FindByUuid("virtual-machine-interface", uuid) + if err != nil { + return nil, err + } + return obj.(*VirtualMachineInterface), nil +} diff --git a/types/virtual_machine_interface_properties_type.go b/types/virtual_machine_interface_properties_type.go new file mode 100644 index 0000000..60f7367 --- /dev/null +++ b/types/virtual_machine_interface_properties_type.go @@ -0,0 +1,17 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type InterfaceMirrorType struct { + TrafficDirection string `json:"traffic_direction,omitempty"` + MirrorTo *MirrorActionType `json:"mirror_to,omitempty"` +} + +type VirtualMachineInterfacePropertiesType struct { + ServiceInterfaceType string `json:"service_interface_type,omitempty"` + InterfaceMirror *InterfaceMirrorType `json:"interface_mirror,omitempty"` + LocalPreference int `json:"local_preference,omitempty"` + SubInterfaceVlanTag int `json:"sub_interface_vlan_tag,omitempty"` +} diff --git a/types/virtual_network.go b/types/virtual_network.go new file mode 100644 index 0000000..e86e911 --- /dev/null +++ b/types/virtual_network.go @@ -0,0 +1,1452 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + virtual_network_ecmp_hashing_include_fields uint64 = 1 << iota + virtual_network_virtual_network_properties + virtual_network_provider_properties + virtual_network_virtual_network_network_id + virtual_network_route_target_list + virtual_network_import_route_target_list + virtual_network_export_route_target_list + virtual_network_router_external + virtual_network_is_shared + virtual_network_external_ipam + virtual_network_flood_unknown_unicast + virtual_network_multi_policy_service_chains_enabled + virtual_network_id_perms + virtual_network_perms2 + virtual_network_display_name + virtual_network_qos_config_refs + virtual_network_network_ipam_refs + virtual_network_network_policy_refs + virtual_network_access_control_lists + virtual_network_floating_ip_pools + virtual_network_alias_ip_pools + virtual_network_routing_instances + virtual_network_route_table_refs + virtual_network_virtual_machine_interface_back_refs + virtual_network_instance_ip_back_refs + virtual_network_physical_router_back_refs + virtual_network_logical_router_back_refs +) + +type VirtualNetwork struct { + contrail.ObjectBase + ecmp_hashing_include_fields EcmpHashingIncludeFields + virtual_network_properties VirtualNetworkType + provider_properties ProviderDetails + virtual_network_network_id int + route_target_list RouteTargetList + import_route_target_list RouteTargetList + export_route_target_list RouteTargetList + router_external bool + is_shared bool + external_ipam bool + flood_unknown_unicast bool + multi_policy_service_chains_enabled bool + id_perms IdPermsType + perms2 PermType2 + display_name string + qos_config_refs contrail.ReferenceList + network_ipam_refs contrail.ReferenceList + network_policy_refs contrail.ReferenceList + access_control_lists contrail.ReferenceList + floating_ip_pools contrail.ReferenceList + alias_ip_pools contrail.ReferenceList + routing_instances contrail.ReferenceList + route_table_refs contrail.ReferenceList + virtual_machine_interface_back_refs contrail.ReferenceList + instance_ip_back_refs contrail.ReferenceList + physical_router_back_refs contrail.ReferenceList + logical_router_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *VirtualNetwork) GetType() string { + return "virtual-network" +} + +func (obj *VirtualNetwork) GetDefaultParent() []string { + name := []string{"default-domain", "default-project"} + return name +} + +func (obj *VirtualNetwork) GetDefaultParentType() string { + return "project" +} + +func (obj *VirtualNetwork) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *VirtualNetwork) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *VirtualNetwork) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *VirtualNetwork) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *VirtualNetwork) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *VirtualNetwork) GetEcmpHashingIncludeFields() EcmpHashingIncludeFields { + return obj.ecmp_hashing_include_fields +} + +func (obj *VirtualNetwork) SetEcmpHashingIncludeFields(value *EcmpHashingIncludeFields) { + obj.ecmp_hashing_include_fields = *value + obj.modified |= virtual_network_ecmp_hashing_include_fields +} + +func (obj *VirtualNetwork) GetVirtualNetworkProperties() VirtualNetworkType { + return obj.virtual_network_properties +} + +func (obj *VirtualNetwork) SetVirtualNetworkProperties(value *VirtualNetworkType) { + obj.virtual_network_properties = *value + obj.modified |= virtual_network_virtual_network_properties +} + +func (obj *VirtualNetwork) GetProviderProperties() ProviderDetails { + return obj.provider_properties +} + +func (obj *VirtualNetwork) SetProviderProperties(value *ProviderDetails) { + obj.provider_properties = *value + obj.modified |= virtual_network_provider_properties +} + +func (obj *VirtualNetwork) GetVirtualNetworkNetworkId() int { + return obj.virtual_network_network_id +} + +func (obj *VirtualNetwork) SetVirtualNetworkNetworkId(value int) { + obj.virtual_network_network_id = value + obj.modified |= virtual_network_virtual_network_network_id +} + +func (obj *VirtualNetwork) GetRouteTargetList() RouteTargetList { + return obj.route_target_list +} + +func (obj *VirtualNetwork) SetRouteTargetList(value *RouteTargetList) { + obj.route_target_list = *value + obj.modified |= virtual_network_route_target_list +} + +func (obj *VirtualNetwork) GetImportRouteTargetList() RouteTargetList { + return obj.import_route_target_list +} + +func (obj *VirtualNetwork) SetImportRouteTargetList(value *RouteTargetList) { + obj.import_route_target_list = *value + obj.modified |= virtual_network_import_route_target_list +} + +func (obj *VirtualNetwork) GetExportRouteTargetList() RouteTargetList { + return obj.export_route_target_list +} + +func (obj *VirtualNetwork) SetExportRouteTargetList(value *RouteTargetList) { + obj.export_route_target_list = *value + obj.modified |= virtual_network_export_route_target_list +} + +func (obj *VirtualNetwork) GetRouterExternal() bool { + return obj.router_external +} + +func (obj *VirtualNetwork) SetRouterExternal(value bool) { + obj.router_external = value + obj.modified |= virtual_network_router_external +} + +func (obj *VirtualNetwork) GetIsShared() bool { + return obj.is_shared +} + +func (obj *VirtualNetwork) SetIsShared(value bool) { + obj.is_shared = value + obj.modified |= virtual_network_is_shared +} + +func (obj *VirtualNetwork) GetExternalIpam() bool { + return obj.external_ipam +} + +func (obj *VirtualNetwork) SetExternalIpam(value bool) { + obj.external_ipam = value + obj.modified |= virtual_network_external_ipam +} + +func (obj *VirtualNetwork) GetFloodUnknownUnicast() bool { + return obj.flood_unknown_unicast +} + +func (obj *VirtualNetwork) SetFloodUnknownUnicast(value bool) { + obj.flood_unknown_unicast = value + obj.modified |= virtual_network_flood_unknown_unicast +} + +func (obj *VirtualNetwork) GetMultiPolicyServiceChainsEnabled() bool { + return obj.multi_policy_service_chains_enabled +} + +func (obj *VirtualNetwork) SetMultiPolicyServiceChainsEnabled(value bool) { + obj.multi_policy_service_chains_enabled = value + obj.modified |= virtual_network_multi_policy_service_chains_enabled +} + +func (obj *VirtualNetwork) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *VirtualNetwork) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= virtual_network_id_perms +} + +func (obj *VirtualNetwork) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *VirtualNetwork) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= virtual_network_perms2 +} + +func (obj *VirtualNetwork) GetDisplayName() string { + return obj.display_name +} + +func (obj *VirtualNetwork) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= virtual_network_display_name +} + +func (obj *VirtualNetwork) readAccessControlLists() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_access_control_lists == 0) { + err := obj.GetField(obj, "access_control_lists") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetAccessControlLists() ( + contrail.ReferenceList, error) { + err := obj.readAccessControlLists() + if err != nil { + return nil, err + } + return obj.access_control_lists, nil +} + +func (obj *VirtualNetwork) readFloatingIpPools() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_floating_ip_pools == 0) { + err := obj.GetField(obj, "floating_ip_pools") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetFloatingIpPools() ( + contrail.ReferenceList, error) { + err := obj.readFloatingIpPools() + if err != nil { + return nil, err + } + return obj.floating_ip_pools, nil +} + +func (obj *VirtualNetwork) readAliasIpPools() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_alias_ip_pools == 0) { + err := obj.GetField(obj, "alias_ip_pools") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetAliasIpPools() ( + contrail.ReferenceList, error) { + err := obj.readAliasIpPools() + if err != nil { + return nil, err + } + return obj.alias_ip_pools, nil +} + +func (obj *VirtualNetwork) readRoutingInstances() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_routing_instances == 0) { + err := obj.GetField(obj, "routing_instances") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetRoutingInstances() ( + contrail.ReferenceList, error) { + err := obj.readRoutingInstances() + if err != nil { + return nil, err + } + return obj.routing_instances, nil +} + +func (obj *VirtualNetwork) readQosConfigRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_qos_config_refs == 0) { + err := obj.GetField(obj, "qos_config_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetQosConfigRefs() ( + contrail.ReferenceList, error) { + err := obj.readQosConfigRefs() + if err != nil { + return nil, err + } + return obj.qos_config_refs, nil +} + +func (obj *VirtualNetwork) AddQosConfig( + rhs *QosConfig) error { + err := obj.readQosConfigRefs() + if err != nil { + return err + } + + if obj.modified & virtual_network_qos_config_refs == 0 { + obj.storeReferenceBase("qos-config", obj.qos_config_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.qos_config_refs = append(obj.qos_config_refs, ref) + obj.modified |= virtual_network_qos_config_refs + return nil +} + +func (obj *VirtualNetwork) DeleteQosConfig(uuid string) error { + err := obj.readQosConfigRefs() + if err != nil { + return err + } + + if obj.modified & virtual_network_qos_config_refs == 0 { + obj.storeReferenceBase("qos-config", obj.qos_config_refs) + } + + for i, ref := range obj.qos_config_refs { + if ref.Uuid == uuid { + obj.qos_config_refs = append( + obj.qos_config_refs[:i], + obj.qos_config_refs[i+1:]...) + break + } + } + obj.modified |= virtual_network_qos_config_refs + return nil +} + +func (obj *VirtualNetwork) ClearQosConfig() { + if (obj.valid & virtual_network_qos_config_refs != 0) && + (obj.modified & virtual_network_qos_config_refs == 0) { + obj.storeReferenceBase("qos-config", obj.qos_config_refs) + } + obj.qos_config_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_network_qos_config_refs + obj.modified |= virtual_network_qos_config_refs +} + +func (obj *VirtualNetwork) SetQosConfigList( + refList []contrail.ReferencePair) { + obj.ClearQosConfig() + obj.qos_config_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.qos_config_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualNetwork) readNetworkIpamRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_network_ipam_refs == 0) { + err := obj.GetField(obj, "network_ipam_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetNetworkIpamRefs() ( + contrail.ReferenceList, error) { + err := obj.readNetworkIpamRefs() + if err != nil { + return nil, err + } + return obj.network_ipam_refs, nil +} + +func (obj *VirtualNetwork) AddNetworkIpam( + rhs *NetworkIpam, data VnSubnetsType) error { + err := obj.readNetworkIpamRefs() + if err != nil { + return err + } + + if obj.modified & virtual_network_network_ipam_refs == 0 { + obj.storeReferenceBase("network-ipam", obj.network_ipam_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), data} + obj.network_ipam_refs = append(obj.network_ipam_refs, ref) + obj.modified |= virtual_network_network_ipam_refs + return nil +} + +func (obj *VirtualNetwork) DeleteNetworkIpam(uuid string) error { + err := obj.readNetworkIpamRefs() + if err != nil { + return err + } + + if obj.modified & virtual_network_network_ipam_refs == 0 { + obj.storeReferenceBase("network-ipam", obj.network_ipam_refs) + } + + for i, ref := range obj.network_ipam_refs { + if ref.Uuid == uuid { + obj.network_ipam_refs = append( + obj.network_ipam_refs[:i], + obj.network_ipam_refs[i+1:]...) + break + } + } + obj.modified |= virtual_network_network_ipam_refs + return nil +} + +func (obj *VirtualNetwork) ClearNetworkIpam() { + if (obj.valid & virtual_network_network_ipam_refs != 0) && + (obj.modified & virtual_network_network_ipam_refs == 0) { + obj.storeReferenceBase("network-ipam", obj.network_ipam_refs) + } + obj.network_ipam_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_network_network_ipam_refs + obj.modified |= virtual_network_network_ipam_refs +} + +func (obj *VirtualNetwork) SetNetworkIpamList( + refList []contrail.ReferencePair) { + obj.ClearNetworkIpam() + obj.network_ipam_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.network_ipam_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualNetwork) readNetworkPolicyRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_network_policy_refs == 0) { + err := obj.GetField(obj, "network_policy_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetNetworkPolicyRefs() ( + contrail.ReferenceList, error) { + err := obj.readNetworkPolicyRefs() + if err != nil { + return nil, err + } + return obj.network_policy_refs, nil +} + +func (obj *VirtualNetwork) AddNetworkPolicy( + rhs *NetworkPolicy, data VirtualNetworkPolicyType) error { + err := obj.readNetworkPolicyRefs() + if err != nil { + return err + } + + if obj.modified & virtual_network_network_policy_refs == 0 { + obj.storeReferenceBase("network-policy", obj.network_policy_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), data} + obj.network_policy_refs = append(obj.network_policy_refs, ref) + obj.modified |= virtual_network_network_policy_refs + return nil +} + +func (obj *VirtualNetwork) DeleteNetworkPolicy(uuid string) error { + err := obj.readNetworkPolicyRefs() + if err != nil { + return err + } + + if obj.modified & virtual_network_network_policy_refs == 0 { + obj.storeReferenceBase("network-policy", obj.network_policy_refs) + } + + for i, ref := range obj.network_policy_refs { + if ref.Uuid == uuid { + obj.network_policy_refs = append( + obj.network_policy_refs[:i], + obj.network_policy_refs[i+1:]...) + break + } + } + obj.modified |= virtual_network_network_policy_refs + return nil +} + +func (obj *VirtualNetwork) ClearNetworkPolicy() { + if (obj.valid & virtual_network_network_policy_refs != 0) && + (obj.modified & virtual_network_network_policy_refs == 0) { + obj.storeReferenceBase("network-policy", obj.network_policy_refs) + } + obj.network_policy_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_network_network_policy_refs + obj.modified |= virtual_network_network_policy_refs +} + +func (obj *VirtualNetwork) SetNetworkPolicyList( + refList []contrail.ReferencePair) { + obj.ClearNetworkPolicy() + obj.network_policy_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.network_policy_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualNetwork) readRouteTableRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_route_table_refs == 0) { + err := obj.GetField(obj, "route_table_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetRouteTableRefs() ( + contrail.ReferenceList, error) { + err := obj.readRouteTableRefs() + if err != nil { + return nil, err + } + return obj.route_table_refs, nil +} + +func (obj *VirtualNetwork) AddRouteTable( + rhs *RouteTable) error { + err := obj.readRouteTableRefs() + if err != nil { + return err + } + + if obj.modified & virtual_network_route_table_refs == 0 { + obj.storeReferenceBase("route-table", obj.route_table_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.route_table_refs = append(obj.route_table_refs, ref) + obj.modified |= virtual_network_route_table_refs + return nil +} + +func (obj *VirtualNetwork) DeleteRouteTable(uuid string) error { + err := obj.readRouteTableRefs() + if err != nil { + return err + } + + if obj.modified & virtual_network_route_table_refs == 0 { + obj.storeReferenceBase("route-table", obj.route_table_refs) + } + + for i, ref := range obj.route_table_refs { + if ref.Uuid == uuid { + obj.route_table_refs = append( + obj.route_table_refs[:i], + obj.route_table_refs[i+1:]...) + break + } + } + obj.modified |= virtual_network_route_table_refs + return nil +} + +func (obj *VirtualNetwork) ClearRouteTable() { + if (obj.valid & virtual_network_route_table_refs != 0) && + (obj.modified & virtual_network_route_table_refs == 0) { + obj.storeReferenceBase("route-table", obj.route_table_refs) + } + obj.route_table_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_network_route_table_refs + obj.modified |= virtual_network_route_table_refs +} + +func (obj *VirtualNetwork) SetRouteTableList( + refList []contrail.ReferencePair) { + obj.ClearRouteTable() + obj.route_table_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.route_table_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualNetwork) readVirtualMachineInterfaceBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_virtual_machine_interface_back_refs == 0) { + err := obj.GetField(obj, "virtual_machine_interface_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetVirtualMachineInterfaceBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineInterfaceBackRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_interface_back_refs, nil +} + +func (obj *VirtualNetwork) readInstanceIpBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_instance_ip_back_refs == 0) { + err := obj.GetField(obj, "instance_ip_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetInstanceIpBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readInstanceIpBackRefs() + if err != nil { + return nil, err + } + return obj.instance_ip_back_refs, nil +} + +func (obj *VirtualNetwork) readPhysicalRouterBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_physical_router_back_refs == 0) { + err := obj.GetField(obj, "physical_router_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetPhysicalRouterBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readPhysicalRouterBackRefs() + if err != nil { + return nil, err + } + return obj.physical_router_back_refs, nil +} + +func (obj *VirtualNetwork) readLogicalRouterBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_network_logical_router_back_refs == 0) { + err := obj.GetField(obj, "logical_router_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) GetLogicalRouterBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readLogicalRouterBackRefs() + if err != nil { + return nil, err + } + return obj.logical_router_back_refs, nil +} + +func (obj *VirtualNetwork) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_network_ecmp_hashing_include_fields != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.ecmp_hashing_include_fields) + if err != nil { + return nil, err + } + msg["ecmp_hashing_include_fields"] = &value + } + + if obj.modified & virtual_network_virtual_network_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_properties) + if err != nil { + return nil, err + } + msg["virtual_network_properties"] = &value + } + + if obj.modified & virtual_network_provider_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.provider_properties) + if err != nil { + return nil, err + } + msg["provider_properties"] = &value + } + + if obj.modified & virtual_network_virtual_network_network_id != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_network_id) + if err != nil { + return nil, err + } + msg["virtual_network_network_id"] = &value + } + + if obj.modified & virtual_network_route_target_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.route_target_list) + if err != nil { + return nil, err + } + msg["route_target_list"] = &value + } + + if obj.modified & virtual_network_import_route_target_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.import_route_target_list) + if err != nil { + return nil, err + } + msg["import_route_target_list"] = &value + } + + if obj.modified & virtual_network_export_route_target_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.export_route_target_list) + if err != nil { + return nil, err + } + msg["export_route_target_list"] = &value + } + + if obj.modified & virtual_network_router_external != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.router_external) + if err != nil { + return nil, err + } + msg["router_external"] = &value + } + + if obj.modified & virtual_network_is_shared != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.is_shared) + if err != nil { + return nil, err + } + msg["is_shared"] = &value + } + + if obj.modified & virtual_network_external_ipam != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.external_ipam) + if err != nil { + return nil, err + } + msg["external_ipam"] = &value + } + + if obj.modified & virtual_network_flood_unknown_unicast != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.flood_unknown_unicast) + if err != nil { + return nil, err + } + msg["flood_unknown_unicast"] = &value + } + + if obj.modified & virtual_network_multi_policy_service_chains_enabled != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.multi_policy_service_chains_enabled) + if err != nil { + return nil, err + } + msg["multi_policy_service_chains_enabled"] = &value + } + + if obj.modified & virtual_network_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_network_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_network_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.qos_config_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.qos_config_refs) + if err != nil { + return nil, err + } + msg["qos_config_refs"] = &value + } + + if len(obj.network_ipam_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.network_ipam_refs) + if err != nil { + return nil, err + } + msg["network_ipam_refs"] = &value + } + + if len(obj.network_policy_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.network_policy_refs) + if err != nil { + return nil, err + } + msg["network_policy_refs"] = &value + } + + if len(obj.route_table_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.route_table_refs) + if err != nil { + return nil, err + } + msg["route_table_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *VirtualNetwork) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "ecmp_hashing_include_fields": + err = json.Unmarshal(value, &obj.ecmp_hashing_include_fields) + if err == nil { + obj.valid |= virtual_network_ecmp_hashing_include_fields + } + break + case "virtual_network_properties": + err = json.Unmarshal(value, &obj.virtual_network_properties) + if err == nil { + obj.valid |= virtual_network_virtual_network_properties + } + break + case "provider_properties": + err = json.Unmarshal(value, &obj.provider_properties) + if err == nil { + obj.valid |= virtual_network_provider_properties + } + break + case "virtual_network_network_id": + err = json.Unmarshal(value, &obj.virtual_network_network_id) + if err == nil { + obj.valid |= virtual_network_virtual_network_network_id + } + break + case "route_target_list": + err = json.Unmarshal(value, &obj.route_target_list) + if err == nil { + obj.valid |= virtual_network_route_target_list + } + break + case "import_route_target_list": + err = json.Unmarshal(value, &obj.import_route_target_list) + if err == nil { + obj.valid |= virtual_network_import_route_target_list + } + break + case "export_route_target_list": + err = json.Unmarshal(value, &obj.export_route_target_list) + if err == nil { + obj.valid |= virtual_network_export_route_target_list + } + break + case "router_external": + err = json.Unmarshal(value, &obj.router_external) + if err == nil { + obj.valid |= virtual_network_router_external + } + break + case "is_shared": + err = json.Unmarshal(value, &obj.is_shared) + if err == nil { + obj.valid |= virtual_network_is_shared + } + break + case "external_ipam": + err = json.Unmarshal(value, &obj.external_ipam) + if err == nil { + obj.valid |= virtual_network_external_ipam + } + break + case "flood_unknown_unicast": + err = json.Unmarshal(value, &obj.flood_unknown_unicast) + if err == nil { + obj.valid |= virtual_network_flood_unknown_unicast + } + break + case "multi_policy_service_chains_enabled": + err = json.Unmarshal(value, &obj.multi_policy_service_chains_enabled) + if err == nil { + obj.valid |= virtual_network_multi_policy_service_chains_enabled + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= virtual_network_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= virtual_network_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= virtual_network_display_name + } + break + case "qos_config_refs": + err = json.Unmarshal(value, &obj.qos_config_refs) + if err == nil { + obj.valid |= virtual_network_qos_config_refs + } + break + case "access_control_lists": + err = json.Unmarshal(value, &obj.access_control_lists) + if err == nil { + obj.valid |= virtual_network_access_control_lists + } + break + case "floating_ip_pools": + err = json.Unmarshal(value, &obj.floating_ip_pools) + if err == nil { + obj.valid |= virtual_network_floating_ip_pools + } + break + case "alias_ip_pools": + err = json.Unmarshal(value, &obj.alias_ip_pools) + if err == nil { + obj.valid |= virtual_network_alias_ip_pools + } + break + case "routing_instances": + err = json.Unmarshal(value, &obj.routing_instances) + if err == nil { + obj.valid |= virtual_network_routing_instances + } + break + case "route_table_refs": + err = json.Unmarshal(value, &obj.route_table_refs) + if err == nil { + obj.valid |= virtual_network_route_table_refs + } + break + case "virtual_machine_interface_back_refs": + err = json.Unmarshal(value, &obj.virtual_machine_interface_back_refs) + if err == nil { + obj.valid |= virtual_network_virtual_machine_interface_back_refs + } + break + case "instance_ip_back_refs": + err = json.Unmarshal(value, &obj.instance_ip_back_refs) + if err == nil { + obj.valid |= virtual_network_instance_ip_back_refs + } + break + case "physical_router_back_refs": + err = json.Unmarshal(value, &obj.physical_router_back_refs) + if err == nil { + obj.valid |= virtual_network_physical_router_back_refs + } + break + case "logical_router_back_refs": + err = json.Unmarshal(value, &obj.logical_router_back_refs) + if err == nil { + obj.valid |= virtual_network_logical_router_back_refs + } + break + case "network_ipam_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr VnSubnetsType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= virtual_network_network_ipam_refs + obj.network_ipam_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.network_ipam_refs = append(obj.network_ipam_refs, ref) + } + break + } + case "network_policy_refs": { + type ReferenceElement struct { + To []string + Uuid string + Href string + Attr VirtualNetworkPolicyType + } + var array []ReferenceElement + err = json.Unmarshal(value, &array) + if err != nil { + break + } + obj.valid |= virtual_network_network_policy_refs + obj.network_policy_refs = make(contrail.ReferenceList, 0) + for _, element := range array { + ref := contrail.Reference { + element.To, + element.Uuid, + element.Href, + element.Attr, + } + obj.network_policy_refs = append(obj.network_policy_refs, ref) + } + break + } + } + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualNetwork) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_network_ecmp_hashing_include_fields != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.ecmp_hashing_include_fields) + if err != nil { + return nil, err + } + msg["ecmp_hashing_include_fields"] = &value + } + + if obj.modified & virtual_network_virtual_network_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_properties) + if err != nil { + return nil, err + } + msg["virtual_network_properties"] = &value + } + + if obj.modified & virtual_network_provider_properties != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.provider_properties) + if err != nil { + return nil, err + } + msg["provider_properties"] = &value + } + + if obj.modified & virtual_network_virtual_network_network_id != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_network_network_id) + if err != nil { + return nil, err + } + msg["virtual_network_network_id"] = &value + } + + if obj.modified & virtual_network_route_target_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.route_target_list) + if err != nil { + return nil, err + } + msg["route_target_list"] = &value + } + + if obj.modified & virtual_network_import_route_target_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.import_route_target_list) + if err != nil { + return nil, err + } + msg["import_route_target_list"] = &value + } + + if obj.modified & virtual_network_export_route_target_list != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.export_route_target_list) + if err != nil { + return nil, err + } + msg["export_route_target_list"] = &value + } + + if obj.modified & virtual_network_router_external != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.router_external) + if err != nil { + return nil, err + } + msg["router_external"] = &value + } + + if obj.modified & virtual_network_is_shared != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.is_shared) + if err != nil { + return nil, err + } + msg["is_shared"] = &value + } + + if obj.modified & virtual_network_external_ipam != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.external_ipam) + if err != nil { + return nil, err + } + msg["external_ipam"] = &value + } + + if obj.modified & virtual_network_flood_unknown_unicast != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.flood_unknown_unicast) + if err != nil { + return nil, err + } + msg["flood_unknown_unicast"] = &value + } + + if obj.modified & virtual_network_multi_policy_service_chains_enabled != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.multi_policy_service_chains_enabled) + if err != nil { + return nil, err + } + msg["multi_policy_service_chains_enabled"] = &value + } + + if obj.modified & virtual_network_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_network_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_network_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & virtual_network_qos_config_refs != 0 { + if len(obj.qos_config_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["qos_config_refs"] = &value + } else if !obj.hasReferenceBase("qos-config") { + var value json.RawMessage + value, err := json.Marshal(&obj.qos_config_refs) + if err != nil { + return nil, err + } + msg["qos_config_refs"] = &value + } + } + + + if obj.modified & virtual_network_network_ipam_refs != 0 { + if len(obj.network_ipam_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["network_ipam_refs"] = &value + } else if !obj.hasReferenceBase("network-ipam") { + var value json.RawMessage + value, err := json.Marshal(&obj.network_ipam_refs) + if err != nil { + return nil, err + } + msg["network_ipam_refs"] = &value + } + } + + + if obj.modified & virtual_network_network_policy_refs != 0 { + if len(obj.network_policy_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["network_policy_refs"] = &value + } else if !obj.hasReferenceBase("network-policy") { + var value json.RawMessage + value, err := json.Marshal(&obj.network_policy_refs) + if err != nil { + return nil, err + } + msg["network_policy_refs"] = &value + } + } + + + if obj.modified & virtual_network_route_table_refs != 0 { + if len(obj.route_table_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["route_table_refs"] = &value + } else if !obj.hasReferenceBase("route-table") { + var value json.RawMessage + value, err := json.Marshal(&obj.route_table_refs) + if err != nil { + return nil, err + } + msg["route_table_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *VirtualNetwork) UpdateReferences() error { + + if (obj.modified & virtual_network_qos_config_refs != 0) && + len(obj.qos_config_refs) > 0 && + obj.hasReferenceBase("qos-config") { + err := obj.UpdateReference( + obj, "qos-config", + obj.qos_config_refs, + obj.baseMap["qos-config"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_network_network_ipam_refs != 0) && + len(obj.network_ipam_refs) > 0 && + obj.hasReferenceBase("network-ipam") { + err := obj.UpdateReference( + obj, "network-ipam", + obj.network_ipam_refs, + obj.baseMap["network-ipam"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_network_network_policy_refs != 0) && + len(obj.network_policy_refs) > 0 && + obj.hasReferenceBase("network-policy") { + err := obj.UpdateReference( + obj, "network-policy", + obj.network_policy_refs, + obj.baseMap["network-policy"]) + if err != nil { + return err + } + } + + if (obj.modified & virtual_network_route_table_refs != 0) && + len(obj.route_table_refs) > 0 && + obj.hasReferenceBase("route-table") { + err := obj.UpdateReference( + obj, "route-table", + obj.route_table_refs, + obj.baseMap["route-table"]) + if err != nil { + return err + } + } + + return nil +} + +func VirtualNetworkByName(c contrail.ApiClient, fqn string) (*VirtualNetwork, error) { + obj, err := c.FindByName("virtual-network", fqn) + if err != nil { + return nil, err + } + return obj.(*VirtualNetwork), nil +} + +func VirtualNetworkByUuid(c contrail.ApiClient, uuid string) (*VirtualNetwork, error) { + obj, err := c.FindByUuid("virtual-network", uuid) + if err != nil { + return nil, err + } + return obj.(*VirtualNetwork), nil +} diff --git a/types/virtual_network_policy_type.go b/types/virtual_network_policy_type.go new file mode 100644 index 0000000..61446ff --- /dev/null +++ b/types/virtual_network_policy_type.go @@ -0,0 +1,17 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type TimerType struct { + StartTime string `json:"start_time,omitempty"` + OnInterval uint64 `json:"on_interval,omitempty"` + OffInterval uint64 `json:"off_interval,omitempty"` + EndTime string `json:"end_time,omitempty"` +} + +type VirtualNetworkPolicyType struct { + Sequence *SequenceType `json:"sequence,omitempty"` + Timer *TimerType `json:"timer,omitempty"` +} diff --git a/types/virtual_network_type.go b/types/virtual_network_type.go new file mode 100644 index 0000000..04a128c --- /dev/null +++ b/types/virtual_network_type.go @@ -0,0 +1,13 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type VirtualNetworkType struct { + AllowTransit bool `json:"allow_transit,omitempty"` + NetworkId int `json:"network_id,omitempty"` + VxlanNetworkIdentifier int `json:"vxlan_network_identifier,omitempty"` + ForwardingMode string `json:"forwarding_mode,omitempty"` + Rpf string `json:"rpf,omitempty"` +} diff --git a/types/virtual_router.go b/types/virtual_router.go new file mode 100644 index 0000000..6f87ff1 --- /dev/null +++ b/types/virtual_router.go @@ -0,0 +1,529 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +import ( + "encoding/json" + + "github.com/Juniper/contrail-go-api" +) + +const ( + virtual_router_virtual_router_type uint64 = 1 << iota + virtual_router_virtual_router_dpdk_enabled + virtual_router_virtual_router_ip_address + virtual_router_id_perms + virtual_router_perms2 + virtual_router_display_name + virtual_router_virtual_machine_refs + virtual_router_physical_router_back_refs + virtual_router_provider_attachment_back_refs +) + +type VirtualRouter struct { + contrail.ObjectBase + virtual_router_type string + virtual_router_dpdk_enabled bool + virtual_router_ip_address string + id_perms IdPermsType + perms2 PermType2 + display_name string + virtual_machine_refs contrail.ReferenceList + physical_router_back_refs contrail.ReferenceList + provider_attachment_back_refs contrail.ReferenceList + valid uint64 + modified uint64 + baseMap map[string]contrail.ReferenceList +} + +func (obj *VirtualRouter) GetType() string { + return "virtual-router" +} + +func (obj *VirtualRouter) GetDefaultParent() []string { + name := []string{"default-global-system-config"} + return name +} + +func (obj *VirtualRouter) GetDefaultParentType() string { + return "global-system-config" +} + +func (obj *VirtualRouter) SetName(name string) { + obj.VSetName(obj, name) +} + +func (obj *VirtualRouter) SetParent(parent contrail.IObject) { + obj.VSetParent(obj, parent) +} + +func (obj *VirtualRouter) storeReferenceBase( + name string, refList contrail.ReferenceList) { + if obj.baseMap == nil { + obj.baseMap = make(map[string]contrail.ReferenceList) + } + refCopy := make(contrail.ReferenceList, len(refList)) + copy(refCopy, refList) + obj.baseMap[name] = refCopy +} + +func (obj *VirtualRouter) hasReferenceBase(name string) bool { + if obj.baseMap == nil { + return false + } + _, exists := obj.baseMap[name] + return exists +} + +func (obj *VirtualRouter) UpdateDone() { + obj.modified = 0 + obj.baseMap = nil +} + + +func (obj *VirtualRouter) GetVirtualRouterType() string { + return obj.virtual_router_type +} + +func (obj *VirtualRouter) SetVirtualRouterType(value string) { + obj.virtual_router_type = value + obj.modified |= virtual_router_virtual_router_type +} + +func (obj *VirtualRouter) GetVirtualRouterDpdkEnabled() bool { + return obj.virtual_router_dpdk_enabled +} + +func (obj *VirtualRouter) SetVirtualRouterDpdkEnabled(value bool) { + obj.virtual_router_dpdk_enabled = value + obj.modified |= virtual_router_virtual_router_dpdk_enabled +} + +func (obj *VirtualRouter) GetVirtualRouterIpAddress() string { + return obj.virtual_router_ip_address +} + +func (obj *VirtualRouter) SetVirtualRouterIpAddress(value string) { + obj.virtual_router_ip_address = value + obj.modified |= virtual_router_virtual_router_ip_address +} + +func (obj *VirtualRouter) GetIdPerms() IdPermsType { + return obj.id_perms +} + +func (obj *VirtualRouter) SetIdPerms(value *IdPermsType) { + obj.id_perms = *value + obj.modified |= virtual_router_id_perms +} + +func (obj *VirtualRouter) GetPerms2() PermType2 { + return obj.perms2 +} + +func (obj *VirtualRouter) SetPerms2(value *PermType2) { + obj.perms2 = *value + obj.modified |= virtual_router_perms2 +} + +func (obj *VirtualRouter) GetDisplayName() string { + return obj.display_name +} + +func (obj *VirtualRouter) SetDisplayName(value string) { + obj.display_name = value + obj.modified |= virtual_router_display_name +} + +func (obj *VirtualRouter) readVirtualMachineRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_router_virtual_machine_refs == 0) { + err := obj.GetField(obj, "virtual_machine_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualRouter) GetVirtualMachineRefs() ( + contrail.ReferenceList, error) { + err := obj.readVirtualMachineRefs() + if err != nil { + return nil, err + } + return obj.virtual_machine_refs, nil +} + +func (obj *VirtualRouter) AddVirtualMachine( + rhs *VirtualMachine) error { + err := obj.readVirtualMachineRefs() + if err != nil { + return err + } + + if obj.modified & virtual_router_virtual_machine_refs == 0 { + obj.storeReferenceBase("virtual-machine", obj.virtual_machine_refs) + } + + ref := contrail.Reference { + rhs.GetFQName(), rhs.GetUuid(), rhs.GetHref(), nil} + obj.virtual_machine_refs = append(obj.virtual_machine_refs, ref) + obj.modified |= virtual_router_virtual_machine_refs + return nil +} + +func (obj *VirtualRouter) DeleteVirtualMachine(uuid string) error { + err := obj.readVirtualMachineRefs() + if err != nil { + return err + } + + if obj.modified & virtual_router_virtual_machine_refs == 0 { + obj.storeReferenceBase("virtual-machine", obj.virtual_machine_refs) + } + + for i, ref := range obj.virtual_machine_refs { + if ref.Uuid == uuid { + obj.virtual_machine_refs = append( + obj.virtual_machine_refs[:i], + obj.virtual_machine_refs[i+1:]...) + break + } + } + obj.modified |= virtual_router_virtual_machine_refs + return nil +} + +func (obj *VirtualRouter) ClearVirtualMachine() { + if (obj.valid & virtual_router_virtual_machine_refs != 0) && + (obj.modified & virtual_router_virtual_machine_refs == 0) { + obj.storeReferenceBase("virtual-machine", obj.virtual_machine_refs) + } + obj.virtual_machine_refs = make([]contrail.Reference, 0) + obj.valid |= virtual_router_virtual_machine_refs + obj.modified |= virtual_router_virtual_machine_refs +} + +func (obj *VirtualRouter) SetVirtualMachineList( + refList []contrail.ReferencePair) { + obj.ClearVirtualMachine() + obj.virtual_machine_refs = make([]contrail.Reference, len(refList)) + for i, pair := range refList { + obj.virtual_machine_refs[i] = contrail.Reference { + pair.Object.GetFQName(), + pair.Object.GetUuid(), + pair.Object.GetHref(), + pair.Attribute, + } + } +} + + +func (obj *VirtualRouter) readPhysicalRouterBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_router_physical_router_back_refs == 0) { + err := obj.GetField(obj, "physical_router_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualRouter) GetPhysicalRouterBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readPhysicalRouterBackRefs() + if err != nil { + return nil, err + } + return obj.physical_router_back_refs, nil +} + +func (obj *VirtualRouter) readProviderAttachmentBackRefs() error { + if !obj.IsTransient() && + (obj.valid & virtual_router_provider_attachment_back_refs == 0) { + err := obj.GetField(obj, "provider_attachment_back_refs") + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualRouter) GetProviderAttachmentBackRefs() ( + contrail.ReferenceList, error) { + err := obj.readProviderAttachmentBackRefs() + if err != nil { + return nil, err + } + return obj.provider_attachment_back_refs, nil +} + +func (obj *VirtualRouter) MarshalJSON() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalCommon(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_router_virtual_router_type != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_router_type) + if err != nil { + return nil, err + } + msg["virtual_router_type"] = &value + } + + if obj.modified & virtual_router_virtual_router_dpdk_enabled != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_router_dpdk_enabled) + if err != nil { + return nil, err + } + msg["virtual_router_dpdk_enabled"] = &value + } + + if obj.modified & virtual_router_virtual_router_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_router_ip_address) + if err != nil { + return nil, err + } + msg["virtual_router_ip_address"] = &value + } + + if obj.modified & virtual_router_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_router_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_router_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if len(obj.virtual_machine_refs) > 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_refs"] = &value + } + + return json.Marshal(msg) +} + +func (obj *VirtualRouter) UnmarshalJSON(body []byte) error { + var m map[string]json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + err = obj.UnmarshalCommon(m) + if err != nil { + return err + } + for key, value := range m { + switch key { + case "virtual_router_type": + err = json.Unmarshal(value, &obj.virtual_router_type) + if err == nil { + obj.valid |= virtual_router_virtual_router_type + } + break + case "virtual_router_dpdk_enabled": + err = json.Unmarshal(value, &obj.virtual_router_dpdk_enabled) + if err == nil { + obj.valid |= virtual_router_virtual_router_dpdk_enabled + } + break + case "virtual_router_ip_address": + err = json.Unmarshal(value, &obj.virtual_router_ip_address) + if err == nil { + obj.valid |= virtual_router_virtual_router_ip_address + } + break + case "id_perms": + err = json.Unmarshal(value, &obj.id_perms) + if err == nil { + obj.valid |= virtual_router_id_perms + } + break + case "perms2": + err = json.Unmarshal(value, &obj.perms2) + if err == nil { + obj.valid |= virtual_router_perms2 + } + break + case "display_name": + err = json.Unmarshal(value, &obj.display_name) + if err == nil { + obj.valid |= virtual_router_display_name + } + break + case "virtual_machine_refs": + err = json.Unmarshal(value, &obj.virtual_machine_refs) + if err == nil { + obj.valid |= virtual_router_virtual_machine_refs + } + break + case "physical_router_back_refs": + err = json.Unmarshal(value, &obj.physical_router_back_refs) + if err == nil { + obj.valid |= virtual_router_physical_router_back_refs + } + break + case "provider_attachment_back_refs": + err = json.Unmarshal(value, &obj.provider_attachment_back_refs) + if err == nil { + obj.valid |= virtual_router_provider_attachment_back_refs + } + break + } + if err != nil { + return err + } + } + return nil +} + +func (obj *VirtualRouter) UpdateObject() ([]byte, error) { + msg := map[string]*json.RawMessage { + } + err := obj.MarshalId(msg) + if err != nil { + return nil, err + } + + if obj.modified & virtual_router_virtual_router_type != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_router_type) + if err != nil { + return nil, err + } + msg["virtual_router_type"] = &value + } + + if obj.modified & virtual_router_virtual_router_dpdk_enabled != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_router_dpdk_enabled) + if err != nil { + return nil, err + } + msg["virtual_router_dpdk_enabled"] = &value + } + + if obj.modified & virtual_router_virtual_router_ip_address != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_router_ip_address) + if err != nil { + return nil, err + } + msg["virtual_router_ip_address"] = &value + } + + if obj.modified & virtual_router_id_perms != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.id_perms) + if err != nil { + return nil, err + } + msg["id_perms"] = &value + } + + if obj.modified & virtual_router_perms2 != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.perms2) + if err != nil { + return nil, err + } + msg["perms2"] = &value + } + + if obj.modified & virtual_router_display_name != 0 { + var value json.RawMessage + value, err := json.Marshal(&obj.display_name) + if err != nil { + return nil, err + } + msg["display_name"] = &value + } + + if obj.modified & virtual_router_virtual_machine_refs != 0 { + if len(obj.virtual_machine_refs) == 0 { + var value json.RawMessage + value, err := json.Marshal( + make([]contrail.Reference, 0)) + if err != nil { + return nil, err + } + msg["virtual_machine_refs"] = &value + } else if !obj.hasReferenceBase("virtual-machine") { + var value json.RawMessage + value, err := json.Marshal(&obj.virtual_machine_refs) + if err != nil { + return nil, err + } + msg["virtual_machine_refs"] = &value + } + } + + + return json.Marshal(msg) +} + +func (obj *VirtualRouter) UpdateReferences() error { + + if (obj.modified & virtual_router_virtual_machine_refs != 0) && + len(obj.virtual_machine_refs) > 0 && + obj.hasReferenceBase("virtual-machine") { + err := obj.UpdateReference( + obj, "virtual-machine", + obj.virtual_machine_refs, + obj.baseMap["virtual-machine"]) + if err != nil { + return err + } + } + + return nil +} + +func VirtualRouterByName(c contrail.ApiClient, fqn string) (*VirtualRouter, error) { + obj, err := c.FindByName("virtual-router", fqn) + if err != nil { + return nil, err + } + return obj.(*VirtualRouter), nil +} + +func VirtualRouterByUuid(c contrail.ApiClient, uuid string) (*VirtualRouter, error) { + obj, err := c.FindByUuid("virtual-router", uuid) + if err != nil { + return nil, err + } + return obj.(*VirtualRouter), nil +} diff --git a/types/vn_subnets_type.go b/types/vn_subnets_type.go new file mode 100644 index 0000000..807fa88 --- /dev/null +++ b/types/vn_subnets_type.go @@ -0,0 +1,41 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type AllocationPoolType struct { + Start string `json:"start,omitempty"` + End string `json:"end,omitempty"` +} + +type IpamSubnetType struct { + Subnet *SubnetType `json:"subnet,omitempty"` + DefaultGateway string `json:"default_gateway,omitempty"` + DnsServerAddress string `json:"dns_server_address,omitempty"` + SubnetUuid string `json:"subnet_uuid,omitempty"` + EnableDhcp bool `json:"enable_dhcp,omitempty"` + DnsNameservers []string `json:"dns_nameservers,omitempty"` + AllocationPools []AllocationPoolType `json:"allocation_pools,omitempty"` + AddrFromStart bool `json:"addr_from_start,omitempty"` + DhcpOptionList *DhcpOptionsListType `json:"dhcp_option_list,omitempty"` + HostRoutes *RouteTableType `json:"host_routes,omitempty"` + SubnetName string `json:"subnet_name,omitempty"` +} + +func (obj *IpamSubnetType) AddDnsNameservers(value string) { + obj.DnsNameservers = append(obj.DnsNameservers, value) +} + +func (obj *IpamSubnetType) AddAllocationPools(value *AllocationPoolType) { + obj.AllocationPools = append(obj.AllocationPools, *value) +} + +type VnSubnetsType struct { + IpamSubnets []IpamSubnetType `json:"ipam_subnets,omitempty"` + HostRoutes *RouteTableType `json:"host_routes,omitempty"` +} + +func (obj *VnSubnetsType) AddIpamSubnets(value *IpamSubnetType) { + obj.IpamSubnets = append(obj.IpamSubnets, *value) +} diff --git a/types/vrf_assign_table_type.go b/types/vrf_assign_table_type.go new file mode 100644 index 0000000..ee8a489 --- /dev/null +++ b/types/vrf_assign_table_type.go @@ -0,0 +1,20 @@ +// +// Automatically generated. DO NOT EDIT. +// + +package types + +type VrfAssignRuleType struct { + MatchCondition *MatchConditionType `json:"match_condition,omitempty"` + VlanTag int `json:"vlan_tag,omitempty"` + RoutingInstance string `json:"routing_instance,omitempty"` + IgnoreAcl bool `json:"ignore_acl,omitempty"` +} + +type VrfAssignTableType struct { + VrfAssignRule []VrfAssignRuleType `json:"vrf_assign_rule,omitempty"` +} + +func (obj *VrfAssignTableType) AddVrfAssignRule(value *VrfAssignRuleType) { + obj.VrfAssignRule = append(obj.VrfAssignRule, *value) +} diff --git a/vrouter.go b/vrouter.go new file mode 100644 index 0000000..8535544 --- /dev/null +++ b/vrouter.go @@ -0,0 +1,83 @@ +package contrail + +import ( + "fmt" + "git.apache.org/thrift.git/lib/go/thrift" + "github.com/Juniper/contrail-go-api/gen-go/instance_service" + "encoding/hex" + "strings" + "strconv" +) + +func rpc_client_instance() (error, *instance_service.InstanceServiceClient ) { + addr := "localhost:9090" + socket, err := thrift.NewTSocket(addr) + if err != nil { + fmt.Println("Error opening socket:", err) + } + transportFactory := thrift.NewTTransportFactory() + framedTransportFactory := thrift.NewTFramedTransportFactory(transportFactory) + transport := framedTransportFactory.GetTransport(socket) + transport.Open() + protocolFactory := thrift.NewTBinaryProtocolFactoryDefault() + client := instance_service.NewInstanceServiceClientFactory(transport, protocolFactory) + client.Connect() + return nil, client +} + +func StringToTuuid(Uuid string) (instance_service.Tuuid) { + uuidSlice := strings.Split(Uuid, "-") + var intArr []int16 + var tArr instance_service.Tuuid + for i := 0; i < len(uuidSlice); i++{ + b2, _ := hex.DecodeString(uuidSlice[i]) + for x := 0; x < len(b2); x++{ + tmpS := fmt.Sprintf("%v",b2[x]) + i, _ := strconv.Atoi(tmpS) + i16 := int16(i) + intArr = append(intArr,i16) + tArr = append(tArr,i16) + } + } + return tArr + +} + +func VrouterDelPort(vmiUuid string) { + err, client := rpc_client_instance() + if err != nil { + fmt.Println("error: ", err) + } + vmiUuidT := StringToTuuid(vmiUuid) + client.DeletePort(vmiUuidT) +} + +func VrouterAddPort(vmiUuid string, vmUuid string, hostVethName string, mac string, vnName string, projectUuid string, portTypeString string) { + err, client := rpc_client_instance() + if err != nil { + fmt.Println("error: ", err) + } + ipAddress := "0.0.0.0" + var portList instance_service.PortList + vmiUuidT := StringToTuuid(vmiUuid) + vmUuidT := StringToTuuid(vmUuid) + var vnIdT instance_service.Tuuid + var portType int16 + portType = 0 + for i := 0; i < 16; i++{ + vnIdT = append(vnIdT, 0) + } + port := &instance_service.Port{ + PortID : vmiUuidT, + InstanceID : vmUuidT, + TapName : hostVethName, + IPAddress : ipAddress, + VnID : vnIdT, + MacAddress : mac, + //VMProjectID : projectUuidT, + //DisplayName : &vnName, + PortType : &portType, + } + portList = append(portList, port) + client.AddPort(portList) +}