Skip to content

Commit bc0fb77

Browse files
IGetParameters, ICreateParameters
1 parent 7abf7d4 commit bc0fb77

File tree

10 files changed

+45
-15
lines changed

10 files changed

+45
-15
lines changed

experiments/Azure.Experiments/Azure.Experiments/Compute/VirtualMachineParameters.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55

66
namespace Microsoft.Azure.Experiments.Compute
77
{
8-
public sealed class VirtualMachineParameters : ResourceParameters<VirtualMachine>
8+
public sealed class VirtualMachineParameters
9+
: ResourceParameters<VirtualMachine>
910
{
1011
public NetworkInterfaceParameters Ni { get; }
1112

@@ -18,7 +19,8 @@ public VirtualMachineParameters(
1819
Ni = ni;
1920
}
2021

21-
protected override Task<VirtualMachine> GetAsync(Context context, GetMap map)
22+
protected override Task<VirtualMachine> GetAsync(
23+
Context context, IGetParameters _)
2224
=> context
2325
.CreateCompute()
2426
.VirtualMachines

experiments/Azure.Experiments/Azure.Experiments/GetMap.cs renamed to experiments/Azure.Experiments/Azure.Experiments/GetParameters.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Microsoft.Azure.Experiments
66
{
7-
public sealed class GetMap
7+
public sealed class GetParameters : IGetParameters
88
{
99
public async Task<T> GetOrAdd<T>(Parameters<T> parameters, Func<Task<T>> get)
1010
where T : class
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace Microsoft.Azure.Experiments
2+
{
3+
public interface ICreateParameters
4+
{
5+
T Get<T>(Parameters<T> parameters)
6+
where T : class;
7+
}
8+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System;
2+
using System.Threading.Tasks;
3+
4+
namespace Microsoft.Azure.Experiments
5+
{
6+
public interface IGetParameters
7+
{
8+
Task<T> GetOrAdd<T>(Parameters<T> parameters, Func<Task<T>> get)
9+
where T : class;
10+
}
11+
}

experiments/Azure.Experiments/Azure.Experiments/Network/NetworkInterfaceParameters.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public NetworkInterfaceParameters(
2727
Pia = pia;
2828
}
2929

30-
protected override Task<NetworkInterface> GetAsync(Context context, GetMap map)
30+
protected override Task<NetworkInterface> GetAsync(Context context, IGetParameters _)
3131
=> context
3232
.CreateNetwork()
3333
.NetworkInterfaces

experiments/Azure.Experiments/Azure.Experiments/Network/NetworkSecurityGroupParameters.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ public NetworkSecurityGroupParameters(
1313
{
1414
}
1515

16-
protected override Task<NetworkSecurityGroup> GetAsync(Context context, GetMap map)
16+
protected override Task<NetworkSecurityGroup> GetAsync(
17+
Context context, IGetParameters _)
1718
=> context
1819
.CreateNetwork()
1920
.NetworkSecurityGroups

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace Microsoft.Azure.Experiments.Network
77
{
8-
public sealed class PublicIpAddressParameters
8+
public sealed class PublicIpAddressParameters
99
: ResourceParameters<PublicIPAddress>
1010
{
1111
public PublicIpAddressParameters(
@@ -14,7 +14,8 @@ public PublicIpAddressParameters(
1414
{
1515
}
1616

17-
protected override Task<PublicIPAddress> GetAsync(Context context, GetMap map)
17+
protected override Task<PublicIPAddress> GetAsync(
18+
Context context, IGetParameters _)
1819
=> context
1920
.CreateNetwork()
2021
.PublicIPAddresses

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ public SubnetParameters(
1515
VirtualNetwork = virtualNetwork;
1616
}
1717

18-
protected override async Task<Subnet> GetAsync(Context context, GetMap map)
18+
protected override async Task<Subnet> GetAsync(
19+
Context context, IGetParameters getParameters)
1920
{
20-
var virtualNetwork = await VirtualNetwork.GetOrNullAsync(context, map);
21+
var virtualNetwork =
22+
await VirtualNetwork.GetOrNullAsync(context, getParameters);
2123
return virtualNetwork?.Subnets.FirstOrDefault(s => s.Name == Name);
2224
}
2325
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ public VirtualNetworkParameters(
1313
{
1414
}
1515

16-
protected override Task<VirtualNetwork> GetAsync(Context context, GetMap map)
16+
protected override Task<VirtualNetwork> GetAsync(
17+
Context context, IGetParameters _)
1718
=> context
1819
.CreateNetwork()
1920
.VirtualNetworks

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ protected Parameters(string name, IEnumerable<Parameters> parameters)
3030
{
3131
}
3232

33-
public async Task<T> GetOrNullAsync(Context context, GetMap map)
34-
=> await map.GetOrAdd(
35-
this,
33+
public Task<T> GetOrNullAsync(Context context, IGetParameters getParameters)
34+
=> getParameters.GetOrAdd(
35+
this,
3636
async () =>
3737
{
3838
try
3939
{
40-
return await GetAsync(context, map);
40+
return await GetAsync(context, getParameters);
4141
}
4242
catch (CloudException e)
4343
when (e.Response.StatusCode == HttpStatusCode.NotFound)
@@ -46,6 +46,10 @@ public async Task<T> GetOrNullAsync(Context context, GetMap map)
4646
}
4747
});
4848

49-
protected abstract Task<T> GetAsync(Context context, GetMap map);
49+
protected abstract Task<T> GetAsync(
50+
Context context, IGetParameters getParameters);
51+
52+
//protected abstract Task<T> CreateAsync(
53+
// Context context, ICreateParameters createParameters);
5054
}
5155
}

0 commit comments

Comments
 (0)