Skip to content

Commit 5b03081

Browse files
Info => Func<string, Info>
1 parent 8b2b24b commit 5b03081

File tree

7 files changed

+19
-21
lines changed

7 files changed

+19
-21
lines changed

experiments/Azure.Experiments/Azure.Experiments/Compute/VirtualMachinePolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public static ResourceConfig<ResourceName, VirtualMachine> CreateVirtualMachineC
2222
=> resourceGroup.CreateResourceConfig(
2323
Policy,
2424
name,
25-
new VirtualMachine(),
25+
_ => new VirtualMachine(),
2626
new[] { networkInterface });
2727
}
2828
}

experiments/Azure.Experiments/Azure.Experiments/Network/NetworkInterfacePolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public static ResourceConfig<ResourceName, NetworkInterface> CreateNetworkInterf
2323
=> resourceGroup.CreateResourceConfig(
2424
Policy,
2525
name,
26-
new NetworkInterface(),
26+
_ => new NetworkInterface(),
2727
new IResourceConfig[] { virtualNetwork, networkSecurityGroup, publicIPAddress });
2828
}
2929
}

experiments/Azure.Experiments/Azure.Experiments/Network/NetworkSecurityGroupPolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ public static class NetworkSecurityGroupPolicy
1717
public static ResourceConfig<ResourceName, NetworkSecurityGroup> CreateNetworkSecurityGroupConfig(
1818
this ResourceConfig<string, ResourceGroup> resourceGroup,
1919
string name)
20-
=> resourceGroup.CreateResourceConfig(Policy, name, new NetworkSecurityGroup());
20+
=> resourceGroup.CreateResourceConfig(Policy, name, _ => new NetworkSecurityGroup());
2121
}
2222
}

experiments/Azure.Experiments/Azure.Experiments/Network/PublicIPAddressPolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ public static class PublicIPAddressPolicy
1717
public static ResourceConfig<ResourceName, PublicIPAddress> CreatePublicIPAddressConfig(
1818
this ResourceConfig<string, ResourceGroup> resourceGroup,
1919
string name)
20-
=> resourceGroup.CreateResourceConfig(Policy, name, new PublicIPAddress());
20+
=> resourceGroup.CreateResourceConfig(Policy, name, _ => new PublicIPAddress());
2121
}
2222
}

experiments/Azure.Experiments/Azure.Experiments/Network/VirtualNetworkPolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ public static class VirtualNetworkPolicy
1717
public static ResourceConfig<ResourceName, VirtualNetwork> CreateVirtualNetworkConfig(
1818
this ResourceConfig<string, ResourceGroup> resourceGroup,
1919
string name)
20-
=> resourceGroup.CreateResourceConfig(Policy, name, new VirtualNetwork());
20+
=> resourceGroup.CreateResourceConfig(Policy, name, _ => new VirtualNetwork());
2121
}
2222
}

experiments/Azure.Experiments/Azure.Experiments/ResourceConfig.cs

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,43 @@
1-
using System.Collections.Generic;
1+
using System;
2+
using System.Collections.Generic;
23

34
namespace Microsoft.Azure.Experiments
45
{
56
public interface IResourceConfig
67
{
78
}
89

9-
public interface IResourceConfig<Info>
10-
{
11-
}
12-
1310
public static class ResourceConfig
1411
{
1512
public static ResourceConfig<Name, Info> CreateResourceConfig<Name, Info>(
1613
this ResourcePolicy<Name, Info> policy,
1714
Name name,
18-
Info info,
15+
Func<string, Info> info,
1916
IEnumerable<IResourceConfig> dependencies = null)
2017
where Info : class
2118
=> new ResourceConfig<Name, Info>(policy, name, info, dependencies.EmptyIfNull());
2219
}
2320

24-
public sealed class ResourceConfig<TName, TInfo> : IResourceConfig
25-
where TInfo : class
21+
public sealed class ResourceConfig<TName, Info> : IResourceConfig
22+
where Info : class
2623
{
27-
public ResourcePolicy<TName, TInfo> Policy { get; }
24+
public ResourcePolicy<TName, Info> Policy { get; }
2825

2926
public TName Name { get; }
3027

31-
public TInfo Info { get; }
28+
public Func<string, Info> CreateInfo { get; }
3229

3330
public IEnumerable<IResourceConfig> Dependencies { get; }
3431

3532
public ResourceConfig(
36-
ResourcePolicy<TName, TInfo> policy,
33+
ResourcePolicy<TName, Info> policy,
3734
TName name,
38-
TInfo info,
35+
Func<string, Info> createInfo,
3936
IEnumerable<IResourceConfig> dependencies)
4037
{
4138
Policy = policy;
4239
Name = name;
43-
Info = info;
40+
CreateInfo = createInfo;
4441
Dependencies = dependencies;
4542
}
4643
}

experiments/Azure.Experiments/Azure.Experiments/ResourceManager/ResourceGroupPolicy.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Microsoft.Azure.Management.ResourceManager;
22
using Microsoft.Azure.Management.ResourceManager.Models;
3+
using System;
34
using System.Collections.Generic;
45
using System.Linq;
56

@@ -16,18 +17,18 @@ public static class ResourceGroupPolicy
1617
.CreateResourcePolicy(i => i.Location, (i, location) => i.Location = location);
1718

1819
public static ResourceConfig<string, ResourceGroup> CreateResourceGroupConfig(string name)
19-
=> Policy.CreateResourceConfig(name, new ResourceGroup());
20+
=> Policy.CreateResourceConfig(name, _ => new ResourceGroup());
2021

2122
public static ResourceConfig<ResourceName, Info> CreateResourceConfig<Info>(
2223
this ResourceConfig<string, ResourceGroup> resourceGroup,
2324
ResourcePolicy<ResourceName, Info> policy,
2425
string name,
25-
Info info,
26+
Func<string, Info> createInfo,
2627
IEnumerable<IResourceConfig> dependencies = null)
2728
where Info : class
2829
=> policy.CreateResourceConfig(
2930
new ResourceName(resourceGroup.Name, name),
30-
info,
31+
createInfo,
3132
dependencies.EmptyIfNull().Concat(new[] { resourceGroup }));
3233
}
3334
}

0 commit comments

Comments
 (0)