Unable to create XaaS resource actions as 'Shared' or change the icon in vRA 7.2
search cancel

Unable to create XaaS resource actions as 'Shared' or change the icon in vRA 7.2


Article ID: 301230


Updated On:


VMware Aria Suite


  • An inability to update the icon for XaaS resource actions in vRealize Automation 7.2.
  • When listing in Catalog Administration section, the user created actions based on Azure Virtual Machine custom resource and on the built-in Resource Mappings (Deployment, vSphere VMs and vCloud Director VMs) are shown as Built-In.
  • Resource actions that match the above criteria are visible to all tenants.

    For example:

    A resource action for snapshot called Create a snapshot is created in tenant A.
    A user from tenant B logs and looks at the actions created in tenant A. Similarly, resource actions created in tenant B are visible to user from tenant A.

    There is no way to differentiate between the two and you should not see the resource action from tenant A in tenant B and vice versa.


VMware vRealize Automation 7.2.x


This is caused by a regression in vRealize Automation 7.2 where the incorrect tenant value is set to user created Azure, IaaS vSphere VM, IaaS vCloud VM, and Deployment XaaS Resource Actions.
Note: This does not affect actions that are created in vRealize Automation 7.1 and then migrated to vRealize Automation 7.2. However, it will affect actions created after the upgrade and that comply on the above criteria.


This issue is resolved in vRealize Automation 7.3, available at VMware Downloads.
To work around this issue if you do not want to upgrade, run the SQL query as per the procedure.
Note: The SQL query provided in the procedure modifies the tenant for any Resource Actions that are user created. If new XaaS Resource Actions are created, the query should be run again to correct the new ones.
  1. Take a snapshot of the vRealize Automation appliances within your environment.
  2. Log in to the vRealize Automation vPostgres database.
    1. Open an SSH session to the primary vRealize Automation appliance and log in using root credentials.
    2. Navigate to the correct folder by running this command:

      cd /opt/vmware/vpostgres/current/bin
    3. Log in to postgres by running this command:

      su postgres
    4. Log in to the vCAC database by running this command:

      ./psql vcac
  3. Run this query:

    update cat_resourceoperation set tenant_id = T.tenant
    from (select cat_resourceoperation.name, tenant_id, tenant, providertype_id from asd_resourceoperation join cat_resourceoperation on (asd_resourceoperation.name = cat_resourceoperation.name)
    where providertype_id = 'com.vmware.csp.core.designer.service' and tenant != '_internal') as T where cat_resourceoperation.name = T.name and (cat_resourceoperation.tenant_id = '') is not false;

    Note: The preceding steps assume action names are unique across tenants.

    In a scenario where duplicate action names exist across tenants you should run the below psql query:

    UPDATE cat_resourceoperation
    SET tenant_id = T.tenant
    FROM (
    SELECT substring(cat_resourceoperation.external_id from '[^!^:]+') as tenant, id
    FROM cat_resourceoperation
    WHERE external_id LIKE '%!::!%' AND external_id NOT LIKE '_internal%' ) AS T
    WHERE T.id = cat_resourceoperation.id;

    This will update every action entry to the correct tenant it was created in (tenant specified in the external_id column.)
  4. The XaaS Resource Actions should show as Shared.
Note: To rollback the changes, revert to the snapshot taken in Step# 1.

Additional Information

To be alerted when this document is updated, click the Subscribe to Article link in the Actions box.

简体中文:无法在 vRA 7.2 中将 XaaS 资源操作创建为“共享”或更改图标