Skip to content

Commit e56ce3a

Browse files
committed
Add position to Credential parameter, change parameter sets to include either SubscriptionId or SubscriptionName
1 parent 6c23f68 commit e56ce3a

File tree

1 file changed

+46
-40
lines changed

1 file changed

+46
-40
lines changed

src/ResourceManager/Profile/Commands.Profile/Account/AddAzureRmAccount.cs

Lines changed: 46 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,14 @@ namespace Microsoft.Azure.Commands.Profile
3434
[OutputType(typeof(PSAzureProfile))]
3535
public class AddAzureRMAccountCommand : AzureRMCmdlet, IModuleAssemblyInitializer
3636
{
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";
4345

4446
[Parameter(Mandatory = false, HelpMessage = "Environment containing the account to log into")]
4547
[ValidateNotNullOrEmpty]
@@ -50,56 +52,60 @@ public class AddAzureRMAccountCommand : AzureRMCmdlet, IModuleAssemblyInitialize
5052

5153
public string EnvironmentName { get; set; }
5254

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, Mandatory = false, HelpMessage = "Optional credential", Position = 0)]
57+
[Parameter(ParameterSetName = UserParameterSetWithSubscriptionName, Mandatory = false, HelpMessage = "Optional credential", Position = 0)]
58+
[Parameter(ParameterSetName = ServicePrincipalParameterSetWithSubscriptionId, Mandatory = true, HelpMessage = "Credential")]
59+
[Parameter(ParameterSetName = ServicePrincipalParameterSetWithSubscriptionName, Mandatory = true, HelpMessage = "Credential")]
5860
public PSCredential Credential { get; set; }
5961

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)")]
62+
[Parameter(ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionId, Mandatory = true, HelpMessage = "Certificate Hash (Thumbprint)")]
63+
[Parameter(ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionName, Mandatory = true, HelpMessage = "Certificate Hash (Thumbprint)")]
6364
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")]
65+
66+
[Parameter(ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionId, Mandatory = true, HelpMessage = "SPN")]
67+
[Parameter(ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionName, Mandatory = true, HelpMessage = "SPN")]
6868
public string ApplicationId { get; set; }
6969

70-
[Parameter(ParameterSetName = ServicePrincipalParameterSet, Mandatory = true)]
71-
[Parameter(ParameterSetName = ServicePrincipalCertificateParameterSet, Mandatory = true)]
70+
[Parameter(ParameterSetName = ServicePrincipalParameterSetWithSubscriptionId, Mandatory = true)]
71+
[Parameter(ParameterSetName = ServicePrincipalParameterSetWithSubscriptionName, Mandatory = true)]
72+
[Parameter(ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionId, Mandatory = true)]
73+
[Parameter(ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionName, Mandatory = true)]
7274
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")]
75+
76+
[Parameter(ParameterSetName = UserParameterSetWithSubscriptionId, Mandatory = false, HelpMessage = "Optional tenant name or ID")]
77+
[Parameter(ParameterSetName = UserParameterSetWithSubscriptionName, Mandatory = false, HelpMessage = "Optional tenant name or ID")]
78+
[Parameter(ParameterSetName = ServicePrincipalParameterSetWithSubscriptionId, Mandatory = true, HelpMessage = "Tenant name or ID")]
79+
[Parameter(ParameterSetName = ServicePrincipalParameterSetWithSubscriptionName, Mandatory = true, HelpMessage = "Tenant name or ID")]
80+
[Parameter(ParameterSetName = AccessTokenParameterSetWithSubscriptionId, Mandatory = false, HelpMessage = "Tenant name or ID")]
81+
[Parameter(ParameterSetName = AccessTokenParameterSetWithSubscriptionName, Mandatory = false, HelpMessage = "Tenant name or ID")]
82+
[Parameter(ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionId, Mandatory = true, HelpMessage = "Tenant name or ID")]
83+
[Parameter(ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionName, Mandatory = true, HelpMessage = "Tenant name or ID")]
8084
[Alias("Domain")]
8185
[ValidateNotNullOrEmpty]
8286
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")]
87+
88+
[Parameter(ParameterSetName = AccessTokenParameterSetWithSubscriptionId, Mandatory = true, HelpMessage = "AccessToken")]
89+
[Parameter(ParameterSetName = AccessTokenParameterSetWithSubscriptionName, Mandatory = true, HelpMessage = "AccessToken")]
8790
[ValidateNotNullOrEmpty]
8891
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")]
92+
93+
[Parameter(ParameterSetName = AccessTokenParameterSetWithSubscriptionId, Mandatory = true, HelpMessage = "Account Id for access token")]
94+
[Parameter(ParameterSetName = AccessTokenParameterSetWithSubscriptionName, Mandatory = true, HelpMessage = "Account Id for access token")]
9395
[ValidateNotNullOrEmpty]
9496
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)]
97+
98+
[Parameter(ParameterSetName = UserParameterSetWithSubscriptionId, Mandatory = false, HelpMessage = "Subscription ID", ValueFromPipeline = true)]
99+
[Parameter(ParameterSetName = ServicePrincipalParameterSetWithSubscriptionId, Mandatory = false, HelpMessage = "Subscription ID", ValueFromPipeline = true)]
100+
[Parameter(ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionId, Mandatory = false, HelpMessage = "Subscription ID", ValueFromPipeline = true)]
101+
[Parameter(ParameterSetName = AccessTokenParameterSetWithSubscriptionId, Mandatory = false, HelpMessage = "Subscription ID", ValueFromPipeline = true)]
98102
[ValidateNotNullOrEmpty]
99103
public string SubscriptionId { get; set; }
100104

101-
[Parameter(ParameterSetName = SubscriptionNameParameterSet, Mandatory = false, HelpMessage = "Subscription Name", ValueFromPipelineByPropertyName = true)]
102-
[Parameter(ParameterSetName = ServicePrincipalParameterSet, Mandatory = false, HelpMessage = "Subscription Name", ValueFromPipelineByPropertyName = true)]
105+
[Parameter(ParameterSetName = UserParameterSetWithSubscriptionName, Mandatory = true, HelpMessage = "Subscription Name", ValueFromPipeline = true)]
106+
[Parameter(ParameterSetName = ServicePrincipalParameterSetWithSubscriptionName, Mandatory = true, HelpMessage = "Subscription Name", ValueFromPipeline = true)]
107+
[Parameter(ParameterSetName = ServicePrincipalCertificateParameterSetWithSubscriptionName, Mandatory = true, HelpMessage = "Subscription Name", ValueFromPipeline = true)]
108+
[Parameter(ParameterSetName = AccessTokenParameterSetWithSubscriptionName, Mandatory = true, HelpMessage = "Subscription Name", ValueFromPipeline = true)]
103109
[ValidateNotNullOrEmpty]
104110
public string SubscriptionName { get; set; }
105111

0 commit comments

Comments
 (0)