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
| Name | Type | Description |
|---|---|---|
| version | valueof string | EnumMember | The 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.armLibraryNamespaceTarget
Namespace
Parameters
None
Examples
@armLibraryNamespacenamespace 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
| Name | Type | Description |
|---|---|---|
| providerNamespace | valueof string | Provider namespace |
Examples
@armProviderNamespacenamespace 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.armProviderNameValueTarget
Operation
Parameters
None
@armResourceAction
@Azure.ResourceManager.armResourceAction(resourceType: Model)Target
Operation
Parameters
| Name | Type | Description |
|---|---|---|
| resourceType | Model | Resource model |
@armResourceCollectionAction
Marks the operation as being a collection action
@Azure.ResourceManager.armResourceCollectionActionTarget
Operation
Parameters
None
@armResourceCreateOrUpdate
@Azure.ResourceManager.armResourceCreateOrUpdate(resourceType: Model)Target
Operation
Parameters
| Name | Type | Description |
|---|---|---|
| resourceType | Model | Resource model |
@armResourceDelete
@Azure.ResourceManager.armResourceDelete(resourceType: Model)Target
Operation
Parameters
| Name | Type | Description |
|---|---|---|
| resourceType | Model | Resource model |
@armResourceList
@Azure.ResourceManager.armResourceList(resourceType: Model)Target
Operation
Parameters
| Name | Type | Description |
|---|---|---|
| resourceType | Model | Resource 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
| Name | Type | Description |
|---|---|---|
| _ | unknown | DEPRECATED |
@armResourceRead
@Azure.ResourceManager.armResourceRead(resourceType: Model)Target
Operation
Parameters
| Name | Type | Description |
|---|---|---|
| resourceType | Model | Resource model |
@armResourceUpdate
@Azure.ResourceManager.armResourceUpdate(resourceType: Model)Target
Operation
Parameters
| Name | Type | Description |
|---|---|---|
| resourceType | Model | Resource model |
@armVirtualResource
This decorator is used on Azure Resource Manager resources that are not based on Azure.ResourceManager common types.
@Azure.ResourceManager.armVirtualResourceTarget
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.extensionResourceTarget
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.locationResourceTarget
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
| Name | Type | Description |
|---|---|---|
| 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.resourceGroupResourceTarget
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
| Name | Type | Description |
|---|---|---|
| keyValue | valueof 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.subscriptionResourceTarget
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.tenantResourceTarget
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
| Name | Type | Description |
|---|---|---|
| namespaces | Namespace[] | The namespaces of Azure Resource Manager libraries used in this provider |
Azure.ResourceManager.Legacy
@customAzureResource
This decorator is used on resources that do not satisfy the definition of a resource but need to be identified as such.
@Azure.ResourceManager.Legacy.customAzureResourceTarget
Model
Parameters
None
@externalTypeRef
Specify an external reference that should be used when emitting this type.
@Azure.ResourceManager.Legacy.externalTypeRef(jsonRef: valueof string)Target
Model | ModelProperty
Parameters
| Name | Type | Description |
|---|---|---|
| jsonRef | valueof string | External reference(e.g. ”../../common.json#/definitions/Foo”) |