@azure/arm-dns 5.1.1-alpha.20241024.1 → 5.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/CHANGELOG.md +44 -10
  2. package/LICENSE +1 -1
  3. package/README.md +1 -1
  4. package/dist/index.js +1371 -579
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +1 -1
  7. package/dist/index.min.js.map +1 -1
  8. package/dist-esm/samples-dev/dnsResourceReferenceGetByTargetResourcesSample.js +15 -8
  9. package/dist-esm/samples-dev/dnsResourceReferenceGetByTargetResourcesSample.js.map +1 -1
  10. package/dist-esm/samples-dev/dnssecConfigsCreateOrUpdateSample.d.ts +2 -0
  11. package/dist-esm/samples-dev/dnssecConfigsCreateOrUpdateSample.d.ts.map +1 -0
  12. package/dist-esm/samples-dev/dnssecConfigsCreateOrUpdateSample.js +38 -0
  13. package/dist-esm/samples-dev/dnssecConfigsCreateOrUpdateSample.js.map +1 -0
  14. package/dist-esm/samples-dev/dnssecConfigsDeleteSample.d.ts +2 -0
  15. package/dist-esm/samples-dev/dnssecConfigsDeleteSample.d.ts.map +1 -0
  16. package/dist-esm/samples-dev/dnssecConfigsDeleteSample.js +38 -0
  17. package/dist-esm/samples-dev/dnssecConfigsDeleteSample.js.map +1 -0
  18. package/dist-esm/samples-dev/dnssecConfigsGetSample.d.ts +2 -0
  19. package/dist-esm/samples-dev/dnssecConfigsGetSample.d.ts.map +1 -0
  20. package/dist-esm/samples-dev/dnssecConfigsGetSample.js +38 -0
  21. package/dist-esm/samples-dev/dnssecConfigsGetSample.js.map +1 -0
  22. package/dist-esm/samples-dev/dnssecConfigsListByDnsZoneSample.d.ts +2 -0
  23. package/dist-esm/samples-dev/dnssecConfigsListByDnsZoneSample.d.ts.map +1 -0
  24. package/dist-esm/samples-dev/dnssecConfigsListByDnsZoneSample.js +54 -0
  25. package/dist-esm/samples-dev/dnssecConfigsListByDnsZoneSample.js.map +1 -0
  26. package/dist-esm/samples-dev/recordSetsCreateOrUpdateSample.js +213 -79
  27. package/dist-esm/samples-dev/recordSetsCreateOrUpdateSample.js.map +1 -1
  28. package/dist-esm/samples-dev/recordSetsDeleteSample.js +124 -57
  29. package/dist-esm/samples-dev/recordSetsDeleteSample.js.map +1 -1
  30. package/dist-esm/samples-dev/recordSetsGetSample.js +107 -40
  31. package/dist-esm/samples-dev/recordSetsGetSample.js.map +1 -1
  32. package/dist-esm/samples-dev/recordSetsListAllByDnsZoneSample.js +12 -5
  33. package/dist-esm/samples-dev/recordSetsListAllByDnsZoneSample.js.map +1 -1
  34. package/dist-esm/samples-dev/recordSetsListByDnsZoneSample.js +11 -4
  35. package/dist-esm/samples-dev/recordSetsListByDnsZoneSample.js.map +1 -1
  36. package/dist-esm/samples-dev/recordSetsListByTypeSample.js +166 -54
  37. package/dist-esm/samples-dev/recordSetsListByTypeSample.js.map +1 -1
  38. package/dist-esm/samples-dev/recordSetsUpdateSample.js +110 -40
  39. package/dist-esm/samples-dev/recordSetsUpdateSample.js.map +1 -1
  40. package/dist-esm/samples-dev/zonesCreateOrUpdateSample.js +11 -4
  41. package/dist-esm/samples-dev/zonesCreateOrUpdateSample.js.map +1 -1
  42. package/dist-esm/samples-dev/zonesDeleteSample.js +11 -4
  43. package/dist-esm/samples-dev/zonesDeleteSample.js.map +1 -1
  44. package/dist-esm/samples-dev/zonesGetSample.js +11 -4
  45. package/dist-esm/samples-dev/zonesGetSample.js.map +1 -1
  46. package/dist-esm/samples-dev/zonesListByResourceGroupSample.js +11 -4
  47. package/dist-esm/samples-dev/zonesListByResourceGroupSample.js.map +1 -1
  48. package/dist-esm/samples-dev/zonesListSample.js +10 -3
  49. package/dist-esm/samples-dev/zonesListSample.js.map +1 -1
  50. package/dist-esm/samples-dev/zonesUpdateSample.js +11 -4
  51. package/dist-esm/samples-dev/zonesUpdateSample.js.map +1 -1
  52. package/dist-esm/src/dnsManagementClient.d.ts +3 -3
  53. package/dist-esm/src/dnsManagementClient.d.ts.map +1 -1
  54. package/dist-esm/src/dnsManagementClient.js +13 -12
  55. package/dist-esm/src/dnsManagementClient.js.map +1 -1
  56. package/dist-esm/src/lroImpl.d.ts +6 -11
  57. package/dist-esm/src/lroImpl.d.ts.map +1 -1
  58. package/dist-esm/src/lroImpl.js +12 -20
  59. package/dist-esm/src/lroImpl.js.map +1 -1
  60. package/dist-esm/src/models/index.d.ts +256 -32
  61. package/dist-esm/src/models/index.d.ts.map +1 -1
  62. package/dist-esm/src/models/index.js +12 -1
  63. package/dist-esm/src/models/index.js.map +1 -1
  64. package/dist-esm/src/models/mappers.d.ts +13 -2
  65. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  66. package/dist-esm/src/models/mappers.js +692 -262
  67. package/dist-esm/src/models/mappers.js.map +1 -1
  68. package/dist-esm/src/models/parameters.d.ts +6 -6
  69. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  70. package/dist-esm/src/models/parameters.js +106 -96
  71. package/dist-esm/src/models/parameters.js.map +1 -1
  72. package/dist-esm/src/operations/dnsResourceReferenceOperations.d.ts.map +1 -1
  73. package/dist-esm/src/operations/dnsResourceReferenceOperations.js +5 -5
  74. package/dist-esm/src/operations/dnsResourceReferenceOperations.js.map +1 -1
  75. package/dist-esm/src/operations/dnssecConfigs.d.ts +74 -0
  76. package/dist-esm/src/operations/dnssecConfigs.d.ts.map +1 -0
  77. package/dist-esm/src/operations/dnssecConfigs.js +348 -0
  78. package/dist-esm/src/operations/dnssecConfigs.js.map +1 -0
  79. package/dist-esm/src/operations/index.d.ts +1 -0
  80. package/dist-esm/src/operations/index.d.ts.map +1 -1
  81. package/dist-esm/src/operations/index.js +1 -0
  82. package/dist-esm/src/operations/index.js.map +1 -1
  83. package/dist-esm/src/operations/recordSets.d.ts +22 -22
  84. package/dist-esm/src/operations/recordSets.js +87 -102
  85. package/dist-esm/src/operations/recordSets.js.map +1 -1
  86. package/dist-esm/src/operations/zones.d.ts +10 -10
  87. package/dist-esm/src/operations/zones.d.ts.map +1 -1
  88. package/dist-esm/src/operations/zones.js +66 -64
  89. package/dist-esm/src/operations/zones.js.map +1 -1
  90. package/dist-esm/src/operationsInterfaces/dnssecConfigs.d.ts +49 -0
  91. package/dist-esm/src/operationsInterfaces/dnssecConfigs.d.ts.map +1 -0
  92. package/dist-esm/src/operationsInterfaces/dnssecConfigs.js +9 -0
  93. package/dist-esm/src/operationsInterfaces/dnssecConfigs.js.map +1 -0
  94. package/dist-esm/src/operationsInterfaces/index.d.ts +1 -0
  95. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  96. package/dist-esm/src/operationsInterfaces/index.js +1 -0
  97. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  98. package/dist-esm/src/operationsInterfaces/recordSets.d.ts +14 -14
  99. package/dist-esm/src/operationsInterfaces/zones.d.ts +8 -8
  100. package/dist-esm/src/operationsInterfaces/zones.d.ts.map +1 -1
  101. package/dist-esm/src/pagingHelper.d.ts +4 -4
  102. package/dist-esm/src/pagingHelper.js +4 -4
  103. package/dist-esm/test/dns_operations_test.spec.d.ts +4 -0
  104. package/dist-esm/test/dns_operations_test.spec.d.ts.map +1 -0
  105. package/dist-esm/test/dns_operations_test.spec.js +114 -0
  106. package/dist-esm/test/dns_operations_test.spec.js.map +1 -0
  107. package/package.json +31 -31
  108. package/review/arm-dns.api.md +157 -12
  109. package/src/dnsManagementClient.ts +25 -22
  110. package/src/lroImpl.ts +31 -23
  111. package/src/models/index.ts +290 -44
  112. package/src/models/mappers.ts +706 -263
  113. package/src/models/parameters.ts +113 -103
  114. package/src/operations/dnsResourceReferenceOperations.ts +11 -11
  115. package/src/operations/dnssecConfigs.ts +468 -0
  116. package/src/operations/index.ts +1 -0
  117. package/src/operations/recordSets.ts +138 -160
  118. package/src/operations/zones.ts +107 -111
  119. package/src/operationsInterfaces/dnsResourceReferenceOperations.ts +2 -2
  120. package/src/operationsInterfaces/dnssecConfigs.ts +95 -0
  121. package/src/operationsInterfaces/index.ts +1 -0
  122. package/src/operationsInterfaces/recordSets.ts +22 -22
  123. package/src/operationsInterfaces/zones.ts +15 -15
  124. package/src/pagingHelper.ts +5 -5
  125. package/types/arm-dns.d.ts +338 -46
  126. package/dist-esm/test/sampleTest.d.ts +0 -2
  127. package/dist-esm/test/sampleTest.d.ts.map +0 -1
  128. package/dist-esm/test/sampleTest.js +0 -42
  129. package/dist-esm/test/sampleTest.js.map +0 -1
@@ -11,18 +11,20 @@ import * as coreRestPipeline from "@azure/core-rest-pipeline";
11
11
  import {
12
12
  PipelineRequest,
13
13
  PipelineResponse,
14
- SendRequest
14
+ SendRequest,
15
15
  } from "@azure/core-rest-pipeline";
16
16
  import * as coreAuth from "@azure/core-auth";
17
17
  import {
18
+ DnssecConfigsImpl,
18
19
  RecordSetsImpl,
19
20
  ZonesImpl,
20
- DnsResourceReferenceOperationsImpl
21
+ DnsResourceReferenceOperationsImpl,
21
22
  } from "./operations";
22
23
  import {
24
+ DnssecConfigs,
23
25
  RecordSets,
24
26
  Zones,
25
- DnsResourceReferenceOperations
27
+ DnsResourceReferenceOperations,
26
28
  } from "./operationsInterfaces";
27
29
  import { DnsManagementClientOptionalParams } from "./models";
28
30
 
@@ -34,14 +36,13 @@ export class DnsManagementClient extends coreClient.ServiceClient {
34
36
  /**
35
37
  * Initializes a new instance of the DnsManagementClient class.
36
38
  * @param credentials Subscription credentials which uniquely identify client subscription.
37
- * @param subscriptionId Specifies the Azure subscription ID, which uniquely identifies the Microsoft
38
- * Azure subscription.
39
+ * @param subscriptionId The ID of the target subscription.
39
40
  * @param options The parameter options
40
41
  */
41
42
  constructor(
42
43
  credentials: coreAuth.TokenCredential,
43
44
  subscriptionId: string,
44
- options?: DnsManagementClientOptionalParams
45
+ options?: DnsManagementClientOptionalParams,
45
46
  ) {
46
47
  if (credentials === undefined) {
47
48
  throw new Error("'credentials' cannot be null");
@@ -56,10 +57,10 @@ export class DnsManagementClient extends coreClient.ServiceClient {
56
57
  }
57
58
  const defaults: DnsManagementClientOptionalParams = {
58
59
  requestContentType: "application/json; charset=utf-8",
59
- credential: credentials
60
+ credential: credentials,
60
61
  };
61
62
 
62
- const packageDetails = `azsdk-js-arm-dns/5.1.1`;
63
+ const packageDetails = `azsdk-js-arm-dns/5.2.0-beta.1`;
63
64
  const userAgentPrefix =
64
65
  options.userAgentOptions && options.userAgentOptions.userAgentPrefix
65
66
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
@@ -69,20 +70,21 @@ export class DnsManagementClient extends coreClient.ServiceClient {
69
70
  ...defaults,
70
71
  ...options,
71
72
  userAgentOptions: {
72
- userAgentPrefix
73
+ userAgentPrefix,
73
74
  },
74
75
  endpoint:
75
- options.endpoint ?? options.baseUri ?? "https://management.azure.com"
76
+ options.endpoint ?? options.baseUri ?? "https://management.azure.com",
76
77
  };
77
78
  super(optionsWithDefaults);
78
79
 
79
80
  let bearerTokenAuthenticationPolicyFound: boolean = false;
80
81
  if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) {
81
- const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies();
82
+ const pipelinePolicies: coreRestPipeline.PipelinePolicy[] =
83
+ options.pipeline.getOrderedPolicies();
82
84
  bearerTokenAuthenticationPolicyFound = pipelinePolicies.some(
83
85
  (pipelinePolicy) =>
84
86
  pipelinePolicy.name ===
85
- coreRestPipeline.bearerTokenAuthenticationPolicyName
87
+ coreRestPipeline.bearerTokenAuthenticationPolicyName,
86
88
  );
87
89
  }
88
90
  if (
@@ -92,7 +94,7 @@ export class DnsManagementClient extends coreClient.ServiceClient {
92
94
  !bearerTokenAuthenticationPolicyFound
93
95
  ) {
94
96
  this.pipeline.removePolicy({
95
- name: coreRestPipeline.bearerTokenAuthenticationPolicyName
97
+ name: coreRestPipeline.bearerTokenAuthenticationPolicyName,
96
98
  });
97
99
  this.pipeline.addPolicy(
98
100
  coreRestPipeline.bearerTokenAuthenticationPolicy({
@@ -102,9 +104,9 @@ export class DnsManagementClient extends coreClient.ServiceClient {
102
104
  `${optionsWithDefaults.endpoint}/.default`,
103
105
  challengeCallbacks: {
104
106
  authorizeRequestOnChallenge:
105
- coreClient.authorizeRequestOnClaimChallenge
106
- }
107
- })
107
+ coreClient.authorizeRequestOnClaimChallenge,
108
+ },
109
+ }),
108
110
  );
109
111
  }
110
112
  // Parameter assignments
@@ -112,12 +114,12 @@ export class DnsManagementClient extends coreClient.ServiceClient {
112
114
 
113
115
  // Assigning values to Constant parameters
114
116
  this.$host = options.$host || "https://management.azure.com";
115
- this.apiVersion = options.apiVersion || "2018-05-01";
117
+ this.apiVersion = options.apiVersion || "2023-07-01-preview";
118
+ this.dnssecConfigs = new DnssecConfigsImpl(this);
116
119
  this.recordSets = new RecordSetsImpl(this);
117
120
  this.zones = new ZonesImpl(this);
118
- this.dnsResourceReferenceOperations = new DnsResourceReferenceOperationsImpl(
119
- this
120
- );
121
+ this.dnsResourceReferenceOperations =
122
+ new DnsResourceReferenceOperationsImpl(this);
121
123
  this.addCustomApiVersionPolicy(options.apiVersion);
122
124
  }
123
125
 
@@ -130,7 +132,7 @@ export class DnsManagementClient extends coreClient.ServiceClient {
130
132
  name: "CustomApiVersionPolicy",
131
133
  async sendRequest(
132
134
  request: PipelineRequest,
133
- next: SendRequest
135
+ next: SendRequest,
134
136
  ): Promise<PipelineResponse> {
135
137
  const param = request.url.split("?");
136
138
  if (param.length > 1) {
@@ -144,11 +146,12 @@ export class DnsManagementClient extends coreClient.ServiceClient {
144
146
  request.url = param[0] + "?" + newParams.join("&");
145
147
  }
146
148
  return next(request);
147
- }
149
+ },
148
150
  };
149
151
  this.pipeline.addPolicy(apiVersionPolicy);
150
152
  }
151
153
 
154
+ dnssecConfigs: DnssecConfigs;
152
155
  recordSets: RecordSets;
153
156
  zones: Zones;
154
157
  dnsResourceReferenceOperations: DnsResourceReferenceOperations;
package/src/lroImpl.ts CHANGED
@@ -6,29 +6,37 @@
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  */
8
8
 
9
+ // Copyright (c) Microsoft Corporation.
10
+ // Licensed under the MIT License.
11
+
12
+ import { AbortSignalLike } from "@azure/abort-controller";
9
13
  import { LongRunningOperation, LroResponse } from "@azure/core-lro";
10
14
 
11
- export class LroImpl<T> implements LongRunningOperation<T> {
12
- constructor(
13
- private sendOperationFn: (args: any, spec: any) => Promise<LroResponse<T>>,
14
- private args: Record<string, unknown>,
15
- private spec: {
16
- readonly requestBody?: unknown;
17
- readonly path?: string;
18
- readonly httpMethod: string;
19
- } & Record<string, any>,
20
- public requestPath: string = spec.path!,
21
- public requestMethod: string = spec.httpMethod
22
- ) {}
23
- public async sendInitialRequest(): Promise<LroResponse<T>> {
24
- return this.sendOperationFn(this.args, this.spec);
25
- }
26
- public async sendPollRequest(path: string): Promise<LroResponse<T>> {
27
- const { requestBody, ...restSpec } = this.spec;
28
- return this.sendOperationFn(this.args, {
29
- ...restSpec,
30
- path,
31
- httpMethod: "GET"
32
- });
33
- }
15
+ export function createLroSpec<T>(inputs: {
16
+ sendOperationFn: (args: any, spec: any) => Promise<LroResponse<T>>;
17
+ args: Record<string, unknown>;
18
+ spec: {
19
+ readonly requestBody?: unknown;
20
+ readonly path?: string;
21
+ readonly httpMethod: string;
22
+ } & Record<string, any>;
23
+ }): LongRunningOperation<T> {
24
+ const { args, spec, sendOperationFn } = inputs;
25
+ return {
26
+ requestMethod: spec.httpMethod,
27
+ requestPath: spec.path!,
28
+ sendInitialRequest: () => sendOperationFn(args, spec),
29
+ sendPollRequest: (
30
+ path: string,
31
+ options?: { abortSignal?: AbortSignalLike },
32
+ ) => {
33
+ const { requestBody, ...restSpec } = spec;
34
+ return sendOperationFn(args, {
35
+ ...restSpec,
36
+ httpMethod: "GET",
37
+ path,
38
+ abortSignal: options?.abortSignal,
39
+ });
40
+ },
41
+ };
34
42
  }
@@ -8,6 +8,140 @@
8
8
 
9
9
  import * as coreClient from "@azure/core-client";
10
10
 
11
+ /** Represents the DNSSEC configuration. */
12
+ export interface DnssecConfig {
13
+ /**
14
+ * The ID of the DNSSEC configuration.
15
+ * NOTE: This property will not be serialized. It can only be populated by the server.
16
+ */
17
+ readonly id?: string;
18
+ /**
19
+ * The name of the DNSSEC configuration.
20
+ * NOTE: This property will not be serialized. It can only be populated by the server.
21
+ */
22
+ readonly name?: string;
23
+ /**
24
+ * The type of the DNSSEC configuration.
25
+ * NOTE: This property will not be serialized. It can only be populated by the server.
26
+ */
27
+ readonly type?: string;
28
+ /** The etag of the DNSSEC configuration. */
29
+ etag?: string;
30
+ /**
31
+ * Metadata pertaining to creation and last modification of the resource.
32
+ * NOTE: This property will not be serialized. It can only be populated by the server.
33
+ */
34
+ readonly systemData?: SystemData;
35
+ /**
36
+ * Provisioning State of the DNSSEC configuration.
37
+ * NOTE: This property will not be serialized. It can only be populated by the server.
38
+ */
39
+ readonly provisioningState?: string;
40
+ /**
41
+ * The list of signing keys.
42
+ * NOTE: This property will not be serialized. It can only be populated by the server.
43
+ */
44
+ readonly signingKeys?: SigningKey[];
45
+ }
46
+
47
+ /** Represents the signing key. */
48
+ export interface SigningKey {
49
+ /**
50
+ * The delegation signer information.
51
+ * NOTE: This property will not be serialized. It can only be populated by the server.
52
+ */
53
+ readonly delegationSignerInfo?: DelegationSignerInfo[];
54
+ /**
55
+ * The flags specifies how the key is used.
56
+ * NOTE: This property will not be serialized. It can only be populated by the server.
57
+ */
58
+ readonly flags?: number;
59
+ /**
60
+ * The key tag value of the DNSKEY Resource Record.
61
+ * NOTE: This property will not be serialized. It can only be populated by the server.
62
+ */
63
+ readonly keyTag?: number;
64
+ /**
65
+ * The protocol value. The value is always 3.
66
+ * NOTE: This property will not be serialized. It can only be populated by the server.
67
+ */
68
+ readonly protocol?: number;
69
+ /**
70
+ * The public key, represented as a Base64 encoding.
71
+ * NOTE: This property will not be serialized. It can only be populated by the server.
72
+ */
73
+ readonly publicKey?: string;
74
+ /**
75
+ * The security algorithm type represents the standard security algorithm number of the DNSKEY Resource Record. See: https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml
76
+ * NOTE: This property will not be serialized. It can only be populated by the server.
77
+ */
78
+ readonly securityAlgorithmType?: number;
79
+ }
80
+
81
+ /** The delegation signer information. */
82
+ export interface DelegationSignerInfo {
83
+ /**
84
+ * The digest algorithm type represents the standard digest algorithm number used to construct the digest. See: https://www.iana.org/assignments/ds-rr-types/ds-rr-types.xhtml
85
+ * NOTE: This property will not be serialized. It can only be populated by the server.
86
+ */
87
+ readonly digestAlgorithmType?: number;
88
+ /**
89
+ * The digest value is a cryptographic hash value of the referenced DNSKEY Resource Record.
90
+ * NOTE: This property will not be serialized. It can only be populated by the server.
91
+ */
92
+ readonly digestValue?: string;
93
+ /**
94
+ * The record represents a delegation signer (DS) record.
95
+ * NOTE: This property will not be serialized. It can only be populated by the server.
96
+ */
97
+ readonly record?: string;
98
+ }
99
+
100
+ /** Metadata pertaining to creation and last modification of the resource. */
101
+ export interface SystemData {
102
+ /** The identity that created the resource. */
103
+ createdBy?: string;
104
+ /** The type of identity that created the resource. */
105
+ createdByType?: CreatedByType;
106
+ /** The timestamp of resource creation (UTC). */
107
+ createdAt?: Date;
108
+ /** The identity that last modified the resource. */
109
+ lastModifiedBy?: string;
110
+ /** The type of identity that last modified the resource. */
111
+ lastModifiedByType?: CreatedByType;
112
+ /** The timestamp of resource last modification (UTC) */
113
+ lastModifiedAt?: Date;
114
+ }
115
+
116
+ /** An error response from the service. */
117
+ export interface CloudError {
118
+ /** Cloud error body. */
119
+ error?: CloudErrorBody;
120
+ }
121
+
122
+ /** An error response from the service. */
123
+ export interface CloudErrorBody {
124
+ /** An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */
125
+ code?: string;
126
+ /** A message describing the error, intended to be suitable for display in a user interface. */
127
+ message?: string;
128
+ /** The target of the particular error. For example, the name of the property in error. */
129
+ target?: string;
130
+ /** A list of additional details about the error. */
131
+ details?: CloudErrorBody[];
132
+ }
133
+
134
+ /** The response to a List DNSSEC configurations operation. */
135
+ export interface DnssecConfigListResult {
136
+ /** Information about the DNSSEC configurations in the response. */
137
+ value?: DnssecConfig[];
138
+ /**
139
+ * The continuation token for the next page of results.
140
+ * NOTE: This property will not be serialized. It can only be populated by the server.
141
+ */
142
+ readonly nextLink?: string;
143
+ }
144
+
11
145
  /** Describes a DNS record set (a collection of DNS records with the same name and type). */
12
146
  export interface RecordSet {
13
147
  /**
@@ -43,6 +177,8 @@ export interface RecordSet {
43
177
  readonly provisioningState?: string;
44
178
  /** A reference to an azure resource from where the dns resource value is taken. */
45
179
  targetResource?: SubResource;
180
+ /** A reference to an azure traffic manager profile resource from where the dns resource value is taken. */
181
+ trafficManagementProfile?: SubResource;
46
182
  /** The list of A records in the record set. */
47
183
  aRecords?: ARecord[];
48
184
  /** The list of AAAA records in the record set. */
@@ -63,6 +199,12 @@ export interface RecordSet {
63
199
  soaRecord?: SoaRecord;
64
200
  /** The list of CAA records in the record set. */
65
201
  caaRecords?: CaaRecord[];
202
+ /** The list of DS records in the record set. */
203
+ dsRecords?: DsRecord[];
204
+ /** The list of TLSA records in the record set. */
205
+ tlsaRecords?: TlsaRecord[];
206
+ /** The list of NAPTR records in the record set. */
207
+ naptrRecords?: NaptrRecord[];
66
208
  }
67
209
 
68
210
  /** A reference to a another resource */
@@ -155,22 +297,50 @@ export interface CaaRecord {
155
297
  value?: string;
156
298
  }
157
299
 
158
- /** An error response from the service. */
159
- export interface CloudError {
160
- /** Cloud error body. */
161
- error?: CloudErrorBody;
300
+ /** A DS record. For more information about the DS record format, see RFC 4034: https://www.rfc-editor.org/rfc/rfc4034 */
301
+ export interface DsRecord {
302
+ /** The key tag value is used to determine which DNSKEY Resource Record is used for signature verification. */
303
+ keyTag?: number;
304
+ /** The security algorithm type represents the standard security algorithm number of the DNSKEY Resource Record. See: https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml */
305
+ algorithm?: number;
306
+ /** The digest entity. */
307
+ digest?: Digest;
162
308
  }
163
309
 
164
- /** An error response from the service. */
165
- export interface CloudErrorBody {
166
- /** An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */
167
- code?: string;
168
- /** A message describing the error, intended to be suitable for display in a user interface. */
169
- message?: string;
170
- /** The target of the particular error. For example, the name of the property in error. */
171
- target?: string;
172
- /** A list of additional details about the error. */
173
- details?: CloudErrorBody[];
310
+ /** A digest. */
311
+ export interface Digest {
312
+ /** The digest algorithm type represents the standard digest algorithm number used to construct the digest. See: https://www.iana.org/assignments/ds-rr-types/ds-rr-types.xhtml */
313
+ algorithmType?: number;
314
+ /** The digest value is a cryptographic hash value of the referenced DNSKEY Resource Record. */
315
+ value?: string;
316
+ }
317
+
318
+ /** A TLSA record. For more information about the TLSA record format, see RFC 6698: https://www.rfc-editor.org/rfc/rfc6698 */
319
+ export interface TlsaRecord {
320
+ /** The usage specifies the provided association that will be used to match the certificate presented in the TLS handshake. */
321
+ usage?: number;
322
+ /** The selector specifies which part of the TLS certificate presented by the server will be matched against the association data. */
323
+ selector?: number;
324
+ /** The matching type specifies how the certificate association is presented. */
325
+ matchingType?: number;
326
+ /** This specifies the certificate association data to be matched. */
327
+ certAssociationData?: string;
328
+ }
329
+
330
+ /** A NAPTR record. For more information about the NAPTR record format, see RFC 3403: https://www.rfc-editor.org/rfc/rfc3403 */
331
+ export interface NaptrRecord {
332
+ /** The order in which the NAPTR records MUST be processed in order to accurately represent the ordered list of rules. The ordering is from lowest to highest. Valid values: 0-65535. */
333
+ order?: number;
334
+ /** The preference specifies the order in which NAPTR records with equal 'order' values should be processed, low numbers being processed before high numbers. Valid values: 0-65535. */
335
+ preference?: number;
336
+ /** The flags specific to DDDS applications. Values currently defined in RFC 3404 are uppercase and lowercase letters "A", "P", "S", and "U", and the empty string, "". Enclose Flags in quotation marks. */
337
+ flags?: string;
338
+ /** The services specific to DDDS applications. Enclose Services in quotation marks. */
339
+ services?: string;
340
+ /** The regular expression that the DDDS application uses to convert an input value into an output value. For example: an IP phone system might use a regular expression to convert a phone number that is entered by a user into a SIP URI. Enclose the regular expression in quotation marks. Specify either a value for 'regexp' or a value for 'replacement'. */
341
+ regexp?: string;
342
+ /** The replacement is a fully qualified domain name (FQDN) of the next domain name that you want the DDDS application to submit a DNS query for. The DDDS application replaces the input value with the value specified for replacement. Specify either a value for 'regexp' or a value for 'replacement'. If you specify a value for 'regexp', specify a dot (.) for 'replacement'. */
343
+ replacement?: string;
174
344
  }
175
345
 
176
346
  /** The response to a record set List operation. */
@@ -254,6 +424,11 @@ export interface RecordSetUpdateParameters {
254
424
  export interface Zone extends Resource {
255
425
  /** The etag of the zone. */
256
426
  etag?: string;
427
+ /**
428
+ * Metadata pertaining to creation and last modification of the resource.
429
+ * NOTE: This property will not be serialized. It can only be populated by the server.
430
+ */
431
+ readonly systemData?: SystemData;
257
432
  /**
258
433
  * The maximum number of record sets that can be created in this DNS zone. This is a read-only property and any attempt to set this value will be ignored.
259
434
  * NOTE: This property will not be serialized. It can only be populated by the server.
@@ -280,8 +455,48 @@ export interface Zone extends Resource {
280
455
  registrationVirtualNetworks?: SubResource[];
281
456
  /** A list of references to virtual networks that resolve records in this DNS zone. This is a only when ZoneType is Private. */
282
457
  resolutionVirtualNetworks?: SubResource[];
283
- }
284
-
458
+ /**
459
+ * The list of signing keys.
460
+ * NOTE: This property will not be serialized. It can only be populated by the server.
461
+ */
462
+ readonly signingKeys?: SigningKey[];
463
+ }
464
+
465
+ /** Defines headers for DnssecConfigs_delete operation. */
466
+ export interface DnssecConfigsDeleteHeaders {
467
+ /** Location URI to poll for result */
468
+ location?: string;
469
+ }
470
+
471
+ /** Defines headers for Zones_delete operation. */
472
+ export interface ZonesDeleteHeaders {
473
+ /** Location URI to poll for result */
474
+ location?: string;
475
+ }
476
+
477
+ /** Known values of {@link CreatedByType} that the service accepts. */
478
+ export enum KnownCreatedByType {
479
+ /** User */
480
+ User = "User",
481
+ /** Application */
482
+ Application = "Application",
483
+ /** ManagedIdentity */
484
+ ManagedIdentity = "ManagedIdentity",
485
+ /** Key */
486
+ Key = "Key",
487
+ }
488
+
489
+ /**
490
+ * Defines values for CreatedByType. \
491
+ * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,
492
+ * this enum contains the known values that the service supports.
493
+ * ### Known values supported by the service
494
+ * **User** \
495
+ * **Application** \
496
+ * **ManagedIdentity** \
497
+ * **Key**
498
+ */
499
+ export type CreatedByType = string;
285
500
  /** Defines values for RecordType. */
286
501
  export type RecordType =
287
502
  | "A"
@@ -293,10 +508,61 @@ export type RecordType =
293
508
  | "PTR"
294
509
  | "SOA"
295
510
  | "SRV"
296
- | "TXT";
511
+ | "TXT"
512
+ | "TLSA"
513
+ | "DS"
514
+ | "NAPTR";
297
515
  /** Defines values for ZoneType. */
298
516
  export type ZoneType = "Public" | "Private";
299
517
 
518
+ /** Optional parameters. */
519
+ export interface DnssecConfigsCreateOrUpdateOptionalParams
520
+ extends coreClient.OperationOptions {
521
+ /** The etag of the DNSSEC configuration. Omit this value to always overwrite the DNSSEC configuration. Specify the last-seen etag value to prevent accidentally overwriting any concurrent changes. */
522
+ ifMatch?: string;
523
+ /** Set to '*' to allow this DNSSEC configuration to be created, but to prevent updating existing DNSSEC configuration. Other values will be ignored. */
524
+ ifNoneMatch?: string;
525
+ /** Delay to wait until next poll, in milliseconds. */
526
+ updateIntervalInMs?: number;
527
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
528
+ resumeFrom?: string;
529
+ }
530
+
531
+ /** Contains response data for the createOrUpdate operation. */
532
+ export type DnssecConfigsCreateOrUpdateResponse = DnssecConfig;
533
+
534
+ /** Optional parameters. */
535
+ export interface DnssecConfigsDeleteOptionalParams
536
+ extends coreClient.OperationOptions {
537
+ /** The etag of this DNSSEC configuration. Omit this value to always delete the DNSSEC configuration. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes. */
538
+ ifMatch?: string;
539
+ /** Delay to wait until next poll, in milliseconds. */
540
+ updateIntervalInMs?: number;
541
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
542
+ resumeFrom?: string;
543
+ }
544
+
545
+ /** Optional parameters. */
546
+ export interface DnssecConfigsGetOptionalParams
547
+ extends coreClient.OperationOptions {}
548
+
549
+ /** Contains response data for the get operation. */
550
+ export type DnssecConfigsGetResponse = DnssecConfig;
551
+
552
+ /** Optional parameters. */
553
+ export interface DnssecConfigsListByDnsZoneOptionalParams
554
+ extends coreClient.OperationOptions {}
555
+
556
+ /** Contains response data for the listByDnsZone operation. */
557
+ export type DnssecConfigsListByDnsZoneResponse = DnssecConfigListResult;
558
+
559
+ /** Optional parameters. */
560
+ export interface DnssecConfigsListByDnsZoneNextOptionalParams
561
+ extends coreClient.OperationOptions {}
562
+
563
+ /** Contains response data for the listByDnsZoneNext operation. */
564
+ export type DnssecConfigsListByDnsZoneNextResponse = DnssecConfigListResult;
565
+
300
566
  /** Optional parameters. */
301
567
  export interface RecordSetsUpdateOptionalParams
302
568
  extends coreClient.OperationOptions {
@@ -371,36 +637,21 @@ export type RecordSetsListAllByDnsZoneResponse = RecordSetListResult;
371
637
 
372
638
  /** Optional parameters. */
373
639
  export interface RecordSetsListByTypeNextOptionalParams
374
- extends coreClient.OperationOptions {
375
- /** The maximum number of record sets to return. If not specified, returns up to 100 record sets. */
376
- top?: number;
377
- /** The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with .<recordSetNameSuffix> */
378
- recordsetnamesuffix?: string;
379
- }
640
+ extends coreClient.OperationOptions {}
380
641
 
381
642
  /** Contains response data for the listByTypeNext operation. */
382
643
  export type RecordSetsListByTypeNextResponse = RecordSetListResult;
383
644
 
384
645
  /** Optional parameters. */
385
646
  export interface RecordSetsListByDnsZoneNextOptionalParams
386
- extends coreClient.OperationOptions {
387
- /** The maximum number of record sets to return. If not specified, returns up to 100 record sets. */
388
- top?: number;
389
- /** The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with .<recordSetNameSuffix> */
390
- recordsetnamesuffix?: string;
391
- }
647
+ extends coreClient.OperationOptions {}
392
648
 
393
649
  /** Contains response data for the listByDnsZoneNext operation. */
394
650
  export type RecordSetsListByDnsZoneNextResponse = RecordSetListResult;
395
651
 
396
652
  /** Optional parameters. */
397
653
  export interface RecordSetsListAllByDnsZoneNextOptionalParams
398
- extends coreClient.OperationOptions {
399
- /** The maximum number of record sets to return. If not specified, returns up to 100 record sets. */
400
- top?: number;
401
- /** The suffix label of the record set name that has to be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records that end with .<recordSetNameSuffix> */
402
- recordSetNameSuffix?: string;
403
- }
654
+ extends coreClient.OperationOptions {}
404
655
 
405
656
  /** Contains response data for the listAllByDnsZoneNext operation. */
406
657
  export type RecordSetsListAllByDnsZoneNextResponse = RecordSetListResult;
@@ -463,20 +714,14 @@ export type ZonesListResponse = ZoneListResult;
463
714
 
464
715
  /** Optional parameters. */
465
716
  export interface ZonesListByResourceGroupNextOptionalParams
466
- extends coreClient.OperationOptions {
467
- /** The maximum number of record sets to return. If not specified, returns up to 100 record sets. */
468
- top?: number;
469
- }
717
+ extends coreClient.OperationOptions {}
470
718
 
471
719
  /** Contains response data for the listByResourceGroupNext operation. */
472
720
  export type ZonesListByResourceGroupNextResponse = ZoneListResult;
473
721
 
474
722
  /** Optional parameters. */
475
723
  export interface ZonesListNextOptionalParams
476
- extends coreClient.OperationOptions {
477
- /** The maximum number of DNS zones to return. If not specified, returns up to 100 zones. */
478
- top?: number;
479
- }
724
+ extends coreClient.OperationOptions {}
480
725
 
481
726
  /** Contains response data for the listNext operation. */
482
727
  export type ZonesListNextResponse = ZoneListResult;
@@ -486,7 +731,8 @@ export interface DnsResourceReferenceGetByTargetResourcesOptionalParams
486
731
  extends coreClient.OperationOptions {}
487
732
 
488
733
  /** Contains response data for the getByTargetResources operation. */
489
- export type DnsResourceReferenceGetByTargetResourcesResponse = DnsResourceReferenceResult;
734
+ export type DnsResourceReferenceGetByTargetResourcesResponse =
735
+ DnsResourceReferenceResult;
490
736
 
491
737
  /** Optional parameters. */
492
738
  export interface DnsManagementClientOptionalParams