peeringdb

package module
v0.0.0-...-e8c9b5a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 22, 2022 License: GPL-3.0 Imports: 6 Imported by: 0

README

PeeringDB API - Go package

GoDoc Go Report Card

This is a Go package that allows developer to interact with the PeeringDB API in the easiest way possible. There are no binaries provided with this package. It can only be used as a library.

Installation

Install the library package with go get github.com/gmazoyer/peeringdb.

Example

There are small examples in the package documentation.

You can also found a real life example with the PeeringDB synchronization tool.

Documentation

Overview

Package peeringdb provides structures and functions to interact with the PeeringDB API. The API documentation is available here: https://www.peeringdb.com/apidocs/

The PeeringDB API is based on REST principles and the output is formatted in JSON. This is what this package do. It queries the API with correct URL and parameters. It then parses the JSON response and make it Go structures. For now this package can only be used to do GET requests. So it cannot be used to make any changes on any PeeringDB record.

There is two levels of structures in this package. The first level is a representation of the first level of the JSON returned by the API. These structures are named *Resource. They all have the same layout a Meta field, containing metadata returned by the API, and a Data field being an array of the second level structures.

All calls to the PeeringDB API are made using the "depth=1" parameter. This means that sets will be expanded as interger slices instead of slice of structures. This speeds up the API processing time. To get the structures for a given set, you just have to iterate over the set and call the right function to retrieve structures from IDs.

Let's take an example. When we request one or several objects from the PeeringDB API, the response is always formatted in the same way. First comes the metadata, then comes data. Data are always in an array since it might contain more than one object. So when we ask the API to give us a network object (called Net and represented by the struct of the same name), this package will parse the first level as a NetResource structure. This structure contains metadata in its Meta field (if their is any) and Net structures in the Data field (being an array).

Example
api := NewAPI()

// Look for the organization given a name
search := make(map[string]interface{})
search["name"] = "LuxNetwork S.A."

// Get the organization, pointer to slice returned
organizations, err := api.GetOrganization(search)

// If an error as occurred, print it
if err != nil {
	fmt.Println(err)
	return
}

// No organization found
if len(*organizations) < 1 {
	fmt.Printf("No organization found with name '%s'\n", search["name"])
	return
}

// Several organizations found
if len(*organizations) > 1 {
	fmt.Printf("More than one organizations found with name '%s'\n",
		search["name"])
	return
}

// Get the first found organization
org := (*organizations)[0]

// Find if there are networks linked to the organization
if len(org.NetworkSet) > 0 {
	// For each network
	for _, networkID := range org.NetworkSet {
		// Get the details and print it
		network, err := api.GetNetworkByID(networkID)
		if err != nil {
			fmt.Println(err)
		} else {
			fmt.Print(network.Name)
		}
	}
}
Output:
LuxNetwork S.A.

Index

Examples

Constants

This section is empty.

Variables

View Source
var (
	// ErrBuildingURL is the error that will be returned if the URL to call the
	// API cannot be built as expected.
	ErrBuildingURL = errors.New("Error while building the URL to call the PeeringDB API.")
	// ErrBuildingRequest is the error that will be returned if the HTTP
	// request to call the API cannot be built as expected.
	ErrBuildingRequest = errors.New("Error while building the request to send to the PeeringDB API.")
	// ErrQueryingAPI is the error that will be returned if there is an issue
	// while making the request to the API.
	ErrQueryingAPI = errors.New("Error while querying PeeringDB API.")
)

Functions

This section is empty.

Types

type API

type API struct {
	// contains filtered or unexported fields
}

API is the structure used to interact with the PeeringDB API. This is the main structure of this package. All functions to make API calls are associated to this structure.

func NewAPI

func NewAPI() *API

NewAPI returns a pointer to a new API structure. It uses the publicly known PeeringDB API endpoint.

func NewAPIFromURL

func NewAPIFromURL(url string) *API

NewAPIFromURL returns a pointer to a new API structure from a given URL. If the given URL is empty it will use the default PeeringDB API URL.

func NewAPIFromURLWithAuth

func NewAPIFromURLWithAuth(url, login, password string) *API

NewAPIFromURLWithAuth returns a pointer to a new API structure from a given URL. If the given URL is empty it will use the default PeeringDB API URL. It will use the provided login and password to attempt an authentication while making API calls.

func NewAPIWithAPIKey

func NewAPIWithAPIKey(apiKey string) *API

NewAPIWithAuth returns a pointer to a new API structure. The API will point to the publicly known PeeringDB API endpoint and will use the provided login and password to attempt an authentication while making API calls.

func NewAPIWithAuth

func NewAPIWithAuth(login, password string) *API

NewAPIWithAuth returns a pointer to a new API structure. The API will point to the publicly known PeeringDB API endpoint and will use the provided login and password to attempt an authentication while making API calls.

func (*API) GetASN

func (api *API) GetASN(asn int) *Network

GetASN is a simplified function to get PeeringDB details about a given AS number. It basically gets the Net object matching the AS number. If the AS number cannot be found, nil is returned.

Example
api := NewAPI()
as29467 := api.GetASN(29467)

fmt.Printf("Name:      %s\n", as29467.Name)
fmt.Printf("AS number: %d\n", as29467.ASN)
Output:
Name:      LuxNetwork S.A.
AS number: 29467

func (*API) GetAllFacilities

func (api *API) GetAllFacilities() (*[]Facility, error)

GetAllFacilities returns a pointer to a slice of Facility structures that the PeeringDB API can provide. If an error occurs, the returned error will be non-nil. The can be nil if no object could be found.

func (*API) GetAllInternetExchangeFacilities

func (api *API) GetAllInternetExchangeFacilities() (*[]InternetExchangeFacility, error)

GetAllInternetExchangeFacilities returns a pointer to a slice of InternetExchangeFacility structures that the PeeringDB API can provide. If an error occurs, the returned error will be non-nil. The can be nil if no object could be found.

func (*API) GetAllInternetExchangeLANs

func (api *API) GetAllInternetExchangeLANs() (*[]InternetExchangeLAN, error)

GetAllInternetExchangeLANs returns a pointer to a slice of InternetExchangeLAN structures that the PeeringDB API can provide. If an error occurs, the returned error will be non-nil. The can be nil if no object could be found.

func (*API) GetAllInternetExchangePrefixes

func (api *API) GetAllInternetExchangePrefixes() (*[]InternetExchangePrefix, error)

GetAllInternetExchangePrefixes returns a pointer to a slice of InternetExchangePrefix structures that the PeeringDB API can provide. If an error occurs, the returned error will be non-nil. The can be nil if no object could be found.

func (*API) GetAllInternetExchanges

func (api *API) GetAllInternetExchanges() (*[]InternetExchange, error)

GetAllInternetExchanges returns a pointer to a slice of InternetExchange structures that the PeeringDB API can provide. If an error occurs, the returned error will be non-nil. The can be nil if no object could be found.

func (*API) GetAllNetworkContacts

func (api *API) GetAllNetworkContacts() (*[]NetworkContact, error)

GetAllNetworkContacts returns a pointer to a slice of NetworkContact structures that the PeeringDB API can provide. If an error occurs, the returned error will be non-nil. The can be nil if no object could be found.

func (*API) GetAllNetworkFacilities

func (api *API) GetAllNetworkFacilities() (*[]NetworkFacility, error)

GetAllNetworkFacilities returns a pointer to a slice of NetworkFacility structures that the PeeringDB API can provide. If an error occurs, the returned error will be non-nil. The can be nil if no object could be found.

func (*API) GetAllNetworkInternetExchangeLANs

func (api *API) GetAllNetworkInternetExchangeLANs() (*[]NetworkInternetExchangeLAN, error)

GetAllNetworkInternetExchangeLANs returns a pointer to a slice of NetworkInternetExchangeLAN structures that the PeeringDB API can provide. If an error occurs, the returned error will be non-nil. The can be nil if no object could be found.

func (*API) GetAllNetworks

func (api *API) GetAllNetworks() (*[]Network, error)

GetAllNetworks returns a pointer to a slice of Network structures that the PeeringDB API can provide. If an error occurs, the returned error will be non-nil. The can be nil if no object could be found.

func (*API) GetAllOrganizations

func (api *API) GetAllOrganizations() (*[]Organization, error)

GetAllOrganizations returns a pointer to a slice of Organization structures that the PeeringDB API can provide. If an error occurs, the returned error will be non-nil. The can be nil if no object could be found.

func (*API) GetFacility

func (api *API) GetFacility(search map[string]interface{}) (*[]Facility, error)

GetFacility returns a pointer to a slice of Facility structures that the PeeringDB API can provide matching the given search parameters map. If an error occurs, the returned error will be non-nil. The returned value can be nil if no object could be found.

func (*API) GetFacilityByID

func (api *API) GetFacilityByID(id int) (*Facility, error)

GetFacilityByID returns a pointer to a Facility structure that matches the given ID. If the ID is lesser than 0, it will return nil. The returned error will be non-nil if an issue as occurred while trying to query the API. If for some reasons the API returns more than one object for the given ID (but it must not) only the first will be used for the returned value.

func (*API) GetInternetExchange

func (api *API) GetInternetExchange(search map[string]interface{}) (*[]InternetExchange, error)

GetInternetExchange returns a pointer to a slice of InternetExchange structures that the PeeringDB API can provide matching the given search parameters map. If an error occurs, the returned error will be non-nil. The returned value can be nil if no object could be found.

func (*API) GetInternetExchangeByID

func (api *API) GetInternetExchangeByID(id int) (*InternetExchange, error)

GetInternetExchangeByID returns a pointer to a InternetExchange structure that matches the given ID. If the ID is lesser than 0, it will return nil. The returned error will be non-nil if an issue as occurred while trying to query the API. If for some reasons the API returns more than one object for the given ID (but it must not) only the first will be used for the returned value.

func (*API) GetInternetExchangeFacility

func (api *API) GetInternetExchangeFacility(search map[string]interface{}) (*[]InternetExchangeFacility, error)

GetInternetExchangeFacility returns a pointer to a slice of InternetExchangeFacility structures that the PeeringDB API can provide matching the given search parameters map. If an error occurs, the returned error will be non-nil. The returned value can be nil if no object could be found.

func (*API) GetInternetExchangeFacilityByID

func (api *API) GetInternetExchangeFacilityByID(id int) (*InternetExchangeFacility, error)

GetInternetExchangeFacilityByID returns a pointer to a InternetExchangeFacility structure that matches the given ID. If the ID is lesser than 0, it will return nil. The returned error will be non-nil if an issue as occurred while trying to query the API. If for some reasons the API returns more than one object for the given ID (but it must not) only the first will be used for the returned value.

func (*API) GetInternetExchangeLAN

func (api *API) GetInternetExchangeLAN(search map[string]interface{}) (*[]InternetExchangeLAN, error)

GetInternetExchangeLAN returns a pointer to a slice of InternetExchangeLAN structures that the PeeringDB API can provide matching the given search parameters map. If an error occurs, the returned error will be non-nil. The returned value can be nil if no object could be found.

func (*API) GetInternetExchangeLANByID

func (api *API) GetInternetExchangeLANByID(id int) (*InternetExchangeLAN, error)

GetInternetExchangeLANByID returns a pointer to a InternetExchangeLAN structure that matches the given ID. If the ID is lesser than 0, it will return nil. The returned error will be non-nil if an issue as occurred while trying to query the API. If for some reasons the API returns more than one object for the given ID (but it must not) only the first will be used for the returned value.

func (*API) GetInternetExchangePrefix

func (api *API) GetInternetExchangePrefix(search map[string]interface{}) (*[]InternetExchangePrefix, error)

GetInternetExchangePrefix returns a pointer to a slice of InternetExchangePrefix structures that the PeeringDB API can provide matching the given search parameters map. If an error occurs, the returned error will be non-nil. The returned value can be nil if no object could be found.

func (*API) GetInternetExchangePrefixByID

func (api *API) GetInternetExchangePrefixByID(id int) (*InternetExchangePrefix, error)

GetInternetExchangePrefixByID returns a pointer to a InternetExchangePrefix structure that matches the given ID. If the ID is lesser than 0, it will return nil. The returned error will be non-nil if an issue as occurred while trying to query the API. If for some reasons the API returns more than one object for the given ID (but it must not) only the first will be used for the returned value.

func (*API) GetNetwork

func (api *API) GetNetwork(search map[string]interface{}) (*[]Network, error)

GetNetwork returns a pointer to a slice of Network structures that the PeeringDB API can provide matching the given search parameters map. If an error occurs, the returned error will be non-nil. The returned value can be nil if no object could be found.

func (*API) GetNetworkByID

func (api *API) GetNetworkByID(id int) (*Network, error)

GetNetworkByID returns a pointer to a Network structure that matches the given ID. If the ID is lesser than 0, it will return nil. The returned error will be non-nil if an issue as occurred while trying to query the API. If for some reasons the API returns more than one object for the given ID (but it must not) only the first will be used for the returned value.

func (*API) GetNetworkContact

func (api *API) GetNetworkContact(search map[string]interface{}) (*[]NetworkContact, error)

GetNetworkContact returns a pointer to a slice of NetworkContact structures that the PeeringDB API can provide matching the given search parameters map. If an error occurs, the returned error will be non-nil. The returned value can be nil if no object could be found.

func (*API) GetNetworkContactByID

func (api *API) GetNetworkContactByID(id int) (*NetworkContact, error)

GetNetworkContactByID returns a pointer to a NetworkContact structure that matches the given ID. If the ID is lesser than 0, it will return nil. The returned error will be non-nil if an issue as occurred while trying to query the API. If for some reasons the API returns more than one object for the given ID (but it must not) only the first will be used for the returned value.

func (*API) GetNetworkFacility

func (api *API) GetNetworkFacility(search map[string]interface{}) (*[]NetworkFacility, error)

GetNetworkFacility returns a pointer to a slice of NetworkFacility structures that the PeeringDB API can provide matching the given search parameters map. If an error occurs, the returned error will be non-nil. The returned value can be nil if no object could be found.

func (*API) GetNetworkFacilityByID

func (api *API) GetNetworkFacilityByID(id int) (*NetworkFacility, error)

GetNetworkFacilityByID returns a pointer to a NetworkFacility structure that matches the given ID. If the ID is lesser than 0, it will return nil. The returned error will be non-nil if an issue as occurred while trying to query the API. If for some reasons the API returns more than one object for the given ID (but it must not) only the first will be used for the returned value.

func (*API) GetNetworkInternetExchangeLAN

func (api *API) GetNetworkInternetExchangeLAN(search map[string]interface{}) (*[]NetworkInternetExchangeLAN, error)

GetNetworkInternetExchangeLAN returns a pointer to a slice of NetworkInternetExchangeLAN structures that the PeeringDB API can provide matching the given search parameters map. If an error occurs, the returned error will be non-nil. The returned value can be nil if no object could be found.

func (*API) GetNetworkInternetExchangeLANByID

func (api *API) GetNetworkInternetExchangeLANByID(id int) (*NetworkInternetExchangeLAN, error)

GetNetworkInternetExchangeLANByID returns a pointer to a NetworkInternetExchangeLAN structure that matches the given ID. If the ID is lesser than 0, it will return nil. The returned error will be non-nil if an issue as occurred while trying to query the API. If for some reasons the API returns more than one object for the given ID (but it must not) only the first will be used for the returned value.

func (*API) GetOrganization

func (api *API) GetOrganization(search map[string]interface{}) (*[]Organization, error)

GetOrganization returns a pointer to a slice of Organization structures that the PeeringDB API can provide matching the given search parameters map. If an error occurs, the returned error will be non-nil. The returned value can be nil if no object could be found.

func (*API) GetOrganizationByID

func (api *API) GetOrganizationByID(id int) (*Organization, error)

GetOrganizationByID returns a pointer to a Organization structure that matches the given ID. If the ID is lesser than 0, it will return nil. The returned error will be non-nil if an issue as occurred while trying to query the API. If for some reasons the API returns more than one object for the given ID (but it must not) only the first will be used for the returned value.

type Facility

type Facility struct {
	ID               int          `json:"id"`
	OrganizationID   int          `json:"org_id"`
	OrganizationName string       `json:"org_name"`
	Organization     Organization `json:"organization,omitempty"`
	Name             string       `json:"name"`
	Website          string       `json:"website"`
	CLLI             string       `json:"clli"`
	Rencode          string       `json:"rencode"`
	Npanxx           string       `json:"npanxx"`
	Notes            string       `json:"notes"`
	NetCount         int          `json:"net_count"`
	Created          time.Time    `json:"created"`
	Updated          time.Time    `json:"updated"`
	Status           string       `json:"status"`
	Address1         string       `json:"address1"`
	Address2         string       `json:"address2"`
	City             string       `json:"city"`
	Country          string       `json:"country"`
	State            string       `json:"state"`
	Zipcode          string       `json:"zipcode"`
}

Facility is the representation of a location where network operators and Internet exchange points are located. Most of the time you know a facility as a datacenter.

type InternetExchange

type InternetExchange struct {
	ID                     int          `json:"id"`
	OrganizationID         int          `json:"org_id"`
	Organization           Organization `json:"org,omitempty"`
	Name                   string       `json:"name"`
	NameLong               string       `json:"name_long"`
	City                   string       `json:"city"`
	Country                string       `json:"country"`
	RegionContinent        string       `json:"region_continent"`
	Media                  string       `json:"media"`
	Notes                  string       `json:"notes"`
	ProtoUnicast           bool         `json:"proto_unicast"`
	ProtoMulticast         bool         `json:"proto_multicast"`
	ProtoIPv6              bool         `json:"proto_ipv6"`
	Website                string       `json:"website"`
	URLStats               string       `json:"url_stats"`
	TechEmail              string       `json:"tech_email"`
	TechPhone              string       `json:"tech_phone"`
	PolicyEmail            string       `json:"policy_email"`
	PolicyPhone            string       `json:"policy_phone"`
	FacilitySet            []int        `json:"fac_set"`
	InternetExchangeLANSet []int        `json:"ixlan_set"`
	Created                time.Time    `json:"created"`
	Updated                time.Time    `json:"updated"`
	Status                 string       `json:"status"`
}

InternetExchange is a structure representing an Internet exchange point. It is directly linked to the Organization that manage the IX.

type InternetExchangeFacility

type InternetExchangeFacility struct {
	ID                 int              `json:"id"`
	InternetExchangeID int              `json:"ix_id"`
	InternetExchange   InternetExchange `json:"ix,omitempty"`
	FacilityID         int              `json:"fac_id"`
	Facility           Facility         `json:"fac,omitempty"`
	Created            time.Time        `json:"created"`
	Updated            time.Time        `json:"updated"`
	Status             string           `json:"status"`
}

InternetExchangeFacility is a structure used to link an InternetExchange structure with a Facility structure. It helps to know where an Internet exchange points can be found, or what Internet exchange points can be found in a given facility.

type InternetExchangeLAN

type InternetExchangeLAN struct {
	ID                        int              `json:"id"`
	InternetExchangeID        int              `json:"ix_id"`
	InternetExchange          InternetExchange `json:"ix,omitempty"`
	Name                      string           `json:"name"`
	Description               string           `json:"descr"`
	MTU                       int              `json:"mtu"`
	Dot1QSupport              bool             `json:"dot1q_support"`
	RouteServerASN            int              `json:"rs_asn"`
	ARPSponge                 string           `json:"arp_sponge"`
	NetworkSet                []int            `json:"net_set"`
	InternetExchangePrefixSet []int            `json:"ixpfx_set"`
	Status                    string           `json:"status"`
	IXFURL                    string           `json:"ixf_ixp_member_list_url"`
	IXFURLVisibility          string           `json:"ixf_ixp_member_list_url_visible"`
	Updated                   time.Time        `json:"updated"`
	Created                   time.Time        `json:"created"`
}

InternetExchangeLAN is a structure representing the one of the network (LAN) of an Internet exchange points. It contains details about the LAN like the MTU, VLAN support, etc.

type InternetExchangePrefix

type InternetExchangePrefix struct {
	ID                    int                 `json:"id"`
	InternetExchangeLANID int                 `json:"ixlan_id"`
	InternetExchangeLAN   InternetExchangeLAN `json:"ixlan,omitempty"`
	Protocol              string              `json:"protocol"`
	Prefix                string              `json:"prefix"`
	Created               time.Time           `json:"created"`
	Updated               time.Time           `json:"updated"`
	Status                string              `json:"status"`
}

InternetExchangePrefix is a structure representing the prefix used by an Internet exchange point. It is directly linked to an InternetExchangeLAN.

type Network

type Network struct {
	ID                            int          `json:"id"`
	OrganizationID                int          `json:"org_id"`
	Organization                  Organization `json:"org,omitempty"`
	Name                          string       `json:"name"`
	AKA                           string       `json:"aka"`
	Website                       string       `json:"website"`
	ASN                           int          `json:"asn"`
	LookingGlass                  string       `json:"looking_glass"`
	RouteServer                   string       `json:"route_server"`
	IRRASSet                      string       `json:"irr_as_set"`
	InfoType                      string       `json:"info_type"`
	InfoPrefixes4                 int          `json:"info_prefixes4"`
	InfoPrefixes6                 int          `json:"info_prefixes6"`
	InfoTraffic                   string       `json:"info_traffic"`
	InfoRatio                     string       `json:"info_ratio"`
	InfoScope                     string       `json:"info_scope"`
	InfoUnicast                   bool         `json:"info_unicast"`
	InfoMulticast                 bool         `json:"info_multicast"`
	InfoIPv6                      bool         `json:"info_ipv6"`
	Notes                         string       `json:"notes"`
	PolicyURL                     string       `json:"policy_url"`
	PolicyGeneral                 string       `json:"policy_general"`
	PolicyLocations               string       `json:"policy_locations"`
	PolicyRatio                   bool         `json:"policy_ratio"`
	PolicyContracts               string       `json:"policy_contracts"`
	NetworkFacilitySet            []int        `json:"netfac_set"`
	NetworkInternetExchangeLANSet []int        `json:"netixlan_set"`
	NetworkContactSet             []int        `json:"poc_set"`
	Created                       time.Time    `json:"created"`
	Updated                       time.Time    `json:"updated"`
	Status                        string       `json:"status"`
}

Network is a structure representing a network. Basically, a network is an Autonomous System identified by an AS number and other details. It belongs to an Organization, contains one or more NetworkContact, and is part of several Facility and InternetExchangeLAN.

type NetworkContact

type NetworkContact struct {
	ID        int       `json:"id"`
	NetworkID int       `json:"net_id"`
	Network   Network   `json:"net"`
	Role      string    `json:"role"`
	Visible   string    `json:"visible"`
	Name      string    `json:"name"`
	Phone     string    `json:"phone"`
	Email     string    `json:"email"`
	URL       string    `json:"url"`
	Created   time.Time `json:"created"`
	Updated   time.Time `json:"updated"`
	Status    string    `json:"status"`
}

NetworkContact represents a contact for a network.

type NetworkFacility

type NetworkFacility struct {
	ID         int       `json:"id"`
	Name       string    `json:"name"`
	City       string    `json:"city"`
	Country    string    `json:"country"`
	NetworkID  int       `json:"net_id"`
	Network    Network   `json:"net"`
	FacilityID int       `json:"fac_id"`
	LocalASN   int       `json:"local_asn"`
	Created    time.Time `json:"created"`
	Updated    time.Time `json:"updated"`
	Status     string    `json:"status"`
}

NetworkFacility is a structure used to link a Network with a Facility. It helps to know where a network is located (it can be in several facilities). For example, it can be used to search common facilities between several networks to know where they can interconnect themselves directly.

type NetworkInternetExchangeLAN

type NetworkInternetExchangeLAN struct {
	ID                    int       `json:"id"`
	NetworkID             int       `json:"net_id"`
	Network               Network   `json:"net,omitempty"`
	InternetExchangeID    int       `json:"ix_id"`
	Name                  string    `json:"name"`
	InternetExchangeLANID int       `json:"ixlan_id"`
	Notes                 string    `json:"notes"`
	Speed                 int       `json:"speed"`
	ASN                   int       `json:"asn"`
	IPAddr4               string    `json:"ipaddr4"`
	IPAddr6               string    `json:"ipaddr6"`
	IsRSPeer              bool      `json:"is_rs_peer"`
	Created               time.Time `json:"created"`
	Updated               time.Time `json:"updated"`
	Status                string    `json:"status"`
}

NetworkInternetExchangeLAN is a structure allowing to know to which InternetExchangeLAN a network is connected. It can be used, for example, to know what are the common Internet exchange LANs between several networks.

type Organization

type Organization struct {
	ID                  int       `json:"id"`
	Name                string    `json:"name"`
	Website             string    `json:"website"`
	Notes               string    `json:"notes"`
	NetworkSet          []int     `json:"net_set"`
	FacilitySet         []int     `json:"fac_set"`
	InternetExchangeSet []int     `json:"ix_set"`
	Address1            string    `json:"address1"`
	Address2            string    `json:"address2"`
	City                string    `json:"city"`
	Country             string    `json:"country"`
	State               string    `json:"state"`
	Zipcode             string    `json:"zipcode"`
	Created             time.Time `json:"created"`
	Updated             time.Time `json:"updated"`
	Status              string    `json:"status"`
}

Organization is a structure representing an Organization. An organization can be seen as an enterprise linked to networks, facilities and internet exchange points.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL