- #1866 Fix the
no-empty-model
rule to prevent it from being triggered for Records, as this is already covered by another rule. - #1886 Replace usage of
Azure.Core.nextLink
toTypeSpec.nextLink
. - #1950 Update lockfile for core changes
- #1689 Add common-types v6 with changes in managed identity, private links, and types.
- #1272 Add
armResourceType
scalar, and changed some properties to bearmResourceType
instead of string - #1881 common-types consistency with original swagger
- #1923 Add the
@Azure.ResourceManager.Legacy.customAzureResource
decorator to identify ARM resources that do not use the base resource types. - #1740 Update the
arm no-response-body
rule to behave similarly to the core rule, but with the additional requirement that the 202 response can and should also be empty
- #1759 Fix the
ArmOperationStatus
model to match the Azure-AsyncOperation Resource format, where theid
is of typestring
instead ofCore.uuid
. - #1741 Fix the
arm-resource-invalid-action-verb
rule. The rule should only allow@post
and@get
verbs, but it wasn't flagging other verbs. - #1744 Fix the
x-ms-identifier
rule. Thex-ms-identifier
supports indexing into inner properties, but the linter does not support that and reports a warning.
- #1663 Upgrade dependencies
- #1670 Add an envelope model for a standard availability zones API contract.
- #1674 Remove restrictions requiring Foundation.Resource in ArmResourceListByParent. This will allow using the template for non-standard resources / collection actions that return a list.
As part of the change, the response can now return any type. This will be specified in the response section using a new
ResourceListCustomResult<type>
model.
- #1673 Fix
ArmProviderActionAsync
to correctly return 202 responses.
- #1416 Fix #1180 Return StatusMonitor result field for non-resource PUT operations in getLroMetadata.finalResult
- #1551 Correct ManagedServiceIdentityType versioning issue
- #1537 Fix missing-x-ms-identifier rule not checking base class for properties
- #1534 Bump dependencies
- #1639 Adding
ArmProviderActionSync
andArmProviderActionAsync
templates to the ARM library to perform actions at the subscription and tenant levels. - #1512
x-ms-skip-url-encoding
should be replaced withallowReserved
- #1505 Added common-types managed identity with delegation and network security perimeter
- #1555 Add
no-empty-model
rule
- #1512
x-ms-skip-url-encoding
should be replaced withallowReserved
- #1359
arm-no-record
rule should warn about any use ofRecord<X>
not just when inside resource properties
- #1482 Add mobo type to TypeSpec-Azure common types
- #1187 Replace deprecated LocationParameter with LocationResourceParameter
- #1219 Update dependencies
- #1166 Fix #1048 Allow void in final result for Azure-AsyncOperation header
- #1156 Minor fix to make foundations and common-type more consistent.
- #1102 Fixing typo
- #1139 LocationResourceParameter should be azureLocation instead of string
- #1111 Fix the type discrepancy issue for property userAssignedIdentities in common types V5 ManagedServiceIdentity
- #927 Remove explicit
all
rulesets - #1081 Fix ArmResourcePatch templates and incorporate common-types updates
- #1144 Tweak regex to validate Arm keys
- #1104 Dependency updates July 2024
- #1116 Link CommonTypes enums and unions to the swagger common types
- #1161 Added an optional template parameter on
TrackedResource
,ProxyResource
, andExtensionResource
ARM templates that allows brownfield services to customize the optionality of the ARM resourceproperties
field. - #1123 Removed direct reference to OpenAPI extension
x-ms-azure-resource
in ARM library and replaced with@Azure.ResourceManager.Private.azureResourceBase
decorator. It is only used internally on base resource types.autorest
emitter has been updated to check the decorator and still emitx-ms-azure-resource
extension in swagger.
-
#1093 Removing $armRenameListByOperation decorator so operation id is directly derived from operation name. Previously operation id is statically resolved and fixed :
-
For top level resources,
[Resource]_ListByResourceGroup
-
For child resources,
[Resource]_ListBy[ParentResource]
With this change, the operation name will form the second part of the operation id, just like other ARM operation templates.
-list is ArmResourceListByParent<Employee>;
+listByLocation is ArmResourceListByParent<Employee>;
You can modify the operation name to match existing spec to avoid breaking changes.
- #1146 Moved
@armRenameListByOperation
intoAzure.ResourceManager.Private
namespace. Adding back original listByParent doc resolution logic to keep swagger changes to minimal. - #1105
x-ms-client-flatten
extension on some of resource properties property is now configurable to be emitted by autorest emitter. Default is false which will skip emission of that extension.
- #998 Adding legacy v4 ManagedServiceIdentity model to avoid breaking changes in specs with mixed v3 and v4 common type reference
- #955 Remove OpenAPI dependencies from ARM LRO templates and test LRO overrides
- #929 Adding an overload parameter to ResourceNameParameter that allows
name
type to be set to string union type. - #860 Fix
percentComplete
property onOperationStatus
should be a float not an int - #979 Make Resource Properties Bag Updatable
- #867 Update dependencies - May 2024
- #868 Changing back
ManagedServiceIdentity.userAssignedIdentities
back toRecord<UserAssignedIdentity
. Adding ARM common-type references for on all Managed Identity models.
- #605 Specify the fully qualified name of
@OpenAPI.extension
decorator inmissing-x-ms-identifiers
linter warning. - #400 Updated
ManagedIndentity
andCustomerManagedKey
TypeSpec model definition to be consistent with Swagger commont-types - #567 Enable
arm-common-types-version
rule by default. - #751 Allow
@pattern
to be provided on a scalar - #702 Fix
arm-resource-name-pattern
rule codefix producing invalid syntax - #293 Update to support new meaning of
@body
- #663 Upgrade dependencies
- #661 Fixing ArmResource base model and add an easier way to define Resource Name parameter
- #736 Adding standard ExtendedLocation definition for ARM library
-
#762 Renaming internal TypeSpec ARM foundation model names to be consistent with ARM common-type definitions. However, these are
Azure.Resource.Manager.Foundations
models that would not normally be used directly in service specs. -
Deprecate
Foundations.ArmResource
.Foundations.Resource
should be used instead. -
Deprecate
Foundations.ResourceSkuType
.Foundations.Sku
should be used instead. -
Deprecate
Foundations.ResourcePlanType
.Foundations.Plan
should be used instead. -
Deprecate
Foundations.TrackedResourceBase
.Foundations.TrackedResource
should be used instead. -
Deprecate
Foundations.ProxyResourceBase
.Foundations.ProxyResource
should be used instead. -
Deprecate
Foundations.ExtensionResourceBase
.Foundations.ExtensionResource
should be used instead. -
#768 Standardizing mix-in model names with consistent
Property
suffix. -
Deprecate
ManagedServiceIdentity
.ManagedServiceIdentityProperty
should be used instead.Example:
-...ManagedServiceIdentity; +...ManagedServiceIdentityProperty;
-
Deprecate
ManagedSystemAssignedIdentity
.ManagedSystemAssignedIdentityProperty
should be used instead.Example:
-...ManagedSystemAssignedIdentity; +...ManagedSystemAssignedIdentityProperty;
-
Deprecate
EntityTag
.EntityTagProperty
should be used instead.Example:
-...EntityTag; +...EntityTagProperty;
-
Deprecate
ResourceKind
.ResourceKindProperty
should be used instead.Example:
-...ResourceKind; +...ResourceKindProperty;
-
Deprecate
ResourcePlan
.ResourcePlanProperty
should be used instead.Example:
-...ResourcePlan; +...ResourcePlanProperty;
-
Deprecate
ResourceSku
.ResourceSkuProperty
should be used instead.Example:
-...ResourceSku; +...ResourceSkuProperty;
-
Deprecate
ManagedBy
.ManagedByProperty
should be used instead.Example:
-...ManagedBy; +...ManagedByProperty;
- #521 Switching ProvisioningState from enum to Open union
- #410 Fixing ArmDeleteLroResponse missing Retry-After header
- #437 Update dependencies
- 376
RetryAfter
header was moved to be in the defaultLroHeaders
for LRO operations. If you were overriding theLroHeaders
template parmater previously you might need to add& Azure.Core.FoundationsRetryAfterHeader
- #495 Made
delegatedIdentityClientId
optionalCustomerManagedKeyEncryption
to align with the common types definition. - #514 Add
lro-location-header
rule. - #369 Add
arm-put-operation-response-codes
andarm-post-operation-response-codes
rules. - #359 ARM: add
arm-resource-name-pattern
rule to allow disabling LintDiffResourceNamePattern
rule
- #407 Deprecate
ResourceIdentifier
in favor of newAzure.Core.armResourceIdentifier
- #323 Adding
@visibility("read")
& optional linting rules linting rules for ARMprovisioningState
- #366 Fix for issue #254 cannot customize response in ARM PUT templates
- #243 Update dependencies
- #304 Add
arm-no-record
rule. - #283 Added
ArmResourceHead
operation template - #298 ARM: add
arm-delete-response-codes
rule. - #317 Add ruleset
canonical-versioning
to Azure Resource Manager library.
arm-resource-provisioning-state
works with unions
- ebfe639: Fix Location resource issue, add mechanism for additional path segments
- 148eee4: Update references to ARM, Add template customization parameters, add migration docs
Wed, 24 Jan 2024 05:47:19 GMT
- Update dependencies.
- Fix: Resolve selected arm common version when used on version enum members
- Renamed template parameters for clarity and consistency.
- Update dependencies
Wed, 20 Dec 2023 05:29:22 GMT
- Add types to support lro scenarios
Wed, 06 Dec 2023 19:47:28 GMT
- Update dependencies.
- Added support for the SubscriptionLifeCycleNotification endpoint
Tue, 14 Nov 2023 20:35:54 GMT
- Adding allowing void on ARM action templates to specify no request body.
Wed, 08 Nov 2023 00:11:02 GMT
- Update dependencies.
- ARM
common-types
versions can now be selected for each service specification version using theAzure.ResourceManager.CommonTypes.Versions
enum with the new@armCommonTypesVersion
decorator - Add support for Private Links v5 common types
- Add ARM v5 common-types for Customer Managed Keys
TypeScript
usetypes
entry underexports
ofpackage.json
instead of legacytypesVersions
to provide the definition files- BREAKING CHANGE Minimum node version increased to 18
Wed, 11 Oct 2023 23:51:36 GMT
- Update dependencies
- Uptake changes to http libraries with status code ranges
Tue, 12 Sep 2023 21:49:08 GMT
- Update dependencies.
- Soft deprecation of ArmResourceActionNoCOntentAsync in favor of ArmResourceActionNoResponseCOntentAsync
- Migrating linter rules to new system. Linter rules will NOT be automatically enabled anymore.
Add the following to your
tspconfig.yaml
to get the same behavior:
linter:
extends: ["@azure-tools/typespec-azure-resource-manager/all"]
- Add Private links common types to Azure.ResourceManager
Tue, 08 Aug 2023 22:32:23 GMT
- Update dependencies.
- Allow shared ARM type libraries and override of arm provider namespace
- Fix #3243 issues with ArmTagsPatch template parameters
- Fix #3316, #3325, arm template issues
- Add fix and tests for ArmTagsPatchAsync
Tue, 11 Jul 2023 22:06:14 GMT
- Update dependencies.
- Updated LocationParameter to reference Common Types
- Add ArmResourceDeleteWithoutOkAsync operation signature to comply with updated ARM guidelines
- Add ArmResourceActionNoResponseContentAsync operation signature
- Add
@dev
on doc comment to prevent it overriding template doc - Fix generated route for localCheckNameAvailability.
- Update dependencies
Tue, 06 Jun 2023 22:44:32 GMT
- Update dependencies.
- Potential breaking change Add missing decorators signature
- Potential breaking change Moved many decorators in the private namespace. Those are decorators that were not documented and should NOT have been used directly. See
lib/private.decorators.tsp
for list. - Remove reference to
object
in decorators and templates - Updated decorators to use
valueof
Wed, 10 May 2023 21:24:14 GMT
- Update dependencies.
- Added templates for checkNameAVailability
- Fix issue where a decorator renames operations in a way that is contrary to guidelines.
- Added Support for the new autorest
arm-types-dir
option - Fix issue with overriding interface lifecycle operations
- Cleanup deprecated items
- Uptake change in template operations
Tue, 11 Apr 2023 18:49:21 GMT
- Update dependencies.
- Fix invalid default for ResourceIdentifier Allowed resources
- Uptake changes to datetime types
Mon, 13 Mar 2023 21:30:57 GMT
- Update dependencies.
- Correct lro templates for correct generation
Fri, 03 Mar 2023 19:59:30 GMT
- Update dependencies.
- Fix arm-resource-invalid-version-format lint rule
- Update package homepage link to github.io page
- Revert back changelog
- Adopted the new
@typespec/http
library - update entrypoint to tspMain
- Rename to TypeSpec
Tue, 07 Feb 2023 21:56:32 GMT
- Update dependencies.
- Deprecating ResourceOperations to avoid name clash #2476
- Removed
@armNamespace
decorator. RemovedTenantResourceList
,ResourceCommonParameters
,ExtensionResourceCommonParameters
andCommonTenantScope
Cadl models. - Fix issues when multiple copies of library are loaded.
Fri, 13 Jan 2023 00:05:37 GMT
- Update dependencies.
- Internal: Update TS module resolution to node16
Wed, 07 Dec 2022 17:21:54 GMT
- Update linter rule to account for new pattern of extensible enums.
- Add lego bricks and linting rules, refactor for operation templates
- Uptake new
getNamespaceFullName
- Add linter rule to discourage use of
@segment
with@armResourceAction
. - Update dependencies.
- Add validation to prevent multiple
@armProviderNamespace
- Uptake change to compiler for new
scalar
type
- Refactor non-direct used ARM library artifacts into Foundations namespace
- Fix api-version query parameter casing style
- add arm lint rule to check armResource decorator
- add arm lint rule to check response schema consistency
- Update dependencies
Sat, 12 Nov 2022 00:14:23 GMT
- Update dependencies.
- Update templates TResource to constraint to object
- Uptake changes to linter engine
- Adding ResourceIdentifier model definition
- Moved
casing
linter rule tocadl-azure-core
- Added lint rule to check empty updateable properties
- Opt out of inapplicable metadata to payload on resource types
- Consolidate ExtensionResourceOperation to Instance and Collection sub-interface.
Wed, 12 Oct 2022 21:12:48 GMT
- Update linter rules to use new linter system
- Update dependencies.
- Breaking
Azure.ResourceManager.Operations
must now be explicitly included. - Apply changes to rest library
Thu, 08 Sep 2022 01:05:13 GMT
- Rename @armNamespace to @armProviderNamespace, subscriptionId->subscriptionIdParameter, resourceGroup->ResourceGroupParameter, all operations to camelCase, Moving @armCommonDefinition, @armCommonParameter, @assignProviderNamespace, @armUpdateProviderNamespace to internal private namespace
- Internals: Uptake change to
@autoRoute
decorator - Update dependencies.
- React to Type suffix removal
- Added RPC linting rules and made properties bag optional
- Uptake change to enum members map type
- Uptake changes to compiler with current projection
- Fix: service authentication contains correct description for
user_impersonation
scope - Temporarily disable the use-standard-operations linting rule for ARM specs
Thu, 11 Aug 2022 19:05:47 GMT
- Add initial versioning support for Azure.Core library and use versioned Azure.Core library
- Support set of unannotated parameters as request body
- Add additional unsupported types to linter.
- Reach to OkResponse becomeing non-generic
- Update dependencies.
- Add versioning support for Azure.ResourceManager library and use versioned Azure.Core library
- Uptake changes to type relations
- React to changes in Azure.Core namespace organization
- Remove deprecation suppressions and @pageable annotations.
- Suppress deprecation warnings.
- Fix ordering of templated types in ResourceUpdateModel to resolve duplicate model property issues
Fri, 08 Jul 2022 23:23:14 GMT
- Update dependencies.
- Add tenant resource support and tests
- Use new emitter options syntax
Mon, 13 Jun 2022 23:42:46 GMT
- Uptake changes to accessor diagnostics
- Update
ListBy<Parent>
operation name to use parent model name instead of collection name. - Update dependencies.
- Use @server decorator to set host instead of @serviceHost
- Uptake changes to decorator context
- Fix common type error and update to v3 and v4 common types
- add lint rules to apply ARM guideline
- resource name should be marked with @path and visibility("read")
- Upgrade to TS4.7
Fri, 06 May 2022 17:20:15 GMT
- Add new
@singleton
decorator to mark an ARM resource type as a singleton resource - Uptake
mixes
->extends
rename - Add validation to prevent usage of
int8
- Update dependencies.
- Remove node 14 support
- Rename ResourceListByResourceGroup to ResourceListByParent and automatically rename the contained operation to include the parent type name, if any
- Include updateable resource envelope properties in ResourceUpdateModel
- Add a corrected diagnostic for when @armResourceInternal is used on a non-resource type
- Adding test cases
Thu, 31 Mar 2022 17:11:06 GMT
- Update dependencies.
- Add APIs for requesting all ARM resource types and operations, new decorators for marking ARM operations
Wed, 09 Mar 2022 17:42:26 GMT
- Add interface-based ARM resource modelling pattern
- Use new Azure.Core library and adapt to Page moving over to it
- React to @key decorator move to core
- Update dependencies.
- Remove redundant
@visibility
decorators in arm.cadl
Tue, 15 Feb 2022 22:35:13 GMT
- Update dependencies.
- Use
@error
instead of no-longer-supported "default"@statusCode
Fri, 11 Feb 2022 06:13:30 GMT
- Update decorators with new interface
- Create @azure-tools/cadl-azure-resource-manager library for new interface-based resource modelling design