Skip to content

Rename recipeKind and recipeLocation to kind and location in Recipe Packs #11879

@willtsai

Description

@willtsai

Overview of feature request

In the Recipe Packs API (Radius.Core/recipePacks), the per-recipe properties are currently named recipeKind and recipeLocation. Since these properties already live under a recipes.<recipe_name> map, the recipe prefix is redundant. Sibling properties like parameters and (proposed) outputs don't carry that prefix, which makes the naming inconsistent:

resource recipepack 'Radius.Core/recipePacks@2025-08-01-preview' = {
  name: 'aws-data-pack'
  properties: {
    recipes: {
      'Radius.Data/postgreSqlDatabases': {
        recipeKind: 'terraform'           // -> kind
        recipeLocation: 'terraform-aws-modules/rds/aws'  // -> location
        recipeParameters: { ... }         // -> parameters
        outputs: { ... }
      }
    }
  }
}

The original recipeKind/recipeLocation naming was carried over for symmetry with the legacy environment recipes (templateKind/templatePath), but in the new shape it reads as redundant. We should standardize on kind, location, parameters, and outputs before Recipe Packs goes to public launch so we don't have to make a breaking change later.

Acceptance criteria

  • recipeKind renamed to kind in the Recipe Packs resource type schema
  • recipeLocation renamed to location in the Recipe Packs resource type schema
  • Confirm parameters (and outputs, per the in-flight proposal) remain unprefixed for consistency
  • Backend/controller code, conversion logic, and validation updated
  • Samples, tutorials, and docs updated to use the new property names
  • Functional/unit tests updated and passing
  • Audit other new/preview API schemas to ensure we aren't introducing similar redundant prefixes elsewhere prior to GA

Additional context

Related in-flight work on Recipe Pack outputs: #11876

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions