Categories of resource attributes

Resources can contain many attributes, so those attributes are organized into categories to enable more efficient management:

Configuration attributes

Configuration attributes represent user-owned data. Although an attribute must be in the configuration category to be modified by a user, not all attributes in the configuration category can be modified after the resource instance is created.

Status attributes

Contain system-owned data such as the admin account and various status fields. You cannot create or modify instances of attributes in this category.

Statistics attributes

Contain system-owned data such as counters. You cannot create or modify instances of attributes in this category.

Attribute categories might vary

A given attribute is not necessarily in the same category from resource to resource or even resource instance to resource instance. If the system owns an instance of a resource, attributes of that resource—that might be configuration attributes if a user owns the resource instance—are status attributes that cannot be modified by users.

For example, a user can create VLANs. However, the system can also create VLANs. System-owned VLANs have many attributes that are considered to be in the status category and not the configuration category. The status category is used when the data is owned by the system and cannot be overwritten by a user.

Often a resource has a single attribute that indicates whether the resource is owned by the system or by a user. For example, for a VLAN, the type attribute indicates whether the VLAN was created by a user.

When this indicator attribute indicates that the resource is owned by the system, the other attributes that might have been in the configuration category are categorized as status attributes. Likewise, when the indicator attribute indicates that the resource is owned by a user, the other configuration attributes remain available for modification by users. In other words, the categories for other attributes on the resource follow the indicator attribute.

Not all configuration attributes can be modified

Although an attribute must be in the configuration category to be modified by a user, not all attributes in the configuration category can be modified after the resource instance is created. Configuration attributes that cannot be changed after the resource is created are called immutable attributes. This distinction matters when using a PUT request, because immutable attributes cannot be included in the request body.

For example, a VLAN ID is an immutable attribute. You cannot change the ID of the VLAN after the VLAN is created. The VLAN name, in contrast, is a mutable attribute. You can change the VLAN name after the VLAN is created.