Base class for backup container.
Inheritance: ContainerContext
示例#1
0
        public List <CrrModel.ProtectedItemResource> ListProtectedItemsByContainerCrr(
            string vaultName,
            string resourceGroupName,
            CmdletModel.ContainerBase container,
            CmdletModel.PolicyBase policy,
            string backupManagementType,
            string dataSourceType)
        {
            string skipToken = null;

            // fetching backup items from secondary region
            ODataQuery <CrrModel.ProtectedItemQueryObject> queryParamsCrr = policy != null ?
                                                                            new ODataQuery <CrrModel.ProtectedItemQueryObject>(
                q => q.BackupManagementType
                == backupManagementType &&
                q.ItemType == dataSourceType &&
                q.PolicyName == policy.Name) :
                                                                            new ODataQuery <CrrModel.ProtectedItemQueryObject>(
                q => q.BackupManagementType
                == backupManagementType &&
                q.ItemType == dataSourceType);

            List <CrrModel.ProtectedItemResource> protectedItemsCrr = new List <CrrModel.ProtectedItemResource>();

            var listResponse = ServiceClientAdapter.ListProtectedItemCrr(
                queryParamsCrr,
                skipToken,
                vaultName: vaultName,
                resourceGroupName: resourceGroupName);

            protectedItemsCrr.AddRange(listResponse);

            // return Crr Items when CRR
            if (container != null)
            {
                protectedItemsCrr = protectedItemsCrr.Where(protectedItem =>
                {
                    Dictionary <CmdletModel.UriEnums, string> dictionary = HelperUtils.ParseUri(protectedItem.Id);
                    string containerUri = HelperUtils.GetContainerUri(dictionary, protectedItem.Id);

                    var delimIndex       = containerUri.IndexOf(';');
                    string containerName = null;
                    if (string.Compare(protectedItem.Properties.BackupManagementType, ServiceClientModel.BackupManagementType.AzureWorkload) == 0)
                    {
                        containerName = containerUri;
                    }
                    else
                    {
                        containerName = containerUri.Substring(delimIndex + 1);
                    }

                    return(containerName.ToLower().Equals(container.Name.ToLower()));
                }).ToList();
            }

            return(protectedItemsCrr);
        }
        public List <ProtectedItemResource> ListProtectedItemsByContainer(
            string vaultName,
            string resourceGroupName,
            CmdletModel.ContainerBase container,
            CmdletModel.PolicyBase policy,
            string backupManagementType,
            string dataSourceType)
        {
            ODataQuery <ProtectedItemQueryObject> queryParams = policy != null ?
                                                                new ODataQuery <ProtectedItemQueryObject>(
                q => q.BackupManagementType
                == backupManagementType &&
                q.ItemType == dataSourceType &&
                q.PolicyName == policy.Name) :
                                                                new ODataQuery <ProtectedItemQueryObject>(
                q => q.BackupManagementType
                == backupManagementType &&
                q.ItemType == dataSourceType);

            List <ProtectedItemResource> protectedItems = new List <ProtectedItemResource>();
            string skipToken    = null;
            var    listResponse = ServiceClientAdapter.ListProtectedItem(
                queryParams,
                skipToken,
                vaultName: vaultName,
                resourceGroupName: resourceGroupName);

            protectedItems.AddRange(listResponse);

            if (container != null)
            {
                protectedItems = protectedItems.Where(protectedItem =>
                {
                    Dictionary <CmdletModel.UriEnums, string> dictionary = HelperUtils.ParseUri(protectedItem.Id);
                    string containerUri = HelperUtils.GetContainerUri(dictionary, protectedItem.Id);

                    var delimIndex       = containerUri.IndexOf(';');
                    string containerName = containerUri.Substring(delimIndex + 1);
                    return(containerName.ToLower().Equals(container.Name.ToLower()));
                }).ToList();
            }

            return(protectedItems);
        }