@@ -31,76 +31,77 @@ public class NewAzureStorSimpleNetworkConfig : StorSimpleCmdletBase
31
31
{
32
32
#region Parameters
33
33
34
+ /// <summary>
35
+ /// Interface alias of interface for which settings are being supplied. A value
36
+ /// from Data0 to Data5
37
+ /// </summary>
38
+ [ Parameter ( Mandatory = true , Position = 0 , HelpMessage = StorSimpleCmdletHelpMessage . InterfaceAlias ) ]
39
+ [ ValidateSetAttribute ( new string [ ] { "Data0" , "Data1" , "Data2" , "Data3" , "Data4" , "Data5" } ) ]
40
+ public string InterfaceAlias { get ; set ; }
41
+
34
42
/// <summary>
35
43
/// Whether the net interface is iscsi enabled/disabled
36
44
/// </summary>
37
- [ Parameter ( Mandatory = false , Position = 0 , HelpMessage = StorSimpleCmdletHelpMessage . IsIscsiEnabled ) ]
45
+ [ Parameter ( Mandatory = false , Position = 1 , HelpMessage = StorSimpleCmdletHelpMessage . IsIscsiEnabled ) ]
38
46
[ ValidateNotNullOrEmpty ]
39
47
public bool ? EnableIscsi { get ; set ; }
40
48
41
49
/// <summary>
42
50
/// Whether the net interface is cloud enabled/disabled
43
51
/// </summary>
44
- [ Parameter ( Mandatory = false , Position = 1 , HelpMessage = StorSimpleCmdletHelpMessage . IsCloudEnabled ) ]
52
+ [ Parameter ( Mandatory = false , Position = 2 , HelpMessage = StorSimpleCmdletHelpMessage . IsCloudEnabled ) ]
45
53
[ ValidateNotNullOrEmpty ]
46
54
public bool ? EnableCloud { get ; set ; }
47
55
48
56
/// <summary>
49
57
/// IPv4Address for controller 0, should be used only with Data0 interface
50
58
/// </summary>
51
- [ Parameter ( Mandatory = false , Position = 2 , HelpMessage = StorSimpleCmdletHelpMessage . Controller0IPv4Address ) ]
59
+ [ Parameter ( Mandatory = false , Position = 3 , HelpMessage = StorSimpleCmdletHelpMessage . Controller0IPv4Address ) ]
52
60
[ ValidateNotNullOrEmpty ]
53
61
public string Controller0IPv4Address { get ; set ; }
54
62
55
63
/// <summary>
56
64
/// IPv4Address for controller 1, should be used only with Data0 interface
57
65
/// </summary>
58
- [ Parameter ( Mandatory = false , Position = 3 , HelpMessage = StorSimpleCmdletHelpMessage . Controller1IPv4Address ) ]
66
+ [ Parameter ( Mandatory = false , Position = 4 , HelpMessage = StorSimpleCmdletHelpMessage . Controller1IPv4Address ) ]
59
67
[ ValidateNotNullOrEmpty ]
60
68
public string Controller1IPv4Address { get ; set ; }
61
69
62
70
/// <summary>
63
71
/// IPv4 net mask for interface
64
72
/// </summary>
65
- [ Parameter ( Mandatory = false , Position = 4 , HelpMessage = StorSimpleCmdletHelpMessage . IPv6Gateway ) ]
73
+ [ Parameter ( Mandatory = false , Position = 5 , HelpMessage = StorSimpleCmdletHelpMessage . IPv6Gateway ) ]
66
74
[ ValidateNotNullOrEmpty ]
67
75
public string IPv6Gateway { get ; set ; }
68
76
69
77
/// <summary>
70
78
/// IPv4 Address of gateway
71
79
/// </summary>
72
- [ Parameter ( Mandatory = false , Position = 5 , HelpMessage = StorSimpleCmdletHelpMessage . IPv4Gateway ) ]
80
+ [ Parameter ( Mandatory = false , Position = 6 , HelpMessage = StorSimpleCmdletHelpMessage . IPv4Gateway ) ]
73
81
[ ValidateNotNullOrEmpty ]
74
82
public string IPv4Gateway { get ; set ; }
75
83
76
84
/// <summary>
77
85
/// IPv4 Address for the net interface
78
86
/// </summary>
79
- [ Parameter ( Mandatory = false , Position = 6 , HelpMessage = StorSimpleCmdletHelpMessage . IPv4Address ) ]
87
+ [ Parameter ( Mandatory = false , Position = 7 , HelpMessage = StorSimpleCmdletHelpMessage . IPv4Address ) ]
80
88
[ ValidateNotNullOrEmpty ]
81
89
public string IPv4Address { get ; set ; }
82
90
83
91
/// <summary>
84
92
/// IPv6 Prefix for the net interface
85
93
/// </summary>
86
- [ Parameter ( Mandatory = false , Position = 7 , HelpMessage = StorSimpleCmdletHelpMessage . IPv6Prefix ) ]
94
+ [ Parameter ( Mandatory = false , Position = 8 , HelpMessage = StorSimpleCmdletHelpMessage . IPv6Prefix ) ]
87
95
[ ValidateNotNullOrEmpty ]
88
96
public string IPv6Prefix { get ; set ; }
89
97
90
98
/// <summary>
91
99
/// IPv4 netmask for this interface
92
100
/// </summary>
93
- [ Parameter ( Mandatory = false , Position = 8 , HelpMessage = StorSimpleCmdletHelpMessage . IPv4Netmask ) ]
101
+ [ Parameter ( Mandatory = false , Position = 9 , HelpMessage = StorSimpleCmdletHelpMessage . IPv4Netmask ) ]
94
102
[ ValidateNotNullOrEmpty ]
95
103
public string IPv4Netmask { get ; set ; }
96
104
97
- /// <summary>
98
- /// Interface alias of interface for which settings are being supplied. A value
99
- /// from Data0 to Data5
100
- /// </summary>
101
- [ Parameter ( Mandatory = true , Position = 9 , HelpMessage = StorSimpleCmdletHelpMessage . InterfaceAlias ) ]
102
- [ ValidateSetAttribute ( new string [ ] { "Data0" , "Data1" , "Data2" , "Data3" , "Data4" , "Data5" } ) ]
103
- public string InterfaceAlias { get ; set ; }
104
105
#endregion
105
106
106
107
private IPAddress controller0Address ;
@@ -113,13 +114,9 @@ public class NewAzureStorSimpleNetworkConfig : StorSimpleCmdletBase
113
114
114
115
public override void ExecuteCmdlet ( )
115
116
{
116
- if ( ! ProcessParameters ( ) )
117
- {
118
- WriteObject ( null ) ;
119
- return ;
120
- }
121
117
try
122
118
{
119
+ ProcessParameters ( ) ;
123
120
var netConfig = new NetworkConfig
124
121
{
125
122
IsIscsiEnabled = EnableIscsi ,
@@ -144,63 +141,39 @@ public override void ExecuteCmdlet()
144
141
}
145
142
}
146
143
147
- private bool ProcessParameters ( ) {
144
+ private void ProcessParameters ( ) {
148
145
// parse interfaceAlias
149
146
if ( ! Enum . TryParse < NetInterfaceId > ( InterfaceAlias , out interfaceAlias ) )
150
147
{
151
- WriteVerbose ( string . Format ( Resources . InvalidInterfaceId , InterfaceAlias ) ) ;
152
- return false ;
148
+ throw new ArgumentException ( string . Format ( Resources . InvalidInterfaceId , InterfaceAlias ) ) ;
153
149
}
154
150
155
151
// Try and set all the IP address
156
- if ( ! TrySetIPAddress ( Controller0IPv4Address , out controller0Address , "Controller0IPv4Address" ) )
157
- {
158
- return false ;
159
- }
160
- if ( ! TrySetIPAddress ( Controller1IPv4Address , out controller1Address , "Controller1IPv4Address" ) )
161
- {
162
- return false ;
163
- }
164
- if ( ! TrySetIPAddress ( IPv4Address , out ipv4Address , "IPv4Address" ) )
165
- {
166
- return false ;
167
- }
168
- if ( ! TrySetIPAddress ( IPv4Gateway , out ipv4Gateway , "IPv4Gateway" ) )
169
- {
170
- return false ;
171
- }
172
- if ( ! TrySetIPAddress ( IPv4Netmask , out ipv4Netmask , "IPv4Netmask" ) )
173
- {
174
- return false ;
175
- }
176
- if ( ! TrySetIPAddress ( IPv6Gateway , out ipv6Gateway , "IPv6Gateway" ) )
177
- {
178
- return false ;
179
- }
152
+ TrySetIPAddress ( Controller0IPv4Address , out controller0Address , "Controller0IPv4Address" ) ;
153
+ TrySetIPAddress ( Controller1IPv4Address , out controller1Address , "Controller1IPv4Address" ) ;
154
+ TrySetIPAddress ( IPv4Address , out ipv4Address , "IPv4Address" ) ;
155
+ TrySetIPAddress ( IPv4Gateway , out ipv4Gateway , "IPv4Gateway" ) ;
156
+ TrySetIPAddress ( IPv4Netmask , out ipv4Netmask , "IPv4Netmask" ) ;
157
+ TrySetIPAddress ( IPv6Gateway , out ipv6Gateway , "IPv6Gateway" ) ;
180
158
181
159
// Only EnableIscsi, Controller0 and controller1 IP Addresses can be set on Data0
182
160
if ( InterfaceAlias == NetInterfaceId . Data0 . ToString ( ) )
183
161
{
184
162
if ( IPv4Address != null || IPv4Gateway != null || IPv4Netmask != null
185
163
&& IPv6Gateway != null || IPv6Prefix != null || EnableCloud != null )
186
164
{
187
- WriteVerbose ( Resources . NetworkConfigData0AllowedSettings ) ;
188
- return false ;
165
+ throw new ArgumentException ( Resources . NetworkConfigData0AllowedSettings ) ;
189
166
}
190
167
}
191
168
// On other interfaces (non-Data0), Controller0 and Controller1 IP Addresses cannot be set
192
169
else
193
170
{
194
171
if ( Controller0IPv4Address != null || Controller1IPv4Address != null )
195
172
{
196
- WriteVerbose ( Resources . NetworkConfigControllerIPsNotAllowedOnOthers ) ;
197
- return false ;
173
+ throw new ArgumentException ( Resources . NetworkConfigControllerIPsNotAllowedOnOthers ) ;
198
174
}
199
175
}
200
-
201
- return true ;
202
176
}
203
-
204
177
}
205
178
}
206
179
0 commit comments