Skip to content

Commit 6b5bd83

Browse files
Async.
1 parent 7b16d39 commit 6b5bd83

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

experiments/Azure.Experiments/Azure.Experiments/AzureObject.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ public abstract class AzureObject
1919

2020
public int Priority { get; }
2121

22+
/// <summary>
23+
/// The function should be called only after GetInfo is called for the
24+
/// object and its dependencies.
25+
/// </summary>
26+
/// <returns></returns>
2227
public abstract string GetInfoLocation();
2328

2429
/// <summary>
@@ -91,6 +96,14 @@ public async Task<T> GetOrCreateAsync(string location)
9196
return Info;
9297
}
9398

99+
public async Task<T> GetOrCreateAsync()
100+
{
101+
await GetOrNullAsync();
102+
var dl = GetDependencyLocation();
103+
var location = dl.Location ?? "eastus";
104+
return await GetOrCreateAsync(location);
105+
}
106+
94107
protected AzureObject(string name, IEnumerable<AzureObject> dependencies)
95108
: base(name, dependencies)
96109
{

experiments/Azure.Experiments/Tests/ComputeTest.cs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ public async Task ResourceGroupTest()
1313
{
1414
var c = Credentials.Get();
1515
var rg = new ResourceGroupObject(c, "My");
16+
//
1617
var info = await rg.GetOrNullAsync();
17-
var infoCreate = await rg.GetOrCreateAsync("eastus");
18+
var infoCreate = await rg.GetOrCreateAsync();
1819
// await rg.DeleteAsync(c);
1920
}
2021

@@ -24,8 +25,9 @@ public async Task VirtualNetworkTest()
2425
var c = Credentials.Get();
2526
var rg = new ResourceGroupObject(c, "My1");
2627
var vn = new VirtualNetworkObject(c.CreateNetwork(), "My1", rg, "192.168.0.0/16");
28+
//
2729
var info = await vn.GetOrNullAsync();
28-
var infoCreate = await vn.GetOrCreateAsync("eastus");
30+
var infoCreate = await vn.GetOrCreateAsync();
2931
}
3032

3133
[Fact]
@@ -34,7 +36,8 @@ public async Task PublicIpAddressTest()
3436
var c = Credentials.Get();
3537
var rg = new ResourceGroupObject(c, "MyPIA");
3638
var pia = new PublicIpAddressObject(c.CreateNetwork(), "MyPIA", rg);
37-
var info = await pia.GetOrCreateAsync("eastus");
39+
//
40+
var info = await pia.GetOrCreateAsync();
3841
}
3942

4043
[Fact]
@@ -43,7 +46,7 @@ public async Task NetworkSecurityGroupTest()
4346
var c = Credentials.Get();
4447
var rg = new ResourceGroupObject(c, "MyNSG");
4548
var nsg = new NetworkSecurityGroupObject(c.CreateNetwork(), "MyNSG", rg);
46-
var info = await nsg.GetOrCreateAsync("eastus");
49+
var info = await nsg.GetOrCreateAsync();
4750
}
4851

4952
[Fact]
@@ -53,7 +56,7 @@ public async Task SubnetTest()
5356
var rg = new ResourceGroupObject(c, "MySubnet");
5457
var vn = new VirtualNetworkObject(c.CreateNetwork(), "MySubnet", rg, "192.168.0.0/16");
5558
var subnet = new SubnetObject("MySubnet", vn, "192.168.1.0/24");
56-
var info = await subnet.GetOrCreateAsync("eastus");
59+
var info = await subnet.GetOrCreateAsync();
5760
}
5861

5962
[Fact]
@@ -67,7 +70,7 @@ public async Task NetworkInterfaceObject()
6770
var pia = new PublicIpAddressObject(network, "MyNI", rg);
6871
var nsg = new NetworkSecurityGroupObject(network, "MyNI", rg);
6972
var ni = new NetworkInterfaceObject(network, "MyNI", rg, subnet, pia, nsg);
70-
var info = await ni.GetOrCreateAsync("eastus");
73+
var info = await ni.GetOrCreateAsync();
7174
}
7275

7376
[Fact]
@@ -82,7 +85,7 @@ public async Task VmObject()
8285
var nsg = new NetworkSecurityGroupObject(network, "MyVM", rg);
8386
var ni = new NetworkInterfaceObject(network, "MyVM", rg, subnet, pia, nsg);
8487
var vm = new VirtualMachineObject(c, "MyVM", rg, ni, "MyVMUser", "@3as54dDd");
85-
var info = await vm.GetOrCreateAsync("eastus");
88+
var info = await vm.GetOrCreateAsync();
8689
}
8790

8891
[Fact]

0 commit comments

Comments
 (0)