Skip to main content
Version: Latest (Core: 0.57.x, Azure: 0.43.x)

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 | Model

Parameters​

None

@armRenameListByOperation​

Marks the operation as being a collection action

@Azure.ResourceManager.armRenameListByOperation(resourceType: Model, parentTypeName?: valueof string, parentFriendlyTypeName?: valueof string)

Target​

Operation

Parameters​

NameTypeDescription
resourceTypeModelResource
parentTypeNamevalueof string: Parent type name.
parentFriendlyTypeNamevalueof stringFriendly name for parent.

@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