cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements

Convert vDC name to vDC ID and VDC ID 2 VDC Name

1930
Views
6
Helpful
4
Comments
Task NameConvert vDC name to vDC ID
Description
Prerequisites
  1. Tested on 5.2.0.0.A
CategoryWorkflow
ComponentsvSphere 5.x
User Inputs

Instructions for Regular Workflow Use:

  1. Download the attached .ZIP file below to your computer. *Remember the location of the saved file on your computer.
  2. Unzip the file on your computer. Should end up with a .WFD file.
  3. Log in to UCS Director as a user that has "system-admin" privileges.
  4. Navigate to "Policies-->Orchestration" and click on "Import".
  5. Click "Browse" and navigate to the location on your computer where the .WFD file resides. Choose the .WFD file and click "Open".
  6. Click "Upload" and then "OK" once the file upload is completed. Then click "Next".
  7. Click the "Select" button next to "Import Workflows". Click the "Check All" button to check all checkboxes and then the "Select" button.
  8. Click "Submit".
  9. A new folder should appear in "Policies-->Orchestration" that contains the imported workflow. You will now need to update the included tasks with information about the specific environment.

Workflow Input:

Screen Shot 2015-02-16 at 4.44.30 PM.png

The Log File:

Screen Shot 2015-02-16 at 4.44.14 PM.png

The Clopia Script:

importPackage(java.util);

importPackage(java.lang);

importPackage(java.io);

importPackage(com.cloupia.model.cEvent.notify);

importPackage(com.cloupia.model.cIM);

importPackage(com.cloupia.lib.util.mail);

importPackage(com.cloupia.fw.objstore);

importPackage(com.cloupia.lib.util.managedreports);

var searchVDC = [ ctxt.getInput("SearchVDC") ];

function VDCName2VDCid(P1) {

  var networkPolicyReport = ctxt.getAPI().userAPIFilterTabularReport("10","null","VDC-T45","vDC_Name",P1);

  logger.addInfo("vdc networkPolicyReport = " + networkPolicyReport);

  var policyList = networkPolicyReport.rows;

  logger.addInfo("policyList = " + policyList);

  if(policyList != null && policyList.size() > 0){

  var map = networkPolicyReport.getRow(0);

  logger.addInfo("VDC_ID = " + map.get("vDC_ID"));

  }

  return map.get("vDC_ID");

}

var x = VDCName2VDCid(searchVDC);

logger.addInfo("VDC_ID = " + x);

Comments
yshtoots
Cisco Employee

When i'm running this task using admin user it works fine, when i try to execute it inside a WF using a non admin user i'm getting error message about privilege

I'm using UCSD6


--- Nov 05, 2016 18:52:50 UTC Task: getIP-phpIPAM (custom_VDC_ID_2_VDC_Name) failed with error - java.lang.RuntimeException: java.lang.Exception: No such report exists or user does not have access privileges: VDC-T45, selectedContext=<None>

---- Nov 05, 2016 18:52:50 UTC Task #2 (getIP-phpIPAM (custom_VDC_ID_2_VDC_Name)) failed after 1 seconds

Update

Solved it with change initiating user task

Orf Gelbrich
Cisco Employee

I have a task out there that swaps user swap to admin I your workflow

vijjadha
Cisco Employee

I needed exactly this workflow for my customer. Great Job Orf

Orf Gelbrich
Cisco Employee

I am glad it is working.

Content for Community-Ad