Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
caeecb8
Added preliminary Rust binding to a whole lot of tspconfig.yaml files
LarryOsterman Nov 19, 2025
5d555e4
Fixed default crate version
LarryOsterman Nov 19, 2025
e5364fb
Reduced diff; verified package names
LarryOsterman Nov 20, 2025
596055d
One other unnecessary modification
LarryOsterman Nov 20, 2025
3097974
Merge branch 'main' into larryo/add_rust_tspconfigs
LarryOsterman Nov 20, 2025
f563b9f
Use double quotes for typespec-rust, not single quotes
LarryOsterman Nov 20, 2025
89cb592
Fixed quotes
LarryOsterman Nov 20, 2025
78a2184
Next TypeSpec Validation error
LarryOsterman Nov 20, 2025
1ceee62
prettier fixes 2
LarryOsterman Nov 20, 2025
4586277
Merge branch 'main' into larryo/add_rust_tspconfigs
LarryOsterman Nov 20, 2025
060a3a2
Use correct name and location for ARM crates
LarryOsterman Nov 21, 2025
13ca73d
Merge branch 'main' into larryo/add_rust_tspconfigs
LarryOsterman Nov 21, 2025
a5babae
Fixed huge typo in output-dir
LarryOsterman Nov 21, 2025
a0e2d88
Merge branch 'larryo/add_rust_tspconfigs' of https://github.com/Larry…
LarryOsterman Nov 21, 2025
91db6ef
Added a couple of preliminary rust validations
LarryOsterman Nov 21, 2025
9701966
Removed a validation
LarryOsterman Nov 21, 2025
68444bc
Added suppressions for rust
LarryOsterman Nov 21, 2025
a850334
More suppressions
LarryOsterman Nov 21, 2025
30559e1
Accidentally deleted a line
LarryOsterman Nov 21, 2025
29a41a7
3 more suppressions
LarryOsterman Nov 21, 2025
dba6513
Rust doesn't require azure flavor
LarryOsterman Nov 22, 2025
2682457
Merge branch 'main' into larryo/add_rust_tspconfigs
LarryOsterman Nov 22, 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
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
/* eslint-disable */
// TODO: Enable eslint, fix errors

Expand Down Expand Up @@ -628,6 +628,20 @@
}
}

// ----- Rust sub rules -----
export class TspConfigRustMgmtCrateNameSubRule extends TspconfigEmitterOptionsSubRuleBase {
constructor() {
super(
"@azure-tools/typespec-rust",
"crate-name",
new RegExp(/^azure_resourcemanager_(?:[a-z0-9]+_)*[a-z0-9]+$/),
);
}
protected skip(_: any, folder: string) {
return skipForDataPlane(folder);
}
}

export const defaultRules = [
new TspConfigCommonAzServiceDirMatchPatternSubRule(),
new TspConfigJavaAzEmitterOutputDirMatchPatternSubRule(),
Expand Down Expand Up @@ -659,6 +673,7 @@
new TspConfigCsharpMgmtNamespaceSubRule(),
new TspConfigCsharpAzEmitterOutputDirSubRule(),
new TspConfigCsharpMgmtEmitterOutputDirSubRule(),
new TspConfigRustMgmtCrateNameSubRule(),
];

export class SdkTspConfigValidationRule implements Rule {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ options:
generate-test: true
generate-sample: true
flavor: "azure"
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_advisor"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-java":
emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-advisor"
namespace: "com.azure.resourcemanager.advisor"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ options:
flavor: "azure"
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_agricultureplatform"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-java":
emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-agricultureplatform"
namespace: "com.azure.resourcemanager.agricultureplatform"
Expand Down
4 changes: 4 additions & 0 deletions specification/ai/Azure.AI.Agents/tspconfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ options:
generate-test: false
generate-sample: false
examples-dir: "{project-root}/examples"
"@azure-tools/typespec-rust":
crate-name: azure_ai_agents
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
api-version: "2025-05-15-preview"
Expand Down
4 changes: 4 additions & 0 deletions specification/ai/Azure.AI.Projects/tspconfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ options:
flavor: azure
generate-test: true
generate-sample: false
"@azure-tools/typespec-rust":
crate-name: azure_ai_projects
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@typespec/http-client-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{package-name}"
package-name: Azure.AI.Projects
Expand Down
6 changes: 6 additions & 0 deletions specification/ai/ContentUnderstanding/tspconfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ options:
generate-test: true
generate-sample: true
flavor: azure
"@azure-tools/typespec-rust":
crate-name: azure_ai_contentunderstanding
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-ts":
emitter-output-dir: "{output-dir}/{service-dir}/ai-content-understanding-rest"
is-modular-library: true
Expand All @@ -49,3 +53,5 @@ options:
partial-update: true
use-eclipse-language-server: false
flavor: azure
generate-test: false
generate-sample: false
4 changes: 4 additions & 0 deletions specification/ai/DocumentIntelligence/tspconfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ options:
flavor: azure
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: azure_ai_documentintelligence
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-java":
emitter-output-dir: "{output-dir}/{service-dir}/azure-ai-documentintelligence"
namespace: "com.azure.ai.documentintelligence"
Expand Down
4 changes: 4 additions & 0 deletions specification/ai/Face/tspconfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ options:
flavor: azure
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: azure_ai_vision_face
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
namespace: "Azure.AI.Vision.Face"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ options:
flavor: azure
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: azure_healthinsights_radiologyinsights
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-java":
emitter-output-dir: "{output-dir}/{service-dir}/azure-health-insights-radiologyinsights"
package-version: 1.1.0
Expand Down
4 changes: 4 additions & 0 deletions specification/ai/ImageAnalysis/tspconfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ options:
flavor: azure
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: azure_ai_vision_imageanalysis
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
namespace: "Azure.AI.Vision.ImageAnalysis"
Expand Down
4 changes: 4 additions & 0 deletions specification/apicenter/ApiCenter.DataApi/tspconfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ options:
flavor: azure
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: azure_apicenter
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
namespace: "azure.ApiCenter"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ options:
# namespace: "com.azure.resourcemanager.appcomplianceautomation"
# service-name: "App Compliance Automation"
# examples-directory: "{project-root}/examples"
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_appcomplianceautomation"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
linter:
extends:
- "@azure-tools/typespec-azure-rulesets/resource-manager"
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ options:
flavor: azure
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: azure_appconfiguration
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
namespace: "Azure.Data.AppConfiguration"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ options:
generate-test: true
generate-sample: true
flavor: azure
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_appconfiguration"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
clear-output-folder: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ options:
flavor: azure
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: azure_applicationinsights_livemetrics
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
namespace: "LiveMetrics"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ options:
flavor: "azure"
generate-test: false
generate-sample: false
"@azure-tools/typespec-rust":
crate-name: azure_security_attestation
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-csharp":
namespace: "Azure.Security.Attestation"
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ options:
generate-test: true
generate-sample: true
flavor: "azure"
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_dependencymap"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-java":
emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-dependencymap"
namespace: "com.azure.resourcemanager.dependencymap"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ options:
generate-test: true
generate-sample: true
flavor: "azure"
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_computefleet"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-java":
emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-computefleet"
namespace: com.azure.resourcemanager.computefleet
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ options:
flavor: "azure"
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_azurestackhcivm"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-go":
service-dir: "sdk/resourcemanager/azurestackhci"
emitter-output-dir: "{output-dir}/{service-dir}/armazurestackhcivm"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ options:
generate-test: true #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation
generate-sample: true #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation
flavor: azure #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_placeholder"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-java":
flavor: azure
namespace: com.azure.resourcemanager.azurestackhci
Expand Down
4 changes: 4 additions & 0 deletions specification/batch/Azure.Batch/tspconfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ options:
flavor: azure
generate-test: false
generate-sample: false
"@azure-tools/typespec-rust":
crate-name: azure_batch
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-ts":
emitter-output-dir: "{output-dir}/{service-dir}/batch-rest"
is-modular-library: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ options:
generate-test: true
generate-sample: true
flavor: "azure"
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_billingbenefits"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-java":
emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-billingbenefits"
namespace: "com.azure.resourcemanager.billingbenefits"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ options:
generate-test: true
generate-sample: true
flavor: "azure"
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_botservice"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-java":
emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-botservice"
namespace: "com.azure.resourcemanager.botservice"
Expand Down
4 changes: 4 additions & 0 deletions specification/carbon/Carbon.Management/tspconfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ options:
flavor: "azure"
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_carbonoptimization"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-csharp":
clear-output-folder: true
model-namespace: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ options:
generate-test: true
generate-sample: true
flavor: "azure"
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_cdn"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-java":
emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-cdn"
namespace: "com.azure.resourcemanager.cdn"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ options:
generate-test: true
generate-sample: true
flavor: "azure"
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_edgeactions"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-java":
emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-edgeactions"
namespace: "com.azure.resourcemanager.edgeactions"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ options:
flavor: "azure"
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_chaos"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
flavor: azure
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ options:
flavor: "azure"
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_cloudhealth"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-typespec/http-client-csharp-mgmt":
namespace: "Azure.ResourceManager.CloudHealth"
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ options:
flavor: "azure"
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: "azure_resourcemanager_trustedsigning"
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-ts":
experimental-extensible-enums: true
emitter-output-dir: "{output-dir}/{service-dir}/arm-trustedsigning"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ options:
flavor: azure
generate-test: true
generate-sample: true
"@azure-tools/typespec-rust":
crate-name: azure_ai_contentsafety
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-tools/typespec-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
namespace: "Azure.AI.ContentSafety"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ options:
generate-test: true
generate-sample: true
flavor: azure
"@azure-tools/typespec-rust":
crate-name: azure_ai_language_conversations
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-typespec/http-client-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
namespace: Azure.AI.Language.Conversations
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ options:
generate-test: true
generate-sample: true
flavor: azure
"@azure-tools/typespec-rust":
crate-name: azure_ai_language_conversations_authoring
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-typespec/http-client-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
namespace: Azure.AI.Language.Conversations.Authoring
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ options:
generate-test: true
generate-sample: true
flavor: azure
"@azure-tools/typespec-rust":
crate-name: azure_ai_language_documents
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-typespec/http-client-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
namespace: Azure.AI.Language.Documents
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ options:
generate-test: true
generate-sample: true
flavor: azure
"@azure-tools/typespec-rust":
crate-name: azure_ai_textanalytics
crate-version: "0.1.0"
emitter-output-dir: "{output-dir}/{service-dir}/{crate-name}"
"@azure-typespec/http-client-csharp":
emitter-output-dir: "{output-dir}/{service-dir}/{namespace}"
namespace: Azure.AI.Language.Text
Expand Down
Loading
Loading