Skip to content

Latest commit

 

History

History
630 lines (588 loc) · 43 KB

README.md

File metadata and controls

630 lines (588 loc) · 43 KB

Go API client for fabricv4

Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: 4.13
  • Package version: 0.39.0
  • Generator version: 7.4.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://equinix.com/about/

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import fabricv4 "github.com/equinix/equinix-sdk-go/services/fabricv4"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value fabricv4.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), fabricv4.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value fabricv4.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), fabricv4.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using fabricv4.ContextOperationServerIndices and fabricv4.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), fabricv4.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), fabricv4.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to https://api.equinix.com

Class Method HTTP request Description
CloudRoutersApi CreateCloudRouter Post /fabric/v4/routers Create Routers
CloudRoutersApi CreateCloudRouterAction Post /fabric/v4/routers/{routerId}/actions Route table actions
CloudRoutersApi DeleteCloudRouterByUuid Delete /fabric/v4/routers/{routerId} Delete Routers
CloudRoutersApi GetCloudRouterActions Get /fabric/v4/routers/{routerId}/actions Get actions
CloudRoutersApi GetCloudRouterByUuid Get /fabric/v4/routers/{routerId} Get Routers
CloudRoutersApi GetCloudRouterPackageByCode Get /fabric/v4/routerPackages/{routerPackageCode} Get Package Details
CloudRoutersApi GetCloudRouterPackages Get /fabric/v4/routerPackages List Packages
CloudRoutersApi SearchCloudRouterRoutes Post /fabric/v4/routers/{routerId}/routes/search Search Route Table
CloudRoutersApi SearchCloudRouters Post /fabric/v4/routers/search Search Routers
CloudRoutersApi UpdateCloudRouterByUuid Patch /fabric/v4/routers/{routerId} Update Routers
ConnectionsApi CreateConnection Post /fabric/v4/connections Create Connection
ConnectionsApi CreateConnectionAction Post /fabric/v4/connections/{connectionId}/actions Connection Actions
ConnectionsApi DeleteConnectionByUuid Delete /fabric/v4/connections/{connectionId} Delete by ID
ConnectionsApi GetConnectionByUuid Get /fabric/v4/connections/{connectionId} Get Connection by ID
ConnectionsApi SearchConnections Post /fabric/v4/connections/search Search connections
ConnectionsApi UpdateConnectionByUuid Patch /fabric/v4/connections/{connectionId} Update by ID
ConnectionsApi ValidateConnections Post /fabric/v4/connections/validate Validate Connection
HealthApi GetStatus Get /fabric/v4/health Get service status
MetrosApi GetMetroByCode Get /fabric/v4/metros/{metroCode} Get Metro by Code
MetrosApi GetMetros Get /fabric/v4/metros Get all Metros
NetworksApi CreateNetwork Post /fabric/v4/networks Create Network
NetworksApi DeleteNetworkByUuid Delete /fabric/v4/networks/{networkId} Delete Network By ID
NetworksApi GetConnectionsByNetworkUuid Get /fabric/v4/networks/{networkId}/connections Get Connections
NetworksApi GetNetworkByUuid Get /fabric/v4/networks/{networkId} Get Network By ID
NetworksApi GetNetworkChangeByUuid Get /fabric/v4/networks/{networkId}/changes/{changeId} Get Change By ID
NetworksApi GetNetworkChanges Get /fabric/v4/networks/{networkId}/changes Get Network Changes
NetworksApi SearchNetworks Post /fabric/v4/networks/search Search Network
NetworksApi UpdateNetworkByUuid Patch /fabric/v4/networks/{networkId} Update Network By ID
PortsApi AddToLag Post /fabric/v4/ports/{portId}/physicalPorts/bulk Add to Lag
PortsApi CreateBulkPort Post /fabric/v4/ports/bulk Create Port
PortsApi CreatePort Post /fabric/v4/ports Create Port
PortsApi GetPortByUuid Get /fabric/v4/ports/{portId} Get Port by uuid
PortsApi GetPorts Get /fabric/v4/ports Get All Ports
PortsApi GetVlans Get /fabric/v4/ports/{portUuid}/linkProtocols Get Vlans
PortsApi SearchPorts Post /fabric/v4/ports/search Search ports
PrecisionTimeApi CreateTimeServices Post /fabric/v4/timeServices Create Time Service
PrecisionTimeApi DeleteTimeServiceById Delete /fabric/v4/timeServices/{serviceId} Delete time service
PrecisionTimeApi GetTimeServicesById Get /fabric/v4/timeServices/{serviceId} Get Time Service
PrecisionTimeApi GetTimeServicesConnectionsByServiceId Get /fabric/v4/timeServices/{serviceId}/connections Get Connection Links
PrecisionTimeApi GetTimeServicesPackageByCode Get /fabric/v4/timeServicePackages/{packageCode} Get Package By Code
PrecisionTimeApi GetTimeServicesPackages Get /fabric/v4/timeServicePackages Get Packages
PrecisionTimeApi UpdateTimeServicesById Patch /fabric/v4/timeServices/{serviceId} Patch time service
PricesApi SearchPrices Post /fabric/v4/prices/search Get Prices
RouteFilterRulesApi CreateRouteFilterRule Post /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules Create RFRule
RouteFilterRulesApi CreateRouteFilterRulesInBulk Post /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk Bulk RFRules
RouteFilterRulesApi DeleteRouteFilterRuleByUuid Delete /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} DeleteRFRule
RouteFilterRulesApi GetRouteFilterRuleByUuid Get /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} GetRFRule By UUID
RouteFilterRulesApi GetRouteFilterRuleChangeByUuid Get /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId} Get Change By ID
RouteFilterRulesApi GetRouteFilterRuleChanges Get /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes Get All Changes
RouteFilterRulesApi GetRouteFilterRules Get /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules GetRFRules
RouteFilterRulesApi PatchRouteFilterRuleByUuid Patch /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} PatchRFilterRule
RouteFilterRulesApi ReplaceRouteFilterRuleByUuid Put /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} ReplaceRFRule
RouteFiltersApi AttachConnectionRouteFilter Put /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} Attach Route Filter
RouteFiltersApi CreateRouteFilter Post /fabric/v4/routeFilters Create Route Filters
RouteFiltersApi DeleteRouteFilterByUuid Delete /fabric/v4/routeFilters/{routeFilterId} Delete Route Filter
RouteFiltersApi DetachConnectionRouteFilter Delete /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} Detach Route Filter
RouteFiltersApi GetConnectionRouteFilterByUuid Get /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} Get Route Filter
RouteFiltersApi GetConnectionRouteFilters Get /fabric/v4/connections/{connectionId}/routeFilters Get All RouteFilters
RouteFiltersApi GetRouteFilterByUuid Get /fabric/v4/routeFilters/{routeFilterId} Get Filter By UUID
RouteFiltersApi GetRouteFilterChangeByUuid Get /fabric/v4/routeFilters/{routeFilterId}/changes/{changeId} Get Change By ID
RouteFiltersApi GetRouteFilterChanges Get /fabric/v4/routeFilters/{routeFilterId}/changes Get All Changes
RouteFiltersApi GetRouteFilterConnections Get /fabric/v4/routeFilters/{routeFilterId}/connections Get Connections
RouteFiltersApi PatchRouteFilterByUuid Patch /fabric/v4/routeFilters/{routeFilterId} Patch Route Filter
RouteFiltersApi SearchRouteFilters Post /fabric/v4/routeFilters/search Search Route Filters
RoutingProtocolsApi CreateConnectionRoutingProtocol Post /fabric/v4/connections/{connectionId}/routingProtocols Create Protocol
RoutingProtocolsApi CreateConnectionRoutingProtocolsInBulk Post /fabric/v4/connections/{connectionId}/routingProtocols/bulk Bulk Create Protocol
RoutingProtocolsApi DeleteConnectionRoutingProtocolByUuid Delete /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} Delete Protocol
RoutingProtocolsApi GetConnectionRoutingProtocolAllBgpActions Get /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions Get BGP Actions
RoutingProtocolsApi GetConnectionRoutingProtocolByUuid Get /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} Get Protocol
RoutingProtocolsApi GetConnectionRoutingProtocols Get /fabric/v4/connections/{connectionId}/routingProtocols GetRoutingProtocols
RoutingProtocolsApi GetConnectionRoutingProtocolsBgpActionByUuid Get /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions/{actionId} Get BGP Action
RoutingProtocolsApi GetConnectionRoutingProtocolsChangeByUuid Get /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes/{changeId} Get Change By ID
RoutingProtocolsApi GetConnectionRoutingProtocolsChanges Get /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes Get Changes
RoutingProtocolsApi PatchConnectionRoutingProtocolByUuid Patch /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} Patch Protocol
RoutingProtocolsApi PostConnectionRoutingProtocolBgpActionByUuid Post /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions Clear/Reset BGP
RoutingProtocolsApi ReplaceConnectionRoutingProtocolByUuid Put /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} Replace Protocol
RoutingProtocolsApi ValidateRoutingProtocol Post /fabric/v4/routers/{routerId}/validate Validate Subnet
ServiceProfilesApi CreateServiceProfile Post /fabric/v4/serviceProfiles Create Profile
ServiceProfilesApi DeleteServiceProfileByUuid Delete /fabric/v4/serviceProfiles/{serviceProfileId} Delete Profile
ServiceProfilesApi GetServiceProfileByUuid Get /fabric/v4/serviceProfiles/{serviceProfileId} Get Profile
ServiceProfilesApi GetServiceProfileMetrosByUuid Get /fabric/v4/serviceProfiles/{serviceProfileId}/metros Get Profile Metros
ServiceProfilesApi GetServiceProfiles Get /fabric/v4/serviceProfiles Get all Profiles
ServiceProfilesApi PutServiceProfileByUuid Put /fabric/v4/serviceProfiles/{serviceProfileId} Replace Profile
ServiceProfilesApi SearchServiceProfiles Post /fabric/v4/serviceProfiles/search Profile Search
ServiceProfilesApi UpdateServiceProfileByUuid Patch /fabric/v4/serviceProfiles/{serviceProfileId} Update Profile
ServiceTokensApi CreateServiceToken Post /fabric/v4/serviceTokens Create Service Token
ServiceTokensApi CreateServiceTokenAction Post /fabric/v4/serviceTokens/{serviceTokenId}/actions ServiceToken Actions
ServiceTokensApi DeleteServiceTokenByUuid Delete /fabric/v4/serviceTokens/{serviceTokenId} Delete Token by uuid
ServiceTokensApi GetServiceTokenByUuid Get /fabric/v4/serviceTokens/{serviceTokenId} Get Token by uuid
ServiceTokensApi GetServiceTokens Get /fabric/v4/serviceTokens Get All Tokens
ServiceTokensApi SearchServiceTokens Post /fabric/v4/serviceTokens/search Search servicetokens
ServiceTokensApi UpdateServiceTokenByUuid Patch /fabric/v4/serviceTokens/{serviceTokenId} Update Token By ID
StatisticsApi GetConnectionStatsByPortUuid Get /fabric/v4/connections/{connectionId}/stats Get Stats by uuid
StatisticsApi GetPortStats Get /fabric/v4/ports/stats Top Port Statistics
StatisticsApi GetPortStatsByPortUuid Get /fabric/v4/ports/{portId}/stats Get Stats by uuid

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

BearerAuth

  • Type: HTTP Bearer token authentication

Example

auth := context.WithValue(context.Background(), fabricv4.ContextAccessToken, "BEARER_TOKEN_STRING")
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author

api-support@equinix.com