/**
* The LocalBgpGateway model module.
* @module Ntnx/LocalBgpGateway
* @version 4.4.1
* @class LocalBgpGateway
*
* @param { Number } asn ASN number of the BGP gateway.
*
* @param { GatewayNic[] } vnicList
*
* @param { Number } vnicIpPrefixLength Prefix length of the VNIC IP addresses of the local BGP gateways.
*/
export default class LocalBgpGateway {
/**
* Constructs a LocalBgpGateway 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/LocalBgpGateway} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/LocalBgpGateway} The populated LocalBgpGateway 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 LocalBgpGateway.
* Local BGP gateway info needed for flow gateway scale out model.
* @alias module:Ntnx/LocalBgpGateway
*
* @param { Number } asn ASN number of the BGP gateway.
*
* @param { GatewayNic[] } vnicList
*
* @param { Number } vnicIpPrefixLength Prefix length of the VNIC IP addresses of the local BGP gateways.
*/
constructor(asn: number, vnicList: GatewayNic[], vnicIpPrefixLength: number);
asn: number;
vnicList: GatewayNic[];
vnicIpPrefixLength: number;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* Returns ASN number of the BGP gateway.
* @return {Number}
*/
getAsn(): number;
/**
* Sets ASN number of the BGP gateway.
* @param {Number} asn ASN number of the BGP gateway.
*/
setAsn(asn: number): void;
/**
* @return {GatewayNic[]}
*/
getVnicList(): GatewayNic[];
/**
* @param {GatewayNic[]} vnicList
*/
setVnicList(vnicList: GatewayNic[]): void;
/**
* Returns Prefix length of the VNIC IP addresses of the local BGP gateways.
* @return {Number}
*/
getVnicIpPrefixLength(): number;
/**
* Sets Prefix length of the VNIC IP addresses of the local BGP gateways.
* @param {Number} vnicIpPrefixLength Prefix length of the VNIC IP addresses of the local BGP gateways.
*/
setVnicIpPrefixLength(vnicIpPrefixLength: number): void;
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 GatewayNic from "./GatewayNic";
import ValidationError from "../../../validation/ValidationError";