From 38df9725e47b1aac9c84d40f2c5853b874156705 Mon Sep 17 00:00:00 2001 From: Robert Vojta Date: Tue, 25 Apr 2017 09:50:02 +0200 Subject: [PATCH 1/3] 0.6.6-SNAPSHOT --- plugin/project.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/project.clj b/plugin/project.clj index 87bf8e3..3a743c3 100644 --- a/plugin/project.clj +++ b/plugin/project.clj @@ -1,4 +1,4 @@ -(defproject io.nervous/lein-cljs-lambda "0.6.5" +(defproject io.nervous/lein-cljs-lambda "0.6.6-SNAPSHOT" :description "Deploying Clojurescript functions to AWS Lambda" :url "https://github.com/nervous-systems/cljs-lambda" :license {:name "Unlicense" :url "http://unlicense.org/UNLICENSE"} From e37bf92ea6b288143b4c16e20877c069daba7b4e Mon Sep 17 00:00:00 2001 From: Robert Vojta Date: Tue, 25 Apr 2017 09:50:11 +0200 Subject: [PATCH 2/3] :tracing support --- plugin/src/leiningen/cljs_lambda/aws.clj | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/plugin/src/leiningen/cljs_lambda/aws.clj b/plugin/src/leiningen/cljs_lambda/aws.clj index 56aba75..b8a3614 100644 --- a/plugin/src/leiningen/cljs_lambda/aws.clj +++ b/plugin/src/leiningen/cljs_lambda/aws.clj @@ -50,6 +50,13 @@ (defmethod ->cli-arg-value :dead-letter-config [k v] (str "TargetArn=" v)) +(defmethod ->cli-arg-value :tracing-config [k v] + (str "Mode=" + (case v + :active "Active" + :passthrough "PassThrough" + (leiningen.core.main/abort "Invalid :tracing value" v ", supported values are :active or :passthrough")))) + (defmethod ->cli-arg-value :default [k v] (if (keyword? v) (name v) (str v))) @@ -60,7 +67,7 @@ (defn ->cli-args [m & [positional {:keys [preserve-names?]}]] (let [m (cond-> (merge (meta-config) m) (not preserve-names?) - (set/rename-keys {:name :function-name :vpc :vpc-config :dead-letter :dead-letter-config :env :environment})) + (set/rename-keys {:tracing :tracing-config :name :function-name :vpc :vpc-config :dead-letter :dead-letter-config :env :environment})) args (flatten (for [[k v] m] (->cli-arg k v)))] @@ -77,17 +84,17 @@ (def lambda-cli! (partial aws-cli! "lambda")) (def fn-config-args - #{:name :role :handler :description :timeout :memory-size :runtime :vpc :dead-letter :env}) + #{:tracing :name :role :handler :description :timeout :memory-size :runtime :vpc :dead-letter :env}) (def fn-spec-defaults - {:vpc {:subnets [] :security-groups []} :dead-letter "" :env {}}) + {:tracing :passthrough :vpc {:subnets [] :security-groups []} :dead-letter "" :env {}}) (def create-function-args (into fn-config-args #{:zip-file :output :query})) (def update-function-code-args - (remove #{:vpc :dead-letter :env} create-function-args)) + (remove #{:vpc :dead-letter :env :tracing} create-function-args)) (defn fn-spec->cli-args [fn-args {:keys [publish] :as fn-spec}] (let [args (merge {:output "text" :query "Version"} fn-spec)] @@ -166,6 +173,7 @@ "Runtime" :runtime "MemorySize" :memory-size "Version" :version + "TracingConfig" :tracing "Role" :role})] (merge remote @@ -174,6 +182,9 @@ (-> vpc (select-keys #{"SubnetIds" "SecurityGroupIds"}) (set/rename-keys {"SubnetIds" :subnets "SecurityGroupIds" :security-groups})))) + {:tracing (-> (get-in remote [:tracing "Mode"]) + (string/lower-case) + (keyword))} {:dead-letter (get-in remote [:dead-letter "TargetArn"] "")} {:env (-> (get-in remote [:env "Variables"] {}))}))) From 145297150d39666843fcca427cc12faf3e936e9a Mon Sep 17 00:00:00 2001 From: Robert Vojta Date: Tue, 25 Apr 2017 09:50:21 +0200 Subject: [PATCH 3/3] :tracing note w/ default value --- plugin/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/plugin/README.md b/plugin/README.md index 7637829..db5d96f 100644 --- a/plugin/README.md +++ b/plugin/README.md @@ -61,6 +61,7 @@ invoked. An example: :memory-size 128 ;; MB :vpc {:subnets [] :security-groups []} :dead-letter "arn:..." + :tracing :passthrough ;; Optionally :active :env {"VAR_A" "VALUE_A" "VAR_B" "VALUE_B"}} ```