/**
* The NetworkGroup model module.
* @module Ntnx/NetworkGroup
* @version 4.3.1
* @class NetworkGroup
*
* @param { string } name Name of the network group
*
* @param { NetworkGroupType } type
*/
export default class NetworkGroup {
/**
* Constructs a NetworkGroup 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/NetworkGroup} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/NetworkGroup} The populated NetworkGroup 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 NetworkGroup.
* A network group that defines network segmentation with VLANs and physical port mappings
* @alias module:Ntnx/NetworkGroup
*
* @param { string } name Name of the network group
*
* @param { NetworkGroupType } type
*/
constructor(name: string, type: NetworkGroupType);
name: string;
type: string;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* Returns Name of the network group
* @return {string}
*/
getName(): string;
/**
* Sets Name of the network group
* @param {string} name Name of the network group
*/
setName(name: string): void;
/**
* @return {NetworkGroupType}
*/
getType(): NetworkGroupType;
/**
* @param {NetworkGroupType} type
*/
setType(type: NetworkGroupType): void;
/**
* Returns Maximum Transmission Unit (MTU) size for the network group
* minimum: 1280
* maximum: 9000
* @return {Number}
*/
getMtuBytes(): number;
/**
* Sets Maximum Transmission Unit (MTU) size for the network group
* @param {Number} mtuBytes Maximum Transmission Unit (MTU) size for the network group
*/
setMtuBytes(mtuBytes: number): void;
mtuBytes: number;
/**
* Returns VLAN IDs or VLAN ranges assigned to the network group (e.g., '100' or '100-200')
* @return {VlanInfo[]}
*/
getVlans(): VlanInfo[];
/**
* Sets VLAN IDs or VLAN ranges assigned to the network group (e.g., '100' or '100-200')
* @param {VlanInfo[]} vlans VLAN IDs or VLAN ranges assigned to the network group (e.g., '100' or '100-200')
*/
setVlans(vlans: VlanInfo[]): void;
vlans: VlanInfo[];
/**
* Returns List of physical port mappings by MAC address
* @return {PortMapping[]}
*/
getPortMappings(): PortMapping[];
/**
* Sets List of physical port mappings by MAC address
* @param {PortMapping[]} portMappings List of physical port mappings by MAC address
*/
setPortMappings(portMappings: PortMapping[]): void;
portMappings: PortMapping[];
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 NetworkGroupType from "./NetworkGroupType";
import VlanInfo from "./VlanInfo";
import PortMapping from "./PortMapping";
import ValidationError from "../../../validation/ValidationError";