LazyStack

LazyStack Generate Project Tool

LazyStack ingests your application's OpenAPI specification to generate your C# projects and Serverless Application Model (SAM) file(s). In addition, LazyStack reads generator "directives" from your application's LazyStack.yaml file to control various generation options.

The LazyStack Generate Project tool is available as a .NET Tool and as a Visual Studio IDE (Windows) Extension.

The .NET Tools command has this syntax:

lazystack projects [<solutionfilepath>] 

If this command is executed in the solution folder then the solutionfile path is not required as the .sln file will be used.

This command is also available in the Visual Studio IDE (Windows) Tools menu.

This command ingests your application's OpenAPI specification to generate your C# projects and Serverless Application Model (SAM) file(s). In addition, LazyStack reads generator "directives" from your application's LazyStack.yaml file to control various generation options.

Note that your applications OpenAPI specification must have the same name as the solution file but have a .yaml suffix.

You drive what is generated by supplying:

  • OpenApi Specification - your OpenApi REST specification.
  • LazyStack.yaml - LazyStack generator directives.
  • Optional AWS template - define additional AWS resources to merge into serverless.template.

LazyStack provides many directives, these include:

  • Stacks

    One or more stack definitions for different purposes. These would normally include stacks for Dev, Test and Prod.

  • DefaultApi

    Default ApiGateway to use.

  • ApiTagMap

    Specify one or more ApiGateway configurations. AWS provides different types of ApiGateways and it is not unusual to use more than one of these in a typical stack.

  • AwsResources

    Create new or override existing AWS Resource specifications.

  • AwsTemplate

    Load in an existing AWS CloudFormation template to extend your stack resources.

  • ProjectOptions
    • PackageReferences
    • ProjectReferences
    • ServiceRegistrations
    • Properties
    • CodeUriTarget
    • Runtime