14
14
15
15
using Microsoft . Azure . Commands . Common . Authentication ;
16
16
using Microsoft . Azure . Commands . Common . Authentication . Abstractions ;
17
+ using Microsoft . Azure . Commands . Common . Authentication . ResourceManager ;
18
+ using Microsoft . Azure . Commands . Profile . Common ;
17
19
using Microsoft . Azure . Commands . Profile . Models ;
18
20
using Microsoft . Azure . Commands . Profile . Properties ;
19
21
using Microsoft . Azure . Commands . ResourceManager . Common ;
@@ -29,7 +31,7 @@ namespace Microsoft.Azure.Commands.Profile.Default
29
31
[ Cmdlet ( VerbsCommon . Set , "AzureRmDefault" , DefaultParameterSetName = ResourceGroupNameParameterSet ,
30
32
SupportsShouldProcess = true ) ]
31
33
[ OutputType ( typeof ( PSResourceGroup ) ) ]
32
- public class SetAzureRMDefaultCommand : AzureRMCmdlet
34
+ public class SetAzureRMDefaultCommand : AzureContextModificationCmdlet
33
35
{
34
36
private const string ResourceGroupNameParameterSet = "ResourceGroupName" ;
35
37
@@ -43,28 +45,34 @@ public class SetAzureRMDefaultCommand : AzureRMCmdlet
43
45
public override void ExecuteCmdlet ( )
44
46
{
45
47
IAzureContext context = AzureRmProfileProvider . Instance . Profile . DefaultContext ;
46
- IResourceManagementClient client = AzureSession . Instance . ClientFactory . CreateCustomArmClient < ResourceManagementClient > (
48
+ IResourceManagementClient resourceManagementclient = AzureSession . Instance . ClientFactory . CreateCustomArmClient < ResourceManagementClient > (
47
49
context . Environment . GetEndpointAsUri ( AzureEnvironment . Endpoint . ResourceManager ) ,
48
50
AzureSession . Instance . AuthenticationFactory . GetServiceClientCredentials ( context , AzureEnvironment . Endpoint . ResourceManager ) ,
49
51
AzureSession . Instance . ClientFactory . GetCustomHandlers ( ) ) ;
50
- client . SubscriptionId = context . Subscription . Id ;
52
+ resourceManagementclient . SubscriptionId = context . Subscription . Id ;
51
53
52
54
if ( ResourceGroupName != null )
53
55
{
54
56
ResourceGroup defaultResourceGroup ;
55
57
if ( ShouldProcess ( Resources . DefaultResourceGroupTarget , string . Format ( Resources . DefaultResourceGroupChangeWarning , ResourceGroupName ) ) )
56
58
{
57
- if ( ! client . ResourceGroups . CheckExistence ( ResourceGroupName ) && ( Force . IsPresent || ShouldContinue ( string . Format ( Resources . CreateResourceGroupMessage , ResourceGroupName ) , Resources . CreateResourceGroupCaption ) ) )
59
+ if ( ! resourceManagementclient . ResourceGroups . CheckExistence ( ResourceGroupName ) && ( Force . IsPresent || ShouldContinue ( string . Format ( Resources . CreateResourceGroupMessage , ResourceGroupName ) , Resources . CreateResourceGroupCaption ) ) )
58
60
{
59
61
ResourceGroup parameters = new ResourceGroup ( "West US" ) ;
60
- client . ResourceGroups . CreateOrUpdate ( ResourceGroupName , parameters ) ;
62
+ resourceManagementclient . ResourceGroups . CreateOrUpdate ( ResourceGroupName , parameters ) ;
61
63
}
62
- defaultResourceGroup = client . ResourceGroups . Get ( ResourceGroupName ) ;
63
- context . SetProperty ( Resources . DefaultResourceGroupKey , defaultResourceGroup . Name ) ;
64
64
65
+ defaultResourceGroup = resourceManagementclient . ResourceGroups . Get ( ResourceGroupName ) ;
66
+ ModifyContext ( ( profile , client ) => SetDefaultProperty ( profile ) ) ;
65
67
WriteObject ( defaultResourceGroup ) ;
66
68
}
67
69
}
68
70
}
71
+
72
+ private void SetDefaultProperty ( IProfileOperations profile )
73
+ {
74
+ var context = profile . DefaultContext ;
75
+ context . SetProperty ( Resources . DefaultResourceGroupKey , ResourceGroupName ) ;
76
+ }
69
77
}
70
78
}
0 commit comments