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.
|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
|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.
|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:
|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.
|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.|
|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.|
|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.
|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||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||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.|