Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.2.1-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.3.0-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices.Backup" Version="4.0.1-preview" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.4.1" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="36.0.0" />
<PackageReference Include="Microsoft.Azure.Management.Network" Version="19.20.0-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.2.1-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.3.0-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices.Backup" Version="4.0.1-preview" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<PsModuleName>RecoveryServices.SiteRecovery</PsModuleName>
Expand All @@ -13,7 +13,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="36.0.0" />
<PackageReference Include="Microsoft.Azure.Management.Network" Version="19.20.0-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.2.1-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.3.0-preview" />
<PackageReference Include="Microsoft.Azure.Management.Storage" Version="14.3.0" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices.SiteRecovery" Version="2.0.8-preview" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
using Microsoft.WindowsAzure.Commands.Test.Utilities.Common;
using Microsoft.Azure.ServiceManagement.Common.Models;
using Microsoft.Rest.ClientRuntime.Azure.TestFramework;
using Microsoft.Azure.Management.RecoveryServices.Backup;

namespace RecoveryServices.SiteRecovery.Test
{
Expand All @@ -49,6 +50,7 @@ protected void Initialize()
public ResourceManagementClient ResourceManagementRestClient { get; private set; }
public StorageManagementClient StorageClient { get; private set; }
public ComputeManagementClient ComputeManagementRestClient { get; private set; }
public RecoveryServicesBackupClient RecoveryServicesBackupClient { get; private set; }

public void RunPowerShellTest(XunitTracingInterceptor logger, string scenario, params string[] scripts)
{
Expand Down Expand Up @@ -134,6 +136,7 @@ protected void SetupManagementClients(MockContext context)
SiteRecoveryMgmtClient = GetSiteRecoveryManagementClient(context);
StorageClient = GetStorageManagementClient(context);
ComputeManagementRestClient = GetComputeManagementClientRestClient(context);
RecoveryServicesBackupClient = GetRecoveryServicesBackupClient(context);

_helper.SetupManagementClients(
RecoveryServicesMgmtClient,
Expand All @@ -142,7 +145,8 @@ protected void SetupManagementClients(MockContext context)
StorageClient,
ComputeManagementRestClient,
GetNetworkManagementClientRestClient(context),
GetNetworkManagementClient(context));
GetNetworkManagementClient(context),
RecoveryServicesBackupClient);
}

private static RecoveryServicesClient GetRecoveryServicesManagementClient(MockContext context)
Expand Down Expand Up @@ -179,5 +183,10 @@ private static SiteRecoveryManagementClient GetSiteRecoveryManagementClient(Mock
{
return context.GetServiceClient<SiteRecoveryManagementClient>(TestEnvironmentFactory.GetTestEnvironment());
}

private static RecoveryServicesBackupClient GetRecoveryServicesBackupClient(MockContext context)
{
return context.GetServiceClient<RecoveryServicesBackupClient>(TestEnvironmentFactory.GetTestEnvironment());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
using System.Diagnostics;
using Microsoft.Azure.Portal.RecoveryServices.Models.Common;
using Microsoft.Rest.ClientRuntime.Azure.TestFramework;
using Microsoft.Azure.Management.RecoveryServices.Backup;

namespace RecoveryServices.SiteRecovery.Test
{
Expand Down Expand Up @@ -80,6 +81,7 @@ protected void Initialize()
public ResourceManagementClient RmRestClient { get; private set; }
public RecoveryServicesClient RecoveryServicesMgmtClient { get; private set; }
public SiteRecoveryManagementClient SiteRecoveryMgmtClient { get; private set; }
public RecoveryServicesBackupClient RecoveryServicesBackupClient { get; private set; }

public void RunPowerShellTest(XunitTracingInterceptor logger, string scenario, params string[] scripts)
{
Expand Down Expand Up @@ -159,10 +161,12 @@ protected void SetupManagementClients(string scenario, MockContext context)
RmRestClient = GetRmRestClient(context);
RecoveryServicesMgmtClient = GetRecoveryServicesManagementClient(context);
SiteRecoveryMgmtClient = GetSiteRecoveryManagementClient(context);
RecoveryServicesBackupClient = GetRecoveryServicesBackupClient(context);
_helper.SetupManagementClients(
RmRestClient,
RecoveryServicesMgmtClient,
SiteRecoveryMgmtClient);
SiteRecoveryMgmtClient,
RecoveryServicesBackupClient);
}

private static RecoveryServicesClient GetRecoveryServicesManagementClient(MockContext context)
Expand All @@ -175,6 +179,11 @@ private static ResourceManagementClient GetRmRestClient(MockContext context)
return context.GetServiceClient<ResourceManagementClient>(TestEnvironmentFactory.GetTestEnvironment());
}

private static RecoveryServicesBackupClient GetRecoveryServicesBackupClient(MockContext context)
{
return context.GetServiceClient<RecoveryServicesBackupClient>(TestEnvironmentFactory.GetTestEnvironment());
}

private SiteRecoveryManagementClient GetSiteRecoveryManagementClient(MockContext context)
{
var client = context.GetServiceClient<SiteRecoveryManagementClient>(TestEnvironmentFactory.GetTestEnvironment());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

<ItemGroup>
<PackageReference Include="AutoMapper" Version="6.2.2" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.2.1-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.3.0-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices.SiteRecovery" Version="2.0.8-preview" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.2.1-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.3.0-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices.Backup" Version="4.0.1-preview" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
using Microsoft.Azure.ServiceManagement.Common.Models;
using System.Diagnostics;
using Microsoft.Azure.Management.Internal.Resources;
using Microsoft.Azure.Management.RecoveryServices.Backup;

namespace Microsoft.Azure.Commands.RecoveryServices.Test.ScenarioTests
{
Expand All @@ -33,6 +34,8 @@ public class TestController

public RecoveryServicesClient RsClient { get; private set; }

public RecoveryServicesBackupClient RsBackupClient { get; private set; }

public ResourceManagementClient InternalRmClient { get; private set; }

public static TestController NewInstance => new TestController();
Expand All @@ -46,8 +49,9 @@ protected void SetupManagementClients(RestTestFramework.MockContext context)
{
RsClient = GetRsClient(context);
InternalRmClient = GetInternalRmClient(context);
RsBackupClient = GetRsBackupClient(context);

_helper.SetupManagementClients(RsClient, InternalRmClient);
_helper.SetupManagementClients(RsClient, InternalRmClient, RsBackupClient);
}

public void RunPsTest(XunitTracingInterceptor logger, params string[] scripts)
Expand Down Expand Up @@ -131,5 +135,10 @@ private static RecoveryServicesClient GetRsClient(RestTestFramework.MockContext
{
return context.GetServiceClient<RecoveryServicesClient>(RestTestFramework.TestEnvironmentFactory.GetTestEnvironment());
}

private static RecoveryServicesBackupClient GetRsBackupClient(RestTestFramework.MockContext context)
{
return context.GetServiceClient<RecoveryServicesBackupClient>(RestTestFramework.TestEnvironmentFactory.GetTestEnvironment());
}
}
}
1 change: 1 addition & 0 deletions src/RecoveryServices/RecoveryServices/ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
* Azure Site Recovery added support for zone to zone replication.
* Azure Backup Added Long term retention support for Azure FileShare Recovery Points.
* Azure Backup Added disk exclusion properties to Get-AzRecoveryServicesBackupItem Cmdlet Output.
* Added private endpoint for Vault credential file for site recovery service.

## Version 2.8.0
* Azure Site Recovery added support for doing reprotect and updated vm properties for Azure disk encrypted Virtual Machines.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
using Microsoft.Azure.Portal.RecoveryServices.Models.Common;
using Microsoft.Azure.Commands.Common.Authentication.Abstractions;
using Microsoft.Azure.Common.Authentication;
using Microsoft.Azure.Management.RecoveryServices.Backup;

namespace Microsoft.Azure.Commands.RecoveryServices
{
Expand All @@ -48,6 +49,17 @@ public RecoveryServicesClient GetRecoveryServicesClient
}
}

/// <summary>
/// Gets the value of recovery services backup client.
/// </summary>
public RecoveryServicesBackupClient GetRecoveryServicesBackupClient
{
get
{
return this.recoveryServicesBackupClient;
}
}

public ResourceManagementClient RmClient
{
get
Expand Down Expand Up @@ -80,6 +92,8 @@ public ResourceManagementClient RmClient

private ResourceManagementClient resourceManagementClient;

private RecoveryServicesBackupClient recoveryServicesBackupClient;

/// <summary>
/// Initializes a new instance of the <see cref="PSRecoveryServicesClient" /> class with
/// required current subscription.
Expand All @@ -103,6 +117,10 @@ public PSRecoveryServicesClient(IAzureContext defaultContext)
AzureSession.ClientFactory.CreateArmClient<RecoveryServicesClient>(
defaultContext, AzureEnvironment.Endpoint.ResourceManager);

this.recoveryServicesBackupClient =
AzureSession.ClientFactory.CreateArmClient<RecoveryServicesBackupClient>(
defaultContext, AzureEnvironment.Endpoint.ResourceManager);

resourceManagementClient = AzureSession.ClientFactory.CreateArmClient<ResourceManagementClient>(defaultContext, AzureEnvironment.Endpoint.ResourceManager);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
using System.Collections.Generic;
using System.Linq;
using Microsoft.Azure.Management.Internal.Resources.Models;
using Microsoft.Azure.Management.RecoveryServices.Backup.Models;
using Microsoft.Azure.Management.RecoveryServices.Models;
using Microsoft.Rest.Azure;

Expand Down Expand Up @@ -99,10 +100,10 @@ public Rest.Azure.AzureOperationResponse DeleteVault(string resouceGroupName, st
/// <param name="vaultStorageUpdateRequest">Backup Properties Update</param>
/// <returns>Azure Operation response object.</returns>
public void UpdateVaultStorageType(string resouceGroupName, string vaultName,
BackupStorageConfig backupStorageConfig)
BackupResourceConfigResource backupStorageConfig)
{
GetRecoveryServicesClient.BackupStorageConfigs.UpdateWithHttpMessagesAsync(
resouceGroupName, vaultName, backupStorageConfig, GetRequestHeaders());
GetRecoveryServicesBackupClient.BackupResourceStorageConfigs.UpdateWithHttpMessagesAsync(
vaultName, resouceGroupName, backupStorageConfig, GetRequestHeaders());
}

/// <summary>
Expand All @@ -111,10 +112,10 @@ public void UpdateVaultStorageType(string resouceGroupName, string vaultName,
/// <param name="resouceGroupName">Name of the resouce group</param>
/// <param name="vaultName">Name of the vault</param>
/// <returns>Azure Resource Storage response object.</returns>
public BackupStorageConfig GetVaultStorageType(string resouceGroupName, string vaultName)
public BackupResourceConfigResource GetVaultStorageType(string resouceGroupName, string vaultName)
{
return GetRecoveryServicesClient.BackupStorageConfigs.GetWithHttpMessagesAsync(
resouceGroupName, vaultName, GetRequestHeaders()).Result.Body;
return GetRecoveryServicesBackupClient.BackupResourceStorageConfigs.GetWithHttpMessagesAsync(
vaultName, resouceGroupName, GetRequestHeaders()).Result.Body;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public VaultCertificateResponse UpdateVaultCertificate(CertificateRequest certif
arsVaultCreds.ResourceGroupName,
arsVaultCreds.ResourceName,
certificateName,
certificateRequest,
certificateRequest.Properties,
GetRequestHeaders()).Result.Body;
}

Expand Down Expand Up @@ -199,7 +199,7 @@ public VaultCertificateResponse UploadCertificate(X509Certificate2 managementCer
vault.ResourceGroupName,
vault.Name,
managementCert.FriendlyName,
certificateArgs,
certificateArgs.Properties,
GetRequestHeaders()).Result.Body;
}

Expand Down
12 changes: 12 additions & 0 deletions src/RecoveryServices/RecoveryServices/Models/PSObjects.cs
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@ public ARSVault(Vault vault)
this.SubscriptionId = PSRecoveryServicesClient.GetSubscriptionId(vault.Id);
this.Properties = new ARSVaultProperties();
this.Properties.ProvisioningState = vault.Properties.ProvisioningState;
this.Properties.PrivateEndpointStateForBackup = vault.Properties.PrivateEndpointStateForBackup;
this.Properties.PrivateEndpointStateForSiteRecovery = vault.Properties.PrivateEndpointStateForSiteRecovery;
}

#endregion
Expand Down Expand Up @@ -135,6 +137,16 @@ public class ARSVaultProperties
/// </summary>
public string ProvisioningState { get; set; }

/// <summary>
/// Gets or sets PrivateEndpointStateForBackup.
/// </summary>
public string PrivateEndpointStateForBackup { get; set; }

/// <summary>
/// Gets or sets PrivateEndpointStateForSiteRecovery.
/// </summary>
public string PrivateEndpointStateForSiteRecovery { get; set; }

#endregion
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,5 +142,11 @@ public class RSVaultAsrCreds
/// </summary>
[DataMember(Order = 6)]
public string SiteName { get; set; }

/// <summary>
/// Gets or sets PrivateEndpointStateForSiteRecovery.
/// </summary>
[DataMember(Order = 7)]
public string PrivateEndpointStateForSiteRecovery { get; set; }
}
}
5 changes: 3 additions & 2 deletions src/RecoveryServices/RecoveryServices/RecoveryServices.csproj
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<PsModuleName>RecoveryServices</PsModuleName>
Expand All @@ -11,7 +11,8 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.2.1-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.3.0-preview" />
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices.Backup" Version="4.0.1-preview" />
<PackageReference Include="System.Security.Cryptography.Cng" Version="4.4.0" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ private void GetBackupCredentialsWithCertificate(string certificate)
Vault.ResourceGroupName,
Vault.Name,
friendlyName,
certificateArgs,
certificateArgs.Properties,
RecoveryServicesClient.GetRequestHeaders()).Result.Body;
WriteDebug(string.Format(CultureInfo.InvariantCulture, Resources.UploadedCertToIdmgmt));
}
Expand Down Expand Up @@ -316,15 +316,14 @@ private void GetSiteRecoveryCredentialsWithCertificate(string certificate)
Properties = new RawCertificateData {Certificate = bytes, AuthType = AuthType.AAD}
};


var dateString = DateTime.Now.ToString("M-d-yyyy");

var friendlyName = string.Format("{0}{1}-{2}-vaultcredentials", Vault.Name, subscriptionId, dateString);
var vaultCertificateResponse = RecoveryServicesClient.GetRecoveryServicesClient.VaultCertificates.CreateWithHttpMessagesAsync(
Vault.ResourceGroupName,
Vault.Name,
friendlyName,
certificateArgs,
certificateArgs.Properties,
RecoveryServicesClient.GetRequestHeaders()).Result.Body;
WriteDebug(string.Format(CultureInfo.InvariantCulture, Resources.UploadedCertToIdmgmt));

Expand Down Expand Up @@ -667,7 +666,8 @@ private string GenerateVaultCredsForSiteRecovery(string managementCert, string s
},
ChannelIntegrityKey = RecoveryServicesClient.GetCurrentVaultChannelIntegrityKey(),
SiteId = asrSite.ID ?? String.Empty,
SiteName = asrSite.Name ?? String.Empty
SiteName = asrSite.Name ?? String.Empty,
PrivateEndpointStateForSiteRecovery = Vault.Properties.PrivateEndpointStateForSiteRecovery
};

var serializer = new DataContractSerializer(typeof(RSVaultAsrCreds));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
using Microsoft.Azure.Management.RecoveryServices.Models;
using Microsoft.WindowsAzure.Commands.Common;
using Microsoft.Azure.Commands.Common.Authentication.Abstractions;
using Microsoft.Azure.Management.RecoveryServices.Backup.Models;

namespace Microsoft.Azure.Commands.RecoveryServices
{
Expand Down Expand Up @@ -49,10 +50,10 @@ public override void ExecuteCmdlet()
{
try
{
BackupStorageConfig getStorageResponse = RecoveryServicesClient.GetVaultStorageType(
BackupResourceConfigResource getStorageResponse = RecoveryServicesClient.GetVaultStorageType(
this.Vault.ResourceGroupName, this.Vault.Name);
ASRVaultBackupProperties vaultBackupProperties = new ASRVaultBackupProperties();
vaultBackupProperties.BackupStorageRedundancy = getStorageResponse.StorageType;
vaultBackupProperties.BackupStorageRedundancy = getStorageResponse.Properties.StorageType;
this.WriteObject(vaultBackupProperties);
}
catch (Exception exception)
Expand Down
Loading