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
privateconfigureReplicationToVc(objVRVcRemoteSite:VRVcRemoteSite,objVcVirtualMachine:VcVirtualMachine,objVRRemoteDatastore:VRRemoteDatastore,objVRDiskType:VRDiskType,objVRStorageProfile:VRStorageProfile,objVSphereReplicationConfig:VSphereReplicationConfig){
letobjVRReplicationSettings:VRReplicationSettings=newVRReplicationSettings();
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){
letobjVRRetentionPolicyTier:VRRetentionPolicyTier=newVRRetentionPolicyTier();
objVRRetentionPolicyTier.granularityMinutes=Math.floor((24/objVSphereReplicationConfig.instancesPerDay)*60);
objVRRetentionPolicyTier.numSlots=objVSphereReplicationConfig.numDays*objVSphereReplicationConfig.instancesPerDay;
objVRReplicationSettings.retentionPolicyTiers= [objVRRetentionPolicyTier];
}
returnobjVRVcRemoteSite.configureReplicationTo(objVcVirtualMachine.id,objVRReplicationSettings);
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
