Merge pull request #19 from 30x/add-updated-at

Ensure token requests include created_at_apid or updated_at_apid as a…
diff --git a/apigee_sync.go b/apigee_sync.go
index 1dd7afb..4826b0a 100644
--- a/apigee_sync.go
+++ b/apigee_sync.go
@@ -255,9 +255,14 @@
 		req.Header.Set("apid_instance_id", apidInfo.InstanceID)
 		req.Header.Set("apid_cluster_Id", apidInfo.ClusterID)
 		req.Header.Set("status", "ONLINE")
-		req.Header.Set("created_at_apid", time.Now().Format(time.RFC3339))
 		req.Header.Set("plugin_details", apidPluginDetails)
 
+		if apidInfo.InstanceID == "" {
+			req.Header.Set("created_at_apid", time.Now().Format(time.RFC3339))
+		} else {
+			req.Header.Set("updated_at_apid", time.Now().Format(time.RFC3339))
+		}
+
 		client := &http.Client{}
 		resp, err := client.Do(req)
 		if err != nil {
diff --git a/mock_server.go b/mock_server.go
index 54c810d..982ad37 100644
--- a/mock_server.go
+++ b/mock_server.go
@@ -240,6 +240,14 @@
 	Expect(req.Header.Get("apid_cluster_Id")).To(Equal(m.params.ClusterID))
 	Expect(req.Header.Get("display_name")).ToNot(BeEmpty())
 
+	if req.Header.Get("apid_instance_id") == "" {
+		Expect(req.Header.Get("created_at_apid")).ToNot(BeEmpty())
+		Expect(req.Header.Get("updated_at_apid")).To(BeEmpty())
+	} else {
+		Expect(req.Header.Get("created_at_apid")).To(BeEmpty())
+		Expect(req.Header.Get("updated_at_apid")).ToNot(BeEmpty())
+	}
+
 	Expect(req.Form.Get("client_id")).To(Equal(m.params.TokenKey))
 	Expect(req.Form.Get("client_secret")).To(Equal(m.params.TokenSecret))