private AutoBackupSettings DeSerializeAutoBackupSettings(string category, string input)
        {
            AutoBackupSettings autoBackupSettings = new AutoBackupSettings();

            if (!string.IsNullOrEmpty(input))
            {
                try
                {
                    PublicAutoBackupSettings publicAutoBackupSettings = JsonConvert.DeserializeObject <PublicAutoBackupSettings>(input);

                    if (publicAutoBackupSettings != null)
                    {
                        autoBackupSettings.Enable           = publicAutoBackupSettings.Enable;
                        autoBackupSettings.EnableEncryption = publicAutoBackupSettings.EnableEncryption;
                        autoBackupSettings.RetentionPeriod  = publicAutoBackupSettings.RetentionPeriod;
                        autoBackupSettings.StorageAccessKey = "***";
                        autoBackupSettings.StorageUrl       = "***";

                        if (autoBackupSettings.EnableEncryption)
                        {
                            autoBackupSettings.Password = "******";
                        }
                    }
                }
                catch (JsonReaderException jre)
                {
                    WriteVerboseWithTimestamp("Category:" + category);
                    WriteVerboseWithTimestamp("Message:" + input);
                    WriteVerboseWithTimestamp(jre.ToString());
                }
            }

            return(autoBackupSettings);
        }
        /// <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
               }));
        }