/**
* The LoadBalancerAccessInterface model module.
* @module Ntnx/LoadBalancerAccessInterface
* @version 4.3.1
* @class LoadBalancerAccessInterface
*
* @param { string } subnet Subnet configuration of the load balancer.
*
* @param { string } network Network identifier of the load balancer.
*/
export default class LoadBalancerAccessInterface {
/**
* Constructs a LoadBalancerAccessInterface 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/LoadBalancerAccessInterface} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/LoadBalancerAccessInterface} The populated LoadBalancerAccessInterface 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 LoadBalancerAccessInterface.
* An access interface is a user's notion of a named load balancer network. It abstracts out the network details from developers and service deployers (dev-ops). The name should be something that defines the positioning of the load balancer in the data center. e.g. \"corp\", \"wan\", \"dc\", \"it\", \"it-hr\". Currently in a given subdomain - the interface should be unique - which greatly simplifies what the service deployer has to specify to expose the service. A single load balancer defines one or more interfaces at load balancer creation time.
* @alias module:Ntnx/LoadBalancerAccessInterface
*
* @param { string } subnet Subnet configuration of the load balancer.
*
* @param { string } network Network identifier of the load balancer.
*/
constructor(subnet: string, network: string);
subnet: string;
network: string;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* Returns CIDR (Classless Inter-Domain Routing) address of the load balancer.
* @return {string}
*/
getCidr(): string;
/**
* Sets CIDR (Classless Inter-Domain Routing) address of the load balancer.
* @param {string} cidr CIDR (Classless Inter-Domain Routing) address of the load balancer.
*/
setCidr(cidr: string): void;
cidr: string;
/**
* Returns Access Interface IPs of the load balancer.
* @return {IPv4Address[]}
*/
getIps(): IPv4Address[];
/**
* Sets Access Interface IPs of the load balancer.
* @param {IPv4Address[]} ips Access Interface IPs of the load balancer.
*/
setIps(ips: IPv4Address[]): void;
ips: IPv4Address[];
/**
* Returns Subnet configuration of the load balancer.
* @return {string}
*/
getSubnet(): string;
/**
* Sets Subnet configuration of the load balancer.
* @param {string} subnet Subnet configuration of the load balancer.
*/
setSubnet(subnet: string): void;
/**
* Returns Network identifier of the load balancer.
* @return {string}
*/
getNetwork(): string;
/**
* Sets Network identifier of the load balancer.
* @param {string} network Network identifier of the load balancer.
*/
setNetwork(network: string): 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 IPv4Address from "../../../common/v1/config/IPv4Address";
import ValidationError from "../../../validation/ValidationError";