/** * The ProtectionPolicy model module. * @module Ntnx/ProtectionPolicy * @version 4.3.1 * @class ProtectionPolicy * @extends ExternalizableAbstractModel * * @param { string } name Name of the protection policy. * * @param { ReplicationLocation[] } replicationLocations Indicates all the locations participating in the protection policy. You can specify up to 3 replication locations. * * @param { ReplicationConfiguration[] } replicationConfigurations Specifies the connections between various replication locations and its schedule. Connections from both source-to-target and target-to-source should be specified. */ export default class ProtectionPolicy extends ExternalizableAbstractModel { /** * Constructs a new ProtectionPolicy. * A protection policy automates the process of creating and replicating recovery points. When a protection policy is configured to create local recovery points, the request includes:<br> - The recovery point objective<br> - The retention policy<br> - The entities that need to be protected by specifying the categories in which they are tagged.<br> To automate recovery point replication, you can also specify the replication location(s). Only users with legacy roles, such as admin, can create a Cross-AZ protection policy. * @alias module:Ntnx/ProtectionPolicy * @extends module:Ntnx/ExternalizableAbstractModel * * @param { string } name Name of the protection policy. * * @param { ReplicationLocation[] } replicationLocations Indicates all the locations participating in the protection policy. You can specify up to 3 replication locations. * * @param { ReplicationConfiguration[] } replicationConfigurations Specifies the connections between various replication locations and its schedule. Connections from both source-to-target and target-to-source should be specified. */ constructor(name: string, replicationLocations: ReplicationLocation[], replicationConfigurations: ReplicationConfiguration[]); name: string; replicationLocations: ReplicationLocation[]; replicationConfigurations: ReplicationConfiguration[]; /** * Returns Name of the protection policy. * @return {string} */ getName(): string; /** * Sets Name of the protection policy. * @param {string} name Name of the protection policy. */ setName(name: string): void; /** * Returns Description of the protection policy. * @return {string} */ getDescription(): string; /** * Sets Description of the protection policy. * @param {string} description Description of the protection policy. */ setDescription(description: string): void; description: string; /** * Returns Indicates all the locations participating in the protection policy. You can specify up to 3 replication locations. * @return {ReplicationLocation[]} */ getReplicationLocations(): ReplicationLocation[]; /** * Sets Indicates all the locations participating in the protection policy. You can specify up to 3 replication locations. * @param {ReplicationLocation[]} replicationLocations Indicates all the locations participating in the protection policy. You can specify up to 3 replication locations. */ setReplicationLocations(replicationLocations: ReplicationLocation[]): void; /** * Returns Specifies the connections between various replication locations and its schedule. Connections from both source-to-target and target-to-source should be specified. * @return {ReplicationConfiguration[]} */ getReplicationConfigurations(): ReplicationConfiguration[]; /** * Sets Specifies the connections between various replication locations and its schedule. Connections from both source-to-target and target-to-source should be specified. * @param {ReplicationConfiguration[]} replicationConfigurations Specifies the connections between various replication locations and its schedule. Connections from both source-to-target and target-to-source should be specified. */ setReplicationConfigurations(replicationConfigurations: ReplicationConfiguration[]): void; /** * Returns Specifies the list of external identifiers of categories that must be added to the protection policy. This policy will protect any VM or volume group associated with this category. * @return {string[]} */ getCategoryIds(): string[]; /** * Sets Specifies the list of external identifiers of categories that must be added to the protection policy. This policy will protect any VM or volume group associated with this category. * @param {string[]} categoryIds Specifies the list of external identifiers of categories that must be added to the protection policy. This policy will protect any VM or volume group associated with this category. */ setCategoryIds(categoryIds: string[]): void; categoryIds: string[]; /** * Returns Manual deletion of recovery points created by this policy can be driven through a multi-party authorization workflow. Hence, multiple approvers would be required to grant approvals for the delete operation. * @return {boolean} */ getIsApprovalPolicyNeeded(): boolean; /** * Sets Manual deletion of recovery points created by this policy can be driven through a multi-party authorization workflow. Hence, multiple approvers would be required to grant approvals for the delete operation. * @param {boolean} isApprovalPolicyNeeded Manual deletion of recovery points created by this policy can be driven through a multi-party authorization workflow. Hence, multiple approvers would be required to grant approvals for the delete operation. */ setIsApprovalPolicyNeeded(isApprovalPolicyNeeded: boolean): void; isApprovalPolicyNeeded: boolean; /** * Returns External identifier of the owner of the protection policy. * @return {string} */ getOwnerExtId(): string; /** * Sets External identifier of the owner of the protection policy. * @param {string} ownerExtId External identifier of the owner of the protection policy. */ setOwnerExtId(ownerExtId: string): void; ownerExtId: string; #private; } import ExternalizableAbstractModel from "../../../common/v1/response/ExternalizableAbstractModel"; import ReplicationLocation from "./ReplicationLocation"; import ReplicationConfiguration from "./ReplicationConfiguration";