VMware vCloud Director Connector
This section of the documentation contains the technical specifications of the ASM Core - VMware vCloud Director connector, which allows you to perform Cloud Provisioning and IT Service Management.
This section of the documentation contains the technical specifications of the ASM Core - VMware vCloud Director connector, which allows you to perform Cloud Provisioning and IT Service Management functions against business services deployed on cloud based infrastructure managed by VMware vCloud Director.
The documentation describes the details of the VMware vCloud Director connector including:
The supported versions of VMware vCloud Director
The name of the .NET assembly file
The connection methodology
The resource and link types that can be discovered and the attributes of each resource and link type
The events that are generated and the attributes passed with those events.
The actions that can be called from ASM Core to be implemented into VMware vCloud Director.
For compatibility and version support details, refer to the ASM Connector Matrix.
You should familiarize yourself with the information in Installing Connectors before installing any connectors, and read the Integration topics for more information on how to configure them.
Functionality
The vCloud Director connector allows organizations to:
Drive actions on cloud based resources and applications as part of a Service Request or Change Management process, or Release Management process.
Discover cloud based resources into the ASM Core Federated CMDB, including:
Organizations
Catalogs
vApp Templates
vApps
Use Case Scenario
The connector can be used to support following use cases:
Cloud Provisioning
Incident Classification
Asset Management.
Change/Release Management
Request Fulfilment
Possible use cases and recommendations are provided further in this document.
Connector Description
The table below provides a description of the VCloud Director Connector.
Connector
VMware vCloud Director <-> ASM Core
ASM database version
SQL (See Prerequisites document for details)
Third-party application
VMware vCloud Director
VMware vCloud Director supported DB
Any DB format as detailed in VMware vCloud Director Prerequisites
Assembly
Infra.Connector.vCloud.dll
Connector class
vCloudConnector
Configuration file
Infra.Connector.vCloud.icnf
Connection methodology
Web Services
The table below provides compatibility for ASM and VCD Versions
VSM/ASM Versions Supported
VMware vCloud Director Versions Supported
10
1.5 / 1.5.1 / 5.1
10
1.5 / 1.5.1 / 5.1 / 5.5
The connector uses vCloud 1.5 API when liaising with VMware vCloud Director 5.1 / 5.5 systems. As a consequence, version 5.1 / 5.5 vCloud specific resources and functionalities are not exposed to ASM Systems.
Connector Install Process
The connector install process is part of the main application installation process.
Connection Parameters
When creating a new VMware vCloud Director source from the Source option of the Integration Platform, some specific parameters have to be entered. The screenshot below illustrates an example of connection details to a VMware vCloud Director source.
Only one set of credentials is required; from a vCD system administrator.
URL
This represents the path to the vCloud Director application, not the API as such. The path provided should make use of https tag.
This patch must not contain any references to virtual directories. An example of proper path is
In comparison,
and
are two examples of erroneous paths.
Login ID and Password
For vCD system admin, the Login ID needs to be of the following format:
Federated CMDB Population
Federated CMDB population is performed by setting up scans using the Integration Platform functionality of ASM Core. These scans allow for VMware vCloud Director resources and links to be reflected in the ASM Core CMDB. This section provides details on the resource types and attributes, as well as on the link types and their attributes.
Resource Types
This section lists the resource types and their attributes that the connector is able to discover and eventually import on VMware vCloud Director systems.
Network Pool
name
Name
string
href
API URL
string
Description
Description
text
This resource is a mandatory input when using the new outbound action: Create Organization Network – Routed.
Provider vDC
A provider vDC resource is a collection of all the resources available in a vCloud. A Provider vDC is created by the vCloud service provider using tools that are specific to the host platform. In this release, a Provider vDC is created by a vSphere administrator using vSphere tools. The attributes of this resource type are listed in the table below:
name
Name
string
href
API URL
string
description
Description
string
status
Status
profile
CpuAllocation
CPU Allocation (MHz)
long
CpuCapacity
CPU Capacity (MHz)
long
CpuFree
CPU Free (MHz)
long
MemoryAllocation
Memory Allocation (MB)
long
MemoryCapacity
Memory Capacity (MB)
long
MemoryFree
Memory Free (MB)
long
RootComputeCapacityIsElastic
Elastic CPU/Memory
Bool
RootComputeCapacityIsHA
Highly Available CPU/Memory
Bool
StorageAllocation
Storage Allocation (MB)
long
StorageCapacity
Storage Capacity (MB)
long
StorageFree
Storage Free (MB)
long
VCpuRatingMHz
Virtual CPU Rating (MHz)
int
isEnabled
Enabled
bool
Provider Network
This element is created by the server and is read-only at the client. The attributes of this resource type are listed in the table below:
name
Name
string
href
API URL
string
ProviderInfo
Provider Info
string
Description
Description
text
NetworkPoolName
Network Pool Name
string
NetworkPoolHref
Network Pool Href
string
IpScopeIsInherited
IP Scope Is Inherited
bool
IpScopeGateway
IP Scope Gateway
string
IpScopeNetmask
IP Scope Netmask
string
IpScopeDns1
IP Scope DNS 1
string
IpScopeDns2
IP Scope DNS 2
string
IpScopeDnsSuffix
IP Scope DNS Suffix
string
IpScopeIpRanges
IP Scope IP Ranges
string
FenceMode
Fence Mode
profile
DHCPServiceEnabled
DHCP Service Enabled
bool
DHCPDefaultLeaseTime
DHCP Default Lease Time
int
DHCPMaxLeaseTime
DHCP Max Lease Time
int
DHCPIpRange
DHCP IP Range
string
FireWallIsEnabled
Firewall Enabled
bool
FireWallRuleIsEnabled
Firewall Rule Enabled
bool
FireWallRuleDescription
Firewall Rule Description
bool
FireWallRulePolicy
Firewall Rule Policy
string
FireWallRuleProtocolTCP
Firewall Rule Protocol TCP
bool
FireWallRuleProtocolUDP
Firewall Rule Protocol UDP
bool
FireWallRuleProtocolPort
Firewall Rule Port
int
NatIsEnabled
NAT Enabled
bool
NatType
NAT Type
string
NatPolicy
NAT Policy
string
NetworkOrgName
Network Organization Name
string
NetworkOrgAPIAdminUrl
Network Organization API Admin URL
string
Organization
A vCloud contains one or more organizations. A vCloud organization is a unit of administration for a collection of users, groups, and computing resources. Clients authenticate at the organization level, using credentials established by an organization administrator when the user was created or imported from a directory service such as LDAP.
The attributes of this resource type are listed in the table below:
name
Name
string
href
API URL
string
description
Description
text
fullName
Full Name
string
consoleURL
Console URL
string
orgUsers
Users
entityReference
DefaultDeploymentLeaseSeconds
Default Deployment Lease (Sec)
int
DefaultStorageLeaseSeconds
Default Storage Lease (Sec)
int
vDC
A vCloud virtual datacenter (vDC) is an allocation mechanism for computing resources such as networks, storage, CPU, and memory. In a vDC, these resources are fully virtualized, and can be allocated based on demand, service level requirements, or a combination of the two. Resource consumption in a vDC is monitored by a chargeback mechanism.
There are two kinds of vDC:
Provider vDCs contain all the resources available from the vCloud service provider. Provider vDCs are created and managed by vCloud system administrators.
Organization (Org) vDCs provide an environment where virtual systems can be stored, deployed, and operated. They also provide storage for virtual media.
The vCloud system administrator allocates resources to an organization vDC, and an organization administrator specifies how that allocation is distributed to the vDCs in an organization.
The attributes of this resource type are listed in the table below:
Organization
Organization
entityReference
name
Name
string
href
API URL
string
description
Description
text
status
Status
profile
nicQuota
NIC Quota
int
networkQuota
Network Quota
int
vmQuota
VM Quota
int
cpuAllocated
CPU Allocated (MHz)
long
cpuLimit
CPU Limit (MHz)
long
cpuUsed
CPU Used (MHz)
long
memAllocated
Memory Allocated (MB)
long
memLimit
Memory Limit (MB)
long
memUsed
Memory Used (MB)
long
storageAllocated
Storage Allocated (MB)
long
storageLimit
Storage Limit (MB)
long
storageUsed
Storage Used (MB)
long
isEnabled
Is Enabled
bool
vDCOrgName
vDC Organization Name
string
vDCOrgAPIAdminUrl
vDC Organization API Admin URL
string
Network
An organization can be provisioned with one or more networks, each of which represents an allocation of the networking capacity of a provider vDC. These networks (known as organization networks) can be configured to provide services such as DHCP, NAT, and firewalling.
The attributes of this resource type are listed in the table below:
name
Name
string
href
URL
string
Description
Description
string
NetworkPoolName
Network Pool Name
string
NetworkPoolHref
Network Pool Href
string
IpScopeIsInherited
IP Scope Is Inherited
bool
IpScopeGateway
IP Scope Gateway
string
IpScopeNetmask
IP Scope Netmask
string
IpScopeDns1
IP Scope DNS 1
string
IpScopeDns2
IP Scope DNS 2
string
IpScopeDnsSuffix
IP Scope DNS Suffix
string
IpScopeIpRanges
IP Scope IP Ranges
string
FenceMode
Fence Mode
profile
DHCPServiceEnabled
DHCP Service Enabled
bool
DHCPDefaultLeaseTime
DHCP Default Lease Time
int
DHCPMaxLeaseTime
DHCP Max Lease Time
int
DHCPIpRange
DHCP IP Range
string
FireWallIsEnabled
Firewall Enabled
bool
FireWallRuleIsEnabled
Firewall Rule Enabled
bool
FireWallRuleDescription
Firewall Rule Description
bool
FireWallRulePolicy
Firewall Rule Policy
string
FireWallRuleProtocolTCP
Firewall Rule Protocol TCP
bool
FireWallRuleProtocolUDP
Firewall Rule Protocol UDP
bool
FireWallRuleProtocolPort
Firewall Rule Port
int
NatIsEnabled
NAT Enabled
bool
NatType
NAT Type
string
NatPolicy
NAT Policy
string
Catalog
Catalogs contain references to an organization’s virtual systems and media images. A catalog can be unpublished and visible only to its creator, or published and visible to other members of an organization. A vCloud system administrator specifies which organizations can publish catalogs, and an organization administrator controls the publication of catalogs and access to published catalogs within the organization.
The attributes of this resource type are listed in the table below:
Organization
Organization
entityReference
name
Name
string
href
API URL
string
Description
Description
string
IsPublished
Is Published
boolean
IsSharedToEveryone
Is Shared to Everyone
boolean
EveryoneAccessLevel
Everyone Access Level
profile
Owner
Owner
string
CatalogOrgName
Catalog Organization Name
string
CatalogOrgAPIAdminUrl
Catalog Organization API Admin URL
string
Catalog Item
A CatalogItem element can reference any entity that can be contained by a Catalog. Every vApp template or media image that has been added to the catalog is represented as a CatalogItem element.
The attributes of this resource type are listed in the table below:
name
Name
string
href
API URL
string
Description
Description
string
Entity
Entity
Entity reference
EntityURL
Entity URL
String
Type
Type
Profile
Catalog
Catalog
Entity reference
CatalogItemOrgName
Catalog Item Organization Name
string
CatalogItemOrgAPIAdminUrl
Catalog Item Organization API Admin URL
string
vApp Template
The attributes of this resource type are listed in the table below:
name
Name
string
href
API URL
string
status
Status
profile
Type
Type
profile
Description
Description
string
ovfDescriptorUploaded
ovf Descriptor Uploaded
bool
NetworkSection
Network Section
string
EulaSection
Eula Section
string
DeploymentLeaseInSeconds
Deployment Lease (Seconds)
int
StorageLeaseInSeconds
Storage Lease (Seconds)
int
DeploymentLeaseExpiration
Deployment Lease Expiration
datetime
StorageLeaseExpiration
Storage Lease Expiration
datetime
numVMs
No of VMs
int
canInstantiate
Can Instantiate
bool
vAppTemplateOrgName
vApp Template Organization Name
string
vAppTemplateOrgAPIAdminUrl
vApp Template Organization API Admin URL
string
vApp
The attributes of this resource type are listed in the table below:
name
Name
string
href
URL
string
vappowner
vApp Owner
string
status
Status
profile
Type
Type
profile
Description
Description
string
ovfDescriptorUploaded
ovf Descriptor Uploaded
bool
NetworkSection
Network Section
string
EulaSection
Eula Section
string
DeploymentLeaseInSeconds
Deployment Lease (Seconds)
int
StorageLeaseInSeconds
Storage Lease (Seconds)
int
DeploymentLeaseExpiration
Deployment Lease Expiration
datetime
StorageLeaseExpiration
Storage Lease Expiration
datetime
numVMs
No of VMs
int
vAppOrgName
vApp Organization Name
string
vAppOrgAPIAdminUrl
vApp Organization API Admin URL
string
vAppOwner
vApp Owner
string
Media
The attributes of this resource type are listed in the table below:
name
Name
string
href
URL
string
status
Status
profile
Type
Type
profile
Description
Description
string
imageType
Image Type
profile
Size
Size (bytes)
int
MediaOrgName
Media Organization Name
string
MediaOrgAPIAdminUrl
Media Organization API Admin URL
string
VM
A VM represents an individual virtual system, a member of a vApp’s Children container.
The attributes of this resource type are listed in the table below:
name
Name
string
href
API URL
string
status
Status
profile
Description
Description
string
ovfDescriptorUploaded
ovf Descriptor Uploaded
bool
adminPasswordEnabled
Has Local Admin Password
bool
adminPassword
Local Admin Password
string
computerName
Computer Name
string
internalIpAddress
Internal IP Addresses
string
externalIpAddress
External IP Addresses
string
operatingSystem
Operating System
string
numberOfCpus
Number of CPUs
int
totalDiskCapacity
Total Disk Capacity (MB)
float
memory
Memory (MB)
long
VMOrgName
VM Organization Name
string
VMOrgAPIAdminUrl
VM Organization API Admin URL
string
vCD User
A User represents an individual user in the vCD system.
name
Name
String
href
API URL
String
adminurl
API Admin URL
String
uniqueid
Unique ID
String
FullName
Full Name
String
EmailAddress
Email Address
String
Telephone
Telephone
String
IsEnabled
Is Enabled
Bool
IsLocked
Is Locked
Bool
IM
IM
String
NameInSource
Name In Source
String
Object GUID
Object GUID
String
IsAlertEnabled
Is Alert Enabled
Bool
IsExternal
Is External
Bool
IsDefaultCached
Is Default Cached
Bool
IsGroupRole
Is Group Role
Bool
StoredVMQuota
Stored VM Quota
Int
DeployedVMQuota
Deployed VM Quota
Int
RoleName
RoleName
String
Password
Password
String
UserOrgName
User Organization Name
String
UserOrgAPIAdminUrl
User Organization API Admin URL
String
UserOrgDescription
User Organization Description
String
UserOrgFullName
User Organization Full Name
String
UserOrgDefaultDeploymentLeaseSeconds
User Organization Default Deployment Lease (Sec)
Int
UserOrgDefaultStorageLeaseSeconds
User Organization Default Storage Lease (Sec
Int
Link Types
The connector allow for the exposure and import of several link types into the ASM Core CMDB. These link types are summarized in the table below.
Provider vDC Networks
Provider vDC
Provider Network
Link that shows relationship between provider vDC with provider Networks.
Catalog Contents
Catalog
Catalog Items
Link that shows relationship between a Catalog with its Contents.
vDC Available Networks
vDC
Network
Link that shows relationship between a vDC with its available networks.
vDC Resources
vDC
vDC Resource
Link that shows relationship between a vDC with its Resources.
VMs in vApp
vAppTemplates and vApps
vDC Resource:VM
Link that shows relationship between a VM with its parent, the vApp.
App Networks
vAppTemplates, vApps and VMs
Network
Link that shows relationship between a vApp with its network.
Network Association
Network
Network
Link that shows relationship between a network with its parent, the provider network.
Organization vDCs
Organization
vDC
Link to show the vDCs that belong to an organization.
Organization Catalogs
Organization
Catalog
Link to show the catalogs that belongs to an organization.
Organization Networks
Organization
Network
Link that shows the relationship of a network allocated to an organization by the system administrator.
Organization Users
Organization
User
User Import
The vCD connector allows for the discovery and importation of User from VMware vCloud Director into ASM Core as person records.
An organization can contain an arbitrary number of person records and groups. Person records can be created by the organization administrator or imported from a directory service such as LDAP. (Groups must be imported from the directory service.) Permissions within an organization are controlled through the assignment of security roles and groups to person records that can also be flagged as Users or Analysts.
Imports of users into ASM Core can take place in 2 main environments:
VMware vCloud Director is the authoritative source of users for VMware Service
A LDAP repository (such as MS Active Directory) is the authoritative source of users
In the second case, special care should be applied to Users import as it can lead to the creation of multiple person records for a unique directory server user. To avoid this happening, it is recommended to implement the following:
When setting up LDAP mapping, use a custom string from the Person template (for instance “Custom String 1”) to map the LDAP “Object GUID” attribute.
When setting up the VMware vCloud Director mapping, apply the following:
Field mapping
ASM Core Person “Custom String 1” field mapped to vCD “Object GUID” attribute
5. Matching Criteria rule
Outbound Action Types
The VCD connector proposes several action types. It does not handle any inbound action type.
For more details about Outbound/Inbound action functionality, refer to the documentation on ASM Core Integration Platform.
Instantiate vApp
A vApp template is like a recipe for creating a vApp. This recipe, contained in the vAppTemplate entity, specifies a set of files, such as virtual disks, that the vApp requires, and a set of abstract resources, such as CPU, memory, and network connections, that must be allocated to the vApp by the vDC in which it is deployed.
Instantiation creates these vDC-specific bindings based on parameters supplied by the client. (These bindings are advisory; they do not guarantee that the resource will be available when the vApp is deployed.) Instantiation is a prerequisite to deployment. In most cases, a client instantiates a vApp template and then immediately deploys it.
You cannot instantiate a vApp template until all of its required files are available in a vDC. A vAppTemplate that meets this requirement is said to be resolved, and has a status attribute whose value is 1.
When configuring the Instantiate vApp Outbound Action, it is recommended to set up both the Deploy and the Power On attributes to False.
Action ID
instantiateVAppTemplate
Action Display Name
Instantiate a vApp Template
Type of Transaction
Asynchronous
Input Parameters
name
vApp Name *
string
Description
vApp Description
string
vDC
vDC *
entityReference
vAppTemplate
vApp Template *
entityReference
deploy
Deploy
bool
network
Network
entityReference
powerOn
Power On
bool
DeploymentLeaseExpiration
Deployment Lease Expiration
dateTime
StorageLeaseExpiration
Storage Lease Expiration
dateTime
* indicates mandatory field
Output Parameters
vAppName
vApp Name
string
vAppURL
vApp API URL
string
vAppConsoleURL
vApp Console URL
string
Action Error Message
Action Error Message
string
Action Error StackTrace
Action Error StackTrace
string
Action Error Minor Error Code
Action Error Minor Error Code
string
Action Error Major Error Code
Action Error Major Error Code
string
HttpCode
HTTP Status Code
string
HttpMessage
HTTP Message
string
HttpUri
HTTP URI
string
HttpFaultResponse
HTTP Fault Response
string
Provision Organization
This is a composite action that orchestrates the individual actions used to provision a new organization, in the following order:
Create Organization
Create User
Create Organization Network
Create Organization vDC
Action ID
provisionOrg
Action Display Name
Create Organization
Type of transaction
Synchronous; concludes on creation
Input Parameters
Organization
organizationName
Organization Name*
string
organizationDescription
Organization Description
text
organizationFullname
Organization Full Name*
string
DeployedVMQuota
Deployed VM Quota
int
StoredVMQuota
Stored VM Quota
int
OrganizationLdapOu
Organization LDAP OU
string
Lease
DefaultDeploymentLease
Default Deployment Lease
int
DefaultStorageLease
Default Storage Lease
int
Notification
UseDefaultNotificationSettings
Use Default Notification Settings*
bool
NotificationSenderAddress
Notification Sender Address
string
NotificationSubjectPrefix
Notification Subject Prefix
string
User
AdministrationUsers
Administration Users *
string
AdministrationRole
Administration Role *
profile
OrganizationUsers
Organization Users
string
OrganizationRole
Organization Role
profile
Network
NetworkName
Network Name *
string
NetworkDescription
Network Description
text
ParentNetwork
Parent Network *
entityReference
VdcName
vDC Name *
string
VdcDescription
vDC Description
text
VdcAllocationModel
Allocation Model *
profile
VdcStorageAllocated
Storage Allocated (MB)
int
VdcStorageLimit
Storage Limit (MB)
int
VdcCpuAllocated
CPU Allocated (MHz)
int
VdcCpuLimit
CPU Limit (MHz)
int
VdcMemoryAllocated
Memory Allocated (MB)
int
VdcMemoryLimit
Memory Limit (MB)
int
VdcNicQuota
NIC Quota
int
VdcNetworkQuota
Network Quota
int
VdcVmQuota
VM Quota
int
VdcPercentResourceGuaranteedMemory
% Resource Guaranteed (Mem.)
float
VdcPercentResourceGuaranteedCpu
% Resource Guaranteed (CPU)
float
VdcIsThinProvision
Is Thin Provision
bool
VdcProviderVdc
Provider vDC Reference *
entityReference
VdcVCpuRatingMHz
Virtual CPU Frequency (MHz)
long
* indicates mandatory field
Output Parameters
orgURL
Organization API URL
string
orgConsoleURL
Organization Console URL
string
networkURL
Organization Network API URL
string
vdcURL
Organization vDC API URL
string
Action Error Message
Action Error Message
string
Action Error StackTrace
Action Error StackTrace
string
Action Error Minor Error Code
Action Error Minor Error Code
string
Action Error Major Error Code
Action Error Major Error Code
string
HttpCode
HTTP Status Code
string
HttpMessage
HTTP Message
string
HttpUri
HTTP URI
string
HttpFaultResponse
HTTP Fault Response
string
Login IDs are provided as a concatenated list of login IDs, delimited by semi-colons. It assumed the dedicated portal UI will take responsibility for concatenating these values.
Set vApp Network
Binds an org network to a vApp network with the specified name.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
Network
reference to an Org Network
Network Admin API URL
String
Network API URL
String
vApp Network Name
String
Output Parameters
Error Code
int
Error Message
String
If “vApp Network Name” is empty, the org network is bound to all the vApp networks in the vApp.
Customize Virtual Machines
A VM must be powered off while this action is performed in order for it to succeed. The Customization script is ran only when the VM is restarted.
This configures a VM to have a specific guest customization as specified by the parameters. If not configured, the action will switch on guest customization for the virtual machine. Guest customization is dependent on VMware Tools being already installed on the VM.
If a vApp is identified by the parameters, the customization is applied to all VMs within.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
Reference to a VM
Guest Customization Script
Text
Computer Name
String
Local Admin Password
String
Output Parameters
Error Code
int
Error Message
String
Update VM Capacity
A VM must be powered off while this action is performed in order for it to succeed.
This updates the memory and CPU of a VM to values specified by the parameters.
If a vApp is identified by the parameters, the update is applied to all VMs within.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
reference to a VM
Number of CPUs
int
inMemory (MB)
int
Output Parameters
Error Code
int
Error Message
String
Make VM Names Unique
A VM must be powered off while this action is performed in order for it to succeed.
This generates a pseudo-random name a virtual machine within a vApp, optionally seeded by a provided prefix. The update is performed to both the internal vSphere name for the virtual machine and its computer name.
If not configured, the action will switch on guest customization for the virtual machine. Guest customization is dependent on VMware Tools being already installed on the VM.
If no prefix is specified, the initial internal VM name is used instead.
The generated name is necessarily restricted in length to 15 characters.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
Reference to a VM
Prefix
String
Output Parameters
Error Code
int
Error Message
String
Insert Disk
A VM must be powered off while this action is performed in order for it to succeed.
This inserts a new disk into a VM.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
Reference to a VM
Bus Sub Type
Profile "Bus Sub Types"
Capacity (MB)
int
Output Parameters
Error Code
in
Error Message
String
Profile “Bus Sub Types”
To support this action a new profile and a new matrix will be defined and published covering the supported bus types.
ide
IDE
IDE
5
buslogic
BusLogic Parallel (SCSI)
SCSI
6
lsilogic
LSI Logic Parallel (SCSI)
SCSI
6
lsilogicsas
LSI Logic SAS (SCSI)
SCSI
6
virtualscsi
Paravirtual (SCSI)
SCSI
6
Remove Disk
This removes a disk with the specified index from a VM. If no index is specified, it will remove the disk with the highest index.
Input Parameters
vApp
reference to a vApp
vApp API URL
string
VM
Reference to a VM
Disk Index
int
Output Parameters
Error Code
int
Error Message
String
Deploy a vApp or Virtual Machine
Deploying a vApp automatically deploys all of the virtual machines it contains.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
Reference to a VM
Power On
Bool
Deployment Lease (Seconds)
int
Output Parameters
Error Code
int
Error Message
String
Undeploy a vApp or Virtual Machine
Undeploying a vApp powers off or suspends any running vApp Children, then frees the resources reserved for the vApp and sets the vApp’s status attribute to a value of 1 to indicate that it is not deployed.
Undeploying a virtual machine powers off or suspends the virtual machine, then frees the resources reserved for it and sets the its status attribute to a value of 1 to indicate that it is not deployed.
This operation has no effect on the containing vApp.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
Reference to a VM
Save State
Bool
Output Parameters
Error Code
int
Error Message
String
Power On a vApp or Virtual Machine
A powerOn request to a vApp URL powers on all of the virtual machines in the vApp, as specified in the vApp’s ovf:StartupSection element.
A powerOn request to a virtual machine URL powers on the specified virtual machine.
Input Parameters
vApp
reference to a vApp
vApp API URL
string
VM
reference to a VM
Output Parameters
Error Code
int
Error Message
string
Power Off a vApp or Virtual Machine
A powerOff request to a vApp URL powers off all of the virtual machines in the vApp, as specified in its ovf:StartupSection element.
A powerOff request to a virtual machine URL powers off the specified virtual machine.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
Reference to a VM
Output Parameters
Error Code
int
Error Message
String
Reset a vApp or Virtual Machine
A reset request to a vApp URL resets all of the virtual machines in the vApp, as specified in its ovf:StartupSection element.
A reset request to a virtual machine URL resets the specified virtual machine.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
Reference to a VM
Output Parameters
Error Code
int
Error Message
String
Suspend a vApp or Virtual Machine
A suspend request to a vApp URL suspends all of the virtual machines in the vApp, as specified in its ovf:StartupSection element.
A suspend request to a virtual machine URL suspends the specified virtual machine.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
Reference to a VM
Output Parameters
Error Code
int
Error Message
String
Discard Suspended State
A discardSuspendedState request to a vApp URL discards the suspended state of all of the virtual machines in the vApp, as specified in its ovf:StartupSection element.
A discardSuspendedState request to a virtual machine URL discards the suspended state of the specified virtual machine.
You cannot resume a suspended vApp after its suspended state has been discarded.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
Reference to a VM
Output Parameters
Error Code
int
Error Message
String
Shutdown a vApp or Virtual Machine
A shutdown request to a vApp URL shuts down all of the virtual machines in the vApp, as specified in its ovf:StartupSection element.
A shutdown request to a virtual machine URL shuts down the specified virtual machine. This request needs VM Tools to be installed on the VM to succeed.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
Reference to a VM
Output Parameters
Error Code
int
Error Message
String
Reboot a vApp or Virtual Machine
A reboot request to a vApp URL reboots all of the virtual machines in the vApp, as specified in its ovf:StartupSection element.
A reboot request to a virtual machine URL reboots the specified virtual machine. This request needs VM Tools to be installed on the VM to succeed.
Input Parameters
vApp
reference to a vApp
vApp API URL
String
VM
Reference to a VM
Output Parameters
Error Code
int
Error Message
String
Clone a vApp
This operation must be performed with organization credentials.
The cloneVApp operation is similar to the instantiateVAppTemplate operation, except that it specifies a vApp to clone, rather than a vAppTemplate to instantiate.
Input Parameters
Name *
string
Description
text
vApp*
Reference to vApp
vDC*
Reference to vDC
Network
Reference to Network
Deploy
bool
Power-up
bool
Deployment Lease Expiry Date
date time
Storage Lease Expiry Date
date time
Output Parameters
Clone vApp Name
string
Clone vApp API URL
string
Clone vApp
reference to vApp
vApp Console URL
string
Error Code
int
Error Message
string
* indicates mandatory field
Compose a Blank vApp
Creates a Blank vApp on a particular VDC.
Input Parameters
vApp Name*
string
vDC*
Reference to vDC
Deployment Lease Expiry Date
date time
Storage Lease Expiry Date
date time
Output Parameters
vApp Name
string
vApp API URL
string
vApp
Reference to vApp
vApp Console URL
string
Error Code
int
Error Message
string
* indicates mandatory field
Merge vApp
Merges one or more source vApps into a target vApp. The Target vApp Name parameter is optional, if it is provided the resultant merged vApp will be renamed to this Target vApp Name. If Delete Source is True and Source is a VM, the VM will be deleted from its parent vApp.
Input Parameters
Source vApp
reference to vApp (Multiple Value)
Source vApp API URL
String (Multiple Value)
Target vApp Name
string
Target vApp
reference to vApp
Target vApp API URL
string
Delete Source
bool
Output Parameters
Merged vApp Name
string
Merged vApp
reference to vApp
Merged vApp API URL
string
Error Code
int
Error Message
string
Renew a vApp
Renews the deployment and/or storage lease of a vApp.
Input Parameters
vApp
resource reference
vApp API URL
string
Deployment Lease Expiry Date
date time
Storage Lease Expiry Date
date time
Output Parameters
N/A
N/A
Share a vApp
Share a vApp to everyone in the Org or to a few people specified in the input parameters.
If sharing to everyone the “Share to Users” parameter(s) are not needed. Otherwise they must be provided.
A vApp can only be shared to person records assigned an Organization where the vApp resides.
Input Parameters
vApp
resource reference
vApp API URL
string
Share to Everyone
bool
Share to Users
reference (Multiple Value)
Access Level *
profile
Output Parameters
Error Code
int
Error Message
string
* indicates mandatory field
Delete a vApp
This physically deletes a vApp.
Input Parameters
vApp
resource reference
vApp API URL
string
Output Parameters
Error Code
int
Error Message
string
Create an Organization
This creates an Organization in vCloud Director.
Input Parameters
Organization Name *
string
Organization Full Name *
string
Use Default Notification Settings *
bool
Organization Description
text
Deployed VM Quota
int
Stored VM Quota
int
Deployment Lease Seconds
int
Storage Lease Seconds
int
Is Default Org Email *
bool
From Email Address
string
Default Subject Prefix
string
Output Parameters
Error Code
int
Error Message
string
Organization Name
string
Organization API Admin URL
string
Organization API URL
string
* indicates mandatory field
Update an Organization
Input Parameters
Organization Description
text
Deployed VM Quota
int
Stored VM Quota
int
Deployment Lease Seconds
int
Storage Lease Seconds
int
Is Default Org Email *
bool
From Email Address
string
Default Subject Prefix
string
Organization Full Name
string
Organization API Admin URL
string
Organization
entityReference
Output Parameters
Error Code
Int
Error Message
String
* indicates mandatory field
In addition to the fields that are marked with an asterisk, it is mandatory to provide either Organization API Admin URL or Organization.
Delete an Organization
Input Parameters
Organization API Admin URL
string
Organization
entityReference
Output Parameters
Error Code
int
Error Message
string
Create an Organization User
Input Parameters
Organization Admin API URL*
string
Full Name
string
Email Address
string
Telephone
string
Is Enabled
bool
IM
string
Is Alert Enabled
bool
Stored Vm Quota
int
Deployed Vm Quota
int
Organization User *
string
Organization Role *
profile
Password *
string
Output Parameters
Error Code
int
Error Message
string
User Name
string
User API Admin URL
string
* indicates mandatory field
Update an Organization User
Input Parameters
Full Name
string
Email Address
string
Telephone
string
Is Enabled
bool
IM
string
Is Alert Enabled
bool
Stored Vm Quota
int
Deployed Vm Quota
int
Organization Role
profile
Is External
bool
User Admin API URL
string
User
entityReference
Output Parameters
Error Code
int
Error Message
string
In addition to the fields that are marked with an asterisk in the previous section, it is mandatory to provide either User API Admin URL or User.
Delete an Organization User
Input Parameters
User Admin API URL
string
User
entityReference
Output Parameters
Error Code
int
Error Message
string
Delete an Organization Network
Input Parameters
Network Admin API URL
string
Network
entityReference
Output Parameters
Error Code
int
Error Message
string
Create an Organization vDC
Input Parameters
Organization Admin API URL
string
Network Admin API URL
string
vDC Name *
string
Allocation Model *
profile
Provider vDC Reference *
entityReference
vDC Description
text
Storage Allocated (MB)
int
Storage Limit (MB)
int
CPU Allocated (MHz)
int
CPU Limit (MHz)
int
Memory Allocated (MB)
int
Memory Limit (MB)
int
NIC Quota
int
Network Quota
int
VM Quota
int
% Resource Guaranteed
(Memory)
float
% Resource Guaranteed
(CPU)
float
Is Thin Provision
bool
Virtual CPU Frequency (MHz)
long
Output Parameters
Error Code
int
Error Message
string
vDC Name
string
vDC API Admin URL
string
vDC API URL
string
* indicates mandatory field
Update an Organization vDC
In addition to the fields that are marked with an asterisk, it is mandatory to provide either vDC Admin API URL or vDC.
Input Parameters
Organization Admin API URL
string
Network Admin API URL
string
vDC Name *
string
Allocation Model *
profile
Provider vDC Reference *
entityReference
vDC Description
text
Storage Allocated (MB)
int
Storage Limit (MB)
int
CPU Allocated (MHz)
int
CPU Limit (MHz)
int
Memory Allocated (MB)
int
Memory Limit (MB)
int
NIC Quota
int
Network Quota
int
VM Quota
int
% Resource Guaranteed(Memory)
float
% Resource Guaranteed(CPU)
float
Is Thin Provision
bool
Virtual CPU Frequency (MHz)
long
Output Parameters
Error Code
int
Error Message
string
* indicates mandatory field
In addition to the fields that are marked with an asterisk, it is mandatory to provide either vDC Admin API URL or vDC.
Delete an Organization vDC
An Organization must be Disabled before it can be deleted.
Input Parameters
vDC Admin API URL
string
vDC
entityReference
Output Parameters
Error Code
int
Error Message
string
Change Ownership of a vApp
You can change the owner of a VApp, but not that of a VAppTemplate or Media object.
VApp, VAppTemplate, Catalog, and Media objects are initially owned by the user who created them. Ownership is expressed in an Owner element contained by the object representation. This element includes a User element that references the owner.
Input Parameters
User Admin API URL
string
User
entityReference
vApp API URL
string
vApp
entityReference
Output Parameters
Error Code
int
Error Message
string
Update VM Network Connection
Input Parameters
vApp API URL
string
vApp
entityReference
VM
entityReference
Network Admin API URL
string
Network
entityReference
Network Connection Index *
int
IP Address
string
IP Address Allocation Mode
profile
Output Parameters
Error Code
int
Error Message
string
The Network Connection Index attribute represents the NIC number of the VM targeted by this outbound action.
* indicates mandatory field.
In addition, it is mandatory to provide vApp API URL or vApp or VM.
Create Organization Network - Bridged
This is accessible by multiple organizations. Virtual machines belonging to different organizations can connect to and see traffic on this network. This network provides direct layer 2 connectivity to machines outside of the organization. Machines outside of this organization can connect to machines within the organization directly.
Input Parameters
Parent Network *
reference to an External Network
Network Description
string
Network Name *
string
Organization Admin API URL *
String
Output Parameters
Network API Admin URL
String
Network Name
String
Action Error Major Code
String
Action Error Message
String
Action Error Minor Error Code
String
Action Error Stack Trace
String
HTTP Fault Response
String
HTTP Message
String
HTTP Status Code
String
HTTP URI
String
* indicates mandatory field
Create Organization Network - Isolated
This is accessible only by this organization. Only virtual machines within this organization can connect to and see traffic on this network.
This network provides an organization with an isolated, private network that multiple vApps can connect to. This network provides no connectivity to machines outside this organization. Machines outside of this organization have no connectivity to machines within the organization.
Input Parameters
Start Address *
String
End Address *
String
NetMask *
String
Gateway *
String
Network Name *
String
Network Pool *
Reference to a Network Pool
Network Description
String
Organization Admin API URL *
String
Output Parameters
Network API Admin URL
String
Network Name
String
Action Error Major Code
String
Action Error Message
String
Action Error Minor Error Code
String
Action Error Stack Trace
String
HTTP Fault Response
String
HTTP Message
String
HTTP Status Code
String
HTTP URI
string
* indicates mandatory field
Create Organization Network - Routed
Accessible only by the organization specified. Only virtual machines within this organization can connect to this network.
This network also provides controlled access to an external network. System administrators and organization administrators can configure network address translation (NAT) and firewall settings to make specific virtual machines accessible from the external network.
Input Parameters
Start Address *
String
End Address *
String
NetMask *
String
Gateway *
String
Network Name *
String
Network Pool *
Ref to a Network Pool
Network Description
String
Organization Admin API URL *
String
DHCP Is Enabled
Boolean
DHCP Start Address
String
DHCP End Address
String
DHCP Default Lease Time
Int
DHCP Max Lease Time
Int
Firewall Is Enabled
Boolean
Firewall Default Action
Allow / Block
Output Parameters
Network API Admin URL
String
Network Name
String
Action Error Major Code
String
Action Error Message
String
Action Error Minor Error Code
String
Action Error Stack Trace
String
HTTP Fault Response
String
HTTP Message
String
HTTP Status Code
String
HTTP URI
String
* indicates mandatory field
Rename VM
This action allows renaming existing VM.
If a VM ref is provided as input, the referenced VM will be renamed according to the value passed in VM Name field.
If a vApp ref or vApp API URL value is provided as input, up to 5 VMs belonging to the referenced vApp will be renamed based to the value passed in VM Name field by adding “_x” as a suffix; for instance <VM_name>, <VM_name>_1, <VM_name>_2, <VM_name>_3 and <VM_name>_4.
If Update Computer Name is enabled, the VM Name will be used to rename the name of the Computer related to the VM. Default value is disabled for this option.
Input Parameters
VM Name *
String
vApp
Ref to a vApp
vApp API URL
String
VM
Ref to a VM
Update Computer Name
Boolean
Output Parameters
VM Name
String
VM Name-2
String
VM Name-3
String
VM Name-4
String
VM Name-5
String
Action Error Major Code
String
Action Error Message
String
Action Error Minor Error Code
String
Action Error Stack Trace
String
HTTP Fault Response
String
HTTP Message
String
HTTP Status Code
String
HTTP URI
String
* indicates mandatory field
Create an Organization Network Firewall Rule
This outbound action allows creating a firewall rule for a specific organization network in vCloud Director.
Mandatory fields are:
Network Admin API Url or the Network Entity reference
A name for the Firewall rule.
A source IP address and a destination IP address.
The system allows for 2 rules to have to same names but it does not allow for the creation of 2 rules using the same IP + Port source and destination, direction, and protocol.
Optional fields allow:
Enabled: activate or deactivate the rule.
Policy: Drop, Allow
Protocols: specifying between Any, TCP, UDP, TCP & UDP, ICMP.
Direction: specifying between Incoming, Outgoing
Ports: Any port (*), FTP (21), SSH (22), HTTP (80)
Input Parameters
Network Admin API URL
string
Network
entityReference
Firewall Rule Name *
string
Enabled
bool
False
Policy
profile
Drop
Protocols
profile
TCP
Direction
profile
Incoming
Destination Port
profile
Any Port (*)
Source Port
profile
Any Port (*)
Destination IP *
string
Source IP *
string
Output Parameters
Action Error Major Code
String
Action Error Message
string
Action Error Minor Error
Code
string
Action Error Stack Trace
string
HTTP Fault Response
string
HTTP Message
string
HTTP Status Code
string
HTTP URI
string
* indicates mandatory field
Delete an Organization Network Firewall Rule
This action deletes an existing firewall rule for a specific Organization Network.
Mandatory fields are:
Network Admin API Url or Network Entity reference
A name for the Firewall rule
If there are no existing rules in the specified network that possess the name provided as input parameter, no rule will be deleted.
A message is generated in the HTTP Fault Response stating: “Warning: no Firewall rule deleted. The value specified did not correspond to any existing Firewall rule in the source system.”.
This is not considered as a failure of the Outbound Action workflow task, meaning the workflow will continue following the Succeeded branch.
Input Parameters
Network Admin API URL
string
Network
entityReference
Firewall Rule Name *
string
Output Parameters
Action Error Major Code
String
Action Error Message
String
Action Error Minor Error Code
String
Action Error Stack Trace
String
HTTP Fault Response
String
HTTP Message
String
HTTP Status Code
String
HTTP URI
String
* indicates mandatory field
Create an Organization Network NAT Rule
This outbound action allows creating a NAT Routing rule for a specific organization network.
Mandatory fields are:
Network Admin API Url or Network Entity reference
An External IP address and an Internal IP address
Optional fields:
Protocols: allows specifying between TCP, UDP, TCP & UDP.
Type: allows specifying between Port Forwarding and IP Translation
Ports: Any port (*), FTP (21), SSH (22), HTTP (80)
Input Parameters
Network Admin API URL
string
Network
entityReference
NAT Rule Type
profile
Port Forwarding
Protocols
profile
TCP
External Port
profile
Any Port (*)
Internal Port
profile
Any Port (*)
External IP *
string
Internal IP *
string
Output Parameters
Action Error Major Code
String
Action Error Message
String
Action Error Minor Error Code
String
Action Error Stack Trace
String
HTTP Fault Response
String
HTTP Message
String
HTTP Status Code
String
HTTP URI
string
* indicates mandatory field
Delete an Organization Network NAT Rule
This action is used to delete one or several rules at the same time inside a unique Organization network.
Mandatory fields are:
Network Admin API Url or Network Entity reference
NAT Rule Type
At least one the other parameters
If Delete All IP Translation Rules and/or Delete All Port Forwarding Rules attributes are set to True, all the existing rules of the associated type will be deleted in the specified Organization Network.
When using Internal and/or External IP values or Internal and/or External IP values, the Outbound action will delete all the rules that matches all the parameters provided. At least one of the 4 values needs to be specified for the rule to run.
For example, if the only value specified is an External IP, then all the rules that possess this External IP address will be deleted. But if an External Port is also specified, then all then rules that possess the External IP address as well as the Port number will be deleted.
Any combination of the 4 parameters can be used.
If there are no existing rules that match the input parameters of the Outbound action, no rule will be deleted.
A message is generated in the HTTP Fault Response stating: “Warning: no NAT rule deleted. The values specified did not correspond to any existing NAT rule in the source system.”
This is not considered as a failure of the Outbound Action workflow task, meaning the workflow will continue using the Succeeded branch.
Input Parameters
Delete All IP Translation Rules
bool
Delete All Port Forwarding Rules
bool
Network Admin API URL
string
Network
entityReference
External IP
string
Internal IP
string
External Port
profile
Internal Port
profile
NAT Rule Type
profile
Output Parameters
Action Error Major Code
String
Action Error Message
String
Action Error Minor Error Code
String
Action Error Stack Trace
String
HTTP Fault Response
String
HTTP Message
String
HTTP Status Code
String
HTTP URI
String
Security and Certificates
Installing a Security Certificate
The vCD connector requires a security certificate to be installed on the ASM Core server to connect to VMware vCloud Director.
The certificate has to be installed in the Trusted Root Certification Authorities > Local Computer folder.
The recommended way to install the certificate is, from the ASM Core server, to point a web browser to the vCD server. A warning will be displayed that certificate is not trusted. From there, either the User’s Web browser allows for a straight install of the certificate, or system administrators will have to export the certificate to a file and then import this newly created file as a trusted certificate.
Security Certificate Warnings
During installation, the Configuration Wizard may attempt to test whether it can establish a connection over SSL with the specified connection parameters.
If a connection fails, a dialog will be displayed detailing the reasons why the connection could not be trusted and suggest actions that could be taken to resolve those issues. In addition, the dialog provides options to inspect and install the certificates issued by the server.
It is strongly advised that you consult with the relevant system administrators before directly installing a certificate with this dialog to avoid the server trusting compromised connections. It always best practice for the certificate of a remote server to be manually provided by that server’s administrator rather than downloaded from the server.
Example of VMware vCloud Director Certificate Installation
In the Internet browser, type in the URL of the vCD instance
When asked, select to proceed to vCD despite the certificate not being installed.
Once on the vCD log in page, click on the Certificate Error box on the right of the Address bar.
Click on View Certificate at the bottom of the window. Then click on “Install Certificate…”.
Select “Place all certificates in the following store” optionand click on the Next button.
Tick the option Show Physical stores and select the Local Computer folder under Trusted Root Certification Authorities folder.
Click OK and complete the installation process.
Restart the Internet browser and type in the vCD instance URL. Check that no certificate alert appears.