Skip to content

Commit 6831544

Browse files
ImageName completer.
1 parent 3cb9ccf commit 6831544

File tree

1 file changed

+29
-17
lines changed

1 file changed

+29
-17
lines changed

src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/NewAzureVMCommand.cs

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ namespace Microsoft.Azure.Commands.Compute
4848
public class NewAzureVMCommand : VirtualMachineBaseCmdlet
4949
{
5050
public const string DefaultParameterSet = "DefaultParameterSet";
51-
public const string StrategyParameterSet = "StrategyParameterSet";
51+
public const string SimpleParameterSet = "SimpleParameterSet";
5252

5353
[Parameter(
5454
ParameterSetName = DefaultParameterSet,
@@ -57,7 +57,7 @@ public class NewAzureVMCommand : VirtualMachineBaseCmdlet
5757
ValueFromPipelineByPropertyName = true)]
5858
[ResourceGroupCompleter()]
5959
[Parameter(
60-
ParameterSetName = StrategyParameterSet,
60+
ParameterSetName = SimpleParameterSet,
6161
Mandatory = false)]
6262
[ValidateNotNullOrEmpty]
6363
public string ResourceGroupName { get; set; }
@@ -68,7 +68,7 @@ public class NewAzureVMCommand : VirtualMachineBaseCmdlet
6868
Position = 1,
6969
ValueFromPipelineByPropertyName = true)]
7070
[Parameter(
71-
ParameterSetName = StrategyParameterSet,
71+
ParameterSetName = SimpleParameterSet,
7272
Mandatory = false)]
7373
[LocationCompleter("Microsoft.Compute/virtualMachines")]
7474
[ValidateNotNullOrEmpty]
@@ -112,53 +112,65 @@ public class NewAzureVMCommand : VirtualMachineBaseCmdlet
112112
public string LicenseType { get; set; }
113113

114114
[Parameter(
115-
ParameterSetName = StrategyParameterSet,
115+
ParameterSetName = SimpleParameterSet,
116116
Mandatory = true)]
117117
[ValidateNotNullOrEmpty]
118118
public string Name { get; set; }
119119

120-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = true)]
120+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = true)]
121121
public PSCredential Credential { get; set; }
122122

123-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = false)]
123+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false)]
124124
public string VirtualNetworkName { get; set; }
125125

126-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = false)]
126+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false)]
127127
public string AddressPrefix { get; set; } = "192.168.0.0/16";
128128

129-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = false)]
129+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false)]
130130
public string SubnetName { get; set; }
131131

132-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = false)]
132+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false)]
133133
public string SubnetAddressPrefix { get; set; } = "192.168.1.0/24";
134134

135-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = false)]
135+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false)]
136136
public string PublicIpAddressName { get; set; }
137137

138-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = false)]
138+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false)]
139139
public string DomainNameLabel { get; set; }
140140

141-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = false)]
141+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false)]
142142
[ValidateSet("Static", "Dynamic")]
143143
public string AllocationMethod { get; set; } = "Static";
144144

145-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = false)]
145+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false)]
146146
public string SecurityGroupName { get; set; }
147147

148-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = false)]
148+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false)]
149149
public int[] OpenPorts { get; set; }
150150

151-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = false)]
151+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false)]
152+
[PSArgumentCompleter(
153+
"CentOS",
154+
"CoreOS",
155+
"Debian",
156+
"openSUSE-Leap",
157+
"RHEL",
158+
"SLES",
159+
"UbuntuLTS",
160+
"Win2016Datacenter",
161+
"Win2012R2Datacenter",
162+
"Win2012Datacenter",
163+
"Win2008R2SP1")]
152164
public string ImageName { get; set; } = "Win2016Datacenter";
153165

154-
[Parameter(ParameterSetName = StrategyParameterSet, Mandatory = false)]
166+
[Parameter(ParameterSetName = SimpleParameterSet, Mandatory = false)]
155167
public string Size { get; set; } = "Standard_DS1_v2";
156168

157169
public override void ExecuteCmdlet()
158170
{
159171
switch (ParameterSetName)
160172
{
161-
case StrategyParameterSet:
173+
case SimpleParameterSet:
162174
this.StartAndWait(StrategyExecuteCmdletAsync);
163175
break;
164176
default:

0 commit comments

Comments
 (0)