"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.maintenancePolicyToJSON = exports.maintenancePolicyFromJSON = exports.MaintenancePolicy = exports.protobufPackage = void 0;
/* eslint-disable */
const long_1 = __importDefault(require("long"));
const minimal_1 = __importDefault(require("protobufjs/minimal"));
exports.protobufPackage = 'yandex.cloud.compute.v1';
var MaintenancePolicy;
(function (MaintenancePolicy) {
    MaintenancePolicy[MaintenancePolicy["MAINTENANCE_POLICY_UNSPECIFIED"] = 0] = "MAINTENANCE_POLICY_UNSPECIFIED";
    /** RESTART - Restart instance to move it to another host during maintenance */
    MaintenancePolicy[MaintenancePolicy["RESTART"] = 1] = "RESTART";
    /** MIGRATE - Use live migration to move instance to another host during maintenance */
    MaintenancePolicy[MaintenancePolicy["MIGRATE"] = 2] = "MIGRATE";
    MaintenancePolicy[MaintenancePolicy["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(MaintenancePolicy = exports.MaintenancePolicy || (exports.MaintenancePolicy = {}));
function maintenancePolicyFromJSON(object) {
    switch (object) {
        case 0:
        case 'MAINTENANCE_POLICY_UNSPECIFIED':
            return MaintenancePolicy.MAINTENANCE_POLICY_UNSPECIFIED;
        case 1:
        case 'RESTART':
            return MaintenancePolicy.RESTART;
        case 2:
        case 'MIGRATE':
            return MaintenancePolicy.MIGRATE;
        case -1:
        case 'UNRECOGNIZED':
        default:
            return MaintenancePolicy.UNRECOGNIZED;
    }
}
exports.maintenancePolicyFromJSON = maintenancePolicyFromJSON;
function maintenancePolicyToJSON(object) {
    switch (object) {
        case MaintenancePolicy.MAINTENANCE_POLICY_UNSPECIFIED:
            return 'MAINTENANCE_POLICY_UNSPECIFIED';
        case MaintenancePolicy.RESTART:
            return 'RESTART';
        case MaintenancePolicy.MIGRATE:
            return 'MIGRATE';
        default:
            return 'UNKNOWN';
    }
}
exports.maintenancePolicyToJSON = maintenancePolicyToJSON;
if (minimal_1.default.util.Long !== long_1.default) {
    minimal_1.default.util.Long = long_1.default;
    minimal_1.default.configure();
}
