Connector for VMware vCloud Director

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.

Licensing

Contact Sales for more information.

The connector for VMware vCloud Director is not separately licensed and is available to any organization that is licensed for both ASM Core and VMware vCloud Director.

Connector Description

The table below provides a description of the connector for VCloud Director.

Information fields Description

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 https://vcd2rhl5vcd.model.infra.com.au/. 

In comparison, https://vcd2rhl5vcd.model.infra.com.au/Cloud/ and https://vcd2rhl5vcd.model.infra.com.au/api/ are two examples of erroneous paths.

Login ID and Password

For vCD system admin, the Login ID needs to be of the following format: “<user-id>@system”.

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

Field ID Display Data Type

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:

Field ID Display Data Type

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:

Field ID Display Data Type

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:

Field ID Display DataType

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:

Field ID Display Data Type

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:

Field ID Display DataType

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:

Field ID Display DataType

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:

Field ID Display DataType

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:

Field ID Display DataType

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:

Field ID Display DataType

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:

Field ID Display DataType

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:

Key Display Data Type

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.

Field ID Display Data Type

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.

Name Resource Type A Resource Type B Description

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:

  1. VMware vCloud Director is the authoritative source of users for VMware Service
  2. 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:

  1. 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.
  2. When setting up the VMware vCloud Director mapping, apply the following:
  3. Field mapping
  4. ASM Core Person “Custom String 1” field mapped to vCD “Object GUID” attribute

  5. Matching Criteria rule
    • {Person: Custom String 1} like {Resource:Object GUID}

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

Key Display Data Type

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

Key Display Data Type

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

Settings Key Display Data Type
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

Key Display Data Type

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

Memory (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

int

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.

Value Display Underlying Super Type (Mapped in Matrix) Super Type Value

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

 

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

 

* indicates mandatory field

Update an Organization vDC

Input Parameters

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

VDC Admin API URL

string

VDC

entityReference

Output Parameters

Error Code

int

Error Message

string

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.

Before you start

To change the owner of a vApp, you must be the vApp owner, an organization administrator, or the system administrator. 

To view change the owner of a catalog, you must be an organization administrator or the system administrator.

 

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)
  Display name Field Type Default Value
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)
  Display name Field Type Default Value
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 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. The certificate has to be installed in the Trusted Root Certification Authorities > Local Computer folder.

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

  1. In the Internet browser, type in the URL of the vCD instance
  2. When asked, select to proceed to vCD despite the certificate not being installed.
  3. Once on the vCD log in page, click on the Certificate Error box on the right of the Address bar.
  4. Click on View Certificate at the bottom of the window . Then click on “Install Certificate…”.
  5. Select “Place all certificates in the following store” option and click on the Next button.
  6. Tick the option Show Physical stores and select the Local Computer folder under Trusted Root Certification Authorities folder .

  1. Click OK and complete the installation process.
  2. Restart the Internet browser and type in the vCD instance URL.  Check that no certificate alert appears.