33994de6be | ||
---|---|---|
.github | ||
config | ||
docs | ||
gradle/wrapper | ||
smithy-aws-apigateway-openapi | ||
smithy-aws-apigateway-traits | ||
smithy-aws-iam-traits | ||
smithy-aws-protocol-tests | ||
smithy-aws-traits | ||
smithy-build | ||
smithy-cli | ||
smithy-codegen-core | ||
smithy-diff | ||
smithy-jsonschema | ||
smithy-linters | ||
smithy-model | ||
smithy-mqtt-traits | ||
smithy-openapi | ||
smithy-protocol-test-traits | ||
smithy-utils | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
NOTICE | ||
README.md | ||
VERSION | ||
build.gradle.kts | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
mkdocs | ||
settings.gradle.kts |
README.md
Smithy
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.
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://awslabs.github.io/smithy/quickstart.html#complete-example
Find out more about modeling a service with Smithy in the Quick Start guide.
Building Smithy models
The Smithy Gradle Plugin is the best way to get started with building a
Smithy model. First, create a smithy-build.json
file:
{
"version": "1.0"
}
Then, apply the Smithy Gradle Plugin in your build.gradle.kts
file and run
gradle build
:
plugins {
id("software.amazon.smithy").version("0.4.3")
}
Find out more about building artifacts of your Smithy model in the Building Smithy Models guide.
License
This library is licensed under the Apache 2.0 License.