To use this function add it to the class library file named OrchestratorService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: OrchestratorService.ts
Description: Orchestrator Function to Configure vSphere Replication for vCenter Virtual Machine
Private Function: configureReplicationToVc
private configureReplicationToVc(objVRVcRemoteSite: VRVcRemoteSite, objVcVirtualMachine: VcVirtualMachine, objVRRemoteDatastore: VRRemoteDatastore, objVRDiskType: VRDiskType, objVRStorageProfile: VRStorageProfile, objVSphereReplicationConfig: VSphereReplicationConfig) {
let objVRReplicationSettings: VRReplicationSettings = new VRReplicationSettings();
objVRReplicationSettings.name = objVcVirtualMachine.name;
objVRReplicationSettings.perDiskEnabled = objVSphereReplicationConfig.perDiskEnabled
objVRReplicationSettings.includedDisks = [];
objVRReplicationSettings.excludedDisks = [];
objVRReplicationSettings.remoteDatastore = objVRRemoteDatastore;
objVRReplicationSettings.remoteDatastores = [];
objVRReplicationSettings.diskType = objVRDiskType;
objVRReplicationSettings.diskTypes = [];
objVRReplicationSettings.storageProfile = objVRStorageProfile
objVRReplicationSettings.storageProfiles = [];
objVRReplicationSettings.autoReplicateNewDisks = objVSphereReplicationConfig.autoReplicateNewDisks
objVRReplicationSettings.encryptionEnabled = objVSphereReplicationConfig.encryptionEnabled
objVRReplicationSettings.useDefaultSeed = objVSphereReplicationConfig.useDefaultSeed
objVRReplicationSettings.rpo = objVSphereReplicationConfig.rpo
objVRReplicationSettings.quiesceGuestEnabled = objVSphereReplicationConfig.quiesceGuestEnabled
objVRReplicationSettings.networkCompressionEnabled = objVSphereReplicationConfig.networkCompressionEnabled
objVRReplicationSettings.dataSetsReplicationEnabled = objVSphereReplicationConfig.dataSetsReplicationEnabled
objVRReplicationSettings.includeAllDisks = objVSphereReplicationConfig.includeAllDisks
if (objVSphereReplicationConfig.enableMPIT) {
let objVRRetentionPolicyTier: VRRetentionPolicyTier = new VRRetentionPolicyTier();
objVRRetentionPolicyTier.granularityMinutes = Math.floor((24 / objVSphereReplicationConfig.instancesPerDay) * 60);
objVRRetentionPolicyTier.numSlots = objVSphereReplicationConfig.numDays * objVSphereReplicationConfig.instancesPerDay;
objVRReplicationSettings.retentionPolicyTiers = [objVRRetentionPolicyTier];
}
return objVRVcRemoteSite.configureReplicationTo(objVcVirtualMachine.id, objVRReplicationSettings);
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
