19
19
20
20
namespace Microsoft . Azure . Commands . Compute
21
21
{
22
- [ Cmdlet ( VerbsCommon . Set , ProfileNouns . VirtualMachine , DefaultParameterSetName = ResourceGroupNameParameterSet ) ]
22
+ [ Cmdlet ( VerbsCommon . Set , ProfileNouns . VirtualMachine , DefaultParameterSetName = GeneralizeResourceGroupNameParameterSet ) ]
23
23
[ OutputType ( typeof ( PSComputeLongRunningOperation ) ) ]
24
- public class SetAzureVMCommand : VirtualMachineActionBaseCmdlet
24
+ public class SetAzureVMCommand : VirtualMachineBaseCmdlet
25
25
{
26
+ protected const string GeneralizeResourceGroupNameParameterSet = "GeneralizeResourceGroupNameParameterSetName" ;
27
+ protected const string RedeployResourceGroupNameParameterSet = "RedeployResourceGroupNameParameterSetName" ;
28
+ protected const string GeneralizeIdParameterSet = "GeneralizeIdParameterSetName" ;
29
+ protected const string RedeployIdParameterSet = "RedeployIdParameterSetName" ;
30
+
31
+ [ Parameter (
32
+ Mandatory = true ,
33
+ Position = 0 ,
34
+ ParameterSetName = GeneralizeResourceGroupNameParameterSet ,
35
+ ValueFromPipelineByPropertyName = true ,
36
+ HelpMessage = "The resource group name." ) ]
37
+ [ Parameter (
38
+ Mandatory = true ,
39
+ Position = 0 ,
40
+ ValueFromPipelineByPropertyName = true ,
41
+ ParameterSetName = RedeployResourceGroupNameParameterSet ,
42
+ HelpMessage = "The resource group name." ) ]
43
+ [ ValidateNotNullOrEmpty ]
44
+ public string ResourceGroupName { get ; set ; }
45
+
46
+ [ Parameter (
47
+ Mandatory = true ,
48
+ Position = 0 ,
49
+ ParameterSetName = GeneralizeIdParameterSet ,
50
+ ValueFromPipelineByPropertyName = true ,
51
+ HelpMessage = "The resource group name." ) ]
52
+ [ Parameter (
53
+ Mandatory = true ,
54
+ Position = 0 ,
55
+ ParameterSetName = RedeployIdParameterSet ,
56
+ ValueFromPipelineByPropertyName = true ,
57
+ HelpMessage = "The resource group name." ) ]
58
+ [ ValidateNotNullOrEmpty ]
59
+ public string Id { get ; set ; }
60
+
26
61
[ Parameter (
27
62
Mandatory = true ,
28
63
Position = 1 ,
@@ -32,17 +67,31 @@ public class SetAzureVMCommand : VirtualMachineActionBaseCmdlet
32
67
public string Name { get ; set ; }
33
68
34
69
[ Parameter (
35
- Mandatory = false ,
70
+ Mandatory = true ,
71
+ Position = 2 ,
72
+ ValueFromPipelineByPropertyName = true ,
73
+ ParameterSetName = GeneralizeResourceGroupNameParameterSet ,
74
+ HelpMessage = "To generalize virtual machine." ) ]
75
+ [ Parameter (
76
+ Mandatory = true ,
36
77
Position = 2 ,
37
78
ValueFromPipelineByPropertyName = true ,
79
+ ParameterSetName = GeneralizeIdParameterSet ,
38
80
HelpMessage = "To generalize virtual machine." ) ]
39
81
[ ValidateNotNullOrEmpty ]
40
82
public SwitchParameter Generalized { get ; set ; }
41
83
42
84
[ Parameter (
43
- Mandatory = false ,
85
+ Mandatory = true ,
86
+ Position = 2 ,
87
+ ValueFromPipelineByPropertyName = true ,
88
+ ParameterSetName = RedeployResourceGroupNameParameterSet ,
89
+ HelpMessage = "To redeploy virtual machine." ) ]
90
+ [ Parameter (
91
+ Mandatory = true ,
44
92
Position = 2 ,
45
93
ValueFromPipelineByPropertyName = true ,
94
+ ParameterSetName = RedeployIdParameterSet ,
46
95
HelpMessage = "To redeploy virtual machine." ) ]
47
96
[ ValidateNotNullOrEmpty ]
48
97
public SwitchParameter Redeploy { get ; set ; }
0 commit comments