@@ -29,17 +29,19 @@ namespace Microsoft.Azure.Commands.Profile
29
29
/// <summary>
30
30
/// Cmdlet to log into an environment and download the subscriptions
31
31
/// </summary>
32
- [ Cmdlet ( "Add" , "AzureRmAccount" , DefaultParameterSetName = "User " , SupportsShouldProcess = true ) ]
32
+ [ Cmdlet ( "Add" , "AzureRmAccount" , DefaultParameterSetName = "UserWithSubscriptionId " , SupportsShouldProcess = true ) ]
33
33
[ Alias ( "Login-AzureRmAccount" ) ]
34
34
[ OutputType ( typeof ( PSAzureProfile ) ) ]
35
35
public class AddAzureRMAccountCommand : AzureRMCmdlet , IModuleAssemblyInitializer
36
36
{
37
- private const string UserParameterSet = "User" ;
38
- private const string ServicePrincipalParameterSet = "ServicePrincipal" ;
39
- private const string ServicePrincipalCertificateParameterSet = "ServicePrincipalCertificate" ;
40
- private const string AccessTokenParameterSet = "AccessToken" ;
41
- private const string SubscriptionNameParameterSet = "SubscriptionName" ;
42
- private const string SubscriptionIdParameterSet = "SubscriptionId" ;
37
+ private const string UserParameterSetWithSubscriptionId = "UserWithSubscriptionId" ;
38
+ private const string UserParameterSetWithSubscriptionName = "UserWithSubscriptionName" ;
39
+ private const string ServicePrincipalParameterSetWithSubscriptionId = "ServicePrincipalWithSubscriptionId" ;
40
+ private const string ServicePrincipalParameterSetWithSubscriptionName = "ServicePrincipalWithSubscriptionName" ;
41
+ private const string ServicePrincipalCertificateParameterSetWithSubscriptionId = "ServicePrincipalCertificateWithSubscriptionId" ;
42
+ private const string ServicePrincipalCertificateParameterSetWithSubscriptionName = "ServicePrincipalCertificateWithSubscriptionName" ;
43
+ private const string AccessTokenParameterSetWithSubscriptionId = "AccessTokenWithSubscriptionId" ;
44
+ private const string AccessTokenParameterSetWithSubscriptionName = "AccessTokenWithSubscriptionName" ;
43
45
44
46
[ Parameter ( Mandatory = false , HelpMessage = "Environment containing the account to log into" ) ]
45
47
[ ValidateNotNullOrEmpty ]
@@ -50,56 +52,92 @@ public class AddAzureRMAccountCommand : AzureRMCmdlet, IModuleAssemblyInitialize
50
52
51
53
public string EnvironmentName { get ; set ; }
52
54
53
-
54
- [ Parameter ( ParameterSetName = UserParameterSet , Mandatory = false , HelpMessage = "Optional credential" ) ]
55
- [ Parameter ( ParameterSetName = ServicePrincipalParameterSet , Mandatory = true , HelpMessage = "Credential" ) ]
56
- [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "Optional credential" ) ]
57
- [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "Optional credential" ) ]
55
+
56
+ [ Parameter ( ParameterSetName = UserParameterSetWithSubscriptionId ,
57
+ Mandatory = false , HelpMessage = "Optional credential" , Position = 0 ) ]
58
+ [ Parameter ( ParameterSetName = UserParameterSetWithSubscriptionName ,
59
+ Mandatory = false , HelpMessage = "Optional credential" , Position = 0 ) ]
60
+ [ Parameter ( ParameterSetName = ServicePrincipalParameterSetWithSubscriptionId ,
61
+ Mandatory = true , HelpMessage = "Credential" ) ]
62
+ [ Parameter ( ParameterSetName = ServicePrincipalParameterSetWithSubscriptionName ,
63
+ Mandatory = true , HelpMessage = "Credential" ) ]
58
64
public PSCredential Credential { get ; set ; }
59
65
60
- [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet , Mandatory = true , HelpMessage = "Certificate Hash (Thumbprint)" ) ]
61
- [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "Certificate Hash (Thumbprint)" ) ]
62
- [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "Certificate Hash (Thumbprint)" ) ]
66
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionId ,
67
+ Mandatory = true , HelpMessage = "Certificate Hash (Thumbprint)" ) ]
68
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionName ,
69
+ Mandatory = true , HelpMessage = "Certificate Hash (Thumbprint)" ) ]
63
70
public string CertificateThumbprint { get ; set ; }
64
-
65
- [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet , Mandatory = true , HelpMessage = "SPN" ) ]
66
- [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "SPN" ) ]
67
- [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "SPN" ) ]
71
+
72
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionId ,
73
+ Mandatory = true , HelpMessage = "SPN" ) ]
74
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionName ,
75
+ Mandatory = true , HelpMessage = "SPN" ) ]
68
76
public string ApplicationId { get ; set ; }
69
77
70
- [ Parameter ( ParameterSetName = ServicePrincipalParameterSet , Mandatory = true ) ]
71
- [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet , Mandatory = true ) ]
78
+ [ Parameter ( ParameterSetName = ServicePrincipalParameterSetWithSubscriptionId ,
79
+ Mandatory = true ) ]
80
+ [ Parameter ( ParameterSetName = ServicePrincipalParameterSetWithSubscriptionName ,
81
+ Mandatory = true ) ]
82
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionId ,
83
+ Mandatory = true ) ]
84
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionName ,
85
+ Mandatory = true ) ]
72
86
public SwitchParameter ServicePrincipal { get ; set ; }
73
-
74
- [ Parameter ( ParameterSetName = UserParameterSet , Mandatory = false , HelpMessage = "Optional tenant name or ID" ) ]
75
- [ Parameter ( ParameterSetName = ServicePrincipalParameterSet , Mandatory = true , HelpMessage = "TenantId name or ID" ) ]
76
- [ Parameter ( ParameterSetName = AccessTokenParameterSet , Mandatory = false , HelpMessage = "TenantId name or ID" ) ]
77
- [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet , Mandatory = true , HelpMessage = "TenantId name or ID" ) ]
78
- [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "TenantId name or ID" ) ]
79
- [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "TenantId name or ID" ) ]
87
+
88
+ [ Parameter ( ParameterSetName = UserParameterSetWithSubscriptionId ,
89
+ Mandatory = false , HelpMessage = "Optional tenant name or ID" ) ]
90
+ [ Parameter ( ParameterSetName = UserParameterSetWithSubscriptionName ,
91
+ Mandatory = false , HelpMessage = "Optional tenant name or ID" ) ]
92
+ [ Parameter ( ParameterSetName = ServicePrincipalParameterSetWithSubscriptionId ,
93
+ Mandatory = true , HelpMessage = "Tenant name or ID" ) ]
94
+ [ Parameter ( ParameterSetName = ServicePrincipalParameterSetWithSubscriptionName ,
95
+ Mandatory = true , HelpMessage = "Tenant name or ID" ) ]
96
+ [ Parameter ( ParameterSetName = AccessTokenParameterSetWithSubscriptionId ,
97
+ Mandatory = false , HelpMessage = "Tenant name or ID" ) ]
98
+ [ Parameter ( ParameterSetName = AccessTokenParameterSetWithSubscriptionName ,
99
+ Mandatory = false , HelpMessage = "Tenant name or ID" ) ]
100
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionId ,
101
+ Mandatory = true , HelpMessage = "Tenant name or ID" ) ]
102
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionName ,
103
+ Mandatory = true , HelpMessage = "Tenant name or ID" ) ]
80
104
[ Alias ( "Domain" ) ]
81
105
[ ValidateNotNullOrEmpty ]
82
106
public string TenantId { get ; set ; }
83
-
84
- [ Parameter ( ParameterSetName = AccessTokenParameterSet , Mandatory = true , HelpMessage = "AccessToken" ) ]
85
- [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "AccessToken" ) ]
86
- [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "AccessToken" ) ]
107
+
108
+ [ Parameter ( ParameterSetName = AccessTokenParameterSetWithSubscriptionId ,
109
+ Mandatory = true , HelpMessage = "AccessToken" ) ]
110
+ [ Parameter ( ParameterSetName = AccessTokenParameterSetWithSubscriptionName ,
111
+ Mandatory = true , HelpMessage = "AccessToken" ) ]
87
112
[ ValidateNotNullOrEmpty ]
88
113
public string AccessToken { get ; set ; }
89
-
90
- [ Parameter ( ParameterSetName = AccessTokenParameterSet , Mandatory = true , HelpMessage = "Account Id for access token" ) ]
91
- [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "Account Id for access token" ) ]
92
- [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "Account Id for access token" ) ]
114
+
115
+ [ Parameter ( ParameterSetName = AccessTokenParameterSetWithSubscriptionId ,
116
+ Mandatory = true , HelpMessage = "Account Id for access token" ) ]
117
+ [ Parameter ( ParameterSetName = AccessTokenParameterSetWithSubscriptionName ,
118
+ Mandatory = true , HelpMessage = "Account Id for access token" ) ]
93
119
[ ValidateNotNullOrEmpty ]
94
120
public string AccountId { get ; set ; }
95
-
96
- [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "Subscription" , ValueFromPipelineByPropertyName = true ) ]
97
- [ Parameter ( ParameterSetName = ServicePrincipalParameterSet , Mandatory = false , HelpMessage = "Subscription" , ValueFromPipelineByPropertyName = true ) ]
121
+
122
+ [ Parameter ( ParameterSetName = UserParameterSetWithSubscriptionId ,
123
+ Mandatory = false , HelpMessage = "Subscription ID" , ValueFromPipeline = true ) ]
124
+ [ Parameter ( ParameterSetName = ServicePrincipalParameterSetWithSubscriptionId ,
125
+ Mandatory = false , HelpMessage = "Subscription ID" , ValueFromPipeline = true ) ]
126
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionId ,
127
+ Mandatory = false , HelpMessage = "Subscription ID" , ValueFromPipeline = true ) ]
128
+ [ Parameter ( ParameterSetName = AccessTokenParameterSetWithSubscriptionId ,
129
+ Mandatory = false , HelpMessage = "Subscription ID" , ValueFromPipeline = true ) ]
98
130
[ ValidateNotNullOrEmpty ]
99
131
public string SubscriptionId { get ; set ; }
100
132
101
- [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "Subscription Name" , ValueFromPipelineByPropertyName = true ) ]
102
- [ Parameter ( ParameterSetName = ServicePrincipalParameterSet , Mandatory = false , HelpMessage = "Subscription Name" , ValueFromPipelineByPropertyName = true ) ]
133
+ [ Parameter ( ParameterSetName = UserParameterSetWithSubscriptionName ,
134
+ Mandatory = true , HelpMessage = "Subscription Name" , ValueFromPipeline = true ) ]
135
+ [ Parameter ( ParameterSetName = ServicePrincipalParameterSetWithSubscriptionName ,
136
+ Mandatory = true , HelpMessage = "Subscription Name" , ValueFromPipeline = true ) ]
137
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionName ,
138
+ Mandatory = true , HelpMessage = "Subscription Name" , ValueFromPipeline = true ) ]
139
+ [ Parameter ( ParameterSetName = AccessTokenParameterSetWithSubscriptionName ,
140
+ Mandatory = true , HelpMessage = "Subscription Name" , ValueFromPipeline = true ) ]
103
141
[ ValidateNotNullOrEmpty ]
104
142
public string SubscriptionName { get ; set ; }
105
143
0 commit comments