Skip to content

Commit e40028a

Browse files
Embedded context/client.
1 parent db9488e commit e40028a

File tree

6 files changed

+60
-30
lines changed

6 files changed

+60
-30
lines changed

experiments/Azure.Experiments/Azure.Experiments.Tests/ComputeTest.cs

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public class ComputeTest
1010
public async Task ResourceGroupTest()
1111
{
1212
var c = Credentials.Get();
13-
var rg = new ResourceGroupObject("My");
13+
var rg = new ResourceGroupObject(c, "My");
1414
var info = await rg.GetOrNullAsync(c);
1515
var infoCreate = await rg.GetOrCreateAsync(c);
1616
// await rg.DeleteAsync(c);
@@ -20,8 +20,8 @@ public async Task ResourceGroupTest()
2020
public async Task VirtualNetworkTest()
2121
{
2222
var c = Credentials.Get();
23-
var rg = new ResourceGroupObject("My1");
24-
var vn = new VirtualNetworkObject("My1", rg, "192.168.0.0/16");
23+
var rg = new ResourceGroupObject(c, "My1");
24+
var vn = new VirtualNetworkObject(c.CreateNetwork(), "My1", rg, "192.168.0.0/16");
2525
var info = await vn.GetOrNullAsync(c);
2626
var infoCreate = await vn.GetOrCreateAsync(c);
2727
}
@@ -30,26 +30,26 @@ public async Task VirtualNetworkTest()
3030
public async Task PublicIpAddressTest()
3131
{
3232
var c = Credentials.Get();
33-
var rg = new ResourceGroupObject("MyPIA");
34-
var pia = new PublicIpAddressObject("MyPIA", rg);
33+
var rg = new ResourceGroupObject(c, "MyPIA");
34+
var pia = new PublicIpAddressObject(c.CreateNetwork(), "MyPIA", rg);
3535
var info = await pia.GetOrCreateAsync(c);
3636
}
3737

3838
[Fact]
3939
public async Task NetworkSecurityGroupTest()
4040
{
4141
var c = Credentials.Get();
42-
var rg = new ResourceGroupObject("MyNSG");
43-
var nsg = new NetworkSecurityGroupObject("MyNSG", rg);
42+
var rg = new ResourceGroupObject(c, "MyNSG");
43+
var nsg = new NetworkSecurityGroupObject(c.CreateNetwork(), "MyNSG", rg);
4444
var info = await nsg.GetOrCreateAsync(c);
4545
}
4646

4747
[Fact]
4848
public async Task SubnetTest()
4949
{
5050
var c = Credentials.Get();
51-
var rg = new ResourceGroupObject("MySubnet");
52-
var vn = new VirtualNetworkObject("MySubnet", rg, "192.168.0.0/16");
51+
var rg = new ResourceGroupObject(c, "MySubnet");
52+
var vn = new VirtualNetworkObject(c.CreateNetwork(), "MySubnet", rg, "192.168.0.0/16");
5353
var subnet = new SubnetObject("MySubnet", vn, "192.168.1.0/24");
5454
var info = await subnet.GetOrCreateAsync(c);
5555
}
@@ -58,25 +58,27 @@ public async Task SubnetTest()
5858
public async Task NetworkInterfaceObject()
5959
{
6060
var c = Credentials.Get();
61-
var rg = new ResourceGroupObject("MyNI");
62-
var vn = new VirtualNetworkObject("MyNI", rg, "192.168.0.0/16");
61+
var network = c.CreateNetwork();
62+
var rg = new ResourceGroupObject(c, "MyNI");
63+
var vn = new VirtualNetworkObject(network, "MyNI", rg, "192.168.0.0/16");
6364
var subnet = new SubnetObject("MyNI", vn, "192.168.1.0/24");
64-
var pia = new PublicIpAddressObject("MyNI", rg);
65-
var nsg = new NetworkSecurityGroupObject("MyNI", rg);
66-
var ni = new NetworkInterfaceObject("MyNI", rg, subnet, pia, nsg);
65+
var pia = new PublicIpAddressObject(network, "MyNI", rg);
66+
var nsg = new NetworkSecurityGroupObject(network, "MyNI", rg);
67+
var ni = new NetworkInterfaceObject(network, "MyNI", rg, subnet, pia, nsg);
6768
var info = await ni.GetOrCreateAsync(c);
6869
}
6970

7071
[Fact]
7172
public async Task VmObject()
7273
{
7374
var c = Credentials.Get();
74-
var rg = new ResourceGroupObject("MyVM");
75-
var vn = new VirtualNetworkObject("MyVM", rg, "192.168.0.0/16");
75+
var network = c.CreateNetwork();
76+
var rg = new ResourceGroupObject(c, "MyVM");
77+
var vn = new VirtualNetworkObject(network, "MyVM", rg, "192.168.0.0/16");
7678
var subnet = new SubnetObject("MyVM", vn, "192.168.1.0/24");
77-
var pia = new PublicIpAddressObject("MyVM", rg);
78-
var nsg = new NetworkSecurityGroupObject("MyVM", rg);
79-
var ni = new NetworkInterfaceObject("MyVM", rg, subnet, pia, nsg);
79+
var pia = new PublicIpAddressObject(network, "MyVM", rg);
80+
var nsg = new NetworkSecurityGroupObject(network, "MyVM", rg);
81+
var ni = new NetworkInterfaceObject(network, "MyVM", rg, subnet, pia, nsg);
8082
var vm = new VmObject(c, "MyVM", rg, ni, "MyVMUser", "@3as54dDd");
8183
var info = await vm.GetOrCreateAsync(c);
8284
}

experiments/Azure.Experiments/Azure.Experiments/NetworkInterfaceObject.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,22 @@ public sealed class NetworkInterfaceObject
88
: ResourceObject<NetworkInterface, INetworkInterfacesOperations>
99
{
1010
public NetworkInterfaceObject(
11+
INetworkManagementClient client,
1112
string name,
1213
ResourceGroupObject rg,
1314
SubnetObject subnet,
1415
PublicIpAddressObject pia,
1516
NetworkSecurityGroupObject nsg)
1617
: base(name, rg, new AzureObject[] { subnet, pia, nsg })
1718
{
19+
Client = client.NetworkInterfaces;
1820
Pia = pia;
1921
Subnet = subnet;
2022
}
2123

2224
protected override async Task<NetworkInterface> CreateAsync(
23-
INetworkInterfacesOperations c)
24-
=> await c.CreateOrUpdateAsync(
25+
INetworkInterfacesOperations _)
26+
=> await Client.CreateOrUpdateAsync(
2527
ResourceGroupName,
2628
Name,
2729
new NetworkInterface
@@ -42,10 +44,13 @@ protected override INetworkInterfacesOperations CreateClient(Context c)
4244
=> c.CreateNetwork().NetworkInterfaces;
4345

4446
protected override Task<NetworkInterface> GetOrThrowAsync(
45-
INetworkInterfacesOperations c)
46-
=> c.GetAsync(ResourceGroupName, Name);
47+
INetworkInterfacesOperations _)
48+
=> Client.GetAsync(ResourceGroupName, Name);
4749

4850
private PublicIpAddressObject Pia { get; }
51+
4952
private SubnetObject Subnet { get; }
53+
54+
private INetworkInterfacesOperations Client { get; }
5055
}
5156
}

experiments/Azure.Experiments/Azure.Experiments/NetworkSecurityGroup.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@ public sealed class NetworkSecurityGroupObject
88
: ResourceObject<NetworkSecurityGroup, INetworkSecurityGroupsOperations>
99
{
1010
public NetworkSecurityGroupObject(
11-
string name, ResourceGroupObject rg)
11+
INetworkManagementClient client,
12+
string name,
13+
ResourceGroupObject rg)
1214
: base(name, rg)
1315
{
16+
Client = client.NetworkSecurityGroups;
1417
}
1518

1619
protected override Task<NetworkSecurityGroup> CreateAsync(
@@ -27,5 +30,7 @@ protected override INetworkSecurityGroupsOperations CreateClient(
2730
protected override Task<NetworkSecurityGroup> GetOrThrowAsync(
2831
INetworkSecurityGroupsOperations c)
2932
=> c.GetAsync(ResourceGroupName, Name);
33+
34+
private INetworkSecurityGroupsOperations Client { get; }
3035
}
3136
}

experiments/Azure.Experiments/Azure.Experiments/PublicIpAddressObject.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,13 @@ namespace Azure.Experiments
88
public sealed class PublicIpAddressObject :
99
ResourceObject<PublicIPAddress, IPublicIPAddressesOperations>
1010
{
11-
public PublicIpAddressObject(string name, ResourceGroupObject rg) : base(name, rg)
11+
public PublicIpAddressObject(
12+
INetworkManagementClient client,
13+
string name,
14+
ResourceGroupObject rg)
15+
: base(name, rg)
1216
{
17+
Client = client.PublicIPAddresses;
1318
}
1419

1520
protected override Task<PublicIPAddress> CreateAsync(IPublicIPAddressesOperations c)
@@ -23,5 +28,7 @@ protected override IPublicIPAddressesOperations CreateClient(Context c)
2328

2429
protected override Task<PublicIPAddress> GetOrThrowAsync(IPublicIPAddressesOperations c)
2530
=> c.GetAsync(ResourceGroupName, Name);
31+
32+
private IPublicIPAddressesOperations Client { get; }
2633
}
2734
}

experiments/Azure.Experiments/Azure.Experiments/ResourceGroupObject.cs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,14 @@ namespace Azure.Experiments
88
public sealed class ResourceGroupObject : AzureObject<
99
ResourceGroup, IResourceGroupsOperations>
1010
{
11-
public ResourceGroupObject(string name)
11+
public ResourceGroupObject(Context client, string name)
1212
: base(name, NoDependencies)
1313
{
14+
Client = new ResourceManagementClient(client.Credentials)
15+
{
16+
SubscriptionId = client.SubscriptionId
17+
}
18+
.ResourceGroups;
1419
}
1520

1621
protected override IResourceGroupsOperations CreateClient(Context c)
@@ -20,12 +25,14 @@ protected override IResourceGroupsOperations CreateClient(Context c)
2025
}
2126
.ResourceGroups;
2227

23-
protected override Task<ResourceGroup> CreateAsync(IResourceGroupsOperations c)
24-
=> c.CreateOrUpdateAsync(
28+
protected override Task<ResourceGroup> CreateAsync(IResourceGroupsOperations _)
29+
=> Client.CreateOrUpdateAsync(
2530
Name,
2631
new ResourceGroup { Location = "eastus" });
2732

28-
protected override Task<ResourceGroup> GetOrThrowAsync(IResourceGroupsOperations c)
29-
=> c.GetAsync(Name);
33+
protected override Task<ResourceGroup> GetOrThrowAsync(IResourceGroupsOperations _)
34+
=> Client.GetAsync(Name);
35+
36+
private IResourceGroupsOperations Client { get; }
3037
}
3138
}

experiments/Azure.Experiments/Azure.Experiments/VirtualNetworkObject.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@ public sealed class VirtualNetworkObject :
88
ResourceObject<VirtualNetwork, IVirtualNetworksOperations>
99
{
1010
public VirtualNetworkObject(
11+
INetworkManagementClient client,
1112
string name,
1213
ResourceGroupObject rg,
1314
string addressPrefix)
1415
: base(name, rg, NoDependencies)
1516
{
17+
Client = client.VirtualNetworks;
1618
AddressPrefix = addressPrefix;
1719
}
1820

@@ -37,5 +39,7 @@ protected override Task<VirtualNetwork> GetOrThrowAsync(
3739
=> c.GetAsync(ResourceGroupName, Name);
3840

3941
private string AddressPrefix { get; }
42+
43+
private IVirtualNetworksOperations Client { get; }
4044
}
4145
}

0 commit comments

Comments
 (0)