Go to file
David Hall 4000f1a035
Fix Typo in AddDefaultConfigSettings.java (#2285)
Fixes  a typo in `AddDefaultConfigSettings` where `openapi` was misspelled.
2024-05-13 08:00:13 -06:00
.github Bump gradle/wrapper-validation-action from 2 to 3 (#2244) 2024-04-15 11:30:05 -06:00
config Update CT filter description 2024-03-12 12:01:12 +01:00
designs URI Pattern Validation and Conflict Resolution design doc (#1539) 2024-04-09 10:05:58 -07:00
docs Fix typos in RPCv2 CBOR spec 2024-05-08 11:44:44 -07:00
gradle/wrapper Update Gradle to 8.6 2024-03-12 12:01:12 +01:00
smithy-aws-apigateway-openapi Fix Typo in AddDefaultConfigSettings.java (#2285) 2024-05-13 08:00:13 -06:00
smithy-aws-apigateway-traits Add "critical" validation phase to validation 2024-01-18 16:38:11 -06:00
smithy-aws-cloudformation Use deprecated info in OpenAPI description (#2222) 2024-04-11 09:29:45 -07:00
smithy-aws-cloudformation-traits Upgrade spotbugs to 6.0.8 2024-03-12 12:01:12 +01:00
smithy-aws-endpoints Add SigV4 and SigV4A migration diff validation (#2245) 2024-04-23 14:03:22 -07:00
smithy-aws-iam-traits Improve deprecation of IAM Action traits 2024-01-10 14:13:18 -08:00
smithy-aws-protocol-tests Fix http status code in restXml response protocol test 2024-05-06 09:37:36 -07:00
smithy-aws-smoke-test-model Add aws smoke test model package (#2113) 2024-01-25 17:27:56 -05:00
smithy-aws-traits Add SigV4 and SigV4A migration diff validation (#2245) 2024-04-23 14:03:22 -07:00
smithy-build Fix broken javadoc link tag 2024-03-12 12:33:53 -07:00
smithy-cli update smithy-cli jreleaser distribution to depend on runtimeZip (#2219) 2024-03-27 12:45:39 -07:00
smithy-codegen-core Add maps and lists to directed codegen 2024-05-06 14:24:43 +02:00
smithy-diff Add Smithy Diff test runner (#2250) 2024-04-19 20:03:05 -07:00
smithy-jmespath Upgrade spotbugs to 6.0.8 2024-03-12 12:01:12 +01:00
smithy-jsonschema Use deprecated info in OpenAPI description (#2222) 2024-04-11 09:29:45 -07:00
smithy-linters Make UnreferencedShape an opt-in linter instead 2024-02-08 14:47:35 -08:00
smithy-model Emit NOTE on ignored duplicate shape 2024-04-16 10:28:17 -07:00
smithy-mqtt-traits Rename to `traitValidators` and give start shape 2024-02-23 08:26:06 -08:00
smithy-openapi Use deprecated info in OpenAPI description (#2222) 2024-04-11 09:29:45 -07:00
smithy-openapi-traits Support serializing traits into specification extensions in OpenAPI (#1609) 2023-08-16 12:11:20 -07:00
smithy-protocol-test-traits Move allowOptionalNull to Feature 2023-12-19 15:56:58 -06:00
smithy-protocol-tests Fix issues with RPCv2 CBOR protocol tests 2024-04-16 13:36:31 -07:00
smithy-protocol-traits Add no document types validation to rpcv2Cbor 2024-03-26 21:22:27 -07:00
smithy-rules-engine Add support for stringArray rules engine Parameters (#2266) 2024-05-02 11:17:46 -07:00
smithy-smoke-test-traits Move allowOptionalNull to Feature 2023-12-19 15:56:58 -06:00
smithy-syntax Fix formatting comments in operation errors list (#2283) 2024-05-09 14:22:01 -04:00
smithy-trait-codegen Add support for default trait on members (#2267) 2024-05-01 16:16:52 -06:00
smithy-utils Upgrade spotbugs to 6.0.8 2024-03-12 12:01:12 +01:00
smithy-validation-model [Automation] smithy-gradle-plugin Version Bump - `1.0.0` (#2223) 2024-04-03 07:47:11 -06:00
smithy-waiters Extend validation event ids to make them unique (#1527) 2023-02-15 14:18:19 -08:00
.gitignore Add Smithy RPC v2 trait (#1583) 2024-03-26 21:22:27 -07:00
CHANGELOG.md Bump version to 1.49.0 (#2276) 2024-05-09 13:25:30 -07:00
CODE_OF_CONDUCT.md Create initial file from template 2019-03-23 13:14:06 -07:00
CONTRIBUTING.md Add license header to CONTRIBUTING doc 2024-04-09 11:51:29 -07:00
Dockerfile chore: Spawn fewer gradle daemons 2022-03-23 15:20:13 -07:00
LICENSE Create initial file from template 2019-03-23 13:14:06 -07:00
NOTICE Update doc dependencies 2021-10-27 11:31:42 +02:00
README.md Remove survey banner (#2207) 2024-03-21 07:45:35 -06:00
VERSION Bump version to 1.49.0 (#2276) 2024-05-09 13:25:30 -07:00
build.gradle Downgrade shadow dependency to fix staging 2024-03-26 21:22:44 -07:00
gradle.properties [Automation] smithy-gradle-plugin Version Bump - `1.0.0` (#2223) 2024-04-03 07:47:11 -06:00
gradlew Update Gradle to 8.6 2024-03-12 12:01:12 +01:00
gradlew.bat Update Gradle to 8.6 2024-03-12 12:01:12 +01:00
mkdocs publish docs via ssh (#1503) 2022-11-17 17:01:05 -07:00
settings.gradle Add trait code generation plugin package (#2074) 2024-03-27 12:37:13 -06:00

README.md

Smithy Smithy

Build Status

Smithy defines and generates clients, services, and documentation for any protocol.

Smithy IDL

Smithy models define a service as a collection of resources, operations, and shapes.

$version: "2"

namespace example.weather

service Weather {
    version: "2006-03-01"
    resources: [City]
    operations: [GetCurrentTime]
}

resource City {
    identifiers: { cityId: CityId }
    read: GetCity
    list: ListCities
    resources: [Forecast]
}

// See the full example at https://smithy.io/2.0/quickstart.html#complete-example

Find out more about modeling a service with Smithy in the Quick Start guide.

Building Smithy models

[!IMPORTANT]
Before you proceed, make sure you have the Smithy CLI installed.

The Smithy CLI is the easiest way to get started with building Smithy models. First, create a smithy-build.json file:

{
    "version": "1.0",
    "sources": ["model"]
}

Next, create your first model model/main.smithy:

$version: "2"

namespace com.example

service ExampleService {
    version: "2020-05-27"
}

Finally, run smithy build to build the model with the Smithy CLI.

Find out more about building artifacts of your Smithy model in the Building Smithy Models guide. For more examples, see the examples repository

License

This library is licensed under the Apache 2.0 License.