private KeyVaultCredentialSettings DeSerializeKeyVaultCredentialSettings(string category, string input)
        {
            KeyVaultCredentialSettings kvtSettings = new KeyVaultCredentialSettings();

            if (!string.IsNullOrEmpty(input))
            {
                try
                {
                    // we only print the public settings
                    PublicKeyVaultCredentialSettings publicSettings = JsonConvert.DeserializeObject <PublicKeyVaultCredentialSettings>(input);

                    if (publicSettings != null)
                    {
                        kvtSettings.CredentialName = publicSettings.CredentialName;
                        kvtSettings.Enable         = publicSettings.Enable;

                        if (kvtSettings.Enable)
                        {
                            kvtSettings.ServicePrincipalName   = "***";
                            kvtSettings.ServicePrincipalSecret = "***";
                            kvtSettings.AzureKeyVaultUrl       = "***";
                        }
                    }
                }
                catch (JsonReaderException jre)
                {
                    WriteVerboseWithTimestamp("Category:" + category);
                    WriteVerboseWithTimestamp("Message:" + input);
                    WriteVerboseWithTimestamp(jre.ToString());
                }
            }

            return(kvtSettings);
        }
        /// <summary>
        /// Returns the public configuration as string
        /// </summary>
        /// <returns></returns>
        protected string GetPublicConfiguration()
        {
            // Create auto backup settings if set
            PublicAutoBackupSettings autoBackupSettings = null;

            if (this.AutoBackupSettings != null)
            {
                autoBackupSettings = new PublicAutoBackupSettings()
                {
                    Enable                = this.AutoBackupSettings.Enable,
                    EnableEncryption      = this.AutoBackupSettings.EnableEncryption,
                    RetentionPeriod       = this.AutoBackupSettings.RetentionPeriod,
                    BackupSystemDbs       = this.AutoBackupSettings.BackupSystemDbs,
                    BackupScheduleType    = this.AutoBackupSettings.BackupScheduleType,
                    FullBackupFrequency   = this.AutoBackupSettings.FullBackupFrequency,
                    FullBackupStartTime   = this.AutoBackupSettings.FullBackupStartTime,
                    FullBackupWindowHours = this.AutoBackupSettings.FullBackupWindowHours,
                    LogBackupFrequency    = this.AutoBackupSettings.LogBackupFrequency
                };
            }

            // Create Key vault settings if set
            PublicKeyVaultCredentialSettings akvSettings = null;

            if (this.KeyVaultCredentialSettings != null)
            {
                akvSettings = new PublicKeyVaultCredentialSettings()
                {
                    Enable         = this.KeyVaultCredentialSettings == null ? false : this.KeyVaultCredentialSettings.Enable,
                    CredentialName = this.KeyVaultCredentialSettings == null ? null : this.KeyVaultCredentialSettings.CredentialName
                };
            }

            return(JsonUtilities.TryFormatJson(JsonConvert.SerializeObject(
                                                   new SqlServerPublicSettings
            {
                AutoPatchingSettings = this.AutoPatchingSettings,
                AutoTelemetrySettings = this.AutoTelemetrySettings,
                AutoBackupSettings = autoBackupSettings,
                KeyVaultCredentialSettings = akvSettings
            })));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Returns the public configuration as string
        /// </summary>
        /// <returns></returns>
        protected string GetPublicConfiguration()
        {
            // Create auto backup settings if set
            PublicAutoBackupSettings autoBackupSettings = null;

            if (this.AutoBackupSettings != null)
            {
                autoBackupSettings = new PublicAutoBackupSettings()
                {
                    Enable           = this.AutoBackupSettings.Enable,
                    EnableEncryption = this.AutoBackupSettings.EnableEncryption,
                    RetentionPeriod  = this.AutoBackupSettings.RetentionPeriod
                };
            }

            // Create Key vault settings if set
            PublicKeyVaultCredentialSettings akvSettings = null;

            if (this.KeyVaultCredentialSettings != null)
            {
                akvSettings = new PublicKeyVaultCredentialSettings()
                {
                    Enable         = this.KeyVaultCredentialSettings == null ? false : this.KeyVaultCredentialSettings.Enable,
                    CredentialName = this.KeyVaultCredentialSettings == null ? null : this.KeyVaultCredentialSettings.CredentialName
                };
            }

            return(JsonUtilities.TryFormatJson(JsonConvert.SerializeObject(
                                                   new SqlServerPublicSettings
            {
                AutoPatchingSettings = this.AutoPatchingSettings,
                AutoTelemetrySettings = this.AutoTelemetrySettings,
                AutoBackupSettings = autoBackupSettings,
                KeyVaultCredentialSettings = akvSettings
            })));
        }
        /// <summary>
        /// Returns the public configuration as string
        /// </summary>
        /// <returns></returns>
        protected string GetPublicConfiguration()
        {
            // Create auto backup settings if set
            PublicAutoBackupSettings autoBackupSettings = null;
            
            if (this.AutoBackupSettings != null)
            {
                autoBackupSettings = new PublicAutoBackupSettings()
                {
                    Enable  = this.AutoBackupSettings.Enable,
                    EnableEncryption = this.AutoBackupSettings.EnableEncryption,
                    RetentionPeriod = this.AutoBackupSettings.RetentionPeriod                       
                };
            }

            // Create Key vault settings if set
            PublicKeyVaultCredentialSettings akvSettings = null;

            if(this.KeyVaultCredentialSettings != null)
            {
                akvSettings = new PublicKeyVaultCredentialSettings()
                {
                    Enable = this.KeyVaultCredentialSettings == null ? false : this.KeyVaultCredentialSettings.Enable,
                    CredentialName = this.KeyVaultCredentialSettings == null ? null : this.KeyVaultCredentialSettings.CredentialName
                };
            }

            return JsonUtilities.TryFormatJson(JsonConvert.SerializeObject(
               new SqlServerPublicSettings
               {
                   AutoPatchingSettings = this.AutoPatchingSettings,
                   AutoTelemetrySettings = this.AutoTelemetrySettings,
                   AutoBackupSettings = autoBackupSettings,
                   KeyVaultCredentialSettings = akvSettings
               }));
        }