PowerShell OVF Helper

OVF Template for VMware Event Broker Appliance 0.7

The following PowerShell snippet can be used to deploy VMware Event Broker Appliance 0.7 using PowerShell. The VMware.PowerCLI module is required to use the script.

  1. Copy the snippet to your favorite editor
  2. Change the path to your local OVA file
  3. Fill out the variables
  4. Connect to a vCenter Server using the Connect-VIServer command
  5. Run the script
ovf-VMware-VEBA-0.7.ps1:
#Requires -Module  VMware.VimAutomation.Core

$ovf = '.\vCenter_Event_Broker_Appliance_v0.7.0.ova' # Path to OVA File
$ovfConfig = Get-OvfConfiguration $ovf
$ovfConfig.NetworkMapping.VM_Network.Value = ""  # Destination network (Portgroup)

# Networking
$ovfConfig.Common.guestinfo.hostname.Value = ""   # Hostname (FQDN) of system
$ovfConfig.Common.guestinfo.ipaddress.Value = ""  # IP Address of the system
$ovfConfig.Common.guestinfo.netmask.Value = ""    # Network Prefix: Prefix Length and Mask as string, example: "24 (255.255.255.0)"
$ovfConfig.Common.guestinfo.gateway.Value = ""    # Gateway of the system
$ovfConfig.Common.guestinfo.dns.Value = ""        # DNS Servers (space separated)
$ovfConfig.Common.guestinfo.domain.Value  = ""    # DNS Domain
$ovfConfig.Common.guestinfo.ntp.Value = ""        # NTP Servers (space separated)

# Proxy Settings (optional)
$ovfConfig.Common.guestinfo.http_proxy.Value  = ""      # Enter HTTP Proxy URL followed by the port. Example: "http://proxy.provider.com:3128"
$ovfConfig.Common.guestinfo.https_proxy.Value  = ""     # Enter HTTPS Proxy URL followed by the port. Example: "https://proxy.provider.com:3128"
$ovfConfig.Common.guestinfo.proxy_username.Value  = ""  # Username for the Proxy Server (optional)
$ovfConfig.Common.guestinfo.proxy_password.Value  = ""  # Password for the Proxy User (optional)
$ovfConfig.Common.guestinfo.no_proxy.Value  = ""        # No Proxy for e.g. your internal domain suffix. Adding the appliance IP address is recommended. Comma separated (localhost, 127.0.0.1, domain.local)

# OS Credentials
$ovfConfig.Common.guestinfo.root_password.Value = ""   # Password to login in as root. Please use a secure password
$ovfConfig.Common.guestinfo.enable_ssh.Value = $false  # Automatically start SSH daemon

# vSphere
$ovfConfig.Common.guestinfo.vcenter_server.Value = ""                        # IP Address or Hostname of vCenter Server
$ovfConfig.Common.guestinfo.vcenter_username.Value = ""                      # Username to login to vCenter Server
$ovfConfig.Common.guestinfo.vcenter_password.Value = ""                      # Password to login to vCenter Server
$ovfConfig.Common.guestinfo.vcenter_veba_ui_username.Value = ""              # Username to register VMware Event Broker UI to vCenter Server for Knative Processor (optional)
$ovfConfig.Common.guestinfo.vcenter_veba_ui_password.Value = ""              # Password to register VMware Event Broker UI to vCenter Server for Knative Processor (optional)
$ovfConfig.Common.guestinfo.vcenter_disable_tls_verification.Value = $false  # Disable TLS Verification for vCenter Server (required for self-sign certificate)

# Horizon (optional)
$ovfConfig.Common.guestinfo.horizon.Value = $false                           # Enable Horizon Event Provider
$ovfConfig.Common.guestinfo.horizon_server.Value = ""                        # IP Address or Hostname of Horizon Server
$ovfConfig.Common.guestinfo.horizon_domain.Value = ""                        # Active Directory Domain the username to login to the Horizon Server belongs to (e.g. corp)
$ovfConfig.Common.guestinfo.horizon_username.Value = ""                      # Username to login to Horizon Server (UPN-style not allowed)
$ovfConfig.Common.guestinfo.horizon_password.Value = ""                      # Password to login to Horizon Server
$ovfConfig.Common.guestinfo.horizon_disable_tls_verification.Value = $false  # Disable TLS Verification for Horizon Server (required for self-sign certificate)

# Webhook (optional)
$ovfConfig.Common.guestinfo.webhook.Value = $false       # Enable Webhook Event Provider
$ovfConfig.Common.guestinfo.webhook_username.Value = ""  # Username to login to webhook endpoint
$ovfConfig.Common.guestinfo.webhook_password.Value = ""  # Password to login to webhook endpoint

# Event Processor Configuration
$ovfConfig.Common.guestinfo.event_processor_type.Value = "Knative" # Choose either Knative (default), OpenFaaS (deprecated), or AWS EventBridge (deprecated) and only fill in the configuration for the selected event processor below (Knative|OpenFaaS|AWS EventBridge)

# Existing Knative Environment Configuration (deprecated)
$ovfConfig.Common.guestinfo.knative_host.Value = ""                          # Knative Host (e.g. mybroker.corp.local:8080)
$ovfConfig.Common.guestinfo.knative_scheme.Value = "HTTP"                    # Knative Scheme - HTTP or HTTPS protocol the broker is using (HTTP|HTTPS)
$ovfConfig.Common.guestinfo.knative_disable_tls_verification.Value = $false  # Disable TLS Verification for Knative host (only applicable if Knative Scheme is HTTPS and for self-sign certificate)
$ovfConfig.Common.guestinfo.knative_path.Value = ""                          # Additional path to append to the host if required (e.g. /default/default)

# OpenFaaS Configuration (deprecated)
$ovfConfig.Common.guestinfo.openfaas_password.Value = ""          # Password to login into OpenFaaS. Please use a secure password
$ovfConfig.Common.guestinfo.openfaas_advanced_options.Value = ""  # Opaque string for applying advanced configurations for OpenFaaS Processor. For advanced use cases only, please see documentation for more details

# AWS EventBridge Configuration (deprecated)
$ovfConfig.Common.guestinfo.aws_eb_access_key.Value = ""        # A valid AWS Access Key to AWS EventBridge
$ovfConfig.Common.guestinfo.aws_eb_access_secret.Value = ""     # A valid AWS Access Secret to AWS EventBridge
$ovfConfig.Common.guestinfo.aws_eb_event_bus.Value = ""         # Name of the AWS Event Bus to use
$ovfConfig.Common.guestinfo.aws_eb_region.Value = ""            # Region where Event Bus is running (e.g. us-west-2)
$ovfConfig.Common.guestinfo.aws_eb_arn.Value = ""               # ID of the Rule ARN created in AWS EventBridge
$ovfConfig.Common.guestinfo.aws_eb_advanced_options.Value = ""  # Opaque string for applying advanced configurations for AWS EventBridge Processor. For advanced use cases only, please see documentation for more details

# Custom TLS Certificate Configuration
$ovfConfig.Common.guestinfo.custom_tls_private_key.Value = ""  # Base64 encoded custom TLS certificate (.PEM) for the VMware Event Broker Appliance
$ovfConfig.Common.guestinfo.custom_tls_ca_cert.Value = ""      # Base64 encoded custom TLS certificate (.CER) for the VMware Event Broker Appliance

# Syslog Server Configuration
$ovfConfig.Common.guestinfo.syslog_server_hostname.Value = ""         # Specify the Hostname (FQDN) or IP Address of the Syslog Server
$ovfConfig.Common.guestinfo.syslog_server_port.Value     = "514"      # Syslog Server Port
$ovfConfig.Common.guestinfo.syslog_server_protocol.Value = "TCP"      # Choose the Transport Protocol (TCP|TLS|UDP)
$ovfConfig.Common.guestinfo.syslog_server_format.Value   = "RFC5424"  # Choose the Syslog Protocol Format (RFC5424|RFC3164)

# ZAdvanced
$ovfConfig.Common.guestinfo.debug.Value = $false                         # Enable Debugging
$ovfConfig.Common.guestinfo.docker_network_cidr.Value = "172.17.0.1/16"  # Customize Docker Bridge CIDR Network (Default 172.17.0.1/16)
$ovfConfig.Common.guestinfo.pod_network_cidr.Value = "10.10.0.0/16"      # Customize POD CIDR Network (Default 10.10.0.0/16)


$VMName = ""                  # Virtual Machine Display Name
$vmhost = ""                  # ESXi Host to deploy the VM
$datastore = ""               # Datastore to deploy the VM
$diskStorageFormat = "Thick"  # Thin or Thick provisionig of virtual disks

$vm = Import-VApp -Source $ovf -OvfConfiguration $ovfconfig -Name $VMName -VMHost (Get-VMHost -Name $VMHost) -Datastore $datastore -DiskStorageFormat $diskStorageFormat
#$vm | Start-VM   # Uncomment to power on the VM after creation.

Please leave a comment when you have issues with the deployment. Additional feature requests are also welcome.

Confirmed Images:
vCenter_Event_Broker_Appliance_v0.7.0.ova

<-- Back to PowerShell OVF Helper