Model/SettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesKey.ps1

#
# Settings Paths
# The esx settings package provides services to manage ESX settings.
# Contact: powercli@vmware.com
# Generated by OpenAPI Generator: https://openapi-generator.tech
#

<#
.DESCRIPTION
 
The VcgEntries.Key structure specifies information about the storage device for which this override must be applied to.
 
.PARAMETER Model
No description available.
.PARAMETER Vendor
No description available.
.PARAMETER Capacity
No description available.
.PARAMETER PartNumber
storage device part number If unset the override will be applied to the entries without a part number.
.PARAMETER FirmwareVersion
storage device firmware version If unset the override is applied to all firmware versions.
.OUTPUTS
 
SettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesKey<PSCustomObject>
 
.LINK
 
Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/esx/data-structures/Settings/Clusters/Software/Reports/HardwareCompatibility/StorageDeviceOverrides/VcgEntries/Key/
#>


function Initialize-SettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesKey {
    [CmdletBinding(HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/esx/data-structures/Settings/Clusters/Software/Reports/HardwareCompatibility/StorageDeviceOverrides/VcgEntries/Key/")]
    Param (
        [Parameter(Mandatory = $true)]
        [ValidateScript({ $_ -is [string] })]
        ${Model},
        [Parameter(Mandatory = $true)]
        [ValidateScript({ $_ -is [string] })]
        ${Vendor},
        [Parameter(Mandatory = $true)]
        [Int64]
        ${Capacity},
        [Parameter(Mandatory = $false)]
        [ValidateScript({ $_ -is [string] })]
        ${PartNumber},
        [Parameter(Mandatory = $false)]
        [ValidateScript({ $_ -is [string] })]
        ${FirmwareVersion}
    )

    Process {
        'Creating PSCustomObject: VMware.Sdk.vSphere.Esx.Settings => vSphereSettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesKey' | Write-Debug

        if ($Capacity -eq $null) {
            throw "invalid value for 'Capacity', 'Capacity' cannot be null."
        }


        $PSO = [PSCustomObject]@{
            "PSTypeName" = "SettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesKey"
            "model" = ${Model}
            "vendor" = ${Vendor}
            "capacity" = ${Capacity}
            "part_number" = ${PartNumber}
            "firmware_version" = ${FirmwareVersion}
        }


        return $PSO
    }
}