UNPKG

@microsoft/msgraph-beta-sdk

Version:
3,552 lines 182 kB
/* tslint:disable */
/* eslint-disable */
// Generated by Microsoft Kiota
// @ts-ignore
import { createGroupFromDiscriminatorValue, deserializeIntoBaseCollectionPaginationCountResponse, deserializeIntoEntity, serializeBaseCollectionPaginationCountResponse, serializeEntity, serializeGroup } from '../index.js';
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ApplicableContentCollectionResponse}
 */
// @ts-ignore
export function createApplicableContentCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoApplicableContentCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ApplicableContentDeviceMatchCollectionResponse}
 */
// @ts-ignore
export function createApplicableContentDeviceMatchCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoApplicableContentDeviceMatchCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ApplicableContentDeviceMatch}
 */
// @ts-ignore
export function createApplicableContentDeviceMatchFromDiscriminatorValue(parseNode) {
    return deserializeIntoApplicableContentDeviceMatch;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ApplicableContent}
 */
// @ts-ignore
export function createApplicableContentFromDiscriminatorValue(parseNode) {
    return deserializeIntoApplicableContent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ApprovalRule}
 */
// @ts-ignore
export function createApprovalRuleFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.qualityUpdateApprovalRule":
                    return deserializeIntoQualityUpdateApprovalRule;
                case "#microsoft.graph.windowsUpdates.recoveryApprovalRule":
                    return deserializeIntoRecoveryApprovalRule;
            }
        }
    }
    return deserializeIntoApprovalRule;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AssignedGroup}
 */
// @ts-ignore
export function createAssignedGroupFromDiscriminatorValue(parseNode) {
    return deserializeIntoAssignedGroup;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzureADDevice}
 */
// @ts-ignore
export function createAzureADDeviceFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzureADDevice;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzureADDeviceRegistrationError}
 */
// @ts-ignore
export function createAzureADDeviceRegistrationErrorFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzureADDeviceRegistrationError;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {BuildVersionDetails}
 */
// @ts-ignore
export function createBuildVersionDetailsFromDiscriminatorValue(parseNode) {
    return deserializeIntoBuildVersionDetails;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CatalogContent}
 */
// @ts-ignore
export function createCatalogContentFromDiscriminatorValue(parseNode) {
    return deserializeIntoCatalogContent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CatalogEntryCollectionResponse}
 */
// @ts-ignore
export function createCatalogEntryCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoCatalogEntryCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CatalogEntry}
 */
// @ts-ignore
export function createCatalogEntryFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.driverUpdateCatalogEntry":
                    return deserializeIntoDriverUpdateCatalogEntry;
                case "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry":
                    return deserializeIntoFeatureUpdateCatalogEntry;
                case "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry":
                    return deserializeIntoQualityUpdateCatalogEntry;
                case "#microsoft.graph.windowsUpdates.recoveryUpdateCatalogEntry":
                    return deserializeIntoRecoveryUpdateCatalogEntry;
                case "#microsoft.graph.windowsUpdates.softwareUpdateCatalogEntry":
                    return deserializeIntoSoftwareUpdateCatalogEntry;
            }
        }
    }
    return deserializeIntoCatalogEntry;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Catalog}
 */
// @ts-ignore
export function createCatalogFromDiscriminatorValue(parseNode) {
    return deserializeIntoCatalog;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceChangeCollectionResponse}
 */
// @ts-ignore
export function createComplianceChangeCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceChangeCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceChange}
 */
// @ts-ignore
export function createComplianceChangeFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.contentApproval":
                    return deserializeIntoContentApproval;
            }
        }
    }
    return deserializeIntoComplianceChange;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceChangeRule}
 */
// @ts-ignore
export function createComplianceChangeRuleFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.contentApprovalRule":
                    return deserializeIntoContentApprovalRule;
            }
        }
    }
    return deserializeIntoComplianceChangeRule;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ContentApplicabilitySettings}
 */
// @ts-ignore
export function createContentApplicabilitySettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoContentApplicabilitySettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ContentApproval}
 */
// @ts-ignore
export function createContentApprovalFromDiscriminatorValue(parseNode) {
    return deserializeIntoContentApproval;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ContentApprovalRule}
 */
// @ts-ignore
export function createContentApprovalRuleFromDiscriminatorValue(parseNode) {
    return deserializeIntoContentApprovalRule;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ContentFilter}
 */
// @ts-ignore
export function createContentFilterFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.driverUpdateFilter":
                    return deserializeIntoDriverUpdateFilter;
                case "#microsoft.graph.windowsUpdates.qualityUpdateFilter":
                    return deserializeIntoQualityUpdateFilter;
                case "#microsoft.graph.windowsUpdates.remediationUpdateFilter":
                    return deserializeIntoRemediationUpdateFilter;
                case "#microsoft.graph.windowsUpdates.softwareUpdateFilter":
                    return deserializeIntoSoftwareUpdateFilter;
                case "#microsoft.graph.windowsUpdates.windowsUpdateFilter":
                    return deserializeIntoWindowsUpdateFilter;
            }
        }
    }
    return deserializeIntoContentFilter;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CveInformation}
 */
// @ts-ignore
export function createCveInformationFromDiscriminatorValue(parseNode) {
    return deserializeIntoCveInformation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DateDrivenRolloutSettings}
 */
// @ts-ignore
export function createDateDrivenRolloutSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoDateDrivenRolloutSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeployableContent}
 */
// @ts-ignore
export function createDeployableContentFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.catalogContent":
                    return deserializeIntoCatalogContent;
            }
        }
    }
    return deserializeIntoDeployableContent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeploymentAudienceCollectionResponse}
 */
// @ts-ignore
export function createDeploymentAudienceCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeploymentAudienceCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeploymentAudience}
 */
// @ts-ignore
export function createDeploymentAudienceFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeploymentAudience;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeploymentCollectionResponse}
 */
// @ts-ignore
export function createDeploymentCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeploymentCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Deployment}
 */
// @ts-ignore
export function createDeploymentFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeployment;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeploymentSettings}
 */
// @ts-ignore
export function createDeploymentSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeploymentSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeploymentState}
 */
// @ts-ignore
export function createDeploymentStateFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeploymentState;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeploymentStateReason}
 */
// @ts-ignore
export function createDeploymentStateReasonFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeploymentStateReason;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DriverUpdateCatalogEntry}
 */
// @ts-ignore
export function createDriverUpdateCatalogEntryFromDiscriminatorValue(parseNode) {
    return deserializeIntoDriverUpdateCatalogEntry;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DriverUpdateFilter}
 */
// @ts-ignore
export function createDriverUpdateFilterFromDiscriminatorValue(parseNode) {
    return deserializeIntoDriverUpdateFilter;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DurationDrivenRolloutSettings}
 */
// @ts-ignore
export function createDurationDrivenRolloutSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoDurationDrivenRolloutSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EditionCollectionResponse}
 */
// @ts-ignore
export function createEditionCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEditionCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Edition}
 */
// @ts-ignore
export function createEditionFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdition;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ExcludedGroupAssignment}
 */
// @ts-ignore
export function createExcludedGroupAssignmentFromDiscriminatorValue(parseNode) {
    return deserializeIntoExcludedGroupAssignment;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ExpediteSettings}
 */
// @ts-ignore
export function createExpediteSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoExpediteSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FeatureUpdateCatalogEntry}
 */
// @ts-ignore
export function createFeatureUpdateCatalogEntryFromDiscriminatorValue(parseNode) {
    return deserializeIntoFeatureUpdateCatalogEntry;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {GradualRolloutSettings}
 */
// @ts-ignore
export function createGradualRolloutSettingsFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.dateDrivenRolloutSettings":
                    return deserializeIntoDateDrivenRolloutSettings;
                case "#microsoft.graph.windowsUpdates.durationDrivenRolloutSettings":
                    return deserializeIntoDurationDrivenRolloutSettings;
                case "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings":
                    return deserializeIntoRateDrivenRolloutSettings;
            }
        }
    }
    return deserializeIntoGradualRolloutSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {GroupAssignment}
 */
// @ts-ignore
export function createGroupAssignmentFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.excludedGroupAssignment":
                    return deserializeIntoExcludedGroupAssignment;
                case "#microsoft.graph.windowsUpdates.includedGroupAssignment":
                    return deserializeIntoIncludedGroupAssignment;
            }
        }
    }
    return deserializeIntoGroupAssignment;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IncludedGroupAssignment}
 */
// @ts-ignore
export function createIncludedGroupAssignmentFromDiscriminatorValue(parseNode) {
    return deserializeIntoIncludedGroupAssignment;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ItemBody}
 */
// @ts-ignore
export function createItemBodyFromDiscriminatorValue(parseNode) {
    return deserializeIntoItemBody;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KnowledgeBaseArticle}
 */
// @ts-ignore
export function createKnowledgeBaseArticleFromDiscriminatorValue(parseNode) {
    return deserializeIntoKnowledgeBaseArticle;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KnownIssueCollectionResponse}
 */
// @ts-ignore
export function createKnownIssueCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoKnownIssueCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KnownIssue}
 */
// @ts-ignore
export function createKnownIssueFromDiscriminatorValue(parseNode) {
    return deserializeIntoKnownIssue;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KnownIssueHistoryItem}
 */
// @ts-ignore
export function createKnownIssueHistoryItemFromDiscriminatorValue(parseNode) {
    return deserializeIntoKnownIssueHistoryItem;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MonitoringRule}
 */
// @ts-ignore
export function createMonitoringRuleFromDiscriminatorValue(parseNode) {
    return deserializeIntoMonitoringRule;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MonitoringSettings}
 */
// @ts-ignore
export function createMonitoringSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoMonitoringSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OperationalInsightsConnection}
 */
// @ts-ignore
export function createOperationalInsightsConnectionFromDiscriminatorValue(parseNode) {
    return deserializeIntoOperationalInsightsConnection;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PolicyApprovalCollectionResponse}
 */
// @ts-ignore
export function createPolicyApprovalCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoPolicyApprovalCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PolicyApproval}
 */
// @ts-ignore
export function createPolicyApprovalFromDiscriminatorValue(parseNode) {
    return deserializeIntoPolicyApproval;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PolicyCollectionResponse}
 */
// @ts-ignore
export function createPolicyCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoPolicyCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Policy}
 */
// @ts-ignore
export function createPolicyFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.qualityUpdatePolicy":
                    return deserializeIntoQualityUpdatePolicy;
            }
        }
    }
    return deserializeIntoPolicy;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProductCollectionResponse}
 */
// @ts-ignore
export function createProductCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoProductCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Product}
 */
// @ts-ignore
export function createProductFromDiscriminatorValue(parseNode) {
    return deserializeIntoProduct;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProductRevisionCollectionResponse}
 */
// @ts-ignore
export function createProductRevisionCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoProductRevisionCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProductRevision}
 */
// @ts-ignore
export function createProductRevisionFromDiscriminatorValue(parseNode) {
    return deserializeIntoProductRevision;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {QualityUpdateApprovalRule}
 */
// @ts-ignore
export function createQualityUpdateApprovalRuleFromDiscriminatorValue(parseNode) {
    return deserializeIntoQualityUpdateApprovalRule;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {QualityUpdateCatalogEntry}
 */
// @ts-ignore
export function createQualityUpdateCatalogEntryFromDiscriminatorValue(parseNode) {
    return deserializeIntoQualityUpdateCatalogEntry;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {QualityUpdateCveSeverityInformation}
 */
// @ts-ignore
export function createQualityUpdateCveSeverityInformationFromDiscriminatorValue(parseNode) {
    return deserializeIntoQualityUpdateCveSeverityInformation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {QualityUpdateFilter}
 */
// @ts-ignore
export function createQualityUpdateFilterFromDiscriminatorValue(parseNode) {
    return deserializeIntoQualityUpdateFilter;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {QualityUpdatePolicy}
 */
// @ts-ignore
export function createQualityUpdatePolicyFromDiscriminatorValue(parseNode) {
    return deserializeIntoQualityUpdatePolicy;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {QualityUpdateRing}
 */
// @ts-ignore
export function createQualityUpdateRingFromDiscriminatorValue(parseNode) {
    return deserializeIntoQualityUpdateRing;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RateDrivenRolloutSettings}
 */
// @ts-ignore
export function createRateDrivenRolloutSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoRateDrivenRolloutSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RecoveryApprovalRule}
 */
// @ts-ignore
export function createRecoveryApprovalRuleFromDiscriminatorValue(parseNode) {
    return deserializeIntoRecoveryApprovalRule;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RecoveryUpdateCatalogEntry}
 */
// @ts-ignore
export function createRecoveryUpdateCatalogEntryFromDiscriminatorValue(parseNode) {
    return deserializeIntoRecoveryUpdateCatalogEntry;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RemediationUpdateFilter}
 */
// @ts-ignore
export function createRemediationUpdateFilterFromDiscriminatorValue(parseNode) {
    return deserializeIntoRemediationUpdateFilter;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ResourceConnectionCollectionResponse}
 */
// @ts-ignore
export function createResourceConnectionCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoResourceConnectionCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ResourceConnection}
 */
// @ts-ignore
export function createResourceConnectionFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.operationalInsightsConnection":
                    return deserializeIntoOperationalInsightsConnection;
            }
        }
    }
    return deserializeIntoResourceConnection;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RingCollectionResponse}
 */
// @ts-ignore
export function createRingCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoRingCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Ring}
 */
// @ts-ignore
export function createRingFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.qualityUpdateRing":
                    return deserializeIntoQualityUpdateRing;
            }
        }
    }
    return deserializeIntoRing;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SafeguardProfile}
 */
// @ts-ignore
export function createSafeguardProfileFromDiscriminatorValue(parseNode) {
    return deserializeIntoSafeguardProfile;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SafeguardSettings}
 */
// @ts-ignore
export function createSafeguardSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoSafeguardSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ScheduleSettings}
 */
// @ts-ignore
export function createScheduleSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoScheduleSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ServicingPeriod}
 */
// @ts-ignore
export function createServicingPeriodFromDiscriminatorValue(parseNode) {
    return deserializeIntoServicingPeriod;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SoftwareUpdateCatalogEntry}
 */
// @ts-ignore
export function createSoftwareUpdateCatalogEntryFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.driverUpdateCatalogEntry":
                    return deserializeIntoDriverUpdateCatalogEntry;
                case "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry":
                    return deserializeIntoFeatureUpdateCatalogEntry;
                case "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry":
                    return deserializeIntoQualityUpdateCatalogEntry;
                case "#microsoft.graph.windowsUpdates.recoveryUpdateCatalogEntry":
                    return deserializeIntoRecoveryUpdateCatalogEntry;
            }
        }
    }
    return deserializeIntoSoftwareUpdateCatalogEntry;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SoftwareUpdateFilter}
 */
// @ts-ignore
export function createSoftwareUpdateFilterFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.driverUpdateFilter":
                    return deserializeIntoDriverUpdateFilter;
                case "#microsoft.graph.windowsUpdates.qualityUpdateFilter":
                    return deserializeIntoQualityUpdateFilter;
                case "#microsoft.graph.windowsUpdates.remediationUpdateFilter":
                    return deserializeIntoRemediationUpdateFilter;
                case "#microsoft.graph.windowsUpdates.windowsUpdateFilter":
                    return deserializeIntoWindowsUpdateFilter;
            }
        }
    }
    return deserializeIntoSoftwareUpdateFilter;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UpdatableAssetCollectionResponse}
 */
// @ts-ignore
export function createUpdatableAssetCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoUpdatableAssetCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UpdatableAssetError}
 */
// @ts-ignore
export function createUpdatableAssetErrorFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.azureADDeviceRegistrationError":
                    return deserializeIntoAzureADDeviceRegistrationError;
            }
        }
    }
    return deserializeIntoUpdatableAssetError;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UpdatableAsset}
 */
// @ts-ignore
export function createUpdatableAssetFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.azureADDevice":
                    return deserializeIntoAzureADDevice;
                case "#microsoft.graph.windowsUpdates.updatableAssetGroup":
                    return deserializeIntoUpdatableAssetGroup;
            }
        }
    }
    return deserializeIntoUpdatableAsset;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UpdatableAssetGroup}
 */
// @ts-ignore
export function createUpdatableAssetGroupFromDiscriminatorValue(parseNode) {
    return deserializeIntoUpdatableAssetGroup;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UpdateCategoryEnrollmentInformation}
 */
// @ts-ignore
export function createUpdateCategoryEnrollmentInformationFromDiscriminatorValue(parseNode) {
    return deserializeIntoUpdateCategoryEnrollmentInformation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UpdateManagementEnrollment}
 */
// @ts-ignore
export function createUpdateManagementEnrollmentFromDiscriminatorValue(parseNode) {
    return deserializeIntoUpdateManagementEnrollment;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UpdatePolicyCollectionResponse}
 */
// @ts-ignore
export function createUpdatePolicyCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoUpdatePolicyCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UpdatePolicy}
 */
// @ts-ignore
export function createUpdatePolicyFromDiscriminatorValue(parseNode) {
    return deserializeIntoUpdatePolicy;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserExperienceSettings}
 */
// @ts-ignore
export function createUserExperienceSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserExperienceSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WindowsUpdateFilter}
 */
// @ts-ignore
export function createWindowsUpdateFilterFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.windowsUpdates.driverUpdateFilter":
                    return deserializeIntoDriverUpdateFilter;
                case "#microsoft.graph.windowsUpdates.qualityUpdateFilter":
                    return deserializeIntoQualityUpdateFilter;
                case "#microsoft.graph.windowsUpdates.remediationUpdateFilter":
                    return deserializeIntoRemediationUpdateFilter;
            }
        }
    }
    return deserializeIntoWindowsUpdateFilter;
}
/**
 * The deserialization information for the current model
 * @param ApplicableContent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoApplicableContent(applicableContent = {}) {
    return {
        "backingStoreEnabled": n => { applicableContent.backingStoreEnabled = true; },
        "catalogEntry": n => { applicableContent.catalogEntry = n.getObjectValue(createCatalogEntryFromDiscriminatorValue); },
        "catalogEntryId": n => { applicableContent.catalogEntryId = n.getStringValue(); },
        "matchedDevices": n => { applicableContent.matchedDevices = n.getCollectionOfObjectValues(createApplicableContentDeviceMatchFromDiscriminatorValue); },
        "@odata.type": n => { applicableContent.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ApplicableContentCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoApplicableContentCollectionResponse(applicableContentCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(applicableContentCollectionResponse)), { "value": n => { applicableContentCollectionResponse.value = n.getCollectionOfObjectValues(createApplicableContentFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ApplicableContentDeviceMatch The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoApplicableContentDeviceMatch(applicableContentDeviceMatch = {}) {
    return {
        "backingStoreEnabled": n => { applicableContentDeviceMatch.backingStoreEnabled = true; },
        "deviceId": n => { applicableContentDeviceMatch.deviceId = n.getStringValue(); },
        "@odata.type": n => { applicableContentDeviceMatch.odataType = n.getStringValue(); },
        "recommendedBy": n => { applicableContentDeviceMatch.recommendedBy = n.getCollectionOfPrimitiveValues("string"); },
    };
}
/**
 * The deserialization information for the current model
 * @param ApplicableContentDeviceMatchCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoApplicableContentDeviceMatchCollectionResponse(applicableContentDeviceMatchCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(applicableContentDeviceMatchCollectionResponse)), { "value": n => { applicableContentDeviceMatchCollectionResponse.value = n.getCollectionOfObjectValues(createApplicableContentDeviceMatchFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ApprovalRule The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoApprovalRule(approvalRule = {}) {
    return {
        "backingStoreEnabled": n => { approvalRule.backingStoreEnabled = true; },
        "deferralInDays": n => { approvalRule.deferralInDays = n.getNumberValue(); },
        "@odata.type": n => { approvalRule.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AssignedGroup The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAssignedGroup(assignedGroup = {}) {
    return {
        "backingStoreEnabled": n => { assignedGroup.backingStoreEnabled = true; },
        "group": n => { assignedGroup.group = n.getObjectValue(createGroupFromDiscriminatorValue); },
        "groupId": n => { assignedGroup.groupId = n.getStringValue(); },
        "@odata.type": n => { assignedGroup.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AzureADDevice The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzureADDevice(azureADDevice = {}) {
    return Object.assign(Object.assign({}, deserializeIntoUpdatableAsset(azureADDevice)), { "enrollment": n => { azureADDevice.enrollment = n.getObjectValue(createUpdateManagementEnrollmentFromDiscriminatorValue); }, "errors": n => { azureADDevice.errors = n.getCollectionOfObjectValues(createUpdatableAssetErrorFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AzureADDeviceRegistrationError The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzureADDeviceRegistrationError(azureADDeviceRegistrationError = {}) {
    return Object.assign(Object.assign({}, deserializeIntoUpdatableAssetError(azureADDeviceRegistrationError)), { "reason": n => { azureADDeviceRegistrationError.reason = n.getEnumValue(AzureADDeviceRegistrationErrorReasonObject); } });
}
/**
 * The deserialization information for the current model
 * @param BuildVersionDetails The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoBuildVersionDetails(buildVersionDetails = {}) {
    return {
        "backingStoreEnabled": n => { buildVersionDetails.backingStoreEnabled = true; },
        "buildNumber": n => { buildVersionDetails.buildNumber = n.getNumberValue(); },
        "majorVersion": n => { buildVersionDetails.majorVersion = n.getNumberValue(); },
        "minorVersion": n => { buildVersionDetails.minorVersion = n.getNumberValue(); },
        "@odata.type": n => { buildVersionDetails.odataType = n.getStringValue(); },
        "updateBuildRevision": n => { buildVersionDetails.updateBuildRevision = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param Catalog The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCatalog(catalog = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(catalog)), { "entries": n => { catalog.entries = n.getCollectionOfObjectValues(createCatalogEntryFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CatalogContent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCatalogContent(catalogContent = {}) {
    return Object.assign(Object.assign({}, deserializeIntoDeployableContent(catalogContent)), { "catalogEntry": n => { catalogContent.catalogEntry = n.getObjectValue(createCatalogEntryFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CatalogEntry The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCatalogEntry(catalogEntry = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(catalogEntry)), { "deployableUntilDateTime": n => { catalogEntry.deployableUntilDateTime = n.getDateValue(); }, "displayName": n => { catalogEntry.displayName = n.getStringValue(); }, "releaseDateTime": n => { catalogEntry.releaseDateTime = n.getDateValue(); } });
}
/**
 * The deserialization information for the current model
 * @param CatalogEntryCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCatalogEntryCollectionResponse(catalogEntryCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(catalogEntryCollectionResponse)), { "value": n => { catalogEntryCollectionResponse.value = n.getCollectionOfObjectValues(createCatalogEntryFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ComplianceChange The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceChange(complianceChange = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(complianceChange)), { "createdDateTime": n => { complianceChange.createdDateTime = n.getDateValue(); }, "isRevoked": n => { complianceChange.isRevoked = n.getBooleanValue(); }, "revokedDateTime": n => { complianceChange.revokedDateTime = n.getDateValue(); }, "updatePolicy": n => { complianceChange.updatePolicy = n.getObjectValue(createUpdatePolicyFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ComplianceChangeCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceChangeCollectionResponse(complianceChangeCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(complianceChangeCollectionResponse)), { "value": n => { complianceChangeCollectionResponse.value = n.getCollectionOfObjectValues(createComplianceChangeFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ComplianceChangeRule The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceChangeRule(complianceChangeRule = {}) {
    return {
        "backingStoreEnabled": n => { complianceChangeRule.backingStoreEnabled = true; },
        "createdDateTime": n => { complianceChangeRule.createdDateTime = n.getDateValue(); },
        "lastEvaluatedDateTime": n => { complianceChangeRule.lastEvaluatedDateTime = n.getDateValue(); },
        "lastModifiedDateTime": n => { complianceChangeRule.lastModifiedDateTime = n.getDateValue(); },
        "@odata.type": n => { complianceChangeRule.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ContentApplicabilitySettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoContentApplicabilitySettings(contentApplicabilitySettings = {}) {
    return {
        "backingStoreEnabled": n => { contentApplicabilitySettings.backingStoreEnabled = true; },
        "@odata.type": n => { contentApplicabilitySettings.odataType = n.getStringValue(); },
        "offerWhileRecommendedBy": n => { contentApplicabilitySettings.offerWhileRecommendedBy = n.getCollectionOfPrimitiveValues("string"); },
        "safeguard": n => { contentApplicabilitySettings.safeguard = n.getObjectValue(createSafeguardSettingsFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param ContentApproval The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoContentApproval(contentApproval = {}) {
    return Object.assign(Object.assign({}, deserializeIntoComplianceChange(contentApproval)), { "content": n => { contentApproval.content = n.getObjectValue(createDeployableContentFromDiscriminatorValue); }, "deployments": n => { contentApproval.deployments = n.getCollectionOfObjectValues(createDeploymentFromDiscriminatorValue); }, "deploymentSettings": n => { contentApproval.deploymentSettings = n.getObjectValue(createDeploymentSettingsFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ContentApprovalRule The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoContentApprovalRule(contentApprovalRule = {}) {
    return Object.assign(Object.assign({}, deserializeIntoComplianceChangeRule(contentApprovalRule)), { "contentFilter": n => { contentApprovalRule.contentFilter = n.getObjectValue(createContentFilterFromDiscriminatorValue); }, "durationBeforeDeploymentStart": n => { contentApprovalRule.durationBeforeDeploymentStart = n.getDurationValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ContentFilter The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoContentFilter(contentFilter = {}) {
    return {
        "backingStoreEnabled": n => { contentFilter.backingStoreEnabled = true; },
        "@odata.type": n => { contentFilter.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param CveInformation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCveInformation(cveInformation = {}) {
    return {
        "backingStoreEnabled": n => { cveInformation.backingStoreEnabled = true; },
        "number": n => { cveInformation.number = n.getStringValue(); },
        "@odata.type": n => { cveInformation.odataType = n.getStringValue(); },
        "url": n => { cveInformation.url = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DateDrivenRolloutSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDateDrivenRolloutSettings(dateDrivenRolloutSettings = {}) {
    return Object.assign(Object.assign({}, deserializeIntoGradualRolloutSettings(dateDrivenRolloutSettings)), { "endDateTime": n => { dateDrivenRolloutSettings.endDateTime = n.getDateValue(); } });
}
/**
 * The deserialization information for the current model
 * @param DeployableContent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeployableContent(deployableContent = {}) {
    return {
        "backingStoreEnabled": n => { deployableContent.backingStoreEnabled = true; },
        "@odata.type": n => { deployableContent.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param Deployment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeployment(deployment = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(deployment)), { "audience": n => { deployment.audience = n.getObjectValue(createDeploymentAudienceFromDiscriminatorValue); }, "content": n => { deployment.content = n.getObjectValue(createDeployableContentFromDiscriminatorValue); }, "createdDateTime": n => { deployment.createdDateTime = n.getDateValue(); }, "lastModifiedDateTime": n => { deployment.lastModifiedDateTime = n.getDateValue(); }, "settings": n => { deployment.settings = n.getObjectValue(createDeploymentSettingsFromDiscriminatorValue); }, "state": n => { deployment.state = n.getObjectValue(createDeploymentStateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DeploymentAudience The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeploymentAudience(deploymentAudience = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(deploymentAudience)), { "applicableContent": n => { deploymentAudience.applicableContent = n.getCollectionOfObjectValues(createApplicableContentFromDiscriminatorValue); }, "exclusions": n => { deploymentAudience.exclusions = n.getCollectionOfObjectValues(createUpdatableAssetFromDiscriminatorValue); }, "members": n => { deploymentAudience.members = n.getCollectionOfObjectValues(createUpdatableAssetFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DeploymentAudienceCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeploymentAudienceCollectionResponse(deploymentAudienceCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(deploymentAudienceCollectionResponse)), { "value": n => { deploymentAudienceCollectionResponse.value = n.getCollectionOfObjectValues(createDeploymentAudienceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DeploymentCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeploymentCollectionResponse(deploymentCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(deploymentCollectionResponse)), { "value": n => { deploymentCollectionResponse.value = n.getCollectionOfObjectValues(createDeploymentFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DeploymentSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeploymentSettings(deploymentSettings = {}) {
    return {
        "backingStoreEnabled": n => { deploymentSettings.backingStoreEnabled = true; },
        "contentApplicability": n => { deploymentSettings.contentApplicability = n.getObjectValue(createContentApplicabilitySettingsFromDiscriminatorValue); },
        "expedite": n => { deploymentSettings.expedite = n.getObjectValue(createExpediteSettingsFromDiscriminatorValue); },
        "monitoring": n => { deploymentSettings.monitoring = n.getObjectValue(createMonitoringSettingsFromDiscriminatorValue); },
        "@odata.type": n => { deploymentSettings.odataType = n.getStringValue(); },
        "schedule": n => { deploymentSettings.schedule = n.getObjectValue(createScheduleSettingsFromDiscriminatorValue); },
        "userExperience": n => { deploymentSettings.userExperience = n.getObjectValue(createUserExperienceSettingsFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param DeploymentState The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeploymentState(deploymentState = {}) {
    return {
        "backingStoreEnabled": n => { deploymentState.backingStoreEnabled = true; },
        "effectiveValue": n => { deploymentState.effectiveValue = n.getEnumValue(DeploymentStateValueObject); },
        "@odata.type": n => { deploymentState.odataType = n.getStringValue(); },
        "reasons": n => { deploymentState.reasons = n.getCollectionOfObjectValues(createDeploymentStateReasonFromDiscriminatorValue); },
        "requestedValue": n => { deploymentState.requestedValue = n.getEnumValue(RequestedDeploymentStateValueObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param DeploymentStateReason The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeploymentStateReason(deploymentStateReason = {}) {
    return {
        "backingStoreEnabled": n => { deploymentStateReason.backingStoreEnabled = true; },
        "@odata.type": n => { deploymentStateReason.odataType = n.getStringValue(); },
        "value": n => { deploymentStateReason.value = n.getEnumValue(DeploymentStateReasonValueObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param DriverUpdateCatalogEntry The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDriverUpdateCatalogEntry(driverUpdateCatalogEntry = {}) {
    return Object.assign(Object.assign({}, deserializeIntoSoftwareUpdateCatalogEntry(driverUpdateCatalogEntry)), { "description": n => { driverUpdateCatalogEntry.description = n.getStringValue(); }, "driverClass": n => { driverUpdateCatalogEntry.driverClass = n.getStringValue(); }, "manufacturer": n => { driverUpdateCatalogEntry.manufacturer = n.getStringValue(); }, "provider": n => { driverUpdateCatalogEntry.provider = n.getStringValue(); }, "setupInformationFile": n => { driverUpdateCatalogEntry.setupInformationFile = n.getStringValue(); }, "version": n => { driverUpdateCatalogEntry.version = n.getStringValue(); }, "versionDateTime": n => { driverUpdateCatalogEntry.versionDateTime = n.getDateValue(); } });
}
/**
 * The deserialization information for the current model
 * @param DriverUpdateFilter The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDriverUpdateFilter(driverUpdateFilter = {}) {
    return Object.assign({}, deserializeIntoWindowsUpdateFilter(driverUpdateFilter));
}
/**
 * The deserialization information for the current model
 * @param DurationDrivenRolloutSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDurationDrivenRolloutSettings(durationDrivenRolloutSettings = {}) {
    return Object.assign(Object.assign({}, deserializeIntoGradualRolloutSettings(durationDrivenRolloutSettings)), { "durationUntilDeploymentEnd": n => { durationDrivenRolloutSettings.durationUntilDeploymentEnd = n.getDurationValue(); } });
}
/**
 * The deserialization information for the current model
 * @param Edition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdition(edition = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(edition)), { "deviceFamily": n => { edition.deviceFamily = n.getStringValue(); }, "endOfServiceDateTime": n => { edition.endOfServiceDateTime = n.getDateValue(); }, "generalAvailabilityDateTime": n => { edition.generalAvailabilityDateTime = n.getDateValue(); }, "isInService": n => { edition.isInService = n.getBooleanValue(); }, "name": n => { edition.name = n.getStringValue(); }, "releasedName": n => { edition.releasedName = n.getStringValue(); }, "servicingPeriods": n => { edition.servicingPeriods = n.getCollectionOfObjectValues(createServicingPeriodFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EditionCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEditionCollectionResponse(editionCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(editionCollectionResponse)), { "value": n => { editionCollectionResponse.value = n.getCollectionOfObjectValues(createEditionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ExcludedGroupAssignment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExcludedGroupAssignment(excludedGroupAssignment = {}) {
    return Object.assign(Object.assign({}, deserializeIntoGroupAssignment(excludedGroupAssignment)), { "assignments": n => { excludedGroupAssignment.assignments = n.getCollectionOfObjectValues(createAssignedGroupFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ExpediteSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExpediteSettings(expediteSettings = {}) {
    return {
        "backingStoreEnabled": n => { expediteSettings.backingStoreEnabled = true; },
        "isExpedited": n => { expediteSettings.isExpedited = n.getBooleanValue(); },
        "isReadinessTest": n => { expediteSettings.isReadinessTest = n.getBooleanValue(); },
        "@odata.type": n => { expediteSettings.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param FeatureUpdateCatalogEntry The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFeatureUpdateCatalogEntry(featureUpdateCatalogEntry = {}) {
    return Object.assign(Object.assign({}, deserializeIntoSoftwareUpdateCatalogEntry(featureUpdateCatalogEntry)), { "buildNumber": n => { featureUpdateCatalogEntry.buildNumber = n.getStringValue(); }, "version": n => { featureUpdateCatalogEntry.version = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param GradualRolloutSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoGradualRolloutSettings(gradualRolloutSettings = {}) {
    return {
        "backingStoreEnabled": n => { gradualRolloutSettings.backingStoreEnabled = true; },
        "durationBetweenOffers": n => { gradualRolloutSettings.durationBetweenOffers = n.getDurationValue(); },
        "@odata.type": n => { gradualRolloutSettings.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param GroupAssignment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoGroupAssignment(groupAssignment = {}) {
    return {
        "backingStoreEnabled": n => { groupAssignment.backingStoreEnabled = true; },
        "@odata.type": n => { groupAssignment.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param IncludedGroupAssignment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIncludedGroupAssignment(includedGroupAssignment = {}) {
    return Object.assign(Object.assign({}, deserializeIntoGroupAssignment(includedGroupAssignment)), { "assignments": n => { includedGroupAssignment.assignments = n.getCollectionOfObjectValues(createAssignedGroupFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ItemBody The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoItemBody(itemBody = {}) {
    return {
        "backingStoreEnabled": n => { itemBody.backingStoreEnabled = true; },
        "content": n => { itemBody.content = n.getStringValue(); },
        "contentType": n => { itemBody.contentType = n.getEnumValue(BodyTypeObject); },
        "@odata.type": n => { itemBody.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param KnowledgeBaseArticle The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKnowledgeBaseArticle(knowledgeBaseArticle = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(knowledgeBaseArticle)), { "url": n => { knowledgeBaseArticle.url = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param KnownIssue The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKnownIssue(knownIssue = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(knownIssue)), { "description": n => { knownIssue.description = n.getStringValue(); }, "knownIssueHistories": n => { knownIssue.knownIssueHistories = n.getCollectionOfObjectValues(createKnownIssueHistoryItemFromDiscriminatorValue); }, "lastUpdatedDateTime": n => { knownIssue.lastUpdatedDateTime = n.getDateValue(); }, "originatingKnowledgeBaseArticle": n => { knownIssue.originatingKnowledgeBaseArticle = n.getObjectValue(createKnowledgeBaseArticleFromDiscriminatorValue); }, "resolvedDateTime": n => { knownIssue.resolvedDateTime = n.getDateValue(); }, "resolvingKnowledgeBaseArticle": n => { knownIssue.resolvingKnowledgeBaseArticle = n.getObjectValue(createKnowledgeBaseArticleFromDiscriminatorValue); }, "safeguardHoldIds": n => { knownIssue.safeguardHoldIds = n.getCollectionOfPrimitiveValues("number"); }, "startDateTime": n => { knownIssue.startDateTime = n.getDateValue(); }, "status": n => { knownIssue.status = n.getEnumValue(WindowsReleaseHealthStatusObject); }, "title": n => { knownIssue.title = n.getStringValue(); }, "webViewUrl": n => { knownIssue.webViewUrl = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param KnownIssueCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKnownIssueCollectionResponse(knownIssueCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(knownIssueCollectionResponse)), { "value": n => { knownIssueCollectionResponse.value = n.getCollectionOfObjectValues(createKnownIssueFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param KnownIssueHistoryItem The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKnownIssueHistoryItem(knownIssueHistoryItem = {}) {
    return {
        "backingStoreEnabled": n => { knownIssueHistoryItem.backingStoreEnabled = true; },
        "body": n => { knownIssueHistoryItem.body = n.getObjectValue(createItemBodyFromDiscriminatorValue); },
        "createdDateTime": n => { knownIssueHistoryItem.createdDateTime = n.getDateValue(); },
        "@odata.type": n => { knownIssueHistoryItem.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param MonitoringRule The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMonitoringRule(monitoringRule = {}) {
    return {
        "action": n => { monitoringRule.action = n.getEnumValue(MonitoringActionObject); },
        "backingStoreEnabled": n => { monitoringRule.backingStoreEnabled = true; },
        "@odata.type": n => { monitoringRule.odataType = n.getStringValue(); },
        "signal": n => { monitoringRule.signal = n.getEnumValue(MonitoringSignalObject); },
        "threshold": n => { monitoringRule.threshold = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param MonitoringSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMonitoringSettings(monitoringSettings = {}) {
    return {
        "backingStoreEnabled": n => { monitoringSettings.backingStoreEnabled = true; },
        "monitoringRules": n => { monitoringSettings.monitoringRules = n.getCollectionOfObjectValues(createMonitoringRuleFromDiscriminatorValue); },
        "@odata.type": n => { monitoringSettings.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param OperationalInsightsConnection The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOperationalInsightsConnection(operationalInsightsConnection = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResourceConnection(operationalInsightsConnection)), { "azureResourceGroupName": n => { operationalInsightsConnection.azureResourceGroupName = n.getStringValue(); }, "azureSubscriptionId": n => { operationalInsightsConnection.azureSubscriptionId = n.getStringValue(); }, "workspaceName": n => { operationalInsightsConnection.workspaceName = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param Policy The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPolicy(policy = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(policy)), { "applicableContent": n => { policy.applicableContent = n.getCollectionOfObjectValues(createApplicableContentFromDiscriminatorValue); }, "approvalRules": n => { policy.approvalRules = n.getCollectionOfObjectValues(createApprovalRuleFromDiscriminatorValue); }, "approvals": n => { policy.approvals = n.getCollectionOfObjectValues(createPolicyApprovalFromDiscriminatorValue); }, "createdDateTime": n => { policy.createdDateTime = n.getDateValue(); }, "description": n => { policy.description = n.getStringValue(); }, "displayName": n => { policy.displayName = n.getStringValue(); }, "lastModifiedDateTime": n => { policy.lastModifiedDateTime = n.getDateValue(); }, "rings": n => { policy.rings = n.getCollectionOfObjectValues(createRingFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param PolicyApproval The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPolicyApproval(policyApproval = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(policyApproval)), { "catalogEntry": n => { policyApproval.catalogEntry = n.getObjectValue(createCatalogEntryFromDiscriminatorValue); }, "catalogEntryId": n => { policyApproval.catalogEntryId = n.getStringValue(); }, "createdDateTime": n => { policyApproval.createdDateTime = n.getDateValue(); }, "lastModifiedDateTime": n => { policyApproval.lastModifiedDateTime = n.getDateValue(); }, "status": n => { policyApproval.status = n.getEnumValue(ApprovalStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param PolicyApprovalCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPolicyApprovalCollectionResponse(policyApprovalCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(policyApprovalCollectionResponse)), { "value": n => { policyApprovalCollectionResponse.value = n.getCollectionOfObjectValues(createPolicyApprovalFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param PolicyCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPolicyCollectionResponse(policyCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(policyCollectionResponse)), { "value": n => { policyCollectionResponse.value = n.getCollectionOfObjectValues(createPolicyFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param Product The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProduct(product = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(product)), { "editions": n => { product.editions = n.getCollectionOfObjectValues(createEditionFromDiscriminatorValue); }, "friendlyNames": n => { product.friendlyNames = n.getCollectionOfPrimitiveValues("string"); }, "groupName": n => { product.groupName = n.getStringValue(); }, "knownIssues": n => { product.knownIssues = n.getCollectionOfObjectValues(createKnownIssueFromDiscriminatorValue); }, "name": n => { product.name = n.getStringValue(); }, "revisions": n => { product.revisions = n.getCollectionOfObjectValues(createProductRevisionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ProductCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProductCollectionResponse(productCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(productCollectionResponse)), { "value": n => { productCollectionResponse.value = n.getCollectionOfObjectValues(createProductFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ProductRevision The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProductRevision(productRevision = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(productRevision)), { "catalogEntry": n => { productRevision.catalogEntry = n.getObjectValue(createCatalogEntryFromDiscriminatorValue); }, "displayName": n => { productRevision.displayName = n.getStringValue(); }, "isHotpatchUpdate": n => { productRevision.isHotpatchUpdate = n.getBooleanValue(); }, "knowledgeBaseArticle": n => { productRevision.knowledgeBaseArticle = n.getObjectValue(createKnowledgeBaseArticleFromDiscriminatorValue); }, "osBuild": n => { productRevision.osBuild = n.getObjectValue(createBuildVersionDetailsFromDiscriminatorValue); }, "product": n => { productRevision.product = n.getStringValue(); }, "releaseDateTime": n => { productRevision.releaseDateTime = n.getDateValue(); }, "version": n => { productRevision.version = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ProductRevisionCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProductRevisionCollectionResponse(productRevisionCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(productRevisionCollectionResponse)), { "value": n => { productRevisionCollectionResponse.value = n.getCollectionOfObjectValues(createProductRevisionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param QualityUpdateApprovalRule The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoQualityUpdateApprovalRule(qualityUpdateApprovalRule = {}) {
    return Object.assign(Object.assign({}, deserializeIntoApprovalRule(qualityUpdateApprovalRule)), { "cadence": n => { qualityUpdateApprovalRule.cadence = n.getEnumValue(QualityUpdateCadenceObject); }, "classification": n => { qualityUpdateApprovalRule.classification = n.getEnumValue(QualityUpdateClassificationObject); } });
}
/**
 * The deserialization information for the current model
 * @param QualityUpdateCatalogEntry The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoQualityUpdateCatalogEntry(qualityUpdateCatalogEntry = {}) {
    return Object.assign(Object.assign({}, deserializeIntoSoftwareUpdateCatalogEntry(qualityUpdateCatalogEntry)), { "catalogName": n => { qualityUpdateCatalogEntry.catalogName = n.getStringValue(); }, "cveSeverityInformation": n => { qualityUpdateCatalogEntry.cveSeverityInformation = n.getObjectValue(createQualityUpdateCveSeverityInformationFromDiscriminatorValue); }, "isExpeditable": n => { qualityUpdateCatalogEntry.isExpeditable = n.getBooleanValue(); }, "productRevisions": n => { qualityUpdateCatalogEntry.productRevisions = n.getCollectionOfObjectValues(createProductRevisionFromDiscriminatorValue); }, "qualityUpdateCadence": n => { qualityUpdateCatalogEntry.qualityUpdateCadence = n.getEnumValue(QualityUpdateCadenceObject); }, "qualityUpdateClassification": n => { qualityUpdateCatalogEntry.qualityUpdateClassification = n.getEnumValue(QualityUpdateClassificationObject); }, "shortName": n => { qualityUpdateCatalogEntry.shortName = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param QualityUpdateCveSeverityInformation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoQualityUpdateCveSeverityInformation(qualityUpdateCveSeverityInformation = {}) {
    return {
        "backingStoreEnabled": n => { qualityUpdateCveSeverityInformation.backingStoreEnabled = true; },
        "exploitedCves": n => { qualityUpdateCveSeverityInformation.exploitedCves = n.getCollectionOfObjectValues(createCveInformationFromDiscriminatorValue); },
        "maxBaseScore": n => { qualityUpdateCveSeverityInformation.maxBaseScore = n.getNumberValue(); },
        "maxSeverity": n => { qualityUpdateCveSeverityInformation.maxSeverity = n.getEnumValue(CveSeverityLevelObject); },
        "@odata.type": n => { qualityUpdateCveSeverityInformation.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param QualityUpdateFilter The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoQualityUpdateFilter(qualityUpdateFilter = {}) {
    return Object.assign(Object.assign({}, deserializeIntoWindowsUpdateFilter(qualityUpdateFilter)), { "cadence": n => { qualityUpdateFilter.cadence = n.getEnumValue(QualityUpdateCadenceObject); }, "classification": n => { qualityUpdateFilter.classification = n.getEnumValue(QualityUpdateClassificationObject); } });
}
/**
 * The deserialization information for the current model
 * @param QualityUpdatePolicy The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoQualityUpdatePolicy(qualityUpdatePolicy = {}) {
    return Object.assign({}, deserializeIntoPolicy(qualityUpdatePolicy));
}
/**
 * The deserialization information for the current model
 * @param QualityUpdateRing The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoQualityUpdateRing(qualityUpdateRing = {}) {
    return Object.assign(Object.assign({}, deserializeIntoRing(qualityUpdateRing)), { "isHotpatchEnabled": n => { qualityUpdateRing.isHotpatchEnabled = n.getBooleanValue(); } });
}
/**
 * The deserialization information for the current model
 * @param RateDrivenRolloutSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRateDrivenRolloutSettings(rateDrivenRolloutSettings = {}) {
    return Object.assign(Object.assign({}, deserializeIntoGradualRolloutSettings(rateDrivenRolloutSettings)), { "devicesPerOffer": n => { rateDrivenRolloutSettings.devicesPerOffer = n.getNumberValue(); } });
}
/**
 * The deserialization information for the current model
 * @param RecoveryApprovalRule The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRecoveryApprovalRule(recoveryApprovalRule = {}) {
    return Object.assign({}, deserializeIntoApprovalRule(recoveryApprovalRule));
}
/**
 * The deserialization information for the current model
 * @param RecoveryUpdateCatalogEntry The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRecoveryUpdateCatalogEntry(recoveryUpdateCatalogEntry = {}) {
    return Object.assign(Object.assign({}, deserializeIntoSoftwareUpdateCatalogEntry(recoveryUpdateCatalogEntry)), { "catalogName": n => { recoveryUpdateCatalogEntry.catalogName = n.getStringValue(); }, "productRevisions": n => { recoveryUpdateCatalogEntry.productRevisions = n.getCollectionOfObjectValues(createProductRevisionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param RemediationUpdateFilter The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRemediationUpdateFilter(remediationUpdateFilter = {}) {
    return Object.assign(Object.assign({}, deserializeIntoWindowsUpdateFilter(remediationUpdateFilter)), { "remediationType": n => { remediationUpdateFilter.remediationType = n.getEnumValue(RemediationTypeObject); } });
}
/**
 * The deserialization information for the current model
 * @param ResourceConnection The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoResourceConnection(resourceConnection = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(resourceConnection)), { "state": n => { resourceConnection.state = n.getEnumValue(ResourceConnectionStateObject); } });
}
/**
 * The deserialization information for the current model
 * @param ResourceConnectionCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoResourceConnectionCollectionResponse(resourceConnectionCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(resourceConnectionCollectionResponse)), { "value": n => { resourceConnectionCollectionResponse.value = n.getCollectionOfObjectValues(createResourceConnectionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param Ring The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRing(ring = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(ring)), { "createdDateTime": n => { ring.createdDateTime = n.getDateValue(); }, "deferralInDays": n => { ring.deferralInDays = n.getNumberValue(); }, "description": n => { ring.description = n.getStringValue(); }, "displayName": n => { ring.displayName = n.getStringValue(); }, "excludedGroupAssignment": n => { ring.excludedGroupAssignment = n.getObjectValue(createExcludedGroupAssignmentFromDiscriminatorValue); }, "includedGroupAssignment": n => { ring.includedGroupAssignment = n.getObjectValue(createIncludedGroupAssignmentFromDiscriminatorValue); }, "isPaused": n => { ring.isPaused = n.getBooleanValue(); }, "lastModifiedDateTime": n => { ring.lastModifiedDateTime = n.getDateValue(); } });
}
/**
 * The deserialization information for the current model
 * @param RingCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRingCollectionResponse(ringCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(ringCollectionResponse)), { "value": n => { ringCollectionResponse.value = n.getCollectionOfObjectValues(createRingFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SafeguardProfile The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSafeguardProfile(safeguardProfile = {}) {
    return {
        "backingStoreEnabled": n => { safeguardProfile.backingStoreEnabled = true; },
        "category": n => { safeguardProfile.category = n.getEnumValue(SafeguardCategoryObject); },
        "@odata.type": n => { safeguardProfile.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SafeguardSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSafeguardSettings(safeguardSettings = {}) {
    return {
        "backingStoreEnabled": n => { safeguardSettings.backingStoreEnabled = true; },
        "disabledSafeguardProfiles": n => { safeguardSettings.disabledSafeguardProfiles = n.getCollectionOfObjectValues(createSafeguardProfileFromDiscriminatorValue); },
        "@odata.type": n => { safeguardSettings.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ScheduleSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoScheduleSettings(scheduleSettings = {}) {
    return {
        "backingStoreEnabled": n => { scheduleSettings.backingStoreEnabled = true; },
        "gradualRollout": n => { scheduleSettings.gradualRollout = n.getObjectValue(createGradualRolloutSettingsFromDiscriminatorValue); },
        "@odata.type": n => { scheduleSettings.odataType = n.getStringValue(); },
        "startDateTime": n => { scheduleSettings.startDateTime = n.getDateValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ServicingPeriod The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoServicingPeriod(servicingPeriod = {}) {
    return {
        "backingStoreEnabled": n => { servicingPeriod.backingStoreEnabled = true; },
        "endDateTime": n => { servicingPeriod.endDateTime = n.getDateValue(); },
        "name": n => { servicingPeriod.name = n.getStringValue(); },
        "@odata.type": n => { servicingPeriod.odataType = n.getStringValue(); },
        "startDateTime": n => { servicingPeriod.startDateTime = n.getDateValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SoftwareUpdateCatalogEntry The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSoftwareUpdateCatalogEntry(softwareUpdateCatalogEntry = {}) {
    return Object.assign({}, deserializeIntoCatalogEntry(softwareUpdateCatalogEntry));
}
/**
 * The deserialization information for the current model
 * @param SoftwareUpdateFilter The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSoftwareUpdateFilter(softwareUpdateFilter = {}) {
    return Object.assign({}, deserializeIntoContentFilter(softwareUpdateFilter));
}
/**
 * The deserialization information for the current model
 * @param UpdatableAsset The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUpdatableAsset(updatableAsset = {}) {
    return Object.assign({}, deserializeIntoEntity(updatableAsset));
}
/**
 * The deserialization information for the current model
 * @param UpdatableAssetCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUpdatableAssetCollectionResponse(updatableAssetCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(updatableAssetCollectionResponse)), { "value": n => { updatableAssetCollectionResponse.value = n.getCollectionOfObjectValues(createUpdatableAssetFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param UpdatableAssetError The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUpdatableAssetError(updatableAssetError = {}) {
    return {
        "backingStoreEnabled": n => { updatableAssetError.backingStoreEnabled = true; },
        "@odata.type": n => { updatableAssetError.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param UpdatableAssetGroup The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUpdatableAssetGroup(updatableAssetGroup = {}) {
    return Object.assign(Object.assign({}, deserializeIntoUpdatableAsset(updatableAssetGroup)), { "members": n => { updatableAssetGroup.members = n.getCollectionOfObjectValues(createUpdatableAssetFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param UpdateCategoryEnrollmentInformation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUpdateCategoryEnrollmentInformation(updateCategoryEnrollmentInformation = {}) {
    return {
        "backingStoreEnabled": n => { updateCategoryEnrollmentInformation.backingStoreEnabled = true; },
        "enrollmentState": n => { updateCategoryEnrollmentInformation.enrollmentState = n.getEnumValue(EnrollmentStateObject); },
        "lastModifiedDateTime": n => { updateCategoryEnrollmentInformation.lastModifiedDateTime = n.getDateValue(); },
        "@odata.type": n => { updateCategoryEnrollmentInformation.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param UpdateManagementEnrollment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUpdateManagementEnrollment(updateManagementEnrollment = {}) {
    return {
        "backingStoreEnabled": n => { updateManagementEnrollment.backingStoreEnabled = true; },
        "driver": n => { updateManagementEnrollment.driver = n.getObjectValue(createUpdateCategoryEnrollmentInformationFromDiscriminatorValue); },
        "feature": n => { updateManagementEnrollment.feature = n.getObjectValue(createUpdateCategoryEnrollmentInformationFromDiscriminatorValue); },
        "@odata.type": n => { updateManagementEnrollment.odataType = n.getStringValue(); },
        "quality": n => { updateManagementEnrollment.quality = n.getObjectValue(createUpdateCategoryEnrollmentInformationFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param UpdatePolicy The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUpdatePolicy(updatePolicy = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(updatePolicy)), { "audience": n => { updatePolicy.audience = n.getObjectValue(createDeploymentAudienceFromDiscriminatorValue); }, "complianceChangeRules": n => { updatePolicy.complianceChangeRules = n.getCollectionOfObjectValues(createComplianceChangeRuleFromDiscriminatorValue); }, "complianceChanges": n => { updatePolicy.complianceChanges = n.getCollectionOfObjectValues(createComplianceChangeFromDiscriminatorValue); }, "createdDateTime": n => { updatePolicy.createdDateTime = n.getDateValue(); }, "deploymentSettings": n => { updatePolicy.deploymentSettings = n.getObjectValue(createDeploymentSettingsFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param UpdatePolicyCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUpdatePolicyCollectionResponse(updatePolicyCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(updatePolicyCollectionResponse)), { "value": n => { updatePolicyCollectionResponse.value = n.getCollectionOfObjectValues(createUpdatePolicyFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param UserExperienceSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserExperienceSettings(userExperienceSettings = {}) {
    return {
        "backingStoreEnabled": n => { userExperienceSettings.backingStoreEnabled = true; },
        "daysUntilForcedReboot": n => { userExperienceSettings.daysUntilForcedReboot = n.getNumberValue(); },
        "isHotpatchEnabled": n => { userExperienceSettings.isHotpatchEnabled = n.getBooleanValue(); },
        "@odata.type": n => { userExperienceSettings.odataType = n.getStringValue(); },
        "offerAsOptional": n => { userExperienceSettings.offerAsOptional = n.getBooleanValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param WindowsUpdateFilter The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWindowsUpdateFilter(windowsUpdateFilter = {}) {
    return Object.assign({}, deserializeIntoSoftwareUpdateFilter(windowsUpdateFilter));
}
/**
 * Serializes information the current object
 * @param ApplicableContent The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeApplicableContent(writer, applicableContent = {}, isSerializingDerivedType = false) {
    if (!applicableContent || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("catalogEntry", applicableContent.catalogEntry, serializeCatalogEntry);
    writer.writeStringValue("catalogEntryId", applicableContent.catalogEntryId);
    writer.writeCollectionOfObjectValues("matchedDevices", applicableContent.matchedDevices, serializeApplicableContentDeviceMatch);
    writer.writeStringValue("@odata.type", applicableContent.odataType);
    writer.writeAdditionalData(applicableContent.additionalData);
}
/**
 * Serializes information the current object
 * @param ApplicableContentCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeApplicableContentCollectionResponse(writer, applicableContentCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!applicableContentCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, applicableContentCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", applicableContentCollectionResponse.value, serializeApplicableContent);
}
/**
 * Serializes information the current object
 * @param ApplicableContentDeviceMatch The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeApplicableContentDeviceMatch(writer, applicableContentDeviceMatch = {}, isSerializingDerivedType = false) {
    if (!applicableContentDeviceMatch || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("deviceId", applicableContentDeviceMatch.deviceId);
    writer.writeStringValue("@odata.type", applicableContentDeviceMatch.odataType);
    writer.writeCollectionOfPrimitiveValues("recommendedBy", applicableContentDeviceMatch.recommendedBy);
    writer.writeAdditionalData(applicableContentDeviceMatch.additionalData);
}
/**
 * Serializes information the current object
 * @param ApplicableContentDeviceMatchCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeApplicableContentDeviceMatchCollectionResponse(writer, applicableContentDeviceMatchCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!applicableContentDeviceMatchCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, applicableContentDeviceMatchCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", applicableContentDeviceMatchCollectionResponse.value, serializeApplicableContentDeviceMatch);
}
/**
 * Serializes information the current object
 * @param ApprovalRule The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeApprovalRule(writer, approvalRule = {}, isSerializingDerivedType = false) {
    if (!approvalRule || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("deferralInDays", approvalRule.deferralInDays);
    writer.writeStringValue("@odata.type", approvalRule.odataType);
    writer.writeAdditionalData(approvalRule.additionalData);
    switch (approvalRule.odataType) {
        case "#microsoft.graph.windowsUpdates.qualityUpdateApprovalRule":
            serializeQualityUpdateApprovalRule(writer, approvalRule, true);
            break;
        case "#microsoft.graph.windowsUpdates.recoveryApprovalRule":
            serializeRecoveryApprovalRule(writer, approvalRule, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param AssignedGroup The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAssignedGroup(writer, assignedGroup = {}, isSerializingDerivedType = false) {
    if (!assignedGroup || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("group", assignedGroup.group, serializeGroup);
    writer.writeStringValue("groupId", assignedGroup.groupId);
    writer.writeStringValue("@odata.type", assignedGroup.odataType);
    writer.writeAdditionalData(assignedGroup.additionalData);
}
/**
 * Serializes information the current object
 * @param AzureADDevice The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzureADDevice(writer, azureADDevice = {}, isSerializingDerivedType = false) {
    if (!azureADDevice || isSerializingDerivedType) {
        return;
    }
    serializeUpdatableAsset(writer, azureADDevice, isSerializingDerivedType);
    writer.writeObjectValue("enrollment", azureADDevice.enrollment, serializeUpdateManagementEnrollment);
    writer.writeCollectionOfObjectValues("errors", azureADDevice.errors, serializeUpdatableAssetError);
}
/**
 * Serializes information the current object
 * @param AzureADDeviceRegistrationError The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzureADDeviceRegistrationError(writer, azureADDeviceRegistrationError = {}, isSerializingDerivedType = false) {
    if (!azureADDeviceRegistrationError || isSerializingDerivedType) {
        return;
    }
    serializeUpdatableAssetError(writer, azureADDeviceRegistrationError, isSerializingDerivedType);
    writer.writeEnumValue("reason", azureADDeviceRegistrationError.reason);
}
/**
 * Serializes information the current object
 * @param BuildVersionDetails The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeBuildVersionDetails(writer, buildVersionDetails = {}, isSerializingDerivedType = false) {
    if (!buildVersionDetails || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("buildNumber", buildVersionDetails.buildNumber);
    writer.writeNumberValue("majorVersion", buildVersionDetails.majorVersion);
    writer.writeNumberValue("minorVersion", buildVersionDetails.minorVersion);
    writer.writeStringValue("@odata.type", buildVersionDetails.odataType);
    writer.writeNumberValue("updateBuildRevision", buildVersionDetails.updateBuildRevision);
    writer.writeAdditionalData(buildVersionDetails.additionalData);
}
/**
 * Serializes information the current object
 * @param Catalog The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCatalog(writer, catalog = {}, isSerializingDerivedType = false) {
    if (!catalog || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, catalog, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("entries", catalog.entries, serializeCatalogEntry);
}
/**
 * Serializes information the current object
 * @param CatalogContent The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCatalogContent(writer, catalogContent = {}, isSerializingDerivedType = false) {
    if (!catalogContent || isSerializingDerivedType) {
        return;
    }
    serializeDeployableContent(writer, catalogContent, isSerializingDerivedType);
    writer.writeObjectValue("catalogEntry", catalogContent.catalogEntry, serializeCatalogEntry);
}
/**
 * Serializes information the current object
 * @param CatalogEntry The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCatalogEntry(writer, catalogEntry = {}, isSerializingDerivedType = false) {
    if (!catalogEntry || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, catalogEntry, isSerializingDerivedType);
    writer.writeDateValue("deployableUntilDateTime", catalogEntry.deployableUntilDateTime);
    writer.writeStringValue("displayName", catalogEntry.displayName);
    writer.writeDateValue("releaseDateTime", catalogEntry.releaseDateTime);
    switch (catalogEntry.odataType) {
        case "#microsoft.graph.windowsUpdates.driverUpdateCatalogEntry":
            serializeDriverUpdateCatalogEntry(writer, catalogEntry, true);
            break;
        case "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry":
            serializeFeatureUpdateCatalogEntry(writer, catalogEntry, true);
            break;
        case "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry":
            serializeQualityUpdateCatalogEntry(writer, catalogEntry, true);
            break;
        case "#microsoft.graph.windowsUpdates.recoveryUpdateCatalogEntry":
            serializeRecoveryUpdateCatalogEntry(writer, catalogEntry, true);
            break;
        case "#microsoft.graph.windowsUpdates.softwareUpdateCatalogEntry":
            serializeSoftwareUpdateCatalogEntry(writer, catalogEntry, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param CatalogEntryCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCatalogEntryCollectionResponse(writer, catalogEntryCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!catalogEntryCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, catalogEntryCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", catalogEntryCollectionResponse.value, serializeCatalogEntry);
}
/**
 * Serializes information the current object
 * @param ComplianceChange The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceChange(writer, complianceChange = {}, isSerializingDerivedType = false) {
    if (!complianceChange || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, complianceChange, isSerializingDerivedType);
    writer.writeDateValue("createdDateTime", complianceChange.createdDateTime);
    writer.writeBooleanValue("isRevoked", complianceChange.isRevoked);
    writer.writeDateValue("revokedDateTime", complianceChange.revokedDateTime);
    writer.writeObjectValue("updatePolicy", complianceChange.updatePolicy, serializeUpdatePolicy);
    switch (complianceChange.odataType) {
        case "#microsoft.graph.windowsUpdates.contentApproval":
            serializeContentApproval(writer, complianceChange, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param ComplianceChangeCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceChangeCollectionResponse(writer, complianceChangeCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!complianceChangeCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, complianceChangeCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", complianceChangeCollectionResponse.value, serializeComplianceChange);
}
/**
 * Serializes information the current object
 * @param ComplianceChangeRule The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceChangeRule(writer, complianceChangeRule = {}, isSerializingDerivedType = false) {
    if (!complianceChangeRule || isSerializingDerivedType) {
        return;
    }
    writer.writeDateValue("createdDateTime", complianceChangeRule.createdDateTime);
    writer.writeDateValue("lastEvaluatedDateTime", complianceChangeRule.lastEvaluatedDateTime);
    writer.writeDateValue("lastModifiedDateTime", complianceChangeRule.lastModifiedDateTime);
    writer.writeStringValue("@odata.type", complianceChangeRule.odataType);
    writer.writeAdditionalData(complianceChangeRule.additionalData);
    switch (complianceChangeRule.odataType) {
        case "#microsoft.graph.windowsUpdates.contentApprovalRule":
            serializeContentApprovalRule(writer, complianceChangeRule, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param ContentApplicabilitySettings The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeContentApplicabilitySettings(writer, contentApplicabilitySettings = {}, isSerializingDerivedType = false) {
    if (!contentApplicabilitySettings || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", contentApplicabilitySettings.odataType);
    writer.writeCollectionOfPrimitiveValues("offerWhileRecommendedBy", contentApplicabilitySettings.offerWhileRecommendedBy);
    writer.writeObjectValue("safeguard", contentApplicabilitySettings.safeguard, serializeSafeguardSettings);
    writer.writeAdditionalData(contentApplicabilitySettings.additionalData);
}
/**
 * Serializes information the current object
 * @param ContentApproval The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeContentApproval(writer, contentApproval = {}, isSerializingDerivedType = false) {
    if (!contentApproval || isSerializingDerivedType) {
        return;
    }
    serializeComplianceChange(writer, contentApproval, isSerializingDerivedType);
    writer.writeObjectValue("content", contentApproval.content, serializeDeployableContent);
    writer.writeCollectionOfObjectValues("deployments", contentApproval.deployments, serializeDeployment);
    writer.writeObjectValue("deploymentSettings", contentApproval.deploymentSettings, serializeDeploymentSettings);
}
/**
 * Serializes information the current object
 * @param ContentApprovalRule The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeContentApprovalRule(writer, contentApprovalRule = {}, isSerializingDerivedType = false) {
    if (!contentApprovalRule || isSerializingDerivedType) {
        return;
    }
    serializeComplianceChangeRule(writer, contentApprovalRule, isSerializingDerivedType);
    writer.writeObjectValue("contentFilter", contentApprovalRule.contentFilter, serializeContentFilter);
    writer.writeDurationValue("durationBeforeDeploymentStart", contentApprovalRule.durationBeforeDeploymentStart);
}
/**
 * Serializes information the current object
 * @param ContentFilter The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeContentFilter(writer, contentFilter = {}, isSerializingDerivedType = false) {
    if (!contentFilter || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", contentFilter.odataType);
    writer.writeAdditionalData(contentFilter.additionalData);
    switch (contentFilter.odataType) {
        case "#microsoft.graph.windowsUpdates.driverUpdateFilter":
            serializeDriverUpdateFilter(writer, contentFilter, true);
            break;
        case "#microsoft.graph.windowsUpdates.qualityUpdateFilter":
            serializeQualityUpdateFilter(writer, contentFilter, true);
            break;
        case "#microsoft.graph.windowsUpdates.remediationUpdateFilter":
            serializeRemediationUpdateFilter(writer, contentFilter, true);
            break;
        case "#microsoft.graph.windowsUpdates.softwareUpdateFilter":
            serializeSoftwareUpdateFilter(writer, contentFilter, true);
            break;
        case "#microsoft.graph.windowsUpdates.windowsUpdateFilter":
            serializeWindowsUpdateFilter(writer, contentFilter, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param CveInformation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCveInformation(writer, cveInformation = {}, isSerializingDerivedType = false) {
    if (!cveInformation || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("number", cveInformation.number);
    writer.writeStringValue("@odata.type", cveInformation.odataType);
    writer.writeStringValue("url", cveInformation.url);
    writer.writeAdditionalData(cveInformation.additionalData);
}
/**
 * Serializes information the current object
 * @param DateDrivenRolloutSettings The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDateDrivenRolloutSettings(writer, dateDrivenRolloutSettings = {}, isSerializingDerivedType = false) {
    if (!dateDrivenRolloutSettings || isSerializingDerivedType) {
        return;
    }
    serializeGradualRolloutSettings(writer, dateDrivenRolloutSettings, isSerializingDerivedType);
    writer.writeDateValue("endDateTime", dateDrivenRolloutSettings.endDateTime);
}
/**
 * Serializes information the current object
 * @param DeployableContent The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeployableContent(writer, deployableContent = {}, isSerializingDerivedType = false) {
    if (!deployableContent || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", deployableContent.odataType);
    writer.writeAdditionalData(deployableContent.additionalData);
    switch (deployableContent.odataType) {
        case "#microsoft.graph.windowsUpdates.catalogContent":
            serializeCatalogContent(writer, deployableContent, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param Deployment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeployment(writer, deployment = {}, isSerializingDerivedType = false) {
    if (!deployment || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, deployment, isSerializingDerivedType);
    writer.writeObjectValue("audience", deployment.audience, serializeDeploymentAudience);
    writer.writeObjectValue("content", deployment.content, serializeDeployableContent);
    writer.writeDateValue("createdDateTime", deployment.createdDateTime);
    writer.writeDateValue("lastModifiedDateTime", deployment.lastModifiedDateTime);
    writer.writeObjectValue("settings", deployment.settings, serializeDeploymentSettings);
    writer.writeObjectValue("state", deployment.state, serializeDeploymentState);
}
/**
 * Serializes information the current object
 * @param DeploymentAudience The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeploymentAudience(writer, deploymentAudience = {}, isSerializingDerivedType = false) {
    if (!deploymentAudience || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, deploymentAudience, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("applicableContent", deploymentAudience.applicableContent, serializeApplicableContent);
    writer.writeCollectionOfObjectValues("exclusions", deploymentAudience.exclusions, serializeUpdatableAsset);
    writer.writeCollectionOfObjectValues("members", deploymentAudience.members, serializeUpdatableAsset);
}
/**
 * Serializes information the current object
 * @param DeploymentAudienceCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeploymentAudienceCollectionResponse(writer, deploymentAudienceCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!deploymentAudienceCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, deploymentAudienceCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", deploymentAudienceCollectionResponse.value, serializeDeploymentAudience);
}
/**
 * Serializes information the current object
 * @param DeploymentCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeploymentCollectionResponse(writer, deploymentCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!deploymentCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, deploymentCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", deploymentCollectionResponse.value, serializeDeployment);
}
/**
 * Serializes information the current object
 * @param DeploymentSettings The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeploymentSettings(writer, deploymentSettings = {}, isSerializingDerivedType = false) {
    if (!deploymentSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("contentApplicability", deploymentSettings.contentApplicability, serializeContentApplicabilitySettings);
    writer.writeObjectValue("expedite", deploymentSettings.expedite, serializeExpediteSettings);
    writer.writeObjectValue("monitoring", deploymentSettings.monitoring, serializeMonitoringSettings);
    writer.writeStringValue("@odata.type", deploymentSettings.odataType);
    writer.writeObjectValue("schedule", deploymentSettings.schedule, serializeScheduleSettings);
    writer.writeObjectValue("userExperience", deploymentSettings.userExperience, serializeUserExperienceSettings);
    writer.writeAdditionalData(deploymentSettings.additionalData);
}
/**
 * Serializes information the current object
 * @param DeploymentState The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeploymentState(writer, deploymentState = {}, isSerializingDerivedType = false) {
    if (!deploymentState || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("effectiveValue", deploymentState.effectiveValue);
    writer.writeStringValue("@odata.type", deploymentState.odataType);
    writer.writeCollectionOfObjectValues("reasons", deploymentState.reasons, serializeDeploymentStateReason);
    writer.writeEnumValue("requestedValue", deploymentState.requestedValue);
    writer.writeAdditionalData(deploymentState.additionalData);
}
/**
 * Serializes information the current object
 * @param DeploymentStateReason The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeploymentStateReason(writer, deploymentStateReason = {}, isSerializingDerivedType = false) {
    if (!deploymentStateReason || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", deploymentStateReason.odataType);
    writer.writeEnumValue("value", deploymentStateReason.value);
    writer.writeAdditionalData(deploymentStateReason.additionalData);
}
/**
 * Serializes information the current object
 * @param DriverUpdateCatalogEntry The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDriverUpdateCatalogEntry(writer, driverUpdateCatalogEntry = {}, isSerializingDerivedType = false) {
    if (!driverUpdateCatalogEntry || isSerializingDerivedType) {
        return;
    }
    serializeSoftwareUpdateCatalogEntry(writer, driverUpdateCatalogEntry, isSerializingDerivedType);
    writer.writeStringValue("description", driverUpdateCatalogEntry.description);
    writer.writeStringValue("driverClass", driverUpdateCatalogEntry.driverClass);
    writer.writeStringValue("manufacturer", driverUpdateCatalogEntry.manufacturer);
    writer.writeStringValue("provider", driverUpdateCatalogEntry.provider);
    writer.writeStringValue("setupInformationFile", driverUpdateCatalogEntry.setupInformationFile);
    writer.writeStringValue("version", driverUpdateCatalogEntry.version);
    writer.writeDateValue("versionDateTime", driverUpdateCatalogEntry.versionDateTime);
}
/**
 * Serializes information the current object
 * @param DriverUpdateFilter The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDriverUpdateFilter(writer, driverUpdateFilter = {}, isSerializingDerivedType = false) {
    if (!driverUpdateFilter || isSerializingDerivedType) {
        return;
    }
    serializeWindowsUpdateFilter(writer, driverUpdateFilter, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DurationDrivenRolloutSettings The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDurationDrivenRolloutSettings(writer, durationDrivenRolloutSettings = {}, isSerializingDerivedType = false) {
    if (!durationDrivenRolloutSettings || isSerializingDerivedType) {
        return;
    }
    serializeGradualRolloutSettings(writer, durationDrivenRolloutSettings, isSerializingDerivedType);
    writer.writeDurationValue("durationUntilDeploymentEnd", durationDrivenRolloutSettings.durationUntilDeploymentEnd);
}
/**
 * Serializes information the current object
 * @param Edition The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdition(writer, edition = {}, isSerializingDerivedType = false) {
    if (!edition || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, edition, isSerializingDerivedType);
    writer.writeStringValue("deviceFamily", edition.deviceFamily);
    writer.writeDateValue("endOfServiceDateTime", edition.endOfServiceDateTime);
    writer.writeDateValue("generalAvailabilityDateTime", edition.generalAvailabilityDateTime);
    writer.writeBooleanValue("isInService", edition.isInService);
    writer.writeStringValue("name", edition.name);
    writer.writeStringValue("releasedName", edition.releasedName);
    writer.writeCollectionOfObjectValues("servicingPeriods", edition.servicingPeriods, serializeServicingPeriod);
}
/**
 * Serializes information the current object
 * @param EditionCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEditionCollectionResponse(writer, editionCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!editionCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, editionCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", editionCollectionResponse.value, serializeEdition);
}
/**
 * Serializes information the current object
 * @param ExcludedGroupAssignment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExcludedGroupAssignment(writer, excludedGroupAssignment = {}, isSerializingDerivedType = false) {
    if (!excludedGroupAssignment || isSerializingDerivedType) {
        return;
    }
    serializeGroupAssignment(writer, excludedGroupAssignment, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("assignments", excludedGroupAssignment.assignments, serializeAssignedGroup);
}
/**
 * Serializes information the current object
 * @param ExpediteSettings The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExpediteSettings(writer, expediteSettings = {}, isSerializingDerivedType = false) {
    if (!expediteSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeBooleanValue("isExpedited", expediteSettings.isExpedited);
    writer.writeBooleanValue("isReadinessTest", expediteSettings.isReadinessTest);
    writer.writeStringValue("@odata.type", expediteSettings.odataType);
    writer.writeAdditionalData(expediteSettings.additionalData);
}
/**
 * Serializes information the current object
 * @param FeatureUpdateCatalogEntry The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFeatureUpdateCatalogEntry(writer, featureUpdateCatalogEntry = {}, isSerializingDerivedType = false) {
    if (!featureUpdateCatalogEntry || isSerializingDerivedType) {
        return;
    }
    serializeSoftwareUpdateCatalogEntry(writer, featureUpdateCatalogEntry, isSerializingDerivedType);
    writer.writeStringValue("buildNumber", featureUpdateCatalogEntry.buildNumber);
    writer.writeStringValue("version", featureUpdateCatalogEntry.version);
}
/**
 * Serializes information the current object
 * @param GradualRolloutSettings The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeGradualRolloutSettings(writer, gradualRolloutSettings = {}, isSerializingDerivedType = false) {
    if (!gradualRolloutSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeDurationValue("durationBetweenOffers", gradualRolloutSettings.durationBetweenOffers);
    writer.writeStringValue("@odata.type", gradualRolloutSettings.odataType);
    writer.writeAdditionalData(gradualRolloutSettings.additionalData);
    switch (gradualRolloutSettings.odataType) {
        case "#microsoft.graph.windowsUpdates.dateDrivenRolloutSettings":
            serializeDateDrivenRolloutSettings(writer, gradualRolloutSettings, true);
            break;
        case "#microsoft.graph.windowsUpdates.durationDrivenRolloutSettings":
            serializeDurationDrivenRolloutSettings(writer, gradualRolloutSettings, true);
            break;
        case "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings":
            serializeRateDrivenRolloutSettings(writer, gradualRolloutSettings, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param GroupAssignment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeGroupAssignment(writer, groupAssignment = {}, isSerializingDerivedType = false) {
    if (!groupAssignment || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", groupAssignment.odataType);
    writer.writeAdditionalData(groupAssignment.additionalData);
    switch (groupAssignment.odataType) {
        case "#microsoft.graph.windowsUpdates.excludedGroupAssignment":
            serializeExcludedGroupAssignment(writer, groupAssignment, true);
            break;
        case "#microsoft.graph.windowsUpdates.includedGroupAssignment":
            serializeIncludedGroupAssignment(writer, groupAssignment, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param IncludedGroupAssignment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIncludedGroupAssignment(writer, includedGroupAssignment = {}, isSerializingDerivedType = false) {
    if (!includedGroupAssignment || isSerializingDerivedType) {
        return;
    }
    serializeGroupAssignment(writer, includedGroupAssignment, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("assignments", includedGroupAssignment.assignments, serializeAssignedGroup);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ItemBody The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeItemBody(writer, itemBody = {}, isSerializingDerivedType = false) {
    if (!itemBody || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("content", itemBody.content);
    writer.writeEnumValue("contentType", itemBody.contentType);
    writer.writeStringValue("@odata.type", itemBody.odataType);
    writer.writeAdditionalData(itemBody.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KnowledgeBaseArticle The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKnowledgeBaseArticle(writer, knowledgeBaseArticle = {}, isSerializingDerivedType = false) {
    if (!knowledgeBaseArticle || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, knowledgeBaseArticle, isSerializingDerivedType);
    writer.writeStringValue("url", knowledgeBaseArticle.url);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KnownIssue The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKnownIssue(writer, knownIssue = {}, isSerializingDerivedType = false) {
    if (!knownIssue || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, knownIssue, isSerializingDerivedType);
    writer.writeStringValue("description", knownIssue.description);
    writer.writeCollectionOfObjectValues("knownIssueHistories", knownIssue.knownIssueHistories, serializeKnownIssueHistoryItem);
    writer.writeDateValue("lastUpdatedDateTime", knownIssue.lastUpdatedDateTime);
    writer.writeObjectValue("originatingKnowledgeBaseArticle", knownIssue.originatingKnowledgeBaseArticle, serializeKnowledgeBaseArticle);
    writer.writeDateValue("resolvedDateTime", knownIssue.resolvedDateTime);
    writer.writeObjectValue("resolvingKnowledgeBaseArticle", knownIssue.resolvingKnowledgeBaseArticle, serializeKnowledgeBaseArticle);
    writer.writeCollectionOfPrimitiveValues("safeguardHoldIds", knownIssue.safeguardHoldIds);
    writer.writeDateValue("startDateTime", knownIssue.startDateTime);
    writer.writeEnumValue("status", knownIssue.status);
    writer.writeStringValue("title", knownIssue.title);
    writer.writeStringValue("webViewUrl", knownIssue.webViewUrl);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KnownIssueCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKnownIssueCollectionResponse(writer, knownIssueCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!knownIssueCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, knownIssueCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", knownIssueCollectionResponse.value, serializeKnownIssue);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KnownIssueHistoryItem The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKnownIssueHistoryItem(writer, knownIssueHistoryItem = {}, isSerializingDerivedType = false) {
    if (!knownIssueHistoryItem || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("body", knownIssueHistoryItem.body, serializeItemBody);
    writer.writeDateValue("createdDateTime", knownIssueHistoryItem.createdDateTime);
    writer.writeStringValue("@odata.type", knownIssueHistoryItem.odataType);
    writer.writeAdditionalData(knownIssueHistoryItem.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MonitoringRule The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMonitoringRule(writer, monitoringRule = {}, isSerializingDerivedType = false) {
    if (!monitoringRule || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("action", monitoringRule.action);
    writer.writeStringValue("@odata.type", monitoringRule.odataType);
    writer.writeEnumValue("signal", monitoringRule.signal);
    writer.writeNumberValue("threshold", monitoringRule.threshold);
    writer.writeAdditionalData(monitoringRule.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MonitoringSettings The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMonitoringSettings(writer, monitoringSettings = {}, isSerializingDerivedType = false) {
    if (!monitoringSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfObjectValues("monitoringRules", monitoringSettings.monitoringRules, serializeMonitoringRule);
    writer.writeStringValue("@odata.type", monitoringSettings.odataType);
    writer.writeAdditionalData(monitoringSettings.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OperationalInsightsConnection The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOperationalInsightsConnection(writer, operationalInsightsConnection = {}, isSerializingDerivedType = false) {
    if (!operationalInsightsConnection || isSerializingDerivedType) {
        return;
    }
    serializeResourceConnection(writer, operationalInsightsConnection, isSerializingDerivedType);
    writer.writeStringValue("azureResourceGroupName", operationalInsightsConnection.azureResourceGroupName);
    writer.writeStringValue("azureSubscriptionId", operationalInsightsConnection.azureSubscriptionId);
    writer.writeStringValue("workspaceName", operationalInsightsConnection.workspaceName);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Policy The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePolicy(writer, policy = {}, isSerializingDerivedType = false) {
    if (!policy || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, policy, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("applicableContent", policy.applicableContent, serializeApplicableContent);
    writer.writeCollectionOfObjectValues("approvalRules", policy.approvalRules, serializeApprovalRule);
    writer.writeCollectionOfObjectValues("approvals", policy.approvals, serializePolicyApproval);
    writer.writeDateValue("createdDateTime", policy.createdDateTime);
    writer.writeStringValue("description", policy.description);
    writer.writeStringValue("displayName", policy.displayName);
    writer.writeDateValue("lastModifiedDateTime", policy.lastModifiedDateTime);
    writer.writeCollectionOfObjectValues("rings", policy.rings, serializeRing);
    switch (policy.odataType) {
        case "#microsoft.graph.windowsUpdates.qualityUpdatePolicy":
            serializeQualityUpdatePolicy(writer, policy, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PolicyApproval The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePolicyApproval(writer, policyApproval = {}, isSerializingDerivedType = false) {
    if (!policyApproval || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, policyApproval, isSerializingDerivedType);
    writer.writeObjectValue("catalogEntry", policyApproval.catalogEntry, serializeCatalogEntry);
    writer.writeStringValue("catalogEntryId", policyApproval.catalogEntryId);
    writer.writeDateValue("createdDateTime", policyApproval.createdDateTime);
    writer.writeDateValue("lastModifiedDateTime", policyApproval.lastModifiedDateTime);
    writer.writeEnumValue("status", policyApproval.status);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PolicyApprovalCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePolicyApprovalCollectionResponse(writer, policyApprovalCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!policyApprovalCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, policyApprovalCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", policyApprovalCollectionResponse.value, serializePolicyApproval);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PolicyCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePolicyCollectionResponse(writer, policyCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!policyCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, policyCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", policyCollectionResponse.value, serializePolicy);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Product The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProduct(writer, product = {}, isSerializingDerivedType = false) {
    if (!product || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, product, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("editions", product.editions, serializeEdition);
    writer.writeCollectionOfPrimitiveValues("friendlyNames", product.friendlyNames);
    writer.writeStringValue("groupName", product.groupName);
    writer.writeCollectionOfObjectValues("knownIssues", product.knownIssues, serializeKnownIssue);
    writer.writeStringValue("name", product.name);
    writer.writeCollectionOfObjectValues("revisions", product.revisions, serializeProductRevision);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProductCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProductCollectionResponse(writer, productCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!productCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, productCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", productCollectionResponse.value, serializeProduct);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProductRevision The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProductRevision(writer, productRevision = {}, isSerializingDerivedType = false) {
    if (!productRevision || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, productRevision, isSerializingDerivedType);
    writer.writeObjectValue("catalogEntry", productRevision.catalogEntry, serializeCatalogEntry);
    writer.writeStringValue("displayName", productRevision.displayName);
    writer.writeBooleanValue("isHotpatchUpdate", productRevision.isHotpatchUpdate);
    writer.writeObjectValue("knowledgeBaseArticle", productRevision.knowledgeBaseArticle, serializeKnowledgeBaseArticle);
    writer.writeObjectValue("osBuild", productRevision.osBuild, serializeBuildVersionDetails);
    writer.writeStringValue("product", productRevision.product);
    writer.writeDateValue("releaseDateTime", productRevision.releaseDateTime);
    writer.writeStringValue("version", productRevision.version);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProductRevisionCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProductRevisionCollectionResponse(writer, productRevisionCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!productRevisionCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, productRevisionCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", productRevisionCollectionResponse.value, serializeProductRevision);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param QualityUpdateApprovalRule The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeQualityUpdateApprovalRule(writer, qualityUpdateApprovalRule = {}, isSerializingDerivedType = false) {
    if (!qualityUpdateApprovalRule || isSerializingDerivedType) {
        return;
    }
    serializeApprovalRule(writer, qualityUpdateApprovalRule, isSerializingDerivedType);
    writer.writeEnumValue("cadence", qualityUpdateApprovalRule.cadence);
    writer.writeEnumValue("classification", qualityUpdateApprovalRule.classification);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param QualityUpdateCatalogEntry The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeQualityUpdateCatalogEntry(writer, qualityUpdateCatalogEntry = {}, isSerializingDerivedType = false) {
    if (!qualityUpdateCatalogEntry || isSerializingDerivedType) {
        return;
    }
    serializeSoftwareUpdateCatalogEntry(writer, qualityUpdateCatalogEntry, isSerializingDerivedType);
    writer.writeStringValue("catalogName", qualityUpdateCatalogEntry.catalogName);
    writer.writeObjectValue("cveSeverityInformation", qualityUpdateCatalogEntry.cveSeverityInformation, serializeQualityUpdateCveSeverityInformation);
    writer.writeBooleanValue("isExpeditable", qualityUpdateCatalogEntry.isExpeditable);
    writer.writeCollectionOfObjectValues("productRevisions", qualityUpdateCatalogEntry.productRevisions, serializeProductRevision);
    writer.writeEnumValue("qualityUpdateCadence", qualityUpdateCatalogEntry.qualityUpdateCadence);
    writer.writeEnumValue("qualityUpdateClassification", qualityUpdateCatalogEntry.qualityUpdateClassification);
    writer.writeStringValue("shortName", qualityUpdateCatalogEntry.shortName);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param QualityUpdateCveSeverityInformation The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeQualityUpdateCveSeverityInformation(writer, qualityUpdateCveSeverityInformation = {}, isSerializingDerivedType = false) {
    if (!qualityUpdateCveSeverityInformation || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfObjectValues("exploitedCves", qualityUpdateCveSeverityInformation.exploitedCves, serializeCveInformation);
    writer.writeNumberValue("maxBaseScore", qualityUpdateCveSeverityInformation.maxBaseScore);
    writer.writeEnumValue("maxSeverity", qualityUpdateCveSeverityInformation.maxSeverity);
    writer.writeStringValue("@odata.type", qualityUpdateCveSeverityInformation.odataType);
    writer.writeAdditionalData(qualityUpdateCveSeverityInformation.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param QualityUpdateFilter The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeQualityUpdateFilter(writer, qualityUpdateFilter = {}, isSerializingDerivedType = false) {
    if (!qualityUpdateFilter || isSerializingDerivedType) {
        return;
    }
    serializeWindowsUpdateFilter(writer, qualityUpdateFilter, isSerializingDerivedType);
    writer.writeEnumValue("cadence", qualityUpdateFilter.cadence);
    writer.writeEnumValue("classification", qualityUpdateFilter.classification);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param QualityUpdatePolicy The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeQualityUpdatePolicy(writer, qualityUpdatePolicy = {}, isSerializingDerivedType = false) {
    if (!qualityUpdatePolicy || isSerializingDerivedType) {
        return;
    }
    serializePolicy(writer, qualityUpdatePolicy, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param QualityUpdateRing The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeQualityUpdateRing(writer, qualityUpdateRing = {}, isSerializingDerivedType = false) {
    if (!qualityUpdateRing || isSerializingDerivedType) {
        return;
    }
    serializeRing(writer, qualityUpdateRing, isSerializingDerivedType);
    writer.writeBooleanValue("isHotpatchEnabled", qualityUpdateRing.isHotpatchEnabled);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RateDrivenRolloutSettings The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRateDrivenRolloutSettings(writer, rateDrivenRolloutSettings = {}, isSerializingDerivedType = false) {
    if (!rateDrivenRolloutSettings || isSerializingDerivedType) {
        return;
    }
    serializeGradualRolloutSettings(writer, rateDrivenRolloutSettings, isSerializingDerivedType);
    writer.writeNumberValue("devicesPerOffer", rateDrivenRolloutSettings.devicesPerOffer);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RecoveryApprovalRule The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRecoveryApprovalRule(writer, recoveryApprovalRule = {}, isSerializingDerivedType = false) {
    if (!recoveryApprovalRule || isSerializingDerivedType) {
        return;
    }
    serializeApprovalRule(writer, recoveryApprovalRule, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RecoveryUpdateCatalogEntry The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRecoveryUpdateCatalogEntry(writer, recoveryUpdateCatalogEntry = {}, isSerializingDerivedType = false) {
    if (!recoveryUpdateCatalogEntry || isSerializingDerivedType) {
        return;
    }
    serializeSoftwareUpdateCatalogEntry(writer, recoveryUpdateCatalogEntry, isSerializingDerivedType);
    writer.writeStringValue("catalogName", recoveryUpdateCatalogEntry.catalogName);
    writer.writeCollectionOfObjectValues("productRevisions", recoveryUpdateCatalogEntry.productRevisions, serializeProductRevision);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RemediationUpdateFilter The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRemediationUpdateFilter(writer, remediationUpdateFilter = {}, isSerializingDerivedType = false) {
    if (!remediationUpdateFilter || isSerializingDerivedType) {
        return;
    }
    serializeWindowsUpdateFilter(writer, remediationUpdateFilter, isSerializingDerivedType);
    writer.writeEnumValue("remediationType", remediationUpdateFilter.remediationType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ResourceConnection The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeResourceConnection(writer, resourceConnection = {}, isSerializingDerivedType = false) {
    if (!resourceConnection || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, resourceConnection, isSerializingDerivedType);
    writer.writeEnumValue("state", resourceConnection.state);
    switch (resourceConnection.odataType) {
        case "#microsoft.graph.windowsUpdates.operationalInsightsConnection":
            serializeOperationalInsightsConnection(writer, resourceConnection, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ResourceConnectionCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeResourceConnectionCollectionResponse(writer, resourceConnectionCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!resourceConnectionCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, resourceConnectionCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", resourceConnectionCollectionResponse.value, serializeResourceConnection);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Ring The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRing(writer, ring = {}, isSerializingDerivedType = false) {
    if (!ring || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, ring, isSerializingDerivedType);
    writer.writeDateValue("createdDateTime", ring.createdDateTime);
    writer.writeNumberValue("deferralInDays", ring.deferralInDays);
    writer.writeStringValue("description", ring.description);
    writer.writeStringValue("displayName", ring.displayName);
    writer.writeObjectValue("excludedGroupAssignment", ring.excludedGroupAssignment, serializeExcludedGroupAssignment);
    writer.writeObjectValue("includedGroupAssignment", ring.includedGroupAssignment, serializeIncludedGroupAssignment);
    writer.writeBooleanValue("isPaused", ring.isPaused);
    writer.writeDateValue("lastModifiedDateTime", ring.lastModifiedDateTime);
    switch (ring.odataType) {
        case "#microsoft.graph.windowsUpdates.qualityUpdateRing":
            serializeQualityUpdateRing(writer, ring, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RingCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRingCollectionResponse(writer, ringCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!ringCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, ringCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", ringCollectionResponse.value, serializeRing);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SafeguardProfile The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSafeguardProfile(writer, safeguardProfile = {}, isSerializingDerivedType = false) {
    if (!safeguardProfile || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("category", safeguardProfile.category);
    writer.writeStringValue("@odata.type", safeguardProfile.odataType);
    writer.writeAdditionalData(safeguardProfile.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SafeguardSettings The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSafeguardSettings(writer, safeguardSettings = {}, isSerializingDerivedType = false) {
    if (!safeguardSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfObjectValues("disabledSafeguardProfiles", safeguardSettings.disabledSafeguardProfiles, serializeSafeguardProfile);
    writer.writeStringValue("@odata.type", safeguardSettings.odataType);
    writer.writeAdditionalData(safeguardSettings.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ScheduleSettings The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeScheduleSettings(writer, scheduleSettings = {}, isSerializingDerivedType = false) {
    if (!scheduleSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("gradualRollout", scheduleSettings.gradualRollout, serializeGradualRolloutSettings);
    writer.writeStringValue("@odata.type", scheduleSettings.odataType);
    writer.writeDateValue("startDateTime", scheduleSettings.startDateTime);
    writer.writeAdditionalData(scheduleSettings.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ServicingPeriod The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeServicingPeriod(writer, servicingPeriod = {}, isSerializingDerivedType = false) {
    if (!servicingPeriod || isSerializingDerivedType) {
        return;
    }
    writer.writeDateValue("endDateTime", servicingPeriod.endDateTime);
    writer.writeStringValue("name", servicingPeriod.name);
    writer.writeStringValue("@odata.type", servicingPeriod.odataType);
    writer.writeDateValue("startDateTime", servicingPeriod.startDateTime);
    writer.writeAdditionalData(servicingPeriod.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SoftwareUpdateCatalogEntry The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSoftwareUpdateCatalogEntry(writer, softwareUpdateCatalogEntry = {}, isSerializingDerivedType = false) {
    if (!softwareUpdateCatalogEntry || isSerializingDerivedType) {
        return;
    }
    serializeCatalogEntry(writer, softwareUpdateCatalogEntry, isSerializingDerivedType);
    switch (softwareUpdateCatalogEntry.odataType) {
        case "#microsoft.graph.windowsUpdates.driverUpdateCatalogEntry":
            serializeDriverUpdateCatalogEntry(writer, softwareUpdateCatalogEntry, true);
            break;
        case "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry":
            serializeFeatureUpdateCatalogEntry(writer, softwareUpdateCatalogEntry, true);
            break;
        case "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry":
            serializeQualityUpdateCatalogEntry(writer, softwareUpdateCatalogEntry, true);
            break;
        case "#microsoft.graph.windowsUpdates.recoveryUpdateCatalogEntry":
            serializeRecoveryUpdateCatalogEntry(writer, softwareUpdateCatalogEntry, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SoftwareUpdateFilter The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSoftwareUpdateFilter(writer, softwareUpdateFilter = {}, isSerializingDerivedType = false) {
    if (!softwareUpdateFilter || isSerializingDerivedType) {
        return;
    }
    serializeContentFilter(writer, softwareUpdateFilter, isSerializingDerivedType);
    switch (softwareUpdateFilter.odataType) {
        case "#microsoft.graph.windowsUpdates.driverUpdateFilter":
            serializeDriverUpdateFilter(writer, softwareUpdateFilter, true);
            break;
        case "#microsoft.graph.windowsUpdates.qualityUpdateFilter":
            serializeQualityUpdateFilter(writer, softwareUpdateFilter, true);
            break;
        case "#microsoft.graph.windowsUpdates.remediationUpdateFilter":
            serializeRemediationUpdateFilter(writer, softwareUpdateFilter, true);
            break;
        case "#microsoft.graph.windowsUpdates.windowsUpdateFilter":
            serializeWindowsUpdateFilter(writer, softwareUpdateFilter, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UpdatableAsset The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUpdatableAsset(writer, updatableAsset = {}, isSerializingDerivedType = false) {
    if (!updatableAsset || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, updatableAsset, isSerializingDerivedType);
    switch (updatableAsset.odataType) {
        case "#microsoft.graph.windowsUpdates.azureADDevice":
            serializeAzureADDevice(writer, updatableAsset, true);
            break;
        case "#microsoft.graph.windowsUpdates.updatableAssetGroup":
            serializeUpdatableAssetGroup(writer, updatableAsset, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UpdatableAssetCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUpdatableAssetCollectionResponse(writer, updatableAssetCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!updatableAssetCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, updatableAssetCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", updatableAssetCollectionResponse.value, serializeUpdatableAsset);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UpdatableAssetError The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUpdatableAssetError(writer, updatableAssetError = {}, isSerializingDerivedType = false) {
    if (!updatableAssetError || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", updatableAssetError.odataType);
    writer.writeAdditionalData(updatableAssetError.additionalData);
    switch (updatableAssetError.odataType) {
        case "#microsoft.graph.windowsUpdates.azureADDeviceRegistrationError":
            serializeAzureADDeviceRegistrationError(writer, updatableAssetError, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UpdatableAssetGroup The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUpdatableAssetGroup(writer, updatableAssetGroup = {}, isSerializingDerivedType = false) {
    if (!updatableAssetGroup || isSerializingDerivedType) {
        return;
    }
    serializeUpdatableAsset(writer, updatableAssetGroup, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("members", updatableAssetGroup.members, serializeUpdatableAsset);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UpdateCategoryEnrollmentInformation The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUpdateCategoryEnrollmentInformation(writer, updateCategoryEnrollmentInformation = {}, isSerializingDerivedType = false) {
    if (!updateCategoryEnrollmentInformation || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("enrollmentState", updateCategoryEnrollmentInformation.enrollmentState);
    writer.writeDateValue("lastModifiedDateTime", updateCategoryEnrollmentInformation.lastModifiedDateTime);
    writer.writeStringValue("@odata.type", updateCategoryEnrollmentInformation.odataType);
    writer.writeAdditionalData(updateCategoryEnrollmentInformation.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UpdateManagementEnrollment The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUpdateManagementEnrollment(writer, updateManagementEnrollment = {}, isSerializingDerivedType = false) {
    if (!updateManagementEnrollment || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("driver", updateManagementEnrollment.driver, serializeUpdateCategoryEnrollmentInformation);
    writer.writeObjectValue("feature", updateManagementEnrollment.feature, serializeUpdateCategoryEnrollmentInformation);
    writer.writeStringValue("@odata.type", updateManagementEnrollment.odataType);
    writer.writeObjectValue("quality", updateManagementEnrollment.quality, serializeUpdateCategoryEnrollmentInformation);
    writer.writeAdditionalData(updateManagementEnrollment.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UpdatePolicy The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUpdatePolicy(writer, updatePolicy = {}, isSerializingDerivedType = false) {
    if (!updatePolicy || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, updatePolicy, isSerializingDerivedType);
    writer.writeObjectValue("audience", updatePolicy.audience, serializeDeploymentAudience);
    writer.writeCollectionOfObjectValues("complianceChangeRules", updatePolicy.complianceChangeRules, serializeComplianceChangeRule);
    writer.writeCollectionOfObjectValues("complianceChanges", updatePolicy.complianceChanges, serializeComplianceChange);
    writer.writeDateValue("createdDateTime", updatePolicy.createdDateTime);
    writer.writeObjectValue("deploymentSettings", updatePolicy.deploymentSettings, serializeDeploymentSettings);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UpdatePolicyCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUpdatePolicyCollectionResponse(writer, updatePolicyCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!updatePolicyCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, updatePolicyCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", updatePolicyCollectionResponse.value, serializeUpdatePolicy);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserExperienceSettings The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserExperienceSettings(writer, userExperienceSettings = {}, isSerializingDerivedType = false) {
    if (!userExperienceSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("daysUntilForcedReboot", userExperienceSettings.daysUntilForcedReboot);
    writer.writeBooleanValue("isHotpatchEnabled", userExperienceSettings.isHotpatchEnabled);
    writer.writeStringValue("@odata.type", userExperienceSettings.odataType);
    writer.writeBooleanValue("offerAsOptional", userExperienceSettings.offerAsOptional);
    writer.writeAdditionalData(userExperienceSettings.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WindowsUpdateFilter The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWindowsUpdateFilter(writer, windowsUpdateFilter = {}, isSerializingDerivedType = false) {
    if (!windowsUpdateFilter || isSerializingDerivedType) {
        return;
    }
    serializeSoftwareUpdateFilter(writer, windowsUpdateFilter, isSerializingDerivedType);
    switch (windowsUpdateFilter.odataType) {
        case "#microsoft.graph.windowsUpdates.driverUpdateFilter":
            serializeDriverUpdateFilter(writer, windowsUpdateFilter, true);
            break;
        case "#microsoft.graph.windowsUpdates.qualityUpdateFilter":
            serializeQualityUpdateFilter(writer, windowsUpdateFilter, true);
            break;
        case "#microsoft.graph.windowsUpdates.remediationUpdateFilter":
            serializeRemediationUpdateFilter(writer, windowsUpdateFilter, true);
            break;
    }
}
export const ApprovalStatusObject = {
    Approved: "approved",
    Suspended: "suspended",
    UnknownFutureValue: "unknownFutureValue",
};
export const AzureADDeviceRegistrationErrorReasonObject = {
    InvalidGlobalDeviceId: "invalidGlobalDeviceId",
    InvalidAzureADDeviceId: "invalidAzureADDeviceId",
    MissingTrustType: "missingTrustType",
    InvalidAzureADJoin: "invalidAzureADJoin",
    UnknownFutureValue: "unknownFutureValue",
};
export const BodyTypeObject = {
    Text: "text",
    Html: "html",
    UnknownFutureValue: "unknownFutureValue",
};
export const CveSeverityLevelObject = {
    Critical: "critical",
    Important: "important",
    Moderate: "moderate",
    UnknownFutureValue: "unknownFutureValue",
};
export const DeploymentStateReasonValueObject = {
    ScheduledByOfferWindow: "scheduledByOfferWindow",
    OfferingByRequest: "offeringByRequest",
    PausedByRequest: "pausedByRequest",
    PausedByMonitoring: "pausedByMonitoring",
    UnknownFutureValue: "unknownFutureValue",
    FaultedByContentOutdated: "faultedByContentOutdated",
};
export const DeploymentStateValueObject = {
    Scheduled: "scheduled",
    Offering: "offering",
    Paused: "paused",
    Faulted: "faulted",
    Archived: "archived",
    UnknownFutureValue: "unknownFutureValue",
};
export const EnrollmentStateObject = {
    NotEnrolled: "notEnrolled",
    Enrolled: "enrolled",
    EnrolledWithPolicy: "enrolledWithPolicy",
    Enrolling: "enrolling",
    Unenrolling: "unenrolling",
    UnknownFutureValue: "unknownFutureValue",
};
export const MonitoringActionObject = {
    AlertError: "alertError",
    OfferFallback: "offerFallback",
    PauseDeployment: "pauseDeployment",
    UnknownFutureValue: "unknownFutureValue",
};
export const MonitoringSignalObject = {
    Rollback: "rollback",
    Ineligible: "ineligible",
    UnknownFutureValue: "unknownFutureValue",
};
export const QualityUpdateCadenceObject = {
    Monthly: "monthly",
    OutOfBand: "outOfBand",
    UnknownFutureValue: "unknownFutureValue",
};
export const QualityUpdateClassificationObject = {
    All: "all",
    Security: "security",
    NonSecurity: "nonSecurity",
    UnknownFutureValue: "unknownFutureValue",
};
export const RemediationTypeObject = {
    InPlaceUpgrade: "inPlaceUpgrade",
    UnknownFutureValue: "unknownFutureValue",
};
export const RequestedDeploymentStateValueObject = {
    None: "none",
    Paused: "paused",
    Archived: "archived",
    UnknownFutureValue: "unknownFutureValue",
};
export const ResourceConnectionStateObject = {
    Connected: "connected",
    NotAuthorized: "notAuthorized",
    NotFound: "notFound",
    UnknownFutureValue: "unknownFutureValue",
};
export const SafeguardCategoryObject = {
    LikelyIssues: "likelyIssues",
    UnknownFutureValue: "unknownFutureValue",
};
export const UpdateCategoryObject = {
    Feature: "feature",
    Quality: "quality",
    UnknownFutureValue: "unknownFutureValue",
    Driver: "driver",
};
export const WindowsReleaseHealthStatusObject = {
    Resolved: "resolved",
    MitigatedExternal: "mitigatedExternal",
    Mitigated: "mitigated",
    ResolvedExternal: "resolvedExternal",
    Confirmed: "confirmed",
    Reported: "reported",
    Investigating: "investigating",
    UnknownFutureValue: "unknownFutureValue",
};
/* tslint:enable */
/* eslint-enable */
//# sourceMappingURL=index.js.map