/**
* The RoutingPolicyRule model module.
* @module Ntnx/RoutingPolicyRule
* @version 4.4.1
* @class RoutingPolicyRule
*
* @param { RoutingPolicyMatchCondition } policyMatch
*
* @param { RoutingPolicyAction } policyAction
*/
export default class RoutingPolicyRule {
/**
* Constructs a RoutingPolicyRule 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/RoutingPolicyRule} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/RoutingPolicyRule} The populated RoutingPolicyRule 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 RoutingPolicyRule.
* Policy indicating the match rule and the action.
* @alias module:Ntnx/RoutingPolicyRule
*
* @param { RoutingPolicyMatchCondition } policyMatch
*
* @param { RoutingPolicyAction } policyAction
*/
constructor(policyMatch: RoutingPolicyMatchCondition, policyAction: RoutingPolicyAction);
policyMatch: RoutingPolicyMatchCondition;
policyAction: RoutingPolicyAction;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* @return {RoutingPolicyMatchCondition}
*/
getPolicyMatch(): RoutingPolicyMatchCondition;
/**
* @param {RoutingPolicyMatchCondition} policyMatch
*/
setPolicyMatch(policyMatch: RoutingPolicyMatchCondition): void;
/**
* @return {RoutingPolicyAction}
*/
getPolicyAction(): RoutingPolicyAction;
/**
* @param {RoutingPolicyAction} policyAction
*/
setPolicyAction(policyAction: RoutingPolicyAction): void;
/**
* Returns If True, policies in the reverse direction will be installed with the same action but source and destination will be swapped.
* @return {boolean}
*/
getIsBidirectional(): boolean;
/**
* Sets If True, policies in the reverse direction will be installed with the same action but source and destination will be swapped.
* @param {boolean} isBidirectional If True, policies in the reverse direction will be installed with the same action but source and destination will be swapped.
*/
setIsBidirectional(isBidirectional: boolean): void;
isBidirectional: boolean;
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 RoutingPolicyMatchCondition from "./RoutingPolicyMatchCondition";
import RoutingPolicyAction from "./RoutingPolicyAction";
import ValidationError from "../../../validation/ValidationError";