Knowing the structure of ImageProfile, SoftwarePackage, and ImageProfileDiff objects helps you manage deployment and upgrade processes.

ImageProfile Object Properties

The ImageProfile object, which is accessible with the Get-EsxImageProfile PowerCLI cmdlet, has the following properties.

Name Type Description
AcceptanceLevel AcceptanceLevel Determines which VIBs you can add to the profile. Levels are VMwareCertified, VMwareAccepted, PartnerSupported, and CommunitySupported. See Acceptance Levels.
Author System.String The person who created the profile. 60 characters or fewer.
CreationTime System.DateTime The timestamp of creation time.
Description System.String The full text description of profile. No length limit.
GUID System.String Globally unique ID of the image profile.
ModifiedTime System.DateTime The timestamp of last modification time.
Name System.String The name of the image profile. 80 characters or fewer.
ReadOnly System.Boolean When set to true, the profile cannot be edited. Use Set-EsxImageProfile -Readonly to make your custom image profiles read-only.
Rules ImageProfileRule[] Any OEM hardware requirements and restrictions that the image profile might have. vSphere Auto Deploy verifies the value of this property when deploying an image profile and deploys the profile if matching hardware is available.
Vendor System.String The organization that publishes the profile. 40 characters or fewer.
VibList SoftwarePackage[] The list of VIB IDs the image contains.

SoftwarePackage Object Properties

When preparing an image profile, you can examine software packages to decide which packages are suitable for inclusion. The SoftwarePackage object has the following properties.

Name Type Description
AcceptanceLevel AcceptanceLevel The acceptance level of this VIB.
Conflicts SoftwareConstraint[] A list of VIBs that cannot be installed at the same time as this VIB. Each constraint uses the following format:

package-name[<<|<=|=|>=|<< version]

Depends SoftwareConstraint[] A list of VIBs that must be installed at the same time as this VIB. Same constraint format as Conflicts property.
Description System.String The long description of the VIB.
Guid System.String The unique ID for the VIB.
LiveInstallOk System.Boolean True if live installs of this VIB are supported.
LiveRemoveOk System.Boolean True if live removals of this VIB are supported.
MaintenanceMode System.Boolean True if hosts must be in maintenance mode for installation of this VIB.
Name System.String The name of the VIB. Usually uniquely describes the package on a running ESXi system.
Provides SoftwareProvides The list of virtual packages or interfaces this VIB provides. See SoftwareProvide Object Properties.
ReferenceURLs SupportReference[] The list of SupportReference objects with in-depth support information. The SupportReference object has two properties, Title and URL, both of type System.String.
Replaces SoftwareConstraint[] The list of SoftwareConstraint objects that identify VIBs that replace this VIB or make it obsolete. VIBs automatically replace VIBs with the same name but lower versions.
ReleaseDate System.DateTime Date and time of VIB publication or release.
SourceUrls System.String[] The list of source URLs from which this VIB can be downloaded.
StatelessReady System.Boolean True if the package supports host profiles or other technologies that make it suitable for use in conjunction with vSphere Auto Deploy.
Summary System.String A one-line summary of the VIB.
Tags System.String[] An array of string tags for this package defined by the vendor or publisher. Tags can be used to identify characteristics of a package.
Vendor System.String The VIB vendor or publisher.
Version System.String The VIB version.
VersionObject Software.Version The VersionObject property is of type SoftwareVersion. The SoftwareVersion class implements a static Compare method to compare two versions of strings. See SoftwareVersion Object Properties

ImageProfileDiff Object Properties

When you run the Compare-EsxImageProfile cmdlet, you pass in two parameters, first the reference profile, and then the comparison profile. The cmdlet returns an ImageProfileDiff object, which has the following properties.

Name Type Description
CompAcceptanceLevel System.String The acceptance level for the second profile that you passed to Compare-EsxImageProfile.
DowngradeFromRef System.String[] The list of VIBs in the second profile that are downgrades from VIBs in the first profile.
Equal System.Boolean True if the two image profiles have identical packages and acceptance levels.
OnlyInComp System.String The list of VIBs found only in the second profile that you passed to Compare-EsxImageProfile.
OnlyInRef System.String[] The list of VIBs found only in the first profile that you passed to Compare-EsxImageProfile.
PackagesEqual System.Boolean True if the image profiles have identical sets of VIB packages.
RefAcceptanceLevel System.String The acceptance level for the first profile that you passed to Compare-EsxImageProfile.
UpgradeFromRef System.String[] The list of VIBs in the second profile that are upgrades from VIBs in the first profile.

SoftwareVersion Object Properties

The SoftwareVersion object lets you compare two version strings. The object includes a Comparestatic method that accepts two strings as input and returns 1 if the first version string is a higher number than the second version string. Compare returns 0 if two versions strings are equal. Compare returns -1 if the second version string is a higher number than the first string. The object has the following properties.

Name Type Description
Version System.String The part of the version before the hyphen. This part indicates the primary version.
Release System.String The part of the version after the hyphen. This part indicates the release version.

SoftwareConstraint Object Properties

The SoftwareConstraint object implements a MatchesProvide method. The method accepts a SoftwareProvides or SoftwarePackage object as input and returns True if the constraint matches the SoftwareProvide or the SoftwarePackage, or returns False otherwise.

The SoftwareConstraint object includes the following properties.

Name Type Description
Name System.String The name of the constraint. This name should match a corresponding SoftwareProvide Name property.
Relation System.String An enum, or one of the following comparison indicators: <<, <=, = >=, >>. This property can be $null if the constraint does not have a Relation and Version property.
Version System.String The version to match the constraint against. This property can be $null if the constraint does not have a Relation and Version property.
VersionObject SoftwareVersion The version represented by a SoftwareVersion object.

SoftwareProvide Object Properties

The SoftwareProvide object includes the following properties.

Name Type Description
Name System.String The name of the provide.
Version System.String The version of the provide. Can be $null if the provide does not specify a version.
Release System.String The version of the provide as represented by a SoftwareVersion object. See SoftwareVersion Object Properties.