diff --git a/.github/workflows/_reusable-eng-tools-test.yaml b/.github/workflows/_reusable-eng-tools-test.yaml index bf2b2d80b7b6..0c7500dd07c6 100644 --- a/.github/workflows/_reusable-eng-tools-test.yaml +++ b/.github/workflows/_reusable-eng-tools-test.yaml @@ -33,7 +33,7 @@ jobs: with: node-version: ${{ matrix.node-version }}.x - - run: npm ci + - run: npm install --no-package-lock shell: pwsh - run: npm ls -a diff --git a/eng/pipelines/templates/steps/npm-install.yml b/eng/pipelines/templates/steps/npm-install.yml index 928e88ee9b31..8cb9cf43cf82 100644 --- a/eng/pipelines/templates/steps/npm-install.yml +++ b/eng/pipelines/templates/steps/npm-install.yml @@ -11,8 +11,8 @@ steps: - script: npm --version --loglevel info displayName: npm --version - - script: npm ci - displayName: npm ci + - script: npm install --no-package-lock --force + displayName: npm install --no-package-lock - script: npm ls -a displayName: npm ls -a diff --git a/eng/pipelines/typespec-validation-all.yml b/eng/pipelines/typespec-validation-all.yml index 9354cc45d7f3..65f9abfeb180 100644 --- a/eng/pipelines/typespec-validation-all.yml +++ b/eng/pipelines/typespec-validation-all.yml @@ -53,6 +53,9 @@ jobs: vmImage: $(OSVmImage) steps: + - script: git -c user.name="azure-sdk" -c user.email="azuresdk@microsoft.com" merge -Xours origin/main + displayName: git merge origin/main + - template: /eng/pipelines/templates/steps/npm-install.yml - pwsh: | diff --git a/eng/pipelines/typespec-validation.yml b/eng/pipelines/typespec-validation.yml index 59729ce5b1f8..03c5267d4df2 100644 --- a/eng/pipelines/typespec-validation.yml +++ b/eng/pipelines/typespec-validation.yml @@ -8,9 +8,12 @@ jobs: vmImage: ubuntu-22.04 steps: + - script: git -c user.name="azure-sdk" -c user.email="azuresdk@microsoft.com" merge -Xours origin/main + displayName: git merge origin/main + - template: /eng/pipelines/templates/steps/npm-install.yml - pwsh: | - $(Build.SourcesDirectory)/eng/scripts/TypeSpec-Validation.ps1 -GitClean -Verbose + $(Build.SourcesDirectory)/eng/scripts/TypeSpec-Validation.ps1 -GitClean -BaseCommitish HEAD~2 -Verbose displayName: Validate Impacted Specs ignoreLASTEXITCODE: true diff --git a/package.json b/package.json index 9b953df05fc1..cb27a701607d 100644 --- a/package.json +++ b/package.json @@ -1,20 +1,19 @@ { "name": "azure-rest-api-specs", "devDependencies": { - "@azure-tools/typespec-apiview": "0.4.8", - "@azure-tools/typespec-autorest": "0.43.0", - "@azure-tools/typespec-azure-core": "0.43.0", - "@azure-tools/typespec-azure-portal-core": "0.43.0", - "@azure-tools/typespec-azure-resource-manager": "0.43.0", - "@azure-tools/typespec-client-generator-core": "0.43.0", - "@azure-tools/typespec-azure-rulesets": "0.43.0", + "@azure-tools/typespec-autorest": "https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvMzkxNjYyMC9hcnRpZmFjdE5hbWUvcGFja2FnZXM1/content?format=file&subPath=%2Fazure-tools-typespec-autorest-0.44.0-pr-1081.20240627.11.tgz", + "@azure-tools/typespec-azure-core": "next", + "@azure-tools/typespec-azure-portal-core": "next", + "@azure-tools/typespec-azure-resource-manager": "https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvMzkxNjYyMC9hcnRpZmFjdE5hbWUvcGFja2FnZXM1/content?format=file&subPath=%2Fazure-tools-typespec-azure-resource-manager-0.44.0-pr-1081.20240627.11.tgz", + "@azure-tools/typespec-client-generator-core": "next", + "@azure-tools/typespec-azure-rulesets": "next", "@azure/avocado": "^0.8.4", - "@typespec/compiler": "0.57.0", - "@typespec/http": "0.57.0", - "@typespec/openapi": "0.57.0", - "@typespec/openapi3": "0.57.0", - "@typespec/rest": "0.57.0", - "@typespec/versioning": "0.57.0", + "@typespec/compiler": "next", + "@typespec/http": "next", + "@typespec/openapi": "next", + "@typespec/openapi3": "next", + "@typespec/rest": "next", + "@typespec/versioning": "next", "azure-rest-api-specs-eng-tools": "file:eng/tools", "oav": "^3.3.7", "prettier": "~3.2.5", diff --git a/specification/apicenter/ApiCenter.Management/Service.tsp b/specification/apicenter/ApiCenter.Management/Service.tsp index 17ecb746ffa1..ca3d3bc50ed4 100644 --- a/specification/apicenter/ApiCenter.Management/Service.tsp +++ b/specification/apicenter/ApiCenter.Management/Service.tsp @@ -29,7 +29,13 @@ interface Services { @doc("Creates new or updates existing API.") createOrUpdate is Azure.ResourceManager.ArmResourceCreateOrReplaceSync; @doc("Updates existing service.") - update is ArmResourcePatchSync; + update is ArmCustomPatchSync< + Service, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + Service, + ServiceProperties + > + >; @doc("Deletes specified service.") delete is ArmResourceDeleteSync; @doc("Returns a collection of services within the resource group.") diff --git a/specification/apicenter/ApiCenter.Management/tspconfig.yaml b/specification/apicenter/ApiCenter.Management/tspconfig.yaml index 955a20044884..eec21dc20bcb 100644 --- a/specification/apicenter/ApiCenter.Management/tspconfig.yaml +++ b/specification/apicenter/ApiCenter.Management/tspconfig.yaml @@ -4,6 +4,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/apicenter.json" examples-directory: "{project-root}/examples" use-read-only-status-schema: true diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/tspconfig.yaml b/specification/appcomplianceautomation/AppComplianceAutomation.Management/tspconfig.yaml index 77659b374742..349fac261db9 100644 --- a/specification/appcomplianceautomation/AppComplianceAutomation.Management/tspconfig.yaml +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/tspconfig.yaml @@ -11,6 +11,7 @@ options: use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/appcomplianceautomation.json" examples-directory: "{project-root}/examples" "@azure-tools/typespec-ts": diff --git a/specification/azurefleet/AzureFleet.Management/tspconfig.yaml b/specification/azurefleet/AzureFleet.Management/tspconfig.yaml index 6e187771dfb0..b4bb2528115e 100644 --- a/specification/azurefleet/AzureFleet.Management/tspconfig.yaml +++ b/specification/azurefleet/AzureFleet.Management/tspconfig.yaml @@ -13,6 +13,7 @@ options: use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/azurefleet.json" examples-directory: "examples" "@azure-tools/typespec-csharp": diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/tspconfig.yaml b/specification/azurelargeinstance/AzureLargeInstance.Management/tspconfig.yaml index 1b841cd17569..61f22c94b6dd 100644 --- a/specification/azurelargeinstance/AzureLargeInstance.Management/tspconfig.yaml +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/tspconfig.yaml @@ -7,6 +7,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/azurelargeinstance.json" examples-directory: "{project-root}/examples" use-read-only-status-schema: true diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/tspconfig.yaml b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/tspconfig.yaml index 0a082d97d76d..b167c05b8ccb 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/tspconfig.yaml +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/tspconfig.yaml @@ -5,6 +5,7 @@ options: use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/StackHCIVM/{version-status}/{version}/stackhcivm.json" examples-directory: "{project-root}/examples" linter: diff --git a/specification/azurestackhci/Operations.Management/tspconfig.yaml b/specification/azurestackhci/Operations.Management/tspconfig.yaml index dc13f45348b5..6b99ce631a7a 100644 --- a/specification/azurestackhci/Operations.Management/tspconfig.yaml +++ b/specification/azurestackhci/Operations.Management/tspconfig.yaml @@ -5,6 +5,7 @@ options: use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/operations/{version-status}/{version}/operations.json" examples-directory: "{project-root}/examples" linter: diff --git a/specification/codesigning/CodeSigning.Management/tspconfig.yaml b/specification/codesigning/CodeSigning.Management/tspconfig.yaml index 536cbbf0464c..a1bacf9212f8 100644 --- a/specification/codesigning/CodeSigning.Management/tspconfig.yaml +++ b/specification/codesigning/CodeSigning.Management/tspconfig.yaml @@ -5,6 +5,7 @@ options: use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/codeSigningAccount.json" examples-directory: "{project-root}/examples" linter: diff --git a/specification/communitytraining/Community.Management/main.tsp b/specification/communitytraining/Community.Management/main.tsp index 2c2a9c763bc4..cef54df93a7c 100644 --- a/specification/communitytraining/Community.Management/main.tsp +++ b/specification/communitytraining/Community.Management/main.tsp @@ -144,9 +144,12 @@ interface CommunityTrainings { CommunityTraining, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchAsync< + update is ArmCustomPatchAsync< CommunityTraining, - CommunityTrainingProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + CommunityTraining, + CommunityTrainingProperties + > >; delete is ArmResourceDeleteAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/communitytraining/Community.Management/tspconfig.yaml b/specification/communitytraining/Community.Management/tspconfig.yaml index 096a9c28d477..e0f3d81e99ec 100644 --- a/specification/communitytraining/Community.Management/tspconfig.yaml +++ b/specification/communitytraining/Community.Management/tspconfig.yaml @@ -4,6 +4,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/CommunityTrainings.json" examples-directory: "{project-root}/examples" linter: diff --git a/specification/containerservice/Fleet.Management/fleetmember.tsp b/specification/containerservice/Fleet.Management/fleetmember.tsp index 970f6dd7cd42..cc4a622394d5 100644 --- a/specification/containerservice/Fleet.Management/fleetmember.tsp +++ b/specification/containerservice/Fleet.Management/fleetmember.tsp @@ -90,9 +90,12 @@ interface FleetMembers { @sharedRoute @added(Versions.v2023_03_15_preview) @removed(Versions.v2023_06_15_preview) - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< FleetMember, - FleetMemberProperties, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + FleetMember, + FleetMemberProperties + >, Azure.ResourceManager.Foundations.BaseParameters & IfMatchParameters >; @@ -107,9 +110,12 @@ interface FleetMembers { `final-state-via`: "original-uri", } ) - updateAsync is ArmResourcePatchAsync< + updateAsync is ArmCustomPatchAsync< FleetMember, - FleetMemberProperties, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + FleetMember, + FleetMemberProperties + >, Azure.ResourceManager.Foundations.BaseParameters & IfMatchParameters >; diff --git a/specification/containerservice/Fleet.Management/tspconfig.yaml b/specification/containerservice/Fleet.Management/tspconfig.yaml index b644283a6ff6..e2d302abddb5 100644 --- a/specification/containerservice/Fleet.Management/tspconfig.yaml +++ b/specification/containerservice/Fleet.Management/tspconfig.yaml @@ -8,6 +8,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." arm-types-dir: "{project-root}/../../common-types/resource-management" examples-directory: "{project-root}/examples" diff --git a/specification/containerstorage/ContainerStorage.Management/pool.tsp b/specification/containerstorage/ContainerStorage.Management/pool.tsp index 662e943c31e3..67ca32577450 100644 --- a/specification/containerstorage/ContainerStorage.Management/pool.tsp +++ b/specification/containerstorage/ContainerStorage.Management/pool.tsp @@ -25,7 +25,10 @@ interface Pools { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; delete is ArmResourceDeleteWithoutOkAsync; - update is ArmResourcePatchAsync; + update is ArmCustomPatchAsync< + Pool, + Azure.ResourceManager.Foundations.ResourceUpdateModel + >; listByResourceGroup is ArmResourceListByParent; listBySubscription is ArmListBySubscription; } diff --git a/specification/containerstorage/ContainerStorage.Management/tspconfig.yaml b/specification/containerstorage/ContainerStorage.Management/tspconfig.yaml index a8b7fc07b7bd..f35087b49cda 100644 --- a/specification/containerstorage/ContainerStorage.Management/tspconfig.yaml +++ b/specification/containerstorage/ContainerStorage.Management/tspconfig.yaml @@ -8,6 +8,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/containerstorage.json" diff --git a/specification/containerstorage/ContainerStorage.Management/volume.tsp b/specification/containerstorage/ContainerStorage.Management/volume.tsp index 4187903a5615..dccfe3cade40 100644 --- a/specification/containerstorage/ContainerStorage.Management/volume.tsp +++ b/specification/containerstorage/ContainerStorage.Management/volume.tsp @@ -25,7 +25,13 @@ interface Volumes { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; delete is ArmResourceDeleteWithoutOkAsync; - update is ArmResourcePatchAsync; + update is ArmCustomPatchAsync< + Volume, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + Volume, + VolumeProperties + > + >; listByPool is ArmResourceListByParent; } diff --git a/specification/databasewatcher/DatabaseWatcher.Management/tspconfig.yaml b/specification/databasewatcher/DatabaseWatcher.Management/tspconfig.yaml index 9f6f5fd2adb2..553a0d73b3f8 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/tspconfig.yaml +++ b/specification/databasewatcher/DatabaseWatcher.Management/tspconfig.yaml @@ -4,6 +4,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/Watcher.json" use-read-only-status-schema: true diff --git a/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp b/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp index 4d90639e4cf3..778db58f7aa7 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp +++ b/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp @@ -112,7 +112,13 @@ interface Watchers { Watcher, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchAsync; + update is ArmCustomPatchAsync< + Watcher, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + Watcher, + WatcherProperties + > + >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; listBySubscription is ArmListBySubscription; diff --git a/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp b/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp index 6dbe9f00e252..7163dbb8bd22 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp @@ -127,9 +127,12 @@ interface AssetEndpointProfiles { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchAsync< + update is ArmCustomPatchAsync< AssetEndpointProfile, - AssetEndpointProfileProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + AssetEndpointProfile, + AssetEndpointProfileProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; diff --git a/specification/deviceregistry/DeviceRegistry.Management/assets.tsp b/specification/deviceregistry/DeviceRegistry.Management/assets.tsp index d31b2560f6e9..6a2c3bf87e29 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/assets.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/assets.tsp @@ -212,7 +212,13 @@ interface Assets { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchAsync; + update is ArmCustomPatchAsync< + Asset, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + Asset, + AssetProperties + > + >; delete is ArmResourceDeleteWithoutOkAsync; diff --git a/specification/deviceregistry/DeviceRegistry.Management/tspconfig.yaml b/specification/deviceregistry/DeviceRegistry.Management/tspconfig.yaml index 2eb6b856421a..62cbc884e8d2 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/tspconfig.yaml +++ b/specification/deviceregistry/DeviceRegistry.Management/tspconfig.yaml @@ -7,6 +7,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/deviceregistry.json" examples-directory: "{project-root}/examples" use-read-only-status-schema: true diff --git a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp index a4e453a567fa..43d64ddde184 100644 --- a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp +++ b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp @@ -408,7 +408,10 @@ interface Pools { Pool, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchAsync; + update is ArmCustomPatchAsync< + Pool, + Azure.ResourceManager.Foundations.ResourceUpdateModel + >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; listBySubscription is ArmListBySubscription; diff --git a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/tspconfig.yaml b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/tspconfig.yaml index ce8b87cba68f..9cfc38e9bd97 100644 --- a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/tspconfig.yaml +++ b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/tspconfig.yaml @@ -12,6 +12,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/devopsinfrastructure.json" omit-unreachable-types: true diff --git a/specification/edgezones/EdgeZones.Management/tspconfig.yaml b/specification/edgezones/EdgeZones.Management/tspconfig.yaml index 22e3d53aa5fe..a9d5751de720 100644 --- a/specification/edgezones/EdgeZones.Management/tspconfig.yaml +++ b/specification/edgezones/EdgeZones.Management/tspconfig.yaml @@ -9,6 +9,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." examples-directory: "examples" diff --git a/specification/fabric/Microsoft.Fabric.Management/capacity.tsp b/specification/fabric/Microsoft.Fabric.Management/capacity.tsp index 0f44dbf03559..4b29d66aaabb 100644 --- a/specification/fabric/Microsoft.Fabric.Management/capacity.tsp +++ b/specification/fabric/Microsoft.Fabric.Management/capacity.tsp @@ -32,7 +32,13 @@ model FabricCapacity is TrackedResource { interface FabricCapacities { get is ArmResourceRead; createOrUpdate is ArmResourceCreateOrReplaceAsync; - update is ArmResourcePatchSync; + update is ArmCustomPatchSync< + FabricCapacity, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + FabricCapacity, + FabricCapacityProperties + > + >; delete is ArmResourceDeleteSync; listByResourceGroup is ArmResourceListByParent; listBySubscription is ArmListBySubscription; diff --git a/specification/fabric/Microsoft.Fabric.Management/tspconfig.yaml b/specification/fabric/Microsoft.Fabric.Management/tspconfig.yaml index b5074dd778f1..410237848d81 100644 --- a/specification/fabric/Microsoft.Fabric.Management/tspconfig.yaml +++ b/specification/fabric/Microsoft.Fabric.Management/tspconfig.yaml @@ -5,6 +5,7 @@ options: use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/fabric.json" examples-directory: "{project-root}/examples" linter: diff --git a/specification/informatica/Informatica.DataManagement/tspconfig.yaml b/specification/informatica/Informatica.DataManagement/tspconfig.yaml index 8097586e6389..e2a7de0c22cc 100644 --- a/specification/informatica/Informatica.DataManagement/tspconfig.yaml +++ b/specification/informatica/Informatica.DataManagement/tspconfig.yaml @@ -7,6 +7,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" examples-directory: "{project-root}/examples" "@azure-tools/typespec-python": diff --git a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/tspconfig.yaml b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/tspconfig.yaml index e0ea3255299a..282f7955f593 100644 --- a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/tspconfig.yaml +++ b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/tspconfig.yaml @@ -4,6 +4,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" examples-directory: "{project-root}/examples" omit-unreachable-types: true diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp index e75e801e8293..1d49d124637a 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp @@ -44,7 +44,13 @@ interface Mq { MqResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync; + update is ArmCustomPatchSync< + MqResource, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + MqResource, + MqProperties + > + >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; listBySubscription is ArmListBySubscription; @@ -60,7 +66,13 @@ interface Broker { BrokerResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync; + update is ArmCustomPatchSync< + BrokerResource, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + BrokerResource, + BrokerProperties + > + >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; } @@ -75,9 +87,12 @@ interface BrokerListener { BrokerListenerResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< BrokerListenerResource, - BrokerListenerProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + BrokerListenerResource, + BrokerListenerProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -93,9 +108,12 @@ interface BrokerAuthentication { BrokerAuthenticationResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< BrokerAuthenticationResource, - BrokerAuthenticationProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + BrokerAuthenticationResource, + BrokerAuthenticationProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -111,9 +129,12 @@ interface BrokerAuthorization { BrokerAuthorizationResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< BrokerAuthorizationResource, - BrokerAuthorizationProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + BrokerAuthorizationResource, + BrokerAuthorizationProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -129,9 +150,12 @@ interface MqttBridgeConnector { MqttBridgeConnectorResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< MqttBridgeConnectorResource, - MqttBridgeConnectorProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + MqttBridgeConnectorResource, + MqttBridgeConnectorProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -147,9 +171,12 @@ interface MqttBridgeTopicMap { MqttBridgeTopicMapResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< MqttBridgeTopicMapResource, - MqttBridgeTopicMapProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + MqttBridgeTopicMapResource, + MqttBridgeTopicMapProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -165,9 +192,12 @@ interface DiagnosticService { DiagnosticServiceResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< DiagnosticServiceResource, - DiagnosticServiceProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + DiagnosticServiceResource, + DiagnosticServiceProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -183,9 +213,12 @@ interface DataLakeConnector { DataLakeConnectorResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< DataLakeConnectorResource, - DataLakeConnectorProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + DataLakeConnectorResource, + DataLakeConnectorProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -201,9 +234,12 @@ interface DataLakeConnectorTopicMap { DataLakeTopicMapResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< DataLakeTopicMapResource, - DataLakeConnectorTopicMapProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + DataLakeTopicMapResource, + DataLakeConnectorTopicMapProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -219,9 +255,12 @@ interface KafkaConnector { KafkaConnectorResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< KafkaConnectorResource, - KafkaConnectorProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + KafkaConnectorResource, + KafkaConnectorProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -237,9 +276,12 @@ interface KafkaConnectorTopicMap { KafkaTopicMapResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< KafkaTopicMapResource, - KafkaTopicMapProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + KafkaTopicMapResource, + KafkaTopicMapProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/tspconfig.yaml b/specification/iotoperationsmq/IoTOperationsMQ.Management/tspconfig.yaml index 2db459dcd55a..a389d49950a7 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/tspconfig.yaml +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/tspconfig.yaml @@ -4,6 +4,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/iotoperationsmq.json" examples-directory: "{project-root}/examples" linter: diff --git a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/tspconfig.yaml b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/tspconfig.yaml index e0ea3255299a..282f7955f593 100644 --- a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/tspconfig.yaml +++ b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/tspconfig.yaml @@ -4,6 +4,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" examples-directory: "{project-root}/examples" omit-unreachable-types: true diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp b/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp index 3c8e39dadbc4..e3a4bc25cc91 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp +++ b/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp @@ -59,7 +59,13 @@ interface Organizations { OrganizationResource, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchAsync; + update is ArmCustomPatchAsync< + OrganizationResource, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + OrganizationResource, + OrganizationProperties + > + >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; listBySubscription is ArmListBySubscription; diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/tspconfig.yaml b/specification/liftrastronomer/Astronomer.Astro.Management/tspconfig.yaml index e014e74cb57b..5de816ca10f4 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/tspconfig.yaml +++ b/specification/liftrastronomer/Astronomer.Astro.Management/tspconfig.yaml @@ -10,5 +10,6 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/astronomer.json" examples-directory: "{project-root}/examples" diff --git a/specification/loadtestservice/LoadTestService.Management/routes.tsp b/specification/loadtestservice/LoadTestService.Management/routes.tsp index c42dca33c8df..4d93b1ce99e0 100644 --- a/specification/loadtestservice/LoadTestService.Management/routes.tsp +++ b/specification/loadtestservice/LoadTestService.Management/routes.tsp @@ -40,9 +40,12 @@ interface LoadTests { >; #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "Existing API" - update is ArmResourcePatchAsync< + update is ArmCustomPatchAsync< LoadTestResource, - LoadTestProperties, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + LoadTestResource, + LoadTestProperties + >, LroHeaders = ArmAsyncOperationHeader & ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader @@ -89,9 +92,12 @@ interface LoadTestMappings { #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "Existing API" @added(APIVersions.v2023_12_01_preview) - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< LoadTestMappingResource, - LoadTestMappingProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + LoadTestMappingResource, + LoadTestMappingProperties + > >; @added(APIVersions.v2023_12_01_preview) @@ -111,9 +117,12 @@ interface LoadTestProfileMappings { #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "Existing API" @added(APIVersions.v2023_12_01_preview) - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< LoadTestProfileMappingResource, - LoadTestProfileMappingProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + LoadTestProfileMappingResource, + LoadTestProfileMappingProperties + > >; @added(APIVersions.v2023_12_01_preview) diff --git a/specification/loadtestservice/LoadTestService.Management/tspconfig.yaml b/specification/loadtestservice/LoadTestService.Management/tspconfig.yaml index 31ebfdc219aa..362ba9a6d9ee 100644 --- a/specification/loadtestservice/LoadTestService.Management/tspconfig.yaml +++ b/specification/loadtestservice/LoadTestService.Management/tspconfig.yaml @@ -10,6 +10,7 @@ parameters: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: ./examples output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/loadtestservice.json" diff --git a/specification/mobilepacketcore/MobilePacketCore.Management/tspconfig.yaml b/specification/mobilepacketcore/MobilePacketCore.Management/tspconfig.yaml index e61542d86672..ae27e4f571b1 100644 --- a/specification/mobilepacketcore/MobilePacketCore.Management/tspconfig.yaml +++ b/specification/mobilepacketcore/MobilePacketCore.Management/tspconfig.yaml @@ -7,6 +7,7 @@ options: "@azure-tools/typespec-autorest": use-read-only-status-schema: true azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/mobilepacketcore.json" diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp index e024ef88aa50..36958d551ef4 100644 --- a/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp @@ -33,7 +33,13 @@ interface MongoClusters { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; /** Updates an existing mongo cluster. The request body can contain one to many of the properties present in the normal mongo cluster definition. */ - update is ArmResourcePatchAsync; + update is ArmCustomPatchAsync< + MongoCluster, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + MongoCluster, + MongoClusterProperties + > + >; /** Deletes a mongo cluster. */ delete is ArmResourceDeleteWithoutOkAsync; /** List all the mongo clusters in a given resource group. */ diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/tspconfig.yaml b/specification/mongocluster/DocumentDB.MongoCluster.Management/tspconfig.yaml index 8efab22596a5..fb94aa9b8e8b 100644 --- a/specification/mongocluster/DocumentDB.MongoCluster.Management/tspconfig.yaml +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/tspconfig.yaml @@ -8,6 +8,7 @@ options: use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/mongoCluster.json" examples-directory: "{project-root}/examples" "@azure-tools/typespec-python": diff --git a/specification/monitor/Microsoft.Monitor/tspconfig.yaml b/specification/monitor/Microsoft.Monitor/tspconfig.yaml index 6ae6d2d8b91e..f25d826e1a63 100644 --- a/specification/monitor/Microsoft.Monitor/tspconfig.yaml +++ b/specification/monitor/Microsoft.Monitor/tspconfig.yaml @@ -7,6 +7,7 @@ options: "@azure-tools/typespec-autorest": use-read-only-status-schema: true azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: "examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/azuremonitor.json" diff --git a/specification/monitor/Microsoft.Monitor/typespec/azureMonitorWorkspace.tsp b/specification/monitor/Microsoft.Monitor/typespec/azureMonitorWorkspace.tsp index d02420de7cfc..8c5fdd256459 100644 --- a/specification/monitor/Microsoft.Monitor/typespec/azureMonitorWorkspace.tsp +++ b/specification/monitor/Microsoft.Monitor/typespec/azureMonitorWorkspace.tsp @@ -95,9 +95,12 @@ interface AzureMonitorWorkspaces { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; @doc("Updates part of a workspace") - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< AzureMonitorWorkspace, - AzureMonitorWorkspaceProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + AzureMonitorWorkspace, + AzureMonitorWorkspaceProperties + > >; @doc("Delete a workspace") delete is ArmResourceDeleteWithoutOkAsync; diff --git a/specification/monitor/Microsoft.Monitor/typespec/pipelineGroup.tsp b/specification/monitor/Microsoft.Monitor/typespec/pipelineGroup.tsp index 0ceb17c19270..1f2013076a96 100644 --- a/specification/monitor/Microsoft.Monitor/typespec/pipelineGroup.tsp +++ b/specification/monitor/Microsoft.Monitor/typespec/pipelineGroup.tsp @@ -257,7 +257,13 @@ interface PipelineGroups { delete is ArmResourceDeleteWithoutOkAsync; @doc("Updates a pipeline group instance") - update is ArmResourcePatchAsync; + update is ArmCustomPatchAsync< + PipelineGroup, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + PipelineGroup, + PipelineGroupProperties + > + >; @doc("Lists all workspaces in the specified resource group") listByResourceGroup is ArmResourceListByParent; diff --git a/specification/mpcnetworkfunction/MpcNetworkFunction.Management/tspconfig.yaml b/specification/mpcnetworkfunction/MpcNetworkFunction.Management/tspconfig.yaml index e8e45e0c419f..0fa93a6f7c13 100644 --- a/specification/mpcnetworkfunction/MpcNetworkFunction.Management/tspconfig.yaml +++ b/specification/mpcnetworkfunction/MpcNetworkFunction.Management/tspconfig.yaml @@ -8,6 +8,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: "examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/networkfunction.json" diff --git a/specification/networkanalytics/NetworkAnalytics.Management/main.tsp b/specification/networkanalytics/NetworkAnalytics.Management/main.tsp index 36853645c013..7caaf94554ee 100644 --- a/specification/networkanalytics/NetworkAnalytics.Management/main.tsp +++ b/specification/networkanalytics/NetworkAnalytics.Management/main.tsp @@ -543,7 +543,13 @@ interface DataTypes { get is ArmResourceRead; @doc("Update data type resource.") - update is ArmResourcePatchAsync; + update is ArmCustomPatchAsync< + DataType, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + DataType, + DataTypeProperties + > + >; @doc("Delete data type resource.") delete is ArmResourceDeleteWithoutOkAsync; @@ -579,7 +585,13 @@ interface DataProducts { get is ArmResourceRead; @doc("Update data product resource.") - update is ArmResourcePatchAsync; + update is ArmCustomPatchAsync< + DataProduct, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + DataProduct, + DataProductProperties + > + >; @doc("Delete data product resource.") delete is ArmResourceDeleteWithoutOkAsync; diff --git a/specification/networkanalytics/NetworkAnalytics.Management/tspconfig.yaml b/specification/networkanalytics/NetworkAnalytics.Management/tspconfig.yaml index 16afa526957d..a97b8ea5cffb 100644 --- a/specification/networkanalytics/NetworkAnalytics.Management/tspconfig.yaml +++ b/specification/networkanalytics/NetworkAnalytics.Management/tspconfig.yaml @@ -9,6 +9,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/networkanalytics.json" examples-directory: "{project-root}/examples" "@azure-tools/cadl-python": diff --git a/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseBackupOperations.tsp b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseBackupOperations.tsp index b7a0bde9287d..9d2708dfcb72 100644 --- a/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseBackupOperations.tsp +++ b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseBackupOperations.tsp @@ -17,9 +17,12 @@ interface AutonomousDatabaseBackups "./examples/autonomousDatabaseBackup_patch.json", "Patch Autonomous Database Backup." ) - update is ArmResourcePatchAsync< + update is ArmCustomPatchAsync< AutonomousDatabaseBackup, - AutonomousDatabaseBackupProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + AutonomousDatabaseBackup, + AutonomousDatabaseBackupProperties + > >; @example( diff --git a/specification/oracle/Oracle.Database/tspconfig.yaml b/specification/oracle/Oracle.Database/tspconfig.yaml index 9d705425bb6a..fa143d774a7b 100644 --- a/specification/oracle/Oracle.Database/tspconfig.yaml +++ b/specification/oracle/Oracle.Database/tspconfig.yaml @@ -10,6 +10,7 @@ options: arm-types-dir: "../../../../../common-types/resource-management" use-read-only-status-schema: true azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: "examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" diff --git a/specification/playwrighttesting/PlaywrightTesting.Management/tspconfig.yaml b/specification/playwrighttesting/PlaywrightTesting.Management/tspconfig.yaml index c098a1fb5df9..dcf1c32496aa 100644 --- a/specification/playwrighttesting/PlaywrightTesting.Management/tspconfig.yaml +++ b/specification/playwrighttesting/PlaywrightTesting.Management/tspconfig.yaml @@ -12,6 +12,7 @@ parameters: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/playwrighttesting.json" diff --git a/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp b/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp index af1f8fce56c1..d69ab1c7918d 100644 --- a/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp +++ b/specification/portalservices/CopilotSettings.Management/CopilotSettings.tsp @@ -24,9 +24,12 @@ model CopilotSettingsResource is ProxyResource { interface CopilotSettings { get is ArmResourceRead; createOrUpdate is ArmResourceCreateOrReplaceSync; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< CopilotSettingsResource, - CopilotSettingsProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + CopilotSettingsResource, + CopilotSettingsProperties + > >; delete is ArmResourceDeleteSync; } diff --git a/specification/portalservices/CopilotSettings.Management/tspconfig.yaml b/specification/portalservices/CopilotSettings.Management/tspconfig.yaml index ff9efcfc1ac9..616ca5066a45 100644 --- a/specification/portalservices/CopilotSettings.Management/tspconfig.yaml +++ b/specification/portalservices/CopilotSettings.Management/tspconfig.yaml @@ -3,6 +3,7 @@ emit: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" omit-unreachable-types: true diff --git a/specification/portalservices/Extension.Management/tspconfig.yaml b/specification/portalservices/Extension.Management/tspconfig.yaml index 6c555b4341c3..d94162d5ecc3 100644 --- a/specification/portalservices/Extension.Management/tspconfig.yaml +++ b/specification/portalservices/Extension.Management/tspconfig.yaml @@ -5,6 +5,7 @@ options: use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/extensions/{version-status}/{version}/extensions.json" examples-directory: "{project-root}/examples" omit-unreachable-types: true diff --git a/specification/purviewpolicy/PurviewPolicy.Management/tspconfig.yaml b/specification/purviewpolicy/PurviewPolicy.Management/tspconfig.yaml index 0d7967535c7d..5e944c5c415e 100644 --- a/specification/purviewpolicy/PurviewPolicy.Management/tspconfig.yaml +++ b/specification/purviewpolicy/PurviewPolicy.Management/tspconfig.yaml @@ -4,6 +4,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/policy.json" examples-directory: "{project-root}/examples" omit-unreachable-types: true diff --git a/specification/scvmm/ScVmm.Management/tspconfig.yaml b/specification/scvmm/ScVmm.Management/tspconfig.yaml index 21d2a3394ac8..d31e0534790a 100644 --- a/specification/scvmm/ScVmm.Management/tspconfig.yaml +++ b/specification/scvmm/ScVmm.Management/tspconfig.yaml @@ -9,6 +9,7 @@ options: omit-unreachable-types: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/scvmm.json" examples-directory: "{project-root}/examples" linter: diff --git a/specification/servicenetworking/ServiceNetworking.Management/main.tsp b/specification/servicenetworking/ServiceNetworking.Management/main.tsp index f42b4988387f..901e59adce64 100644 --- a/specification/servicenetworking/ServiceNetworking.Management/main.tsp +++ b/specification/servicenetworking/ServiceNetworking.Management/main.tsp @@ -229,7 +229,13 @@ interface AssociationsInterface { Association, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync; + update is ArmCustomPatchSync< + Association, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + Association, + AssociationProperties + > + >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; } @@ -243,7 +249,13 @@ interface FrontendsInterface { Frontend, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync; + update is ArmCustomPatchSync< + Frontend, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + Frontend, + FrontendProperties + > + >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; } @@ -258,7 +270,13 @@ interface SecurityPoliciesInterface { SecurityPolicy, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync; + update is ArmCustomPatchSync< + SecurityPolicy, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + SecurityPolicy, + SecurityPolicyProperties + > + >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; } @@ -272,9 +290,12 @@ interface TrafficControllerInterface { TrafficController, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< TrafficController, - TrafficControllerProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + TrafficController, + TrafficControllerProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/servicenetworking/ServiceNetworking.Management/tspconfig.yaml b/specification/servicenetworking/ServiceNetworking.Management/tspconfig.yaml index 337cbb1d2c42..93fe31052712 100644 --- a/specification/servicenetworking/ServiceNetworking.Management/tspconfig.yaml +++ b/specification/servicenetworking/ServiceNetworking.Management/tspconfig.yaml @@ -8,6 +8,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/TrafficController.json" diff --git a/specification/sphere/Sphere.Management/tspconfig.yaml b/specification/sphere/Sphere.Management/tspconfig.yaml index 51124381df85..89c450efc830 100644 --- a/specification/sphere/Sphere.Management/tspconfig.yaml +++ b/specification/sphere/Sphere.Management/tspconfig.yaml @@ -5,6 +5,7 @@ options: omit-unreachable-types: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/azuresphere.json" examples-directory: "{project-root}/examples" "@azure-tools/cadl-python": diff --git a/specification/splitio/SplitIO.Experimentation.Management/main.tsp b/specification/splitio/SplitIO.Experimentation.Management/main.tsp index c65478dc7e8a..73987ca2793c 100644 --- a/specification/splitio/SplitIO.Experimentation.Management/main.tsp +++ b/specification/splitio/SplitIO.Experimentation.Management/main.tsp @@ -125,9 +125,12 @@ namespace SplitIO.Experimentation { ExperimentationWorkspace, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchAsync< + update is ArmCustomPatchAsync< ExperimentationWorkspace, - ExperimentationWorkspaceProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + ExperimentationWorkspace, + ExperimentationWorkspaceProperties + > >; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/splitio/SplitIO.Experimentation.Management/tspconfig.yaml b/specification/splitio/SplitIO.Experimentation.Management/tspconfig.yaml index 018b4f7213da..51616ffc5b20 100644 --- a/specification/splitio/SplitIO.Experimentation.Management/tspconfig.yaml +++ b/specification/splitio/SplitIO.Experimentation.Management/tspconfig.yaml @@ -5,6 +5,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/splitio.json" examples-directory: "{project-root}/examples" linter: diff --git a/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp b/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp index 1ba16b8eb60d..c816fe4e0188 100644 --- a/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp +++ b/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp @@ -113,9 +113,12 @@ interface StandbyContainerGroupPools { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; delete is ArmResourceDeleteWithoutOkAsync; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< StandbyContainerGroupPoolResource, - StandbyContainerGroupPoolResourceProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + StandbyContainerGroupPoolResource, + StandbyContainerGroupPoolResourceProperties + > >; listByResourceGroup is ArmResourceListByParent; listBySubscription is ArmListBySubscription; diff --git a/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp b/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp index 01a6d30ecd75..ed5813d4395a 100644 --- a/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp +++ b/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp @@ -84,9 +84,12 @@ interface StandbyVirtualMachinePools { LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; delete is ArmResourceDeleteWithoutOkAsync; - update is ArmResourcePatchSync< + update is ArmCustomPatchSync< StandbyVirtualMachinePoolResource, - StandbyVirtualMachinePoolResourceProperties + Azure.ResourceManager.Foundations.ResourceUpdateModel< + StandbyVirtualMachinePoolResource, + StandbyVirtualMachinePoolResourceProperties + > >; listByResourceGroup is ArmResourceListByParent; listBySubscription is ArmListBySubscription; diff --git a/specification/standbypool/StandbyPool.Management/tspconfig.yaml b/specification/standbypool/StandbyPool.Management/tspconfig.yaml index e2d06b12e0a4..c7a0634999c7 100644 --- a/specification/standbypool/StandbyPool.Management/tspconfig.yaml +++ b/specification/standbypool/StandbyPool.Management/tspconfig.yaml @@ -10,6 +10,7 @@ options: "@azure-tools/typespec-autorest": use-read-only-status-schema: true azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/standbypool.json" diff --git a/specification/verifiedid/Microsoft.VerifiedId/main.tsp b/specification/verifiedid/Microsoft.VerifiedId/main.tsp index e33db6e1b6f7..95d515689465 100644 --- a/specification/verifiedid/Microsoft.VerifiedId/main.tsp +++ b/specification/verifiedid/Microsoft.VerifiedId/main.tsp @@ -77,7 +77,13 @@ interface Authorities { Authority, LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; - update is ArmResourcePatchSync; + update is ArmCustomPatchSync< + Authority, + Azure.ResourceManager.Foundations.ResourceUpdateModel< + Authority, + AuthorityProperties + > + >; delete is ArmResourceDeleteSync; listByResourceGroup is ArmResourceListByParent; listBySubscription is ArmListBySubscription; diff --git a/specification/verifiedid/Microsoft.VerifiedId/tspconfig.yaml b/specification/verifiedid/Microsoft.VerifiedId/tspconfig.yaml index d165ce086157..402fb2178043 100644 --- a/specification/verifiedid/Microsoft.VerifiedId/tspconfig.yaml +++ b/specification/verifiedid/Microsoft.VerifiedId/tspconfig.yaml @@ -6,6 +6,7 @@ emit: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: "examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/verifiedid.json" diff --git a/specification/vmware/Microsoft.AVS/tspconfig.yaml b/specification/vmware/Microsoft.AVS/tspconfig.yaml index 310703263db8..19e693297bae 100644 --- a/specification/vmware/Microsoft.AVS/tspconfig.yaml +++ b/specification/vmware/Microsoft.AVS/tspconfig.yaml @@ -10,6 +10,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/vmware.json" diff --git a/specification/workloads/Workloads.Operations.Management/tspconfig.yaml b/specification/workloads/Workloads.Operations.Management/tspconfig.yaml index dc13f45348b5..6b99ce631a7a 100644 --- a/specification/workloads/Workloads.Operations.Management/tspconfig.yaml +++ b/specification/workloads/Workloads.Operations.Management/tspconfig.yaml @@ -5,6 +5,7 @@ options: use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/operations/{version-status}/{version}/operations.json" examples-directory: "{project-root}/examples" linter: diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/tspconfig.yaml b/specification/workloads/Workloads.SAPDiscoverySite.Management/tspconfig.yaml index df02fc7b5ac0..d4b0d3e814bf 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/tspconfig.yaml +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/tspconfig.yaml @@ -5,6 +5,7 @@ options: use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/SAPDiscoverySites/{version-status}/{version}/SAPDiscoverySites.json" examples-directory: "{project-root}/examples" linter: diff --git a/specification/workloads/Workloads.SAPMonitor.Management/tspconfig.yaml b/specification/workloads/Workloads.SAPMonitor.Management/tspconfig.yaml index 6039a2f8a0a0..4763ea0c9924 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/tspconfig.yaml +++ b/specification/workloads/Workloads.SAPMonitor.Management/tspconfig.yaml @@ -6,6 +6,7 @@ options: omit-unreachable-types: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" + emit-common-types-schema: "reference-only" output-file: "{azure-resource-provider-folder}/{service-name}/monitors/{version-status}/{version}/monitors.json" examples-directory: "{project-root}/examples" linter: