Skip to content

Commit 4a41002

Browse files
Broken but it's ok ;-)
1 parent d6db1f6 commit 4a41002

File tree

8 files changed

+98
-3
lines changed

8 files changed

+98
-3
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using Microsoft.Azure.Management.Compute.Models;
2+
using Microsoft.Azure.Experiments.Network;
3+
using System.Threading.Tasks;
4+
using Microsoft.Azure.Management.Compute;
5+
6+
namespace Microsoft.Azure.Experiments.Compute
7+
{
8+
public sealed class VirtualMachineParameters : ResourceParameters<VirtualMachine>
9+
{
10+
public NetworkInterfaceParameters Ni { get; }
11+
12+
public VirtualMachineParameters(
13+
string name,
14+
ResourceGroupParameters resourceGroup,
15+
NetworkInterfaceParameters ni)
16+
: base(name, resourceGroup, new[] { ni })
17+
{
18+
Ni = ni;
19+
}
20+
21+
public override Task<VirtualMachine> GetAsync(Context context)
22+
=> context
23+
.CreateCompute()
24+
.VirtualMachines
25+
.GetAsync(ResourceGroup.Name, Name);
26+
}
27+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using Microsoft.Azure.Management.Compute;
2+
using Microsoft.Azure.Management.Network;
3+
using Microsoft.Rest;
4+
5+
namespace Microsoft.Azure.Experiments
6+
{
7+
public sealed class Context
8+
{
9+
public Context(
10+
ServiceClientCredentials credentials, string subscriptionId)
11+
{
12+
Credentials = credentials;
13+
SubscriptionId = subscriptionId;
14+
}
15+
16+
public ServiceClientCredentials Credentials { get; }
17+
18+
public string SubscriptionId { get; }
19+
20+
public NetworkManagementClient CreateNetwork()
21+
=> new NetworkManagementClient(Credentials)
22+
{
23+
SubscriptionId = SubscriptionId
24+
};
25+
26+
public ComputeManagementClient CreateCompute()
27+
=> new ComputeManagementClient(Credentials)
28+
{
29+
SubscriptionId = SubscriptionId
30+
};
31+
}
32+
}

experiments/Azure.Experiments/Azure.Experiments/Network/NetworkInterface.cs renamed to experiments/Azure.Experiments/Azure.Experiments/Network/NetworkInterfaceParameters.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
using System.Collections.Generic;
2+
using System.Threading.Tasks;
23
using Microsoft.Azure.Management.Network.Models;
4+
using Microsoft.Azure.Management.Network;
35

46
namespace Microsoft.Azure.Experiments.Network
57
{
@@ -24,5 +26,11 @@ public NetworkInterfaceParameters(
2426
Nsg = nsg;
2527
Pia = pia;
2628
}
29+
30+
public override Task<NetworkInterface> GetAsync(Context context)
31+
=> context
32+
.CreateNetwork()
33+
.NetworkInterfaces
34+
.GetAsync(ResourceGroup.Name, Name);
2735
}
2836
}

experiments/Azure.Experiments/Azure.Experiments/Network/NetworkSecurityGroup.cs renamed to experiments/Azure.Experiments/Azure.Experiments/Network/NetworkSecurityGroupParameters.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
using Microsoft.Azure.Management.Network.Models;
1+
using System.Threading.Tasks;
2+
using Microsoft.Azure.Management.Network.Models;
3+
using Microsoft.Azure.Management.Network;
24

35
namespace Microsoft.Azure.Experiments.Network
46
{
@@ -10,5 +12,11 @@ public NetworkSecurityGroupParameters(
1012
: base(name, resourceGroup, NoDependencies)
1113
{
1214
}
15+
16+
public override Task<NetworkSecurityGroup> GetAsync(Context context)
17+
=> context
18+
.CreateNetwork()
19+
.NetworkSecurityGroups
20+
.GetAsync(ResourceGroup.Name, Name);
1321
}
1422
}

experiments/Azure.Experiments/Azure.Experiments/Network/PublicIpAddressParameters.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
using System.Collections.Generic;
2+
using System.Threading.Tasks;
23
using Microsoft.Azure.Management.Network.Models;
4+
using Microsoft.Azure.Management.Network;
35

46
namespace Microsoft.Azure.Experiments.Network
57
{
@@ -11,5 +13,11 @@ public PublicIpAddressParameters(
1113
: base(name, resourceGroup, NoDependencies)
1214
{
1315
}
16+
17+
public override Task<PublicIPAddress> GetAsync(Context context)
18+
=> context
19+
.CreateNetwork()
20+
.PublicIPAddresses
21+
.GetAsync(ResourceGroup.Name, Name);
1422
}
1523
}

experiments/Azure.Experiments/Azure.Experiments/Network/SubnetParameters.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Microsoft.Azure.Management.Network.Models;
1+
using System.Threading.Tasks;
2+
using Microsoft.Azure.Management.Network.Models;
23

34
namespace Microsoft.Azure.Experiments.Network
45
{

experiments/Azure.Experiments/Azure.Experiments/Network/VirtualNetworkParameters.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
using Microsoft.Azure.Management.Network.Models;
1+
using System.Threading.Tasks;
2+
using Microsoft.Azure.Management.Network.Models;
3+
using Microsoft.Azure.Management.Network;
24

35
namespace Microsoft.Azure.Experiments.Network
46
{
@@ -10,5 +12,11 @@ public VirtualNetworkParameters(
1012
: base(name, resourceGroup, NoDependencies)
1113
{
1214
}
15+
16+
public override Task<VirtualNetwork> GetAsync(Context context)
17+
=> context
18+
.CreateNetwork()
19+
.VirtualNetworks
20+
.GetAsync(ResourceGroup.Name, Name);
1321
}
1422
}

experiments/Azure.Experiments/Azure.Experiments/Parameters.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Collections.Generic;
22
using System.Linq;
3+
using System.Threading.Tasks;
34

45
namespace Microsoft.Azure.Experiments
56
{
@@ -25,5 +26,7 @@ protected Parameters(string name, IEnumerable<Parameters> parameters)
2526
: base(name, parameters)
2627
{
2728
}
29+
30+
public abstract Task<T> GetAsync(Context context);
2831
}
2932
}

0 commit comments

Comments
 (0)