Skip to content

Commit 157f96b

Browse files
Separeted policies.
1 parent 0b84a5e commit 157f96b

File tree

8 files changed

+101
-57
lines changed

8 files changed

+101
-57
lines changed

experiments/Azure.Experiments/Azure.Experiments/Compute/ComputePolicy.cs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,5 @@ public static ResourcePolicy<ResourceName, Info> Create<Operations, Info>(
1919
.Create(getAsync, createOrUpdateAsync)
2020
.Transform(getOperations)
2121
.CreateResourcePolicy(i => i.Location, (i, location) => i.Location = location);
22-
23-
public static ResourcePolicy<ResourceName, VirtualMachine> VirtualMachine
24-
{ get; }
25-
= Create(
26-
client => client.VirtualMachines,
27-
(operations, name) => operations.GetAsync(name.ResourceGroupName, name.Name),
28-
(operations, name, info)
29-
=> operations.CreateOrUpdateAsync(name.ResourceGroupName, name.Name, info));
30-
31-
public static ResourceConfig<ResourceName, VirtualMachine> CreateVirtualMachineConfig(
32-
this ResourceConfig<string, ResourceGroup> resourceGroup,
33-
string name,
34-
ResourceConfig<ResourceName, NetworkInterface> networkInterface)
35-
=> resourceGroup.CreateResourceConfig(
36-
VirtualMachine,
37-
name,
38-
new VirtualMachine(),
39-
new [] { networkInterface });
4022
}
4123
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
using Microsoft.Azure.Experiments.ResourceManager;
2+
using Microsoft.Azure.Management.Compute;
3+
using Microsoft.Azure.Management.Compute.Models;
4+
using Microsoft.Azure.Management.Network.Models;
5+
using Microsoft.Azure.Management.ResourceManager.Models;
6+
7+
namespace Microsoft.Azure.Experiments.Compute
8+
{
9+
public static class VirtualMachinePolicy
10+
{
11+
public static ResourcePolicy<ResourceName, VirtualMachine> Policy { get; }
12+
= ComputePolicy.Create(
13+
client => client.VirtualMachines,
14+
(operations, name) => operations.GetAsync(name.ResourceGroupName, name.Name),
15+
(operations, name, info)
16+
=> operations.CreateOrUpdateAsync(name.ResourceGroupName, name.Name, info));
17+
18+
public static ResourceConfig<ResourceName, VirtualMachine> CreateVirtualMachineConfig(
19+
this ResourceConfig<string, ResourceGroup> resourceGroup,
20+
string name,
21+
ResourceConfig<ResourceName, NetworkInterface> networkInterface)
22+
=> resourceGroup.CreateResourceConfig(
23+
Policy,
24+
name,
25+
new VirtualMachine(),
26+
new[] { networkInterface });
27+
}
28+
}

experiments/Azure.Experiments/Azure.Experiments/Network/NetworkPolicy.cs

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -19,42 +19,6 @@ public static ResourcePolicy<ResourceName, Info> Create<Operations, Info>(
1919
.Transform(getOperations)
2020
.CreateResourcePolicy(i => i.Location, (i, location) => i.Location = location);
2121

22-
public static ResourcePolicy<ResourceName, NetworkSecurityGroup> NetworkSecurityGroup { get; }
23-
= Create(
24-
client => client.NetworkSecurityGroups,
25-
(operations, name) => operations.GetAsync(name.ResourceGroupName, name.Name),
26-
(operations, name, info)
27-
=> operations.CreateOrUpdateAsync(name.ResourceGroupName, name.Name, info));
28-
29-
public static ResourceConfig<ResourceName, NetworkSecurityGroup> CreateNetworkSecurityGroupConfig(
30-
this ResourceConfig<string, ResourceGroup> resourceGroup,
31-
string name)
32-
=> resourceGroup.CreateResourceConfig(NetworkSecurityGroup, name, new NetworkSecurityGroup());
33-
34-
public static ResourcePolicy<ResourceName, PublicIPAddress> PublicIPAddress { get; }
35-
= Create(
36-
client => client.PublicIPAddresses,
37-
(operations, name) => operations.GetAsync(name.ResourceGroupName, name.Name),
38-
(operations, name, info)
39-
=> operations.CreateOrUpdateAsync(name.ResourceGroupName, name.Name, info));
40-
41-
public static ResourceConfig<ResourceName, PublicIPAddress> CreatePublicIPAddressConfig(
42-
this ResourceConfig<string, ResourceGroup> resourceGroup,
43-
string name)
44-
=> resourceGroup.CreateResourceConfig(PublicIPAddress, name, new PublicIPAddress());
45-
46-
public static ResourcePolicy<ResourceName, VirtualNetwork> VirtualNetwork { get; }
47-
= Create(
48-
client => client.VirtualNetworks,
49-
(operations, name) => operations.GetAsync(name.ResourceGroupName, name.Name),
50-
(operations, name, info)
51-
=> operations.CreateOrUpdateAsync(name.ResourceGroupName, name.Name, info));
52-
53-
public static ResourceConfig<ResourceName, VirtualNetwork> CreateVirtualNetworkConfig(
54-
this ResourceConfig<string, ResourceGroup> resourceGroup,
55-
string name)
56-
=> resourceGroup.CreateResourceConfig(VirtualNetwork, name, new VirtualNetwork());
57-
5822
public static ResourcePolicy<ResourceName, NetworkInterface> NetworkInterface { get; }
5923
= Create(
6024
client => client.NetworkInterfaces,
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using Microsoft.Azure.Experiments.ResourceManager;
2+
using Microsoft.Azure.Management.Network;
3+
using Microsoft.Azure.Management.Network.Models;
4+
using Microsoft.Azure.Management.ResourceManager.Models;
5+
6+
namespace Microsoft.Azure.Experiments.Network
7+
{
8+
public static class NetworkSecurityGroupPolicy
9+
{
10+
public static ResourcePolicy<ResourceName, NetworkSecurityGroup> Policy { get; }
11+
= NetworkPolicy.Create(
12+
client => client.NetworkSecurityGroups,
13+
(operations, name) => operations.GetAsync(name.ResourceGroupName, name.Name),
14+
(operations, name, info)
15+
=> operations.CreateOrUpdateAsync(name.ResourceGroupName, name.Name, info));
16+
17+
public static ResourceConfig<ResourceName, NetworkSecurityGroup> CreateNetworkSecurityGroupConfig(
18+
this ResourceConfig<string, ResourceGroup> resourceGroup,
19+
string name)
20+
=> resourceGroup.CreateResourceConfig(Policy, name, new NetworkSecurityGroup());
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using Microsoft.Azure.Experiments.ResourceManager;
2+
using Microsoft.Azure.Management.Network;
3+
using Microsoft.Azure.Management.Network.Models;
4+
using Microsoft.Azure.Management.ResourceManager.Models;
5+
6+
namespace Microsoft.Azure.Experiments.Network
7+
{
8+
public static class PublicIPAddressPolicy
9+
{
10+
public static ResourcePolicy<ResourceName, PublicIPAddress> Policy { get; }
11+
= NetworkPolicy.Create(
12+
client => client.PublicIPAddresses,
13+
(operations, name) => operations.GetAsync(name.ResourceGroupName, name.Name),
14+
(operations, name, info)
15+
=> operations.CreateOrUpdateAsync(name.ResourceGroupName, name.Name, info));
16+
17+
public static ResourceConfig<ResourceName, PublicIPAddress> CreatePublicIPAddressConfig(
18+
this ResourceConfig<string, ResourceGroup> resourceGroup,
19+
string name)
20+
=> resourceGroup.CreateResourceConfig(Policy, name, new PublicIPAddress());
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using Microsoft.Azure.Experiments.ResourceManager;
2+
using Microsoft.Azure.Management.Network;
3+
using Microsoft.Azure.Management.Network.Models;
4+
using Microsoft.Azure.Management.ResourceManager.Models;
5+
6+
namespace Microsoft.Azure.Experiments.Network
7+
{
8+
public static class VirtualNetworkPolicy
9+
{
10+
public static ResourcePolicy<ResourceName, VirtualNetwork> Policy { get; }
11+
= NetworkPolicy.Create(
12+
client => client.VirtualNetworks,
13+
(operations, name) => operations.GetAsync(name.ResourceGroupName, name.Name),
14+
(operations, name, info)
15+
=> operations.CreateOrUpdateAsync(name.ResourceGroupName, name.Name, info));
16+
17+
public static ResourceConfig<ResourceName, VirtualNetwork> CreateVirtualNetworkConfig(
18+
this ResourceConfig<string, ResourceGroup> resourceGroup,
19+
string name)
20+
=> resourceGroup.CreateResourceConfig(Policy, name, new VirtualNetwork());
21+
}
22+
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ public interface IResourceConfig
66
{
77
}
88

9+
public interface IResourceConfig<Info>
10+
{
11+
}
12+
913
public static class ResourceConfig
1014
{
1115
public static ResourceConfig<Name, Info> CreateResourceConfig<Name, Info>(

experiments/Azure.Experiments/Azure.Experiments/ResourceManager/ResourceManagerPolicy.cs renamed to experiments/Azure.Experiments/Azure.Experiments/ResourceManager/ResourceGroupPolicy.cs

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

66
namespace Microsoft.Azure.Experiments.ResourceManager
77
{
8-
public static class ResourceManagerPolicy
8+
public static class ResourceGroupPolicy
99
{
10-
public static ResourcePolicy<string, ResourceGroup> ResourceGroup { get; }
10+
public static ResourcePolicy<string, ResourceGroup> Policy { get; }
1111
= OperationsPolicy
1212
.Create<IResourceGroupsOperations, string, ResourceGroup>(
1313
(operations, name) => operations.GetAsync(name),
@@ -16,7 +16,7 @@ public static class ResourceManagerPolicy
1616
.CreateResourcePolicy(i => i.Location, (i, location) => i.Location = location);
1717

1818
public static ResourceConfig<string, ResourceGroup> CreateResourceGroupConfig(string name)
19-
=> ResourceGroup.CreateResourceConfig(name, new ResourceGroup());
19+
=> Policy.CreateResourceConfig(name, new ResourceGroup());
2020

2121
public static ResourceConfig<ResourceName, Info> CreateResourceConfig<Info>(
2222
this ResourceConfig<string, ResourceGroup> resourceGroup,

0 commit comments

Comments
 (0)