Telstra Programmable Network is a self-provisioning platform that allows its users to create on-demand connectivity services between multiple end-points and add various network functions to those services. Programmable Network enables to connectivity to a global ecosystem of networking services as well as public and private cloud services. Once you are connected to the platform on one or more POPs (points of presence), you can start creating those services based on the use case that you want to accomplish. The Programmable Network API is available to all customers who have registered to use the Programmable Network. To register, please contact your account representative.
- API version: 2.1.3
- Package version: 1.0.0
Put the package under your project folder and add the following in import:
"./TelstraTPN"
All URIs are relative to https://penapi.pacnetconnect.com
Class | Method | HTTP request | Description |
---|---|---|---|
AuthenticationApi | AuthGeneratetokenPost | Post /1.0.0/auth/generatetoken | Create an authentication token |
AuthenticationApi | AuthValidatetokenGet | Get /1.0.0/auth/validatetoken | Validate authentication token |
ContractsApi | InventoryLinksContractByLinkidAndContractidGet | Get /1.0.0/inventory/links/{linkid}/contract/{contractid} | Get active Contract by ContractID |
ContractsApi | InventoryLinksContractByLinkidAndContractidPut | Put /1.0.0/inventory/links/{linkid}/contract/{contractid} | Update active Contract by ContractID |
ContractsApi | InventoryLinksContractByLinkidPost | Post /1.0.0/inventory/links/{linkid}/contract | Create new Contract on specified link |
CustomersApi | AccountByCustomeruuidGet | Get /1.0.0/account/{customeruuid} | Get account information details |
CustomersApi | AccountUserByCustomeruuidGet | Get /1.0.0/account/{customeruuid}/user | List users |
DatacentresApi | InventoryDatacentersGet | Get /1.0.0/inventory/datacenters | Get list of all the data centers |
EndpointsApi | Eis100EndpointsAssignTopologyTagByEndpointuuidPost | Post /eis/1.0.0/endpoints/{endpointuuid}/assign_topology_tag | Assign a Topology Tag to an Endpoint |
EndpointsApi | InventoryEndpointByEndpointuuidGet | Get /1.0.0/inventory/endpoint/{endpointuuid} | Get information about the specified endpoint |
EndpointsApi | InventoryEndpointsCustomeruuidByCustomeruuidGet | Get /1.0.0/inventory/endpoints/customeruuid/{customeruuid} | Get list of endpoints for a customer |
EndpointsApi | InventoryRegularendpointPost | Post /1.0.0/inventory/regularendpoint | Create Physical (Port) Endpoint |
EndpointsApi | InventoryVnfendpointPost | Post /1.0.0/inventory/vnfendpoint | Create VNF Endpoint |
LinksApi | InventoryLinkPost | Post /1.0.0/inventory/link | Create Link and initial Contract |
LinksApi | InventoryLinksByLinkidGet | Get /1.0.0/inventory/links/{linkid} | Get details of specified link |
LinksApi | InventoryLinksCustomerByCustomeruuidGet | Get /1.0.0/inventory/links/customer/{customeruuid} | Get active Links |
LinksApi | InventoryLinksHistoryByLinkidGet | Get /1.0.0/inventory/links/history/{linkid} | Get Link history |
TopologiesApi | Ttms100TopologyTagByTopotaguuidDelete | Delete /ttms/1.0.0/topology_tag/{topotaguuid}/ | Delete a topology tag |
TopologiesApi | Ttms100TopologyTagByTopotaguuidGet | Get /ttms/1.0.0/topology_tag/{topotaguuid}/ | Get information about the specified topology tag |
TopologiesApi | Ttms100TopologyTagByTopotaguuidPut | Put /ttms/1.0.0/topology_tag/{topotaguuid}/ | Update a topology tag's name and/or description |
TopologiesApi | Ttms100TopologyTagGet | Get /ttms/1.0.0/topology_tag | List all topology tags |
TopologiesApi | Ttms100TopologyTagObjectsByTopotaguuidGet | Get /ttms/1.0.0/topology_tag/{topotaguuid}/objects/ | List objects for Topology |
TopologiesApi | Ttms100TopologyTagPost | Post /ttms/1.0.0/topology_tag | Create a named topology tag |
VnfsApi | MarketplaceImageGet | Get /1.0.0/marketplace/image | List images in the Marketplace |
VportsApi | InventoryRegularvportPost | Post /1.0.0/inventory/regularvport | Create VPort for physical endpoint |
VportsApi | InventoryVnfVportPost | Post /1.0.0/inventory/vnf/vport | Create VNF VPort |
VportsApi | InventoryVportByVportuuidGet | Get /1.0.0/inventory/vport/{vportuuid} | Get information about the specified VPort |
- AccountResponse
- AuthGeneratetokenResponse
- AuthValidatetokenResponse
- Billing
- Classification
- Contract
- Datacenter
- Eis100EndpointsAssignTopologyTagRequest
- Endpoint
- EndpointPort
- Endpointlist
- Error74
- Flavor
- GlanceImage
- InventoryDatacenters401Error
- InventoryDatacentersResponse
- InventoryEndpointResponse
- InventoryEndpointsCustomeruuidResponse
- InventoryLinkRequest
- InventoryLinkResponse
- InventoryLinksContractRequest
- InventoryLinksContractRequest37
- InventoryLinksContractResponse
- InventoryLinksContractResponse33
- InventoryLinksContractResponse38
- InventoryLinksHistoryResponse
- InventoryLinksResponse
- InventoryRegularendpointRequest
- InventoryRegularendpointResponse
- InventoryRegularvportRequest
- InventoryRegularvportResponse
- InventoryVnfVportRequest
- InventoryVnfVportResponse
- InventoryVnfendpointRequest
- InventoryVnfendpointResponse
- Link
- Link66
- MarketplaceImageResponse
- Meta
- ModelError
- Object52
- Params
- Params31
- Params34
- Params39
- Product
- Role
- SuccessFragment
- Topology
- Ttms100TopologyTagObjectsResponse
- Ttms100TopologyTagRequest
- User
- Vlan
- VnfTag
- Vport
- Vportvalue
- Type: OAuth
- Flow: password
- Authorization URL:
- Scopes:
- Oauth2: Oauth2
Example
auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
r, err := client.Service.Operation(auth, args)
Or via OAuth2 module to automatically refresh tokens and perform user authentication.
import "golang.org/x/oauth2"
/ .. Perform OAuth2 round trip request and obtain a token .. //
tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
r, err := client.Service.Operation(auth, args)