Skip to content

arm-common-types-version

Full name
@azure-tools/typespec-azure-resource-manager/arm-common-types-version

ARM services must specify the ARM common-types version using the @armCommonTypesVersion decorator. If the same common types version is used across all service versions, this decorator should be applied either on the service namespace or on each version enum member. If the common types version is updated in later versions, the decorator should appear on each version enum member.

@armProviderNamespace
namespace Microsoft.Contoso;

Apply @armCommonTypesVersion on the namespace:

@armProviderNamespace
@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5)
namespace Microsoft.Contoso;

Apply @armCommonTypesVersion on each version enum member:

@armProviderNamespace
namespace Microsoft.Contoso;
enum Versions {
@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v4)
v1,
@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5)
v2,
}

Impacts the API and generated SDKs: this indicates common-types are not associated with a version, though the issue usually also appears through other violations. Ask the author to associate a common-types version with each version in the Versions enum. Suppress only when no common-types are ever used and that is valid for the service.