Tde migration integration (#1806)

Adding certificate migration for encrypted databases.

Uses notifications to send events back to the client every time each database certificate is migrated.
This commit is contained in:
junierch
2023-01-11 21:20:00 -05:00
committed by GitHub
parent ac460adfc3
commit f99bda29b5
7 changed files with 390 additions and 119 deletions

View File

@@ -0,0 +1,44 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
namespace Microsoft.SqlTools.ServiceLayer.Migration.Contracts
{
/// <summary>
/// Parameters for the certificate migration progress event
/// </summary>
public class CertificateMigrationProgressParams
{
/// <summary>
/// Database name
/// </summary>
public string Name { get; set; }
/// <summary>
/// Message related to the success status. true should describe a positive outcome. false should have an error.
/// </summary>
public string Message { get; set; }
/// <summary>
/// Result of migration
/// </summary>
public bool Success { get; set; }
}
/// <summary>
/// Create a certificate migration request. This should be register at the client.
/// </summary>
public class CertificateMigrationProgressEvent
{
/// <summary>
/// Name and parameters for the event definition.
/// </summary>
public static readonly
EventType<CertificateMigrationProgressParams> Type =
EventType<CertificateMigrationProgressParams>.Create("migration/tdemigrationprogress");
}
}