ACMESharp.POSH.GetInstallerProfile.ProcessRecord C# (CSharp) Метод

ProcessRecord() защищенный Метод

protected ProcessRecord ( ) : void
Результат void
        protected override void ProcessRecord()
        {
            // We have to invoke this here because we *may not* invoke
            // any Vault access but we do rely on Ext mechanism access.
            Util.PoshHelper.BeforeExtAccess();

            if (ReloadProviders)
            {
                InstallerExtManager.Reload();
            }
            else if (!string.IsNullOrEmpty(GetInstaller))
            {
                WriteVerbose("Getting details of Installer");
                var pInfo = InstallerExtManager.GetProviderInfos()
                        .FirstOrDefault(_ => _.Name == GetInstaller);
                var p = InstallerExtManager.GetProvider(GetInstaller);
                if (ParametersOnly)
                {
                    WriteVerbose("Showing parameter details only");
                    WriteObject(p.DescribeParameters().Select(_ => new {
                        _.Name,
                        _.Label,
                        _.Type,
                        _.IsRequired,
                        _.IsMultiValued,
                        _.Description,
                    }), true);
                }
                else
                {
                    WriteObject(new
                    {
                        pInfo.Name,
                        pInfo.Info.Label,
                        pInfo.Info.IsUninstallSupported,
                        pInfo.Info.Description,
                        Parameters = p.DescribeParameters().Select(_ => new {
                            _.Name,
                            _.Label,
                            _.Type,
                            _.IsRequired,
                            _.IsMultiValued,
                            _.Description,
                        }),
                    });
                }
            }
            else if (ListInstallers)
            {
                WriteVerbose("Listing all Installers");
                WriteObject(InstallerExtManager.GetProviderInfos().Select(_ => _.Name), true);
            }
            else
            {
                WriteVerbose("Getting details of preconfigured Installer Profile");
                using (var vlt = Util.VaultHelper.GetVault(VaultProfile))
                {
                    vlt.OpenStorage();
                    var v = vlt.LoadVault();

                    if (ListProfiles)
                    {
                        WriteObject(v.InstallerProfiles?.Values, true);
                    }
                    else
                    {
                        var ipi = v.InstallerProfiles?.GetByRef(ProfileRef, throwOnMissing: false);
                        if (ipi == null)
                        {
                            WriteObject(ipi);
                        }
                        else
                        {
                            var asset = vlt.GetAsset(Vault.VaultAssetType.InstallerConfigInfo,
                                    ipi.Id.ToString());
                            using (var s = vlt.LoadAsset(asset))
                            {
                                WriteObject(JsonHelper.Load<InstallerProfile>(s), false);
                            }
                        }
                    }
                }
            }
        }
GetInstallerProfile