// Code generated by go-swagger; DO NOT EDIT. // (c) 2012-2020 by Telnexus LLC // All rights reserved worldwide. // Proprietary product; unlicensed use is not allowed package kazoo_client // This file was generated by the swagger tool. // Editing this file might prove futile when you re-run the swagger generate command import ( "github.com/go-openapi/runtime" httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" "code.tnxs.net/vernonkeenan/lib/api/kazoo/kazoo_client/account" "code.tnxs.net/vernonkeenan/lib/api/kazoo/kazoo_client/call_flow" "code.tnxs.net/vernonkeenan/lib/api/kazoo/kazoo_client/cdr" "code.tnxs.net/vernonkeenan/lib/api/kazoo/kazoo_client/device" "code.tnxs.net/vernonkeenan/lib/api/kazoo/kazoo_client/group" "code.tnxs.net/vernonkeenan/lib/api/kazoo/kazoo_client/media" "code.tnxs.net/vernonkeenan/lib/api/kazoo/kazoo_client/menu" "code.tnxs.net/vernonkeenan/lib/api/kazoo/kazoo_client/phone_number" "code.tnxs.net/vernonkeenan/lib/api/kazoo/kazoo_client/time_rule" "code.tnxs.net/vernonkeenan/lib/api/kazoo/kazoo_client/user" ) // Default kazoo HTTP client. var Default = NewHTTPClient(nil) const ( // DefaultHost is the default Host // found in Meta (info) section of spec file DefaultHost string = "api.zswitch.net:8443" // DefaultBasePath is the default BasePath // found in Meta (info) section of spec file DefaultBasePath string = "/v2" ) // DefaultSchemes are the default schemes found in Meta (info) section of spec file var DefaultSchemes = []string{"https"} // NewHTTPClient creates a new kazoo HTTP client. func NewHTTPClient(formats strfmt.Registry) *Kazoo { return NewHTTPClientWithConfig(formats, nil) } // NewHTTPClientWithConfig creates a new kazoo HTTP client, // using a customizable transport config. func NewHTTPClientWithConfig(formats strfmt.Registry, cfg *TransportConfig) *Kazoo { // ensure nullable parameters have default if cfg == nil { cfg = DefaultTransportConfig() } // create transport and client transport := httptransport.New(cfg.Host, cfg.BasePath, cfg.Schemes) return New(transport, formats) } // New creates a new kazoo client func New(transport runtime.ClientTransport, formats strfmt.Registry) *Kazoo { // ensure nullable parameters have default if formats == nil { formats = strfmt.Default } cli := new(Kazoo) cli.Transport = transport cli.Account = account.New(transport, formats) cli.CallFlow = call_flow.New(transport, formats) cli.Cdr = cdr.New(transport, formats) cli.Device = device.New(transport, formats) cli.Group = group.New(transport, formats) cli.Media = media.New(transport, formats) cli.Menu = menu.New(transport, formats) cli.PhoneNumber = phone_number.New(transport, formats) cli.TimeRule = time_rule.New(transport, formats) cli.User = user.New(transport, formats) return cli } // DefaultTransportConfig creates a TransportConfig with the // default settings taken from the meta section of the spec file. func DefaultTransportConfig() *TransportConfig { return &TransportConfig{ Host: DefaultHost, BasePath: DefaultBasePath, Schemes: DefaultSchemes, } } // TransportConfig contains the transport related info, // found in the meta section of the spec file. type TransportConfig struct { Host string BasePath string Schemes []string } // WithHost overrides the default host, // provided by the meta section of the spec file. func (cfg *TransportConfig) WithHost(host string) *TransportConfig { cfg.Host = host return cfg } // WithBasePath overrides the default basePath, // provided by the meta section of the spec file. func (cfg *TransportConfig) WithBasePath(basePath string) *TransportConfig { cfg.BasePath = basePath return cfg } // WithSchemes overrides the default schemes, // provided by the meta section of the spec file. func (cfg *TransportConfig) WithSchemes(schemes []string) *TransportConfig { cfg.Schemes = schemes return cfg } // Kazoo is a client for kazoo type Kazoo struct { Account account.ClientService CallFlow call_flow.ClientService Cdr cdr.ClientService Device device.ClientService Group group.ClientService Media media.ClientService Menu menu.ClientService PhoneNumber phone_number.ClientService TimeRule time_rule.ClientService User user.ClientService Transport runtime.ClientTransport } // SetTransport changes the transport on the client and all its subresources func (c *Kazoo) SetTransport(transport runtime.ClientTransport) { c.Transport = transport c.Account.SetTransport(transport) c.CallFlow.SetTransport(transport) c.Cdr.SetTransport(transport) c.Device.SetTransport(transport) c.Group.SetTransport(transport) c.Media.SetTransport(transport) c.Menu.SetTransport(transport) c.PhoneNumber.SetTransport(transport) c.TimeRule.SetTransport(transport) c.User.SetTransport(transport) }