How to Create Custom Naming Templates

If you enroll in custom naming in the
Automation Assembler
UI, you can create custom naming templates for your organization or project using the IaaS API. Custom naming provides a way for you to name deployed resources using conventions that you define.
If you create a custom name using
POST /iaas/api/naming
, any project that does not already have a template applied can use the naming template. An organization-level naming template applies to any project that is added to an organization.
A maximum of two resource naming templates can be applied to a project: one project-level naming template and one organization-level naming template. Each can have multiple resource types. If naming templates exist at both the project and organization level, the project uses the naming convention used in the project-level naming template.
If you created a project and specified a custom naming template as part of a previous project definition, that template is deprecated when you enroll in custom naming. To replace that template, create a custom name at the project level and add a new naming template.
The following examples show how to define custom naming templates for an organization and a project.

Prerequisites for creating a custom name

  • Verify that all general prerequisites and prerequisites for the
    Automation Assembler
    Infrastructure as a Service (IaaS) service have been satisfied. See Prerequisites for API Use Case Examples.
  • Verify that you have enrolled in Custom Naming.
    有关在自定义命名中注册的信息,请参见
    Automation Assembler
    中的自定义命名已部署资源
  • Verify that you know your organization ID. If you do not know your organization ID, perform the following steps:
    1. Log in to the organization console of your
      VMware Aria Automation
      appliance, for example
      https://appliance.domain.com/csp/gateway/portal/
    2. Click the drop-down arrow by your name to display the organization ID below the organization name.
    3. Right click the icon next to the organization ID to copy the long string.
  • If you are adding a project-level template, verify that you know the name and ID of the project that you want to assign to the template. For information on how to get a list of projects, see Create a Project to use in Automation Assembler.

How to create a custom name with organization scope

This example shows how to define an organization-level custom name with a naming template for a machine resource type in
"orgId": "8327d53f-91ea-420a-8613-ba8f3149db95"
.
curl -X POST \ "$url/iaas/api/naming?apiVersion=$api_version" \ -H "Authorization: Bearer $access_token" \ -H 'Content-Type: application/json' \ -d '{ "name": "org-level custom name", "description": "Example organization-level custom name", "projects": [ { "defaultOrg": true, "active": true, "projectName": "*", "projectId": "*", "orgId": "8327d53f-91ea-420a-8613-ba8f3149db95" } ], "templates": [ { "uniqueName": true, "staticPattern": "", "counters": [], "incrementStep": 1, "pattern": "myvm-${##}", "startCounter": 1, "resourceTypeName": "Machine", "resourceType": "COMPUTE", "resourceDefault": true } ] }' | jq "."
The response shows the organization-level custom name with the custom name ID.
{ "name": "org-level custom name", "description": "Example organization-level custom name", "id": "6ca7be62-627b-41f0-9505-fc29c1349a85", "_links": { "self": { "href": "/iaas/api/naming/6ca7be62-627b-41f0-9505-fc29c1349a85" } } }

How to create a custom name with project scope

This example shows how to define a project-level custom name with naming templates for network and machine resource types, and assigned to a project that has not already been added to a custom name with project scope.
curl -X POST \ "$url/iaas/api/naming?apiVersion=$api_version" \ -H "Authorization: Bearer $access_token" \ -H 'Content-Type: application/json' \ -d '{ "name": "proj-level custom name ", "description": "Example project-level custom name", "projects": [ { "defaultOrg": false, "active": true, "projectName": "Example-CA-project", "projectId": "5944aacb-91de-4541-bb9e-ef2a5403f81b", "orgId": "8327d53f-91ea-420a-8613-ba8f3149db95" } ], "templates": [ { "uniqueName": true, "staticPattern": "", "counters": [], "incrementStep": 1, "pattern": "myCAproject-${##}", "startCounter": 1, "resourceTypeName": "Network", "resourceType": "NETWORK", "resourceDefault": true }, { "uniqueName": true, "staticPattern": "", "counters": [], "incrementStep": 1, "pattern": "myCAproject-${##}", "startCounter": 1, "resourceTypeName": "Machine", "resourceType": "COMPUTE", "resourceDefault": true } ] }' | jq "."
The response shows the project-level custom name with the custom name ID.
{ "name": "proj-level custom name", "description": "Example project-level custom name", "id": "9afa9636-9536-4867-a325-fc70eb073a86", "_links": { "self": { "href": "/iaas/api/naming/9afa9636-9536-4867-a325-fc70eb073a86" } } }