Apprenda.SaaSGrid.Addons.NetApp.DeveloperParameters.LoadItemsFromManifest C# (CSharp) Method

LoadItemsFromManifest() public static method

public static LoadItemsFromManifest ( DeveloperParameters parameters, AddonManifest manifest ) : DeveloperParameters
parameters DeveloperParameters
manifest AddonManifest
return DeveloperParameters
        public static DeveloperParameters LoadItemsFromManifest(DeveloperParameters parameters, AddonManifest manifest)
        {
            try
            {
                var manifestProperties = manifest.GetProperties();
                foreach (var manifestProperty in manifestProperties)
                {
                    switch (manifestProperty.Key.Trim().ToLowerInvariant())
                    {
                        case ("vserver"):
                            parameters.VServer = manifestProperty.Value;
                            break;

                        case ("adminusername"):
                            parameters.AdminUserName = manifestProperty.Value;
                            break;

                        case ("adminpassword"):
                            parameters.AdminPassword = manifestProperty.Value;
                            break;

                        case ("clustermgtendpoint"):
                            parameters.ClusterMgtEndpoint = manifestProperty.Value;
                            break;

                        case ("defaultprotocol"):
                            parameters.VolumeToProvision.Protocol = manifestProperty.Value;
                            break;

                        case ("defaultaggregate"):
                            parameters.VolumeToProvision.AggregateName = manifestProperty.Value;
                            break;

                        case ("defaultrootpath"):
                            parameters.VolumeToProvision.JunctionPath = manifestProperty.Value;
                            break;

                        case ("snapenable"):
                            bool snaptest;
                            bool.TryParse(manifestProperty.Value, out snaptest);
                            parameters.VolumeToProvision.SnapEnable = snaptest;
                            break;

                        case ("vaultenable"):
                            bool test;
                            bool.TryParse(manifestProperty.Value, out test);
                            parameters.VolumeToProvision.VaultEnable = test;
                            break;

                        case ("snapshotschedule"):
                            parameters.VolumeToProvision.SnapshotSchedule = manifestProperty.Value;
                            break;

                        case ("defaultacl"):
                            break;

                        case ("snapmirrorpolicyname"):
                            parameters.VolumeToProvision.SnapMirrorPolicyName = manifestProperty.Value;
                            break;

                        case ("snapvaultpolicyname"):
                            parameters.VolumeToProvision.SnapVaultPolicyName = manifestProperty.Value;
                            break;

                        case ("snapmirrorschedule"):
                            parameters.VolumeToProvision.SnapMirrorSchedule = manifestProperty.Value;
                            break;

                        case ("snapvaultschedule"):
                            parameters.VolumeToProvision.SnapVaultSchedule = manifestProperty.Value;
                            break;

                        case ("snaptype"):
                            parameters.VolumeToProvision.SnapType = manifestProperty.Value;
                            break;

                        case ("shareendpoint"):
                            parameters.VolumeToProvision.CifsRootServer = manifestProperty.Value;
                            break;

                        case ("scriptrepotype"):
                            parameters.ScriptRepositoryType = manifestProperty.Value;
                            break;

                        case ("scriptrepo"):
                            parameters.ScriptRepository = manifestProperty.Value;
                            break;

                        case ("maxallocatedstorage"):
                            parameters.MaxAllocatedStorage = manifestProperty.Value;
                            break;

                        default: // means there are other manifest properties we don't need.
                            Console.WriteLine("Parse failed on key: " + manifestProperty.Key);
                            break;
                    }
                }
                return parameters;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message + "\n Debug information: " + manifest.GetProperties());
            }
        }
    }