@azure/arm-newrelicobservability 1.0.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 (210) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/LICENSE +21 -0
  3. package/README.md +109 -0
  4. package/dist/index.js +4065 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.min.js +1 -0
  7. package/dist/index.min.js.map +1 -0
  8. package/dist-esm/samples-dev/accountsListSample.d.ts +2 -0
  9. package/dist-esm/samples-dev/accountsListSample.d.ts.map +1 -0
  10. package/dist-esm/samples-dev/accountsListSample.js +84 -0
  11. package/dist-esm/samples-dev/accountsListSample.js.map +1 -0
  12. package/dist-esm/samples-dev/monitorsCreateOrUpdateSample.d.ts +2 -0
  13. package/dist-esm/samples-dev/monitorsCreateOrUpdateSample.d.ts.map +1 -0
  14. package/dist-esm/samples-dev/monitorsCreateOrUpdateSample.js +77 -0
  15. package/dist-esm/samples-dev/monitorsCreateOrUpdateSample.js.map +1 -0
  16. package/dist-esm/samples-dev/monitorsDeleteSample.d.ts +2 -0
  17. package/dist-esm/samples-dev/monitorsDeleteSample.d.ts.map +1 -0
  18. package/dist-esm/samples-dev/monitorsDeleteSample.js +58 -0
  19. package/dist-esm/samples-dev/monitorsDeleteSample.js.map +1 -0
  20. package/dist-esm/samples-dev/monitorsGetMetricRulesSample.d.ts +2 -0
  21. package/dist-esm/samples-dev/monitorsGetMetricRulesSample.d.ts.map +1 -0
  22. package/dist-esm/samples-dev/monitorsGetMetricRulesSample.js +58 -0
  23. package/dist-esm/samples-dev/monitorsGetMetricRulesSample.js.map +1 -0
  24. package/dist-esm/samples-dev/monitorsGetMetricStatusSample.d.ts +2 -0
  25. package/dist-esm/samples-dev/monitorsGetMetricStatusSample.d.ts.map +1 -0
  26. package/dist-esm/samples-dev/monitorsGetMetricStatusSample.js +63 -0
  27. package/dist-esm/samples-dev/monitorsGetMetricStatusSample.js.map +1 -0
  28. package/dist-esm/samples-dev/monitorsGetSample.d.ts +2 -0
  29. package/dist-esm/samples-dev/monitorsGetSample.d.ts.map +1 -0
  30. package/dist-esm/samples-dev/monitorsGetSample.js +38 -0
  31. package/dist-esm/samples-dev/monitorsGetSample.js.map +1 -0
  32. package/dist-esm/samples-dev/monitorsListAppServicesSample.d.ts +2 -0
  33. package/dist-esm/samples-dev/monitorsListAppServicesSample.d.ts.map +1 -0
  34. package/dist-esm/samples-dev/monitorsListAppServicesSample.js +91 -0
  35. package/dist-esm/samples-dev/monitorsListAppServicesSample.js.map +1 -0
  36. package/dist-esm/samples-dev/monitorsListByResourceGroupSample.d.ts +2 -0
  37. package/dist-esm/samples-dev/monitorsListByResourceGroupSample.d.ts.map +1 -0
  38. package/dist-esm/samples-dev/monitorsListByResourceGroupSample.js +51 -0
  39. package/dist-esm/samples-dev/monitorsListByResourceGroupSample.js.map +1 -0
  40. package/dist-esm/samples-dev/monitorsListBySubscriptionSample.d.ts +2 -0
  41. package/dist-esm/samples-dev/monitorsListBySubscriptionSample.d.ts.map +1 -0
  42. package/dist-esm/samples-dev/monitorsListBySubscriptionSample.js +50 -0
  43. package/dist-esm/samples-dev/monitorsListBySubscriptionSample.js.map +1 -0
  44. package/dist-esm/samples-dev/monitorsListHostsSample.d.ts +2 -0
  45. package/dist-esm/samples-dev/monitorsListHostsSample.d.ts.map +1 -0
  46. package/dist-esm/samples-dev/monitorsListHostsSample.js +92 -0
  47. package/dist-esm/samples-dev/monitorsListHostsSample.js.map +1 -0
  48. package/dist-esm/samples-dev/monitorsListMonitoredResourcesSample.d.ts +2 -0
  49. package/dist-esm/samples-dev/monitorsListMonitoredResourcesSample.d.ts.map +1 -0
  50. package/dist-esm/samples-dev/monitorsListMonitoredResourcesSample.js +84 -0
  51. package/dist-esm/samples-dev/monitorsListMonitoredResourcesSample.js.map +1 -0
  52. package/dist-esm/samples-dev/monitorsSwitchBillingSample.d.ts +2 -0
  53. package/dist-esm/samples-dev/monitorsSwitchBillingSample.d.ts.map +1 -0
  54. package/dist-esm/samples-dev/monitorsSwitchBillingSample.js +70 -0
  55. package/dist-esm/samples-dev/monitorsSwitchBillingSample.js.map +1 -0
  56. package/dist-esm/samples-dev/monitorsUpdateSample.d.ts +2 -0
  57. package/dist-esm/samples-dev/monitorsUpdateSample.d.ts.map +1 -0
  58. package/dist-esm/samples-dev/monitorsUpdateSample.js +72 -0
  59. package/dist-esm/samples-dev/monitorsUpdateSample.js.map +1 -0
  60. package/dist-esm/samples-dev/monitorsVMHostPayloadSample.d.ts +2 -0
  61. package/dist-esm/samples-dev/monitorsVMHostPayloadSample.d.ts.map +1 -0
  62. package/dist-esm/samples-dev/monitorsVMHostPayloadSample.js +56 -0
  63. package/dist-esm/samples-dev/monitorsVMHostPayloadSample.js.map +1 -0
  64. package/dist-esm/samples-dev/operationsListSample.d.ts +2 -0
  65. package/dist-esm/samples-dev/operationsListSample.d.ts.map +1 -0
  66. package/dist-esm/samples-dev/operationsListSample.js +82 -0
  67. package/dist-esm/samples-dev/operationsListSample.js.map +1 -0
  68. package/dist-esm/samples-dev/organizationsListSample.d.ts +2 -0
  69. package/dist-esm/samples-dev/organizationsListSample.d.ts.map +1 -0
  70. package/dist-esm/samples-dev/organizationsListSample.js +84 -0
  71. package/dist-esm/samples-dev/organizationsListSample.js.map +1 -0
  72. package/dist-esm/samples-dev/plansListSample.d.ts +2 -0
  73. package/dist-esm/samples-dev/plansListSample.d.ts.map +1 -0
  74. package/dist-esm/samples-dev/plansListSample.js +83 -0
  75. package/dist-esm/samples-dev/plansListSample.js.map +1 -0
  76. package/dist-esm/samples-dev/tagRulesCreateOrUpdateSample.d.ts +2 -0
  77. package/dist-esm/samples-dev/tagRulesCreateOrUpdateSample.d.ts.map +1 -0
  78. package/dist-esm/samples-dev/tagRulesCreateOrUpdateSample.js +84 -0
  79. package/dist-esm/samples-dev/tagRulesCreateOrUpdateSample.js.map +1 -0
  80. package/dist-esm/samples-dev/tagRulesDeleteSample.d.ts +2 -0
  81. package/dist-esm/samples-dev/tagRulesDeleteSample.d.ts.map +1 -0
  82. package/dist-esm/samples-dev/tagRulesDeleteSample.js +58 -0
  83. package/dist-esm/samples-dev/tagRulesDeleteSample.js.map +1 -0
  84. package/dist-esm/samples-dev/tagRulesGetSample.d.ts +2 -0
  85. package/dist-esm/samples-dev/tagRulesGetSample.d.ts.map +1 -0
  86. package/dist-esm/samples-dev/tagRulesGetSample.js +58 -0
  87. package/dist-esm/samples-dev/tagRulesGetSample.js.map +1 -0
  88. package/dist-esm/samples-dev/tagRulesListByNewRelicMonitorResourceSample.d.ts +2 -0
  89. package/dist-esm/samples-dev/tagRulesListByNewRelicMonitorResourceSample.d.ts.map +1 -0
  90. package/dist-esm/samples-dev/tagRulesListByNewRelicMonitorResourceSample.js +84 -0
  91. package/dist-esm/samples-dev/tagRulesListByNewRelicMonitorResourceSample.js.map +1 -0
  92. package/dist-esm/samples-dev/tagRulesUpdateSample.d.ts +2 -0
  93. package/dist-esm/samples-dev/tagRulesUpdateSample.d.ts.map +1 -0
  94. package/dist-esm/samples-dev/tagRulesUpdateSample.js +83 -0
  95. package/dist-esm/samples-dev/tagRulesUpdateSample.js.map +1 -0
  96. package/dist-esm/src/index.d.ts +6 -0
  97. package/dist-esm/src/index.d.ts.map +1 -0
  98. package/dist-esm/src/index.js +13 -0
  99. package/dist-esm/src/index.js.map +1 -0
  100. package/dist-esm/src/lroImpl.d.ts +11 -0
  101. package/dist-esm/src/lroImpl.d.ts.map +1 -0
  102. package/dist-esm/src/lroImpl.js +21 -0
  103. package/dist-esm/src/lroImpl.js.map +1 -0
  104. package/dist-esm/src/models/index.d.ts +1138 -0
  105. package/dist-esm/src/models/index.d.ts.map +1 -0
  106. package/dist-esm/src/models/index.js +204 -0
  107. package/dist-esm/src/models/index.js.map +1 -0
  108. package/dist-esm/src/models/mappers.d.ts +57 -0
  109. package/dist-esm/src/models/mappers.d.ts.map +1 -0
  110. package/dist-esm/src/models/mappers.js +1525 -0
  111. package/dist-esm/src/models/mappers.js.map +1 -0
  112. package/dist-esm/src/models/parameters.d.ts +24 -0
  113. package/dist-esm/src/models/parameters.d.ts.map +1 -0
  114. package/dist-esm/src/models/parameters.js +185 -0
  115. package/dist-esm/src/models/parameters.js.map +1 -0
  116. package/dist-esm/src/newRelicObservability.d.ts +25 -0
  117. package/dist-esm/src/newRelicObservability.d.ts.map +1 -0
  118. package/dist-esm/src/newRelicObservability.js +105 -0
  119. package/dist-esm/src/newRelicObservability.js.map +1 -0
  120. package/dist-esm/src/operations/accounts.d.ts +36 -0
  121. package/dist-esm/src/operations/accounts.d.ts.map +1 -0
  122. package/dist-esm/src/operations/accounts.js +143 -0
  123. package/dist-esm/src/operations/accounts.js.map +1 -0
  124. package/dist-esm/src/operations/index.d.ts +7 -0
  125. package/dist-esm/src/operations/index.d.ts.map +1 -0
  126. package/dist-esm/src/operations/index.js +14 -0
  127. package/dist-esm/src/operations/index.js.map +1 -0
  128. package/dist-esm/src/operations/monitors.d.ts +211 -0
  129. package/dist-esm/src/operations/monitors.d.ts.map +1 -0
  130. package/dist-esm/src/operations/monitors.js +993 -0
  131. package/dist-esm/src/operations/monitors.js.map +1 -0
  132. package/dist-esm/src/operations/operations.d.ts +32 -0
  133. package/dist-esm/src/operations/operations.d.ts.map +1 -0
  134. package/dist-esm/src/operations/operations.js +131 -0
  135. package/dist-esm/src/operations/operations.js.map +1 -0
  136. package/dist-esm/src/operations/organizations.d.ts +36 -0
  137. package/dist-esm/src/operations/organizations.d.ts.map +1 -0
  138. package/dist-esm/src/operations/organizations.js +143 -0
  139. package/dist-esm/src/operations/organizations.js.map +1 -0
  140. package/dist-esm/src/operations/plans.d.ts +32 -0
  141. package/dist-esm/src/operations/plans.d.ts.map +1 -0
  142. package/dist-esm/src/operations/plans.js +139 -0
  143. package/dist-esm/src/operations/plans.js.map +1 -0
  144. package/dist-esm/src/operations/tagRules.d.ts +91 -0
  145. package/dist-esm/src/operations/tagRules.d.ts.map +1 -0
  146. package/dist-esm/src/operations/tagRules.js +392 -0
  147. package/dist-esm/src/operations/tagRules.js.map +1 -0
  148. package/dist-esm/src/operationsInterfaces/accounts.d.ts +13 -0
  149. package/dist-esm/src/operationsInterfaces/accounts.d.ts.map +1 -0
  150. package/dist-esm/src/operationsInterfaces/accounts.js +9 -0
  151. package/dist-esm/src/operationsInterfaces/accounts.js.map +1 -0
  152. package/dist-esm/src/operationsInterfaces/index.d.ts +7 -0
  153. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
  154. package/dist-esm/src/operationsInterfaces/index.js +14 -0
  155. package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
  156. package/dist-esm/src/operationsInterfaces/monitors.d.ts +120 -0
  157. package/dist-esm/src/operationsInterfaces/monitors.d.ts.map +1 -0
  158. package/dist-esm/src/operationsInterfaces/monitors.js +9 -0
  159. package/dist-esm/src/operationsInterfaces/monitors.js.map +1 -0
  160. package/dist-esm/src/operationsInterfaces/operations.d.ts +11 -0
  161. package/dist-esm/src/operationsInterfaces/operations.d.ts.map +1 -0
  162. package/dist-esm/src/operationsInterfaces/operations.js +9 -0
  163. package/dist-esm/src/operationsInterfaces/operations.js.map +1 -0
  164. package/dist-esm/src/operationsInterfaces/organizations.d.ts +13 -0
  165. package/dist-esm/src/operationsInterfaces/organizations.d.ts.map +1 -0
  166. package/dist-esm/src/operationsInterfaces/organizations.js +9 -0
  167. package/dist-esm/src/operationsInterfaces/organizations.js.map +1 -0
  168. package/dist-esm/src/operationsInterfaces/plans.d.ts +11 -0
  169. package/dist-esm/src/operationsInterfaces/plans.d.ts.map +1 -0
  170. package/dist-esm/src/operationsInterfaces/plans.js +9 -0
  171. package/dist-esm/src/operationsInterfaces/plans.js.map +1 -0
  172. package/dist-esm/src/operationsInterfaces/tagRules.d.ts +65 -0
  173. package/dist-esm/src/operationsInterfaces/tagRules.d.ts.map +1 -0
  174. package/dist-esm/src/operationsInterfaces/tagRules.js +9 -0
  175. package/dist-esm/src/operationsInterfaces/tagRules.js.map +1 -0
  176. package/dist-esm/src/pagingHelper.d.ts +13 -0
  177. package/dist-esm/src/pagingHelper.d.ts.map +1 -0
  178. package/dist-esm/src/pagingHelper.js +32 -0
  179. package/dist-esm/src/pagingHelper.js.map +1 -0
  180. package/dist-esm/test/newrelicobservability_operations_test.spec.ts.d.ts +4 -0
  181. package/dist-esm/test/newrelicobservability_operations_test.spec.ts.d.ts.map +1 -0
  182. package/dist-esm/test/newrelicobservability_operations_test.spec.ts.js +69 -0
  183. package/dist-esm/test/newrelicobservability_operations_test.spec.ts.js.map +1 -0
  184. package/package.json +123 -0
  185. package/review/arm-newrelicobservability.api.md +903 -0
  186. package/rollup.config.js +122 -0
  187. package/src/index.ts +13 -0
  188. package/src/lroImpl.ts +42 -0
  189. package/src/models/index.ts +1302 -0
  190. package/src/models/mappers.ts +1636 -0
  191. package/src/models/parameters.ts +222 -0
  192. package/src/newRelicObservability.ts +164 -0
  193. package/src/operations/accounts.ts +177 -0
  194. package/src/operations/index.ts +14 -0
  195. package/src/operations/monitors.ts +1354 -0
  196. package/src/operations/operations.ts +149 -0
  197. package/src/operations/organizations.ts +177 -0
  198. package/src/operations/plans.ts +156 -0
  199. package/src/operations/tagRules.ts +552 -0
  200. package/src/operationsInterfaces/accounts.ts +26 -0
  201. package/src/operationsInterfaces/index.ts +14 -0
  202. package/src/operationsInterfaces/monitors.ts +231 -0
  203. package/src/operationsInterfaces/operations.ts +22 -0
  204. package/src/operationsInterfaces/organizations.ts +29 -0
  205. package/src/operationsInterfaces/plans.ts +22 -0
  206. package/src/operationsInterfaces/tagRules.ts +127 -0
  207. package/src/pagingHelper.ts +39 -0
  208. package/tsconfig.json +33 -0
  209. package/types/arm-newrelicobservability.d.ts +1551 -0
  210. package/types/tsdoc-metadata.json +11 -0
@@ -0,0 +1,1354 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
+ *
5
+ * Code generated by Microsoft (R) AutoRest Code Generator.
6
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
+ */
8
+
9
+ import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging";
10
+ import { setContinuationToken } from "../pagingHelper";
11
+ import { Monitors } from "../operationsInterfaces";
12
+ import * as coreClient from "@azure/core-client";
13
+ import * as Mappers from "../models/mappers";
14
+ import * as Parameters from "../models/parameters";
15
+ import { NewRelicObservability } from "../newRelicObservability";
16
+ import {
17
+ SimplePollerLike,
18
+ OperationState,
19
+ createHttpPoller
20
+ } from "@azure/core-lro";
21
+ import { createLroSpec } from "../lroImpl";
22
+ import {
23
+ NewRelicMonitorResource,
24
+ MonitorsListBySubscriptionNextOptionalParams,
25
+ MonitorsListBySubscriptionOptionalParams,
26
+ MonitorsListBySubscriptionResponse,
27
+ MonitorsListByResourceGroupNextOptionalParams,
28
+ MonitorsListByResourceGroupOptionalParams,
29
+ MonitorsListByResourceGroupResponse,
30
+ AppServiceInfo,
31
+ AppServicesGetRequest,
32
+ MonitorsListAppServicesNextOptionalParams,
33
+ MonitorsListAppServicesOptionalParams,
34
+ MonitorsListAppServicesResponse,
35
+ VMInfo,
36
+ HostsGetRequest,
37
+ MonitorsListHostsNextOptionalParams,
38
+ MonitorsListHostsOptionalParams,
39
+ MonitorsListHostsResponse,
40
+ MonitoredResource,
41
+ MonitorsListMonitoredResourcesNextOptionalParams,
42
+ MonitorsListMonitoredResourcesOptionalParams,
43
+ MonitorsListMonitoredResourcesResponse,
44
+ MonitorsGetOptionalParams,
45
+ MonitorsGetResponse,
46
+ MonitorsCreateOrUpdateOptionalParams,
47
+ MonitorsCreateOrUpdateResponse,
48
+ NewRelicMonitorResourceUpdate,
49
+ MonitorsUpdateOptionalParams,
50
+ MonitorsUpdateResponse,
51
+ MonitorsDeleteOptionalParams,
52
+ MetricsRequest,
53
+ MonitorsGetMetricRulesOptionalParams,
54
+ MonitorsGetMetricRulesResponse,
55
+ MetricsStatusRequest,
56
+ MonitorsGetMetricStatusOptionalParams,
57
+ MonitorsGetMetricStatusResponse,
58
+ SwitchBillingRequest,
59
+ MonitorsSwitchBillingOptionalParams,
60
+ MonitorsVmHostPayloadOptionalParams,
61
+ MonitorsVmHostPayloadResponse,
62
+ MonitorsListBySubscriptionNextResponse,
63
+ MonitorsListByResourceGroupNextResponse,
64
+ MonitorsListAppServicesNextResponse,
65
+ MonitorsListHostsNextResponse,
66
+ MonitorsListMonitoredResourcesNextResponse
67
+ } from "../models";
68
+
69
+ /// <reference lib="esnext.asynciterable" />
70
+ /** Class containing Monitors operations. */
71
+ export class MonitorsImpl implements Monitors {
72
+ private readonly client: NewRelicObservability;
73
+
74
+ /**
75
+ * Initialize a new instance of the class Monitors class.
76
+ * @param client Reference to the service client
77
+ */
78
+ constructor(client: NewRelicObservability) {
79
+ this.client = client;
80
+ }
81
+
82
+ /**
83
+ * List NewRelicMonitorResource resources by subscription ID
84
+ * @param options The options parameters.
85
+ */
86
+ public listBySubscription(
87
+ options?: MonitorsListBySubscriptionOptionalParams
88
+ ): PagedAsyncIterableIterator<NewRelicMonitorResource> {
89
+ const iter = this.listBySubscriptionPagingAll(options);
90
+ return {
91
+ next() {
92
+ return iter.next();
93
+ },
94
+ [Symbol.asyncIterator]() {
95
+ return this;
96
+ },
97
+ byPage: (settings?: PageSettings) => {
98
+ if (settings?.maxPageSize) {
99
+ throw new Error("maxPageSize is not supported by this operation.");
100
+ }
101
+ return this.listBySubscriptionPagingPage(options, settings);
102
+ }
103
+ };
104
+ }
105
+
106
+ private async *listBySubscriptionPagingPage(
107
+ options?: MonitorsListBySubscriptionOptionalParams,
108
+ settings?: PageSettings
109
+ ): AsyncIterableIterator<NewRelicMonitorResource[]> {
110
+ let result: MonitorsListBySubscriptionResponse;
111
+ let continuationToken = settings?.continuationToken;
112
+ if (!continuationToken) {
113
+ result = await this._listBySubscription(options);
114
+ let page = result.value || [];
115
+ continuationToken = result.nextLink;
116
+ setContinuationToken(page, continuationToken);
117
+ yield page;
118
+ }
119
+ while (continuationToken) {
120
+ result = await this._listBySubscriptionNext(continuationToken, options);
121
+ continuationToken = result.nextLink;
122
+ let page = result.value || [];
123
+ setContinuationToken(page, continuationToken);
124
+ yield page;
125
+ }
126
+ }
127
+
128
+ private async *listBySubscriptionPagingAll(
129
+ options?: MonitorsListBySubscriptionOptionalParams
130
+ ): AsyncIterableIterator<NewRelicMonitorResource> {
131
+ for await (const page of this.listBySubscriptionPagingPage(options)) {
132
+ yield* page;
133
+ }
134
+ }
135
+
136
+ /**
137
+ * List NewRelicMonitorResource resources by resource group
138
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
139
+ * @param options The options parameters.
140
+ */
141
+ public listByResourceGroup(
142
+ resourceGroupName: string,
143
+ options?: MonitorsListByResourceGroupOptionalParams
144
+ ): PagedAsyncIterableIterator<NewRelicMonitorResource> {
145
+ const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);
146
+ return {
147
+ next() {
148
+ return iter.next();
149
+ },
150
+ [Symbol.asyncIterator]() {
151
+ return this;
152
+ },
153
+ byPage: (settings?: PageSettings) => {
154
+ if (settings?.maxPageSize) {
155
+ throw new Error("maxPageSize is not supported by this operation.");
156
+ }
157
+ return this.listByResourceGroupPagingPage(
158
+ resourceGroupName,
159
+ options,
160
+ settings
161
+ );
162
+ }
163
+ };
164
+ }
165
+
166
+ private async *listByResourceGroupPagingPage(
167
+ resourceGroupName: string,
168
+ options?: MonitorsListByResourceGroupOptionalParams,
169
+ settings?: PageSettings
170
+ ): AsyncIterableIterator<NewRelicMonitorResource[]> {
171
+ let result: MonitorsListByResourceGroupResponse;
172
+ let continuationToken = settings?.continuationToken;
173
+ if (!continuationToken) {
174
+ result = await this._listByResourceGroup(resourceGroupName, options);
175
+ let page = result.value || [];
176
+ continuationToken = result.nextLink;
177
+ setContinuationToken(page, continuationToken);
178
+ yield page;
179
+ }
180
+ while (continuationToken) {
181
+ result = await this._listByResourceGroupNext(
182
+ resourceGroupName,
183
+ continuationToken,
184
+ options
185
+ );
186
+ continuationToken = result.nextLink;
187
+ let page = result.value || [];
188
+ setContinuationToken(page, continuationToken);
189
+ yield page;
190
+ }
191
+ }
192
+
193
+ private async *listByResourceGroupPagingAll(
194
+ resourceGroupName: string,
195
+ options?: MonitorsListByResourceGroupOptionalParams
196
+ ): AsyncIterableIterator<NewRelicMonitorResource> {
197
+ for await (const page of this.listByResourceGroupPagingPage(
198
+ resourceGroupName,
199
+ options
200
+ )) {
201
+ yield* page;
202
+ }
203
+ }
204
+
205
+ /**
206
+ * List the app service resources currently being monitored by the NewRelic resource.
207
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
208
+ * @param monitorName Name of the Monitors resource
209
+ * @param request The details of the app services get request.
210
+ * @param options The options parameters.
211
+ */
212
+ public listAppServices(
213
+ resourceGroupName: string,
214
+ monitorName: string,
215
+ request: AppServicesGetRequest,
216
+ options?: MonitorsListAppServicesOptionalParams
217
+ ): PagedAsyncIterableIterator<AppServiceInfo> {
218
+ const iter = this.listAppServicesPagingAll(
219
+ resourceGroupName,
220
+ monitorName,
221
+ request,
222
+ options
223
+ );
224
+ return {
225
+ next() {
226
+ return iter.next();
227
+ },
228
+ [Symbol.asyncIterator]() {
229
+ return this;
230
+ },
231
+ byPage: (settings?: PageSettings) => {
232
+ if (settings?.maxPageSize) {
233
+ throw new Error("maxPageSize is not supported by this operation.");
234
+ }
235
+ return this.listAppServicesPagingPage(
236
+ resourceGroupName,
237
+ monitorName,
238
+ request,
239
+ options,
240
+ settings
241
+ );
242
+ }
243
+ };
244
+ }
245
+
246
+ private async *listAppServicesPagingPage(
247
+ resourceGroupName: string,
248
+ monitorName: string,
249
+ request: AppServicesGetRequest,
250
+ options?: MonitorsListAppServicesOptionalParams,
251
+ settings?: PageSettings
252
+ ): AsyncIterableIterator<AppServiceInfo[]> {
253
+ let result: MonitorsListAppServicesResponse;
254
+ let continuationToken = settings?.continuationToken;
255
+ if (!continuationToken) {
256
+ result = await this._listAppServices(
257
+ resourceGroupName,
258
+ monitorName,
259
+ request,
260
+ options
261
+ );
262
+ let page = result.value || [];
263
+ continuationToken = result.nextLink;
264
+ setContinuationToken(page, continuationToken);
265
+ yield page;
266
+ }
267
+ while (continuationToken) {
268
+ result = await this._listAppServicesNext(
269
+ resourceGroupName,
270
+ monitorName,
271
+ request,
272
+ continuationToken,
273
+ options
274
+ );
275
+ continuationToken = result.nextLink;
276
+ let page = result.value || [];
277
+ setContinuationToken(page, continuationToken);
278
+ yield page;
279
+ }
280
+ }
281
+
282
+ private async *listAppServicesPagingAll(
283
+ resourceGroupName: string,
284
+ monitorName: string,
285
+ request: AppServicesGetRequest,
286
+ options?: MonitorsListAppServicesOptionalParams
287
+ ): AsyncIterableIterator<AppServiceInfo> {
288
+ for await (const page of this.listAppServicesPagingPage(
289
+ resourceGroupName,
290
+ monitorName,
291
+ request,
292
+ options
293
+ )) {
294
+ yield* page;
295
+ }
296
+ }
297
+
298
+ /**
299
+ * List the compute vm resources currently being monitored by the NewRelic resource.
300
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
301
+ * @param monitorName Name of the Monitors resource
302
+ * @param request The details of the Hosts get request.
303
+ * @param options The options parameters.
304
+ */
305
+ public listHosts(
306
+ resourceGroupName: string,
307
+ monitorName: string,
308
+ request: HostsGetRequest,
309
+ options?: MonitorsListHostsOptionalParams
310
+ ): PagedAsyncIterableIterator<VMInfo> {
311
+ const iter = this.listHostsPagingAll(
312
+ resourceGroupName,
313
+ monitorName,
314
+ request,
315
+ options
316
+ );
317
+ return {
318
+ next() {
319
+ return iter.next();
320
+ },
321
+ [Symbol.asyncIterator]() {
322
+ return this;
323
+ },
324
+ byPage: (settings?: PageSettings) => {
325
+ if (settings?.maxPageSize) {
326
+ throw new Error("maxPageSize is not supported by this operation.");
327
+ }
328
+ return this.listHostsPagingPage(
329
+ resourceGroupName,
330
+ monitorName,
331
+ request,
332
+ options,
333
+ settings
334
+ );
335
+ }
336
+ };
337
+ }
338
+
339
+ private async *listHostsPagingPage(
340
+ resourceGroupName: string,
341
+ monitorName: string,
342
+ request: HostsGetRequest,
343
+ options?: MonitorsListHostsOptionalParams,
344
+ settings?: PageSettings
345
+ ): AsyncIterableIterator<VMInfo[]> {
346
+ let result: MonitorsListHostsResponse;
347
+ let continuationToken = settings?.continuationToken;
348
+ if (!continuationToken) {
349
+ result = await this._listHosts(
350
+ resourceGroupName,
351
+ monitorName,
352
+ request,
353
+ options
354
+ );
355
+ let page = result.value || [];
356
+ continuationToken = result.nextLink;
357
+ setContinuationToken(page, continuationToken);
358
+ yield page;
359
+ }
360
+ while (continuationToken) {
361
+ result = await this._listHostsNext(
362
+ resourceGroupName,
363
+ monitorName,
364
+ request,
365
+ continuationToken,
366
+ options
367
+ );
368
+ continuationToken = result.nextLink;
369
+ let page = result.value || [];
370
+ setContinuationToken(page, continuationToken);
371
+ yield page;
372
+ }
373
+ }
374
+
375
+ private async *listHostsPagingAll(
376
+ resourceGroupName: string,
377
+ monitorName: string,
378
+ request: HostsGetRequest,
379
+ options?: MonitorsListHostsOptionalParams
380
+ ): AsyncIterableIterator<VMInfo> {
381
+ for await (const page of this.listHostsPagingPage(
382
+ resourceGroupName,
383
+ monitorName,
384
+ request,
385
+ options
386
+ )) {
387
+ yield* page;
388
+ }
389
+ }
390
+
391
+ /**
392
+ * List the resources currently being monitored by the NewRelic monitor resource.
393
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
394
+ * @param monitorName Name of the Monitors resource
395
+ * @param options The options parameters.
396
+ */
397
+ public listMonitoredResources(
398
+ resourceGroupName: string,
399
+ monitorName: string,
400
+ options?: MonitorsListMonitoredResourcesOptionalParams
401
+ ): PagedAsyncIterableIterator<MonitoredResource> {
402
+ const iter = this.listMonitoredResourcesPagingAll(
403
+ resourceGroupName,
404
+ monitorName,
405
+ options
406
+ );
407
+ return {
408
+ next() {
409
+ return iter.next();
410
+ },
411
+ [Symbol.asyncIterator]() {
412
+ return this;
413
+ },
414
+ byPage: (settings?: PageSettings) => {
415
+ if (settings?.maxPageSize) {
416
+ throw new Error("maxPageSize is not supported by this operation.");
417
+ }
418
+ return this.listMonitoredResourcesPagingPage(
419
+ resourceGroupName,
420
+ monitorName,
421
+ options,
422
+ settings
423
+ );
424
+ }
425
+ };
426
+ }
427
+
428
+ private async *listMonitoredResourcesPagingPage(
429
+ resourceGroupName: string,
430
+ monitorName: string,
431
+ options?: MonitorsListMonitoredResourcesOptionalParams,
432
+ settings?: PageSettings
433
+ ): AsyncIterableIterator<MonitoredResource[]> {
434
+ let result: MonitorsListMonitoredResourcesResponse;
435
+ let continuationToken = settings?.continuationToken;
436
+ if (!continuationToken) {
437
+ result = await this._listMonitoredResources(
438
+ resourceGroupName,
439
+ monitorName,
440
+ options
441
+ );
442
+ let page = result.value || [];
443
+ continuationToken = result.nextLink;
444
+ setContinuationToken(page, continuationToken);
445
+ yield page;
446
+ }
447
+ while (continuationToken) {
448
+ result = await this._listMonitoredResourcesNext(
449
+ resourceGroupName,
450
+ monitorName,
451
+ continuationToken,
452
+ options
453
+ );
454
+ continuationToken = result.nextLink;
455
+ let page = result.value || [];
456
+ setContinuationToken(page, continuationToken);
457
+ yield page;
458
+ }
459
+ }
460
+
461
+ private async *listMonitoredResourcesPagingAll(
462
+ resourceGroupName: string,
463
+ monitorName: string,
464
+ options?: MonitorsListMonitoredResourcesOptionalParams
465
+ ): AsyncIterableIterator<MonitoredResource> {
466
+ for await (const page of this.listMonitoredResourcesPagingPage(
467
+ resourceGroupName,
468
+ monitorName,
469
+ options
470
+ )) {
471
+ yield* page;
472
+ }
473
+ }
474
+
475
+ /**
476
+ * List NewRelicMonitorResource resources by subscription ID
477
+ * @param options The options parameters.
478
+ */
479
+ private _listBySubscription(
480
+ options?: MonitorsListBySubscriptionOptionalParams
481
+ ): Promise<MonitorsListBySubscriptionResponse> {
482
+ return this.client.sendOperationRequest(
483
+ { options },
484
+ listBySubscriptionOperationSpec
485
+ );
486
+ }
487
+
488
+ /**
489
+ * List NewRelicMonitorResource resources by resource group
490
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
491
+ * @param options The options parameters.
492
+ */
493
+ private _listByResourceGroup(
494
+ resourceGroupName: string,
495
+ options?: MonitorsListByResourceGroupOptionalParams
496
+ ): Promise<MonitorsListByResourceGroupResponse> {
497
+ return this.client.sendOperationRequest(
498
+ { resourceGroupName, options },
499
+ listByResourceGroupOperationSpec
500
+ );
501
+ }
502
+
503
+ /**
504
+ * Get a NewRelicMonitorResource
505
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
506
+ * @param monitorName Name of the Monitors resource
507
+ * @param options The options parameters.
508
+ */
509
+ get(
510
+ resourceGroupName: string,
511
+ monitorName: string,
512
+ options?: MonitorsGetOptionalParams
513
+ ): Promise<MonitorsGetResponse> {
514
+ return this.client.sendOperationRequest(
515
+ { resourceGroupName, monitorName, options },
516
+ getOperationSpec
517
+ );
518
+ }
519
+
520
+ /**
521
+ * Create a NewRelicMonitorResource
522
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
523
+ * @param monitorName Name of the Monitors resource
524
+ * @param resource Resource create parameters.
525
+ * @param options The options parameters.
526
+ */
527
+ async beginCreateOrUpdate(
528
+ resourceGroupName: string,
529
+ monitorName: string,
530
+ resource: NewRelicMonitorResource,
531
+ options?: MonitorsCreateOrUpdateOptionalParams
532
+ ): Promise<
533
+ SimplePollerLike<
534
+ OperationState<MonitorsCreateOrUpdateResponse>,
535
+ MonitorsCreateOrUpdateResponse
536
+ >
537
+ > {
538
+ const directSendOperation = async (
539
+ args: coreClient.OperationArguments,
540
+ spec: coreClient.OperationSpec
541
+ ): Promise<MonitorsCreateOrUpdateResponse> => {
542
+ return this.client.sendOperationRequest(args, spec);
543
+ };
544
+ const sendOperationFn = async (
545
+ args: coreClient.OperationArguments,
546
+ spec: coreClient.OperationSpec
547
+ ) => {
548
+ let currentRawResponse:
549
+ | coreClient.FullOperationResponse
550
+ | undefined = undefined;
551
+ const providedCallback = args.options?.onResponse;
552
+ const callback: coreClient.RawResponseCallback = (
553
+ rawResponse: coreClient.FullOperationResponse,
554
+ flatResponse: unknown
555
+ ) => {
556
+ currentRawResponse = rawResponse;
557
+ providedCallback?.(rawResponse, flatResponse);
558
+ };
559
+ const updatedArgs = {
560
+ ...args,
561
+ options: {
562
+ ...args.options,
563
+ onResponse: callback
564
+ }
565
+ };
566
+ const flatResponse = await directSendOperation(updatedArgs, spec);
567
+ return {
568
+ flatResponse,
569
+ rawResponse: {
570
+ statusCode: currentRawResponse!.status,
571
+ body: currentRawResponse!.parsedBody,
572
+ headers: currentRawResponse!.headers.toJSON()
573
+ }
574
+ };
575
+ };
576
+
577
+ const lro = createLroSpec({
578
+ sendOperationFn,
579
+ args: { resourceGroupName, monitorName, resource, options },
580
+ spec: createOrUpdateOperationSpec
581
+ });
582
+ const poller = await createHttpPoller<
583
+ MonitorsCreateOrUpdateResponse,
584
+ OperationState<MonitorsCreateOrUpdateResponse>
585
+ >(lro, {
586
+ restoreFrom: options?.resumeFrom,
587
+ intervalInMs: options?.updateIntervalInMs,
588
+ resourceLocationConfig: "azure-async-operation"
589
+ });
590
+ await poller.poll();
591
+ return poller;
592
+ }
593
+
594
+ /**
595
+ * Create a NewRelicMonitorResource
596
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
597
+ * @param monitorName Name of the Monitors resource
598
+ * @param resource Resource create parameters.
599
+ * @param options The options parameters.
600
+ */
601
+ async beginCreateOrUpdateAndWait(
602
+ resourceGroupName: string,
603
+ monitorName: string,
604
+ resource: NewRelicMonitorResource,
605
+ options?: MonitorsCreateOrUpdateOptionalParams
606
+ ): Promise<MonitorsCreateOrUpdateResponse> {
607
+ const poller = await this.beginCreateOrUpdate(
608
+ resourceGroupName,
609
+ monitorName,
610
+ resource,
611
+ options
612
+ );
613
+ return poller.pollUntilDone();
614
+ }
615
+
616
+ /**
617
+ * Update a NewRelicMonitorResource
618
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
619
+ * @param monitorName Name of the Monitors resource
620
+ * @param properties The resource properties to be updated.
621
+ * @param options The options parameters.
622
+ */
623
+ update(
624
+ resourceGroupName: string,
625
+ monitorName: string,
626
+ properties: NewRelicMonitorResourceUpdate,
627
+ options?: MonitorsUpdateOptionalParams
628
+ ): Promise<MonitorsUpdateResponse> {
629
+ return this.client.sendOperationRequest(
630
+ { resourceGroupName, monitorName, properties, options },
631
+ updateOperationSpec
632
+ );
633
+ }
634
+
635
+ /**
636
+ * Delete a NewRelicMonitorResource
637
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
638
+ * @param userEmail User Email.
639
+ * @param monitorName Name of the Monitors resource
640
+ * @param options The options parameters.
641
+ */
642
+ async beginDelete(
643
+ resourceGroupName: string,
644
+ userEmail: string,
645
+ monitorName: string,
646
+ options?: MonitorsDeleteOptionalParams
647
+ ): Promise<SimplePollerLike<OperationState<void>, void>> {
648
+ const directSendOperation = async (
649
+ args: coreClient.OperationArguments,
650
+ spec: coreClient.OperationSpec
651
+ ): Promise<void> => {
652
+ return this.client.sendOperationRequest(args, spec);
653
+ };
654
+ const sendOperationFn = async (
655
+ args: coreClient.OperationArguments,
656
+ spec: coreClient.OperationSpec
657
+ ) => {
658
+ let currentRawResponse:
659
+ | coreClient.FullOperationResponse
660
+ | undefined = undefined;
661
+ const providedCallback = args.options?.onResponse;
662
+ const callback: coreClient.RawResponseCallback = (
663
+ rawResponse: coreClient.FullOperationResponse,
664
+ flatResponse: unknown
665
+ ) => {
666
+ currentRawResponse = rawResponse;
667
+ providedCallback?.(rawResponse, flatResponse);
668
+ };
669
+ const updatedArgs = {
670
+ ...args,
671
+ options: {
672
+ ...args.options,
673
+ onResponse: callback
674
+ }
675
+ };
676
+ const flatResponse = await directSendOperation(updatedArgs, spec);
677
+ return {
678
+ flatResponse,
679
+ rawResponse: {
680
+ statusCode: currentRawResponse!.status,
681
+ body: currentRawResponse!.parsedBody,
682
+ headers: currentRawResponse!.headers.toJSON()
683
+ }
684
+ };
685
+ };
686
+
687
+ const lro = createLroSpec({
688
+ sendOperationFn,
689
+ args: { resourceGroupName, userEmail, monitorName, options },
690
+ spec: deleteOperationSpec
691
+ });
692
+ const poller = await createHttpPoller<void, OperationState<void>>(lro, {
693
+ restoreFrom: options?.resumeFrom,
694
+ intervalInMs: options?.updateIntervalInMs,
695
+ resourceLocationConfig: "azure-async-operation"
696
+ });
697
+ await poller.poll();
698
+ return poller;
699
+ }
700
+
701
+ /**
702
+ * Delete a NewRelicMonitorResource
703
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
704
+ * @param userEmail User Email.
705
+ * @param monitorName Name of the Monitors resource
706
+ * @param options The options parameters.
707
+ */
708
+ async beginDeleteAndWait(
709
+ resourceGroupName: string,
710
+ userEmail: string,
711
+ monitorName: string,
712
+ options?: MonitorsDeleteOptionalParams
713
+ ): Promise<void> {
714
+ const poller = await this.beginDelete(
715
+ resourceGroupName,
716
+ userEmail,
717
+ monitorName,
718
+ options
719
+ );
720
+ return poller.pollUntilDone();
721
+ }
722
+
723
+ /**
724
+ * Get metric rules
725
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
726
+ * @param monitorName Name of the Monitors resource
727
+ * @param request The details of the get metrics status request.
728
+ * @param options The options parameters.
729
+ */
730
+ getMetricRules(
731
+ resourceGroupName: string,
732
+ monitorName: string,
733
+ request: MetricsRequest,
734
+ options?: MonitorsGetMetricRulesOptionalParams
735
+ ): Promise<MonitorsGetMetricRulesResponse> {
736
+ return this.client.sendOperationRequest(
737
+ { resourceGroupName, monitorName, request, options },
738
+ getMetricRulesOperationSpec
739
+ );
740
+ }
741
+
742
+ /**
743
+ * Get metric status
744
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
745
+ * @param monitorName Name of the Monitors resource
746
+ * @param request The details of the get metrics status request.
747
+ * @param options The options parameters.
748
+ */
749
+ getMetricStatus(
750
+ resourceGroupName: string,
751
+ monitorName: string,
752
+ request: MetricsStatusRequest,
753
+ options?: MonitorsGetMetricStatusOptionalParams
754
+ ): Promise<MonitorsGetMetricStatusResponse> {
755
+ return this.client.sendOperationRequest(
756
+ { resourceGroupName, monitorName, request, options },
757
+ getMetricStatusOperationSpec
758
+ );
759
+ }
760
+
761
+ /**
762
+ * List the app service resources currently being monitored by the NewRelic resource.
763
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
764
+ * @param monitorName Name of the Monitors resource
765
+ * @param request The details of the app services get request.
766
+ * @param options The options parameters.
767
+ */
768
+ private _listAppServices(
769
+ resourceGroupName: string,
770
+ monitorName: string,
771
+ request: AppServicesGetRequest,
772
+ options?: MonitorsListAppServicesOptionalParams
773
+ ): Promise<MonitorsListAppServicesResponse> {
774
+ return this.client.sendOperationRequest(
775
+ { resourceGroupName, monitorName, request, options },
776
+ listAppServicesOperationSpec
777
+ );
778
+ }
779
+
780
+ /**
781
+ * Switches the billing for NewRelic monitor resource.
782
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
783
+ * @param monitorName Name of the Monitors resource
784
+ * @param request The details of the switch billing request.
785
+ * @param options The options parameters.
786
+ */
787
+ switchBilling(
788
+ resourceGroupName: string,
789
+ monitorName: string,
790
+ request: SwitchBillingRequest,
791
+ options?: MonitorsSwitchBillingOptionalParams
792
+ ): Promise<void> {
793
+ return this.client.sendOperationRequest(
794
+ { resourceGroupName, monitorName, request, options },
795
+ switchBillingOperationSpec
796
+ );
797
+ }
798
+
799
+ /**
800
+ * List the compute vm resources currently being monitored by the NewRelic resource.
801
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
802
+ * @param monitorName Name of the Monitors resource
803
+ * @param request The details of the Hosts get request.
804
+ * @param options The options parameters.
805
+ */
806
+ private _listHosts(
807
+ resourceGroupName: string,
808
+ monitorName: string,
809
+ request: HostsGetRequest,
810
+ options?: MonitorsListHostsOptionalParams
811
+ ): Promise<MonitorsListHostsResponse> {
812
+ return this.client.sendOperationRequest(
813
+ { resourceGroupName, monitorName, request, options },
814
+ listHostsOperationSpec
815
+ );
816
+ }
817
+
818
+ /**
819
+ * List the resources currently being monitored by the NewRelic monitor resource.
820
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
821
+ * @param monitorName Name of the Monitors resource
822
+ * @param options The options parameters.
823
+ */
824
+ private _listMonitoredResources(
825
+ resourceGroupName: string,
826
+ monitorName: string,
827
+ options?: MonitorsListMonitoredResourcesOptionalParams
828
+ ): Promise<MonitorsListMonitoredResourcesResponse> {
829
+ return this.client.sendOperationRequest(
830
+ { resourceGroupName, monitorName, options },
831
+ listMonitoredResourcesOperationSpec
832
+ );
833
+ }
834
+
835
+ /**
836
+ * Returns the payload that needs to be passed in the request body for installing NewRelic agent on a
837
+ * VM.
838
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
839
+ * @param monitorName Name of the Monitors resource
840
+ * @param options The options parameters.
841
+ */
842
+ vmHostPayload(
843
+ resourceGroupName: string,
844
+ monitorName: string,
845
+ options?: MonitorsVmHostPayloadOptionalParams
846
+ ): Promise<MonitorsVmHostPayloadResponse> {
847
+ return this.client.sendOperationRequest(
848
+ { resourceGroupName, monitorName, options },
849
+ vmHostPayloadOperationSpec
850
+ );
851
+ }
852
+
853
+ /**
854
+ * ListBySubscriptionNext
855
+ * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.
856
+ * @param options The options parameters.
857
+ */
858
+ private _listBySubscriptionNext(
859
+ nextLink: string,
860
+ options?: MonitorsListBySubscriptionNextOptionalParams
861
+ ): Promise<MonitorsListBySubscriptionNextResponse> {
862
+ return this.client.sendOperationRequest(
863
+ { nextLink, options },
864
+ listBySubscriptionNextOperationSpec
865
+ );
866
+ }
867
+
868
+ /**
869
+ * ListByResourceGroupNext
870
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
871
+ * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.
872
+ * @param options The options parameters.
873
+ */
874
+ private _listByResourceGroupNext(
875
+ resourceGroupName: string,
876
+ nextLink: string,
877
+ options?: MonitorsListByResourceGroupNextOptionalParams
878
+ ): Promise<MonitorsListByResourceGroupNextResponse> {
879
+ return this.client.sendOperationRequest(
880
+ { resourceGroupName, nextLink, options },
881
+ listByResourceGroupNextOperationSpec
882
+ );
883
+ }
884
+
885
+ /**
886
+ * ListAppServicesNext
887
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
888
+ * @param monitorName Name of the Monitors resource
889
+ * @param request The details of the app services get request.
890
+ * @param nextLink The nextLink from the previous successful call to the ListAppServices method.
891
+ * @param options The options parameters.
892
+ */
893
+ private _listAppServicesNext(
894
+ resourceGroupName: string,
895
+ monitorName: string,
896
+ request: AppServicesGetRequest,
897
+ nextLink: string,
898
+ options?: MonitorsListAppServicesNextOptionalParams
899
+ ): Promise<MonitorsListAppServicesNextResponse> {
900
+ return this.client.sendOperationRequest(
901
+ { resourceGroupName, monitorName, request, nextLink, options },
902
+ listAppServicesNextOperationSpec
903
+ );
904
+ }
905
+
906
+ /**
907
+ * ListHostsNext
908
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
909
+ * @param monitorName Name of the Monitors resource
910
+ * @param request The details of the Hosts get request.
911
+ * @param nextLink The nextLink from the previous successful call to the ListHosts method.
912
+ * @param options The options parameters.
913
+ */
914
+ private _listHostsNext(
915
+ resourceGroupName: string,
916
+ monitorName: string,
917
+ request: HostsGetRequest,
918
+ nextLink: string,
919
+ options?: MonitorsListHostsNextOptionalParams
920
+ ): Promise<MonitorsListHostsNextResponse> {
921
+ return this.client.sendOperationRequest(
922
+ { resourceGroupName, monitorName, request, nextLink, options },
923
+ listHostsNextOperationSpec
924
+ );
925
+ }
926
+
927
+ /**
928
+ * ListMonitoredResourcesNext
929
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
930
+ * @param monitorName Name of the Monitors resource
931
+ * @param nextLink The nextLink from the previous successful call to the ListMonitoredResources method.
932
+ * @param options The options parameters.
933
+ */
934
+ private _listMonitoredResourcesNext(
935
+ resourceGroupName: string,
936
+ monitorName: string,
937
+ nextLink: string,
938
+ options?: MonitorsListMonitoredResourcesNextOptionalParams
939
+ ): Promise<MonitorsListMonitoredResourcesNextResponse> {
940
+ return this.client.sendOperationRequest(
941
+ { resourceGroupName, monitorName, nextLink, options },
942
+ listMonitoredResourcesNextOperationSpec
943
+ );
944
+ }
945
+ }
946
+ // Operation Specifications
947
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
948
+
949
+ const listBySubscriptionOperationSpec: coreClient.OperationSpec = {
950
+ path:
951
+ "/subscriptions/{subscriptionId}/providers/NewRelic.Observability/monitors",
952
+ httpMethod: "GET",
953
+ responses: {
954
+ 200: {
955
+ bodyMapper: Mappers.NewRelicMonitorResourceListResult
956
+ },
957
+ default: {
958
+ bodyMapper: Mappers.ErrorResponse
959
+ }
960
+ },
961
+ queryParameters: [Parameters.apiVersion],
962
+ urlParameters: [Parameters.$host, Parameters.subscriptionId],
963
+ headerParameters: [Parameters.accept],
964
+ serializer
965
+ };
966
+ const listByResourceGroupOperationSpec: coreClient.OperationSpec = {
967
+ path:
968
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors",
969
+ httpMethod: "GET",
970
+ responses: {
971
+ 200: {
972
+ bodyMapper: Mappers.NewRelicMonitorResourceListResult
973
+ },
974
+ default: {
975
+ bodyMapper: Mappers.ErrorResponse
976
+ }
977
+ },
978
+ queryParameters: [Parameters.apiVersion],
979
+ urlParameters: [
980
+ Parameters.$host,
981
+ Parameters.subscriptionId,
982
+ Parameters.resourceGroupName
983
+ ],
984
+ headerParameters: [Parameters.accept],
985
+ serializer
986
+ };
987
+ const getOperationSpec: coreClient.OperationSpec = {
988
+ path:
989
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors/{monitorName}",
990
+ httpMethod: "GET",
991
+ responses: {
992
+ 200: {
993
+ bodyMapper: Mappers.NewRelicMonitorResource
994
+ },
995
+ default: {
996
+ bodyMapper: Mappers.ErrorResponse
997
+ }
998
+ },
999
+ queryParameters: [Parameters.apiVersion],
1000
+ urlParameters: [
1001
+ Parameters.$host,
1002
+ Parameters.subscriptionId,
1003
+ Parameters.resourceGroupName,
1004
+ Parameters.monitorName
1005
+ ],
1006
+ headerParameters: [Parameters.accept],
1007
+ serializer
1008
+ };
1009
+ const createOrUpdateOperationSpec: coreClient.OperationSpec = {
1010
+ path:
1011
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors/{monitorName}",
1012
+ httpMethod: "PUT",
1013
+ responses: {
1014
+ 200: {
1015
+ bodyMapper: Mappers.NewRelicMonitorResource
1016
+ },
1017
+ 201: {
1018
+ bodyMapper: Mappers.NewRelicMonitorResource
1019
+ },
1020
+ 202: {
1021
+ bodyMapper: Mappers.NewRelicMonitorResource
1022
+ },
1023
+ 204: {
1024
+ bodyMapper: Mappers.NewRelicMonitorResource
1025
+ },
1026
+ default: {
1027
+ bodyMapper: Mappers.ErrorResponse
1028
+ }
1029
+ },
1030
+ requestBody: Parameters.resource,
1031
+ queryParameters: [Parameters.apiVersion],
1032
+ urlParameters: [
1033
+ Parameters.$host,
1034
+ Parameters.subscriptionId,
1035
+ Parameters.resourceGroupName,
1036
+ Parameters.monitorName
1037
+ ],
1038
+ headerParameters: [Parameters.accept, Parameters.contentType],
1039
+ mediaType: "json",
1040
+ serializer
1041
+ };
1042
+ const updateOperationSpec: coreClient.OperationSpec = {
1043
+ path:
1044
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors/{monitorName}",
1045
+ httpMethod: "PATCH",
1046
+ responses: {
1047
+ 200: {
1048
+ bodyMapper: Mappers.NewRelicMonitorResource
1049
+ },
1050
+ default: {
1051
+ bodyMapper: Mappers.ErrorResponse
1052
+ }
1053
+ },
1054
+ requestBody: Parameters.properties,
1055
+ queryParameters: [Parameters.apiVersion],
1056
+ urlParameters: [
1057
+ Parameters.$host,
1058
+ Parameters.subscriptionId,
1059
+ Parameters.resourceGroupName,
1060
+ Parameters.monitorName
1061
+ ],
1062
+ headerParameters: [Parameters.accept, Parameters.contentType],
1063
+ mediaType: "json",
1064
+ serializer
1065
+ };
1066
+ const deleteOperationSpec: coreClient.OperationSpec = {
1067
+ path:
1068
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors/{monitorName}",
1069
+ httpMethod: "DELETE",
1070
+ responses: {
1071
+ 200: {},
1072
+ 201: {},
1073
+ 202: {},
1074
+ 204: {},
1075
+ default: {
1076
+ bodyMapper: Mappers.ErrorResponse
1077
+ }
1078
+ },
1079
+ queryParameters: [Parameters.apiVersion, Parameters.userEmail],
1080
+ urlParameters: [
1081
+ Parameters.$host,
1082
+ Parameters.subscriptionId,
1083
+ Parameters.resourceGroupName,
1084
+ Parameters.monitorName
1085
+ ],
1086
+ headerParameters: [Parameters.accept],
1087
+ serializer
1088
+ };
1089
+ const getMetricRulesOperationSpec: coreClient.OperationSpec = {
1090
+ path:
1091
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors/{monitorName}/getMetricRules",
1092
+ httpMethod: "POST",
1093
+ responses: {
1094
+ 200: {
1095
+ bodyMapper: Mappers.MetricRules
1096
+ },
1097
+ default: {
1098
+ bodyMapper: Mappers.ErrorResponse
1099
+ }
1100
+ },
1101
+ requestBody: Parameters.request,
1102
+ queryParameters: [Parameters.apiVersion],
1103
+ urlParameters: [
1104
+ Parameters.$host,
1105
+ Parameters.subscriptionId,
1106
+ Parameters.resourceGroupName,
1107
+ Parameters.monitorName
1108
+ ],
1109
+ headerParameters: [Parameters.accept, Parameters.contentType],
1110
+ mediaType: "json",
1111
+ serializer
1112
+ };
1113
+ const getMetricStatusOperationSpec: coreClient.OperationSpec = {
1114
+ path:
1115
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors/{monitorName}/getMetricStatus",
1116
+ httpMethod: "POST",
1117
+ responses: {
1118
+ 200: {
1119
+ bodyMapper: Mappers.MetricsStatusResponse
1120
+ },
1121
+ default: {
1122
+ bodyMapper: Mappers.ErrorResponse
1123
+ }
1124
+ },
1125
+ requestBody: Parameters.request1,
1126
+ queryParameters: [Parameters.apiVersion],
1127
+ urlParameters: [
1128
+ Parameters.$host,
1129
+ Parameters.subscriptionId,
1130
+ Parameters.resourceGroupName,
1131
+ Parameters.monitorName
1132
+ ],
1133
+ headerParameters: [Parameters.accept, Parameters.contentType],
1134
+ mediaType: "json",
1135
+ serializer
1136
+ };
1137
+ const listAppServicesOperationSpec: coreClient.OperationSpec = {
1138
+ path:
1139
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors/{monitorName}/listAppServices",
1140
+ httpMethod: "POST",
1141
+ responses: {
1142
+ 200: {
1143
+ bodyMapper: Mappers.AppServicesListResponse
1144
+ },
1145
+ default: {
1146
+ bodyMapper: Mappers.ErrorResponse
1147
+ }
1148
+ },
1149
+ requestBody: Parameters.request2,
1150
+ queryParameters: [Parameters.apiVersion],
1151
+ urlParameters: [
1152
+ Parameters.$host,
1153
+ Parameters.subscriptionId,
1154
+ Parameters.resourceGroupName,
1155
+ Parameters.monitorName
1156
+ ],
1157
+ headerParameters: [Parameters.accept, Parameters.contentType],
1158
+ mediaType: "json",
1159
+ serializer
1160
+ };
1161
+ const switchBillingOperationSpec: coreClient.OperationSpec = {
1162
+ path:
1163
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors/{monitorName}/switchBilling",
1164
+ httpMethod: "POST",
1165
+ responses: {
1166
+ 204: {},
1167
+ default: {
1168
+ bodyMapper: Mappers.ErrorResponse
1169
+ }
1170
+ },
1171
+ requestBody: Parameters.request3,
1172
+ queryParameters: [Parameters.apiVersion],
1173
+ urlParameters: [
1174
+ Parameters.$host,
1175
+ Parameters.subscriptionId,
1176
+ Parameters.resourceGroupName,
1177
+ Parameters.monitorName
1178
+ ],
1179
+ headerParameters: [Parameters.accept, Parameters.contentType],
1180
+ mediaType: "json",
1181
+ serializer
1182
+ };
1183
+ const listHostsOperationSpec: coreClient.OperationSpec = {
1184
+ path:
1185
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors/{monitorName}/listHosts",
1186
+ httpMethod: "POST",
1187
+ responses: {
1188
+ 200: {
1189
+ bodyMapper: Mappers.VMHostsListResponse
1190
+ },
1191
+ default: {
1192
+ bodyMapper: Mappers.ErrorResponse
1193
+ }
1194
+ },
1195
+ requestBody: Parameters.request4,
1196
+ queryParameters: [Parameters.apiVersion],
1197
+ urlParameters: [
1198
+ Parameters.$host,
1199
+ Parameters.subscriptionId,
1200
+ Parameters.resourceGroupName,
1201
+ Parameters.monitorName
1202
+ ],
1203
+ headerParameters: [Parameters.accept, Parameters.contentType],
1204
+ mediaType: "json",
1205
+ serializer
1206
+ };
1207
+ const listMonitoredResourcesOperationSpec: coreClient.OperationSpec = {
1208
+ path:
1209
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors/{monitorName}/monitoredResources",
1210
+ httpMethod: "POST",
1211
+ responses: {
1212
+ 200: {
1213
+ bodyMapper: Mappers.MonitoredResourceListResponse
1214
+ },
1215
+ default: {
1216
+ bodyMapper: Mappers.ErrorResponse
1217
+ }
1218
+ },
1219
+ queryParameters: [Parameters.apiVersion],
1220
+ urlParameters: [
1221
+ Parameters.$host,
1222
+ Parameters.subscriptionId,
1223
+ Parameters.resourceGroupName,
1224
+ Parameters.monitorName
1225
+ ],
1226
+ headerParameters: [Parameters.accept],
1227
+ serializer
1228
+ };
1229
+ const vmHostPayloadOperationSpec: coreClient.OperationSpec = {
1230
+ path:
1231
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/NewRelic.Observability/monitors/{monitorName}/vmHostPayloads",
1232
+ httpMethod: "POST",
1233
+ responses: {
1234
+ 200: {
1235
+ bodyMapper: Mappers.VMExtensionPayload
1236
+ },
1237
+ default: {
1238
+ bodyMapper: Mappers.ErrorResponse
1239
+ }
1240
+ },
1241
+ queryParameters: [Parameters.apiVersion],
1242
+ urlParameters: [
1243
+ Parameters.$host,
1244
+ Parameters.subscriptionId,
1245
+ Parameters.resourceGroupName,
1246
+ Parameters.monitorName
1247
+ ],
1248
+ headerParameters: [Parameters.accept],
1249
+ serializer
1250
+ };
1251
+ const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {
1252
+ path: "{nextLink}",
1253
+ httpMethod: "GET",
1254
+ responses: {
1255
+ 200: {
1256
+ bodyMapper: Mappers.NewRelicMonitorResourceListResult
1257
+ },
1258
+ default: {
1259
+ bodyMapper: Mappers.ErrorResponse
1260
+ }
1261
+ },
1262
+ urlParameters: [
1263
+ Parameters.$host,
1264
+ Parameters.nextLink,
1265
+ Parameters.subscriptionId
1266
+ ],
1267
+ headerParameters: [Parameters.accept],
1268
+ serializer
1269
+ };
1270
+ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {
1271
+ path: "{nextLink}",
1272
+ httpMethod: "GET",
1273
+ responses: {
1274
+ 200: {
1275
+ bodyMapper: Mappers.NewRelicMonitorResourceListResult
1276
+ },
1277
+ default: {
1278
+ bodyMapper: Mappers.ErrorResponse
1279
+ }
1280
+ },
1281
+ urlParameters: [
1282
+ Parameters.$host,
1283
+ Parameters.nextLink,
1284
+ Parameters.subscriptionId,
1285
+ Parameters.resourceGroupName
1286
+ ],
1287
+ headerParameters: [Parameters.accept],
1288
+ serializer
1289
+ };
1290
+ const listAppServicesNextOperationSpec: coreClient.OperationSpec = {
1291
+ path: "{nextLink}",
1292
+ httpMethod: "GET",
1293
+ responses: {
1294
+ 200: {
1295
+ bodyMapper: Mappers.AppServicesListResponse
1296
+ },
1297
+ default: {
1298
+ bodyMapper: Mappers.ErrorResponse
1299
+ }
1300
+ },
1301
+ urlParameters: [
1302
+ Parameters.$host,
1303
+ Parameters.nextLink,
1304
+ Parameters.subscriptionId,
1305
+ Parameters.resourceGroupName,
1306
+ Parameters.monitorName
1307
+ ],
1308
+ headerParameters: [Parameters.accept, Parameters.contentType],
1309
+ mediaType: "json",
1310
+ serializer
1311
+ };
1312
+ const listHostsNextOperationSpec: coreClient.OperationSpec = {
1313
+ path: "{nextLink}",
1314
+ httpMethod: "GET",
1315
+ responses: {
1316
+ 200: {
1317
+ bodyMapper: Mappers.VMHostsListResponse
1318
+ },
1319
+ default: {
1320
+ bodyMapper: Mappers.ErrorResponse
1321
+ }
1322
+ },
1323
+ urlParameters: [
1324
+ Parameters.$host,
1325
+ Parameters.nextLink,
1326
+ Parameters.subscriptionId,
1327
+ Parameters.resourceGroupName,
1328
+ Parameters.monitorName
1329
+ ],
1330
+ headerParameters: [Parameters.accept, Parameters.contentType],
1331
+ mediaType: "json",
1332
+ serializer
1333
+ };
1334
+ const listMonitoredResourcesNextOperationSpec: coreClient.OperationSpec = {
1335
+ path: "{nextLink}",
1336
+ httpMethod: "GET",
1337
+ responses: {
1338
+ 200: {
1339
+ bodyMapper: Mappers.MonitoredResourceListResponse
1340
+ },
1341
+ default: {
1342
+ bodyMapper: Mappers.ErrorResponse
1343
+ }
1344
+ },
1345
+ urlParameters: [
1346
+ Parameters.$host,
1347
+ Parameters.nextLink,
1348
+ Parameters.subscriptionId,
1349
+ Parameters.resourceGroupName,
1350
+ Parameters.monitorName
1351
+ ],
1352
+ headerParameters: [Parameters.accept],
1353
+ serializer
1354
+ };