/**
* The PrechecksSpec model module.
* @module Ntnx/PrechecksSpec
* @version 4.3.1
* @class PrechecksSpec
*
* @param { EntityUpdateSpec[] } entityUpdateSpecs List of entity update specifications (entity UUID and target version pairs) for which to compute recommendations.
*/
export default class PrechecksSpec {
/**
* Constructs a PrechecksSpec from a plain JavaScript object, optionally creating a new instance.
* Copies all relevant properties from data to obj if supplied or a new instance if not.
* @param {Object} data The plain JavaScript object bearing properties of interest.
* @param {module:Ntnx/PrechecksSpec} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/PrechecksSpec} The populated PrechecksSpec instance.
*/
static constructFromObject(data: any, obj?: any, callFromChild?: boolean): any;
/**
* Converts a given snake_case string to camelCase.
* @param {string} snakeStr - The input string in snake_case format.
* @returns {string} - The converted string in camelCase format.
*/
static snakeToCamel(snakeStr: string): string;
/**
* Constructs a new PrechecksSpec.
* Specification for running a prechecks operation. Contains the list of entityUpdateSpecs (entity UUID and target version pairs) describing the intended upgrade, optional management server credentials for ESX/Hyper-V clusters, optional flags to skip specific prechecks (e.g. pinned-VM check), and optional vendor management credentials for third-party hardware.
* @alias module:Ntnx/PrechecksSpec
*
* @param { EntityUpdateSpec[] } entityUpdateSpecs List of entity update specifications (entity UUID and target version pairs) for which to compute recommendations.
*/
constructor(entityUpdateSpecs: EntityUpdateSpec[]);
entityUpdateSpecs: EntityUpdateSpec[];
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* @return {ManagementServer}
*/
getManagementServer(): ManagementServer;
/**
* @param {ManagementServer} managementServer
*/
setManagementServer(managementServer: ManagementServer): void;
managementServer: ManagementServer;
/**
* Returns List of entity update specifications (entity UUID and target version pairs) for which to compute recommendations.
* @return {EntityUpdateSpec[]}
*/
getEntityUpdateSpecs(): EntityUpdateSpec[];
/**
* Sets List of entity update specifications (entity UUID and target version pairs) for which to compute recommendations.
* @param {EntityUpdateSpec[]} entityUpdateSpecs List of entity update specifications (entity UUID and target version pairs) for which to compute recommendations.
*/
setEntityUpdateSpecs(entityUpdateSpecs: EntityUpdateSpec[]): void;
/**
* Returns List of precheck flags to skip during the prechecks operation. The allowed value is 'POWER_OFF_UVMS' which skips the pinned-VM precheck that verifies all VMs can be migrated off a host before it enters maintenance mode.
* @return {SystemAutoMgmtFlag[]}
*/
getSkippedPrecheckFlags(): SystemAutoMgmtFlag[];
/**
* Sets List of precheck flags to skip during the prechecks operation. The allowed value is 'POWER_OFF_UVMS' which skips the pinned-VM precheck that verifies all VMs can be migrated off a host before it enters maintenance mode.
* @param {SystemAutoMgmtFlag[]} skippedPrecheckFlags List of precheck flags to skip during the prechecks operation. The allowed value is 'POWER_OFF_UVMS' which skips the pinned-VM precheck that verifies all VMs can be migrated off a host before it enters maintenance mode.
*/
setSkippedPrecheckFlags(skippedPrecheckFlags: SystemAutoMgmtFlag[]): void;
skippedPrecheckFlags: string[];
/**
* @return {Credential[]}
*/
getCredentials(): Credential[];
/**
* @param {Credential[]} credentials
*/
setCredentials(credentials: Credential[]): void;
credentials: Credential[];
get$Reserved(): any;
get$ObjectType(): string;
get$UnknownFields(): any;
toJson(forMutation: any): any;
validate(scope: any, properties: any, ...args: any[]): Promise;
validateProperty(scope: any, property: any): ValidationError;
#private;
}
import EntityUpdateSpec from "./EntityUpdateSpec";
import ManagementServer from "./ManagementServer";
import SystemAutoMgmtFlag from "./SystemAutoMgmtFlag";
import Credential from "./Credential";
import ValidationError from "../../../validation/ValidationError";