Skip to content

Commit 6f10f3b

Browse files
committed
draft of support in new record set
1 parent ef0dc5e commit 6f10f3b

File tree

4 files changed

+35
-5
lines changed

4 files changed

+35
-5
lines changed

src/ResourceManager/Dns/Commands.Dns/Models/DnsClient.cs

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,9 +172,10 @@ public DnsRecordSet CreateDnsRecordSet(
172172
RecordType recordType,
173173
Hashtable tags,
174174
bool overwrite,
175-
DnsRecordBase[] resourceRecords)
175+
DnsRecordBase[] resourceRecords,
176+
string aliasTargetResourceId)
176177
{
177-
var recordSet = ConstructRecordSetPropeties(relativeRecordSetName, recordType, ttl, tags, resourceRecords);
178+
var recordSet = ConstructRecordSetPropeties(relativeRecordSetName, recordType, ttl, tags, resourceRecords, aliasTargetResourceId);
178179

179180
var response = this.DnsManagementClient.RecordSets.CreateOrUpdate(
180181
resourceGroupName,
@@ -188,13 +189,19 @@ public DnsRecordSet CreateDnsRecordSet(
188189
return GetPowerShellRecordSet(zoneName, resourceGroupName, response);
189190
}
190191

191-
private RecordSet ConstructRecordSetPropeties(string recordSetName, RecordType recordType, uint ttl, Hashtable tags, DnsRecordBase[] resourceRecords)
192+
private RecordSet ConstructRecordSetPropeties(
193+
string recordSetName,
194+
RecordType recordType,
195+
uint ttl,
196+
Hashtable tags,
197+
DnsRecordBase[] resourceRecords,
198+
string aliasTargetResourceId)
192199
{
193200

194201
var properties = new RecordSet
195202
{
196203
Metadata = TagsConversionHelper.CreateTagDictionary(tags, validate: true),
197-
TTL = ttl,
204+
TTL = ttl
198205
};
199206

200207
if (resourceRecords != null && resourceRecords.Length != 0)
@@ -211,6 +218,11 @@ private RecordSet ConstructRecordSetPropeties(string recordSetName, RecordType r
211218
else
212219
{
213220
FillEmptyRecordsForType( properties, recordType);
221+
222+
if (string.IsNullOrEmpty(aliasTargetResourceId))
223+
{
224+
properties.TargetResource = new SubResource(aliasTargetResourceId);
225+
}
214226
}
215227
return properties;
216228
}
@@ -431,6 +443,7 @@ private static DnsRecordSet GetPowerShellRecordSet(string zoneName, string resou
431443
ResourceGroupName = resourceGroupName,
432444
Ttl = (uint) mamlRecordSet.TTL.GetValueOrDefault(),
433445
ZoneName = zoneName,
446+
AliasTargetResourceId = mamlRecordSet.TargetResource != null ? mamlRecordSet.TargetResource.Id : string.Empty
434447
};
435448
}
436449

src/ResourceManager/Dns/Commands.Dns/Models/DnsRecordSet.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ public class DnsRecordSet : ICloneable
5656
/// </summary>
5757
public RecordType RecordType { get; set; }
5858

59+
/// <summary>
60+
/// Gets or sets the alias target resource Id of the record set
61+
/// </summary>
62+
public string AliasTargetResourceId { get; set; }
63+
5964
/// <summary>
6065
/// Gets or sets the list of records in this record set.
6166
/// </summary>

src/ResourceManager/Dns/Commands.Dns/Records/NewAzureDnsRecordSet.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ public class NewAzureDnsRecordSet : DnsBaseCmdlet
6464
[Parameter(Mandatory = false, HelpMessage = "Do not fail if the record set already exists.")]
6565
public SwitchParameter Overwrite { get; set; }
6666

67+
[Parameter(Mandatory = false, HelpMessage = "Alias Target Resource Id.")]
68+
public string AliasTargetResourceId { get; set; }
69+
6770
public override void ExecuteCmdlet()
6871
{
6972
string zoneName = null;
@@ -106,7 +109,16 @@ public override void ExecuteCmdlet()
106109
this.Name,
107110
() =>
108111
{
109-
result = this.DnsClient.CreateDnsRecordSet(zoneName, resourceGroupname, this.Name, this.Ttl, this.RecordType, this.Metadata, this.Overwrite, this.DnsRecords);
112+
result = this.DnsClient.CreateDnsRecordSet(
113+
zoneName,
114+
resourceGroupname,
115+
this.Name,
116+
this.Ttl,
117+
this.RecordType,
118+
this.Metadata,
119+
this.Overwrite,
120+
this.DnsRecords,
121+
this.AliasTargetResourceId);
110122

111123
if (result != null)
112124
{
Binary file not shown.

0 commit comments

Comments
 (0)