Microsoft.Azure.Commands.KeyVault.NewAzureKeyVaultCertificatePolicy.ProcessRecord C# (CSharp) Method

ProcessRecord() protected method

protected ProcessRecord ( ) : void
return void
        protected override void ProcessRecord()
        {
            if (ShouldProcess(string.Empty, Properties.Resources.CreateCertificatePolicy))
            {
                // Validate input parameters
                ValidateSubjectName();
                ValidateDnsNames();
                ValidateKeyUsage();
                ValidateEkus();
                ValidateRenewAtNumberOfDaysBeforeExpiry();
                ValidateRenewAtPercentageLifetime();

                // Validate combinations of parameters
                ValidateBothPercentageAndNumberOfDaysAreNotPresent();
                ValidateAtLeastOneOfSubjectNameAndDnsNamesIsPresent();

                var policy = new KeyVaultCertificatePolicy
                {
                    DnsNames = DnsNames,
                    Ekus = Ekus,
                    Enabled = !Disabled.IsPresent,
                    IssuerName = IssuerName,
                    CertificateType = CertificateType,
                    RenewAtNumberOfDaysBeforeExpiry = RenewAtNumberOfDaysBeforeExpiry,
                    RenewAtPercentageLifetime = RenewAtPercentageLifetime,
                    EmailAtNumberOfDaysBeforeExpiry = EmailAtNumberOfDaysBeforeExpiry,
                    EmailAtPercentageLifetime = EmailAtPercentageLifetime,
                    ReuseKeyOnRenewal = ReuseKeyOnRenewal.IsPresent,
                    SecretContentType = SecretContentType,
                    SubjectName = SubjectName,
                    ValidityInMonths = ValidityInMonths,
                    Kty = KeyType,
                    Exportable = KeyNotExportable.IsPresent ? !KeyNotExportable.IsPresent : (bool?)null
                };

                this.WriteObject(policy);
            }
        }