/**
* The InventorySpec model module.
* @module Ntnx/InventorySpec
* @version 4.3.1
* @class InventorySpec
*/
export default class InventorySpec {
/**
* Constructs a InventorySpec 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/InventorySpec} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/InventorySpec} The populated InventorySpec 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;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* Returns Credentials to be provided by the user for LCM operations that require authentication with external systems such as vCenter or Intersight.
* @return {Credential[]}
*/
getCredentials(): Credential[];
/**
* Sets Credentials to be provided by the user for LCM operations that require authentication with external systems such as vCenter or Intersight.
* @param {Credential[]} credentials Credentials to be provided by the user for LCM operations that require authentication with external systems such as vCenter or Intersight.
*/
setCredentials(credentials: Credential[]): void;
credentials: Credential[];
/**
* @return {InventoryType}
*/
getInventoryType(): InventoryType;
/**
* @param {InventoryType} inventoryType
*/
setInventoryType(inventoryType: InventoryType): void;
inventoryType: string;
/**
* Returns List of node UUIDs to inventory. Required when inventoryType is set to NODE; ignored for other inventory types.
* @return {string[]}
*/
getNodeList(): string[];
/**
* Sets List of node UUIDs to inventory. Required when inventoryType is set to NODE; ignored for other inventory types.
* @param {string[]} nodeList List of node UUIDs to inventory. Required when inventoryType is set to NODE; ignored for other inventory types.
*/
setNodeList(nodeList: string[]): void;
nodeList: string[];
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 Credential from "../common/Credential";
import InventoryType from "./InventoryType";
import ValidationError from "../../../validation/ValidationError";