diff --git a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/Commands.ExpressRoute.csproj b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/Commands.ExpressRoute.csproj index c312fc201380..cc517dd9b20f 100644 --- a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/Commands.ExpressRoute.csproj +++ b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/Commands.ExpressRoute.csproj @@ -81,9 +81,8 @@ False ..\..\..\packages\Microsoft.WindowsAzure.Management.4.1.1\lib\net40\Microsoft.WindowsAzure.Management.dll - - False - ..\..\..\packages\Microsoft.WindowsAzure.Management.ExpressRoute.0.18.2-preview\lib\net40\Microsoft.WindowsAzure.Management.ExpressRoute.dll + + ..\..\..\packages\Microsoft.WindowsAzure.Management.ExpressRoute.0.18.3-preview\lib\net40\Microsoft.WindowsAzure.Management.ExpressRoute.dll ..\..\..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll @@ -135,7 +134,7 @@ - + diff --git a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/DedicatedCircuitBandwidths/SetAzureDedicatedCircuitBandwidth.cs b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/DedicatedCircuitProperties/SetAzureDedicatedCircuitProperties.cs similarity index 77% rename from src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/DedicatedCircuitBandwidths/SetAzureDedicatedCircuitBandwidth.cs rename to src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/DedicatedCircuitProperties/SetAzureDedicatedCircuitProperties.cs index 24d48511424f..cdb5c7af687b 100644 --- a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/DedicatedCircuitBandwidths/SetAzureDedicatedCircuitBandwidth.cs +++ b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/DedicatedCircuitProperties/SetAzureDedicatedCircuitProperties.cs @@ -20,8 +20,8 @@ namespace Microsoft.WindowsAzure.Commands.ExpressRoute { using Management.ExpressRoute.Models; - [Cmdlet(VerbsCommon.Set, "AzureDedicatedCircuitBandwidth"), OutputType(typeof(AzureDedicatedCircuit))] - public class SetAzureDedicatedCircuitBandwidthCommand : ExpressRouteBaseCmdlet + [Cmdlet(VerbsCommon.Set, "AzureDedicatedCircuitProperties"), OutputType(typeof(AzureDedicatedCircuit))] + public class SetAzureDedicatedCircuitPropertiesCommand : ExpressRouteBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Service Key of Azure Dedicated Circuit to be removed")] @@ -29,9 +29,11 @@ public class SetAzureDedicatedCircuitBandwidthCommand : ExpressRouteBaseCmdlet [ValidateNotNullOrEmpty] public string ServiceKey { get; set; } - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Circuit Bandwidth")] - [ValidateNotNullOrEmpty] - public UInt32 Bandwidth { get; set; } + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Circuit Bandwidth")] + public UInt32? Bandwidth { get; set; } + + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Circuit Sku")] + public CircuitSku? Sku { get; set; } [Parameter(HelpMessage = "Do not confirm Azure Dedicated Circuit Update")] public SwitchParameter Force { get; set; } @@ -45,7 +47,7 @@ public override void ExecuteCmdlet() ServiceKey, () => { - var circuit = ExpressRouteClient.SetAzureDedicatedCircuitBandwidth(ServiceKey, Bandwidth); + var circuit = ExpressRouteClient.SetAzureDedicatedCircuitProperties(ServiceKey, Bandwidth, Sku); WriteObject(circuit); diff --git a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/DedicatedCircuits/NewAzureDedicatedCircuit.cs b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/DedicatedCircuits/NewAzureDedicatedCircuit.cs index 5a0637383917..aefc1a65f13e 100644 --- a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/DedicatedCircuits/NewAzureDedicatedCircuit.cs +++ b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/DedicatedCircuits/NewAzureDedicatedCircuit.cs @@ -37,6 +37,9 @@ public class NewAzureDedicatedCircuitCommand : ExpressRouteBaseCmdlet [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Circuit Service Provider Name")] public string ServiceProviderName { get; set; } + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Circuit Sku")] + public CircuitSku Sku { get; set; } + [Parameter(HelpMessage = "Do not confirm Azure Dedicated Circuit creation")] public SwitchParameter Force { get; set; } @@ -50,7 +53,7 @@ public override void ExecuteCmdlet() () => { var circuit = ExpressRouteClient.NewAzureDedicatedCircuit(CircuitName, Bandwidth, Location, - ServiceProviderName); + ServiceProviderName, Sku); WriteVerboseWithTimestamp(Resources.NewAzureDedicatedCircuitSucceeded); WriteObject(circuit); }); diff --git a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteClient.cs b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteClient.cs index b6619d3c79c0..3a6a4b28f34e 100644 --- a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteClient.cs +++ b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteClient.cs @@ -115,14 +115,15 @@ public AzureDedicatedCircuit GetAzureDedicatedCircuit(string serviceKey) } public AzureDedicatedCircuit NewAzureDedicatedCircuit(string circuitName, - UInt32 bandwidth, string location, string serviceProviderName) + UInt32 bandwidth, string location, string serviceProviderName, CircuitSku sku) { var result = Client.DedicatedCircuits.New(new DedicatedCircuitNewParameters() { Bandwidth = bandwidth, CircuitName = circuitName, Location = location, - ServiceProviderName = serviceProviderName + ServiceProviderName = serviceProviderName, + Sku = sku }); if (result.HttpStatusCode.Equals(HttpStatusCode.OK)) @@ -140,12 +141,21 @@ public IEnumerable ListAzureDedicatedCircuit() return (Client.DedicatedCircuits.List().DedicatedCircuits); } - public AzureDedicatedCircuit SetAzureDedicatedCircuitBandwidth(string serviceKey, UInt32 bandwidth) + public AzureDedicatedCircuit SetAzureDedicatedCircuitProperties(string serviceKey, UInt32? bandwidth, CircuitSku? sku) { - var result = Client.DedicatedCircuits.Update(serviceKey, (new DedicatedCircuitUpdateParameters() + var updateParams = new DedicatedCircuitUpdateParameters() {}; + + if (bandwidth.HasValue) + { + updateParams.Bandwidth = bandwidth.Value.ToString(); + } + + if (sku.HasValue) { - Bandwidth = bandwidth - })); + updateParams.Sku = sku.Value.ToString(); + } + + var result = Client.DedicatedCircuits.Update(serviceKey, updateParams); if (result.HttpStatusCode.Equals(HttpStatusCode.OK)) { diff --git a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/packages.config b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/packages.config index c70869dd577d..3728d2eaab9b 100644 --- a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/packages.config +++ b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/packages.config @@ -11,6 +11,6 @@ - + \ No newline at end of file diff --git a/src/ServiceManagement/Services/Commands.Test/Commands.Test.csproj b/src/ServiceManagement/Services/Commands.Test/Commands.Test.csproj index ca6a3ceb8bd7..aa199276210e 100644 --- a/src/ServiceManagement/Services/Commands.Test/Commands.Test.csproj +++ b/src/ServiceManagement/Services/Commands.Test/Commands.Test.csproj @@ -117,7 +117,7 @@ ..\..\..\packages\Microsoft.WindowsAzure.Management.Compute.9.2.1\lib\net40\Microsoft.WindowsAzure.Management.Compute.dll - ..\..\..\packages\Microsoft.WindowsAzure.Management.ExpressRoute.0.18.2-preview\lib\net40\Microsoft.WindowsAzure.Management.ExpressRoute.dll + ..\..\..\packages\Microsoft.WindowsAzure.Management.ExpressRoute.0.18.3-preview\lib\net40\Microsoft.WindowsAzure.Management.ExpressRoute.dll ..\..\..\packages\Microsoft.WindowsAzure.Management.MediaServices.4.0.0\lib\net40\Microsoft.WindowsAzure.Management.MediaServices.dll @@ -316,6 +316,7 @@ Designer PreserveNewest + PreserveNewest diff --git a/src/ServiceManagement/Services/Commands.Test/packages.config b/src/ServiceManagement/Services/Commands.Test/packages.config index bd3d6f4b80c2..e4f7c06e0406 100644 --- a/src/ServiceManagement/Services/Commands.Test/packages.config +++ b/src/ServiceManagement/Services/Commands.Test/packages.config @@ -18,7 +18,7 @@ - +