Skip to content

Commit f25714c

Browse files
authored
Merge pull request Azure#9360 from afedyashov/Az.StorageSync.20190301
Az.StorageSync Package - Support for InvokeChangeDetection and API version 2019-03-01 in Az.StorageSync
2 parents 7a07459 + f2236db commit f25714c

File tree

75 files changed

+22628
-14459
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+22628
-14459
lines changed

src/StorageSync/StorageSync.Test/ScenarioTests/CloudEndpointTests.ps1

Lines changed: 65 additions & 41 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/ScenarioTests/Common.ps1

Lines changed: 130 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,28 @@ Cleans the created resource groups
3838
function Clean-ResourceGroup($rgname)
3939
{
4040
if ((Get-StorageTestMode) -ne 'Playback') {
41+
try
42+
{
43+
Write-Verbose "Attempting to remove StorageSync resources from resource group $rgname"
44+
$syncServices = Get-AzStorageSyncService -ResourceGroup $rgname
45+
foreach ($syncService in $syncServices)
46+
{
47+
Get-AzStorageSyncServer -ParentObject $syncService | Unregister-AzStorageSyncServer -Force
48+
49+
$syncGroups = Get-AzStorageSyncGroup -ParentObject $syncService
50+
foreach ($syncGroup in $syncGroups)
51+
{
52+
Get-AzStorageSyncCloudEndpoint -ParentObject $syncGroup | Remove-AzStorageSyncCloudEndpoint -Force
53+
}
54+
$syncGroups | Remove-AzStorageSyncGroup -Force
55+
}
56+
$syncServices | Remove-AzStorageSyncService -Force
57+
}
58+
catch
59+
{
60+
Write-Verbose "Exception $($_.Exception.ToString())"
61+
}
62+
Write-Verbose "Attempting to remove resource group $rgname"
4163
Remove-AzResourceGroup -Name $rgname -Force
4264
}
4365
}
@@ -236,15 +258,121 @@ function IsLive
236258
.SYNOPSIS
237259
Create Azure file share if recording else return given azure file share name.
238260
#>
239-
function Ensure-AzureFileShareName
261+
function Create-StorageShare
240262
{
263+
param (
264+
[Parameter(Position = 0)]
265+
$Name,
266+
[Parameter(Position = 1)]
267+
$Context)
268+
269+
if ([string]::IsNullOrEmpty($Name))
270+
{
271+
throw "Invalid argument: Name"
272+
}
273+
241274
if(IsLive)
242275
{
243-
$azureFileShare = New-AzureStorageShare -Name $azureFileShareName -Context $context
276+
if ($null -eq $Context)
277+
{
278+
throw "Invalid argument: Context"
279+
}
280+
281+
$azureFileShare = $null
282+
if (gcm New-AzStorageShare -ErrorAction SilentlyContinue)
283+
{
284+
Write-Verbose "Using New-AzStorageShare cmdlet to create share: $($Name) in storage account: $($Context.StorageAccountName)"
285+
$azureFileShare = New-AzStorageShare -Name $Name -Context $Context
286+
}
287+
elseif (gcm New-AzureStorageShare -ErrorAction SilentlyContinue)
288+
{
289+
Write-Verbose "Using New-AzureStorageShare cmdlet to create share: $($Name) in storage account: $($Context.StorageAccountName)"
290+
$azureFileShare = New-AzureStorageShare -Name $Name -Context $Context
291+
}
292+
else
293+
{
294+
throw "Neither New-AzStorageShare nor New-AzureStorageShare cmdlet is available"
295+
}
244296
return $azureFileShare.Name
245297
}
246298
else
247299
{
248300
return $azureFileShareName
249301
}
302+
}
303+
304+
function Remove-StorageShare
305+
{
306+
param (
307+
[Parameter(Position = 0)]
308+
$Name,
309+
[Parameter(Position = 1)]
310+
$Context)
311+
312+
if ([string]::IsNullOrEmpty($Name))
313+
{
314+
throw "Invalid argument: Name"
315+
}
316+
317+
if(IsLive)
318+
{
319+
if ($null -eq $Context)
320+
{
321+
throw "Invalid argument: Context"
322+
}
323+
324+
$result = $null
325+
if (gcm Remove-AzStorageShare -ErrorAction SilentlyContinue)
326+
{
327+
Write-Verbose "Using Remove-AzStorageShare cmdlet"
328+
$result = Remove-AzStorageShare -Name $Name -Context $Context -Force
329+
}
330+
elseif (gcm Remove-AzureStorageShare -ErrorAction SilentlyContinue)
331+
{
332+
Write-Verbose "Using Remove-AzureStorageShare cmdlet"
333+
$result = Remove-AzureStorageShare -Name $Name -Context $Context -Force
334+
}
335+
else
336+
{
337+
throw "Neither Remove-AzStorageShare nor Remove-AzureStorageShare cmdlet is available"
338+
}
339+
return $result
340+
}
341+
}
342+
343+
function Create-StorageContext
344+
{
345+
param ($StorageAccountName, $StorageAccountKey)
346+
347+
if ([string]::IsNullOrEmpty($StorageAccountName))
348+
{
349+
throw "Invalid argument: StorageAccountName"
350+
}
351+
352+
if ([string]::IsNullOrEmpty($StorageAccountKey))
353+
{
354+
throw "Invalid argument: StorageAccountKey"
355+
}
356+
357+
$result = $null
358+
359+
if(IsLive)
360+
{
361+
if (gcm New-AzStorageContext -ErrorAction SilentlyContinue)
362+
{
363+
Write-Verbose "Using New-AzStorageContext cmdlet"
364+
$result = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey -Protocol https -Endpoint core.windows.net
365+
}
366+
elseif (gcm New-AzureStorageContext -ErrorAction SilentlyContinue)
367+
{
368+
Write-Verbose "Using New-AzureStorageContext cmdlet"
369+
$result = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey -Protocol https -Endpoint core.windows.net
370+
}
371+
else
372+
{
373+
throw "Neither New-AzStorageContext nor New-AzureStorageContext cmdlet is available"
374+
}
375+
}
376+
377+
return $result
250378
}

src/StorageSync/StorageSync.Test/ScenarioTests/ServerEndpointTests.ps1

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ function Test-ServerEndpoint2
5555
Write-Verbose "Resource: $StorageAccountName | Loc: $resourceLocation | Type : StorageAccount"
5656
$storageAccount = New-AzStorageAccount -StorageAccountName $StorageAccountName -Location $resourceLocation -ResourceGroupName $resourceGroupName -Type Standard_LRS
5757
$key = Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $StorageAccountName
58-
$context = $storageAccount.Context
58+
$context = Create-StorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $key[0].Value
5959
Write-Verbose "Resource: $AzureFileShareName | Loc: $resourceLocation | Type : AzureStorageShare"
6060

61-
$azureFileShareName = Ensure-AzureFileShareName $AzureFileShareName $context
61+
$azureFileShareName = Create-StorageShare -Name $AzureFileShareName -Context $context
6262
$storageAccountResourceId = $storageAccount.Id
6363

6464
Write-Verbose "Resource: $cloudEndpointName | Loc: $resourceLocation | Type : CloudEndpoint"
@@ -163,7 +163,7 @@ function Test-ServerEndpoint2
163163
if(IsLive)
164164
{
165165
Write-Verbose "Removing: $AzureFileShareName | Loc: $resourceLocation | Type : AzureStorageShare"
166-
$azureFileShare = Remove-AzureStorageShare -Name $AzureFileShareName -Context $context -Force
166+
Remove-StorageShare -Name $AzureFileShareName -Context $context | Out-Null
167167
}
168168

169169
Write-Verbose "Removing $StorageAccountName | Loc: $resourceLocation | Type : StorageAccount"
@@ -197,7 +197,7 @@ function Test-ServerEndpoint
197197
$storageAccountTenantId = (Get-AzTenant).Id
198198
# NOTE: Check the local server drives where we are performing registration.
199199
$serverLocalPath = "D:\" + $serverEndpointName
200-
$offlineDataTransferShareName = "http://dummy"
200+
$offlineDataTransferShareName = "dummy"
201201
$tierFilesOlderThanDays = 10
202202
$volumeFreeSpacePercent = 60
203203
$volumeFreeSpacePercent2 = 80
@@ -216,21 +216,14 @@ function Test-ServerEndpoint
216216
$storageAccount = Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $StorageAccountName
217217

218218
$key = Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $StorageAccountName
219-
$context = $storageAccount.Context
219+
$context = Create-StorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $key[0].Value
220220
Write-Verbose "Resource: $AzureFileShareName | Loc: $resourceLocation | Type : AzureStorageShare"
221221

222-
if(IsLive)
223-
{
224-
$azureFileShare = New-AzureStorageShare -Name $AzureFileShareName -Context $context
225-
$azureFileShareName = $azureFileShare.Name
226-
}
227-
else
228-
{
229-
$azureFileShareName = $AzureFileShareName
230-
}
231-
222+
$azureFileShareName = Create-StorageShare -Name $AzureFileShareName -Context $context
232223
$storageAccountResourceId = $storageAccount.Id
233224

225+
Create-StorageShare -Name $offlineDataTransferShareName -Context $context | Out-Null
226+
234227
Write-Verbose "Resource: $cloudEndpointName | Loc: $resourceLocation | Type : CloudEndpoint"
235228
$job = New-AzStorageSyncCloudEndpoint -ParentObject $syncGroup -Name $cloudEndpointName -StorageAccountResourceId $storageAccountResourceId -AzureFileShareName $azureFileShareName -StorageAccountTenantId $StorageAccountTenantId -AsJob
236229
$job | Wait-Job
@@ -246,7 +239,7 @@ function Test-ServerEndpoint
246239
$job | Wait-Job
247240
$serverEndpoint = get-job -Id $job.Id | receive-job -Keep
248241

249-
Write-Verbose "Removing ServerEndpoint: $serverEndpointName"
242+
Write-Verbose "Removing ServerEndpoint: $serverEndpointName"
250243
Remove-AzStorageSyncServerEndpoint -Force -ResourceGroupName $resourceGroupName -StorageSyncServiceName $storageSyncServiceName -SyncGroupName $syncGroupName -Name $serverEndpointName -AsJob | Wait-Job
251244

252245
Write-Verbose "Unregister Server: $($registeredServer.ServerId)"
@@ -264,7 +257,10 @@ function Test-ServerEndpoint
264257
if(IsLive)
265258
{
266259
Write-Verbose "Removing: $AzureFileShareName | Loc: $resourceLocation | Type : AzureStorageShare"
267-
$azureFileShare = Remove-AzureStorageShare -Name $AzureFileShareName -Context $context -Force
260+
Remove-StorageShare -Name $AzureFileShareName -Context $context | Out-Null
261+
262+
Write-Verbose "Removing: $offlineDataTransferShareName | Loc: $resourceLocation | Type : AzureStorageShare"
263+
Remove-StorageShare -Name $offlineDataTransferShareName -Context $context | Out-Null
268264
}
269265

270266
Write-Verbose "Removing $StorageAccountName | Loc: $resourceLocation | Type : StorageAccount"

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.CloudEndpointTests/TestCloudEndpoint.json

Lines changed: 1767 additions & 693 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.CloudEndpointTests/TestGetCloudEndpoint.json

Lines changed: 436 additions & 2959 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.CloudEndpointTests/TestGetCloudEndpointParentObject.json

Lines changed: 1265 additions & 518 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.CloudEndpointTests/TestGetCloudEndpointParentResourceId.json

Lines changed: 1324 additions & 514 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.CloudEndpointTests/TestGetCloudEndpoints.json

Lines changed: 367 additions & 439 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.CloudEndpointTests/TestNewCloudEndpoint.json

Lines changed: 343 additions & 667 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.CloudEndpointTests/TestRemoveCloudEndpoint.json

Lines changed: 2052 additions & 549 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.CloudEndpointTests/TestRemoveCloudEndpointInputObject.json

Lines changed: 421 additions & 1249 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.CloudEndpointTests/TestRemoveCloudEndpointResourceId.json

Lines changed: 3645 additions & 504 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestGetRegisteredServer.json

Lines changed: 382 additions & 262 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestGetRegisteredServerParentObject.json

Lines changed: 374 additions & 254 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestGetRegisteredServerParentResourceId.json

Lines changed: 365 additions & 245 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestGetRegisteredServers.json

Lines changed: 361 additions & 241 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestNewRegisteredServer.json

Lines changed: 404 additions & 221 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestNewRegisteredServerParentObject.json

Lines changed: 365 additions & 245 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestNewRegisteredServerParentResourceId.json

Lines changed: 349 additions & 229 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestRegisteredServer.json

Lines changed: 381 additions & 261 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestRegisteredServerPipeline1.json

Lines changed: 358 additions & 238 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestRegisteredServerPipeline2.json

Lines changed: 359 additions & 239 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestRemoveRegisteredServer.json

Lines changed: 352 additions & 232 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestRemoveRegisteredServerInputObject.json

Lines changed: 353 additions & 233 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.RegisteredServerTests/TestRemoveRegisteredServerResourceId.json

Lines changed: 348 additions & 228 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.ServerEndpointTests/TestServerEndpoint.json

Lines changed: 524 additions & 722 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.StorageSyncServiceTests/TestGetStorageSyncService.json

Lines changed: 244 additions & 124 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.StorageSyncServiceTests/TestGetStorageSyncServices.json

Lines changed: 241 additions & 121 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.StorageSyncServiceTests/TestNewStorageSyncService.json

Lines changed: 227 additions & 107 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.StorageSyncServiceTests/TestRemoveStorageSyncService.json

Lines changed: 340 additions & 106 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.StorageSyncServiceTests/TestRemoveStorageSyncServiceInputObject.json

Lines changed: 233 additions & 113 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.StorageSyncServiceTests/TestRemoveStorageSyncServiceResourceId.json

Lines changed: 347 additions & 113 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.StorageSyncServiceTests/TestStorageSyncService.json

Lines changed: 327 additions & 207 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.SyncGroupTests/TestGetSyncGroup.json

Lines changed: 263 additions & 143 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.SyncGroupTests/TestGetSyncGroupParentObject.json

Lines changed: 309 additions & 132 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.SyncGroupTests/TestGetSyncGroupParentResourceId.json

Lines changed: 267 additions & 147 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.SyncGroupTests/TestGetSyncGroups.json

Lines changed: 265 additions & 145 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.SyncGroupTests/TestNewSyncGroup.json

Lines changed: 254 additions & 134 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.SyncGroupTests/TestRemoveSyncGroup.json

Lines changed: 249 additions & 129 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.SyncGroupTests/TestRemoveSyncGroupInputObject.json

Lines changed: 253 additions & 133 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.SyncGroupTests/TestRemoveSyncGroupResourceId.json

Lines changed: 254 additions & 134 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/SessionRecords/StorageSyncTests.SyncGroupTests/TestSyncGroup.json

Lines changed: 342 additions & 222 deletions
Large diffs are not rendered by default.

src/StorageSync/StorageSync.Test/StorageSync.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.Azure.Management.StorageSync" Version="3.0.0" />
14+
<PackageReference Include="Microsoft.Azure.Management.StorageSync" Version="3.1.0" />
1515
<PackageReference Include="Microsoft.Azure.Management.Storage" Version="11.0.0" />
1616
<PackageReference Include="System.Management" Version="4.5.0" />
1717
</ItemGroup>

src/StorageSync/StorageSync/Az.StorageSync.psd1

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ CmdletsToExport = 'Invoke-AzStorageSyncCompatibilityCheck',
8484
'Remove-AzStorageSyncServerEndpoint',
8585
'Set-AzStorageSyncServerEndpoint', 'Invoke-AzStorageSyncFileRecall',
8686
'Register-AzStorageSyncServer', 'Unregister-AzStorageSyncServer',
87-
'Get-AzStorageSyncServer', 'Reset-AzStorageSyncServerCertificate'
87+
'Get-AzStorageSyncServer', 'Reset-AzStorageSyncServerCertificate',
88+
'Invoke-AzStorageSyncChangeDetection'
8889

8990
# Variables to export from this module
9091
# VariablesToExport = @()

src/StorageSync/StorageSync/ChangeLog.md

Lines changed: 1 addition & 0 deletions

0 commit comments

Comments
 (0)