Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
4a01d03
Add TSP.
kalbert312 Jul 1, 2025
ae345f4
Add 2022-08-01-preview examples.
kalbert312 Jul 1, 2025
c92a426
Add 2024-03-01 examples.
kalbert312 Jul 1, 2025
96bdae9
Work around response typing issue. TODO on x-ms-error-response.
kalbert312 Jul 1, 2025
c92f0f7
This is probably more semantically correct.
kalbert312 Jul 2, 2025
81cf79a
Fix differences
kalbert312 Jul 2, 2025
f7ea160
Supress + compact docs.
kalbert312 Jul 2, 2025
6fab128
Compact.
kalbert312 Jul 2, 2025
dcc09d0
Nevermind, tsp formatter doesn't like it.
kalbert312 Jul 2, 2025
a6b0780
Fix tspconfig
kalbert312 Jul 2, 2025
e6f42d0
Fix .NET SDK validation errors.
kalbert312 Jul 2, 2025
8c2b2d5
More suppressions
kalbert312 Jul 2, 2025
6b4ae76
Remove these I don't think it's needed
kalbert312 Jul 2, 2025
a1c3fb9
Update examples.
kalbert312 Jul 2, 2025
ce20978
Align with checklist.
kalbert312 Jul 2, 2025
37f98e8
Commit generated files.
kalbert312 Jul 2, 2025
c5d0245
tsp format .
kalbert312 Jul 2, 2025
1e5011d
Fix failing typespec config validation.
kalbert312 Jul 2, 2025
f1e67d5
Fix management group name and body name in examples.
kalbert312 Jul 2, 2025
ba173da
Fix model validation problems.
kalbert312 Jul 2, 2025
a67891c
Fix tspconfig.
kalbert312 Jul 2, 2025
77f002b
tsp compile .
kalbert312 Jul 2, 2025
fa3389c
More ModelValidation fixes.
kalbert312 Jul 2, 2025
1534101
Fix lintdiff error.
kalbert312 Jul 2, 2025
f94794a
Update to v6 common types per lint warnings.
kalbert312 Jul 2, 2025
1ed402e
tsp compile . for the provisioning state fix.
kalbert312 Jul 2, 2025
ce90f47
Rename, add csharp filter.
kalbert312 Jul 3, 2025
a99c71d
Update suppression notes.
kalbert312 Jul 3, 2025
e7e668a
Update notes.
kalbert312 Jul 3, 2025
fc80f72
Remove language-specific configs per TSP migration for Bicep.Manageme…
kalbert312 Jul 3, 2025
29f89b3
Merge branch 'main' into kylea/stacks-tsp-migration
kalbert312 Jul 8, 2025
b5616a2
Fix package names.
kalbert312 Jul 8, 2025
51359fd
Attempt to fix some breaking changes/back-compat issues.
kalbert312 Jul 8, 2025
da6337c
Don't rename in the response.
kalbert312 Jul 8, 2025
dc5baf9
Back compat fixes
kalbert312 Jul 8, 2025
74a8875
Fix examples.
kalbert312 Jul 8, 2025
3e94836
Breaking changes fixes.
kalbert312 Jul 8, 2025
219bf13
Merge branch 'main' into kylea/stacks-tsp-migration
kalbert312 Jul 9, 2025
628cf7c
This isn't needed.
kalbert312 Jul 9, 2025
f0a0db6
Based on the examples, I don't think this is proper usage.
kalbert312 Aug 5, 2025
9549be4
Merge branch 'main' into kylea/stacks-tsp-migration
kalbert312 Aug 5, 2025
f3d6e3b
Merge branch 'main' into kylea/stacks-tsp-migration
kalbert312 Aug 8, 2025
86959ef
Merge branch 'main' into kylea/stacks-tsp-migration
kalbert312 Aug 11, 2025
67f2f14
resolve breaking changes
Aug 18, 2025
f45b09a
update
Aug 18, 2025
01bec57
update
Aug 18, 2025
164c9cc
Merge branch 'main' into kylea/stacks-tsp-migration
kalbert312 Aug 18, 2025
f507310
Update tspconfig.yaml
v-jiaodi Aug 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
144 changes: 144 additions & 0 deletions specification/resources/DeploymentStacks.Management/back-compat.tsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
import "@azure-tools/typespec-client-generator-core";
import "@typespec/openapi";
import "./routes.tsp";

using Azure.ClientGenerator.Core;
using TypeSpec.OpenAPI;

namespace Microsoft.Resources.DeploymentStacks;

#suppress "deprecated" "Backwards compat with old swagger"
@@flattenProperty(DeploymentStack.properties);

@@clientName(DeploymentStacksAtResourceGroup.createOrUpdate::parameters.resource,
"deploymentStack"
);
@@clientName(DeploymentStacksAtSubscription.createOrUpdate::parameters.resource,
"deploymentStack"
);
@@clientName(DeploymentStacksAtManagementGroup.createOrUpdate::parameters.resource,
"deploymentStack"
);

@@clientName(DeploymentStacksAtResourceGroup.validateStack::parameters.body,
"deploymentStack"
);
@@clientName(DeploymentStacksAtSubscription.validateStack::parameters.body,
"deploymentStack"
);
@@clientName(DeploymentStacksAtManagementGroup.validateStack::parameters.body,
"deploymentStack"
);

// Client names and locations for ResourceGroup operations
@@clientName(DeploymentStacksAtResourceGroup.get, "getAtResourceGroup");

@@clientLocation(DeploymentStacksAtResourceGroup.get, "DeploymentStacks");

@@clientName(DeploymentStacksAtResourceGroup.list, "listAtResourceGroup");

@@clientLocation(DeploymentStacksAtResourceGroup.list, "DeploymentStacks");

@@clientName(DeploymentStacksAtResourceGroup.validateStack,
"validateStackAtResourceGroup"
);

@@clientLocation(DeploymentStacksAtResourceGroup.validateStack,
"DeploymentStacks"
);

@@clientName(DeploymentStacksAtResourceGroup.createOrUpdate,
"createOrUpdateAtResourceGroup"
);

@@clientLocation(DeploymentStacksAtResourceGroup.createOrUpdate,
"DeploymentStacks"
);

@@clientName(DeploymentStacksAtResourceGroup.delete, "deleteAtResourceGroup");

@@clientLocation(DeploymentStacksAtResourceGroup.delete, "DeploymentStacks");

@@clientName(DeploymentStacksAtResourceGroup.exportTemplate,
"exportTemplateAtResourceGroup"
);

@@clientLocation(DeploymentStacksAtResourceGroup.exportTemplate,
"DeploymentStacks"
);

// Client names and locations for Subscription operations
@@clientName(DeploymentStacksAtSubscription.get, "getAtSubscription");

@@clientLocation(DeploymentStacksAtSubscription.get, "DeploymentStacks");

@@clientName(DeploymentStacksAtSubscription.list, "listAtSubscription");

@@clientLocation(DeploymentStacksAtSubscription.list, "DeploymentStacks");

@@clientName(DeploymentStacksAtSubscription.validateStack,
"validateStackAtSubscription"
);

@@clientLocation(DeploymentStacksAtSubscription.validateStack,
"DeploymentStacks"
);

@@clientName(DeploymentStacksAtSubscription.createOrUpdate,
"createOrUpdateAtSubscription"
);

@@clientLocation(DeploymentStacksAtSubscription.createOrUpdate,
"DeploymentStacks"
);

@@clientName(DeploymentStacksAtSubscription.delete, "deleteAtSubscription");

@@clientLocation(DeploymentStacksAtSubscription.delete, "DeploymentStacks");

@@clientName(DeploymentStacksAtSubscription.exportTemplate,
"exportTemplateAtSubscription"
);

@@clientLocation(DeploymentStacksAtSubscription.exportTemplate,
"DeploymentStacks"
);

// Client names and locations for ManagementGroup operations
@@clientName(DeploymentStacksAtManagementGroup.get, "getAtManagementGroup");

@@clientLocation(DeploymentStacksAtManagementGroup.get, "DeploymentStacks");

@@clientName(DeploymentStacksAtManagementGroup.list, "listAtManagementGroup");

@@clientLocation(DeploymentStacksAtManagementGroup.list, "DeploymentStacks");

@@clientName(DeploymentStacksAtManagementGroup.validateStack,
"validateStackAtManagementGroup"
);

@@clientLocation(DeploymentStacksAtManagementGroup.validateStack,
"DeploymentStacks"
);

@@clientName(DeploymentStacksAtManagementGroup.createOrUpdate,
"createOrUpdateAtManagementGroup"
);

@@clientLocation(DeploymentStacksAtManagementGroup.createOrUpdate,
"DeploymentStacks"
);

@@clientName(DeploymentStacksAtManagementGroup.delete,
"deleteAtManagementGroup"
);

@@clientLocation(DeploymentStacksAtManagementGroup.delete, "DeploymentStacks");

@@clientName(DeploymentStacksAtManagementGroup.exportTemplate,
"exportTemplateAtManagementGroup"
);

@@clientLocation(DeploymentStacksAtManagementGroup.exportTemplate,
"DeploymentStacks"
);
15 changes: 15 additions & 0 deletions specification/resources/DeploymentStacks.Management/client.tsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import "./main.tsp";
import "@azure-tools/typespec-client-generator-core";

using Azure.ClientGenerator.Core;
using Microsoft.Resources.DeploymentStacks;

@@clientName(DeploymentParameter, "DeploymentParameterItem", "csharp"); // .NET SDK validation: cannot end in "Parameter"
@@clientName(DeploymentStackTemplateDefinition,
"DeploymentStackTemplateExportResult",
"csharp"
); // .NET SDK validation: cannot end in "Definition"

@@alternateType(DeploymentStackProperties.template, unknown, "go");
@@alternateType(DeploymentStackProperties.outputs, unknown, "go");
@@alternateType(DeploymentStackTemplateDefinition.template, unknown, "go");
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"operationId": "DeploymentStacks_ExportTemplateAtResourceGroup",
"title": "Export the Deployment template for a resource group Deployment stack",
"parameters": {
"api-version": "2022-08-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"deploymentStackName": "simpleDeploymentStack",
"resourceGroupName": "deploymentStacksRG",
"resourceScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/deploymentStacksRG"
},
"responses": {
"200": {
"body": {
"templateLink": {
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/deploymentStacksRG/providers/Microsoft.Resources/templateSpecs/templateSpec/versions/1.0"
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.4.1008.15138",
"templateHash": "1201162276450656794"
}
},
"functions": [],
"resources": [],
"outputs": {
"myOut": {
"type": "int",
"value": 1
}
}
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
{
"operationId": "DeploymentStacks_CreateOrUpdateAtManagementGroup",
"title": "Create or update a management group Deployment stack",
"parameters": {
"api-version": "2022-08-01-preview",
"managementGroupId": "myMg",
"deploymentStackName": "simpleDeploymentStack",
"deploymentStack": {
"location": "eastus",
"tags": {
"tagkey": "tagVal"
},
"properties": {
"actionOnUnmanage": {
"resources": "delete",
"resourceGroups": "delete",
"managementGroups": "detach"
},
"denySettings": {
"mode": "denyDelete",
"excludedPrincipals": [
"principal"
],
"excludedActions": [
"action"
],
"applyToChildScopes": false
},
"parameters": {
"parameter1": {
"value": "a string"
}
}
}
}
},
"responses": {
"200": {
"body": {
"id": "/providers/Microsoft.Management/managementGroups/myMg/providers/Microsoft.Resources/deploymentStacks/simpleDeploymentStack",
"type": "Microsoft.Resources/deploymentStacks",
"name": "simpleDeploymentStack",
"location": "eastus",
"tags": {
"tagkey": "tagVal"
},
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
},
"properties": {
"description": "my Description",
"actionOnUnmanage": {
"resources": "delete",
"resourceGroups": "delete",
"managementGroups": "detach"
},
"denySettings": {
"mode": "denyDelete",
"excludedPrincipals": [
"principal"
],
"excludedActions": [
"action"
],
"applyToChildScopes": false
},
"parameters": {
"parameter1": {
"value": "a string"
}
},
"provisioningState": "creating"
}
}
},
"201": {
"body": {
"id": "/providers/Microsoft.Management/managementGroups/myMg/providers/Microsoft.Resources/deploymentStacks/simpleDeploymentStack",
"type": "Microsoft.Resources/deploymentStacks",
"name": "simpleDeploymentStack",
"location": "eastus",
"tags": {
"tagkey": "tagVal"
},
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
},
"properties": {
"description": "my Description",
"actionOnUnmanage": {
"resources": "delete",
"resourceGroups": "delete",
"managementGroups": "detach"
},
"denySettings": {
"mode": "denyDelete",
"excludedPrincipals": [
"principal"
],
"excludedActions": [
"action"
],
"applyToChildScopes": false
},
"parameters": {
"parameter1": {
"value": "a string"
}
},
"provisioningState": "creating"
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"operationId": "DeploymentStacks_DeleteAtManagementGroup",
"title": "Delete a management group Deployment stack",
"parameters": {
"api-version": "2022-08-01-preview",
"managementGroupId": "myMg",
"deploymentStackName": "simpleDeploymentStack"
},
"responses": {
"200": {},
"202": {
"headers": {
"location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/c9bbccf4-e16a-4eb7-befb-2e2e5195c347?api-version=2018-08-01"
}
},
"204": {}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"operationId": "DeploymentStacks_ExportTemplateAtManagementGroup",
"title": "Export the Deployment template for a management group Deployment stack",
"parameters": {
"api-version": "2022-08-01-preview",
"managementGroupId": "myMg",
"deploymentStackName": "simpleDeploymentStack"
},
"responses": {
"200": {
"body": {
"templateLink": {
"id": "/providers/Microsoft.Management/managementGroups/myMg/providers/Microsoft.Resources/templateSpecs/templateSpec/versions/1.0"
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.4.1008.15138",
"templateHash": "1201162276450656794"
}
},
"functions": [],
"resources": [],
"outputs": {
"myOut": {
"type": "int",
"value": 1
}
}
}
}
}
}
}
Loading
Loading