Skip to content

Commit 3e2718a

Browse files
committed
Merge pull request Azure#148 from huangpf/crp2
Image Cmdlet Update
2 parents d1fd2f6 + 8686d1b commit 3e2718a

15 files changed

+156
-192
lines changed

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/ComputeTestCommon.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ function Get-DefaultCRPImage
180180
$defaultSku = $result[0];
181181
}
182182

183-
$result = (Get-AzureVMImageVersion -Location $loc -Offer $defaultOffer -PublisherName $defaultPublisher -Skus $defaultSku) | select -ExpandProperty Version;
183+
$result = (Get-AzureVMImage -Location $loc -Offer $defaultOffer -PublisherName $defaultPublisher -Skus $defaultSku) | select -ExpandProperty Version;
184184
if ($result.Count -eq 1)
185185
{
186186
$defaultVersion = $result;
@@ -190,7 +190,7 @@ function Get-DefaultCRPImage
190190
$defaultVersion = $result[0];
191191
}
192192

193-
$vmimg = Get-AzureVMImage -Location $loc -Offer $defaultOffer -PublisherName $defaultPublisher -Skus $defaultSku -Version $defaultVersion;
193+
$vmimg = Get-AzureVMImageDetail -Location $loc -Offer $defaultOffer -PublisherName $defaultPublisher -Skus $defaultSku -Version $defaultVersion;
194194

195195
return $vmimg;
196196
}

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VirtualMachineTests.ps1

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -241,20 +241,20 @@ function Test-VirtualMachineImageList
241241
$skus = $s3 | select -ExpandProperty Skus;
242242
foreach ($sku in $skus)
243243
{
244-
$s4 = Get-AzureVMImageVersion -Location $locStr -PublisherName $pub -Offer $offer -Sku $sku;
244+
$s4 = Get-AzureVMImage -Location $locStr -PublisherName $pub -Offer $offer -Sku $sku;
245245
if ($s4.Count -gt 0)
246246
{
247247
$versions = $s4 | select -ExpandProperty Version;
248248

249-
$s6 = Get-AzureVMImageVersion -Location $locStr -PublisherName $pub -Offer $offer -Sku $sku -FilterExpression ('name -eq *');
249+
$s6 = Get-AzureVMImage -Location $locStr -PublisherName $pub -Offer $offer -Sku $sku -FilterExpression ('name -eq *');
250250
Assert-NotNull $s6;
251251
Assert-NotNull $s6.Count -gt 0;
252252
$verNames = $s6 | select -ExpandProperty Version;
253253

254254
foreach ($ver in $versions)
255255
{
256256
if ($ver -eq $null -or $ver -eq '') { continue; }
257-
$s6 = Get-AzureVMImage -Location $locStr -PublisherName $pub -Offer $offer -Sku $sku -Version $ver;
257+
$s6 = Get-AzureVMImageDetail -Location $locStr -PublisherName $pub -Offer $offer -Sku $sku -Version $ver;
258258
Assert-NotNull $s6;
259259
$s6;
260260

@@ -289,11 +289,11 @@ function Test-VirtualMachineImageList
289289
{
290290
foreach ($type in $types)
291291
{
292-
$s2 = Get-AzureVMExtensionImageVersion -Location $locStr -PublisherName $pub -Type $type -FilterExpression '*';
292+
$s2 = Get-AzureVMExtensionImage -Location $locStr -PublisherName $pub -Type $type -FilterExpression '*';
293293
$versions = $s2 | select -ExpandProperty Version;
294294
foreach ($ver in $versions)
295295
{
296-
$s3 = Get-AzureVMExtensionImage -Location $locStr -PublisherName $pub -Type $type -Version $ver -FilterExpression '*';
296+
$s3 = Get-AzureVMExtensionImageDetail -Location $locStr -PublisherName $pub -Type $type -Version $ver -FilterExpression '*';
297297

298298
Assert-NotNull $s3;
299299
Assert-True { $s3.Version -eq $ver; }
@@ -310,11 +310,11 @@ function Test-VirtualMachineImageList
310310

311311
# Test Piping
312312
$pubNameFilter = '*Microsoft*Windows*Server*';
313-
$imgs = Get-AzureVMImagePublisher -Location $locStr | where { $_.PublisherName -like $pubNameFilter } | Get-AzureVMImageOffer | Get-AzureVMImageSku | Get-AzureVMImageVersion | Get-AzureVMImage;
313+
$imgs = Get-AzureVMImagePublisher -Location $locStr | where { $_.PublisherName -like $pubNameFilter } | Get-AzureVMImageOffer | Get-AzureVMImageSku | Get-AzureVMImage | Get-AzureVMImageDetail;
314314
Assert-True { $imgs.Count -gt 0 };
315315

316316
$pubNameFilter = '*Microsoft.Compute*';
317-
$extimgs = Get-AzureVMImagePublisher -Location $locStr | where { $_.PublisherName -like $pubNameFilter } | Get-AzureVMExtensionImageType | Get-AzureVMExtensionImageVersion | Get-AzureVMExtensionImage;
317+
$extimgs = Get-AzureVMImagePublisher -Location $locStr | where { $_.PublisherName -like $pubNameFilter } | Get-AzureVMExtensionImageType | Get-AzureVMExtensionImage | Get-AzureVMExtensionImageDetail;
318318
Assert-True { $extimgs.Count -gt 0 };
319319

320320
# Negative Tests
@@ -329,21 +329,21 @@ function Test-VirtualMachineImageList
329329
Assert-ThrowsContains { $s3 = Get-AzureVMImageSku -Location $locStr -PublisherName $publisherName -Offer $offerName; } "$offerName was not found";
330330

331331
$skusName = Get-ComputeTestResourceName;
332-
Assert-ThrowsContains { $s4 = Get-AzureVMImageVersion -Location $locStr -PublisherName $publisherName -Offer $offerName -Skus $skusName; } "$skusName was not found";
332+
Assert-ThrowsContains { $s4 = Get-AzureVMImage -Location $locStr -PublisherName $publisherName -Offer $offerName -Skus $skusName; } "$skusName was not found";
333333

334334
$filter = "name eq 'latest'";
335-
Assert-ThrowsContains { $s5 = Get-AzureVMImageVersion -Location $locStr -PublisherName $publisherName -Offer $offerName -Skus $skusName -FilterExpression $filter; } "was not found";
335+
Assert-ThrowsContains { $s5 = Get-AzureVMImage -Location $locStr -PublisherName $publisherName -Offer $offerName -Skus $skusName -FilterExpression $filter; } "was not found";
336336

337337
$version = '1.0.0';
338-
Assert-ThrowsContains { $s6 = Get-AzureVMImage -Location $locStr -PublisherName $publisherName -Offer $offerName -Skus $skusName -Version $version; } "was not found";
338+
Assert-ThrowsContains { $s6 = Get-AzureVMImageDetail -Location $locStr -PublisherName $publisherName -Offer $offerName -Skus $skusName -Version $version; } "was not found";
339339

340340
# Extension Images
341341
$type = Get-ComputeTestResourceName;
342-
Assert-ThrowsContains { $s7 = Get-AzureVMExtensionImage -Location $locStr -PublisherName $publisherName -Type $type -FilterExpression $filter -Version $version; } "was not found";
342+
Assert-ThrowsContains { $s7 = Get-AzureVMExtensionImageDetail -Location $locStr -PublisherName $publisherName -Type $type -FilterExpression $filter -Version $version; } "was not found";
343343

344344
Assert-ThrowsContains { $s8 = Get-AzureVMExtensionImageType -Location $locStr -PublisherName $publisherName; } "was not found";
345345

346-
Assert-ThrowsContains { $s9 = Get-AzureVMExtensionImageVersion -Location $locStr -PublisherName $publisherName -Type $type -FilterExpression $filter; } "was not found";
346+
Assert-ThrowsContains { $s9 = Get-AzureVMExtensionImage -Location $locStr -PublisherName $publisherName -Type $type -FilterExpression $filter; } "was not found";
347347

348348
$passed = $true;
349349
}

src/ResourceManager/Compute/Commands.Compute/Commands.Compute.csproj

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,8 @@
139139
<Compile Include="AvailabilitySets\AvailabilitySetBaseCmdlet.cs" />
140140
<Compile Include="Common\ComputeClient.cs" />
141141
<Compile Include="ExtensionImages\GetAzureVMExtensionImageTypeCommand.cs" />
142-
<Compile Include="ExtensionImages\GetAzureVMExtensionImageVersionCommand.cs" />
143142
<Compile Include="ExtensionImages\GetAzureVMExtensionImageCommand.cs" />
143+
<Compile Include="ExtensionImages\GetAzureVMExtensionImageDetailCommand.cs" />
144144
<Compile Include="ExtensionImages\VirtualMachineExtensionImageBaseCmdlet.cs" />
145145
<Compile Include="Extension\CustomScript\GetAzureVMCustomScriptExtensionCommand.cs" />
146146
<Compile Include="Extension\CustomScript\CustomScriptExtensionPrivateSettings.cs" />
@@ -151,7 +151,7 @@
151151
<Compile Include="Extension\SetAzureVMExtensionCommand.cs" />
152152
<Compile Include="Extension\RemoveAzureVMExtensionCommand.cs" />
153153
<Compile Include="Extension\GetAzureVMExtensionCommand.cs" />
154-
<Compile Include="Images\GetAzureVMImageVersionCommand.cs" />
154+
<Compile Include="Images\GetAzureVMImageCommand.cs" />
155155
<Compile Include="Models\PSStorageAccount.cs" />
156156
<Compile Include="Extension\VMAccess\GetAzureVMAccessExtension.cs" />
157157
<Compile Include="Extension\VMAccess\RemoveAzureVMAccessExtension.cs" />
@@ -162,12 +162,10 @@
162162
<Compile Include="Images\GetAzureVMImageSkuCommand.cs" />
163163
<Compile Include="Images\GetAzureVMImagePublisherCommand.cs" />
164164
<Compile Include="Images\GetAzureVMImageOfferCommand.cs" />
165-
<Compile Include="Images\GetAzureVMImageCommand.cs" />
165+
<Compile Include="Images\GetAzureVMImageDetailCommand.cs" />
166166
<Compile Include="Images\VirtualMachineImageBaseCmdlet.cs" />
167167
<Compile Include="Models\PSOperationContext.cs" />
168-
<Compile Include="Models\PSVirtualMachineExtensionImageDetails.cs" />
169168
<Compile Include="Models\PSVirtualMachineExtensionImage.cs" />
170-
<Compile Include="Models\PSVirtualMachineImageDetails.cs" />
171169
<Compile Include="Models\PSVirtualMachineImage.cs" />
172170
<Compile Include="Models\PSVirtualMachineExtension.cs" />
173171
<Compile Include="Models\PSAvailabilitySet.cs" />

src/ResourceManager/Compute/Commands.Compute/Common/ConstantStringTypes.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ public static class ProfileNouns
7373
public const string VirtualMachineExtensionImage = "AzureVMExtensionImage";
7474
public const string VirtualMachineExtensionImageVersion = "AzureVMExtensionImageVersion";
7575
public const string VirtualMachineExtensionImageType = "AzureVMExtensionImageType";
76+
public const string VirtualMachineExtensionImageDetail = "AzureVMExtensionImageDetail";
7677

7778
public const string AvailabilitySet = "AzureAvailabilitySet";
7879
public const string VirtualMachineConfig = "AzureVMConfig";
@@ -83,6 +84,7 @@ public static class ProfileNouns
8384
public const string VirtualMachineImagePublisher = "AzureVMImagePublisher";
8485
public const string VirtualMachineImageOffer = "AzureVMImageOffer";
8586
public const string VirtualMachineImageSku = "AzureVMImageSku";
87+
public const string VirtualMachineImageDetail = "AzureVMImageDetail";
8688
public const string VirtualMachineImageVersion = "AzureVMImageVersion";
8789

8890
public const string VirtualMachineUsage = "AzureVMUsage";

src/ResourceManager/Compute/Commands.Compute/ExtensionImages/GetAzureVMExtensionImageCommand.cs

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@
1616
using Microsoft.Azure.Commands.Compute.Models;
1717
using Microsoft.Azure.Management.Compute;
1818
using Microsoft.Azure.Management.Compute.Models;
19+
using System.Linq;
1920
using System.Management.Automation;
2021

2122
namespace Microsoft.Azure.Commands.Compute
2223
{
2324
[Cmdlet(VerbsCommon.Get, ProfileNouns.VirtualMachineExtensionImage)]
24-
[OutputType(typeof(PSVirtualMachineExtensionImageDetails))]
25+
[OutputType(typeof(PSVirtualMachineExtensionImage))]
2526
public class GetAzureVMExtensionImageCommand : VirtualMachineExtensionImageBaseCmdlet
2627
{
2728
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true), ValidateNotNullOrEmpty]
@@ -33,45 +34,37 @@ public class GetAzureVMExtensionImageCommand : VirtualMachineExtensionImageBaseC
3334
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true), ValidateNotNullOrEmpty]
3435
public string Type { get; set; }
3536

36-
[Parameter(ValueFromPipelineByPropertyName = true), ValidateNotNullOrEmpty]
37-
public string Version { get; set; }
38-
3937
[Parameter, ValidateNotNullOrEmpty]
4038
public string FilterExpression { get; set; }
4139

4240
public override void ExecuteCmdlet()
4341
{
4442
base.ExecuteCmdlet();
4543

46-
var parameters = new VirtualMachineExtensionImageGetParameters
44+
var parameters = new VirtualMachineExtensionImageListVersionsParameters
4745
{
4846
Location = Location,
4947
PublisherName = PublisherName,
5048
Type = Type,
51-
FilterExpression = FilterExpression,
52-
Version = Version
49+
FilterExpression = FilterExpression
5350
};
5451

55-
VirtualMachineExtensionImageGetResponse result = this.VirtualMachineExtensionImageClient.Get(parameters);
52+
VirtualMachineImageResourceList result = this.VirtualMachineExtensionImageClient.ListVersions(parameters);
5653

57-
var image = new PSVirtualMachineExtensionImageDetails
58-
{
59-
RequestId = result.RequestId,
60-
StatusCode = result.StatusCode,
61-
Id = result.VirtualMachineExtensionImage.Id,
62-
Location = result.VirtualMachineExtensionImage.Location,
63-
Name = result.VirtualMachineExtensionImage.Name,
64-
HandlerSchema = result.VirtualMachineExtensionImage.HandlerSchema,
65-
OperatingSystem = result.VirtualMachineExtensionImage.OperatingSystem,
66-
ComputeRole = result.VirtualMachineExtensionImage.ComputeRole,
67-
SupportsMultipleExtensions = result.VirtualMachineExtensionImage.SupportsMultipleExtensions,
68-
VMScaleSetEnabled = result.VirtualMachineExtensionImage.VMScaleSetEnabled,
69-
PublisherName = this.PublisherName,
70-
Type = this.Type,
71-
Version = this.Version
72-
};
54+
var images = from r in result.Resources
55+
select new PSVirtualMachineExtensionImage
56+
{
57+
RequestId = result.RequestId,
58+
StatusCode = result.StatusCode,
59+
Id = r.Id,
60+
Location = r.Location,
61+
Version = r.Name,
62+
PublisherName = this.PublisherName,
63+
Type = this.Type,
64+
FilterExpression = this.FilterExpression
65+
};
7366

74-
WriteObject(image);
67+
WriteObject(images, true);
7568
}
7669
}
7770
}
Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,13 @@
1616
using Microsoft.Azure.Commands.Compute.Models;
1717
using Microsoft.Azure.Management.Compute;
1818
using Microsoft.Azure.Management.Compute.Models;
19-
using System.Linq;
2019
using System.Management.Automation;
2120

2221
namespace Microsoft.Azure.Commands.Compute
2322
{
24-
[Cmdlet(VerbsCommon.Get, ProfileNouns.VirtualMachineExtensionImageVersion)]
25-
[OutputType(typeof(PSVirtualMachineExtensionImage))]
26-
public class GetAzureVMExtensionImageVersionCommand : VirtualMachineExtensionImageBaseCmdlet
23+
[Cmdlet(VerbsCommon.Get, ProfileNouns.VirtualMachineExtensionImageDetail)]
24+
[OutputType(typeof(PSVirtualMachineExtensionImageDetails))]
25+
public class GetAzureVMExtensionImageDetailCommand : VirtualMachineExtensionImageBaseCmdlet
2726
{
2827
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true), ValidateNotNullOrEmpty]
2928
public string Location { get; set; }
@@ -34,37 +33,45 @@ public class GetAzureVMExtensionImageVersionCommand : VirtualMachineExtensionIma
3433
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true), ValidateNotNullOrEmpty]
3534
public string Type { get; set; }
3635

36+
[Parameter(ValueFromPipelineByPropertyName = true), ValidateNotNullOrEmpty]
37+
public string Version { get; set; }
38+
3739
[Parameter, ValidateNotNullOrEmpty]
3840
public string FilterExpression { get; set; }
3941

4042
public override void ExecuteCmdlet()
4143
{
4244
base.ExecuteCmdlet();
4345

44-
var parameters = new VirtualMachineExtensionImageListVersionsParameters
46+
var parameters = new VirtualMachineExtensionImageGetParameters
4547
{
4648
Location = Location,
4749
PublisherName = PublisherName,
4850
Type = Type,
49-
FilterExpression = FilterExpression
51+
FilterExpression = FilterExpression,
52+
Version = Version
5053
};
5154

52-
VirtualMachineImageResourceList result = this.VirtualMachineExtensionImageClient.ListVersions(parameters);
55+
VirtualMachineExtensionImageGetResponse result = this.VirtualMachineExtensionImageClient.Get(parameters);
5356

54-
var images = from r in result.Resources
55-
select new PSVirtualMachineExtensionImage
56-
{
57-
RequestId = result.RequestId,
58-
StatusCode = result.StatusCode,
59-
Id = r.Id,
60-
Location = r.Location,
61-
Version = r.Name,
62-
PublisherName = this.PublisherName,
63-
Type = this.Type,
64-
FilterExpression = this.FilterExpression
65-
};
57+
var image = new PSVirtualMachineExtensionImageDetails
58+
{
59+
RequestId = result.RequestId,
60+
StatusCode = result.StatusCode,
61+
Id = result.VirtualMachineExtensionImage.Id,
62+
Location = result.VirtualMachineExtensionImage.Location,
63+
Name = result.VirtualMachineExtensionImage.Name,
64+
HandlerSchema = result.VirtualMachineExtensionImage.HandlerSchema,
65+
OperatingSystem = result.VirtualMachineExtensionImage.OperatingSystem,
66+
ComputeRole = result.VirtualMachineExtensionImage.ComputeRole,
67+
SupportsMultipleExtensions = result.VirtualMachineExtensionImage.SupportsMultipleExtensions,
68+
VMScaleSetEnabled = result.VirtualMachineExtensionImage.VMScaleSetEnabled,
69+
PublisherName = this.PublisherName,
70+
Type = this.Type,
71+
Version = this.Version
72+
};
6673

67-
WriteObject(images, true);
74+
WriteObject(image);
6875
}
6976
}
7077
}

0 commit comments

Comments
 (0)