You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by de...@apache.org on 2018/05/14 13:49:16 UTC

[incubator-trafficcontrol] 01/03: Add more documentation about the TO Client SDK

This is an automated email from the ASF dual-hosted git repository.

dewrich pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-trafficcontrol.git

commit e25ca72d620167e3805586581b7d686316fae055
Author: Jonathan Gray <Jo...@comcast.com>
AuthorDate: Sun May 13 22:13:39 2018 -0600

    Add more documentation about the TO Client SDK
---
 docs/source/api/traffic_ops_api.rst |  4 +++
 traffic_control/clients/README.md   | 18 +++++++++++++
 traffic_ops/client/README.md        | 54 +++++++++++++++++++++++++++++++++++++
 traffic_ops/client/v13/README.md    | 53 ++++++++++++++++++++++++++++++++++++
 4 files changed, 129 insertions(+)

diff --git a/docs/source/api/traffic_ops_api.rst b/docs/source/api/traffic_ops_api.rst
index 2ae61d3..a288915 100644
--- a/docs/source/api/traffic_ops_api.rst
+++ b/docs/source/api/traffic_ops_api.rst
@@ -190,3 +190,7 @@ The 3 most common errors returned by Traffic Ops are:
 
   The rest of the API documentation will only document the ``200 OK`` case, where no errors have occured.
 
+TrafficOps Client SDK
+---------------------
+
+TrafficOps client SDK are available in both Golang and Python.  You can read more about them at https://github.com/apache/incubator-trafficcontrol/tree/master/traffic_control/clients
diff --git a/traffic_control/clients/README.md b/traffic_control/clients/README.md
new file mode 100644
index 0000000..7c017b1
--- /dev/null
+++ b/traffic_control/clients/README.md
@@ -0,0 +1,18 @@
+#Traffic Control Client SDK
+
+There are two client SDK supported:
+
+##Python
+* Supported TO API Versions
+  * 1.1
+  * 1.2
+* Documentation
+  * https://github.com/apache/incubator-trafficcontrol/tree/master/traffic_control/clients/python/trafficops
+
+##Golang
+###TO API v1.2 _(Deprecated)_
+* Documentation
+  * https://github.com/apache/incubator-trafficcontrol/tree/master/traffic_ops/client
+###TO API v1.3
+* Documentation
+  * https://github.com/apache/incubator-trafficcontrol/tree/master/traffic_ops/client/v13
diff --git a/traffic_ops/client/README.md b/traffic_ops/client/README.md
new file mode 100644
index 0000000..e35d63e
--- /dev/null
+++ b/traffic_ops/client/README.md
@@ -0,0 +1,54 @@
+#TO Client SDK Golang
+_This version of the SDK is deprecated in favor of the newer [TO API v1.3 SDK](https://github.com/apache/incubator-trafficcontrol/tree/master/traffic_ops/client/v13)_
+
+##Getting Started
+1. Obtain the latest version of the SDK
+
+`go get github.com/apache/incubator-trafficcontrol/traffic_ops/client`
+
+2. Get a basic TO session started and fetch a list of CDNs
+```
+package main
+
+import (
+	"fmt"
+	"os"
+	"time"
+
+	"github.com/apache/incubator-trafficcontrol/lib/go-tc/v13"
+	toclient "github.com/apache/incubator-trafficcontrol/traffic_ops/client"
+)
+
+const TOURL = "http://localhost"
+const TOUser = "user"
+const TOPassword = "password"
+const AllowInsecureConnections = true
+const UserAgent = "MySampleApp"
+const UseClientCache = false
+const TrafficOpsRequestTimeout = time.Second * time.Duration(10)
+
+func main() {
+	session, remoteaddr, err := toclient.LoginWithAgent(
+		TOURL,
+		TOUser,
+		TOPassword,
+		AllowInsecureConnections,
+		UserAgent,
+		UseClientCache,
+		TrafficOpsRequestTimeout)
+	if err != nil {
+		fmt.Printf("An error occurred while logging in:\n\t%v\n", err)
+		os.Exit(1)
+	}
+	fmt.Println("Connected to: " + remoteaddr.String())
+	var cdns []v13.CDN
+	cdns, _, err = session.GetCDNs()
+	if err != nil {
+		fmt.Printf("An error occurred while getting cdns:\n\t%v\n", err)
+		os.Exit(1)
+	}
+	for _, cdn := range cdns {
+		fmt.Println(cdn.Name)
+	}
+}
+```
diff --git a/traffic_ops/client/v13/README.md b/traffic_ops/client/v13/README.md
new file mode 100644
index 0000000..831b7e0
--- /dev/null
+++ b/traffic_ops/client/v13/README.md
@@ -0,0 +1,53 @@
+#TO Client SDK Golang
+
+##Getting Started
+1. Obtain the latest version of the SDK
+
+`go get github.com/apache/incubator-trafficcontrol/traffic_ops/client/v13`
+
+2. Get a basic TO session started and fetch a list of CDNs
+```
+package main
+
+import (
+	"fmt"
+	"os"
+	"time"
+
+	"github.com/apache/incubator-trafficcontrol/lib/go-tc/v13"
+	toclient "github.com/apache/incubator-trafficcontrol/traffic_ops/client/v13"
+)
+
+const TOURL = "http://localhost"
+const TOUser = "user"
+const TOPassword = "password"
+const AllowInsecureConnections = true
+const UserAgent = "MySampleApp"
+const UseClientCache = false
+const TrafficOpsRequestTimeout = time.Second * time.Duration(10)
+
+func main() {
+	session, remoteaddr, err := toclient.LoginWithAgent(
+		TOURL,
+		TOUser,
+		TOPassword,
+		AllowInsecureConnections,
+		UserAgent,
+		UseClientCache,
+		TrafficOpsRequestTimeout)
+	if err != nil {
+		fmt.Printf("An error occurred while logging in:\n\t%v\n", err)
+		os.Exit(1)
+	}
+	fmt.Println("Connected to: " + remoteaddr.String())
+	var cdns []v13.CDN
+	cdns, _, err = session.GetCDNs()
+	if err != nil {
+		fmt.Printf("An error occurred while getting cdns:\n\t%v\n", err)
+		os.Exit(1)
+	}
+	for _, cdn := range cdns {
+		fmt.Println(cdn.Name)
+	}
+}
+```

-- 
To stop receiving notification emails like this one, please contact
dewrich@apache.org.