ServerlessWorkflow.Sdk
0.8.0.7
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.0.7
NuGet\Install-Package ServerlessWorkflow.Sdk -Version 0.8.0.7
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.0.7" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ServerlessWorkflow.Sdk --version 0.8.0.7
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ServerlessWorkflow.Sdk, 0.8.0.7"
#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.0.7 // Install ServerlessWorkflow.Sdk as a Cake Tool #tool nuget:?package=ServerlessWorkflow.Sdk&version=0.8.0.7
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.7.4.4 | v0.7 |
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.2.0)
- FluentValidation.DependencyInjectionExtensions (>= 10.3.6)
- Iso8601DurationHelper (>= 1.0.5)
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- Microsoft.Extensions.Http (>= 6.0.0)
- Microsoft.Extensions.Options (>= 6.0.0)
- Neuroglia.Serialization.Json (>= 2.0.1.27)
- Neuroglia.Serialization.NewtonsoftJson (>= 2.0.1.27)
- Neuroglia.Serialization.Protobuf (>= 2.0.1.27)
- Neuroglia.Serialization.YamlDotNet (>= 2.0.1.27)
- Newtonsoft.Json (>= 13.0.1)
- Newtonsoft.Json.Schema (>= 3.0.14)
- protobuf-net.Core (>= 3.0.101)
- YamlDotNet (>= 11.2.1)
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.1 | 194 | 10/25/2024 | |
1.0.0-alpha5 | 150 | 10/22/2024 | |
1.0.0-alpha4.1 | 51 | 10/22/2024 | |
1.0.0-alpha4 | 119 | 10/18/2024 | |
1.0.0-alpha3.1 | 65 | 10/18/2024 | |
1.0.0-alpha3 | 300 | 10/11/2024 | |
1.0.0-alpha2.16 | 162 | 10/1/2024 | |
1.0.0-alpha2.15 | 460 | 9/8/2024 | |
1.0.0-alpha2.14 | 66 | 9/6/2024 | |
1.0.0-alpha2.13 | 53 | 9/6/2024 | |
1.0.0-alpha2.12 | 165 | 8/30/2024 | |
1.0.0-alpha2.11 | 127 | 8/21/2024 | |
1.0.0-alpha2.10 | 67 | 8/21/2024 | |
1.0.0-alpha2.9 | 69 | 8/21/2024 | |
1.0.0-alpha2.8 | 116 | 8/9/2024 | |
1.0.0-alpha2.7 | 66 | 8/8/2024 | |
1.0.0-alpha2.6 | 63 | 6/27/2024 | |
1.0.0-alpha2.5 | 111 | 6/26/2024 | |
1.0.0-alpha2.4 | 50 | 6/26/2024 | |
1.0.0-alpha2.3 | 47 | 6/26/2024 | |
1.0.0-alpha2.2 | 53 | 6/25/2024 | |
1.0.0-alpha2.1 | 72 | 6/21/2024 | |
1.0.0-alpha2 | 93 | 6/19/2024 | |
1.0.0-alpha1 | 215 | 5/22/2024 | |
0.8.8 | 256 | 1/4/2024 | |
0.8.7 | 790 | 6/29/2023 | |
0.8.6 | 371 | 11/30/2022 | |
0.8.5 | 345 | 11/18/2022 | |
0.8.4 | 14,469 | 11/4/2022 | |
0.8.3 | 7,664 | 10/26/2022 | |
0.8.2 | 408 | 9/30/2022 | |
0.8.1.16 | 4,441 | 9/28/2022 | |
0.8.1.15 | 1,617 | 9/22/2022 | |
0.8.1.14 | 3,710 | 9/9/2022 | |
0.8.1.13 | 415 | 9/7/2022 | |
0.8.1.12 | 402 | 9/7/2022 | |
0.8.1.11 | 6,066 | 8/30/2022 | |
0.8.1.10 | 2,691 | 8/23/2022 | |
0.8.1.9 | 440 | 8/23/2022 | |
0.8.1.8 | 3,854 | 8/11/2022 | |
0.8.1.7 | 1,585 | 8/9/2022 | |
0.8.1.6 | 1,741 | 5/20/2022 | |
0.8.1.5 | 438 | 5/20/2022 | |
0.8.1.4 | 476 | 5/18/2022 | |
0.8.1.3 | 436 | 5/17/2022 | |
0.8.1.2 | 459 | 5/17/2022 | |
0.8.1.1 | 414 | 5/17/2022 | |
0.8.1 | 426 | 5/16/2022 | |
0.8.0.22 | 426 | 5/16/2022 | |
0.8.0.21 | 520 | 5/10/2022 | |
0.8.0.20 | 657 | 4/14/2022 | |
0.8.0.19 | 591 | 4/14/2022 | |
0.8.0.18 | 440 | 4/14/2022 | |
0.8.0.17 | 456 | 4/13/2022 | |
0.8.0.16 | 444 | 4/13/2022 | |
0.8.0.15 | 584 | 3/7/2022 | |
0.8.0.14 | 428 | 3/7/2022 | |
0.8.0.13 | 470 | 3/3/2022 | |
0.8.0.12 | 437 | 3/2/2022 | |
0.8.0.11 | 456 | 2/25/2022 | |
0.8.0.10 | 459 | 2/24/2022 | |
0.8.0.9 | 469 | 2/24/2022 | |
0.8.0.8 | 435 | 2/23/2022 | |
0.8.0.7 | 423 | 2/23/2022 | |
0.8.0.6 | 438 | 2/22/2022 | |
0.8.0.5 | 418 | 2/21/2022 | |
0.8.0.4 | 430 | 2/21/2022 | |
0.8.0.3 | 450 | 2/18/2022 | |
0.8.0.2 | 442 | 2/15/2022 | |
0.8.0.1 | 425 | 2/14/2022 | |
0.8.0 | 458 | 2/14/2022 | |
0.7.4.4 | 390 | 7/2/2021 | |
0.7.4.3 | 369 | 7/2/2021 | |
0.7.4.2 | 317 | 7/2/2021 | |
0.7.4.1 | 300 | 7/1/2021 | |
0.7.4 | 346 | 7/1/2021 | |
0.7.3 | 316 | 6/16/2021 | |
0.7.2 | 347 | 6/8/2021 | |
0.7.1 | 366 | 6/3/2021 | |
0.7.0 | 310 | 6/2/2021 | |
0.6.3 | 366 | 5/27/2021 | |
0.6.2 | 341 | 5/27/2021 | |
0.6.1 | 800 | 4/19/2021 | |
0.6.0 | 380 | 4/3/2021 |