# OpcAttribute Enum

<dl class="api-definition">
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx">Opc.UaFx</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

Identifies the different attributes which define the characteristics and additional metadata of a node.

## Syntax

<div class="api-signature" data-lang="csharp">

```csharp
public enum OpcAttribute
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Enum OpcAttribute
```

</div>

## Inheritance

[Object](https://learn.microsoft.com/dotnet/api/system.object) → [ValueType](https://learn.microsoft.com/dotnet/api/system.valuetype) → [Enum](https://learn.microsoft.com/dotnet/api/system.enum) → **OpcAttribute**

## Fields

| Name | Value | Description |
|---|---|---|
| <a id="accesslevel"></a>`AccessLevel` | `17` | Indicates the accessibility of the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) of a variable not taking user access rights into account. If the OPC UA Server does not have the ability to get the [AccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#accesslevel) information from the underlying system then it should state that it is read and writable. If a read or write operation is called on the variable then the Server should transfer this request and return the corresponding status code even if such a request is rejected. |
| <a id="accesslevelex"></a>`AccessLevelEx`<span class="api-meta">since v2.58</span> | `27` | Extends the [AccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#accesslevel) of a variable by further characteristics of the accessibility of its [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value), such as whether it is written atomically. The value is a [uint](https://learn.microsoft.com/dotnet/api/system.uint32) whose lower 8 bits are those of the [AccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#accesslevel) (OPC 10000-3, AccessLevelExType). |
| <a id="accessrestrictions"></a>`AccessRestrictions`<span class="api-meta">since v2.58</span> | `26` | Indicates the restrictions of the access to the node, such as that it is only accessible with a signed or encrypted connection. The value is a [ushort](https://learn.microsoft.com/dotnet/api/system.uint16) (OPC 10000-3, AccessRestrictionType). |
| <a id="arraydimensions"></a>`ArrayDimensions` | `16` | The length for each dimension of an array value. |
| <a id="browsename"></a>`BrowseName` | `3` | A non-localized, human readable name for the node. |
| <a id="containsnoloops"></a>`ContainsNoLoops` | `11` | Indicates that following forward references within a view will not cause a loop. |
| <a id="datatype"></a>`DataType` | `14` | The node id of the data type for the variable value. |
| <a id="datatypedefinition"></a>`DataTypeDefinition`<span class="api-meta">since v2.57</span> | `23` | The definition of a data type, which states the fields of a structure or the values of an enumeration. Read by a client, the value is the [OpcDataTypeInfo](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcdatatypeinfo/) of the data type, the same as the client provides by its GetDataType method. |
| <a id="description"></a>`Description` | `5` | A localized description for the node. |
| <a id="displayname"></a>`DisplayName` | `4` | A localized, human readable name for the node. |
| <a id="eventnotifier"></a>`EventNotifier` | `12` | Indicates that the node can be used to subscribe to events. |
| <a id="executable"></a>`Executable` | `21` | Whether the method can be called. |
| <a id="inversename"></a>`InverseName` | `10` | The browse name for an inverse reference. |
| <a id="isabstract"></a>`IsAbstract` | `8` | Indicates that a type node may not be instantiated. |
| <a id="ishistorizing"></a>`IsHistorizing` | `20` | Indicates whether the Server is actively collecting data for the history of the variable. |
| <a id="minimumsamplinginterval"></a>`MinimumSamplingInterval` | `19` | Specifies how fast the Server can reasonably sample the value for changes. The accuracy of this value (the ability of the Server to attain 'best case' performance) can be greatly affected by system load and other factors. |
| <a id="nodecategory"></a>`NodeCategory` | `2` | Defines the [OpcNodeCategory](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodecategory/) of a node the thereby supported set of attributes by each category of node. |
| <a id="nodeid"></a>`NodeId` | `1` | The canonical identifier for the node. |
| <a id="rolepermissions"></a>`RolePermissions`<span class="api-meta">since v2.58</span> | `24` | The permissions which apply to the node for each role, not taking the user of the session into account. The value is an array of [OpcRolePermission](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrolepermission/). |
| <a id="symmetric"></a>`Symmetric` | `9` | Indicates that forward and inverse references have the same meaning. |
| <a id="useraccesslevel"></a>`UserAccessLevel` | `18` | Indicates the accessibility of the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#value) of a variable taking user access rights into account. If the OPC UA Server does not have the ability to get any user access rights related information from the underlying system then it should use the same bit mask as used in the [AccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#accesslevel) attribute. The [UserAccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#useraccesslevel) attribute can restrict the accessibility indicated by the [AccessLevel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#accesslevel) attribute, but not exceed it. |
| <a id="userexecutable"></a>`UserExecutable` | `22` | Indicates whether a method is executable, taking user access rights into account. If the OPC UA Server cannot get any user rights related information from the underlying system, it should use the same value as used in the executable attribute. The [UserExecutable](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#userexecutable) attribute can be set to 'False', even if the executable attribute is set to 'True', but it shall be set to 'False' if the executable attribute is set to 'False'. |
| <a id="userrolepermissions"></a>`UserRolePermissions`<span class="api-meta">since v2.58</span> | `25` | The permissions which apply to the node for each role of the user of the session. The value is an array of [OpcRolePermission](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcrolepermission/). |
| <a id="userwriteaccess"></a>`UserWriteAccess` | `7` | Indicates which attributes are writable by the current user of the client of a node taking user access rights into account. |
| <a id="value"></a>`Value` | `13` | The value of a variable. |
| <a id="valuerank"></a>`ValueRank` | `15` | The number of dimensions in the value of a variable. |
| <a id="writeaccess"></a>`WriteAccess` | `6` | Exposes the possibilities of a client to write the attributes of the node. The [WriteAccess](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcattribute/#writeaccess) attribute does not take any user access rights into account, that is, although an attribute is writeable this may be restricted to a certain user / user group. |

## Applies to

| Package | Versions |
|---|---|
| Opc.UaFx.Advanced | v2.5–v2.59 |
