ServerlessWorkflow.Sdk
0.8.6
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package ServerlessWorkflow.Sdk --version 0.8.6
NuGet\Install-Package ServerlessWorkflow.Sdk -Version 0.8.6
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ServerlessWorkflow.Sdk" Version="0.8.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ServerlessWorkflow.Sdk --version 0.8.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ServerlessWorkflow.Sdk, 0.8.6"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ServerlessWorkflow.Sdk as a Cake Addin #addin nuget:?package=ServerlessWorkflow.Sdk&version=0.8.6 // Install ServerlessWorkflow.Sdk as a Cake Tool #tool nuget:?package=ServerlessWorkflow.Sdk&version=0.8.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Serverless Workflow Specification - .NET SDK
Provides .NET 6.0 API/SPI and Model Validation for the Serverless Workflow Specification
With the SDK, you can:
- Read and write workflow JSON and YAML definitions
- Programmatically build workflow definitions
- Validate workflow definitions (both schema and DSL integrity validation)
Status
Latest Releases | Conformance to spec version |
---|---|
0.8.0.10 | v0.8 |
Getting Started
dotnet nuget add package ServerlessWorkflow.Sdk
services.AddServerlessWorkflow();
How to use
Building workflows programatically
var workflow = WorkflowDefinition.Create("MyWorkflow", "MyWorkflow", "1.0")
.StartsWith("inject", flow =>
flow.Inject(new { username = "test", password = "123456" }))
.Then("operation", flow =>
flow.Execute("fakeApiFunctionCall", action =>
{
action.Invoke(function =>
function.WithName("fakeFunction")
.SetOperationUri(new Uri("https://fake.com/swagger.json#fake")))
.WithArgument("username", "${ .username }")
.WithArgument("password", "${ .password }");
})
.Execute("fakeEventTrigger", action =>
{
action
.Consume(e =>
e.WithName("fakeEvent")
.WithSource(new Uri("https://fakesource.com"))
.WithType("fakeType"))
.ThenProduce(e =>
e.WithName("otherEvent")
.WithSource(new Uri("https://fakesource.com"))
.WithType("fakeType"));
}))
.End()
.Build();
Reading workflows
var reader = WorkflowReader.Create();
using(Stream stream = File.OpenRead("myWorkflow.json"))
{
var definition = reader.Read(stream, WorkflowDefinitionFormat.Json);
}
Writing workflows
var writer = WorkflowWriter.Create();
using(Stream stream = new MemoryStream())
{
writer.Write(workflow, stream);
stream.Flush();
stream.Position = 0;
using(StreamReader reader = new StreamReader(stream))
{
var yaml = reader.ReadToEnd();
Console.WriteLine(yaml);
Console.ReadLine();
}
}
Validating workflows
var validator = serviceProvider.GetRequiredService<IValidator<WorkflowDefinition>>();
var validationResult = validator.Validate(myWorkflow);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- CloudNative.CloudEvents (>= 2.5.1)
- Cronos (>= 0.7.1)
- FluentValidation.DependencyInjectionExtensions (>= 11.3.0)
- Iso8601DurationHelper (>= 1.0.5)
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- Microsoft.Extensions.Http (>= 6.0.0)
- Microsoft.Extensions.Options (>= 6.0.0)
- Neuroglia.Serialization.Dynamic (>= 2.0.11)
- Neuroglia.Serialization.Json (>= 2.0.11)
- Neuroglia.Serialization.NewtonsoftJson (>= 2.0.11)
- Neuroglia.Serialization.Protobuf (>= 2.0.11)
- Neuroglia.Serialization.YamlDotNet (>= 2.0.11)
- Newtonsoft.Json (>= 13.0.1)
- Newtonsoft.Json.Schema (>= 3.0.14)
- Octokit (>= 4.0.1)
- protobuf-net.Core (>= 3.1.25)
- YamlDotNet (>= 12.0.2)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on ServerlessWorkflow.Sdk:
Package | Downloads |
---|---|
Synapse.Integration
This package contains everything you need to integrate Synapse WFMS and its APIs |
|
ServerlessWorkflow.Sdk.IO
Contains services used to read and write ServerlessWorkflow workflow definitions |
|
ServerlessWorkflow.Sdk.Builders
Contains services used to build ServerlessWorkflow workflow definitions programatically |
|
Synapse.Sdk
Contains the definitions for all resources used by Synapse |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on ServerlessWorkflow.Sdk:
Repository | Stars |
---|---|
serverlessworkflow/synapse
Serverless Workflow Management System (WFMS)
|
Version | Downloads | Last updated | |
---|---|---|---|
1.0.0-alpha5.2 | 39 | 11/20/2024 | |
1.0.0-alpha5.1 | 261 | 10/25/2024 | |
1.0.0-alpha5 | 157 | 10/22/2024 | |
1.0.0-alpha4.1 | 58 | 10/22/2024 | |
1.0.0-alpha4 | 125 | 10/18/2024 | |
1.0.0-alpha3.1 | 71 | 10/18/2024 | |
1.0.0-alpha3 | 306 | 10/11/2024 | |
1.0.0-alpha2.16 | 168 | 10/1/2024 | |
1.0.0-alpha2.15 | 467 | 9/8/2024 | |
1.0.0-alpha2.14 | 69 | 9/6/2024 | |
1.0.0-alpha2.13 | 56 | 9/6/2024 | |
1.0.0-alpha2.12 | 169 | 8/30/2024 | |
1.0.0-alpha2.11 | 130 | 8/21/2024 | |
1.0.0-alpha2.10 | 71 | 8/21/2024 | |
1.0.0-alpha2.9 | 73 | 8/21/2024 | |
1.0.0-alpha2.8 | 120 | 8/9/2024 | |
1.0.0-alpha2.7 | 69 | 8/8/2024 | |
1.0.0-alpha2.6 | 67 | 6/27/2024 | |
1.0.0-alpha2.5 | 114 | 6/26/2024 | |
1.0.0-alpha2.4 | 53 | 6/26/2024 | |
1.0.0-alpha2.3 | 50 | 6/26/2024 | |
1.0.0-alpha2.2 | 57 | 6/25/2024 | |
1.0.0-alpha2.1 | 76 | 6/21/2024 | |
1.0.0-alpha2 | 97 | 6/19/2024 | |
1.0.0-alpha1 | 219 | 5/22/2024 | |
0.8.8 | 264 | 1/4/2024 | |
0.8.7 | 794 | 6/29/2023 | |
0.8.6 | 375 | 11/30/2022 | |
0.8.5 | 349 | 11/18/2022 | |
0.8.4 | 14,481 | 11/4/2022 | |
0.8.3 | 7,667 | 10/26/2022 | |
0.8.2 | 412 | 9/30/2022 | |
0.8.1.16 | 4,445 | 9/28/2022 | |
0.8.1.15 | 1,620 | 9/22/2022 | |
0.8.1.14 | 3,714 | 9/9/2022 | |
0.8.1.13 | 418 | 9/7/2022 | |
0.8.1.12 | 405 | 9/7/2022 | |
0.8.1.11 | 6,069 | 8/30/2022 | |
0.8.1.10 | 2,694 | 8/23/2022 | |
0.8.1.9 | 443 | 8/23/2022 | |
0.8.1.8 | 3,858 | 8/11/2022 | |
0.8.1.7 | 1,588 | 8/9/2022 | |
0.8.1.6 | 1,744 | 5/20/2022 | |
0.8.1.5 | 441 | 5/20/2022 | |
0.8.1.4 | 479 | 5/18/2022 | |
0.8.1.3 | 439 | 5/17/2022 | |
0.8.1.2 | 462 | 5/17/2022 | |
0.8.1.1 | 417 | 5/17/2022 | |
0.8.1 | 429 | 5/16/2022 | |
0.8.0.22 | 430 | 5/16/2022 | |
0.8.0.21 | 525 | 5/10/2022 | |
0.8.0.20 | 660 | 4/14/2022 | |
0.8.0.19 | 594 | 4/14/2022 | |
0.8.0.18 | 444 | 4/14/2022 | |
0.8.0.17 | 460 | 4/13/2022 | |
0.8.0.16 | 447 | 4/13/2022 | |
0.8.0.15 | 587 | 3/7/2022 | |
0.8.0.14 | 434 | 3/7/2022 | |
0.8.0.13 | 473 | 3/3/2022 | |
0.8.0.12 | 441 | 3/2/2022 | |
0.8.0.11 | 459 | 2/25/2022 | |
0.8.0.10 | 462 | 2/24/2022 | |
0.8.0.9 | 472 | 2/24/2022 | |
0.8.0.8 | 439 | 2/23/2022 | |
0.8.0.7 | 427 | 2/23/2022 | |
0.8.0.6 | 442 | 2/22/2022 | |
0.8.0.5 | 422 | 2/21/2022 | |
0.8.0.4 | 433 | 2/21/2022 | |
0.8.0.3 | 453 | 2/18/2022 | |
0.8.0.2 | 446 | 2/15/2022 | |
0.8.0.1 | 428 | 2/14/2022 | |
0.8.0 | 462 | 2/14/2022 | |
0.7.4.4 | 395 | 7/2/2021 | |
0.7.4.3 | 372 | 7/2/2021 | |
0.7.4.2 | 322 | 7/2/2021 | |
0.7.4.1 | 304 | 7/1/2021 | |
0.7.4 | 349 | 7/1/2021 | |
0.7.3 | 319 | 6/16/2021 | |
0.7.2 | 351 | 6/8/2021 | |
0.7.1 | 370 | 6/3/2021 | |
0.7.0 | 314 | 6/2/2021 | |
0.6.3 | 372 | 5/27/2021 | |
0.6.2 | 344 | 5/27/2021 | |
0.6.1 | 804 | 4/19/2021 | |
0.6.0 | 383 | 4/3/2021 |