From 13611484ef2b4f2fec94ee94dcd61cab0d2e7232 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Wed, 15 Jun 2022 13:04:25 -0500 Subject: [PATCH] update workflow --- .../Generate Unique Hostname/01_create_lock.js | 7 +++++++ .../02_getSdkConnectionForVC.js | 1 + .../Generate Unique Hostname/README.md | 14 ++++++++++++++ .../Generate Unique Hostname/schema.png | Bin 0 -> 29450 bytes 4 files changed, 22 insertions(+) create mode 100644 Orchestrator/Workflows/Generate Unique Hostname/01_create_lock.js create mode 120000 Orchestrator/Workflows/Generate Unique Hostname/02_getSdkConnectionForVC.js create mode 100644 Orchestrator/Workflows/Generate Unique Hostname/schema.png diff --git a/Orchestrator/Workflows/Generate Unique Hostname/01_create_lock.js b/Orchestrator/Workflows/Generate Unique Hostname/01_create_lock.js new file mode 100644 index 0000000..1ca2f82 --- /dev/null +++ b/Orchestrator/Workflows/Generate Unique Hostname/01_create_lock.js @@ -0,0 +1,7 @@ +/* JavaScript: create lock + Creates a vRO lock to avoid conflicts from multiple concurrent workflow runs. + Inputs: none + Outputs: none +*/ +System.debug("Creating lock..."); +LockingSystem.lockAndWait("namingLock","eventBroker"); \ No newline at end of file diff --git a/Orchestrator/Workflows/Generate Unique Hostname/02_getSdkConnectionForVC.js b/Orchestrator/Workflows/Generate Unique Hostname/02_getSdkConnectionForVC.js new file mode 120000 index 0000000..7054a1a --- /dev/null +++ b/Orchestrator/Workflows/Generate Unique Hostname/02_getSdkConnectionForVC.js @@ -0,0 +1 @@ +Actions/com.virtuallypotato.utility/getSdkConnectionForVC.js \ No newline at end of file diff --git a/Orchestrator/Workflows/Generate Unique Hostname/README.md b/Orchestrator/Workflows/Generate Unique Hostname/README.md index 2497a26..8a92857 100644 --- a/Orchestrator/Workflows/Generate Unique Hostname/README.md +++ b/Orchestrator/Workflows/Generate Unique Hostname/README.md @@ -1,6 +1,8 @@ # Generate Unique Hostname workflow Ensures a unique, sequentially-numbered hostname by checking for naming conflicts in vCenter, DNS, and Active Directory. +![Schema](schema.png) + ## Inputs/Outputs | Name | Type | Direction | Description | |:--- |:--- |:---|:---| @@ -10,3 +12,15 @@ Ensures a unique, sequentially-numbered hostname by checking for naming conflict | `vCenterName` | string | Input | FQDN of the owning vCenter | | `vmName` | string | Output | generated VM name | +## Variables +| Name | Type | Value | Description | +|:--- |:--- |:--- |:--- | +| `adHost` | AD:AdHost | `[object AD:AdHost]` | host used by the AD plugin | +| `candidateVmName` | string | | holds the current working name during checks | +| `computerNames` | ConfigurationElement | `[object ConfigurationElement]` | vRO config element to keep track of the last-used number sequence for a given `nameBase` | +| `conflict` | boolean | `false` | gets set to true when a name conflict is encountered | +| `digitCount` | number | `2` | determines how many digits get appended to `nameBase` | +| `errMsg` | string | | thrown when errors are encountered | +|`hostnameSequence` | number | `0` | starts the sequence at 0, tracks as it changes | +| `vcSdkConnection` | VC:SdkConnection | | host used by the vCenter plugin (set based on `vmName` input) | +| `vms` | Array/VC:VirtualMachine | | holds VM objects to check for conflicts | \ No newline at end of file diff --git a/Orchestrator/Workflows/Generate Unique Hostname/schema.png b/Orchestrator/Workflows/Generate Unique Hostname/schema.png new file mode 100644 index 0000000000000000000000000000000000000000..085528823743b8d395249205f8b1b06dc67c69d6 GIT binary patch literal 29450 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 literal 0 HcmV?d00001