Skip to content

Decorators

Azure.ResourceManager

@armCommonTypesVersion

This decorator is used either on a namespace or a version enum value to indicate the version of the Azure Resource Manager common-types to use for refs in emitted Swagger files.

@Azure.ResourceManager.armCommonTypesVersion(version: valueof string | EnumMember)

Target

Namespace | EnumMember

Parameters

NameTypeDescription
versionvalueof string | EnumMemberThe Azure.ResourceManager.CommonTypes.Versions for the desired common-types version or an equivalent string value like “v5”.

@armLibraryNamespace

@armLibraryNamespace designates a namespace as containign Azure Resource Manager Provider information.

@Azure.ResourceManager.armLibraryNamespace

Target

Namespace

Parameters

None

Examples

@armLibraryNamespace
namespace Microsoft.Contoso;

@armProviderNamespace

@armProviderNamespace sets the Azure Resource Manager provider name. It will default to use the Namespace element value unless an override value is specified.

@Azure.ResourceManager.armProviderNamespace(providerNamespace?: valueof string)

Target

Namespace

Parameters

NameTypeDescription
providerNamespacevalueof stringProvider namespace

Examples

@armProviderNamespace
namespace Microsoft.Contoso;
@armProviderNamespace("Microsoft.Contoso")
namespace Microsoft.ContosoService;

@armProviderNameValue

@armResourceType sets the value fo the decorated string property to the type of the Azure Resource Manager resource.

@Azure.ResourceManager.armProviderNameValue

Target

Operation

Parameters

None

@armResourceAction

@Azure.ResourceManager.armResourceAction(resourceType: Model)

Target

Operation

Parameters

NameTypeDescription
resourceTypeModelResource model

@armResourceCollectionAction

Marks the operation as being a collection action

@Azure.ResourceManager.armResourceCollectionAction

Target

Operation

Parameters

None

@armResourceCreateOrUpdate

@Azure.ResourceManager.armResourceCreateOrUpdate(resourceType: Model)

Target

Operation

Parameters

NameTypeDescription
resourceTypeModelResource model

@armResourceDelete

@Azure.ResourceManager.armResourceDelete(resourceType: Model)

Target

Operation

Parameters

NameTypeDescription
resourceTypeModelResource model

@armResourceList

@Azure.ResourceManager.armResourceList(resourceType: Model)

Target

Operation

Parameters

NameTypeDescription
resourceTypeModelResource model

@armResourceOperations

This decorator is used to identify interfaces containing resource operations. When applied, it marks the interface with the @autoRoute decorator so that all of its contained operations will have their routes generated automatically.

It also adds a @tag decorator bearing the name of the interface so that all of the operations will be grouped based on the interface name in generated clients.

@Azure.ResourceManager.armResourceOperations(_?: unknown)

Target

Interface

Parameters

NameTypeDescription
_unknownDEPRECATED

@armResourceRead

@Azure.ResourceManager.armResourceRead(resourceType: Model)

Target

Operation

Parameters

NameTypeDescription
resourceTypeModelResource model

@armResourceUpdate

@Azure.ResourceManager.armResourceUpdate(resourceType: Model)

Target

Operation

Parameters

NameTypeDescription
resourceTypeModelResource model

@armVirtualResource

This decorator is used on Azure Resource Manager resources that are not based on Azure.ResourceManager common types.

@Azure.ResourceManager.armVirtualResource

Target

Model

Parameters

None

@extensionResource

@extensionResource marks an Azure Resource Manager resource model as an Extension resource. Extension resource extends other resource types. URL path is appended to another segment {scope} which refers to another Resource URL.

{resourceUri}/providers/Microsoft.Contoso/accessPermissions

See more details on different Azure Resource Manager resource type here.

@Azure.ResourceManager.extensionResource

Target

Model

Parameters

None

@locationResource

@locationResource marks an Azure Resource Manager resource model as a location based resource.

Location based resources have REST API paths like /subscriptions/{subscriptionId}/locations/{location}/providers/Microsoft.Contoso/employees

See more details on different Azure Resource Manager resource type here.

@Azure.ResourceManager.locationResource

Target

Model

Parameters

None

@resourceBaseType

This decorator sets the base type of the given resource.

@Azure.ResourceManager.resourceBaseType(baseType: "Tenant" | "Subscription" | "ResourceGroup" | "Location" | "Extension")

Target

Model

Parameters

NameTypeDescription
baseType"Tenant" | "Subscription" | "ResourceGroup" | "Location" | "Extension"The built-in parent of the resource, this can be “Tenant”, “Subscription”, “ResourceGroup”, “Location”, or “Extension”

@resourceGroupResource

@resourceGroupResource marks an Azure Resource Manager resource model as a resource group level resource. This is the default option for Azure Resource Manager resources. It is provided for symmetry and clarity, and you typically do not need to specify it.

/subscription/{id}/resourcegroups/{rg}/providers/Microsoft.Contoso/employees

See more details on different Azure Resource Manager resource type here.

@Azure.ResourceManager.resourceGroupResource

Target

Model

Parameters

None

@singleton

@singleton marks an Azure Resource Manager resource model as a singleton resource.

Singleton resources only have a single instance with a fixed key name. .../providers/Microsoft.Contoso/monthlyReports/default

See more details on different Azure Resource Manager resource type here.

@Azure.ResourceManager.singleton(keyValue?: valueof string | "default")

Target

Model

Parameters

NameTypeDescription
keyValuevalueof string | "default"The name of the singleton resource. Default name is “default”.

@subscriptionResource

@subscriptionResource marks an Azure Resource Manager resource model as a subscription resource.

Subscription resources have REST API paths like: /subscription/{id}/providers/Microsoft.Contoso/employees

See more details on different Azure Resource Manager resource type here.

@Azure.ResourceManager.subscriptionResource

Target

Model

Parameters

None

@tenantResource

@tenantResource marks an Azure Resource Manager resource model as a Tenant resource/Root resource/Top-Level resource.

Tenant resources have REST API paths like: /provider/Microsoft.Contoso/FooResources

See more details on different Azure Resource Manager resource type here.

@Azure.ResourceManager.tenantResource

Target

Model

Parameters

None

@useLibraryNamespace

Declare the Azure Resource Manager library namespaces used in this provider. This allows sharing Azure Resource Manager resource types across specifications

@Azure.ResourceManager.useLibraryNamespace(...namespaces: Namespace[])

Target

Namespace

Parameters

NameTypeDescription
namespacesNamespace[]The namespaces of Azure Resource Manager libraries used in this provider