/**
* The FailoverRequest model module.
* @module Ntnx/FailoverRequest
* @version 4.3.1
* @class FailoverRequest
*
* @param { FailoverType } failoverType
*
* @param { ClusterTarget } replicationTargetCluster
*/
export default class FailoverRequest {
/**
* Constructs a FailoverRequest 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/FailoverRequest} obj Optional instance to populate.
* @param callFromChild {Boolean} Flag to recognise calling instance
* @return {module:Ntnx/FailoverRequest} The populated FailoverRequest 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 FailoverRequest.
* Payload model used to initiate a failover operation on a protection policy.
* @alias module:Ntnx/FailoverRequest
*
* @param { FailoverType } failoverType
*
* @param { ClusterTarget } replicationTargetCluster
*/
constructor(failoverType: FailoverType, replicationTargetCluster: ClusterTarget);
failoverType: string;
replicationTargetCluster: ClusterTarget;
$objectType: string;
/** @type {object} */
$reserved: object;
/** @type {object} */
$unknownFields: object;
/**
* @return {FailoverType}
*/
getFailoverType(): FailoverType;
/**
* @param {FailoverType} failoverType
*/
setFailoverType(failoverType: FailoverType): void;
/**
* @return {ClusterTarget}
*/
getReplicationTargetCluster(): ClusterTarget;
/**
* @param {ClusterTarget} replicationTargetCluster
*/
setReplicationTargetCluster(replicationTargetCluster: ClusterTarget): void;
/**
* Returns Action to execute before the failover procedure starts.
* @return {PrePostAction[]}
*/
getPreFailoverAction(): PrePostAction[];
/**
* Sets Action to execute before the failover procedure starts.
* @param {PrePostAction[]} preFailoverAction Action to execute before the failover procedure starts.
*/
setPreFailoverAction(preFailoverAction: PrePostAction[]): void;
preFailoverAction: PrePostAction[];
/**
* Returns Action to execute after the failover procedure completes.
* @return {PrePostAction[]}
*/
getPostFailoverAction(): PrePostAction[];
/**
* Sets Action to execute after the failover procedure completes.
* @param {PrePostAction[]} postFailoverAction Action to execute after the failover procedure completes.
*/
setPostFailoverAction(postFailoverAction: PrePostAction[]): void;
postFailoverAction: PrePostAction[];
/**
* Returns Name of the snapshot to fail over to (async replication only).
* @return {string}
*/
getSnapshotName(): string;
/**
* Sets Name of the snapshot to fail over to (async replication only).
* @param {string} snapshotName Name of the snapshot to fail over to (async replication only).
*/
setSnapshotName(snapshotName: string): void;
snapshotName: string;
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 ClusterTarget from "./ClusterTarget";
import FailoverType from "./FailoverType";
import PrePostAction from "./PrePostAction";
import ValidationError from "../../../validation/ValidationError";