Microsoft.Azure.Commands.SiteRecovery.GetAzureRmSiteRecoveryProtectionContainer.WriteProtectionContainer C# (CSharp) Method

WriteProtectionContainer() private method

Write Protection Container.
private WriteProtectionContainer ( Microsoft.Azure.Management.SiteRecovery.Models.ProtectionContainer protectionContainer ) : void
protectionContainer Microsoft.Azure.Management.SiteRecovery.Models.ProtectionContainer Protection Container
return void
        private void WriteProtectionContainer(ProtectionContainer protectionContainer)
        {
            List<ASRPolicy> availablePolicies = new List<ASRPolicy>();
            List<ASRProtectionContainerMapping> asrProtectionContainerMappings = new List<ASRProtectionContainerMapping>();

            ProtectionContainerMappingListResponse protectionContainerMappingListResponse = RecoveryServicesClient.GetAzureSiteRecoveryProtectionContainerMapping(
                Utilities.GetValueFromArmId(protectionContainer.Id, ARMResourceTypeConstants.ReplicationFabrics), protectionContainer.Name);
            asrProtectionContainerMappings = protectionContainerMappingListResponse.ProtectionContainerMappings.Select(pcm => new ASRProtectionContainerMapping(pcm)).ToList();

            foreach (ProtectionContainerMapping protectionContainerMapping in protectionContainerMappingListResponse.ProtectionContainerMappings)
            {
                PolicyResponse policyResponse = RecoveryServicesClient.GetAzureSiteRecoveryPolicy(
                    Utilities.GetValueFromArmId(protectionContainerMapping.Properties.PolicyId, ARMResourceTypeConstants.ReplicationPolicies));
                availablePolicies.Add(new ASRPolicy(policyResponse.Policy));
            }

            this.WriteObject(new ASRProtectionContainer(protectionContainer, availablePolicies.Distinct().ToList(), asrProtectionContainerMappings));
        }
    }