示例#1
0
 public static async Task <RecordSet> GetOrDefaultAsync(this IRecordSetsOperations operations, string resourceGroupName, string zoneName, string relativeRecordSetName, RecordType recordType)
 {
     try
     {
         return(await operations.GetAsync(resourceGroupName, zoneName, relativeRecordSetName, RecordType.TXT));
     }
     catch
     {
         return(null);
     }
 }
        private async Task <RecordSet> GetOrCreateRecordSetAsync(IRecordSetsOperations recordSetClient, RecordType type, string resourceGroup, string zoneName, string name, string value)
        {
            RecordSet set = null !;

            try
            {
                set = await recordSetClient.GetAsync(resourceGroup, zoneName, name, type);
            }
            catch (CloudException e)
            {
                if (e.Response.StatusCode != System.Net.HttpStatusCode.NotFound)
                {
                    throw;
                }
            }

            if (set == null)
            {
                set = new RecordSet(name: name, tTL: 1);
                switch (type)
                {
                case RecordType.TXT:
                    set.TxtRecords = new List <TxtRecord>();
                    break;

                default:
                    throw new Exception("Record type is unsupported: " + type.ToString());
                }
            }


            switch (type)
            {
            case RecordType.TXT:
                set.TxtRecords.Add(new TxtRecord(new[] { value }));
                break;

            default:
                throw new Exception("Record type is unsupported: " + type.ToString());
            }

            return(set);
        }
 /// <summary>
 /// Gets a record set.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='zoneName'>
 /// The name of the DNS zone (without a terminating dot).
 /// </param>
 /// <param name='relativeRecordSetName'>
 /// The name of the record set, relative to the name of the zone.
 /// </param>
 /// <param name='recordType'>
 /// The type of DNS record in this record set. Possible values include: 'A',
 /// 'AAAA', 'CAA', 'CNAME', 'MX', 'NS', 'PTR', 'SOA', 'SRV', 'TXT'
 /// </param>
 public static RecordSet Get(this IRecordSetsOperations operations, string resourceGroupName, string zoneName, string relativeRecordSetName, RecordType recordType)
 {
     return(operations.GetAsync(resourceGroupName, zoneName, relativeRecordSetName, recordType).GetAwaiter().GetResult());
 }