packetfabric

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2024 License: MPL-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const CloudProviderCredentialURI = "/v2/services/cloud/credentials"
View Source
const FlexBandwidthURI = "/v2/flex-bandwidth"
View Source
const HostURL string = "http://localhost:9090"
View Source
const PasswordUpdateURI = "/v2/users/%s/password"
View Source
const UsersURI = "/v2/users"

Variables

This section is empty.

Functions

func ListContains added in v1.8.0

func ListContains[T comparable](items []T, key T) bool

Types

type ActivityLog

type ActivityLog struct {
	LogUUID     string `json:"log_uuid,omitempty"`
	User        string `json:"user,omitempty"`
	Level       int    `json:"level,omitempty"`
	Category    string `json:"category,omitempty"`
	Event       string `json:"event,omitempty"`
	Message     string `json:"message,omitempty"`
	TimeCreated string `json:"time_created,omitempty"`
	LevelName   string `json:"log_level_name,omitempty"`
}

type AuthResponse

type AuthResponse struct {
	Token       *string `json:"token"`
	TimeExpires string  `json:"time_expires"`
}

type AwsBilling

type AwsBilling struct {
	AccountUUID      string `json:"account_uuid"`
	SubscriptionTerm int    `json:"subscription_term"`
}

type AwsComponents

type AwsComponents struct {
	IfdPortCircuitIDCust string `json:"ifd_port_circuit_id_cust"`
	IfdPortCircuitIDPf   string `json:"ifd_port_circuit_id_pf"`
}

type AwsConnection

type AwsConnection struct {
	AwsAccountID           string         `json:"aws_account_id,omitempty"`
	AccountUUID            string         `json:"account_uuid,omitempty"`
	MaybeNat               bool           `json:"maybe_nat,omitempty"`
	MaybeDNat              bool           `json:"maybe_dnat,omitempty"`
	Description            string         `json:"description,omitempty"`
	Pop                    string         `json:"pop,omitempty"`
	Zone                   string         `json:"zone,omitempty"`
	IsPublic               bool           `json:"is_public,omitempty"`
	Speed                  string         `json:"speed,omitempty"`
	PublishedQuoteLineUUID string         `json:"published_quote_line_uuid,omitempty"`
	PONumber               string         `json:"po_number,omitempty"`
	CloudSettings          *CloudSettings `json:"cloud_settings,omitempty"`
	SubscriptionTerm       int            `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type AwsConnectionCreateResponse

type AwsConnectionCreateResponse struct {
	PublicIP        string              `json:"public_ip"`
	UUID            string              `json:"uuid"`
	CustomerUUID    string              `json:"customer_uuid"`
	UserUUID        string              `json:"user_uuid"`
	ServiceProvider string              `json:"service_provider"`
	PortType        string              `json:"port_type"`
	Settings        CloudRouterSettings `json:"settings"`
	CloudCircuitID  string              `json:"cloud_circuit_id"`
	AccountUUID     string              `json:"account_uuid"`
	ServiceClass    string              `json:"service_class"`
	Description     string              `json:"description"`
	State           string              `json:"state"`
	Billing         AwsBilling          `json:"billing"`
	Speed           string              `json:"speed"`
	Components      AwsComponents       `json:"components"`
}

type AwsGateway added in v1.3.0

type AwsGateway struct {
	Type            string   `json:"type,omitempty"`
	Name            string   `json:"name,omitempty"`
	ID              string   `json:"id,omitempty"`
	Asn             int      `json:"asn,omitempty"`
	VpcID           string   `json:"vpc_id,omitempty"`
	SubnetIDs       []string `json:"subnet_ids,omitempty"`
	AllowedPrefixes []string `json:"allowed_prefixes,omitempty"`
}

type AwsHostedMktResp

type AwsHostedMktResp struct {
	VcRequestUUID  string       `json:"vc_request_uuid,omitempty"`
	FromCustomer   FromCustomer `json:"from_customer,omitempty"`
	ToCustomer     ToCustomer   `json:"to_customer,omitempty"`
	Text           string       `json:"text,omitempty"`
	Status         string       `json:"status,omitempty"`
	VcMode         string       `json:"vc_mode,omitempty"`
	RequestType    string       `json:"request_type,omitempty"`
	Bandwidth      Bandwidth    `json:"bandwidth,omitempty"`
	TimeCreated    string       `json:"time_created,omitempty"`
	TimeUpdated    string       `json:"time_updated,omitempty"`
	AllowUntaggedZ bool         `json:"allow_untagged_z,omitempty"`
}

This struct represent the AWS Hosted Backbone Marketplace Cloud connection response https://docs.packetfabric.com/api/v2/redoc/#operation/post_aws_marketplace_cloud

type AzureBackboneCreateResp

type AzureBackboneCreateResp struct {
	VcCircuitID  string                      `json:"vc_circuit_id,omitempty"`
	CustomerUUID string                      `json:"customer_uuid,omitempty"`
	State        string                      `json:"state,omitempty"`
	ServiceType  string                      `json:"service_type,omitempty"`
	ServiceClass string                      `json:"service_class,omitempty"`
	Mode         string                      `json:"mode,omitempty"`
	Connected    bool                        `json:"connected,omitempty"`
	Bandwidth    Bandwidth                   `json:"bandwidth,omitempty"`
	Description  string                      `json:"description,omitempty"`
	RateLimitIn  int                         `json:"rate_limit_in,omitempty"`
	RateLimitOut int                         `json:"rate_limit_out,omitempty"`
	TimeCreated  string                      `json:"time_created,omitempty"`
	TimeUpdated  string                      `json:"time_updated,omitempty"`
	Interfaces   []AzureInterfacesCreateResp `json:"interfaces,omitempty"`
}

type AzureExpressRoute

type AzureExpressRoute struct {
	AzureServiceKey        string `json:"azure_service_key,omitempty"`
	AccountUUID            string `json:"account_uuid,omitempty"`
	Description            string `json:"description,omitempty"`
	Port                   string `json:"port,omitempty"`
	VlanPrivate            int    `json:"vlan_private,omitempty"`
	VlanMicrosoft          int    `json:"vlan_microsoft,omitempty"`
	SrcSvlan               int    `json:"src_svlan,omitempty"`
	Speed                  string `json:"speed,omitempty"`
	PublishedQuoteLineUUID string `json:"published_quote_line_uuid,omitempty"`
	PONumber               string `json:"po_number,omitempty"`
}

Struct representation: https://docs.packetfabric.com/api/v2/redoc/#operation/azure_hosted_connection_post

type AzureExpressRouteConn added in v0.3.0

type AzureExpressRouteConn struct {
	MaybeNat               bool   `json:"maybe_nat,omitempty"`
	MaybeDNat              bool   `json:"maybe_dnat,omitempty"`
	AzureServiceKey        string `json:"azure_service_key,omitempty"`
	AccountUUID            string `json:"account_uuid,omitempty"`
	Description            string `json:"description,omitempty"`
	Speed                  string `json:"speed,omitempty"`
	IsPublic               bool   `json:"is_public,omitempty"`
	PublishedQuoteLineUUID string `json:"published_quote_line_uuid,omitempty"`
	PONumber               string `json:"po_number,omitempty"`
	SubscriptionTerm       int    `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type AzureExpressRouteDedicated

type AzureExpressRouteDedicated struct {
	AccountUUID            string `json:"account_uuid,omitempty"`
	Description            string `json:"description,omitempty"`
	Zone                   string `json:"zone,omitempty"`
	Pop                    string `json:"pop,omitempty"`
	SubscriptionTerm       int    `json:"subscription_term,omitempty"`
	ServiceClass           string `json:"service_class,omitempty"`
	Speed                  string `json:"speed,omitempty"`
	Loa                    string `json:"loa,omitempty"`
	Encapsulation          string `json:"encapsulation,omitempty"`
	PortCategory           string `json:"port_category,omitempty"`
	PublishedQuoteLineUUID string `json:"published_quote_line_uuid,omitempty"`
	PONumber               string `json:"po_number,omitempty"`
}

Struct representation: https://docs.packetfabric.com/api/v2/redoc/#operation/azure_dedicated_connection_post

type AzureFromCustomer

type AzureFromCustomer struct {
	CustomerUUID     string `json:"customer_uuid,omitempty"`
	Name             string `json:"name,omitempty"`
	ContactFirstName string `json:"contact_first_name,omitempty"`
	ContactLastName  string `json:"contact_last_name,omitempty"`
	ContactEmail     string `json:"contact_email,omitempty"`
	ContactPhone     string `json:"contact_phone,omitempty"`
}

type AzureHostedMktBandwidth

type AzureHostedMktBandwidth struct {
	AccountUUID      string `json:"account_uuid,omitempty"`
	SubscriptionTerm int    `json:"subscription_term,omitempty"`
	LonghaulType     string `json:"longhaul_type,omitempty"`
	Speed            string `json:"speed,omitempty"`
}

type AzureHostedMktReq

type AzureHostedMktReq struct {
	RoutingID       string `json:"routing_id,omitempty"`
	Market          string `json:"market,omitempty"`
	Description     string `json:"description,omitempty"`
	AzureServiceKey string `json:"azure_service_key,omitempty"`
	AccountUUID     string `json:"account_uuid,omitempty"`
	Speed           string `json:"speed,omitempty"`
	ServiceUUID     string `json:"service_uuid,omitempty"`
}

Struct representation: https://docs.packetfabric.com/api/v2/redoc/#operation/post_azure_marketplace_cloud

type AzureHostedMktReqResp

type AzureHostedMktReqResp struct {
	VcRequestUUID  string                  `json:"vc_request_uuid,omitempty"`
	VcCircuitID    string                  `json:"vc_circuit_id,omitempty"`
	FromCustomer   AzureFromCustomer       `json:"from_customer,omitempty"`
	ToCustomer     AzureToCustomer         `json:"to_customer,omitempty"`
	Status         string                  `json:"status,omitempty"`
	RequestType    string                  `json:"request_type,omitempty"`
	Text           string                  `json:"text,omitempty"`
	Bandwidth      AzureHostedMktBandwidth `json:"bandwidth,omitempty"`
	RateLimitIn    int                     `json:"rate_limit_in,omitempty"`
	RateLimitOut   int                     `json:"rate_limit_out,omitempty"`
	ServiceName    string                  `json:"service_name,omitempty"`
	AllowUntaggedZ bool                    `json:"allow_untagged_z,omitempty"`
	TimeCreated    string                  `json:"time_created,omitempty"`
	TimeUpdated    string                  `json:"time_updated,omitempty"`
}

type AzureInterfacesCreateResp

type AzureInterfacesCreateResp struct {
	PortCircuitID      string `json:"port_circuit_id,omitempty"`
	Pop                string `json:"pop,omitempty"`
	Site               string `json:"site,omitempty"`
	SiteName           string `json:"site_name,omitempty"`
	Speed              string `json:"speed,omitempty"`
	Media              string `json:"media,omitempty"`
	Zone               string `json:"zone,omitempty"`
	Description        string `json:"description,omitempty"`
	Vlan               int    `json:"vlan,omitempty"`
	Untagged           bool   `json:"untagged,omitempty"`
	ProvisioningStatus string `json:"provisioning_status,omitempty"`
	AdminStatus        string `json:"admin_status,omitempty"`
	OperationalStatus  string `json:"operational_status,omitempty"`
	CustomerUUID       string `json:"customer_uuid,omitempty"`
	CustomerName       string `json:"customer_name,omitempty"`
	Region             string `json:"region,omitempty"`
	IsCloud            bool   `json:"is_cloud,omitempty"`
	IsPtp              bool   `json:"is_ptp,omitempty"`
	TimeCreated        string `json:"time_created,omitempty"`
	TimeUpdated        string `json:"time_updated,omitempty"`
}

type AzureProvisionInterface

type AzureProvisionInterface struct {
	PortCircuitID string `json:"port_circuit_id,omitempty"`
	Vlan          int    `json:"vlan,omitempty"`
}

type AzureProvisionMktReq

type AzureProvisionMktReq struct {
	Provider    string                  `json:"provider,omitempty"`
	Interface   AzureProvisionInterface `json:"interface,omitempty"`
	Description string                  `json:"description,omitempty"`
}

Struct representation: https://docs.packetfabric.com/api/v2/redoc/#operation/provision_marketplace_cloud

type AzureProvisionMktReqResp

type AzureProvisionMktReqResp struct {
	VcCircuitID  string                      `json:"vc_circuit_id,omitempty"`
	CustomerUUID string                      `json:"customer_uuid,omitempty"`
	State        string                      `json:"state,omitempty"`
	ServiceType  string                      `json:"service_type,omitempty"`
	ServiceClass string                      `json:"service_class,omitempty"`
	Mode         string                      `json:"mode,omitempty"`
	Connected    bool                        `json:"connected,omitempty"`
	Description  string                      `json:"description,omitempty"`
	RateLimitIn  int                         `json:"rate_limit_in,omitempty"`
	RateLimitOut int                         `json:"rate_limit_out,omitempty"`
	TimeCreated  string                      `json:"time_created,omitempty"`
	TimeUpdated  string                      `json:"time_updated,omitempty"`
	Interfaces   []AzureInterfacesCreateResp `json:"interfaces,omitempty"`
}

type AzureToCustomer

type AzureToCustomer struct {
	CustomerUUID string `json:"customer_uuid,omitempty"`
	Name         string `json:"name,omitempty"`
}

type Backbone

type Backbone struct {
	Description     string       `json:"description"`
	Bandwidth       Bandwidth    `json:"bandwidth"`
	Interfaces      []Interfaces `json:"interfaces"`
	RateLimitIn     int          `json:"rate_limit_in,omitempty"`
	RateLimitOut    int          `json:"rate_limit_out,omitempty"`
	Epl             bool         `json:"epl"`
	FlexBandwidthID string       `json:"flex_bandwidth_id,omitempty"`
	PONumber        string       `json:"po_number,omitempty"`
}

type BackboneDeleteResp

type BackboneDeleteResp struct {
	Message string `json:"message"`
}

type BackboneInterfResp added in v0.4.0

type BackboneInterfResp struct {
	PortCircuitID      string `json:"port_circuit_id,omitempty"`
	Pop                string `json:"pop,omitempty"`
	Site               string `json:"site,omitempty"`
	SiteName           string `json:"site_name,omitempty"`
	CustomerSiteCode   string `json:"customer_site_code,omitempty"`
	CustomerSiteName   string `json:"customer_site_name,omitempty"`
	Speed              string `json:"speed,omitempty"`
	Media              string `json:"media,omitempty"`
	Zone               string `json:"zone,omitempty"`
	Description        string `json:"description,omitempty"`
	Vlan               int    `json:"vlan,omitempty"`
	Svlan              int    `json:"svlan,omitempty"`
	Untagged           bool   `json:"untagged,omitempty"`
	ProvisioningStatus string `json:"provisioning_status,omitempty"`
	AdminStatus        string `json:"admin_status,omitempty"`
	OperationalStatus  string `json:"operational_status,omitempty"`
	CustomerUUID       string `json:"customer_uuid,omitempty"`
	CustomerName       string `json:"customer_name,omitempty"`
	Region             string `json:"region,omitempty"`
	IsCloud            bool   `json:"is_cloud,omitempty"`
	IsPtp              bool   `json:"is_ptp,omitempty"`
	TimeCreated        string `json:"time_created,omitempty"`
	TimeUpdated        string `json:"time_updated,omitempty"`
}

type BackboneResp

type BackboneResp struct {
	VcCircuitID         string               `json:"vc_circuit_id"`
	CustomerUUID        string               `json:"customer_uuid"`
	State               string               `json:"state"`
	ServiceType         string               `json:"service_type"`
	ServiceClass        string               `json:"service_class"`
	Mode                string               `json:"mode"`
	AggregateCapacityID string               `json:"aggregate_capacity_id,omitempty"` // same as flex fandwidth
	FlexBandwidthID     string               `json:"flex_bandwidth_id,omitempty"`
	Connected           bool                 `json:"connected"`
	Bandwidth           Bandwidth            `json:"bandwidth"`
	Description         string               `json:"description"`
	RateLimitIn         int                  `json:"rate_limit_in"`
	RateLimitOut        int                  `json:"rate_limit_out"`
	TimeCreated         string               `json:"time_created"`
	TimeUpdated         string               `json:"time_updated"`
	Interfaces          []BackboneInterfResp `json:"interfaces"`
	PONumber            string               `json:"po_number"`
}

type Bandwidth

type Bandwidth struct {
	AccountUUID      string `json:"account_uuid,omitempty"`
	LonghaulType     string `json:"longhaul_type,omitempty"`
	SubscriptionTerm int    `json:"subscription_term,omitempty"`
	Speed            string `json:"speed,omitempty"`
}

type BgpDeleteMessage

type BgpDeleteMessage struct {
	Message string `json:"message"`
}

type BgpDnatMapping added in v0.7.0

type BgpDnatMapping struct {
	PrivateIP         string `json:"private_ip,omitempty"`
	PublicIP          string `json:"public_ip,omitempty"`
	ConditionalPrefix string `json:"conditional_prefix,omitempty"`
}

type BgpNat

type BgpNat struct {
	PreNatSources []interface{}    `json:"pre_nat_sources,omitempty"`
	PoolPrefixes  []interface{}    `json:"pool_prefixes,omitempty"`
	Direction     string           `json:"direction,omitempty"`
	NatType       string           `json:"nat_type,omitempty"`
	DnatMappings  []BgpDnatMapping `json:"dnat_mappings,omitempty"`
}

type BgpPrefix

type BgpPrefix struct {
	BgpPrefixUUID   string `json:"bgp_prefix_uuid,omitempty"`
	Prefix          string `json:"prefix,omitempty"`
	MatchType       string `json:"match_type,omitempty"`
	AsPrepend       int    `json:"as_prepend,omitempty"`
	Med             int    `json:"med,omitempty"`
	LocalPreference int    `json:"local_preference,omitempty"`
	Type            string `json:"type,omitempty"`
}

https://docs.packetfabric.com/api/v2/redoc/#operation/bgp_prefixes_create

type BgpSession

type BgpSession struct {
	AddressFamily   string      `json:"address_family"`
	AsPrepend       int         `json:"as_prepend,omitempty"`
	BfdInterval     int         `json:"bfd_interval,omitempty"`
	BfdMultiplier   int         `json:"bfd_multiplier,omitempty"`
	Disabled        bool        `json:"disabled,omitempty"`
	L3Address       string      `json:"l3_address,omitempty"`
	LocalPreference int         `json:"local_preference,omitempty"`
	Md5             string      `json:"md5,omitempty"`
	Med             int         `json:"med,omitempty"`
	MultihopTTL     int         `json:"multihop_ttl,omitempty"`
	Nat             *BgpNat     `json:"nat,omitempty"`
	Orlonger        bool        `json:"orlonger,omitempty"`
	Prefixes        []BgpPrefix `json:"prefixes,omitempty"`
	PrimarySubnet   string      `json:"primary_subnet,omitempty"`
	RemoteAddress   string      `json:"remote_address,omitempty"`
	RemoteAsn       int         `json:"remote_asn"`
	SecondarySubnet string      `json:"secondary_subnet,omitempty"`
}

This struct represents a Bgp Session for an existing Cloud Router connection https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_routers_bgp_create

type BgpSessionAssociatedResp

type BgpSessionAssociatedResp struct {
	BgpSettingsUUID string      `json:"bgp_settings_uuid"`
	AddressFamily   string      `json:"address_family"`
	RemoteAddress   string      `json:"remote_address"`
	RemoteAsn       int         `json:"remote_asn"`
	MultihopTTL     int         `json:"multihop_ttl"`
	LocalPreference int         `json:"local_preference"`
	AsPrepend       int         `json:"as_prepend"`
	Med             int         `json:"med"`
	L3Address       string      `json:"l3_address"`
	Orlonger        bool        `json:"orlonger"`
	BfdInterval     int         `json:"bfd_interval"`
	BfdMultiplier   int         `json:"bfd_multiplier"`
	Disabled        bool        `json:"disabled"`
	BgpState        string      `json:"bgp_state"`
	TimeCreated     string      `json:"time_created"`
	TimeUpdated     string      `json:"time_updated"`
	Prefixes        []BgpPrefix `json:"prefixes"`
	Nat             *BgpNat     `json:"nat,omitempty"`
}

This struct represents a Bgp Session create response

type BgpSessionBySettingsUUID

type BgpSessionBySettingsUUID struct {
	BgpSettingsUUID string      `json:"bgp_settings_uuid"`
	AddressFamily   string      `json:"address_family"`
	RemoteAddress   string      `json:"remote_address,omitempty"`
	RemoteAsn       int         `json:"remote_asn"`
	MultihopTTL     int         `json:"multihop_ttl,omitempty"`
	LocalPreference int         `json:"local_preference,omitempty"`
	Md5             string      `json:"md5,omitempty"`
	Med             int         `json:"med,omitempty"`
	L3Address       string      `json:"l3_address,omitempty"`
	PrimarySubnet   string      `json:"primary_subnet,omitempty"`
	SecondarySubnet string      `json:"secondary_subnet,omitempty"`
	AsPrepend       int         `json:"as_prepend,omitempty"`
	Orlonger        bool        `json:"orlonger"`
	BfdInterval     int         `json:"bfd_interval,omitempty"`
	BfdMultiplier   int         `json:"bfd_multiplier,omitempty"`
	Disabled        bool        `json:"disabled"`
	BgpState        string      `json:"bgp_state"`
	Prefixes        []BgpPrefix `json:"prefixes"`
	Subnet          string      `json:"subnet,omitempty"`
	PublicIP        string      `json:"public_ip,omitempty"`
	Nat             *BgpNat     `json:"nat,omitempty"`
}

type BgpSessionCreateResp

type BgpSessionCreateResp struct {
	BgpSettingsUUID string      `json:"bgp_settings_uuid"`
	AddressFamily   string      `json:"address_family"`
	RemoteAddress   string      `json:"remote_address"`
	RemoteAsn       int         `json:"remote_asn"`
	MultihopTTL     int         `json:"multihop_ttl"`
	LocalPreference int         `json:"local_preference"`
	AsPrepend       int         `json:"as_prepend"`
	L3Address       string      `json:"l3_address"`
	Med             int         `json:"med"`
	Md5             string      `json:"md5"`
	Orlonger        bool        `json:"orlonger"`
	BfdInterval     int         `json:"bfd_interval"`
	BfdMultiplier   int         `json:"bfd_multiplier"`
	Disabled        bool        `json:"disabled"`
	Nat             *BgpNat     `json:"nat"`
	Prefixes        []BgpPrefix `json:"prefixes"`
	BgpState        string      `json:"bgp_state"`
	TimeCreated     string      `json:"time_created"`
	TimeUpdated     string      `json:"time_updated"`
}

type BgpSessionUpdate

type BgpSessionUpdate struct {
	AddressFamily   string      `json:"address_family"`
	BgpSettingsUUID string      `json:"bgp_settings_uuid"`
	Disabled        bool        `json:"disabled"`
	MultihopTTL     int         `json:"multihop_ttl,omitempty"`
	Orlonger        bool        `json:"orlonger,omitempty"`
	RemoteAddress   string      `json:"remote_address,omitempty"`
	RemoteAsn       int         `json:"remote_asn"`
	L3Address       string      `json:"l3_address,omitempty"`
	PrimarySubnet   string      `json:"primary_subnet,omitempty"`
	SecondarySubnet string      `json:"secondary_subnet,omitempty"`
	Prefixes        []BgpPrefix `json:"prefixes"`
	Nat             *BgpNat     `json:"nat,omitempty"`
}

type BgpSettings added in v1.3.0

type BgpSettings struct {
	AddressFamily            string      `json:"address_family,omitempty"`
	AdvertisedPrefixes       []string    `json:"advertised_prefixes,omitempty"`
	AsPrepend                int         `json:"as_prepend,omitempty"`
	BfdInterval              int         `json:"bfd_interval,omitempty"`
	BfdMultiplier            int         `json:"bfd_multiplier,omitempty"`
	CustomerAsn              int         `json:"customer_asn,omitempty"`
	CustomerRouterIp         string      `json:"customer_router_ip,omitempty"`
	Disabled                 bool        `json:"disabled,omitempty"`
	GoogleAdvertiseMode      string      `json:"google_advertise_mode,omitempty"`
	GoogleAdvertisedIPRanges []string    `json:"google_advertised_ip_ranges,omitempty"`
	GoogleKeepaliveInterval  int         `json:"google_keepalive_interval,omitempty"`
	L3Address                string      `json:"l3_address,omitempty"`
	LocalPreference          int         `json:"local_preference,omitempty"`
	Md5                      string      `json:"md5,omitempty"`
	Med                      int         `json:"med,omitempty"`
	MultihopTTL              int         `json:"multihop_ttl,omitempty"`
	Nat                      *BgpNat     `json:"nat,omitempty"`
	Orlonger                 bool        `json:"orlonger,omitempty"`
	Prefixes                 []BgpPrefix `json:"prefixes,omitempty"`
	PrimarySubnet            string      `json:"primary_subnet,omitempty"`
	RemoteAddress            string      `json:"remote_address,omitempty"`
	RemoteAsn                int         `json:"remote_asn,omitempty"`
	RemoteRouterIp           string      `json:"remote_router_ip,omitempty"`
	SecondarySubnet          string      `json:"secondary_subnet,omitempty"`
}

type BgpStateObj added in v0.4.0

type BgpStateObj struct {
	BgpSettingsUUID string `json:"bgp_settings_uuid,omitempty"`
	BgpState        string `json:"bgp_state,omitempty"`
}

type Billables

type Billables struct {
	AccountID     string  `json:"account_id"`
	BillableID    int     `json:"billable_id"`
	OrderID       int     `json:"order_id"`
	PriceType     string  `json:"price_type"`
	CurrencyCode  string  `json:"currency_code"`
	Price         float64 `json:"price"`
	AdjustedPrice float64 `json:"adjusted_price"`
}

type Billing

type Billing struct {
	AccountUUID      string `json:"account_uuid,omitempty"`
	SubscriptionTerm int    `json:"subscription_term,omitempty"`
	Speed            string `json:"speed,omitempty"`
	ContractedSpeed  string `json:"contracted_speed,omitempty"`
}

type BillingResponse

type BillingResponse struct {
	OrderID        int            `json:"order_id"`
	AccountID      string         `json:"account_id"`
	CircuitID      string         `json:"circuit_id"`
	OrderType      string         `json:"order_type"`
	Term           Term           `json:"term"`
	Billables      []Billables    `json:"billables"`
	ProductDetails ProductDetails `json:"product_details"`
	ParentOrder    interface{}    `json:"parent_order"`
}

type BillingUpgrade added in v0.5.0

type BillingUpgrade struct {
	SubscriptionTerm   int    `json:"subscription_term,omitempty"`
	Speed              string `json:"speed,omitempty"`
	BillingProductType string `json:"billing_product_type,omitempty"`
	ServiceClass       string `json:"service_class,omitempty"`
	Capacity           string `json:"capacity,omitempty"`
}

type BillingUpgradeResp added in v0.5.0

type BillingUpgradeResp struct {
	Message string `json:"message,omitempty"`
}

type CloudConnCurrentCustomers

type CloudConnCurrentCustomers struct {
	IsCloudRouterConnection bool   `json:"is_cloud_router_connection"`
	CloudCircuitID          string `json:"cloud_circuit_id"`
	CustomerUUID            string `json:"customer_uuid"`
	UserUUID                string `json:"user_uuid"`
	State                   string `json:"state"`
	ServiceProvider         string `json:"service_provider"`
	ServiceClass            string `json:"service_class"`
	PortType                string `json:"port_type"`
	Speed                   string `json:"speed"`
	Description             string `json:"description"`
	CloudProvider           struct {
		Pop    string `json:"pop"`
		Region string `json:"region"`
	} `json:"cloud_provider"`
	TimeCreated string       `json:"time_created"`
	TimeUpdated string       `json:"time_updated"`
	Interfaces  []Interfaces `json:"interfaces"`
}

type CloudConnInfo added in v0.5.0

type CloudConnInfo struct {
	UUID                      string         `json:"uuid,omitempty"`
	CloudCircuitID            string         `json:"cloud_circuit_id,omitempty"`
	CustomerUUID              string         `json:"customer_uuid,omitempty"`
	AccountUUID               string         `json:"account_uuid,omitempty"`
	UserUUID                  string         `json:"user_uuid,omitempty"`
	State                     string         `json:"state,omitempty"`
	ServiceProvider           string         `json:"service_provider,omitempty"`
	ServiceClass              string         `json:"service_class,omitempty"`
	PortType                  string         `json:"port_type,omitempty"`
	Speed                     string         `json:"speed,omitempty"`
	Deleted                   bool           `json:"deleted,omitempty"`
	Description               string         `json:"description,omitempty"`
	CloudProvider             CloudProvider  `json:"cloud_provider,omitempty"`
	CloudProviderConnectionID string         `json:"cloud_provider_connection_id,omitempty"`
	Settings                  *Settings      `json:"settings,omitempty"`
	CloudSettings             *CloudSettings `json:"cloud_settings,omitempty"`
	SubscriptionTerm          int            `json:"subscription_term,omitempty"`
	TimeCreated               string         `json:"time_created,omitempty"`
	TimeUpdated               string         `json:"time_updated,omitempty"`
	Pop                       string         `json:"pop,omitempty"`
	Site                      string         `json:"site,omitempty"`
	CustomerSiteName          string         `json:"customer_site_name,omitempty"`
	CustomerSiteCode          string         `json:"customer_site_code,omitempty"`
	IsAwaitingOnramp          bool           `json:"is_awaiting_onramp,omitempty"`
	IsCloudRouterConnection   bool           `json:"is_cloud_router_connection,omitempty"`
	AzurePortCategory         string         `json:"azure_port_category,omitempty"`
	PONumber                  string         `json:"po_number,omitempty"`
}

type CloudConnectionDetails added in v0.5.0

type CloudConnectionDetails struct {
	Region            string `json:"region,omitempty"`
	HostedType        string `json:"hosted_type,omitempty"`
	RegionDescription string `json:"region_description,omitempty"`
}

type CloudCredentials added in v1.3.0

type CloudCredentials struct {
	AWSAccessKey         string `json:"aws_access_key,omitempty"`
	AWSSecretKey         string `json:"aws_secret_key,omitempty"`
	GoogleServiceAccount string `json:"google_service_account,omitempty"`
}

type CloudLocation added in v0.5.0

type CloudLocation struct {
	Pop                    string                 `json:"pop,omitempty"`
	Region                 string                 `json:"region,omitempty"`
	Market                 string                 `json:"market,omitempty"`
	MarketDescription      string                 `json:"market_description,omitempty"`
	Zones                  []string               `json:"zones,omitempty"`
	Vendor                 string                 `json:"vendor,omitempty"`
	Site                   string                 `json:"site,omitempty"`
	SiteCode               string                 `json:"site_code,omitempty"`
	Type                   string                 `json:"type,omitempty"`
	Status                 string                 `json:"status,omitempty"`
	Latitude               string                 `json:"latitude,omitempty"`
	Longitude              string                 `json:"longitude,omitempty"`
	Timezone               interface{}            `json:"timezone,omitempty"`
	Notes                  interface{}            `json:"notes,omitempty"`
	Pcode                  interface{}            `json:"pcode,omitempty"`
	LeadTime               string                 `json:"lead_time,omitempty"`
	SingleArmed            bool                   `json:"single_armed,omitempty"`
	Address1               string                 `json:"address1,omitempty"`
	Address2               interface{}            `json:"address2,omitempty"`
	City                   string                 `json:"city,omitempty"`
	State                  string                 `json:"state,omitempty"`
	Postal                 string                 `json:"postal,omitempty"`
	Country                string                 `json:"country,omitempty"`
	CloudProvider          string                 `json:"cloud_provider,omitempty"`
	CloudConnectionDetails CloudConnectionDetails `json:"cloud_connection_details,omitempty"`
	NetworkProvider        string                 `json:"network_provider,omitempty"`
	TimeCreated            string                 `json:"time_created,omitempty"`
	EnniSupported          bool                   `json:"enni_supported,omitempty"`
}

type CloudProvider

type CloudProvider struct {
	Pop    string `json:"pop,omitempty"`
	Site   string `json:"site,omitempty"`
	Region string `json:"region,omitempty"`
}

type CloudProviderCredentialCreate added in v1.3.0

type CloudProviderCredentialCreate struct {
	CloudProvider    string           `json:"cloud_provider"`
	Description      string           `json:"description"`
	CloudCredentials CloudCredentials `json:"cloud_credentials"`
}

This struct represents a Cloud Provider Credential Create https://docs.packetfabric.com/api/v2/swagger/#/Cloud%20Provider%20Credentials/cloud_provider_credential_post

type CloudProviderCredentialDelResp added in v1.3.0

type CloudProviderCredentialDelResp struct {
	Message string `json:"message"`
}

This struct represents a Cloud Provider Credential delete response

type CloudProviderCredentialResponse added in v1.3.0

type CloudProviderCredentialResponse struct {
	CloudProviderCredentialUUID string `json:"cloud_provider_credential_uuid"`
	Description                 string `json:"description"`
	CloudProvider               string `json:"cloud_provider"`
	IsUnused                    bool   `json:"is_unused"`
	TimeCreated                 string `json:"time_created"`
	TimeUpdated                 string `json:"time_updated"`
}

This struct represents a Cloud Provider Credential create response

type CloudProviderCredentialUpdate added in v1.3.0

type CloudProviderCredentialUpdate struct {
	Description      string           `json:"description"`
	CloudCredentials CloudCredentials `json:"cloud_credentials"`
}

This struct represents a Cloud Provider Credential Update https://docs.packetfabric.com/api/v2/swagger/#/Cloud%20Provider%20Credentials/cloud_provider_credential_update

type CloudProviderProvisioningResponse added in v0.4.0

type CloudProviderProvisioningResponse struct {
	VcOcid               string                 `json:"vc_ocid,omitempty"`
	Bandwidth            string                 `json:"bandwidth,omitempty"`
	BgpManagement        string                 `json:"bgp_management,omitempty"`
	BgpSessionState      string                 `json:"bgp_session_state,omitempty"`
	CompartmentID        string                 `json:"compartment_id,omitempty"`
	CrossConnectMappings []CrossConnectMappings `json:"cross_connect_mappings,omitempty"`
	CustomerAsn          int                    `json:"customer_asn,omitempty"`
	GatewayID            string                 `json:"gateway_id,omitempty"`
	LifecycleState       string                 `json:"lifecycle_state,omitempty"`
	OracleBgpAsn         int                    `json:"oracle_bgp_asn,omitempty"`
	ProviderServiceID    string                 `json:"provider_service_id,omitempty"`
	ProviderState        string                 `json:"provider_state,omitempty"`
	ReferenceComment     string                 `json:"reference_comment,omitempty"`
	ServiceType          string                 `json:"service_type,omitempty"`
	Type                 string                 `json:"type,omitempty"`
}

type CloudRouter

type CloudRouter struct {
	Asn              int      `json:"asn,omitempty"`
	Name             string   `json:"name"`
	AccountUUID      string   `json:"account_uuid"`
	Regions          []string `json:"regions,omitempty"`
	Capacity         string   `json:"capacity"`
	PONumber         string   `json:"po_number,omitempty"`
	SubscriptionTerm int      `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

This struct represents a Cloud Router https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_routers_create

type CloudRouterConnectionReadResponse added in v0.3.0

type CloudRouterConnectionReadResponse struct {
	PortType                  string        `json:"port_type,omitempty"`
	PortCircuitID             string        `json:"port_circuit_id,omitempty"`
	PendingDelete             bool          `json:"pending_delete,omitempty"`
	State                     string        `json:"state,omitempty"`
	CloudCircuitID            string        `json:"cloud_circuit_id,omitempty"`
	Speed                     string        `json:"speed,omitempty"`
	Deleted                   bool          `json:"deleted,omitempty"`
	AccountUUID               string        `json:"account_uuid,omitempty"`
	ServiceClass              string        `json:"service_class,omitempty"`
	ServiceProvider           string        `json:"service_provider,omitempty"`
	ServiceType               string        `json:"service_type,omitempty"`
	Description               string        `json:"description,omitempty"`
	UUID                      string        `json:"uuid,omitempty"`
	CloudProviderConnectionID string        `json:"cloud_provider_connection_id,omitempty"`
	CloudSettings             CloudSettings `json:"cloud_settings,omitempty"`
	NatCapable                bool          `json:"nat_capable,omitempty"`
	DNatCapable               bool          `json:"dnat_capable,omitempty"`
	BgpStateList              []BgpStateObj `json:"bgp_state_list,omitempty"`
	CloudRouterName           string        `json:"cloud_router_name,omitempty"`
	CloudRouterASN            int           `json:"cloud_router_asn,omitempty"`
	CloudRouterCircuitID      string        `json:"cloud_router_circuit_id,omitempty"`
	ConnectionType            string        `json:"connection_type,omitempty"`
	UserUUID                  string        `json:"user_uuid,omitempty"`
	CustomerUUID              string        `json:"customer_uuid,omitempty"`
	TimeCreated               string        `json:"time_created,omitempty"`
	TimeUpdated               string        `json:"time_updated,omitempty"`
	CloudProvider             CloudProvider `json:"cloud_provider,omitempty"`
	Pop                       string        `json:"pop,omitempty"`
	Site                      string        `json:"site,omitempty"`
	Zone                      string        `json:"zone,omitempty"`
	Vlan                      int           `json:"vlan,omitempty"`
	DesiredNat                string        `json:"desired_nat,omitempty"`
	PONumber                  string        `json:"po_number,omitempty"`
	SubscriptionTerm          int           `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type CloudRouterDelResp

type CloudRouterDelResp struct {
	Message string `json:"message"`
}

This struct represents a Cloud Router delete response https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_router_delete

type CloudRouterQuickConnect added in v0.9.0

type CloudRouterQuickConnect struct {
	ServiceUUID      string                      `json:"service_uuid,omitempty"`
	ImportFilters    []QuickConnectImportFilters `json:"import_filters,omitempty"`
	ReturnFilters    []QuickConnectReturnFilters `json:"return_filters,omitempty"`
	SubscriptionTerm int                         `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type CloudRouterQuickConnectResp added in v0.9.0

type CloudRouterQuickConnectResp struct {
	ImportCircuitID   string                      `json:"import_circuit_id,omitempty"`
	RouteSetCircuitID string                      `json:"route_set_circuit_id,omitempty"`
	ServiceUUID       string                      `json:"service_uuid,omitempty"`
	Name              string                      `json:"name,omitempty"`
	Description       string                      `json:"description,omitempty"`
	IsDefunct         bool                        `json:"is_defunct,omitempty"`
	State             string                      `json:"state,omitempty"`
	ConnectionSpeed   string                      `json:"connection_speed,omitempty"`
	ImportFilters     []QuickConnectImportFilters `json:"import_filters,omitempty"`
	ReturnFilters     []QuickConnectReturnFilters `json:"return_filters,omitempty"`
	SubscriptionTerm  int                         `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type CloudRouterQuickConnectUpdate added in v0.9.0

type CloudRouterQuickConnectUpdate struct {
	ImportFilters    []QuickConnectImportFilters `json:"import_filters,omitempty"`
	ReturnFilters    []QuickConnectReturnFilters `json:"return_filters,omitempty"`
	SubscriptionTerm int                         `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type CloudRouterRequest added in v0.9.0

type CloudRouterRequest struct {
	ImportCircuitID      string          `json:"import_circuit_id,omitempty"`
	CloudRouterCircuitID string          `json:"cloud_router_circuit_id,omitempty"`
	CustomerName         string          `json:"customer_name,omitempty"`
	ServiceUUID          string          `json:"service_uuid,omitempty"`
	State                string          `json:"state,omitempty"`
	TimeCreated          string          `json:"time_created,omitempty"`
	TimeUpdated          string          `json:"time_updated,omitempty"`
	RequestType          string          `json:"request_type,omitempty"`
	RejectionReason      string          `json:"rejection_reason,omitempty"`
	ImportFilters        []ImportFilters `json:"import_filters,omitempty"`
	ReturnFilters        []ReturnFilters `json:"return_filters,omitempty"`
}

type CloudRouterResponse

type CloudRouterResponse struct {
	CircuitID        string   `json:"circuit_id"`
	AccountUUID      string   `json:"account_uuid"`
	Asn              int      `json:"asn"`
	Name             string   `json:"name"`
	Capacity         string   `json:"capacity"`
	Regions          []Region `json:"regions"`
	TimeCreated      string   `json:"time_created"`
	TimeUpdated      string   `json:"time_updated"`
	PONumber         string   `json:"po_number"`
	SubscriptionTerm int      `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

This struct represents a Cloud Router create response https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_routers_create

type CloudRouterSettings added in v0.3.0

type CloudRouterSettings struct {
	AwsRegion                string `json:"aws_region,omitempty"`
	AwsHostedType            string `json:"aws_hosted_type,omitempty"`
	AwsConnectionID          string `json:"aws_connection_id,omitempty"`
	AwsAccountID             string `json:"aws_account_id,omitempty"`
	VlanIDPf                 int    `json:"vlan_id_pf,omitempty"`
	VlanIDCust               int    `json:"vlan_id_cust,omitempty"`
	SvlanIDCust              int    `json:"svlan_id_cust,omitempty"`
	GooglePairingKey         string `json:"google_pairing_key,omitempty"`
	GoogleVlanAttachmentName string `json:"google_vlan_attachment_name,omitempty"`
	VlanPrivate              int    `json:"vlan_private,omitempty"`
	VlanMicrosoft            int    `json:"vlan_microsoft,omitempty"`
	AzureServiceKey          string `json:"azure_service_key,omitempty"`
	AzureServiceTag          int    `json:"azure_service_tag,omitempty"`
	OracleRegion             string `json:"oracle_region,omitempty"`
	VcOcid                   string `json:"vc_ocid,omitempty"`
	PortCrossConnectOcid     string `json:"port_cross_connect_ocid,omitempty"`
	PortCompartmentOcid      string `json:"port_compartment_ocid,omitempty"`
	AccountID                string `json:"account_id,omitempty"`
	GatewayID                string `json:"gateway_id,omitempty"`
	PortID                   string `json:"port_id,omitempty"`
	Name                     string `json:"name,omitempty"`
	BgpAsn                   int    `json:"bgp_asn,omitempty"`
	BgpCerCidr               string `json:"bgp_cer_cidr,omitempty"`
	BgpIbmCidr               string `json:"bgp_ibm_cidr,omitempty"`
}

type CloudRouterUpdate

type CloudRouterUpdate struct {
	Name     string   `json:"name,omitempty"`
	Regions  []string `json:"regions,omitempty"`
	Capacity string   `json:"capacity,omitempty"`
}

type CloudRouterUpdateData added in v1.2.0

type CloudRouterUpdateData struct {
	Description   string        `json:"description"`
	PONumber      string        `json:"po_number,omitempty"`
	CloudSettings CloudSettings `json:"cloud_settings,omitempty"`
}

type CloudServiceConnCreateResp

type CloudServiceConnCreateResp struct {
	UUID                    string      `json:"uuid,omitempty"`
	CustomerUUID            string      `json:"customer_uuid,omitempty"`
	UserUUID                string      `json:"user_uuid,omitempty"`
	ServiceProvider         string      `json:"service_provider,omitempty"`
	PortType                string      `json:"port_type,omitempty"`
	Deleted                 bool        `json:"deleted,omitempty"`
	CloudCircuitID          string      `json:"cloud_circuit_id,omitempty"`
	AccountUUID             string      `json:"account_uuid,omitempty"`
	CustomerSiteCode        interface{} `json:"customer_site_code,omitempty"`
	CustomerSiteName        interface{} `json:"customer_site_name,omitempty"`
	ServiceClass            string      `json:"service_class,omitempty"`
	Description             string      `json:"description,omitempty"`
	State                   string      `json:"state,omitempty"`
	Settings                Settings    `json:"settings,omitempty"`
	Billing                 Billing     `json:"billing,omitempty"`
	Components              Components  `json:"components,omitempty"`
	IsCloudRouterConnection bool        `json:"is_cloud_router_connection,omitempty"`
	IsAwaitingOnramp        bool        `json:"is_awaiting_onramp,omitempty"`
	AzurePortCategory       string      `json:"azure_port_category,omitempty"`
	Speed                   string      `json:"speed,omitempty"`
}

type CloudServiceOracle added in v0.4.0

type CloudServiceOracle struct {
	RoutingID   string `json:"routing_id,omitempty"`
	Market      string `json:"market,omitempty"`
	Description string `json:"description,omitempty"`
	AccountUUID string `json:"account_uuid,omitempty"`
	VcOcid      string `json:"vc_ocid,omitempty"`
	Region      string `json:"region,omitempty"`
	Pop         string `json:"pop,omitempty"`
	ServiceUUID string `json:"service_uuid,omitempty"`
}

type CloudServiceOracleConn added in v0.4.0

type CloudServiceOracleConn struct {
	VcOcid                 string `json:"vc_ocid,omitempty"`
	Region                 string `json:"region,omitempty"`
	Description            string `json:"description,omitempty"`
	AccountUUID            string `json:"account_uuid,omitempty"`
	Pop                    string `json:"pop,omitempty"`
	Port                   string `json:"port,omitempty"`
	Zone                   string `json:"zone,omitempty"`
	Vlan                   int    `json:"vlan,omitempty"`
	SrcSvlan               int    `json:"src_svlan,omitempty"`
	PublishedQuoteLineUUID string `json:"published_quote_line_uuid,omitempty"`
	PONumber               string `json:"po_number,omitempty"`
}

type CloudServiceOracleConnResp added in v0.4.0

type CloudServiceOracleConnResp struct {
	UUID                    string           `json:"uuid,omitempty"`
	CustomerUUID            string           `json:"customer_uuid,omitempty"`
	UserUUID                string           `json:"user_uuid,omitempty"`
	ServiceProvider         string           `json:"service_provider,omitempty"`
	PortType                string           `json:"port_type,omitempty"`
	Deleted                 bool             `json:"deleted,omitempty"`
	CloudCircuitID          string           `json:"cloud_circuit_id,omitempty"`
	AccountUUID             string           `json:"account_uuid,omitempty"`
	CustomerSiteName        string           `json:"customer_site_name,omitempty"`
	CustomerSiteCode        string           `json:"customer_site_code,omitempty"`
	ServiceClass            string           `json:"service_class,omitempty"`
	Description             string           `json:"description,omitempty"`
	State                   string           `json:"state,omitempty"`
	Settings                Settings         `json:"settings,omitempty"`
	Billing                 Billing          `json:"billing,omitempty"`
	Components              OracleComponents `json:"components,omitempty"`
	IsCloudRouterConnection bool             `json:"is_cloud_router_connection,omitempty"`
	Speed                   string           `json:"speed,omitempty"`
}

type CloudServiceProvider added in v1.1.0

type CloudServiceProvider struct {
	Pop  string `json:"pop"`
	Site string `json:"site"`
}

type CloudServiceSettings added in v1.1.0

type CloudServiceSettings struct {
	AwsRegion string `json:"aws_region"`
	ZoneDest  string `json:"zone_dest"`
	Autoneg   bool   `json:"autoneg"`
}

type CloudSettings added in v0.3.0

type CloudSettings struct {
	AccountID                      string       `json:"account_id,omitempty"`
	AwsAccountID                   string       `json:"aws_account_id,omitempty"`
	AwsConnectionID                string       `json:"aws_connection_id,omitempty"`
	AwsDxAWSDevice                 string       `json:"aws_dx_aws_device,omitempty"`
	AwsDxAWSLogicalDeviceID        string       `json:"aws_dx_aws_logical_device_id,omitempty"`
	AwsDxBandwidth                 string       `json:"aws_dx_bandwidth,omitempty"`
	AwsDxEncryptionMode            string       `json:"aws_dx_encryption_mode,omitempty"`
	AwsDxHasLogicalRedundancy      bool         `json:"aws_dx_has_logical_redundancy,omitempty"`
	AwsDxJumboFrameCapable         bool         `json:"aws_dx_jumbo_frame_capable,omitempty"`
	AwsDxLocation                  string       `json:"aws_dx_location,omitempty"`
	AwsDxMacSecCapable             bool         `json:"aws_dx_mac_sec_capable,omitempty"`
	AwsGateways                    []AwsGateway `json:"aws_gateways,omitempty"`
	AwsHostedType                  string       `json:"aws_hosted_type,omitempty"`
	AwsRegion                      string       `json:"aws_region,omitempty"`
	AwsVifBGPPeerID                string       `json:"aws_vif_bgp_peer_id,omitempty"`
	AwsVifDirectConnectGwID        string       `json:"aws_vif_direct_connect_gw_id,omitempty"`
	AwsVifID                       string       `json:"aws_vif_id,omitempty"`
	AwsVifType                     string       `json:"aws_vif_type,omitempty"`
	AzureConnectionType            string       `json:"azure_connection_type,omitempty"`
	AzureServiceKey                string       `json:"azure_service_key,omitempty"`
	AzureServiceTag                int          `json:"azure_service_tag,omitempty"`
	BgpAsn                         int          `json:"bgp_asn,omitempty"`
	BgpCerCidr                     string       `json:"bgp_cer_cidr,omitempty"`
	BgpIbmCidr                     string       `json:"bgp_ibm_cidr,omitempty"`
	BgpSettings                    *BgpSettings `json:"bgp_settings,omitempty"`
	CloudState                     *CloudState  `json:"cloud_state,omitempty"`
	CredentialsUUID                string       `json:"credentials_uuid,omitempty"`
	GatewayID                      string       `json:"gateway_id,omitempty"`
	GoogleCloudRouterName          string       `json:"google_cloud_router_name,omitempty"`
	GoogleDataplaneVersion         int          `json:"google_dataplane_version,omitempty"`
	GoogleEdgeAvailabilityDomain   int          `json:"google_edge_availability_domain,omitempty"`
	GoogleInterconnectState        string       `json:"google_interconnect_state,omitempty"`
	GoogleInterfaceName            string       `json:"google_interface_name,omitempty"`
	GoogleInterconnectAdminEnabled bool         `json:"google_interconnect_admin_enabled,omitempty"`
	GooglePairingKey               string       `json:"google_pairing_key,omitempty"`
	GoogleProjectID                string       `json:"google_project_id,omitempty"`
	GoogleRegion                   string       `json:"google_region,omitempty"`
	GoogleVPCName                  string       `json:"google_vpc_name,omitempty"`
	GoogleVlanAttachmentName       string       `json:"google_vlan_attachment_name,omitempty"`
	GoogleAdvertiseMode            string       `json:"google_advertise_mode,omitempty"`
	Mtu                            int          `json:"mtu,omitempty"`
	Name                           string       `json:"name,omitempty"`
	NatPublicIP                    string       `json:"nat_public_ip,omitempty"`
	OracleRegion                   string       `json:"oracle_region,omitempty"`
	PortCompartmentOcid            string       `json:"port_compartment_ocid,omitempty"`
	PortCrossConnectOcid           string       `json:"port_cross_connect_ocid,omitempty"`
	PortID                         string       `json:"port_id,omitempty"`
	PublicIP                       string       `json:"public_ip,omitempty"`
	PrimaryPublicIP                string       `json:"primary_public_ip,omitempty"`
	SecondaryPublicIP              string       `json:"secondary_public_ip,omitempty"`
	SvlanIDCust                    int          `json:"svlan_id_cust,omitempty"`
	VcOcid                         string       `json:"vc_ocid,omitempty"`
	VlanIDCust                     int          `json:"vlan_id_cust,omitempty"`
	VlanMicrosoft                  int          `json:"vlan_id_microsoft,omitempty"`
	VlanIDPf                       int          `json:"vlan_id_pf,omitempty"`
	VlanPrivate                    int          `json:"vlan_id_private,omitempty"`
}

used for both Hosted Cloud and Cloud Router Connections

type CloudState added in v1.4.0

type CloudState struct {
	AwsDxConnectionState           string `json:"aws_dx_connection_state,omitempty"`
	AwsDxPortEncryptionStatus      string `json:"aws_dx_port_encryption_status,omitempty"`
	AwsVifState                    string `json:"aws_vif_state,omitempty"`
	BgpState                       string `json:"bgp_state,omitempty"`
	GoogleInterconnectState        string `json:"google_interconnect_state,omitempty"`
	GoogleInterconnectAdminEnabled bool   `json:"google_interconnect_admin_enabled,omitempty"`
}

type Components

type Components struct {
	IfdPortCircuitIDCust string `json:"ifd_port_circuit_id_cust,omitempty"`
	VcIDMicrosoft        int    `json:"vc_id_microsoft,omitempty"`
	VcIDPrivate          int    `json:"vc_id_private,omitempty"`
}

type ConnectionCircuitIDs added in v0.9.0

type ConnectionCircuitIDs map[string]interface{}

type ConnectionDeleteResp

type ConnectionDeleteResp struct {
	Message string `json:"message"`
}

type CreateLAGMemberPayload added in v1.8.0

type CreateLAGMemberPayload struct {
	MemberPortCircuitId string `json:"member_port_circuit_id"`
}

type CrossConnectMappings added in v0.4.0

type CrossConnectMappings struct {
	BgpMd5AuthKey                     string `json:"bgp_md5_auth_key,omitempty"`
	CrossConnectOrCrossConnectGroupID string `json:"cross_connect_or_cross_connect_group_id,omitempty"`
	CustomerBgpPeeringIP              string `json:"customer_bgp_peering_ip,omitempty"`
	CustomerBgpPeeringIpv6            string `json:"customer_bgp_peering_ipv6,omitempty"`
	OracleBgpPeeringIP                string `json:"oracle_bgp_peering_ip,omitempty"`
	OracleBgpPeeringIpv6              string `json:"oracle_bgp_peering_ipv6,omitempty"`
	Vlan                              int    `json:"vlan,omitempty"`
}

type Current

type Current struct {
	State       string `json:"state"`
	Description string `json:"description"`
	Warning     bool   `json:"warning"`
}

type CustomerOwnedPort added in v0.4.0

type CustomerOwnedPort struct {
	AccountUUID            string `json:"account_uuid,omitempty"`
	MaybeNat               bool   `json:"maybe_nat,omitempty"`
	MaybeDNat              bool   `json:"maybe_dnat,omitempty"`
	PortCircuitID          string `json:"port_circuit_id,omitempty"`
	Description            string `json:"description,omitempty"`
	Untagged               bool   `json:"untagged,omitempty"`
	Vlan                   int    `json:"vlan,omitempty"`
	Speed                  string `json:"speed,omitempty"`
	IsPublic               bool   `json:"is_public,omitempty"`
	PublishedQuoteLineUUID string `json:"published_quote_line_uuid,omitempty"`
	PONumber               string `json:"po_number,omitempty"`
	SubscriptionTerm       int    `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type CustomerOwnedPortResp added in v0.4.0

type CustomerOwnedPortResp struct {
	PortType                  string        `json:"port_type,omitempty"`
	ConnectionType            string        `json:"connection_type,omitempty"`
	PortCircuitID             string        `json:"port_circuit_id,omitempty"`
	PendingDelete             bool          `json:"pending_delete,omitempty"`
	Deleted                   bool          `json:"deleted,omitempty"`
	Speed                     string        `json:"speed,omitempty"`
	State                     string        `json:"state,omitempty"`
	CloudCircuitID            string        `json:"cloud_circuit_id,omitempty"`
	AccountUUID               string        `json:"account_uuid,omitempty"`
	ServiceClass              string        `json:"service_class,omitempty"`
	ServiceProvider           string        `json:"service_provider,omitempty"`
	ServiceType               string        `json:"service_type,omitempty"`
	Description               string        `json:"description,omitempty"`
	UUID                      string        `json:"uuid,omitempty"`
	CloudProviderConnectionID string        `json:"cloud_provider_connection_id,omitempty"`
	CloudSettings             CloudSettings `json:"cloud_settings,omitempty"`
	UserUUID                  string        `json:"user_uuid,omitempty"`
	CustomerUUID              string        `json:"customer_uuid,omitempty"`
	TimeCreated               string        `json:"time_created,omitempty"`
	TimeUpdated               string        `json:"time_updated,omitempty"`
	CloudProvider             CloudProvider `json:"cloud_provider,omitempty"`
	Pop                       string        `json:"pop,omitempty"`
	Site                      string        `json:"site,omitempty"`
	BgpState                  string        `json:"bgp_state,omitempty"`
	CloudRouterCircuitID      string        `json:"cloud_router_circuit_id,omitempty"`
	NatCapable                bool          `json:"nat_capable,omitempty"`
	SubscriptionTerm          int           `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type DedicatedAwsConn

type DedicatedAwsConn struct {
	AwsRegion        string      `json:"aws_region,omitempty"`
	AccountUUID      string      `json:"account_uuid,omitempty"`
	Description      string      `json:"description,omitempty"`
	Zone             string      `json:"zone,omitempty"`
	Pop              string      `json:"pop,omitempty"`
	SubscriptionTerm int         `json:"subscription_term,omitempty"`
	ServiceClass     string      `json:"service_class,omitempty"`
	AutoNeg          bool        `json:"autoneg,omitempty"`
	Speed            string      `json:"speed,omitempty"`
	ShouldCreateLag  bool        `json:"should_create_lag,omitempty"`
	Loa              interface{} `json:"loa,omitempty"`
	PONumber         string      `json:"po_number,omitempty"`
}

type DedicatedConnResp

type DedicatedConnResp struct {
	UUID                    string               `json:"uuid"`
	CustomerUUID            string               `json:"customer_uuid"`
	UserUUID                string               `json:"user_uuid"`
	ServiceProvider         string               `json:"service_provider"`
	PortType                string               `json:"port_type"`
	Deleted                 bool                 `json:"deleted"`
	TimeUpdated             string               `json:"time_updated"`
	TimeCreated             string               `json:"time_created"`
	CloudCircuitID          string               `json:"cloud_circuit_id"`
	AccountUUID             string               `json:"account_uuid"`
	CloudProvider           CloudServiceProvider `json:"cloud_provider"`
	Pop                     string               `json:"pop"`
	Site                    string               `json:"site"`
	ServiceClass            string               `json:"service_class"`
	Description             string               `json:"description"`
	State                   string               `json:"state"`
	Settings                CloudServiceSettings `json:"settings"`
	SubscriptionTerm        int                  `json:"subscription_term"`
	IsCloudRouterConnection bool                 `json:"is_cloud_router_connection"`
	Speed                   string               `json:"speed"`
	IsLag                   bool                 `json:"is_lag,omitempty"`
}

type Document added in v1.6.0

type Document struct {
	UUID        string         `json:"uuid"`
	Name        string         `json:"name"`
	Description string         `json:"description"`
	MimeType    string         `json:"mime_type"`
	Type        string         `json:"type"`
	Size        int            `json:"size"`
	TimeCreated string         `json:"time_created"`
	TimeUpdated string         `json:"time_updated"`
	Links       *DocumentLinks `json:"_links"`
}
type DocumentLinks struct {
	Port                  string `json:"port"`
	Service               string `json:"service"`
	Cloud                 string `json:"cloud"`
	CloudRouter           string `json:"cloud_router"`
	CloudRouterConnection string `json:"cloud_router_connection"`
}

type DocumentsPayload added in v1.6.0

type DocumentsPayload struct {
	Document      string `json:"document"`
	Type          string `json:"type"`
	Description   string `json:"description"`
	PortCircuitId string `json:"port_circuit_id,omitempty"`
}

type Endpoints added in v0.4.0

type Endpoints struct {
	Pop              string `json:"pop,omitempty"`
	Zone             string `json:"zone,omitempty"`
	CustomerSiteCode string `json:"customer_site_code,omitempty"`
	Autoneg          bool   `json:"autoneg,omitempty"`
	Loa              string `json:"loa,omitempty"`
	PortCircuitID    string `json:"port_circuit_id,omitempty"`
}

type FlexBandwidth added in v0.8.0

type FlexBandwidth struct {
	Description      string `json:"description"`
	AccountUUID      string `json:"account_uuid"`
	SubscriptionTerm int    `json:"subscription_term"`
	Capacity         string `json:"capacity"`
	PONumber         string `json:"po_number,omitempty"`
}

This struct represents a Flex Bandwidth https://docs.packetfabric.com/api/v2/swagger/#/Flex%20Bandwidth/create_flex_bandwidth

type FlexBandwidthDelResp added in v0.8.0

type FlexBandwidthDelResp struct {
	Message string `json:"message"`
}

This struct represents a Flex Bandwidth delete response https://docs.packetfabric.com/api/v2/swagger/#/Flex%20Bandwidth/delete_flex_bandwidth

type FlexBandwidthResponse added in v0.8.0

type FlexBandwidthResponse struct {
	FlexBandwidthID       string `json:"flex_bandwidth_id"`
	AccountUUID           string `json:"account_uuid"`
	Description           string `json:"description"`
	SubscriptionTerm      int    `json:"subscription_term"`
	CapacityMbps          int    `json:"capacity_mbps"`
	UsedCapacityMbps      int    `json:"used_capacity_mbps"`
	AvailableCapacityMbps int    `json:"available_capacity_mbps"`
	PONumber              string `json:"po_number,omitempty"`
	TimeCreated           string `json:"time_created"`
	TimeUpdated           string `json:"time_updated"`
}

This struct represents a Flex Bandwidth create response https://docs.packetfabric.com/api/v2/swagger/#/Flex%20Bandwidth/create_flex_bandwidth

type FromCustomer

type FromCustomer struct {
	CustomerUUID      string `json:"customer_uuid,omitempty"`
	Name              string `json:"name,omitempty"`
	Market            string `json:"market,omitempty"`
	MarketDescription string `json:"market_description,omitempty"`
	ContactFirstName  string `json:"contact_first_name,omitempty"`
	ContactLastName   string `json:"contact_last_name,omitempty"`
	ContactEmail      string `json:"contact_email,omitempty"`
	ContactPhone      string `json:"contact_phone,omitempty"`
}

type GoogleCloudRouterConn added in v0.3.0

type GoogleCloudRouterConn struct {
	AccountUUID              string         `json:"account_uuid,omitempty"`
	MaybeNat                 bool           `json:"maybe_nat,omitempty"`
	MaybeDNat                bool           `json:"maybe_dnat,omitempty"`
	GooglePairingKey         string         `json:"google_pairing_key,omitempty"`
	GoogleVlanAttachmentName string         `json:"google_vlan_attachment_name,omitempty"`
	Description              string         `json:"description,omitempty"`
	Pop                      string         `json:"pop,omitempty"`
	Speed                    string         `json:"speed,omitempty"`
	PublishedQuoteLineUUID   string         `json:"published_quote_line_uuid,omitempty"`
	PONumber                 string         `json:"po_number,omitempty"`
	SubscriptionTerm         int            `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
	CloudSettings            *CloudSettings `json:"cloud_settings,omitempty"`
}

type GoogleMktCloudConn

type GoogleMktCloudConn struct {
	RoutingID                string `json:"routing_id,omitempty"`
	Market                   string `json:"market,omitempty"`
	Description              string `json:"description,omitempty"`
	GooglePairingKey         string `json:"google_pairing_key,omitempty"`
	GoogleVlanAttachmentName string `json:"google_vlan_attachment_name,omitempty"`
	AccountUUID              string `json:"account_uuid,omitempty"`
	Pop                      string `json:"pop,omitempty"`
	Speed                    string `json:"speed,omitempty"`
	ServiceUUID              string `json:"service_uuid,omitempty"`
}

Struct representation: https://docs.packetfabric.com/api/v2/redoc/#operation/post_google_marketplace_cloud

type GoogleMktCloudConnCreateResp

type GoogleMktCloudConnCreateResp struct {
	VcRequestUUID  string       `json:"vc_request_uuid,omitempty"`
	VcCircuitID    string       `json:"vc_circuit_id,omitempty"`
	FromCustomer   FromCustomer `json:"from_customer,omitempty"`
	ToCustomer     ToCustomer   `json:"to_customer,omitempty"`
	Status         string       `json:"status,omitempty"`
	RequestType    string       `json:"request_type,omitempty"`
	Text           string       `json:"text,omitempty"`
	Bandwidth      Bandwidth    `json:"bandwidth,omitempty"`
	RateLimitIn    int          `json:"rate_limit_in,omitempty"`
	RateLimitOut   int          `json:"rate_limit_out,omitempty"`
	ServiceName    string       `json:"service_name,omitempty"`
	AllowUntaggedZ bool         `json:"allow_untagged_z,omitempty"`
	TimeCreated    string       `json:"time_created,omitempty"`
	TimeUpdated    string       `json:"time_updated,omitempty"`
}

type GoogleReqDedicatedConn

type GoogleReqDedicatedConn struct {
	AccountUUID            string `json:"account_uuid,omitempty"`
	Description            string `json:"description,omitempty"`
	Zone                   string `json:"zone,omitempty"`
	Pop                    string `json:"pop,omitempty"`
	SubscriptionTerm       int    `json:"subscription_term,omitempty"`
	ServiceClass           string `json:"service_class,omitempty"`
	Autoneg                bool   `json:"autoneg,omitempty"`
	Speed                  string `json:"speed,omitempty"`
	Loa                    string `json:"loa,omitempty"`
	PublishedQuoteLineUUID string `json:"published_quote_line_uuid,omitempty"`
	PONumber               string `json:"po_number,omitempty"`
}

Struct representation: https://docs.packetfabric.com/api/v2/redoc/#operation/google_dedicated_connection_post

type GoogleReqHostedConn

type GoogleReqHostedConn struct {
	AccountUUID              string         `json:"account_uuid,omitempty"`
	GooglePairingKey         string         `json:"google_pairing_key,omitempty"`
	GoogleVlanAttachmentName string         `json:"google_vlan_attachment_name,omitempty"`
	Description              string         `json:"description,omitempty"`
	Port                     string         `json:"port,omitempty"`
	Vlan                     int            `json:"vlan,omitempty"`
	SrcSvlan                 int            `json:"src_svlan,omitempty"`
	Pop                      string         `json:"pop,omitempty"`
	Speed                    string         `json:"speed,omitempty"`
	PublishedQuoteLineUUID   string         `json:"published_quote_line_uuid,omitempty"`
	PONumber                 string         `json:"po_number,omitempty"`
	CloudSettings            *CloudSettings `json:"cloud_settings,omitempty"`
}

Struct representation: https://docs.packetfabric.com/api/v2/redoc/#operation/google_hosted_connection_post

type HostedAwsConnection

type HostedAwsConnection struct {
	AwsAccountID  string         `json:"aws_account_id,omitempty"`
	AccountUUID   string         `json:"account_uuid,omitempty"`
	Description   string         `json:"description,omitempty"`
	Pop           string         `json:"pop,omitempty"`
	Port          string         `json:"port,omitempty"`
	Vlan          int            `json:"vlan,omitempty"`
	SrcSvlan      int            `json:"src_svlan,omitempty"`
	Zone          string         `json:"zone,omitempty"`
	Speed         string         `json:"speed,omitempty"`
	PONumber      string         `json:"po_number,omitempty"`
	CloudSettings *CloudSettings `json:"cloud_settings,omitempty"`
}

type HostedConnResp

type HostedConnResp struct {
	UUID                    string             `json:"uuid,omitempty"`
	CustomerUUID            string             `json:"customer_uuid,omitempty"`
	UserUUID                string             `json:"user_uuid,omitempty"`
	ServiceProvider         string             `json:"service_provider,omitempty"`
	PortType                string             `json:"port_type,omitempty"`
	Deleted                 bool               `json:"deleted,omitempty"`
	TimeUpdated             string             `json:"time_updated,omitempty"`
	TimeCreated             string             `json:"time_created,omitempty"`
	CloudCircuitID          string             `json:"cloud_circuit_id,omitempty"`
	AccountUUID             string             `json:"account_uuid,omitempty"`
	CloudProvider           CloudProvider      `json:"cloud_provider,omitempty"`
	ServiceClass            string             `json:"service_class,omitempty"`
	Description             string             `json:"description,omitempty"`
	State                   string             `json:"state,omitempty"`
	IsCloudRouterConnection bool               `json:"is_cloud_router_connection,omitempty"`
	IsAwaitingOnramp        bool               `json:"is_awaiting_onramp,omitempty"`
	Speed                   string             `json:"speed,omitempty"`
	Interfaces              []HostedInterfaces `json:"interfaces,omitempty"`
}

type HostedIBMConn added in v0.5.0

type HostedIBMConn struct {
	IbmAccountID           string `json:"ibm_account_id,omitempty"`
	IbmBgpAsn              int    `json:"ibm_bgp_asn,omitempty"`
	IbmBgpCerCidr          string `json:"ibm_bgp_cer_cidr,omitempty"`
	IbmBgpIbmCidr          string `json:"ibm_bgp_ibm_cidr,omitempty"`
	Description            string `json:"description,omitempty"`
	AccountUUID            string `json:"account_uuid,omitempty"`
	Pop                    string `json:"pop,omitempty"`
	Port                   string `json:"port,omitempty"`
	Vlan                   int    `json:"vlan,omitempty"`
	SrcSvlan               int    `json:"src_svlan,omitempty"`
	Zone                   string `json:"zone,omitempty"`
	Speed                  string `json:"speed,omitempty"`
	PublishedQuoteLineUUID string `json:"published_quote_line_uuid,omitempty"`
	PONumber               string `json:"po_number,omitempty"`
}

type HostedInterfaces

type HostedInterfaces struct {
	TimeCreated        string `json:"time_created,omitempty"`
	TimeUpdated        string `json:"time_updated,omitempty"`
	PortCircuitID      string `json:"port_circuit_id,omitempty"`
	Pop                string `json:"pop,omitempty"`
	Site               string `json:"site,omitempty"`
	SiteName           string `json:"site_name,omitempty"`
	Speed              string `json:"speed,omitempty"`
	Media              string `json:"media,omitempty"`
	Zone               string `json:"zone,omitempty"`
	Description        string `json:"description,omitempty"`
	Vlan               int    `json:"vlan,omitempty"`
	Untagged           bool   `json:"untagged,omitempty"`
	Svlan              int    `json:"svlan,omitempty"`
	ProvisioningStatus string `json:"provisioning_status,omitempty"`
	AdminStatus        string `json:"admin_status,omitempty"`
	OperationalStatus  string `json:"operational_status,omitempty"`
	CustomerName       string `json:"customer_name,omitempty"`
	CustomerUUID       string `json:"customer_uuid,omitempty"`
	Region             string `json:"region,omitempty"`
	IsCloud            bool   `json:"is_cloud,omitempty"`
	IsPtp              bool   `json:"is_ptp,omitempty"`
}

type IBMCloudRouterConn added in v0.3.0

type IBMCloudRouterConn struct {
	MaybeNat               bool   `json:"maybe_nat,omitempty"`
	MaybeDNat              bool   `json:"maybe_dnat,omitempty"`
	IbmAccountID           string `json:"ibm_account_id,omitempty"`
	IbmBgpAsn              int    `json:"ibm_bgp_asn,omitempty"`
	IbmBgpCerCidr          string `json:"ibm_bgp_cer_cidr,omitempty"`
	IbmBgpIbmCidr          string `json:"ibm_bgp_ibm_cidr,omitempty"`
	Description            string `json:"description,omitempty"`
	AccountUUID            string `json:"account_uuid,omitempty"`
	Pop                    string `json:"pop,omitempty"`
	Zone                   string `json:"zone,omitempty"`
	Speed                  string `json:"speed,omitempty"`
	PublishedQuoteLineUUID string `json:"published_quote_line_uuid,omitempty"`
	PONumber               string `json:"po_number,omitempty"`
	SubscriptionTerm       int    `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type IPSecCloudRouterCreateResp added in v0.3.0

type IPSecCloudRouterCreateResp struct {
	VcCircuitID                string `json:"vc_circuit_id,omitempty"`
	CircuitID                  string `json:"circuit_id,omitempty"`
	CustomerGatewayAddress     string `json:"customer_gateway_address,omitempty"`
	LocalGatewayAddress        string `json:"local_gateway_address,omitempty"`
	IkeVersion                 int    `json:"ike_version,omitempty"`
	Phase1AuthenticationMethod string `json:"phase1_authentication_method,omitempty"`
	Phase1Group                string `json:"phase1_group,omitempty"`
	Phase1EncryptionAlgo       string `json:"phase1_encryption_algo,omitempty"`
	Phase1AuthenticationAlgo   string `json:"phase1_authentication_algo,omitempty"`
	Phase1Lifetime             int    `json:"phase1_lifetime,omitempty"`
	Phase2PfsGroup             string `json:"phase2_pfs_group,omitempty"`
	Phase2EncryptionAlgo       string `json:"phase2_encryption_algo,omitempty"`
	Phase2AuthenticationAlgo   string `json:"phase2_authentication_algo,omitempty"`
	Phase2Lifetime             int    `json:"phase2_lifetime,omitempty"`
	PreSharedKey               string `json:"pre_shared_key,omitempty"`
	TimeCreated                string `json:"time_created,omitempty"`
	TimeUpdated                string `json:"time_updated,omitempty"`
	Description                string `json:"description,omitempty"`
	AccountUUID                string `json:"account_uuid,omitempty"`
	Pop                        string `json:"pop,omitempty"`
	Speed                      string `json:"speed,omitempty"`
	SubscriptionTerm           int    `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type IPSecConnUpdate added in v0.3.0

type IPSecConnUpdate struct {
	CustomerGatewayAddress     string `json:"customer_gateway_address,omitempty"`
	IkeVersion                 int    `json:"ike_version,omitempty"`
	Phase1AuthenticationMethod string `json:"phase1_authentication_method,omitempty"`
	Phase1Group                string `json:"phase1_group,omitempty"`
	Phase1EncryptionAlgo       string `json:"phase1_encryption_algo,omitempty"`
	Phase1AuthenticationAlgo   string `json:"phase1_authentication_algo,omitempty"`
	Phase1Lifetime             int    `json:"phase1_lifetime,omitempty"`
	Phase2PfsGroup             string `json:"phase2_pfs_group,omitempty"`
	Phase2EncryptionAlgo       string `json:"phase2_encryption_algo,omitempty"`
	Phase2AuthenticationAlgo   string `json:"phase2_authentication_algo,omitempty"`
	Phase2Lifetime             int    `json:"phase2_lifetime,omitempty"`
	PreSharedKey               string `json:"pre_shared_key,omitempty"`
}

type IPSecConnUpdateResponse added in v0.3.0

type IPSecConnUpdateResponse struct {
	CircuitID                  string `json:"circuit_id,omitempty"`
	CustomerGatewayAddress     string `json:"customer_gateway_address,omitempty"`
	LocalGatewayAddress        string `json:"local_gateway_address,omitempty"`
	IkeVersion                 int    `json:"ike_version,omitempty"`
	Phase1AuthenticationMethod string `json:"phase1_authentication_method,omitempty"`
	Phase1Group                string `json:"phase1_group,omitempty"`
	Phase1EncryptionAlgo       string `json:"phase1_encryption_algo,omitempty"`
	Phase1AuthenticationAlgo   string `json:"phase1_authentication_algo,omitempty"`
	Phase1Lifetime             int    `json:"phase1_lifetime,omitempty"`
	Phase2PfsGroup             string `json:"phase2_pfs_group,omitempty"`
	Phase2EncryptionAlgo       string `json:"phase2_encryption_algo,omitempty"`
	Phase2AuthenticationAlgo   string `json:"phase2_authentication_algo,omitempty"`
	Phase2Lifetime             int    `json:"phase2_lifetime,omitempty"`
	PreSharedKey               string `json:"pre_shared_key,omitempty"`
	Deleted                    bool   `json:"deleted,omitempty"`
	TimeCreated                string `json:"time_created,omitempty"`
	TimeUpdated                string `json:"time_updated,omitempty"`
}

type IPSecRouterConn added in v0.3.0

type IPSecRouterConn struct {
	Description                string `json:"description,omitempty"`
	AccountUUID                string `json:"account_uuid,omitempty"`
	Pop                        string `json:"pop,omitempty"`
	Speed                      string `json:"speed,omitempty"`
	IkeVersion                 int    `json:"ike_version,omitempty"`
	Phase1AuthenticationMethod string `json:"phase1_authentication_method,omitempty"`
	Phase1Group                string `json:"phase1_group,omitempty"`
	Phase1EncryptionAlgo       string `json:"phase1_encryption_algo,omitempty"`
	Phase1AuthenticationAlgo   string `json:"phase1_authentication_algo,omitempty"`
	Phase1Lifetime             int    `json:"phase1_lifetime,omitempty"`
	Phase2PfsGroup             string `json:"phase2_pfs_group,omitempty"`
	Phase2EncryptionAlgo       string `json:"phase2_encryption_algo,omitempty"`
	Phase2AuthenticationAlgo   string `json:"phase2_authentication_algo,omitempty"`
	Phase2Lifetime             int    `json:"phase2_lifetime,omitempty"`
	GatewayAddress             string `json:"gateway_address,omitempty"`
	SharedKey                  string `json:"shared_key,omitempty"`
	PublishedQuoteLineUUID     string `json:"published_quote_line_uuid,omitempty"`
	PONumber                   string `json:"po_number,omitempty"`
	SubscriptionTerm           int    `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type ImportFilters added in v0.9.0

type ImportFilters struct {
	Prefix    string `json:"prefix,omitempty"`
	MatchType string `json:"match_type,omitempty"`
	Localpref int    `json:"local_preference,omitempty"`
}

type Interface

type Interface struct {
	Autoneg          bool   `json:"autoneg,omitempty"`
	Nni              bool   `json:"nni,omitempty"`
	SubscriptionTerm int    `json:"subscription_term,omitempty"`
	AccountUUID      string `json:"account_uuid,omitempty"`
	Pop              string `json:"pop,omitempty"`
	Speed            string `json:"speed,omitempty"`
	Media            string `json:"media,omitempty"`
	Zone             string `json:"zone,omitempty"`
	Description      string `json:"description,omitempty"`
	PortCircuitID    string `json:"port_circuit_id,omitempty"`
	Vlan             int    `json:"vlan,omitempty"`
	Svlan            int    `json:"svlan,omitempty"`
	VlanMicrosoft    int    `json:"vlan_microsoft,omitempty"`
	VlanPrivate      int    `json:"vlan_private,omitempty"`
	Untagged         bool   `json:"untagged,omitempty"`
	PONumber         string `json:"po_number,omitempty"`
}

type InterfaceCreateResp

type InterfaceCreateResp struct {
	Autoneg             bool        `json:"autoneg,omitempty"`
	PortCircuitID       string      `json:"port_circuit_id,omitempty"`
	State               string      `json:"state,omitempty"`
	Pop                 string      `json:"pop,omitempty"`
	Speed               string      `json:"speed,omitempty"`
	Media               string      `json:"media,omitempty"`
	Zone                string      `json:"zone,omitempty"`
	Mtu                 int         `json:"mtu,omitempty"`
	Description         string      `json:"description,omitempty"`
	VcMode              interface{} `json:"vc_mode,omitempty"`
	IsLag               bool        `json:"is_lag,omitempty"`
	IsLagMember         bool        `json:"is_lag_member,omitempty"`
	IsCloud             bool        `json:"is_cloud,omitempty"`
	IsPtp               bool        `json:"is_ptp,omitempty"`
	LagInterval         interface{} `json:"lag_interval,omitempty"`
	MemberCount         interface{} `json:"member_count,omitempty"`
	ParentLagCircuitID  interface{} `json:"parent_lag_circuit_id,omitempty"`
	Disabled            bool        `json:"disabled,omitempty"`
	Status              string      `json:"status,omitempty"`
	TimeCreated         string      `json:"time_created,omitempty"`
	TimeUpdated         string      `json:"time_updated,omitempty"`
	IsCloudRouter       interface{} `json:"is_cloud_router,omitempty"`
	IsNatCapable        interface{} `json:"is_nat_capable,omitempty"`
	IsIpsecCapable      interface{} `json:"is_ipsec_capable,omitempty"`
	Provider            string      `json:"provider,omitempty"`
	Region              string      `json:"region,omitempty"`
	Market              string      `json:"market,omitempty"`
	MarketDescription   string      `json:"market_description,omitempty"`
	Site                string      `json:"site,omitempty"`
	SiteCode            string      `json:"site_code,omitempty"`
	OperationalStatus   interface{} `json:"operational_status,omitempty"`
	AdminStatus         interface{} `json:"admin_status,omitempty"`
	AccountUUID         string      `json:"account_uuid,omitempty"`
	SubscriptionTerm    int         `json:"subscription_term,omitempty"`
	IsNni               bool        `json:"is_nni,omitempty"`
	CustomerName        string      `json:"customer_name,omitempty"`
	CustomerUUID        string      `json:"customer_uuid,omitempty"`
	MaxCloudRouterSpeed string      `json:"max_cloud_router_speed,omitempty"`
}

type InterfaceReadResp

type InterfaceReadResp struct {
	Autoneg             bool   `json:"autoneg,omitempty"`
	PortCircuitID       string `json:"port_circuit_id,omitempty"`
	State               string `json:"state,omitempty"`
	Pop                 string `json:"pop,omitempty"`
	Speed               string `json:"speed,omitempty"`
	Media               string `json:"media,omitempty"`
	Zone                string `json:"zone,omitempty"`
	Mtu                 int    `json:"mtu,omitempty"`
	Description         string `json:"description,omitempty"`
	VcMode              string `json:"vc_mode,omitempty"`
	IsLag               bool   `json:"is_lag,omitempty"`
	IsLagMember         bool   `json:"is_lag_member,omitempty"`
	IsCloud             bool   `json:"is_cloud,omitempty"`
	IsPtp               bool   `json:"is_ptp,omitempty"`
	LagInterval         string `json:"lag_interval,omitempty"`
	MemberCount         int    `json:"member_count,omitempty"`
	ParentLagCircuitID  string `json:"parent_lag_circuit_id,omitempty"`
	Disabled            bool   `json:"disabled,omitempty"`
	Status              string `json:"status,omitempty"`
	TimeCreated         string `json:"time_created,omitempty"`
	TimeUpdated         string `json:"time_updated,omitempty"`
	IsCloudRouter       bool   `json:"is_cloud_router,omitempty"`
	IsNatCapable        bool   `json:"is_nat_capable,omitempty"`
	IsIpsecCapable      bool   `json:"is_ipsec_capable,omitempty"`
	Provider            string `json:"provider,omitempty"`
	Region              string `json:"region,omitempty"`
	Market              string `json:"market,omitempty"`
	MarketDescription   string `json:"market_description,omitempty"`
	Site                string `json:"site,omitempty"`
	SiteCode            string `json:"site_code,omitempty"`
	OperationalStatus   string `json:"operational_status,omitempty"`
	AdminStatus         string `json:"admin_status,omitempty"`
	AccountUUID         string `json:"account_uuid,omitempty"`
	SubscriptionTerm    int    `json:"subscription_term,omitempty"`
	IsNni               bool   `json:"is_nni,omitempty"`
	CustomerName        string `json:"customer_name,omitempty"`
	CustomerUUID        string `json:"customer_uuid,omitempty"`
	MaxCloudRouterSpeed string `json:"max_cloud_router_speed,omitempty"`
	Links               Links  `json:"_links,omitempty"`
	PONumber            string `json:"po_number,omitempty"`
}

type Interfaces

type Interfaces struct {
	PortCircuitID      string `json:"port_circuit_id,omitempty"`
	Pop                string `json:"pop,omitempty"`
	Site               string `json:"site,omitempty"`
	SiteName           string `json:"site_name,omitempty"`
	Speed              string `json:"speed,omitempty"`
	Media              string `json:"media,omitempty"`
	Zone               string `json:"zone,omitempty"`
	Description        string `json:"description,omitempty"`
	Vlan               int    `json:"vlan,omitempty"`
	Svlan              int    `json:"svlan,omitempty"`
	Untagged           bool   `json:"untagged"`
	ProvisioningStatus string `json:"provisioning_status,omitempty"`
	AdminStatus        string `json:"admin_status,omitempty"`
	OperationalStatus  string `json:"operational_status,omitempty"`
	CustomerUUID       string `json:"customer_uuid,omitempty"`
	CustomerName       string `json:"customer_name,omitempty"`
	Region             string `json:"region,omitempty"`
	IsCloud            bool   `json:"is_cloud,omitempty"`
	IsPtp              bool   `json:"is_ptp,omitempty"`
	TimeCreated        string `json:"time_created,omitempty"`
	TimeUpdated        string `json:"time_updated,omitempty"`
	CustomerSiteCode   string `json:"customer_site_code,omitempty"`
	CustomerSiteName   string `json:"customer_site_name,omitempty"`
}

type IxVirtualCircuit added in v0.4.0

type IxVirtualCircuit struct {
	RoutingID       string     `json:"routing_id,omitempty"`
	Market          string     `json:"market,omitempty"`
	Description     string     `json:"description,omitempty"`
	Asn             int        `json:"asn,omitempty"`
	RateLimitIn     int        `json:"rate_limit_in,omitempty"`
	RateLimitOut    int        `json:"rate_limit_out,omitempty"`
	Bandwidth       Bandwidth  `json:"bandwidth,omitempty"`
	Interface       Interfaces `json:"interface,omitempty"`
	FlexBandwidthID string     `json:"flex_bandwidth_id,omitempty"`
}

type LabelsPayload added in v1.2.0

type LabelsPayload struct {
	Labels []string `json:"labels"`
}

type LabelsResponse added in v1.2.0

type LabelsResponse struct {
	Labels []string `json:"labels"`
}

type LastWorkflow

type LastWorkflow struct {
	Name         string   `json:"name"`
	Root         string   `json:"root"`
	Current      string   `json:"current"`
	State        string   `json:"state"`
	CurrentState string   `json:"current_state"`
	PrevState    string   `json:"prev_state"`
	IsFinal      bool     `json:"is_final"`
	Progress     Progress `json:"progress"`
}

type LinkAggregationGroup

type LinkAggregationGroup struct {
	Description string   `json:"description,omitempty"`
	Interval    string   `json:"interval,omitempty"`
	Pop         string   `json:"pop,omitempty"`
	Members     []string `json:"members,omitempty"`
}

type LinkAggregationGroupCreateResp

type LinkAggregationGroupCreateResp struct {
	State         string `json:"state,omitempty"`
	PortCircuitID string `json:"port_circuit_id,omitempty"`
	Description   string `json:"description,omitempty"`
	Number        int    `json:"number,omitempty"`
	TimeCreated   string `json:"time_created,omitempty"`
	Accepted      bool   `json:"accepted,omitempty"`
}

type LinkAggregationGroupWorkflowResp

type LinkAggregationGroupWorkflowResp struct {
	WorkflowName string `json:"workflow_name"`
}
type Links struct {
	DeviceInfo string `json:"device_info,omitempty"`
	Location   string `json:"location,omitempty"`
}

type Location

type Location struct {
	Pop               string `json:"pop"`
	Region            string `json:"region"`
	Market            string `json:"market"`
	MarketDescription string `json:"market_description"`
	Vendor            string `json:"vendor"`
	Site              string `json:"site"`
	SiteCode          string `json:"site_code"`
	Type              string `json:"type"`
	Status            string `json:"status"`
	Latitude          string `json:"latitude"`
	Longitude         string `json:"longitude"`
	Timezone          string `json:"timezone,omitempty"`
	Notes             string `json:"notes,omitempty"`
	Pcode             int    `json:"pcode"`
	LeadTime          string `json:"lead_time"`
	SingleArmed       bool   `json:"single_armed"`
	Address1          string `json:"address1"`
	Address2          string `json:"address2,omitempty"`
	City              string `json:"city"`
	State             string `json:"state"`
	Postal            string `json:"postal"`
	Country           string `json:"country"`
	NetworkProvider   string `json:"network_provider"`
	TimeCreated       string `json:"time_created"`
	EnniSupported     bool   `json:"enni_supported"`
}

type LocationMarket added in v0.5.0

type LocationMarket struct {
	Name    string `json:"name,omitempty"`
	Code    string `json:"code,omitempty"`
	Country string `json:"country,omitempty"`
}

type LocationRegion added in v0.5.0

type LocationRegion struct {
	Name string `json:"name,omitempty"`
	Code string `json:"code,omitempty"`
}

type MarketplaceService added in v0.9.0

type MarketplaceService struct {
	Name        string   `json:"name,omitempty"`
	Description string   `json:"description,omitempty"`
	State       string   `json:"state,omitempty"`
	Sku         string   `json:"sku,omitempty"`
	Locations   []string `json:"locations,omitempty"`
	Categories  []string `json:"categories,omitempty"`
	Published   bool     `json:"published"`
	ServiceType string   `json:"service_type,omitempty"`
}

type MarketplaceServiceResp added in v0.9.0

type MarketplaceServiceResp struct {
	UUID                 string          `json:"uuid,omitempty"`
	Locations            []string        `json:"locations,omitempty"`
	Categories           []MktCategories `json:"categories,omitempty"`
	Name                 string          `json:"name,omitempty"`
	ServiceType          string          `json:"service_type,omitempty"`
	Description          string          `json:"description,omitempty"`
	Published            bool            `json:"published,omitempty"`
	State                string          `json:"state,omitempty"`
	Sku                  string          `json:"sku,omitempty"`
	CloudRouterCircuitID string          `json:"cloud_router_circuit_id,omitempty"`
	RouteSetCircuitID    string          `json:"route_set_circuit_id,omitempty"`
	Links                MktLinks        `json:"_links,omitempty"`
}

type MarketplaceServiceRouteSet added in v0.9.0

type MarketplaceServiceRouteSet struct {
	CloudRouterCircuitID string               `json:"cloud_router_circuit_id,omitempty"`
	RouteSet             RouteSet             `json:"route_set,omitempty"`
	ConnectionCircuitIDs ConnectionCircuitIDs `json:",omitempty"`
	RouteSetCircuitID    string               `json:",omitempty"`
}

type MktCategories added in v0.9.0

type MktCategories struct {
	Name string `json:"name,omitempty"`
	Slug string `json:"slug,omitempty"`
}

type MktConnProvisionResp

type MktConnProvisionResp struct {
	VcCircuitID  string       `json:"vc_circuit_id"`
	CustomerUUID string       `json:"customer_uuid"`
	State        string       `json:"state"`
	ServiceType  string       `json:"service_type"`
	ServiceClass string       `json:"service_class"`
	Mode         string       `json:"mode"`
	Connected    bool         `json:"connected"`
	Description  string       `json:"description"`
	RateLimitIn  int          `json:"rate_limit_in"`
	RateLimitOut int          `json:"rate_limit_out"`
	TimeCreated  string       `json:"time_created"`
	TimeUpdated  string       `json:"time_updated"`
	Interfaces   []Interfaces `json:"interfaces"`
}
type MktLinks struct {
	ServiceImage string `json:"service_image,omitempty"`
	RouteSets    string `json:"route_sets,omitempty"`
}

type Object

type Object struct {
	State   string `json:"state"`
	Deleted bool   `json:"deleted"`
}

type OpticsDiagnosticsLaneValues added in v0.5.0

type OpticsDiagnosticsLaneValues struct {
	TxPowerDbm  float64 `json:"tx_power_dbm,omitempty"`
	TxPower     float64 `json:"tx_power,omitempty"`
	LaneIndex   string  `json:"lane_index,omitempty"`
	RxPower     float64 `json:"rx_power,omitempty"`
	RxPowerDbm  float64 `json:"rx_power_dbm,omitempty"`
	BiasCurrent float64 `json:"bias_current,omitempty"`
	TxStatus    string  `json:"tx_status,omitempty"`
	RxStatus    string  `json:"rx_status,omitempty"`
}

type OracleCloudRouterConn added in v0.3.0

type OracleCloudRouterConn struct {
	MaybeNat               bool   `json:"maybe_nat,omitempty"`
	MaybeDNat              bool   `json:"maybe_dnat,omitempty"`
	VcOcid                 string `json:"vc_ocid,omitempty"`
	Region                 string `json:"region,omitempty"`
	Description            string `json:"description,omitempty"`
	AccountUUID            string `json:"account_uuid,omitempty"`
	Pop                    string `json:"pop,omitempty"`
	Zone                   string `json:"zone,omitempty"`
	PublishedQuoteLineUUID string `json:"published_quote_line_uuid,omitempty"`
	PONumber               string `json:"po_number,omitempty"`
	SubscriptionTerm       int    `json:"subscription_term,omitempty" validate:"oneof=1 12 24 36" default:"1"`
}

type OracleComponents added in v0.4.0

type OracleComponents struct {
	IfdPortCircuitIDCust              string                            `json:"ifd_port_circuit_id_cust,omitempty"`
	CloudProviderProvisioningResponse CloudProviderProvisioningResponse `json:"cloud_provider_provisioning_response,omitempty"`
}

type OutboundCrossConnect

type OutboundCrossConnect struct {
	Port                     string `json:"port,omitempty"`
	Site                     string `json:"site,omitempty"`
	DocumentUUID             string `json:"document_uuid,omitempty"`
	Description              string `json:"description,omitempty"`
	DestinationName          string `json:"destination_name,omitempty"`
	DestinationCircuitID     string `json:"destination_circuit_id,omitempty"`
	Panel                    string `json:"panel,omitempty"`
	Module                   string `json:"module,omitempty"`
	Position                 string `json:"position,omitempty"`
	DataCenterCrossConnectID string `json:"data_center_cross_connect_id,omitempty"`
	PublishedQuoteLineUUID   string `json:"published_quote_line_uuid,omitempty"`
}

type OutboundCrossConnectMessageResp

type OutboundCrossConnectMessageResp struct {
	Message string `json:"message"`
}

type OutboundCrossConnectResp

type OutboundCrossConnectResp struct {
	Port                     string `json:"port,omitempty"`
	Site                     string `json:"site,omitempty"`
	DocumentUUID             string `json:"document_uuid,omitempty"`
	OutboundCrossConnectID   string `json:"outbound_cross_connect_id,omitempty"`
	ObccStatus               string `json:"obcc_status,omitempty"`
	Description              string `json:"description,omitempty"`
	UserDescription          string `json:"user_description,omitempty"`
	DestinationName          string `json:"destination_name,omitempty"`
	DestinationCircuitID     string `json:"destination_circuit_id,omitempty"`
	Panel                    string `json:"panel,omitempty"`
	Module                   string `json:"module,omitempty"`
	Position                 string `json:"position,omitempty"`
	DataCenterCrossConnectID string `json:"data_center_cross_connect_id,omitempty"`
	Progress                 int    `json:"progress,omitempty"`
	Deleted                  bool   `json:"deleted,omitempty"`
	ZLocCfa                  string `json:"z_loc_cfa,omitempty"`
	CircuitID                string `json:"circuit_id,omitempty"`
	TimeCreated              string `json:"time_created,omitempty"`
	TimeUpdated              string `json:"time_updated,omitempty"`
}

type PFAuth

type PFAuth struct {
	Login    string `json:"login"`
	Password string `json:"password"`
}

type PFClient

type PFClient struct {
	HostURL    string
	HTTPClient *http.Client
	Token      string
	Ctx        context.Context
	Username   string
	Password   string
}

func NewPFClient

func NewPFClient(host, token *string) (*PFClient, error)

func NewPFClientByUserAndPass

func NewPFClientByUserAndPass(ctx context.Context, host *string, username, password string) (*PFClient, error)

func (*PFClient) AcceptCloudRouterService added in v0.9.0

func (c *PFClient) AcceptCloudRouterService(importCircuitID string) (*PortMessageResp, error)

func (*PFClient) AttachCustomerOwnedPortToCR added in v0.4.0

func (c *PFClient) AttachCustomerOwnedPortToCR(ownedPort CustomerOwnedPort, cID string) (*CustomerOwnedPortResp, error)

func (*PFClient) CheckIPSecStatus added in v0.3.0

func (c *PFClient) CheckIPSecStatus(ch chan bool, fn func() (*ServiceState, error))

func (*PFClient) CheckLagMembersUpdated added in v1.8.0

func (c *PFClient) CheckLagMembersUpdated(lagId string, expectedMembersList []string) (interface{}, error)

func (*PFClient) CheckServiceStatus

func (c *PFClient) CheckServiceStatus(ch chan bool, fn func() (*ServiceState, error))

func (*PFClient) CreateAwsConnection

func (c *PFClient) CreateAwsConnection(connection AwsConnection, circuitId string) (*AwsConnectionCreateResponse, error)

func (*PFClient) CreateAwsHostedConn

func (c *PFClient) CreateAwsHostedConn(hostedConn HostedAwsConnection) (*CloudServiceConnCreateResp, error)

func (*PFClient) CreateAwsHostedMkt

func (c *PFClient) CreateAwsHostedMkt(serviceAws ServiceAws) (*AwsHostedMktResp, error)

func (*PFClient) CreateAwsProvisionReq

func (c *PFClient) CreateAwsProvisionReq(conn ServiceAwsMktConn, vcRequestUUID string) (*MktConnProvisionResp, error)

func (*PFClient) CreateAzureExpressRoute

func (c *PFClient) CreateAzureExpressRoute(azureExpressRoute AzureExpressRoute) (*CloudServiceConnCreateResp, error)

func (*PFClient) CreateAzureExpressRouteConn added in v0.3.0

func (c *PFClient) CreateAzureExpressRouteConn(azureExpressRoute AzureExpressRouteConn, cid string) (*CloudRouterConnectionReadResponse, error)

func (*PFClient) CreateAzureExpressRouteDedicated

func (c *PFClient) CreateAzureExpressRouteDedicated(azureExpressDedicated AzureExpressRouteDedicated) (*CloudServiceConnCreateResp, error)

func (*PFClient) CreateAzureHostedMktRequest

func (c *PFClient) CreateAzureHostedMktRequest(azureMktReq AzureHostedMktReq) (*AzureHostedMktReqResp, error)

func (*PFClient) CreateBackbone

func (c *PFClient) CreateBackbone(backbone Backbone) (*BackboneResp, error)

func (*PFClient) CreateBgpSession

func (c *PFClient) CreateBgpSession(bgpSession BgpSession, cID, connID string) (*BgpSessionCreateResp, error)

This function represents the Action to Create a Bgp Session using an existing Bgp Settigs UUID https://docs.packetfabric.com/api/v2/redoc/#operation/bgp_prefixes_create

func (*PFClient) CreateBgpSessionPrefixes

func (c *PFClient) CreateBgpSessionPrefixes(prefixes []BgpPrefix, bgpSessionUUID string) ([]BgpPrefix, error)

func (*PFClient) CreateCloudProviderCredential added in v1.3.0

func (c *PFClient) CreateCloudProviderCredential(creds CloudProviderCredentialCreate) (*CloudProviderCredentialResponse, error)

This function represents the Action to create a new Cloud Provider Credential

func (*PFClient) CreateCloudRouter

func (c *PFClient) CreateCloudRouter(router CloudRouter) (*CloudRouterResponse, error)

This function represents the Action to create a new Cloud Router https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_routers_create

func (*PFClient) CreateCloudRouterQuickConnect added in v0.9.0

func (c *PFClient) CreateCloudRouterQuickConnect(crCID, connCID string, quickConnect CloudRouterQuickConnect) (*CloudRouterQuickConnectResp, error)

func (*PFClient) CreateDedicadedAWSConn

func (c *PFClient) CreateDedicadedAWSConn(dedicatedConn DedicatedAwsConn) (*CloudServiceConnCreateResp, error)

func (*PFClient) CreateDocument added in v1.6.0

func (c *PFClient) CreateDocument(documentsData DocumentsPayload) (*Document, error)

func (*PFClient) CreateFlexBandwidth added in v0.8.0

func (c *PFClient) CreateFlexBandwidth(flexBand FlexBandwidth) (*FlexBandwidthResponse, error)

This function represents the Action to create a new Flex Bandwidth https://docs.packetfabric.com/api/v2/swagger/#/Flex%20Bandwidth/create_flex_bandwidth

func (*PFClient) CreateGoogleCloudRouterConn added in v0.3.0

func (c *PFClient) CreateGoogleCloudRouterConn(googleConn GoogleCloudRouterConn, cID string) (*CloudRouterConnectionReadResponse, error)

func (*PFClient) CreateHostedIBMConn added in v0.5.0

func (c *PFClient) CreateHostedIBMConn(conn HostedIBMConn) (*CloudServiceConnCreateResp, error)

func (*PFClient) CreateIBMCloudRouteConn added in v0.3.0

func (c *PFClient) CreateIBMCloudRouteConn(ibmRouter IBMCloudRouterConn, circuitID string) (*CloudRouterConnectionReadResponse, error)

func (*PFClient) CreateIPSecCloudRouerConnection added in v0.3.0

func (c *PFClient) CreateIPSecCloudRouerConnection(iPSecRouter IPSecRouterConn, circuitID string) (*IPSecCloudRouterCreateResp, error)

func (*PFClient) CreateIXVirtualCircuit added in v0.4.0

func (c *PFClient) CreateIXVirtualCircuit(ixVc IxVirtualCircuit) (*VcRequest, error)

func (*PFClient) CreateInterface

func (c *PFClient) CreateInterface(interf Interface) (*InterfaceCreateResp, error)

func (*PFClient) CreateLabel added in v1.2.0

func (c *PFClient) CreateLabel(circuitId string, labelsData LabelsPayload) (*LabelsResponse, error)

func (*PFClient) CreateLagMember added in v1.8.0

func (c *PFClient) CreateLagMember(lagId string, member string) (*LinkAggregationGroupWorkflowResp, error)

func (*PFClient) CreateLinkAggregationGroup

func (c *PFClient) CreateLinkAggregationGroup(lag LinkAggregationGroup) (*LinkAggregationGroupCreateResp, error)

func (*PFClient) CreateMarketplaceService added in v0.9.0

func (c *PFClient) CreateMarketplaceService(service MarketplaceService) (*MarketplaceServiceResp, error)

func (*PFClient) CreateMarketplaceServiceWithRouteSet added in v0.9.0

func (c *PFClient) CreateMarketplaceServiceWithRouteSet(service MarketplaceService, mktServiceRouteSet MarketplaceServiceRouteSet) (*MarketplaceServiceResp, error)

func (*PFClient) CreateMktProvisionReq

func (c *PFClient) CreateMktProvisionReq(mktProvision ServiceAwsMktConn, vcRequestUUID, provider string) (*MktConnProvisionResp, error)

func (*PFClient) CreateOracleCloudRouerConnection added in v0.3.0

func (c *PFClient) CreateOracleCloudRouerConnection(oracleRouter OracleCloudRouterConn, circuitID string) (*CloudRouterConnectionReadResponse, error)

func (*PFClient) CreateOutboundCrossConnect

func (c *PFClient) CreateOutboundCrossConnect(crossConn OutboundCrossConnect) (*OutboundCrossConnectMessageResp, error)

func (*PFClient) CreatePointToPointService added in v0.4.0

func (c *PFClient) CreatePointToPointService(ptp PointToPoint) (*PointToPointResp, error)

func (*PFClient) CreateRequestDedicatedGoogleConn

func (c *PFClient) CreateRequestDedicatedGoogleConn(googleConn GoogleReqDedicatedConn) (*CloudServiceConnCreateResp, error)

func (*PFClient) CreateRequestHostedGoogleConn

func (c *PFClient) CreateRequestHostedGoogleConn(googleConn GoogleReqHostedConn) (*CloudServiceConnCreateResp, error)

func (*PFClient) CreateRequestHostedGoogleMktConn

func (c *PFClient) CreateRequestHostedGoogleMktConn(googleConn GoogleMktCloudConn) (*GoogleMktCloudConnCreateResp, error)

func (*PFClient) CreateStreamingEvent added in v1.4.0

func (c *PFClient) CreateStreamingEvent(streamingEventsData StreamingEventsPayload) (*StreamingEventsCreateResponse, error)

func (*PFClient) CreateUsers added in v1.2.0

func (c *PFClient) CreateUsers(user User) (*UserResponse, error)

This function represents the Action to create a new User https://docs.packetfabric.com/api/v2/swagger/#/Users/user_post

func (*PFClient) DeleteBackbone

func (c *PFClient) DeleteBackbone(vcCircuitID string) (*BackboneDeleteResp, error)

func (*PFClient) DeleteBgpPrefixes

func (c *PFClient) DeleteBgpPrefixes(prefixesUUID []string, bgpSettingsUUID string) ([]BgpPrefix, error)

func (*PFClient) DeleteBgpSession

func (c *PFClient) DeleteBgpSession(cID, cloudConnCID, bgpSettingsUUID string) (*BgpDeleteMessage, error)

This function represents the Action to Delete a single BGP Session by a Circuit ID, Cloud Connection Circuit ID and BGP Settings UUID https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_routers_bgp_delete_by_uuid

func (*PFClient) DeleteCloudConn

func (c *PFClient) DeleteCloudConn(vcCircuitID string) (*BackboneDeleteResp, error)

func (*PFClient) DeleteCloudProviderCredential added in v1.3.0

func (c *PFClient) DeleteCloudProviderCredential(cpcID string) (*CloudProviderCredentialDelResp, error)

This function represents the Action to Delete an existing Cloud Provider Credential

func (*PFClient) DeleteCloudRouter

func (c *PFClient) DeleteCloudRouter(cID string) (*CloudRouterDelResp, error)

This function represents the Action to Delete an existing Cloud Router https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_router_delete

func (*PFClient) DeleteCloudRouterConnection added in v0.4.0

func (c *PFClient) DeleteCloudRouterConnection(cID, connCid string) (*ConnectionDeleteResp, error)

func (*PFClient) DeleteCloudRouterConnectionWait added in v1.8.0

func (c *PFClient) DeleteCloudRouterConnectionWait(cID, connCid string, shouldWait bool) (*ConnectionDeleteResp, error)

func (*PFClient) DeleteCloudRouterQuickConnect added in v0.9.0

func (c *PFClient) DeleteCloudRouterQuickConnect(crCID, connCID, importCID string) (warningMessage string, err error)

func (*PFClient) DeleteCloudService

func (c *PFClient) DeleteCloudService(cloudCID string) error

func (*PFClient) DeleteFlexBandwidth added in v0.8.0

func (c *PFClient) DeleteFlexBandwidth(flexID string) (*FlexBandwidthDelResp, error)

This function represents the Action to Delete an existing Flex Bandwidth https://docs.packetfabric.com/api/v2/swagger/#/Flex%20Bandwidth/delete_flex_bandwidth

func (*PFClient) DeleteHostedMktConnection added in v0.4.0

func (c *PFClient) DeleteHostedMktConnection(vcRequestUUID string) (message string, err error)

Status can be [ pending, provisioned, rejected ] if rejected or provisioned, we skip the delete, if pending, we do the delete as you already implemented it.

func (*PFClient) DeleteLinkAggregationGroup

func (c *PFClient) DeleteLinkAggregationGroup(portCircuitID string) (*LinkAggregationGroupWorkflowResp, error)

func (*PFClient) DeleteLinkAggregationGroupMember

func (c *PFClient) DeleteLinkAggregationGroupMember(lagPortCircuitID, memberPortCircuitID string) (*LinkAggregationGroupWorkflowResp, error)

func (*PFClient) DeleteMarketPlaceService added in v0.9.0

func (c *PFClient) DeleteMarketPlaceService(mktUUID string) error

func (*PFClient) DeleteOutboundCrossConnect

func (c *PFClient) DeleteOutboundCrossConnect(circuit_id string) error

func (*PFClient) DeletePointToPointService added in v0.4.0

func (c *PFClient) DeletePointToPointService(ptpUuid string) error

func (*PFClient) DeletePort

func (c *PFClient) DeletePort(portCID string) (*PortMessageResp, error)

func (*PFClient) DeleteRequestedHostedMktService

func (c *PFClient) DeleteRequestedHostedMktService(vcRequestUUID string) error

func (*PFClient) DeleteService added in v0.4.0

func (c *PFClient) DeleteService(vcCircuitID string) (*ServiceMessage, error)

func (*PFClient) DeleteUsers added in v1.2.0

func (c *PFClient) DeleteUsers(userID string) (*UserDelResp, error)

This function represents the Action to Delete an existing User https://docs.packetfabric.com/api/v2/swagger/#/Users/user_delete_by_login

func (*PFClient) DisableLinkAggregationGroup

func (c *PFClient) DisableLinkAggregationGroup(portCircuitID string) (*LinkAggregationGroupWorkflowResp, error)

func (*PFClient) DisablePort

func (c *PFClient) DisablePort(portCID string) (*PortMessageResp, error)

func (*PFClient) DisablePortAutoneg added in v1.2.0

func (c *PFClient) DisablePortAutoneg(portCID string) (*InterfaceReadResp, error)

func (*PFClient) EnableLinkAggregationGroup

func (c *PFClient) EnableLinkAggregationGroup(portCircuitID string) (*LinkAggregationGroupWorkflowResp, error)

func (*PFClient) EnablePort

func (c *PFClient) EnablePort(portCID string) (*PortMessageResp, error)

func (*PFClient) EnablePortAutoneg added in v1.2.0

func (c *PFClient) EnablePortAutoneg(portCID string) (*InterfaceReadResp, error)

func (*PFClient) FunctionRetry added in v1.8.0

func (c *PFClient) FunctionRetry(message string, fn func() (interface{}, error), totalWait int, retryWait int) (result interface{}, err error)

func (*PFClient) GetActivityLogs

func (c *PFClient) GetActivityLogs() ([]ActivityLog, error)

func (*PFClient) GetBackboneByVcCID added in v0.4.0

func (c *PFClient) GetBackboneByVcCID(vcCID string) (*BackboneResp, error)

func (*PFClient) GetBackboneState added in v0.4.0

func (c *PFClient) GetBackboneState(vcCircuitID string) (*ServiceState, error)

func (*PFClient) GetBgpSessionBy

func (c *PFClient) GetBgpSessionBy(cID, cloudConnID, bgpSettingsUUID string) (*BgpSessionBySettingsUUID, error)

func (*PFClient) GetCloudConnInfo

func (c *PFClient) GetCloudConnInfo(cID string) (*CloudConnInfo, error)

func (*PFClient) GetCloudConnectionStatus

func (c *PFClient) GetCloudConnectionStatus(cID, connCID string) (*ServiceState, error)

func (*PFClient) GetCloudLocations added in v0.5.0

func (c *PFClient) GetCloudLocations(
	cloudProvider, cloudConnType string,
	natCapable, hasCloudRouter, anyType bool,
	pop, city, state, market, region string) ([]CloudLocation, error)

func (*PFClient) GetCloudRouterQuickConnect added in v1.6.0

func (c *PFClient) GetCloudRouterQuickConnect(crCID, connCID, importCID string) (*CloudRouterQuickConnectResp, error)

func (*PFClient) GetCloudRouterQuickConnectState added in v0.9.0

func (c *PFClient) GetCloudRouterQuickConnectState(ImportCircuitID string) (currentState string, err error)

func (*PFClient) GetCloudRouterRequests added in v0.9.0

func (c *PFClient) GetCloudRouterRequests(reqType string) ([]CloudRouterRequest, error)

func (*PFClient) GetCloudServiceStatus

func (c *PFClient) GetCloudServiceStatus(cloudCID string) (*ServiceState, error)

func (*PFClient) GetCurrentCustomersDedicated

func (c *PFClient) GetCurrentCustomersDedicated() ([]DedicatedConnResp, error)

func (*PFClient) GetCurrentCustomersHosted

func (c *PFClient) GetCurrentCustomersHosted() ([]HostedConnResp, error)

func (*PFClient) GetDocuments added in v1.6.0

func (c *PFClient) GetDocuments() ([]*Document, error)

func (*PFClient) GetEarlyTerminationLiability added in v1.6.0

func (c *PFClient) GetEarlyTerminationLiability(circuitID string) (float64, error)

func (*PFClient) GetHostedCloudConnRequestsSent

func (c *PFClient) GetHostedCloudConnRequestsSent() ([]AwsHostedMktResp, error)

func (*PFClient) GetIpsecSpecificConn added in v0.3.0

func (c *PFClient) GetIpsecSpecificConn(cID string) (*IPSecConnUpdateResponse, error)

func (*PFClient) GetLAGInterfaces

func (c *PFClient) GetLAGInterfaces(lagPortCircuitURI string) (*[]InterfaceReadResp, error)

func (*PFClient) GetLabels added in v1.2.0

func (c *PFClient) GetLabels(circuitId string) (*LabelsResponse, error)

func (*PFClient) GetLocationPortAvailability added in v0.4.0

func (c *PFClient) GetLocationPortAvailability(pop string) ([]PortAvailability, error)

func (*PFClient) GetLocationRegions added in v0.5.0

func (c *PFClient) GetLocationRegions() ([]LocationRegion, error)

func (*PFClient) GetLocationsMarkets added in v0.5.0

func (c *PFClient) GetLocationsMarkets() ([]LocationMarket, error)

func (*PFClient) GetLocationsZones added in v1.3.0

func (c *PFClient) GetLocationsZones(pop string) ([]string, error)

func (*PFClient) GetMarketPlaceService added in v0.9.0

func (c *PFClient) GetMarketPlaceService(serviceUUID string) (*MarketplaceServiceResp, error)

func (*PFClient) GetMarketPlaceServiceRouteSet added in v1.6.0

func (c *PFClient) GetMarketPlaceServiceRouteSet(serviceUUID string) (*RouteSet, error)

func (*PFClient) GetOutboundCrossConnect

func (c *PFClient) GetOutboundCrossConnect(outboundCrossConnID string) (*OutboundCrossConnectResp, error)

func (*PFClient) GetPointToPointStatus added in v0.4.0

func (c *PFClient) GetPointToPointStatus(ptpCircuitID string) (*ServiceState, error)

func (*PFClient) GetPortByCID

func (c *PFClient) GetPortByCID(portCID string) (*InterfaceReadResp, error)

func (*PFClient) GetPortDeviceInfo added in v0.5.0

func (c *PFClient) GetPortDeviceInfo(portCID string) (*PortDeviceInfo, error)

func (*PFClient) GetPortRouterLogs added in v0.5.0

func (c *PFClient) GetPortRouterLogs(portCID, timeFrom, timeTo string) ([]PortRouterLogs, error)

func (*PFClient) GetPortStatus

func (c *PFClient) GetPortStatus(portCID string) (*ServiceState, error)

func (*PFClient) GetPortVlanSummary added in v0.5.0

func (c *PFClient) GetPortVlanSummary(portCID string) (*PortVlanSummary, error)

func (*PFClient) GetRandomPositiveSeconds added in v1.8.0

func (c *PFClient) GetRandomPositiveSeconds() int

func (*PFClient) GetRandomSeconds added in v1.2.1

func (c *PFClient) GetRandomSeconds() int

func (*PFClient) GetRouterConfiguration added in v1.3.0

func (c *PFClient) GetRouterConfiguration(cloudCircuitID, routerType string) (*RouterConfig, error)

func (*PFClient) GetServices

func (c *PFClient) GetServices() ([]Services, error)

func (*PFClient) GetVCRequest added in v0.4.0

func (c *PFClient) GetVCRequest(vcUUID string) (*VcRequest, error)

func (*PFClient) GetVcRequests added in v0.4.0

func (c *PFClient) GetVcRequests() ([]VcRequest, error)

func (*PFClient) GetVcRequestsByType added in v0.4.0

func (c *PFClient) GetVcRequestsByType(reqType string) ([]VcRequest, error)

func (*PFClient) Is404 added in v1.8.0

func (c *PFClient) Is404(err error) bool

func (*PFClient) IsBackboneComplete added in v0.4.0

func (c *PFClient) IsBackboneComplete(vcCircuitID string) bool

func (*PFClient) IsCode added in v1.8.0

func (c *PFClient) IsCode(err error, code int) bool

func (*PFClient) ListAwsRouterConnections

func (c *PFClient) ListAwsRouterConnections(cID string) ([]CloudRouterConnectionReadResponse, error)

func (*PFClient) ListBgpSessions

func (c *PFClient) ListBgpSessions(cID, connCID string) ([]BgpSessionAssociatedResp, error)

This function represents the Action to Return a list of Bgp settings instances associated with the current Account. https://docs.packetfabric.com/api/v2/redoc/#operation/bgp_session_settings_list

func (*PFClient) ListCloudRouters

func (c *PFClient) ListCloudRouters() ([]CloudRouterResponse, error)

This function represents the Action to retrieve the list of existing Cloud Routers https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_routers_list

func (*PFClient) ListLocations

func (c *PFClient) ListLocations() ([]Location, error)

func (*PFClient) ListLocationsIpsecCapable added in v1.6.0

func (c *PFClient) ListLocationsIpsecCapable() ([]Location, error)

func (*PFClient) ListOutboundCrossConnects added in v1.6.0

func (c *PFClient) ListOutboundCrossConnects() (*[]OutboundCrossConnectResp, error)

func (*PFClient) ListPointToPoints added in v1.6.0

func (c *PFClient) ListPointToPoints() (*[]PointToPointResp, error)

func (*PFClient) ListPorts

func (c *PFClient) ListPorts() (*[]InterfaceReadResp, error)

func (*PFClient) ModifyBilling added in v0.5.0

func (c *PFClient) ModifyBilling(cID string, billing BillingUpgrade) (*BillingUpgradeResp, error)

func (*PFClient) ReadBgpSession

func (c *PFClient) ReadBgpSession(bgpSetUUID string) ([]BgpSessionAssociatedResp, error)

This function represents the Action to Retrieve a list of Bgp Sessions by Bgp Settings UUID https://docs.packetfabric.com/api/v2/redoc/#operation/bgp_prefixes_list

func (*PFClient) ReadBgpSessionPrefixes

func (c *PFClient) ReadBgpSessionPrefixes(bgpSettingsUUID string) ([]BgpPrefix, error)

func (*PFClient) ReadCloudProviderCredential added in v1.3.0

func (c *PFClient) ReadCloudProviderCredential(cpcID string) (*CloudProviderCredentialResponse, error)

This function represents the Action to Read an existing Cloud Provider Credential

func (*PFClient) ReadCloudRouter

func (c *PFClient) ReadCloudRouter(cID string) (*CloudRouterResponse, error)

This function represents the Action to Retrieve an existing Cloud Router by Circut ID https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_router_get

func (*PFClient) ReadCloudRouterConnection added in v1.1.0

func (c *PFClient) ReadCloudRouterConnection(cID, connCid string) (*CloudRouterConnectionReadResponse, error)

func (*PFClient) ReadFlexBandwidth added in v0.8.0

func (c *PFClient) ReadFlexBandwidth(flexID string) (*FlexBandwidthResponse, error)

This function represents the Action to Retrieve an existing Flex Bandwidth by ID https://docs.packetfabric.com/api/v2/swagger/#/Flex%20Bandwidth/get_flex_bandwidth_by_id

func (*PFClient) ReadPointToPoint added in v1.1.0

func (c *PFClient) ReadPointToPoint(ptpCircuitID string) (*PointToPointResp, error)

func (*PFClient) ReadUsers added in v1.2.0

func (c *PFClient) ReadUsers(userID string) (*UserResponse, error)

This function represents the Action to Retrieve an existing User by ID https://docs.packetfabric.com/api/v2/swagger/#/Users/user_get_by_login

func (*PFClient) RejectCloudRouterService added in v0.9.0

func (c *PFClient) RejectCloudRouterService(importCircuitID, rejectionReason string) (*ServiceRejectionReson, error)

func (*PFClient) RejectServiceRequest added in v0.4.0

func (c *PFClient) RejectServiceRequest(vcRequestUUID string) (*VcRequest, error)

func (*PFClient) RequestHostedOracleMktConn added in v0.4.0

func (c *PFClient) RequestHostedOracleMktConn(oracleService CloudServiceOracle) (*VcRequest, error)

func (*PFClient) RequestNewHostedOracleConn added in v0.4.0

func (c *PFClient) RequestNewHostedOracleConn(oracleHosted CloudServiceOracleConn) (*CloudServiceOracleConnResp, error)

func (*PFClient) RequestServiceProvision added in v0.4.0

func (c *PFClient) RequestServiceProvision(vcRequestUUID, reqType string, provisionReq ServiceProvision) (*MktConnProvisionResp, error)

func (*PFClient) Retry added in v1.8.0

func (c *PFClient) Retry(message string, fn func() (interface{}, error)) (result interface{}, err error)

func (*PFClient) SendPortLoa added in v0.5.0

func (c *PFClient) SendPortLoa(portCID string, portLoa PortLoa) (*PortLoaResp, error)

func (*PFClient) UpdateBgpSession

func (c *PFClient) UpdateBgpSession(bgpSession BgpSession, cID, connCID string) (*http.Response, *BgpSessionCreateResp, error)

This function represents the Action to Update a given Cloud Router BGP session https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_routers_bgp_update

func (*PFClient) UpdateCloudProviderCredential added in v1.3.0

func (c *PFClient) UpdateCloudProviderCredential(creds CloudProviderCredentialUpdate, cpcID string) (*CloudProviderCredentialResponse, error)

This function represents the Action tp update an existing Cloud Provider Credential

func (*PFClient) UpdateCloudRouter

func (c *PFClient) UpdateCloudRouter(router CloudRouterUpdate, cID string) (*CloudRouterResponse, error)

This function represents the Action tp update an existing Cloud Router https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_routers_patch

func (*PFClient) UpdateCloudRouterConnection added in v0.4.0

func (c *PFClient) UpdateCloudRouterConnection(cID, connCid string, cloudRouterUpdateData CloudRouterUpdateData) (*CloudRouterConnectionReadResponse, error)

func (*PFClient) UpdateCloudRouterQuickConnect added in v0.9.0

func (c *PFClient) UpdateCloudRouterQuickConnect(crCID, connCID, importCID string, quickConnect CloudRouterQuickConnectUpdate) (err error)

func (*PFClient) UpdateIPSecConnection added in v0.3.0

func (c *PFClient) UpdateIPSecConnection(cID string, ipSecUpdate IPSecConnUpdate) (*IPSecConnUpdateResponse, error)

func (*PFClient) UpdateLabel added in v1.2.0

func (c *PFClient) UpdateLabel(circuitId string, labelsData LabelsPayload) (*LabelsResponse, error)

func (*PFClient) UpdateLinkAggregationGroup

func (c *PFClient) UpdateLinkAggregationGroup(portCircuitID string, description string, interval string) (*LinkAggregationGroupCreateResp, error)

func (*PFClient) UpdateMarketPlaceConnection added in v0.9.0

func (c *PFClient) UpdateMarketPlaceConnection(crCircuitID, routeSetCircuitID string, circuitIDs ConnectionCircuitIDs) error

func (*PFClient) UpdateMarketPlaceService added in v0.9.0

func (c *PFClient) UpdateMarketPlaceService(serviceUUID string, service MarketplaceService) error

func (*PFClient) UpdateMarketPlaceServiceRouteSet added in v0.9.0

func (c *PFClient) UpdateMarketPlaceServiceRouteSet(crCircuitID, routeSetCircuitID string, service MarketplaceServiceRouteSet) error

func (*PFClient) UpdateOutboundCrossConnect

func (c *PFClient) UpdateOutboundCrossConnect(outboundCrossConnID, userDesc string) error

func (*PFClient) UpdatePointToPoint added in v0.4.0

func (c *PFClient) UpdatePointToPoint(ptpUuid string, updatePointToPointData UpdatePointToPointData) (*PointToPointResp, error)

func (*PFClient) UpdatePort

func (c *PFClient) UpdatePort(portCID string, portUpdateData PortUpdate) (*InterfaceReadResp, error)

func (*PFClient) UpdateServiceDedicatedConn added in v1.0.0

func (c *PFClient) UpdateServiceDedicatedConn(cloudCID string, updateServiceConnData UpdateServiceConn) (*CloudServiceConnCreateResp, error)

func (*PFClient) UpdateServiceHostedConn added in v1.0.0

func (c *PFClient) UpdateServiceHostedConn(cloudCID string, updateServiceConnData UpdateServiceConn) (*CloudServiceConnCreateResp, error)

func (*PFClient) UpdateServiceSettings added in v0.4.0

func (c *PFClient) UpdateServiceSettings(vcCID string, serviceSettings ServiceSettingsUpdate) (*BackboneResp, error)

func (*PFClient) UpdateUser added in v1.2.0

func (c *PFClient) UpdateUser(user UserUpdate, userID string) (*UserResponse, error)

This function represents the Action to update an existing User https://docs.packetfabric.com/api/v2/swagger/#/Users/user_patch

func (*PFClient) UserPasswordUpdate added in v1.2.0

func (c *PFClient) UserPasswordUpdate(userID string, oldPassword string, newPassword string) (*UserDelResp, error)

This function represents the Action to update user's password https://docs.packetfabric.com/api/v2/swagger/#/Users/user_update_password

func (*PFClient) WaitDeleteCloudRouterConnection added in v1.8.0

func (c *PFClient) WaitDeleteCloudRouterConnection(cID, connCid string) (state *ServiceState, err error)

func (*PFClient) WaitDeleteCloudService added in v1.8.0

func (c *PFClient) WaitDeleteCloudService(vcRequestUUID string) (state *ServiceState, err error)

type PointToPoint added in v0.4.0

type PointToPoint struct {
	Description            string      `json:"description,omitempty"`
	Speed                  string      `json:"speed,omitempty"`
	Media                  string      `json:"media,omitempty"`
	Endpoints              []Endpoints `json:"endpoints,omitempty"`
	AccountUUID            string      `json:"account_uuid,omitempty"`
	SubscriptionTerm       int         `json:"subscription_term,omitempty"`
	PublishedQuoteLineUUID string      `json:"published_quote_line_uuid,omitempty"`
	PONumber               string      `json:"po_number,omitempty"`
}

type PointToPointResp added in v0.4.0

type PointToPointResp struct {
	PtpUUID      string       `json:"ptp_uuid,omitempty"`
	PtpCircuitID string       `json:"ptp_circuit_id,omitempty"`
	Description  string       `json:"description,omitempty"`
	Speed        string       `json:"speed,omitempty"`
	Media        string       `json:"media,omitempty"`
	State        string       `json:"state,omitempty"`
	Billing      Billing      `json:"billing,omitempty"`
	TimeCreated  string       `json:"time_created,omitempty"`
	TimeUpdated  string       `json:"time_updated,omitempty"`
	Deleted      bool         `json:"deleted,omitempty"`
	ServiceClass string       `json:"service_class,omitempty"`
	Interfaces   []Interfaces `json:"interfaces,omitempty"`
	PONumber     string       `json:"po_number,omitempty"`
}

type PortAvailability added in v0.4.0

type PortAvailability struct {
	Zone    string `json:"zone,omitempty"`
	Speed   string `json:"speed,omitempty"`
	Media   string `json:"media,omitempty"`
	Count   int    `json:"count,omitempty"`
	Partial bool   `json:"partial,omitempty"`
	Enni    bool   `json:"enni,omitempty"`
}

type PortDeviceInfo added in v0.5.0

type PortDeviceInfo struct {
	AdjacentRouter              interface{}                   `json:"adjacent_router,omitempty"`
	DeviceName                  string                        `json:"device_name,omitempty"`
	DeviceMake                  string                        `json:"device_make,omitempty"`
	AdminStatus                 string                        `json:"admin_status,omitempty"`
	OperStatus                  string                        `json:"oper_status,omitempty"`
	AutoNegotiation             bool                          `json:"auto_negotiation,omitempty"`
	IfaceName                   string                        `json:"iface_name,omitempty"`
	Speed                       string                        `json:"speed,omitempty"`
	OpticsDiagnosticsLaneValues []OpticsDiagnosticsLaneValues `json:"optics_diagnostics_lane_values,omitempty"`
	Polltime                    interface{}                   `json:"polltime,omitempty"`
	TimeFlapped                 string                        `json:"time_flapped,omitempty"`
	TrafficRxBps                int                           `json:"traffic_rx_bps,omitempty"`
	TrafficRxBytes              int                           `json:"traffic_rx_bytes,omitempty"`
	TrafficRxIpv6Bytes          int                           `json:"traffic_rx_ipv6_bytes,omitempty"`
	TrafficRxIpv6Packets        int                           `json:"traffic_rx_ipv6_packets,omitempty"`
	TrafficRxPackets            int                           `json:"traffic_rx_packets,omitempty"`
	TrafficRxPps                int                           `json:"traffic_rx_pps,omitempty"`
	TrafficTxBps                int                           `json:"traffic_tx_bps,omitempty"`
	TrafficTxBytes              int                           `json:"traffic_tx_bytes,omitempty"`
	TrafficTxIpv6Bytes          int                           `json:"traffic_tx_ipv6_bytes,omitempty"`
	TrafficTxIpv6Packets        int                           `json:"traffic_tx_ipv6_packets,omitempty"`
	TrafficTxPackets            int                           `json:"traffic_tx_packets,omitempty"`
	TrafficTxPps                int                           `json:"traffic_tx_pps,omitempty"`
	WiringMedia                 string                        `json:"wiring_media,omitempty"`
	WiringModule                string                        `json:"wiring_module,omitempty"`
	WiringPanel                 string                        `json:"wiring_panel,omitempty"`
	WiringPosition              string                        `json:"wiring_position,omitempty"`
	WiringReach                 string                        `json:"wiring_reach,omitempty"`
	WiringType                  string                        `json:"wiring_type,omitempty"`
	LagSpeed                    int                           `json:"lag_speed,omitempty"`
	DeviceCanLag                bool                          `json:"device_can_lag,omitempty"`
}

type PortLoa added in v0.5.0

type PortLoa struct {
	LoaCustomerName  string `json:"loa_customer_name,omitempty"`
	DestinationEmail string `json:"destination_email,omitempty"`
}

type PortLoaResp added in v0.5.0

type PortLoaResp struct {
	UUID        string `json:"uuid,omitempty"`
	Name        string `json:"name,omitempty"`
	Type        string `json:"type,omitempty"`
	Description string `json:"description,omitempty"`
	MimeType    string `json:"mime_type,omitempty"`
	Size        int    `json:"size,omitempty"`
	TimeCreated string `json:"time_created,omitempty"`
	TimeUpdated string `json:"time_updated,omitempty"`
}

type PortMessageResp

type PortMessageResp struct {
	Message string `json:"message"`
}

type PortRouterLogs added in v0.5.0

type PortRouterLogs struct {
	DeviceName   string `json:"device_name,omitempty"`
	IfaceName    string `json:"iface_name,omitempty"`
	Message      string `json:"message,omitempty"`
	Severity     int    `json:"severity,omitempty"`
	SeverityName string `json:"severity_name,omitempty"`
	Timestamp    string `json:"timestamp,omitempty"`
}

type PortUpdate added in v1.2.0

type PortUpdate struct {
	Description string `json:"description"`
	PONumber    string `json:"po_number,omitempty"`
}

type PortVlanSummary added in v0.5.0

type PortVlanSummary struct {
	LowestAvailableVlan int `json:"lowest_available_vlan,omitempty"`
	MaxVlan             int `json:"max_vlan,omitempty"`
}

type ProductDetails

type ProductDetails struct {
	ProductID      int         `json:"product_id"`
	Name           string      `json:"name"`
	VcType         string      `json:"vc_type"`
	VcServiceClass string      `json:"vc_service_class"`
	BundleType     string      `json:"bundle_type"`
	ActiveDate     string      `json:"active_date"`
	EndDate        interface{} `json:"end_date"`
	TranslationID  int         `json:"translation_id"`
}

type Progress

type Progress struct {
	Position int `json:"position"`
	Steps    int `json:"steps"`
}

type QuickConnectImportFilters added in v0.9.0

type QuickConnectImportFilters struct {
	Prefix          string `json:"prefix,omitempty"`
	MatchType       string `json:"match_type,omitempty"`
	LocalPreference int    `json:"local_preference,omitempty"`
}

type QuickConnectReturnFilters added in v0.9.0

type QuickConnectReturnFilters struct {
	Prefix          string `json:"prefix,omitempty"`
	MatchType       string `json:"match_type,omitempty"`
	AsPrepend       int    `json:"as_prepend,omitempty"`
	Med             int    `json:"med,omitempty"`
	LocalPreference int    `json:"local_preference,omitempty"`
	PendingApproval bool   `json:"pending_approval,omitempty"`
}

type Region

type Region struct {
	Name string `json:"name"`
	Code string `json:"code"`
}

This struct represents a Cloud Router Region https://docs.packetfabric.com/api/v2/redoc/#operation/cloud_routers_create

type ReturnFilters added in v0.9.0

type ReturnFilters struct {
	Prefix          string `json:"prefix,omitempty"`
	MatchType       string `json:"match_type,omitempty"`
	Asprepend       int    `json:"as_prepend,omitempty"`
	Med             int    `json:"med,omitempty"`
	PendingApproval bool   `json:"pending_approval,omitempty"`
}

type RouteSet added in v0.9.0

type RouteSet struct {
	CircuitID   string                      `json:"circuit_id,omitempty"`
	Description string                      `json:"description,omitempty"`
	IsPrivate   bool                        `json:"is_private"`
	Prefixes    []QuickConnectImportFilters `json:"prefixes,omitempty"` // QuickConnectImportFilters defined in cloud_router_quick_connect.go
}

type RouterConfig added in v1.3.0

type RouterConfig struct {
	CloudCircuitID string `json:"cloud_circuit_id"`
	RouterType     string `json:"router_type"`
	RouterConfig   string `json:"router_config"`
}

type ServiceAws

type ServiceAws struct {
	RoutingID    string `json:"routing_id,omitempty"`
	Market       string `json:"market,omitempty"`
	Description  string `json:"description,omitempty"`
	AwsAccountID string `json:"aws_account_id,omitempty"`
	AccountUUID  string `json:"account_uuid,omitempty"`
	Pop          string `json:"pop,omitempty"`
	Zone         string `json:"zone,omitempty"`
	Speed        string `json:"speed,omitempty"`
}

type ServiceAwsInterf

type ServiceAwsInterf struct {
	PortCircuitID string `json:"port_circuit_id,omitempty"`
	Vlan          int    `json:"vlan,omitempty"`
	VlanPrivate   int    `json:"vlan_private,omitempty"`
	VlanMicrosoft int    `json:"vlan_microsoft,omitempty"`
}

type ServiceAwsMktConn

type ServiceAwsMktConn struct {
	Provider    string           `json:"provider"`
	Interface   ServiceAwsInterf `json:"interface"`
	Description string           `json:"description"`
}

type ServiceInterface

type ServiceInterface struct {
	TimeCreated        string `json:"time_created,omitempty"`
	TimeUpdated        string `json:"time_updated,omitempty"`
	PortCircuitID      string `json:"port_circuit_id,omitempty"`
	Pop                string `json:"pop,omitempty"`
	Site               string `json:"site,omitempty"`
	SiteName           string `json:"site_name,omitempty"`
	Speed              string `json:"speed,omitempty"`
	Media              string `json:"media,omitempty"`
	Zone               string `json:"zone,omitempty"`
	Description        string `json:"description,omitempty"`
	Vlan               int    `json:"vlan,omitempty"`
	Untagged           bool   `json:"untagged,omitempty"`
	Svlan              int    `json:"svlan,omitempty"`
	ProvisioningStatus string `json:"provisioning_status,omitempty"`
	AdminStatus        string `json:"admin_status,omitempty"`
	OperationalStatus  string `json:"operational_status,omitempty"`
	CustomerName       string `json:"customer_name,omitempty"`
	CustomerUUID       string `json:"customer_uuid,omitempty"`
	Region             string `json:"region,omitempty"`
	IsCloud            bool   `json:"is_cloud,omitempty"`
	IsPtp              bool   `json:"is_ptp,omitempty"`
}

type ServiceMessage added in v0.4.0

type ServiceMessage struct {
	Message string `json:"message"`
}

type ServiceProvision added in v0.4.0

type ServiceProvision struct {
	Provider    string    `json:"provider,omitempty"`
	Interface   Interface `json:"interface,omitempty"`
	Description string    `json:"description,omitempty"`
}

type ServiceRejectionReson added in v0.9.0

type ServiceRejectionReson struct {
	RejectionReason string `json:"rejection_reason"`
}

type ServiceSettingsUpdate added in v0.4.0

type ServiceSettingsUpdate struct {
	RateLimitIn  int          `json:"rate_limit_in,omitempty"`
	RateLimitOut int          `json:"rate_limit_out,omitempty"`
	Description  string       `json:"description,omitempty"`
	Interfaces   []Interfaces `json:"interfaces,omitempty"`
	PONumber     string       `json:"po_number,omitempty"`
}

type ServiceState

type ServiceState struct {
	CircuitID string `json:"circuit_id"`
	Status    Status `json:"status"`
}

type Services

type Services struct {
	VcCircuitID     string             `json:"vc_circuit_id,omitempty"`
	State           string             `json:"state,omitempty"`
	ServiceType     string             `json:"service_type,omitempty"`
	ServiceClass    string             `json:"service_class,omitempty"`
	Mode            string             `json:"mode,omitempty"`
	Connected       bool               `json:"connected,omitempty"`
	Bandwidth       Bandwidth          `json:"bandwidth,omitempty"`
	Description     string             `json:"description,omitempty"`
	TimeCreated     string             `json:"time_created,omitempty"`
	TimeUpdated     string             `json:"time_updated,omitempty"`
	FlexBandwidthID string             `json:"flex_bandwidth_id,omitempty"`
	AccountUUID     string             `json:"account_uuid,omitempty"`
	RateLimitIn     int                `json:"rate_limit_in,omitempty"`
	RateLimitOut    int                `json:"rate_limit_out,omitempty"`
	CustomerUUID    string             `json:"customer_uuid,omitempty"`
	Interfaces      []ServiceInterface `json:"interfaces,omitempty"`
}

type Settings

type Settings struct {
	VlanIDPf                 int         `json:"vlan_id_pf,omitempty"`
	VlanIDCust               int         `json:"vlan_id_cust,omitempty"`
	SvlanIDCust              interface{} `json:"svlan_id_cust,omitempty"`
	VlanPrivate              int         `json:"vlan_id_private,omitempty"`
	VlanMicrosoft            int         `json:"vlan_id_microsoft,omitempty"`
	VcIDPrivate              int         `json:"vc_id_private,omitempty"`
	SvlanIDCustomer          interface{} `json:"svlan_id_customer,omitempty"`
	AzureServiceKey          string      `json:"azure_service_key,omitempty"`
	AzureServiceTag          int         `json:"azure_service_tag,omitempty"`
	AzureEncapsulation       string      `json:"encapsulation,omitempty"`
	GooglePairingKey         string      `json:"google_pairing_key,omitempty"`
	GoogleVlanAttachmentName string      `json:"google_vlan_attachment_name,omitempty"`
	AwsRegion                string      `json:"aws_region,omitempty"`
	AwsHostedType            string      `json:"aws_hosted_type,omitempty"`
	AwsConnectionID          string      `json:"aws_connection_id,omitempty"`
	AwsAccountID             string      `json:"aws_account_id,omitempty"`
	ZoneDest                 string      `json:"zone_dest,omitempty"`
	Autoneg                  bool        `json:"autoneg,omitempty"`
	OracleRegion             string      `json:"oracle_region,omitempty"`
	VcOcid                   string      `json:"vc_ocid,omitempty"`
	PortCrossConnectOcid     string      `json:"port_cross_connect_ocid,omitempty"`
	PortCompartmentOcid      string      `json:"port_compartment_ocid,omitempty"`
	AccountID                string      `json:"account_id,omitempty"`
	GatewayID                string      `json:"gateway_id,omitempty"`
	PortID                   string      `json:"port_id,omitempty"`
	Name                     string      `json:"name,omitempty"`
	BgpAsn                   int         `json:"bgp_asn,omitempty"`
	BgpCerCidr               string      `json:"bgp_cer_cidr,omitempty"`
	BgpIbmCidr               string      `json:"bgp_ibm_cidr,omitempty"`
}

type States

type States struct {
	State       string `json:"state"`
	Description string `json:"description"`
}

type Status

type Status struct {
	Object       Object       `json:"object"`
	Current      Current      `json:"current"`
	LastWorkflow LastWorkflow `json:"last_workflow"`
}

type StreamData added in v1.4.0

type StreamData struct {
	Type   string   `json:"type"`
	Events []string `json:"events"`
	VCS    []string `json:"vcs,omitempty"`
	IFDs   []string `json:"ifds,omitempty"`
}

type StreamingEventData added in v1.4.0

type StreamingEventData struct {
	User         string `json:"user"`
	LogLevel     string `json:"log_level"`
	Category     string `json:"category"`
	Event        string `json:"event"`
	Message      string `json:"message"`
	TimeStamp    string `json:"timestamp"`
	Lag          string `json:"lag,omitempty"`
	WorkflowID   string `json:"workflow_id,omitempty"`
	LagCircuitID string `json:"lag_circuit_id,omitempty"`
	CircuitID    string `json:"circuit_id,omitempty"`
}

type StreamingEventsCreateResponse added in v1.4.0

type StreamingEventsCreateResponse struct {
	SubscriptionUUID string `json:"subscription_uuid"`
}

type StreamingEventsGetResponse added in v1.4.0

type StreamingEventsGetResponse struct {
	Event string              `json:"event"`
	Data  *StreamingEventData `json:"data"`
}

type StreamingEventsPayload added in v1.4.0

type StreamingEventsPayload struct {
	Streams []StreamData `json:"streams"`
}

type Term

type Term struct {
	StartDate         string      `json:"start_date"`
	Months            int         `json:"months"`
	TerminationDate   interface{} `json:"termination_date"`
	CommitmentEndDate string      `json:"commitment_end_date"`
}

type ThirdPartyVC added in v0.4.0

type ThirdPartyVC struct {
	RoutingID       string    `json:"routing_id,omitempty"`
	Market          string    `json:"market,omitempty"`
	Description     string    `json:"description,omitempty"`
	RateLimitIn     int       `json:"rate_limit_in,omitempty"`
	RateLimitOut    int       `json:"rate_limit_out,omitempty"`
	Bandwidth       Bandwidth `json:"bandwidth,omitempty"`
	Interface       Interface `json:"interface,omitempty"`
	ServiceUUID     string    `json:"service_uuid,omitempty"`
	FlexBandwidthID string    `json:"flex_bandwidth_id,omitempty"`
}

type ToCustomer

type ToCustomer struct {
	CustomerUUID      string `json:"customer_uuid,omitempty"`
	Name              string `json:"name,omitempty"`
	Market            string `json:"market,omitempty"`
	MarketDescription string `json:"market_description,omitempty"`
}

type UpdatePointToPointData added in v1.2.0

type UpdatePointToPointData struct {
	Description string `json:"description"`
	PONumber    string `json:"po_number,omitempty"`
}

type UpdateServiceConn added in v1.0.0

type UpdateServiceConn struct {
	Description   string         `json:"description,omitempty"`
	PONumber      string         `json:"po_number,omitempty"`
	CloudSettings *CloudSettings `json:"cloud_settings,omitempty"`
}

type User added in v1.2.0

type User struct {
	FirstName string `json:"first_name"`
	LastName  string `json:"last_name"`
	Email     string `json:"email"`
	Phone     string `json:"phone"`
	Login     string `json:"login"`
	Password  string `json:"password"`
	Timezone  string `json:"timezone"`
	Group     string `json:"group"`
}

This struct represents a User https://docs.packetfabric.com/api/v2/swagger/#/Users/user_post

type UserDelResp added in v1.2.0

type UserDelResp struct {
	Message string `json:"message"`
}

This struct represents a User delete response https://docs.packetfabric.com/api/v2/swagger/#/Users/user_delete_by_login

type UserResponse added in v1.2.0

type UserResponse struct {
	UUID                string `json:"uuid"`
	FirstName           string `json:"first_name"`
	LastName            string `json:"last_name"`
	Phone               string `json:"phone"`
	Timezone            string `json:"timezone"`
	Email               string `json:"email"`
	Login               string `json:"login"`
	Group               string `json:"group"`
	MFAEnabled          bool   `json:"mfa_enabled"`
	TimeLastLogin       string `json:"time_last_login,omitempty"`
	ResetPasswordBefore string `json:"reset_password_before,omitempty"`
}

This struct represents a User response https://docs.packetfabric.com/api/v2/swagger/#/Users/user_post

type UserUpdate added in v1.2.0

type UserUpdate struct {
	FirstName string `json:"first_name"`
	LastName  string `json:"last_name"`
	Phone     string `json:"phone"`
	Login     string `json:"login"`
	Timezone  string `json:"timezone"`
	Group     string `json:"group"`
}

type VcRequest added in v0.4.0

type VcRequest struct {
	VcRequestUUID   string       `json:"vc_request_uuid,omitempty"`
	VcCircuitID     string       `json:"vc_circuit_id,omitempty"`
	FromCustomer    FromCustomer `json:"from_customer,omitempty"`
	ToCustomer      ToCustomer   `json:"to_customer,omitempty"`
	Status          string       `json:"status,omitempty"`
	RequestType     string       `json:"request_type,omitempty"`
	Text            string       `json:"text,omitempty"`
	Bandwidth       Bandwidth    `json:"bandwidth,omitempty"`
	RateLimitIn     int          `json:"rate_limit_in,omitempty"`
	RateLimitOut    int          `json:"rate_limit_out,omitempty"`
	ServiceName     string       `json:"service_name,omitempty"`
	AllowUntaggedZ  bool         `json:"allow_untagged_z,omitempty"`
	FlexBandwidthID string       `json:"flex_bandwidth_id,omitempty"`
	TimeCreated     string       `json:"time_created,omitempty"`
	TimeUpdated     string       `json:"time_updated,omitempty"`
}

Jump to

Keyboard shortcuts

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