@azure/arm-dns
Version:
A generated SDK for DnsManagementClient.
1,642 lines (1,631 loc) • 72.5 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var tslib = require('tslib');
var coreClient = require('@azure/core-client');
var coreRestPipeline = require('@azure/core-rest-pipeline');
var coreLro = require('@azure/core-lro');
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n["default"] = e;
return Object.freeze(n);
}
var coreClient__namespace = /*#__PURE__*/_interopNamespace(coreClient);
var coreRestPipeline__namespace = /*#__PURE__*/_interopNamespace(coreRestPipeline);
/*
* Copyright (c) Microsoft Corporation.
* Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
const pageMap = new WeakMap();
/**
* Given a result page from a pageable operation, returns a
* continuation token that can be used to begin paging from
* that point later.
* @param page A result object from calling .byPage() on a paged operation.
* @returns The continuation token that can be passed into byPage().
*/
function getContinuationToken(page) {
var _a;
if (typeof page !== "object" || page === null) {
return undefined;
}
return (_a = pageMap.get(page)) === null || _a === void 0 ? void 0 : _a.continuationToken;
}
function setContinuationToken(page, continuationToken) {
var _a;
if (typeof page !== "object" || page === null || !continuationToken) {
return;
}
const pageInfo = (_a = pageMap.get(page)) !== null && _a !== void 0 ? _a : {};
pageInfo.continuationToken = continuationToken;
pageMap.set(page, pageInfo);
}
/*
* Copyright (c) Microsoft Corporation.
* Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
const RecordSet = {
type: {
name: "Composite",
className: "RecordSet",
modelProperties: {
id: {
serializedName: "id",
readOnly: true,
type: {
name: "String"
}
},
name: {
serializedName: "name",
readOnly: true,
type: {
name: "String"
}
},
type: {
serializedName: "type",
readOnly: true,
type: {
name: "String"
}
},
etag: {
serializedName: "etag",
type: {
name: "String"
}
},
metadata: {
serializedName: "properties.metadata",
type: {
name: "Dictionary",
value: { type: { name: "String" } }
}
},
ttl: {
serializedName: "properties.TTL",
type: {
name: "Number"
}
},
fqdn: {
serializedName: "properties.fqdn",
readOnly: true,
type: {
name: "String"
}
},
provisioningState: {
serializedName: "properties.provisioningState",
readOnly: true,
type: {
name: "String"
}
},
targetResource: {
serializedName: "properties.targetResource",
type: {
name: "Composite",
className: "SubResource"
}
},
aRecords: {
serializedName: "properties.ARecords",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "ARecord"
}
}
}
},
aaaaRecords: {
serializedName: "properties.AAAARecords",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "AaaaRecord"
}
}
}
},
mxRecords: {
serializedName: "properties.MXRecords",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "MxRecord"
}
}
}
},
nsRecords: {
serializedName: "properties.NSRecords",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "NsRecord"
}
}
}
},
ptrRecords: {
serializedName: "properties.PTRRecords",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "PtrRecord"
}
}
}
},
srvRecords: {
serializedName: "properties.SRVRecords",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "SrvRecord"
}
}
}
},
txtRecords: {
serializedName: "properties.TXTRecords",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "TxtRecord"
}
}
}
},
cnameRecord: {
serializedName: "properties.CNAMERecord",
type: {
name: "Composite",
className: "CnameRecord"
}
},
soaRecord: {
serializedName: "properties.SOARecord",
type: {
name: "Composite",
className: "SoaRecord"
}
},
caaRecords: {
serializedName: "properties.caaRecords",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "CaaRecord"
}
}
}
}
}
}
};
const SubResource = {
type: {
name: "Composite",
className: "SubResource",
modelProperties: {
id: {
serializedName: "id",
type: {
name: "String"
}
}
}
}
};
const ARecord = {
type: {
name: "Composite",
className: "ARecord",
modelProperties: {
ipv4Address: {
serializedName: "ipv4Address",
type: {
name: "String"
}
}
}
}
};
const AaaaRecord = {
type: {
name: "Composite",
className: "AaaaRecord",
modelProperties: {
ipv6Address: {
serializedName: "ipv6Address",
type: {
name: "String"
}
}
}
}
};
const MxRecord = {
type: {
name: "Composite",
className: "MxRecord",
modelProperties: {
preference: {
serializedName: "preference",
type: {
name: "Number"
}
},
exchange: {
serializedName: "exchange",
type: {
name: "String"
}
}
}
}
};
const NsRecord = {
type: {
name: "Composite",
className: "NsRecord",
modelProperties: {
nsdname: {
serializedName: "nsdname",
type: {
name: "String"
}
}
}
}
};
const PtrRecord = {
type: {
name: "Composite",
className: "PtrRecord",
modelProperties: {
ptrdname: {
serializedName: "ptrdname",
type: {
name: "String"
}
}
}
}
};
const SrvRecord = {
type: {
name: "Composite",
className: "SrvRecord",
modelProperties: {
priority: {
serializedName: "priority",
type: {
name: "Number"
}
},
weight: {
serializedName: "weight",
type: {
name: "Number"
}
},
port: {
serializedName: "port",
type: {
name: "Number"
}
},
target: {
serializedName: "target",
type: {
name: "String"
}
}
}
}
};
const TxtRecord = {
type: {
name: "Composite",
className: "TxtRecord",
modelProperties: {
value: {
serializedName: "value",
type: {
name: "Sequence",
element: {
type: {
name: "String"
}
}
}
}
}
}
};
const CnameRecord = {
type: {
name: "Composite",
className: "CnameRecord",
modelProperties: {
cname: {
serializedName: "cname",
type: {
name: "String"
}
}
}
}
};
const SoaRecord = {
type: {
name: "Composite",
className: "SoaRecord",
modelProperties: {
host: {
serializedName: "host",
type: {
name: "String"
}
},
email: {
serializedName: "email",
type: {
name: "String"
}
},
serialNumber: {
serializedName: "serialNumber",
type: {
name: "Number"
}
},
refreshTime: {
serializedName: "refreshTime",
type: {
name: "Number"
}
},
retryTime: {
serializedName: "retryTime",
type: {
name: "Number"
}
},
expireTime: {
serializedName: "expireTime",
type: {
name: "Number"
}
},
minimumTtl: {
serializedName: "minimumTTL",
type: {
name: "Number"
}
}
}
}
};
const CaaRecord = {
type: {
name: "Composite",
className: "CaaRecord",
modelProperties: {
flags: {
serializedName: "flags",
type: {
name: "Number"
}
},
tag: {
serializedName: "tag",
type: {
name: "String"
}
},
value: {
serializedName: "value",
type: {
name: "String"
}
}
}
}
};
const CloudError = {
type: {
name: "Composite",
className: "CloudError",
modelProperties: {
error: {
serializedName: "error",
type: {
name: "Composite",
className: "CloudErrorBody"
}
}
}
}
};
const CloudErrorBody = {
type: {
name: "Composite",
className: "CloudErrorBody",
modelProperties: {
code: {
serializedName: "code",
type: {
name: "String"
}
},
message: {
serializedName: "message",
type: {
name: "String"
}
},
target: {
serializedName: "target",
type: {
name: "String"
}
},
details: {
serializedName: "details",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "CloudErrorBody"
}
}
}
}
}
}
};
const RecordSetListResult = {
type: {
name: "Composite",
className: "RecordSetListResult",
modelProperties: {
value: {
serializedName: "value",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "RecordSet"
}
}
}
},
nextLink: {
serializedName: "nextLink",
readOnly: true,
type: {
name: "String"
}
}
}
}
};
const Resource = {
type: {
name: "Composite",
className: "Resource",
modelProperties: {
id: {
serializedName: "id",
readOnly: true,
type: {
name: "String"
}
},
name: {
serializedName: "name",
readOnly: true,
type: {
name: "String"
}
},
type: {
serializedName: "type",
readOnly: true,
type: {
name: "String"
}
},
location: {
serializedName: "location",
required: true,
type: {
name: "String"
}
},
tags: {
serializedName: "tags",
type: {
name: "Dictionary",
value: { type: { name: "String" } }
}
}
}
}
};
const ZoneUpdate = {
type: {
name: "Composite",
className: "ZoneUpdate",
modelProperties: {
tags: {
serializedName: "tags",
type: {
name: "Dictionary",
value: { type: { name: "String" } }
}
}
}
}
};
const ZoneListResult = {
type: {
name: "Composite",
className: "ZoneListResult",
modelProperties: {
value: {
serializedName: "value",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "Zone"
}
}
}
},
nextLink: {
serializedName: "nextLink",
readOnly: true,
type: {
name: "String"
}
}
}
}
};
const DnsResourceReferenceRequest = {
type: {
name: "Composite",
className: "DnsResourceReferenceRequest",
modelProperties: {
targetResources: {
serializedName: "properties.targetResources",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "SubResource"
}
}
}
}
}
}
};
const DnsResourceReferenceResult = {
type: {
name: "Composite",
className: "DnsResourceReferenceResult",
modelProperties: {
dnsResourceReferences: {
serializedName: "properties.dnsResourceReferences",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "DnsResourceReference"
}
}
}
}
}
}
};
const DnsResourceReference = {
type: {
name: "Composite",
className: "DnsResourceReference",
modelProperties: {
dnsResources: {
serializedName: "dnsResources",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "SubResource"
}
}
}
},
targetResource: {
serializedName: "targetResource",
type: {
name: "Composite",
className: "SubResource"
}
}
}
}
};
const RecordSetUpdateParameters = {
type: {
name: "Composite",
className: "RecordSetUpdateParameters",
modelProperties: {
recordSet: {
serializedName: "RecordSet",
type: {
name: "Composite",
className: "RecordSet"
}
}
}
}
};
const Zone = {
type: {
name: "Composite",
className: "Zone",
modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { etag: {
serializedName: "etag",
type: {
name: "String"
}
}, maxNumberOfRecordSets: {
serializedName: "properties.maxNumberOfRecordSets",
readOnly: true,
type: {
name: "Number"
}
}, maxNumberOfRecordsPerRecordSet: {
serializedName: "properties.maxNumberOfRecordsPerRecordSet",
readOnly: true,
type: {
name: "Number"
}
}, numberOfRecordSets: {
serializedName: "properties.numberOfRecordSets",
readOnly: true,
type: {
name: "Number"
}
}, nameServers: {
serializedName: "properties.nameServers",
readOnly: true,
type: {
name: "Sequence",
element: {
type: {
name: "String"
}
}
}
}, zoneType: {
defaultValue: "Public",
serializedName: "properties.zoneType",
type: {
name: "Enum",
allowedValues: ["Public", "Private"]
}
}, registrationVirtualNetworks: {
serializedName: "properties.registrationVirtualNetworks",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "SubResource"
}
}
}
}, resolutionVirtualNetworks: {
serializedName: "properties.resolutionVirtualNetworks",
type: {
name: "Sequence",
element: {
type: {
name: "Composite",
className: "SubResource"
}
}
}
} })
}
};
var Mappers = /*#__PURE__*/Object.freeze({
__proto__: null,
RecordSet: RecordSet,
SubResource: SubResource,
ARecord: ARecord,
AaaaRecord: AaaaRecord,
MxRecord: MxRecord,
NsRecord: NsRecord,
PtrRecord: PtrRecord,
SrvRecord: SrvRecord,
TxtRecord: TxtRecord,
CnameRecord: CnameRecord,
SoaRecord: SoaRecord,
CaaRecord: CaaRecord,
CloudError: CloudError,
CloudErrorBody: CloudErrorBody,
RecordSetListResult: RecordSetListResult,
Resource: Resource,
ZoneUpdate: ZoneUpdate,
ZoneListResult: ZoneListResult,
DnsResourceReferenceRequest: DnsResourceReferenceRequest,
DnsResourceReferenceResult: DnsResourceReferenceResult,
DnsResourceReference: DnsResourceReference,
RecordSetUpdateParameters: RecordSetUpdateParameters,
Zone: Zone
});
/*
* Copyright (c) Microsoft Corporation.
* Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
const contentType = {
parameterPath: ["options", "contentType"],
mapper: {
defaultValue: "application/json",
isConstant: true,
serializedName: "Content-Type",
type: {
name: "String"
}
}
};
const parameters = {
parameterPath: "parameters",
mapper: RecordSet
};
const accept = {
parameterPath: "accept",
mapper: {
defaultValue: "application/json",
isConstant: true,
serializedName: "Accept",
type: {
name: "String"
}
}
};
const $host = {
parameterPath: "$host",
mapper: {
serializedName: "$host",
required: true,
type: {
name: "String"
}
},
skipEncoding: true
};
const resourceGroupName = {
parameterPath: "resourceGroupName",
mapper: {
serializedName: "resourceGroupName",
required: true,
type: {
name: "String"
}
}
};
const zoneName = {
parameterPath: "zoneName",
mapper: {
serializedName: "zoneName",
required: true,
type: {
name: "String"
}
}
};
const relativeRecordSetName = {
parameterPath: "relativeRecordSetName",
mapper: {
serializedName: "relativeRecordSetName",
required: true,
type: {
name: "String"
}
},
skipEncoding: true
};
const recordType = {
parameterPath: "recordType",
mapper: {
serializedName: "recordType",
required: true,
type: {
name: "Enum",
allowedValues: [
"A",
"AAAA",
"CAA",
"CNAME",
"MX",
"NS",
"PTR",
"SOA",
"SRV",
"TXT"
]
}
}
};
const ifMatch = {
parameterPath: ["options", "ifMatch"],
mapper: {
serializedName: "If-Match",
type: {
name: "String"
}
}
};
const apiVersion = {
parameterPath: "apiVersion",
mapper: {
defaultValue: "2018-05-01",
isConstant: true,
serializedName: "api-version",
type: {
name: "String"
}
}
};
const subscriptionId = {
parameterPath: "subscriptionId",
mapper: {
serializedName: "subscriptionId",
required: true,
type: {
name: "String"
}
}
};
const ifNoneMatch = {
parameterPath: ["options", "ifNoneMatch"],
mapper: {
serializedName: "If-None-Match",
type: {
name: "String"
}
}
};
const top = {
parameterPath: ["options", "top"],
mapper: {
serializedName: "$top",
type: {
name: "Number"
}
}
};
const recordsetnamesuffix = {
parameterPath: ["options", "recordsetnamesuffix"],
mapper: {
serializedName: "$recordsetnamesuffix",
type: {
name: "String"
}
}
};
const recordSetNameSuffix = {
parameterPath: ["options", "recordSetNameSuffix"],
mapper: {
serializedName: "$recordsetnamesuffix",
type: {
name: "String"
}
}
};
const nextLink = {
parameterPath: "nextLink",
mapper: {
serializedName: "nextLink",
required: true,
type: {
name: "String"
}
},
skipEncoding: true
};
const parameters1 = {
parameterPath: "parameters",
mapper: Zone
};
const parameters2 = {
parameterPath: "parameters",
mapper: ZoneUpdate
};
const parameters3 = {
parameterPath: "parameters",
mapper: DnsResourceReferenceRequest
};
/*
* Copyright (c) Microsoft Corporation.
* Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
/// <reference lib="esnext.asynciterable" />
/** Class containing RecordSets operations. */
class RecordSetsImpl {
/**
* Initialize a new instance of the class RecordSets class.
* @param client Reference to the service client
*/
constructor(client) {
this.client = client;
}
/**
* Lists the record sets of a specified type in a DNS zone.
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param recordType The type of record sets to enumerate.
* @param options The options parameters.
*/
listByType(resourceGroupName, zoneName, recordType, options) {
const iter = this.listByTypePagingAll(resourceGroupName, zoneName, recordType, options);
return {
next() {
return iter.next();
},
[Symbol.asyncIterator]() {
return this;
},
byPage: (settings) => {
if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
throw new Error("maxPageSize is not supported by this operation.");
}
return this.listByTypePagingPage(resourceGroupName, zoneName, recordType, options, settings);
}
};
}
listByTypePagingPage(resourceGroupName, zoneName, recordType, options, settings) {
return tslib.__asyncGenerator(this, arguments, function* listByTypePagingPage_1() {
let result;
let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
if (!continuationToken) {
result = yield tslib.__await(this._listByType(resourceGroupName, zoneName, recordType, options));
let page = result.value || [];
continuationToken = result.nextLink;
setContinuationToken(page, continuationToken);
yield yield tslib.__await(page);
}
while (continuationToken) {
result = yield tslib.__await(this._listByTypeNext(resourceGroupName, zoneName, recordType, continuationToken, options));
continuationToken = result.nextLink;
let page = result.value || [];
setContinuationToken(page, continuationToken);
yield yield tslib.__await(page);
}
});
}
listByTypePagingAll(resourceGroupName, zoneName, recordType, options) {
return tslib.__asyncGenerator(this, arguments, function* listByTypePagingAll_1() {
var e_1, _a;
try {
for (var _b = tslib.__asyncValues(this.listByTypePagingPage(resourceGroupName, zoneName, recordType, options)), _c; _c = yield tslib.__await(_b.next()), !_c.done;) {
const page = _c.value;
yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) yield tslib.__await(_a.call(_b));
}
finally { if (e_1) throw e_1.error; }
}
});
}
/**
* Lists all record sets in a DNS zone.
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param options The options parameters.
*/
listByDnsZone(resourceGroupName, zoneName, options) {
const iter = this.listByDnsZonePagingAll(resourceGroupName, zoneName, options);
return {
next() {
return iter.next();
},
[Symbol.asyncIterator]() {
return this;
},
byPage: (settings) => {
if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
throw new Error("maxPageSize is not supported by this operation.");
}
return this.listByDnsZonePagingPage(resourceGroupName, zoneName, options, settings);
}
};
}
listByDnsZonePagingPage(resourceGroupName, zoneName, options, settings) {
return tslib.__asyncGenerator(this, arguments, function* listByDnsZonePagingPage_1() {
let result;
let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
if (!continuationToken) {
result = yield tslib.__await(this._listByDnsZone(resourceGroupName, zoneName, options));
let page = result.value || [];
continuationToken = result.nextLink;
setContinuationToken(page, continuationToken);
yield yield tslib.__await(page);
}
while (continuationToken) {
result = yield tslib.__await(this._listByDnsZoneNext(resourceGroupName, zoneName, continuationToken, options));
continuationToken = result.nextLink;
let page = result.value || [];
setContinuationToken(page, continuationToken);
yield yield tslib.__await(page);
}
});
}
listByDnsZonePagingAll(resourceGroupName, zoneName, options) {
return tslib.__asyncGenerator(this, arguments, function* listByDnsZonePagingAll_1() {
var e_2, _a;
try {
for (var _b = tslib.__asyncValues(this.listByDnsZonePagingPage(resourceGroupName, zoneName, options)), _c; _c = yield tslib.__await(_b.next()), !_c.done;) {
const page = _c.value;
yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) yield tslib.__await(_a.call(_b));
}
finally { if (e_2) throw e_2.error; }
}
});
}
/**
* Lists all record sets in a DNS zone.
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param options The options parameters.
*/
listAllByDnsZone(resourceGroupName, zoneName, options) {
const iter = this.listAllByDnsZonePagingAll(resourceGroupName, zoneName, options);
return {
next() {
return iter.next();
},
[Symbol.asyncIterator]() {
return this;
},
byPage: (settings) => {
if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
throw new Error("maxPageSize is not supported by this operation.");
}
return this.listAllByDnsZonePagingPage(resourceGroupName, zoneName, options, settings);
}
};
}
listAllByDnsZonePagingPage(resourceGroupName, zoneName, options, settings) {
return tslib.__asyncGenerator(this, arguments, function* listAllByDnsZonePagingPage_1() {
let result;
let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
if (!continuationToken) {
result = yield tslib.__await(this._listAllByDnsZone(resourceGroupName, zoneName, options));
let page = result.value || [];
continuationToken = result.nextLink;
setContinuationToken(page, continuationToken);
yield yield tslib.__await(page);
}
while (continuationToken) {
result = yield tslib.__await(this._listAllByDnsZoneNext(resourceGroupName, zoneName, continuationToken, options));
continuationToken = result.nextLink;
let page = result.value || [];
setContinuationToken(page, continuationToken);
yield yield tslib.__await(page);
}
});
}
listAllByDnsZonePagingAll(resourceGroupName, zoneName, options) {
return tslib.__asyncGenerator(this, arguments, function* listAllByDnsZonePagingAll_1() {
var e_3, _a;
try {
for (var _b = tslib.__asyncValues(this.listAllByDnsZonePagingPage(resourceGroupName, zoneName, options)), _c; _c = yield tslib.__await(_b.next()), !_c.done;) {
const page = _c.value;
yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
}
}
catch (e_3_1) { e_3 = { error: e_3_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) yield tslib.__await(_a.call(_b));
}
finally { if (e_3) throw e_3.error; }
}
});
}
/**
* Updates a record set within a DNS zone.
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param relativeRecordSetName The name of the record set, relative to the name of the zone.
* @param recordType The type of DNS record in this record set.
* @param parameters Parameters supplied to the Update operation.
* @param options The options parameters.
*/
update(resourceGroupName, zoneName, relativeRecordSetName, recordType, parameters, options) {
return this.client.sendOperationRequest({
resourceGroupName,
zoneName,
relativeRecordSetName,
recordType,
parameters,
options
}, updateOperationSpec$1);
}
/**
* Creates or updates a record set within a DNS zone.
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param relativeRecordSetName The name of the record set, relative to the name of the zone.
* @param recordType The type of DNS record in this record set. Record sets of type SOA can be updated
* but not created (they are created when the DNS zone is created).
* @param parameters Parameters supplied to the CreateOrUpdate operation.
* @param options The options parameters.
*/
createOrUpdate(resourceGroupName, zoneName, relativeRecordSetName, recordType, parameters, options) {
return this.client.sendOperationRequest({
resourceGroupName,
zoneName,
relativeRecordSetName,
recordType,
parameters,
options
}, createOrUpdateOperationSpec$1);
}
/**
* Deletes a record set from a DNS zone. This operation cannot be undone.
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param relativeRecordSetName The name of the record set, relative to the name of the zone.
* @param recordType The type of DNS record in this record set. Record sets of type SOA cannot be
* deleted (they are deleted when the DNS zone is deleted).
* @param options The options parameters.
*/
delete(resourceGroupName, zoneName, relativeRecordSetName, recordType, options) {
return this.client.sendOperationRequest({
resourceGroupName,
zoneName,
relativeRecordSetName,
recordType,
options
}, deleteOperationSpec$1);
}
/**
* Gets a record set.
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param relativeRecordSetName The name of the record set, relative to the name of the zone.
* @param recordType The type of DNS record in this record set.
* @param options The options parameters.
*/
get(resourceGroupName, zoneName, relativeRecordSetName, recordType, options) {
return this.client.sendOperationRequest({
resourceGroupName,
zoneName,
relativeRecordSetName,
recordType,
options
}, getOperationSpec$1);
}
/**
* Lists the record sets of a specified type in a DNS zone.
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param recordType The type of record sets to enumerate.
* @param options The options parameters.
*/
_listByType(resourceGroupName, zoneName, recordType, options) {
return this.client.sendOperationRequest({ resourceGroupName, zoneName, recordType, options }, listByTypeOperationSpec);
}
/**
* Lists all record sets in a DNS zone.
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param options The options parameters.
*/
_listByDnsZone(resourceGroupName, zoneName, options) {
return this.client.sendOperationRequest({ resourceGroupName, zoneName, options }, listByDnsZoneOperationSpec);
}
/**
* Lists all record sets in a DNS zone.
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param options The options parameters.
*/
_listAllByDnsZone(resourceGroupName, zoneName, options) {
return this.client.sendOperationRequest({ resourceGroupName, zoneName, options }, listAllByDnsZoneOperationSpec);
}
/**
* ListByTypeNext
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param recordType The type of record sets to enumerate.
* @param nextLink The nextLink from the previous successful call to the ListByType method.
* @param options The options parameters.
*/
_listByTypeNext(resourceGroupName, zoneName, recordType, nextLink, options) {
return this.client.sendOperationRequest({ resourceGroupName, zoneName, recordType, nextLink, options }, listByTypeNextOperationSpec);
}
/**
* ListByDnsZoneNext
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param nextLink The nextLink from the previous successful call to the ListByDnsZone method.
* @param options The options parameters.
*/
_listByDnsZoneNext(resourceGroupName, zoneName, nextLink, options) {
return this.client.sendOperationRequest({ resourceGroupName, zoneName, nextLink, options }, listByDnsZoneNextOperationSpec);
}
/**
* ListAllByDnsZoneNext
* @param resourceGroupName The name of the resource group.
* @param zoneName The name of the DNS zone (without a terminating dot).
* @param nextLink The nextLink from the previous successful call to the ListAllByDnsZone method.
* @param options The options parameters.
*/
_listAllByDnsZoneNext(resourceGroupName, zoneName, nextLink, options) {
return this.client.sendOperationRequest({ resourceGroupName, zoneName, nextLink, options }, listAllByDnsZoneNextOperationSpec);
}
}
// Operation Specifications
const serializer$2 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
const updateOperationSpec$1 = {
path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}",
httpMethod: "PATCH",
responses: {
200: {
bodyMapper: RecordSet
},
default: {
bodyMapper: CloudError
}
},
requestBody: parameters,
queryParameters: [apiVersion],
urlParameters: [
$host,
resourceGroupName,
zoneName,
relativeRecordSetName,
recordType,
subscriptionId
],
headerParameters: [
contentType,
accept,
ifMatch
],
mediaType: "json",
serializer: serializer$2
};
const createOrUpdateOperationSpec$1 = {
path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}",
httpMethod: "PUT",
responses: {
200: {
bodyMapper: RecordSet
},
201: {
bodyMapper: RecordSet
},
default: {
bodyMapper: CloudError
}
},
requestBody: parameters,
queryParameters: [apiVersion],
urlParameters: [
$host,
resourceGroupName,
zoneName,
relativeRecordSetName,
recordType,
subscriptionId
],
headerParameters: [
contentType,
accept,
ifMatch,
ifNoneMatch
],
mediaType: "json",
serializer: serializer$2
};
const deleteOperationSpec$1 = {
path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}",
httpMethod: "DELETE",
responses: {
200: {},
204: {},
default: {
bodyMapper: CloudError
}
},
queryParameters: [apiVersion],
urlParameters: [
$host,
resourceGroupName,
zoneName,
relativeRecordSetName,
recordType,
subscriptionId
],
headerParameters: [accept, ifMatch],
serializer: serializer$2
};
const getOperationSpec$1 = {
path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}",
httpMethod: "GET",
responses: {
200: {
bodyMapper: RecordSet
},
default: {
bodyMapper: CloudError
}
},
queryParameters: [apiVersion],
urlParameters: [
$host,
resourceGroupName,
zoneName,
relativeRecordSetName,
recordType,
subscriptionId
],
headerParameters: [accept],
serializer: serializer$2
};
const listByTypeOperationSpec = {
path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}",
httpMethod: "GET",
responses: {
200: {
bodyMapper: RecordSetListResult
},
default: {
bodyMapper: CloudError
}
},
queryParameters: [
apiVersion,
top,
recordsetnamesuffix
],
urlParameters: [
$host,
resourceGroupName,
zoneName,
recordType,
subscriptionId
],
headerParameters: [accept],
serializer: serializer$2
};
const listByDnsZoneOperationSpec = {
path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/recordsets",
httpMethod: "GET",
responses: {
200: {
bodyMapper: RecordSetListResult
},
default: {
bodyMapper: CloudError
}
},
queryParameters: [
apiVersion,
top,
recordsetnamesuffix
],
urlParameters: [
$host,
resourceGroupName,
zoneName,
subscriptionId
],
headerParameters: [accept],
serializer: serializer$2
};
const listAllByDnsZoneOperationSpec = {
path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/all",
httpMethod: "GET",
responses: {
200: {
bodyMapper: RecordSetListResult
},
default: {
bodyMapper: CloudError
}
},
queryParameters: [
apiVersion,
top,
recordSetNameSuffix
],
urlParameters: [
$host,
resourceGroupName,
zoneName,
subscriptionId
],
headerParameters: [accept],
serializer: serializer$2
};
const listByTypeNextOperationSpec = {
path: "{nextLink}",
httpMethod: "GET",
responses: {
200: {
bodyMapper: RecordSetListResult
},
default: {
bodyMapper: CloudError
}
},
queryParameters: [
apiVersion,
top,
recordsetnamesuffix
],
urlParameters: [
$host,
resourceGroupName,
zoneName,
recordType,
subscriptionId,
nextLink
],
headerParameters: [accept],
serializer: serializer$2
};
const listByDnsZoneNextOperationSpec = {
path: "{nextLink}",
httpMethod: "GET",
responses: {
200: {
bodyMapper: RecordSetListResult
},
default: {
bodyMapper: CloudError
}
},
queryParameters: [
apiVersion,
top,
recordsetnamesuffix
],
urlParameters: [
$host,
resourceGroupName,
zoneName,
subscriptionId,
nextLink
],
headerParameters: [accept],
serializer: serializer$2
};
const listAllByDnsZoneNextOperationSpec = {
path: "{nextLink}",
httpMethod: "GET",
responses: {
200: {
bodyMapper: RecordSetListResult
},
default: {
bodyMapper: CloudError
}
},
queryParameters: [
apiVersion,
top,
recordSetNameSuffix
],
urlParameters: [
$host,
resourceGroupName,
zoneName,
subscriptionId,
nextLink
],
headerParameters: [accept],
serializer: serializer$2
};
/*
* Copyright (c) Microsoft Corporation.
* Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
class LroImpl {
constructor(sendOperationFn, args, spec, requestPath = spec.path, requestMethod = spec.httpMethod) {
this.sendOperationFn = sendOperationFn;
this.args = args;
this.spec = spec;
this.requestPath = requestPath;
this.requestMethod = requestMethod;
}
sendInitialRequest() {
return tslib.__awaiter(this, void 0, void 0, function* () {
return this.sendOperationFn(this.args, this.spec);
});
}
sendPollRequest(path) {
return tslib.__awaiter(this, void 0, void 0, function* () {
const _a = this.spec, restSpec = tslib.__rest(_a, ["requestBody"]);
return this.sendOperationFn(this.args, Object.assign(Object.assign({}, restSpec), { path, httpMethod: "GET" }));
});
}
}
/*
* Copyright (c) Microsoft Corporation.
* Licensed