Model/SettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesProductSelectionSpec.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.ProductSelectionSpec structure contains information about the storage device and the corresponding VMware Compatibility Guide (VCG) product override that must be applied to the specified device.
 
.PARAMETER Key
No description available.
.PARAMETER VcgProduct
VMware Compatibility Guide (VCG) product selection that must be applied to the specified storage device. if unset any existing vcg selection for the storage device will be removed When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.esx.settings.vcg_product. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.esx.settings.vcg_product.
.OUTPUTS
 
SettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesProductSelectionSpec<PSCustomObject>
 
.LINK
 
Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/esx/data-structures/Settings/Clusters/Software/Reports/HardwareCompatibility/StorageDeviceOverrides/VcgEntries/ProductSelectionSpec/
#>


function Initialize-SettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesProductSelectionSpec {
    [CmdletBinding(HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/esx/data-structures/Settings/Clusters/Software/Reports/HardwareCompatibility/StorageDeviceOverrides/VcgEntries/ProductSelectionSpec/")]
    Param (
        [Parameter(Mandatory = $true, ValueFromPipeline = $true)]
        [PSTypeName("SettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesKey")]
        [PSCustomObject]
        ${Key},
        [Parameter(Mandatory = $false)]
        [ValidateScript({ $_ -is [string] })]
        ${VcgProduct}
    )

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

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


        $PSO = [PSCustomObject]@{
            "PSTypeName" = "SettingsClustersSoftwareReportsHardwareCompatibilityStorageDeviceOverridesVcgEntriesProductSelectionSpec"
            "key" = ${Key}
            "vcg_product" = ${VcgProduct}
        }


        return $PSO
    }
}