PageSourceSearch

https://smithy.io/2.0/guides/index.html

html smithy.io collected 2026-10-02 10:13:20 UTC 41,458 bytes, 760 lines download raw bytes

1
2<!DOCTYPE html>
3
4
5<html lang="en" data-content_root="../" >
6
7  <head>
8    <meta charset="utf-8" />
9    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
10
11    <title>Guides &#8212; Smithy 2.0</title>
12  
13  
14  
15  
15<script data-cfasync="false">
16    document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
17    document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
18  </script>
18
19  <!--
20    this give us a css class that will be invisible only if js is disabled
21  -->
22  <noscript>
23    <style>
24      .pst-js-only { display: none !important; }
25
26    </style>
27  </noscript>
28  
29  <!-- Loaded before other Sphinx assets -->
30  <link href="../_static/styles/theme.css?digest=90905a2f556bf617f1a9" rel="stylesheet" />
31<link href="../_static/styles/pydata-sphinx-theme.css?digest=90905a2f556bf617f1a9" rel="stylesheet" />
32
33    <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=8f2a1f02" />
34    <link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=4418a689" />
35    <link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" />
36    <link rel="stylesheet" type="text/css" href="../_static/tabs.css?v=4c969af8" />
37    <link rel="stylesheet" type="text/css" href="../_static/custom.css?v=f465e7c3" />
38  
39  <!-- So that users can add custom icons -->
40  
40<script defer src="../_static/scripts/fontawesome.js?digest=90905a2f556bf617f1a9"></script>
40
41  <!-- Pre-loaded scripts that we'll load fully later -->
42  <link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=90905a2f556bf617f1a9" />
43<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=90905a2f556bf617f1a9" />
44
45    
45<script src="../_static/documentation_options.js?v=60dbed4a"></script>
45
46    
46<script src="../_static/doctools.js?v=fd6eb6e6"></script>
46
47    
47<script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
47
48    
48<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
48
49    
49<script src="../_static/copybutton.js?v=6b89569b"></script>
49
50    
50<script src="../_static/tabs.js?v=3ee01567"></script>
50
51    
51<script src="../_static/scripts/sphinx-book-theme.js?v=fab101a9"></script>
51
52    
52<script>DOCUMENTATION_OPTIONS.pagename = 'guides/index';</script>
52
53    
53<script>DOCUMENTATION_OPTIONS.search_as_you_type = false;</script>
53
54    
54<script src="../_static/custom.js?v=0fa699fc"></script>
54
55    <link rel="icon" href="../_static/favicon.svg"/>
56    <link rel="index" title="Index" href="../genindex.html" />
57    <link rel="search" title="Search" href="../search.html" />
58    <link rel="next" title="The Smithy CLI" href="smithy-cli/index.html" />
59    <link rel="prev" title="Trait index" href="../trait-index.html" />
60  <meta name="viewport" content="width=device-width, initial-scale=1"/>
61  <meta name="docsearch:language" content="en"/>
62  <meta name="docsearch:version" content="2.0" />
63  
64    
65    
65<script src="../_static/searchtools.js"></script>
65
66    
66<script src="../_static/language_data.js"></script>
66
67    
67<script src="../searchindex.js"></script>
67
68  
69<script src="https://a0.awsstatic.com/s_code/js/3.0/awshome_s_code.js"></script>
vendor: 1 bytes, line 69
69
70<script src="https://d2c.aws.amazon.com/client/loader/v1/d2c-load.js"></script>
70
71<!-- Match the landing page typography: Schibsted Grotesk + JetBrains Mono. -->
72<link rel="preconnect" href="https://fonts.googleapis.com" />
73<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
74<link href="https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet" />
75  </head>
76  <body data-default-mode="">
77  
78  
79  <div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div>
80
81  
82  <div id="pst-scroll-pixel-helper"></div>
83  
84  <button type="button" class="btn rounded-pill" id="pst-back-to-top">
85    <i class="fa-solid fa-arrow-up"></i>Back to top</button>
86  
87  
88  
89  
90  <dialog id="pst-search-dialog">
91    
92<form class="bd-search d-flex align-items-center"
93      action="../search.html"
94      method="get">
95  <i class="fa-solid fa-magnifying-glass"></i>
96  <input type="search"
97         class="form-control"
98         name="q"
99         placeholder="Search..."
100         aria-label="Search..."
101         autocomplete="off"
102         autocorrect="off"
103         autocapitalize="off"
104         spellcheck="false"/>
105  <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
106</form>
107  </dialog>
108
109  <div class="pst-async-banner-revealer d-none">
110  <aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
111</div>
112
113  
114    <header id="pst-header" class="bd-header navbar navbar-expand-lg bd-navbar d-print-none">
115<div class="bd-header__inner bd-page-width">
116  <button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation">
117    <span class="fa-solid fa-bars"></span>
118  </button>
119  
120  
121  <div class=" navbar-header-items__start">
122    
123      <div class="navbar-item">
124
125  
126
127<a class="navbar-brand logo" href="/">
128  
129  
130  
131  
132  
133    
134    
135      
136    
137    
138    <img src="../_static/smithy.svg" class="logo__image only-light" alt="Smithy 2.0 - Home"/>
139    <img src="../_static/smithy-dark.svg" class="logo__image only-dark pst-js-only" alt="Smithy 2.0 - Home"/>
140  
141  
142</a></div>
143    
144  </div>
145  
146  <div class=" navbar-header-items">
147    
148    <div class="me-auto navbar-header-items__center">
149      
150        <div class="navbar-item">
151<nav class="bd-navbar-elements navbar-nav">
152  <ul class="bd-navbar-elements navbar-nav">
153    <li class="nav-item">
154      <a class="nav-link nav-internal" href="../index.html">Documentation</a>
155    </li>
156    <li class="nav-item">
157      <a class="nav-link nav-external" href="https://github.com/smithy-lang/smithy-examples">Examples</a>
158    </li>
159    <li class="nav-item">
160      <a class="nav-link nav-external" href="https://github.com/smithy-lang/awesome-smithy">Awesome Smithy</a>
161    </li>
162  </ul>
163</nav></div>
164      
165    </div>
166    
167    
168    <div class="navbar-header-items__end">
169      
170        <div class="navbar-item navbar-persistent--container">
171          
172
173<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
174 <i class="fa-solid fa-magnifying-glass"></i>
175 <span class="search-button__default-text">Search</span>
176 <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
177</button>
178        </div>
179      
180      
181        <div class="navbar-item">
182
183<div class="theme-switch-container dropdown pst-js-only" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Color mode">
184  <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button dropdown-toggle" aria-label="Color mode" data-bs-toggle="dropdown">
185    <i class="theme-switch fa-solid fa-sun fa-lg fa-fw" data-mode="light" title="Light"></i>
186    <i class="theme-switch fa-solid fa-moon fa-lg fa-fw" data-mode="dark" title="Dark"></i>
187    <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg fa-fw" data-mode="auto" title="System Settings"></i>
188  </button>
189  <ul class="dropdown-menu dropdown-menu-end">
190    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg fa-fw me-1"></i>System Settings</button></li>
191    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="light"><i class="fa-solid fa-sun fa-lg fa-fw me-1"></i>Light</button></li>
192    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="dark"><i class="fa-solid fa-moon fa-lg fa-fw me-1"></i>Dark</button></li>
193  </ul>
194</div></div>
195      
196        <div class="navbar-item"><ul class="navbar-icon-links"
197    aria-label="Icon Links">
198        <li class="nav-item">
199          
200          
201          
202          
203          
204          
205          
206          
207          <a href="https://github.com/smithy-lang/smithy" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-github fa-lg" aria-hidden="true"></i><span class="visually-hidden">GitHub</span></a>
208        </li>
209</ul></div>
210      
211    </div>
212    
213  </div>
214  
215  
216    <div class="navbar-persistent--mobile">
217
218<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
219 <i class="fa-solid fa-magnifying-glass"></i>
220 <span class="search-button__default-text">Search</span>
221 <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
222</button>
223    </div>
224  
225
226  
227</div>
228
229    </header>
230  
231
232  <div class="bd-container">
233    <div class="bd-container__inner bd-page-width">
234      
235      
236      
237      <dialog id="pst-primary-sidebar-modal"></dialog>
238      <div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
239        
240
241  
242  <div class="sidebar-header-items sidebar-primary__section">
243    
244    
245      <div class="sidebar-header-items__center">
246        
247          
248          
249            <div class="navbar-item">
250<nav class="bd-navbar-elements navbar-nav">
251  <ul class="bd-navbar-elements navbar-nav">
252    <li class="nav-item">
253      <a class="nav-link nav-internal" href="../index.html">Documentation</a>
254    </li>
255    <li class="nav-item">
256      <a class="nav-link nav-external" href="https://github.com/smithy-lang/smithy-examples">Examples</a>
257    </li>
258    <li class="nav-item">
259      <a class="nav-link nav-external" href="https://github.com/smithy-lang/awesome-smithy">Awesome Smithy</a>
260    </li>
261  </ul>
262</nav></div>
263          
264        
265      </div>
266    
267    
268    
269      <div class="sidebar-header-items__end">
270        
271          <div class="navbar-item">
272
273<div class="theme-switch-container dropdown pst-js-only" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Color mode">
274  <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button dropdown-toggle" aria-label="Color mode" data-bs-toggle="dropdown">
275    <i class="theme-switch fa-solid fa-sun fa-lg fa-fw" data-mode="light" title="Light"></i>
276    <i class="theme-switch fa-solid fa-moon fa-lg fa-fw" data-mode="dark" title="Dark"></i>
277    <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg fa-fw" data-mode="auto" title="System Settings"></i>
278  </button>
279  <ul class="dropdown-menu dropdown-menu-end">
280    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg fa-fw me-1"></i>System Settings</button></li>
281    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="light"><i class="fa-solid fa-sun fa-lg fa-fw me-1"></i>Light</button></li>
282    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="dark"><i class="fa-solid fa-moon fa-lg fa-fw me-1"></i>Dark</button></li>
283  </ul>
284</div></div>
285        
286          <div class="navbar-item"><ul class="navbar-icon-links"
287    aria-label="Icon Links">
288        <li class="nav-item">
289          
290          
291          
292          
293          
294          
295          
296          
297          <a href="https://github.com/smithy-lang/smithy" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-github fa-lg" aria-hidden="true"></i><span class="visually-hidden">GitHub</span></a>
298        </li>
299</ul></div>
300        
301      </div>
302    
303  </div>
304  
305    <div class="sidebar-primary-items__start sidebar-primary__section">
306        <div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
307    <div class="bd-toc-item navbar-nav active">
308        <ul class="current nav bd-sidenav">
309<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">Quick start</a></li>
310<li class="toctree-l1 has-children"><a class="reference internal" href="../spec/index.html">Smithy specification</a>
310<details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
311<li class="toctree-l2"><a class="reference internal" href="../spec/model.html">The Smithy model</a></li>
312<li class="toctree-l2"><a class="reference internal" href="../spec/simple-types.html">Simple types</a></li>
313<li class="toctree-l2"><a class="reference internal" href="../spec/aggregate-types.html">Aggregate types</a></li>
314<li class="toctree-l2"><a class="reference internal" href="../spec/service-types.html">Service types</a></li>
315<li class="toctree-l2"><a class="reference internal" href="../spec/mixins.html">Mixins</a></li>
316<li class="toctree-l2"><a class="reference internal" href="../spec/constraint-traits.html">Constraint traits</a></li>
317<li class="toctree-l2"><a class="reference internal" href="../spec/type-refinement-traits.html">Type refinement traits</a></li>
318<li class="toctree-l2"><a class="reference internal" href="../spec/documentation-traits.html">Documentation traits</a></li>
319<li class="toctree-l2"><a class="reference internal" href="../spec/behavior-traits.html">Behavior traits</a></li>
320<li class="toctree-l2"><a class="reference internal" href="../spec/resource-traits.html">Resource traits</a></li>
321<li class="toctree-l2"><a class="reference internal" href="../spec/authentication-traits.html">Authentication traits</a></li>
322<li class="toctree-l2"><a class="reference internal" href="../spec/protocol-traits.html">Serialization and Protocol traits</a></li>
323<li class="toctree-l2"><a class="reference internal" href="../spec/streaming.html">Streaming</a></li>
324<li class="toctree-l2"><a class="reference internal" href="../spec/http-bindings.html">HTTP bindings</a></li>
325<li class="toctree-l2"><a class="reference internal" href="../spec/endpoint-traits.html">Endpoint traits</a></li>
326<li class="toctree-l2"><a class="reference internal" href="../spec/selectors.html">Selectors</a></li>
327<li class="toctree-l2"><a class="reference internal" href="../spec/model-validation.html">Model validation</a></li>
328<li class="toctree-l2"><a class="reference internal" href="../spec/shape-closures.html">Shape closures</a></li>
329<li class="toctree-l2"><a class="reference internal" href="../spec/idl.html">Smithy IDL</a></li>
330<li class="toctree-l2"><a class="reference internal" href="../spec/json-ast.html">JSON AST</a></li>
331</ul>
332</details></li>
333<li class="toctree-l1"><a class="reference internal" href="../trait-index.html">Trait index</a></li>
334<li class="toctree-l1 current active has-children"><a class="current reference internal" href="#">Guides</a><details open="open"><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
335<li class="toctree-l2 has-children"><a class="reference internal" href="smithy-cli/index.html">The Smithy CLI</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
336<li class="toctree-l3"><a class="reference internal" href="smithy-cli/cli_installation.html">Installation</a></li>
337</ul>
338</details></li>
339<li class="toctree-l2"><a class="reference internal" href="smithy-build-json.html">smithy-build.json</a></li>
340<li class="toctree-l2 has-children"><a class="reference internal" href="gradle-plugin/index.html">Smithy Gradle Plugins</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
341<li class="toctree-l3"><a class="reference internal" href="gradle-plugin/gradle-migration-guide.html">Migrating to Gradle plugin version 0.10.0+</a></li>
342</ul>
343</details></li>
344<li class="toctree-l2 has-children"><a class="reference internal" href="using-code-generation/index.html">Code Generation</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
345<li class="toctree-l3"><a class="reference internal" href="using-code-generation/update-model.html">Updating the Smithy Model</a></li>
346<li class="toctree-l3"><a class="reference internal" href="using-code-generation/generating-a-client.html">Generating a client</a></li>
347</ul>
348</details></li>
349<li class="toctree-l2"><a class="reference internal" href="model-linters.html">Linting Models</a></li>
350<li class="toctree-l2"><a class="reference internal" href="model-validation-examples.html">Model Validation Examples</a></li>
351<li class="toctree-l2"><a class="reference internal" href="evolving-models.html">Evolving Models</a></li>
352<li class="toctree-l2"><a class="reference internal" href="wire-protocol-selection.html">Wire protocol selection</a></li>
353<li class="toctree-l2"><a class="reference internal" href="style-guide.html">Style Guide</a></li>
354<li class="toctree-l2 has-children"><a class="reference internal" href="model-translations/index.html">Model Translations</a>
354<details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
355<li class="toctree-l3"><a class="reference internal" href="model-translations/converting-to-openapi.html">Converting Smithy to OpenAPI</a></li>
356<li class="toctree-l3"><a class="reference internal" href="model-translations/migrating-idl-1-to-2.html">Smithy IDL 1.0 to 2.0 Migration Guide</a></li>
357<li class="toctree-l3"><a class="reference internal" href="model-translations/generating-cloudformation-resources.html">Generating CloudFormation Resource Schemas from Smithy</a></li>
358</ul>
359</details></li>
360<li class="toctree-l2 has-children"><a class="reference internal" href="building-codegen/index.html">Creating a Code Generator</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
361<li class="toctree-l3"><a class="reference internal" href="building-codegen/overview-and-concepts.html">Overview and Concepts</a></li>
362<li class="toctree-l3"><a class="reference internal" href="building-codegen/mapping-shapes-to-languages.html">Mapping Smithy Shapes to Your Language</a></li>
363<li class="toctree-l3"><a class="reference internal" href="building-codegen/creating-codegen-repo.html">Creating a Codegen Repo</a></li>
364<li class="toctree-l3"><a class="reference internal" href="building-codegen/configuring-the-generator.html">Configuring the Generator</a></li>
365<li class="toctree-l3"><a class="reference internal" href="building-codegen/implementing-the-generator.html">Implementing the Generator</a></li>
366<li class="toctree-l3"><a class="reference internal" href="building-codegen/making-codegen-pluggable.html">Making Codegen Pluggable</a></li>
367<li class="toctree-l3"><a class="reference internal" href="building-codegen/generating-code.html">Generating Code</a></li>
368<li class="toctree-l3"><a class="reference internal" href="building-codegen/decoupling-codegen-with-symbols.html">Decoupling Codegen with Symbols</a></li>
369<li class="toctree-l3"><a class="reference internal" href="building-codegen/using-the-semantic-model.html">Using the Semantic Model</a></li>
370</ul>
371</details></li>
372<li class="toctree-l2 has-children"><a class="reference internal" href="client-guidance/index.html">Smithy Client Guidance</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
373<li class="toctree-l3 has-children"><a class="reference internal" href="client-guidance/application-protocols/index.html">Application Protocols</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
374<li class="toctree-l4"><a class="reference internal" href="client-guidance/application-protocols/http.html">HTTP</a></li>
375</ul>
376</details></li>
377<li class="toctree-l3"><a class="reference internal" href="client-guidance/context.html">Context</a></li>
378<li class="toctree-l3"><a class="reference internal" href="client-guidance/retries.html">Retrying Requests</a></li>
379<li class="toctree-l3"><a class="reference internal" href="client-guidance/endpoints.html">Endpoint Resolution</a></li>
380<li class="toctree-l3"><a class="reference internal" href="client-guidance/identity-auth.html">Identity and Authentication</a></li>
381<li class="toctree-l3"><a class="reference internal" href="client-guidance/plugins.html">Client Plugins</a></li>
382<li class="toctree-l3"><a class="reference internal" href="client-guidance/interceptors.html">Interceptors</a></li>
383</ul>
384</details></li>
385<li class="toctree-l2"><a class="reference internal" href="glossary.html">Glossary</a></li>
386</ul>
387</details></li>
388<li class="toctree-l1 has-children"><a class="reference internal" href="../tutorials/index.html">Tutorials</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
389<li class="toctree-l2"><a class="reference internal" href="../tutorials/full-stack-tutorial.html">Full Stack Application</a></li>
390</ul>
391</details></li>
392<li class="toctree-l1 has-children"><a class="reference internal" href="../additional-specs/index.html">Additional specs</a>
392<details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
393<li class="toctree-l2"><a class="reference internal" href="../additional-specs/ai-traits.html">Smithy AI Traits</a></li>
394<li class="toctree-l2"><a class="reference internal" href="../additional-specs/contract-traits.html">Contract traits</a></li>
395<li class="toctree-l2"><a class="reference internal" href="../additional-specs/http-protocol-compliance-tests.html">HTTP Protocol Compliance Tests</a></li>
396<li class="toctree-l2"><a class="reference internal" href="../additional-specs/event-stream-protocol-compliance-tests.html">Event Stream Protocol Compliance Tests</a></li>
397<li class="toctree-l2"><a class="reference internal" href="../additional-specs/smoke-tests.html">Smoke Tests</a></li>
398<li class="toctree-l2"><a class="reference internal" href="../additional-specs/waiters.html">Waiters</a></li>
399<li class="toctree-l2"><a class="reference internal" href="../additional-specs/mqtt.html">MQTT Protocol Bindings</a></li>
400<li class="toctree-l2 has-children"><a class="reference internal" href="../additional-specs/rules-engine/index.html">Rules engine</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
401<li class="toctree-l3"><a class="reference internal" href="../additional-specs/rules-engine/specification.html">Rules engine specification</a></li>
402<li class="toctree-l3"><a class="reference internal" href="../additional-specs/rules-engine/parameters.html">Rules engine parameters</a></li>
403<li class="toctree-l3"><a class="reference internal" href="../additional-specs/rules-engine/standard-library.html">Rules engine standard library</a></li>
404</ul>
405</details></li>
406<li class="toctree-l2 has-children"><a class="reference internal" href="../additional-specs/protocols/index.html">Protocols</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
407<li class="toctree-l3"><a class="reference internal" href="../additional-specs/protocols/smithy-rpc-v2-cbor.html">Smithy RPC v2 CBOR protocol</a></li>
408<li class="toctree-l3"><a class="reference internal" href="../additional-specs/protocols/smithy-rpc-v2-json.html">Smithy RPC v2 JSON protocol</a></li>
409</ul>
410</details></li>
411</ul>
412</details></li>
413<li class="toctree-l1 has-children"><a class="reference internal" href="../aws/index.html">AWS integrations</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
414<li class="toctree-l2"><a class="reference internal" href="../aws/aws-core.html">AWS Core Specification</a></li>
415<li class="toctree-l2"><a class="reference internal" href="../aws/aws-auth.html">AWS Authentication Traits</a></li>
416<li class="toctree-l2"><a class="reference internal" href="../aws/aws-endpoints-region.html">AWS Declarative Endpoint Traits</a></li>
417<li class="toctree-l2"><a class="reference internal" href="../aws/aws-iam.html">AWS IAM traits</a></li>
418<li class="toctree-l2"><a class="reference internal" href="../aws/amazon-apigateway.html">Amazon API Gateway traits</a></li>
419<li class="toctree-l2"><a class="reference internal" href="../aws/aws-cloudformation.html">AWS CloudFormation Traits</a></li>
420<li class="toctree-l2"><a class="reference internal" href="../aws/amazon-eventstream.html">Amazon Event Stream Specification</a></li>
421<li class="toctree-l2 has-children"><a class="reference internal" href="../aws/protocols/index.html">AWS Protocols</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
422<li class="toctree-l3"><a class="reference internal" href="../aws/protocols/aws-restjson1-protocol.html">AWS restJson1 protocol</a></li>
423<li class="toctree-l3"><a class="reference internal" href="../aws/protocols/aws-json-1_0-protocol.html">AWS JSON 1.0 protocol</a></li>
424<li class="toctree-l3"><a class="reference internal" href="../aws/protocols/aws-json-1_1-protocol.html">AWS JSON 1.1 protocol</a></li>
425<li class="toctree-l3"><a class="reference internal" href="../aws/protocols/aws-restxml-protocol.html">AWS restXml protocol</a></li>
426<li class="toctree-l3"><a class="reference internal" href="../aws/protocols/aws-query-protocol.html">AWS query protocol</a></li>
427<li class="toctree-l3"><a class="reference internal" href="../aws/protocols/aws-ec2-query-protocol.html">AWS EC2 query protocol</a></li>
428</ul>
429</details></li>
430<li class="toctree-l2 has-children"><a class="reference internal" href="../aws/customizations/index.html">AWS Service Customizations</a>
430<details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
431<li class="toctree-l3"><a class="reference internal" href="../aws/customizations/apigateway-customizations.html">Amazon API Gateway Customizations</a></li>
432<li class="toctree-l3"><a class="reference internal" href="../aws/customizations/glacier-customizations.html">Amazon Glacier Customizations</a></li>
433<li class="toctree-l3"><a class="reference internal" href="../aws/customizations/machinelearning-customizations.html">Amazon Machine Learning Customizations</a></li>
434<li class="toctree-l3"><a class="reference internal" href="../aws/customizations/s3-customizations.html">Amazon S3 Customizations</a></li>
435</ul>
436</details></li>
437<li class="toctree-l2 has-children"><a class="reference internal" href="../aws/rules-engine/index.html">AWS rules engine extensions</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
438<li class="toctree-l3"><a class="reference internal" href="../aws/rules-engine/built-ins.html">AWS rules engine built-ins</a></li>
439<li class="toctree-l3"><a class="reference internal" href="../aws/rules-engine/library-functions.html">AWS rules engine library functions</a></li>
440<li class="toctree-l3"><a class="reference internal" href="../aws/rules-engine/auth-schemes.html">AWS rules engine authentication scheme validators</a></li>
441</ul>
442</details></li>
443</ul>
444</details></li>
445</ul>
446<p aria-level="2" class="caption" role="heading"><span class="caption-text">Languages</span></p>
447<ul class="nav bd-sidenav">
448<li class="toctree-l1 has-children"><a class="reference internal" href="../languages/java/index.html">Java</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
449<li class="toctree-l2"><a class="reference internal" href="../languages/java/quickstart.html">Java Quickstart</a></li>
450<li class="toctree-l2 has-children"><a class="reference internal" href="../languages/java/client/index.html">Client User Guide</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
451<li class="toctree-l3"><a class="reference internal" href="../languages/java/client/generating-clients.html">Generating Clients</a></li>
452<li class="toctree-l3"><a class="reference internal" href="../languages/java/client/configuration.html">Configuring Clients</a></li>
453<li class="toctree-l3"><a class="reference internal" href="../languages/java/client/customization.html">Customizing Client Behavior</a></li>
454<li class="toctree-l3"><a class="reference internal" href="../languages/java/client/plugins.html">Client Plugins</a></li>
455<li class="toctree-l3"><a class="reference internal" href="../languages/java/client/dynamic-client.html">Dynamic Client</a></li>
456</ul>
457</details></li>
458<li class="toctree-l2"><a class="reference external" href="https://github.com/smithy-lang/smithy-java">Source code</a></li>
459<li class="toctree-l2"><a class="reference external" href="https://github.com/smithy-lang/smithy-java/tree/1.6.1/examples">Smithy Java Examples</a></li>
460</ul>
461</details></li>
462<li class="toctree-l1 has-children"><a class="reference internal" href="../languages/typescript/index.html">TypeScript</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
463<li class="toctree-l2"><a class="reference internal" href="../languages/typescript/quickstart.html">TypeScript Quickstart</a></li>
464<li class="toctree-l2 has-children"><a class="reference internal" href="../languages/typescript/ts-ssdk/index.html">Server Generator for TypeScript</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
465<li class="toctree-l3"><a class="reference internal" href="../languages/typescript/ts-ssdk/introduction.html">Introduction to the Smithy Server Generator for TypeScript</a></li>
466<li class="toctree-l3"><a class="reference internal" href="../languages/typescript/ts-ssdk/handlers.html">
466Smithy Server Generator for TypeScript handlers</a></li>
467<li class="toctree-l3"><a class="reference internal" href="../languages/typescript/ts-ssdk/validation.html">Smithy Server Generator for TypeScript validation</a></li>
468<li class="toctree-l3"><a class="reference internal" href="../languages/typescript/ts-ssdk/error-handling.html">Smithy Server Generator for TypeScript error handling</a></li>
469<li class="toctree-l3"><a class="reference internal" href="../languages/typescript/ts-ssdk/supported-endpoints.html">Smithy Server Generator for TypeScript supported endpoints</a></li>
470</ul>
471</details></li>
472<li class="toctree-l2"><a class="reference external" href="https://github.com/smithy-lang/smithy-typescript">Source code</a></li>
473<li class="toctree-l2"><a class="reference internal" href="../tutorials/full-stack-tutorial.html">Smithy Full Stack Application</a></li>
474</ul>
475</details></li>
476<li class="toctree-l1 has-children"><a class="reference internal" href="../languages/rust/index.html">Rust</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
477<li class="toctree-l2"><a class="reference external" href="https://smithy-lang.github.io/smithy-rs/design/">Design Documentation</a></li>
478<li class="toctree-l2"><a class="reference external" href="https://github.com/smithy-lang/smithy-rs">Source code</a></li>
479</ul>
480</details></li>
481<li class="toctree-l1 has-children"><a class="reference internal" href="../languages/python/index.html">Python</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
482<li class="toctree-l2"><a class="reference external" href="https://github.com/smithy-lang/smithy-python">Source code</a></li>
483</ul>
484</details></li>
485<li class="toctree-l1 has-children"><a class="reference internal" href="../languages/kotlin/index.html">Kotlin</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
486<li class="toctree-l2"><a class="reference internal" href="../languages/kotlin/quickstart.html">Kotlin Quickstart</a></li>
487<li class="toctree-l2 has-children"><a class="reference internal" href="../languages/kotlin/client/index.html">Client User Guide</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
488<li class="toctree-l3"><a class="reference internal" href="../languages/kotlin/client/generating-clients.html">Generating Clients</a></li>
489</ul>
490</details></li>
491<li class="toctree-l2"><a class="reference external" href="https://github.com/smithy-lang/smithy-kotlin">Source code</a></li>
492<li class="toctree-l2"><a class="reference external" href="https://github.com/smithy-lang/smithy-examples/tree/main/smithy-kotlin-examples">Smithy Kotlin Examples</a></li>
493<li class="toctree-l2"><a class="reference external" href="https://github.com/smithy-lang/smithy-kotlin/tree/main/docs/design">Smithy Kotlin Design Docs</a></li>
494</ul>
495</details></li>
496<li class="toctree-l1 has-children"><a class="reference internal" href="../languages/golang/index.html">GoLang</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
497<li class="toctree-l2"><a class="reference external" href="https://github.com/aws/smithy-go">Source code</a></li>
498</ul>
499</details></li>
500<li class="toctree-l1 has-children"><a class="reference internal" href="../languages/scala/index.html">Scala</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
501<li class="toctree-l2"><a class="reference external" href="https://disneystreaming.github.io/smithy4s/">Documentation</a></li>
502<li class="toctree-l2"><a class="reference external" href="https://github.com/disneystreaming/smithy4s">Source code</a></li>
503</ul>
504</details></li>
505</ul>
506<p aria-level="2" class="caption" role="heading"><span class="caption-text">Project</span></p>
507<ul class="nav bd-sidenav">
508<li class="toctree-l1"><a class="reference external" href="https://github.com/smithy-lang/smithy">Source code</a></li>
509<li class="toctree-l1"><a class="reference external" href="https://github.com/smithy-lang/awesome-smithy">Awesome Smithy</a></li>
510<li class="toctree-l1"><a class="reference external" href="https://github.com/smithy-lang/smithy-examples">Smithy Examples</a></li>
511<li class="toctree-l1">
511<a class="reference external" href="https://smithy.io/1.0/">1.0 Documentation</a></li>
512</ul>
513
514    </div>
515</nav></div>
516    </div>
517  
518  
519  <div class="sidebar-primary-items__end sidebar-primary__section">
520      <div class="sidebar-primary-item">
521<div id="ethical-ad-placement"
522      class="flat"
523      data-ea-publisher="readthedocs"
524      data-ea-type="readthedocs-sidebar"
525      data-ea-manual="true">
526</div></div>
527  </div>
528
529
530      </div>
531      
532      <main id="main-content" class="bd-main" role="main">
533        
534        
535
536<div class="sbt-scroll-pixel-helper"></div>
537
538          <div class="bd-content">
539            <div class="bd-article-container">
540              
541              <div class="bd-header-article d-print-none">
542<div class="header-article-items header-article__inner">
543  
544  
545    <div class="header-article-items__end">
546      
547        <div class="header-article-item">
548
549
550<div class="article-header-buttons">
551
552
553
554
555
556<div class="dropdown dropdown-source-buttons">
557  <button class="btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-label="Source repositories">
558    <i class="fab fa-github"></i>
559  </button>
560  <ul class="dropdown-menu">
561      
562      
563      
564      <li><a href="https://github.com/smithy-lang/smithy" target="_blank"
565   class="btn btn-sm btn-source-repository-button dropdown-item"
566   title="Source repository"
567   data-bs-placement="left" data-bs-toggle="tooltip"
568>
569  
570
571<span class="btn__icon-container">
572  <i class="fab fa-github"></i>
573  </span>
574<span class="btn__text-container">Repository</span>
575</a>
576</li>
577      
578      
579      
580      
581      <li><a href="https://github.com/smithy-lang/smithy/edit/main/docs/source-2.0/guides/index.rst" target="_blank"
582   class="btn btn-sm btn-source-edit-button dropdown-item"
583   title="Suggest edit"
584   data-bs-placement="left" data-bs-toggle="tooltip"
585>
586  
587
588<span class="btn__icon-container">
589  <i class="fas fa-pencil-alt"></i>
590  </span>
591<span class="btn__text-container">Suggest edit</span>
592</a>
593</li>
594      
595      
596      
597      
598      <li><a href="https://github.com/smithy-lang/smithy/issues/new?title=Issue%20on%20page%20%2Fguides/index.html&body=Your%20issue%20content%20here." target="_blank"
599   class="btn btn-sm btn-source-issues-button dropdown-item"
600   title="Open an issue"
601   data-bs-placement="left" data-bs-toggle="tooltip"
602>
603  
604
605<span class="btn__icon-container">
606  <i class="fas fa-lightbulb"></i>
607  </span>
608<span class="btn__text-container">Open issue</span>
609</a>
610</li>
611      
612  </ul>
613</div>
614
615
616
617<a href="../_sources/guides/index.rst.txt" target="_blank"
618   class="btn btn-sm btn-source-file-button"
619   title="View page source"
620   data-bs-placement="bottom" data-bs-toggle="tooltip"
621>
622  
623
624<span class="btn__icon-container">
625  <i class="fas fa-code"></i>
626  </span>
627
628</a>
629
630</div></div>
631      
632    </div>
633  
634</div>
635</div>
636              
637              
638
639<div id="jb-print-docs-body" class="onlyprint">
640    <h1>Guides</h1>
641    <!-- Table of contents -->
642    <div id="print-main-content">
643        <div id="jb-print-toc">
644            
645        </div>
646    </div>
647</div>
648
649              
650                
651<div id="searchbox"></div>
652                <article class="bd-article">
653                  
654  <section id="guides">
655<h1>Guides<a class="headerlink" href="#guides" title="Link to this heading">#</a></h1>
656<div class="toctree-wrapper compound">
657<ul>
658<li class="toctree-l1"><a class="reference internal" href="smithy-cli/index.html">The Smithy CLI</a></li>
659<li class="toctree-l1"><a class="reference internal" href="smithy-build-json.html">smithy-build.json</a></li>
660<li class="toctree-l1"><a class="reference internal" href="gradle-plugin/index.html">Smithy Gradle Plugins</a></li>
661<li class="toctree-l1"><a class="reference internal" href="using-code-generation/index.html">Code Generation</a></li>
662<li class="toctree-l1"><a class="reference internal" href="model-linters.html">Linting Models</a></li>
663<li class="toctree-l1"><a class="reference internal" href="model-validation-examples.html">Model Validation Examples</a></li>
664<li class="toctree-l1"><a class="reference internal" href="evolving-models.html">Evolving Models</a></li>
665<li class="toctree-l1"><a class="reference internal" href="wire-protocol-selection.html">Wire protocol selection</a></li>
666<li class="toctree-l1"><a class="reference internal" href="style-guide.html">Style Guide</a></li>
667<li class="toctree-l1"><a class="reference internal" href="model-translations/index.html">Model Translations</a></li>
668<li class="toctree-l1"><a class="reference internal" href="building-codegen/index.html">Creating a Code Generator</a></li>
669<li class="toctree-l1"><a class="reference internal" href="client-guidance/index.html">Smithy Client Guidance</a></li>
670<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary</a></li>
671</ul>
672</div>
673</section>
674
675
676                </article>
677              
678
679              
680              
681              
682              
683                <footer class="prev-next-footer d-print-none">
684                  
685<div class="prev-next-area">
686    <a class="left-prev"
687       href="../trait-index.html"
688       title="previous page">
689      <i class="fa-solid fa-angle-left"></i>
690      <div class="prev-next-info">
691        <p class="prev-next-subtitle">previous</p>
692        <p class="prev-next-title">Trait index</p>
693      </div>
694    </a>
695    <a class="right-next"
696       href="smithy-cli/index.html"
697       title="next page">
698      <div class="prev-next-info">
699        <p class="prev-next-subtitle">next</p>
700        <p class="prev-next-title">The Smithy CLI</p>
701      </div>
702      <i class="fa-solid fa-angle-right"></i>
703    </a>
704</div>
705                </footer>
706              
707            </div>
708            
709            
710              
711            
712          </div>
713          <footer class="bd-footer-content">
714            
715<div class="bd-footer-content__inner container">
716  
717  <div class="footer-item">
718    
719<p class="component-author">
720By Amazon Web Services
721</p>
722
723  </div>
724  
725  <div class="footer-item">
726    
727
728  <p class="copyright">
729    
730      © Copyright 2022, Amazon Web Services.
731      <br/>
732    
733  </p>
734
735  </div>
736  
737  <div class="footer-item">
738    
739  </div>
740  
741  <div class="footer-item">
742    
743  </div>
744  
745</div>
746          </footer>
747        
748
749      </main>
750    </div>
751  </div>
752  
753  <!-- Scripts loaded after <body> so the DOM is not blocked -->
754  
754<script defer src="../_static/scripts/bootstrap.js?digest=90905a2f556bf617f1a9"></script>
vendor: 1 bytes, line 754
754
755<script defer src="../_static/scripts/pydata-sphinx-theme.js?digest=90905a2f556bf617f1a9"></script>
755
756
757  <footer class="bd-footer">
758  </footer>
759  </body>
760</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.