1010import com .microsoft .azure .management .Azure ;
1111import com .microsoft .azure .management .network .Network ;
1212import com .microsoft .azure .management .privatedns .v2018_09_01 .implementation .privatednsManager ;
13+ import com .microsoft .azure .management .privatedns .v2018_09_01 .implementation .RecordSetInner ;
14+ import com .microsoft .azure .management .privatedns .v2018_09_01 .ARecord ;
15+ import com .microsoft .azure .management .privatedns .v2018_09_01 .RecordType ;
1316import com .microsoft .azure .management .resources .fluentcore .arm .Region ;
1417import com .microsoft .azure .management .resources .fluentcore .utils .SdkContext ;
1518import com .microsoft .rest .LogLevel ;
1619
1720import java .io .File ;
21+ import java .util .ArrayList ;
22+ import java .util .List ;
1823
1924public class ManagePrivateDns {
2025 /**
@@ -27,6 +32,8 @@ public static boolean runSample(Azure azure, privatednsManager prDnsManager) {
2732 final Region region = Region .US_EAST ;
2833 final String rgName = SdkContext .randomResourceName ("rg" , 24 );
2934 final String nwName = SdkContext .randomResourceName ("nw" , 24 );
35+ final String regionDNS = "global" ; // location always 'global' for privateDNS
36+ final String privateDNSName = "private.contoso.com" ; // private DNS name
3037
3138 try {
3239 Network network = azure .networks ().define (nwName )
@@ -38,6 +45,34 @@ public static boolean runSample(Azure azure, privatednsManager prDnsManager) {
3845 //
3946 // Private DNS hybrid sample
4047 //
48+ prDnsManager .privateZones ().define (privateDNSName )
49+ .withRegion (regionDNS )
50+ .withExistingResourceGroup (rgName )
51+ .withIfMatch (null )
52+ .withIfNoneMatch (null )
53+ .create ();
54+ prDnsManager .virtualNetworkLinks ().define ("linkToVnet" )
55+ .withExistingPrivateDnsZone (rgName , privateDNSName )
56+ .withIfMatch (null )
57+ .withIfNoneMatch (null )
58+ .withLocation (regionDNS )
59+ .withRegistrationEnabled (true )
60+ .withVirtualNetwork (new SubResource ().withId (network .id ()))
61+ .create ();
62+ RecordSetInner recordSetInner = new RecordSetInner ();
63+ ARecord arecord = new ARecord ();
64+ arecord .withIpv4Address ("10.0.0.10" ); // IP Address for record
65+ List <ARecord > list = new ArrayList <ARecord >();
66+ list .add (arecord );
67+ recordSetInner .withARecords (list );
68+ recordSetInner .withTtl (1L );
69+ String alias = "db" ; //alias for IP
70+ prDnsManager .recordSets ().inner ().createOrUpdate (
71+ rgName ,
72+ privateDNSName ,
73+ RecordType .A ,
74+ alias ,
75+ recordSetInner );
4176 return true ;
4277 } catch (Exception e ) {
4378 System .err .println (e .getMessage ());
0 commit comments