/**
* The Cluster model module.
* @module Ntnx/Cluster
* @version 4.4.1
* @class Cluster
*
* @param { string } extId Reference ExtId for the cluster. This is a required parameter on Prism Element ; and is optional on Prism Central
*
* @param { Host[] } hosts Host configuration array
*/
export default class Cluster {
/**
* Constructs a Cluster 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/Cluster} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/Cluster} The populated Cluster 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 Cluster.
* Input body to configure cluster
* @alias module:Ntnx/Cluster
*
* @param { string } extId Reference ExtId for the cluster. This is a required parameter on Prism Element ; and is optional on Prism Central
*
* @param { Host[] } hosts Host configuration array
*/
constructor(extId: string, hosts: Host[]);
extId: string;
hosts: Host[];
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* Returns Reference ExtId for the cluster. This is a required parameter on Prism Element ; and is optional on Prism Central
* @return {string}
*/
getExtId(): string;
/**
* Sets Reference ExtId for the cluster. This is a required parameter on Prism Element ; and is optional on Prism Central
* @param {string} extId Reference ExtId for the cluster. This is a required parameter on Prism Element ; and is optional on Prism Central
*/
setExtId(extId: string): void;
/**
* Returns Host configuration array
* @return {Host[]}
*/
getHosts(): Host[];
/**
* Sets Host configuration array
* @param {Host[]} hosts Host configuration array
*/
setHosts(hosts: Host[]): void;
/**
* @return {IPv4Address}
*/
getGatewayIpAddress(): IPv4Address;
/**
* @param {IPv4Address} gatewayIpAddress
*/
setGatewayIpAddress(gatewayIpAddress: IPv4Address): void;
gatewayIpAddress: IPv4Address;
/**
* Returns VLAN Identifier for this virtual switch cluster; set to 0 to remove VLAN tagging.
* minimum: 0
* maximum: 4095
* @return {Number}
*/
getVlanIdentifier(): number;
/**
* Sets VLAN Identifier for this virtual switch cluster; set to 0 to remove VLAN tagging.
* @param {Number} vlanIdentifier VLAN Identifier for this virtual switch cluster; set to 0 to remove VLAN tagging.
*/
setVlanIdentifier(vlanIdentifier: number): void;
vlanIdentifier: number;
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 Host from "./Host";
import IPv4Address from "../../../common/v1/config/IPv4Address";
import ValidationError from "../../../validation/ValidationError";