@@ -38,46 +38,62 @@ public class AddAzureRMAccountCommand : AzureRMCmdlet , IModuleAssemblyInitializ
38
38
private const string ServicePrincipalParameterSet = "ServicePrincipal" ;
39
39
private const string ServicePrincipalCertificateParameterSet = "ServicePrincipalCertificate" ;
40
40
private const string AccessTokenParameterSet = "AccessToken" ;
41
+ private const string SubscriptionNameParameterSet = "SubscriptionName" ;
42
+ private const string SubscriptionIdParameterSet = "SubscriptionId" ;
41
43
42
44
[ Parameter ( Mandatory = false , HelpMessage = "Environment containing the account to log into" ) ]
43
45
[ ValidateNotNullOrEmpty ]
44
46
public AzureEnvironment Environment { get ; set ; }
45
47
46
48
[ Parameter ( ParameterSetName = UserParameterSet , Mandatory = false , HelpMessage = "Optional credential" ) ]
47
49
[ Parameter ( ParameterSetName = ServicePrincipalParameterSet , Mandatory = true , HelpMessage = "Credential" ) ]
50
+ [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "Optional credential" ) ]
51
+ [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "Optional credential" ) ]
48
52
public PSCredential Credential { get ; set ; }
49
53
50
54
[ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet , Mandatory = true , HelpMessage = "Certificate Hash (Thumbprint)" ) ]
55
+ [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "Certificate Hash (Thumbprint)" ) ]
56
+ [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "Certificate Hash (Thumbprint)" ) ]
51
57
public string CertificateThumbprint { get ; set ; }
52
58
53
59
[ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet , Mandatory = true , HelpMessage = "SPN" ) ]
60
+ [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "SPN" ) ]
61
+ [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "SPN" ) ]
54
62
public string ApplicationId { get ; set ; }
55
63
56
64
[ Parameter ( ParameterSetName = ServicePrincipalParameterSet , Mandatory = true ) ]
57
65
[ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet , Mandatory = true ) ]
66
+ [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false ) ]
67
+ [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false ) ]
58
68
public SwitchParameter ServicePrincipal { get ; set ; }
59
69
60
70
[ Parameter ( ParameterSetName = UserParameterSet , Mandatory = false , HelpMessage = "Optional tenant name or ID" ) ]
61
71
[ Parameter ( ParameterSetName = ServicePrincipalParameterSet , Mandatory = true , HelpMessage = "TenantId name or ID" ) ]
62
72
[ Parameter ( ParameterSetName = AccessTokenParameterSet , Mandatory = false , HelpMessage = "TenantId name or ID" ) ]
63
73
[ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet , Mandatory = true , HelpMessage = "TenantId name or ID" ) ]
74
+ [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "TenantId name or ID" ) ]
75
+ [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "TenantId name or ID" ) ]
64
76
[ Alias ( "Domain" ) ]
65
77
[ ValidateNotNullOrEmpty ]
66
78
public string TenantId { get ; set ; }
67
79
68
80
[ Parameter ( ParameterSetName = AccessTokenParameterSet , Mandatory = true , HelpMessage = "AccessToken" ) ]
81
+ [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "AccessToken" ) ]
82
+ [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "AccessToken" ) ]
69
83
[ ValidateNotNullOrEmpty ]
70
84
public string AccessToken { get ; set ; }
71
85
72
86
[ Parameter ( ParameterSetName = AccessTokenParameterSet , Mandatory = true , HelpMessage = "Account Id for access token" ) ]
87
+ [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "Account Id for access token" ) ]
88
+ [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "Account Id for access token" ) ]
73
89
[ ValidateNotNullOrEmpty ]
74
90
public string AccountId { get ; set ; }
75
91
76
- [ Parameter ( Mandatory = false , HelpMessage = "Subscription Id" ) ]
92
+ [ Parameter ( ParameterSetName = SubscriptionIdParameterSet , Mandatory = false , HelpMessage = "Subscription" , ValueFromPipelineByPropertyName = true ) ]
77
93
[ ValidateNotNullOrEmpty ]
78
94
public string SubscriptionId { get ; set ; }
79
95
80
- [ Parameter ( Mandatory = false , HelpMessage = "Subscription name" ) ]
96
+ [ Parameter ( ParameterSetName = SubscriptionNameParameterSet , Mandatory = false , HelpMessage = "Subscription Name" , ValueFromPipelineByPropertyName = true ) ]
81
97
[ ValidateNotNullOrEmpty ]
82
98
public string SubscriptionName { get ; set ; }
83
99
0 commit comments