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.

Information fieldsDescription

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 IDDisplayData 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 IDDisplayData 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 IDDisplayData 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 IDDisplayDataType

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 IDDisplayData 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 IDDisplayDataType

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 IDDisplayDataType

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 IDDisplayDataType

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 IDDisplayDataType

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 IDDisplayDataType

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 IDDisplayDataType

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:

KeyDisplayData 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 IDDisplayData 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

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.

NameResource Type AResource Type BDescription

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

KeyDisplayData 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

KeyDisplayData 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

SettingsKeyDisplayData 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