blob: 83b5017f2a3535cb57dc3823d53fd6240b2086ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
; ============LICENSE_START=======================================================
; org.onap.dcae
; ================================================================================
; Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
; ================================================================================
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
; http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
; ============LICENSE_END=========================================================
;
; ECOMP is a trademark and service mark of AT&T Intellectual Property.
(ns sch.asdc-client
(:require [clj-http.client :as client]
[clojure.tools.logging :as logger :refer [debug error]]
[cheshire.core :refer [parse-string]]
[org.bovinegenius.exploding-fish :refer [uri param]])
(:gen-class))
(defn create-asdc-conn
([config]
(let [config-asdc (:asdcDistributionClient config)
{ :keys [asdcUri user password consumerId activateServerTLSAuth] } config-asdc]
; The last entry is passed into clj-http's "insecure?" parameter which is
; why "activateServerTLSAuth" is negated
[(uri asdcUri) user password consumerId (not activateServerTLSAuth)]))
)
(defn get-consumer-id
[asdc-conn]
(get asdc-conn 3))
(defn construct-service-path
[service-uuid]
(str "/sdc/v1/catalog/services/" service-uuid "/metadata"))
(defn get-artifact!
[connection artifact-path]
(debug (str "Entering get-artifact - artiface-path:" artifact-path))
(let [[asdc-uri user password instance-id insecure?] connection
target-uri (assoc asdc-uri :path artifact-path)
resp (client/get (str target-uri) { :basic-auth [user password]
:headers { "X-ECOMP-InstanceID" instance-id }
:insecure? insecure? })]
(if (= (:status resp) 200)
; Response media type is application/octet-stream
; TODO: Use X-ECOMP-RequestID?
(:body resp)
(error (str "GET asdc artifact failed: " (:status resp) ", " (:body resp))))
))
(defn get-service-metadata!
[connection service-uuid]
(debug (str "Entering get-service-metadta - service-uuid:" service-uuid))
(let [[asdc-uri user password instance-id insecure?] connection
target-uri (assoc asdc-uri :path (construct-service-path service-uuid))
resp (client/get (str target-uri) { :basic-auth [user password]
:headers { "X-ECOMP-InstanceID" instance-id }
:insecure? insecure? })]
(if (= (:status resp) 200)
; Response media type is application/octet-stream
; TODO: Use X-ECOMP-RequestID?
(parse-string (:body resp) true)
(error (str "GET asdc service metadata failed: " (:status resp) ", " (:body resp))))
))
|