Add Infrastructure Metadata with Custom Attributes
You can use custom attributes to provide more management information about your cloud infrastructure. For example, you can design custom attributes that enable users to apply budget or profit center code information for a VM or an asset number for an infrastructure element.
You can configure custom attributes so that Service Portal users can edit their values.
Once you've created custom attributes, they can be used in reporting, in workflows, and in script execution.
In this topic:
Elements that custom attributes can be applied to
You can apply custom attributes to the following infrastructure elements:
- Services, including VMs, Kubernetes namespaces, load balancers, databases, virtual services, application stacks, and auto scaling groups
- Cloud accounts
- Kubernetes clusters
- Compute clusters
- Resource pools
- Virtual networks
- Availability zones
- Azure resource groups
- GCP projects
- GCP organizations
- GCP zones
Note: Custom attribute values applied to namespaces, virtual services, application stacks, and auto scaling groups aren't inherited by their children.
Custom attribute types
In addition to attributes that are truly custom in that you create them to address your particular business and operation needs, the following types of custom attributes are also used in Commander:
- Predefined custom attributes
- Additional Costs custom attribute
- Form-only custom attributes
- Placement attributes
- Custom attributes based on public cloud tags
The following predefined custom attributes are used for specific use cases. They are provided for convenience or for use with the tag compliance policy:
- Cost Center
- Expiry Date
- IT Contact
- PCI Applicable
- Primary Application
- Primary Owner
- Project Code
- Service Type
- SOX Applicable
Note that you can create new custom attributes that are variations of these predefined attributes (for example, Cost Center Europe).
The Additional Costs custom attribute, which applies only to application stacks and VMs deployed from Amazon Marketplace AMIs, has a unique function.
For application stacks, this custom attribute captures the cost of resources in the application stack that aren't supported by Commander. If a value was set for Annual Stack Cost or Annual Deployment Cost in the service catalog, Commander automatically assigns a value for this custom attribute to application stacks deployed from service requests. To learn more, see Annual Stack Cost and Annual Deployment Cost.
For VMs deployed from Marketplace AMIs, this custom attribute captures costs in addition to instance type costs. If a value was set for the Additional Annual Cost in the service catalog, Commander automatically assigns a value for this custom attribute to VMs deployed from service requests for Marketplace AMIs. To learn more, see Additional Annual Cost.
This custom attribute can't be edited or deleted. Commander users can assign a value for this attribute, but Service Portal users can't.
You can create custom attributes that apply only to service request forms. Form attributes are useful for capturing information required only during the service request process. Form attribute values don't persist once the completion workflow has finished and aren't assigned to deployed services. Note that you also need to add the Custom Attribute or the Multi-Select element to the service request form.
For information on how to add the custom attribute to a request form, see Creating Service Request Forms.
Placement attributes are a special type of custom attributes used in Intelligent Placement. See Configuring Placement Attributes.
You can import public cloud tags, such as Cost Center, Business Unit, Product, Tier, or Version, as Commander custom attributes. For more information, see:
- Synchronizing AWS Tags and Commander Metadata
- Synchronizing GCP Labels and Commander Custom Attributes
- Synchronizing Azure Tags and Commander Metadata
If your custom attribute will use a text type value, you can use regular expressions to enforce the type of format that can be used. Enforcing a format can be helpful, for example, when values will be used as input to scripts, or when VM asset information is required in order to comply with corporate standards.
Tip: You should complete all in-progress service requests before you begin using a text-type custom attribute that enforces a specific format. If a custom attribute value specified on the request form doesn't match the required format, automated deployment of the service will fail, and manual deployment will be required. Likewise, if a custom attribute value is specified in a completion workflow and the value doesn't match the required format, you'll need to edit the workflow step for any in-progress service requests.