1
- using Microsoft . Azure . Management . Network ;
1
+ using Microsoft . Azure . Experiments . ResourceManager ;
2
+ using Microsoft . Azure . Management . Network ;
2
3
using Microsoft . Azure . Management . Network . Models ;
4
+ using Microsoft . Azure . Management . ResourceManager . Models ;
3
5
using System ;
4
6
using System . Threading . Tasks ;
5
7
@@ -11,38 +13,65 @@ public static ResourcePolicy<ResourceName, Info> Create<Operations, Info>(
11
13
Func < INetworkManagementClient , Operations > getOperations ,
12
14
Func < Operations , ResourceName , Task < Info > > getAsync ,
13
15
Func < Operations , ResourceName , Info , Task < Info > > createOrUpdateAsync )
14
- where Info : Resource
16
+ where Info : Management . Network . Models . Resource
15
17
=> OperationsPolicy
16
18
. Create ( getAsync , createOrUpdateAsync )
17
19
. Transform ( getOperations )
18
20
. CreateResourcePolicy ( i => i . Location , ( i , location ) => i . Location = location ) ;
19
21
20
- public static ResourcePolicy < ResourceName , NetworkInterface > NetworkInterface { get ; }
21
- = Create (
22
- client => client . NetworkInterfaces ,
23
- ( operations , name ) => operations . GetAsync ( name . ResourceGroupName , name . Name ) ,
24
- ( operations , name , info )
25
- => operations . CreateOrUpdateAsync ( name . ResourceGroupName , name . Name , info ) ) ;
26
-
27
22
public static ResourcePolicy < ResourceName , NetworkSecurityGroup > NetworkSecurityGroup { get ; }
28
23
= Create (
29
24
client => client . NetworkSecurityGroups ,
30
25
( operations , name ) => operations . GetAsync ( name . ResourceGroupName , name . Name ) ,
31
26
( operations , name , info )
32
27
=> operations . CreateOrUpdateAsync ( name . ResourceGroupName , name . Name , info ) ) ;
33
28
34
- public static ResourcePolicy < ResourceName , PublicIPAddress > PublicIPAddresss { get ; }
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
35
= Create (
36
36
client => client . PublicIPAddresses ,
37
37
( operations , name ) => operations . GetAsync ( name . ResourceGroupName , name . Name ) ,
38
38
( operations , name , info )
39
39
=> operations . CreateOrUpdateAsync ( name . ResourceGroupName , name . Name , info ) ) ;
40
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
+
41
46
public static ResourcePolicy < ResourceName , VirtualNetwork > VirtualNetwork { get ; }
42
47
= Create (
43
48
client => client . VirtualNetworks ,
44
49
( operations , name ) => operations . GetAsync ( name . ResourceGroupName , name . Name ) ,
45
50
( operations , name , info )
46
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
+
58
+ public static ResourcePolicy < ResourceName , NetworkInterface > NetworkInterface { get ; }
59
+ = Create (
60
+ client => client . NetworkInterfaces ,
61
+ ( operations , name ) => operations . GetAsync ( name . ResourceGroupName , name . Name ) ,
62
+ ( operations , name , info )
63
+ => operations . CreateOrUpdateAsync ( name . ResourceGroupName , name . Name , info ) ) ;
64
+
65
+ public static ResourceConfig < ResourceName , NetworkInterface > CreateNetworkInterfaceConfig (
66
+ this ResourceConfig < string , ResourceGroup > resourceGroup ,
67
+ string name ,
68
+ ResourceConfig < ResourceName , VirtualNetwork > virtualNetwork ,
69
+ ResourceConfig < ResourceName , NetworkSecurityGroup > networkSecurityGroup ,
70
+ ResourceConfig < ResourceName , PublicIPAddress > publicIPAddress )
71
+ => resourceGroup . CreateResourceConfig (
72
+ NetworkInterface ,
73
+ name ,
74
+ new NetworkInterface ( ) ,
75
+ new IResourceConfig [ ] { virtualNetwork , networkSecurityGroup , publicIPAddress } ) ;
47
76
}
48
77
}
0 commit comments