This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-04-04
Channels
- # announcements (28)
- # asami (12)
- # aws (3)
- # babashka (69)
- # babashka-sci-dev (34)
- # beginners (52)
- # biff (3)
- # calva (20)
- # clj-kondo (4)
- # cljsrn (4)
- # clojars (1)
- # clojure (90)
- # clojure-czech (2)
- # clojure-europe (33)
- # clojure-nl (11)
- # clojure-norway (35)
- # clojure-seattle (1)
- # clojure-uk (5)
- # clojurescript (87)
- # cursive (10)
- # datascript (5)
- # datomic (35)
- # defnpodcast (1)
- # emacs (8)
- # events (4)
- # fulcro (1)
- # google-cloud (2)
- # graphql (2)
- # hispano (2)
- # honeysql (5)
- # hoplon (2)
- # hugsql (1)
- # jobs (7)
- # kaocha (9)
- # lsp (102)
- # meander (13)
- # observability (7)
- # off-topic (56)
- # overtone (2)
- # pathom (47)
- # podcasts (1)
- # rdf (30)
- # reagent (16)
- # reitit (1)
- # releases (2)
- # remote-jobs (26)
- # rewrite-clj (10)
- # tools-deps (4)
- # vim (5)
- # vscode (4)
- # xtdb (41)
@equal.car1805, funny you ask today... It's quite simple to generate the specs from the api input files. I happened to have a use case for doing so and so I just pushed the code here: https://github.com/kennyjwilli/smithy-spec. Here's an example call:
(smithy-spec/->specs {::api-input ec2-input}
{::smithy-spec/input-shape "TagList"
::smithy-spec/base-ns "aws.ec2"})
=>
((clojure.spec.alpha/def :aws.ec2/TagList (clojure.spec.alpha/coll-of :aws.ec2.TagList/Tag))
(clojure.spec.alpha/def :aws.ec2.TagList/Key clojure.core/string?)
(clojure.spec.alpha/def
:aws.ec2.TagList/Tag
(clojure.spec.alpha/keys :opt-un [:aws.ec2.TagList/Key :aws.ec2.TagList/Value]))
(clojure.spec.alpha/def :aws.ec2.TagList/Value clojure.core/string?))