@azure/arm-templatespecs 2.0.2-alpha.20221026.1 → 2.1.0-alpha.20221128.2

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 (40) hide show
  1. package/CHANGELOG.md +10 -11
  2. package/dist/index.js +140 -40
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.min.js +1 -1
  5. package/dist/index.min.js.map +1 -1
  6. package/dist-esm/src/index.d.ts +1 -0
  7. package/dist-esm/src/index.d.ts.map +1 -1
  8. package/dist-esm/src/index.js +1 -0
  9. package/dist-esm/src/index.js.map +1 -1
  10. package/dist-esm/src/models/index.d.ts +12 -8
  11. package/dist-esm/src/models/index.d.ts.map +1 -1
  12. package/dist-esm/src/models/index.js +4 -0
  13. package/dist-esm/src/models/index.js.map +1 -1
  14. package/dist-esm/src/operations/templateSpecVersions.d.ts.map +1 -1
  15. package/dist-esm/src/operations/templateSpecVersions.js +19 -7
  16. package/dist-esm/src/operations/templateSpecVersions.js.map +1 -1
  17. package/dist-esm/src/operations/templateSpecs.d.ts.map +1 -1
  18. package/dist-esm/src/operations/templateSpecs.js +37 -14
  19. package/dist-esm/src/operations/templateSpecs.js.map +1 -1
  20. package/dist-esm/src/pagingHelper.d.ts +13 -0
  21. package/dist-esm/src/pagingHelper.d.ts.map +1 -0
  22. package/dist-esm/src/pagingHelper.js +32 -0
  23. package/dist-esm/src/pagingHelper.js.map +1 -0
  24. package/dist-esm/src/templateSpecsClient.d.ts +2 -0
  25. package/dist-esm/src/templateSpecsClient.d.ts.map +1 -1
  26. package/dist-esm/src/templateSpecsClient.js +49 -18
  27. package/dist-esm/src/templateSpecsClient.js.map +1 -1
  28. package/dist-esm/test/sampleTest.js +11 -13
  29. package/dist-esm/test/sampleTest.js.map +1 -1
  30. package/package.json +12 -8
  31. package/review/arm-templatespecs.api.md +18 -19
  32. package/src/index.ts +1 -0
  33. package/src/models/index.ts +12 -8
  34. package/src/operations/templateSpecVersions.ts +23 -9
  35. package/src/operations/templateSpecs.ts +46 -17
  36. package/src/pagingHelper.ts +39 -0
  37. package/src/templateSpecsClient.ts +60 -20
  38. package/tsconfig.json +1 -13
  39. package/types/arm-templatespecs.d.ts +23 -8
  40. package/types/tsdoc-metadata.json +1 -1
@@ -5,6 +5,7 @@
5
5
  * Code generated by Microsoft (R) AutoRest Code Generator.
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  */
8
+ import { __awaiter } from "tslib";
8
9
  import * as coreClient from "@azure/core-client";
9
10
  import * as coreRestPipeline from "@azure/core-rest-pipeline";
10
11
  import { TemplateSpecsImpl, TemplateSpecVersionsImpl } from "./operations";
@@ -16,7 +17,7 @@ export class TemplateSpecsClient extends coreClient.ServiceClient {
16
17
  * @param options The parameter options
17
18
  */
18
19
  constructor(credentials, subscriptionId, options) {
19
- var _a, _b;
20
+ var _a, _b, _c;
20
21
  if (credentials === undefined) {
21
22
  throw new Error("'credentials' cannot be null");
22
23
  }
@@ -31,32 +32,34 @@ export class TemplateSpecsClient extends coreClient.ServiceClient {
31
32
  requestContentType: "application/json; charset=utf-8",
32
33
  credential: credentials
33
34
  };
34
- const packageDetails = `azsdk-js-arm-templatespecs/2.0.2`;
35
+ const packageDetails = `azsdk-js-arm-templatespecs/2.1.0`;
35
36
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
36
37
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
37
38
  : `${packageDetails}`;
38
- if (!options.credentialScopes) {
39
- options.credentialScopes = ["https://management.azure.com/.default"];
40
- }
41
39
  const optionsWithDefaults = Object.assign(Object.assign(Object.assign({}, defaults), options), { userAgentOptions: {
42
40
  userAgentPrefix
43
- }, baseUri: (_b = (_a = options.endpoint) !== null && _a !== void 0 ? _a : options.baseUri) !== null && _b !== void 0 ? _b : "https://management.azure.com" });
41
+ }, endpoint: (_b = (_a = options.endpoint) !== null && _a !== void 0 ? _a : options.baseUri) !== null && _b !== void 0 ? _b : "https://management.azure.com" });
44
42
  super(optionsWithDefaults);
43
+ let bearerTokenAuthenticationPolicyFound = false;
45
44
  if ((options === null || options === void 0 ? void 0 : options.pipeline) && options.pipeline.getOrderedPolicies().length > 0) {
46
45
  const pipelinePolicies = options.pipeline.getOrderedPolicies();
47
- const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some((pipelinePolicy) => pipelinePolicy.name ===
46
+ bearerTokenAuthenticationPolicyFound = pipelinePolicies.some((pipelinePolicy) => pipelinePolicy.name ===
48
47
  coreRestPipeline.bearerTokenAuthenticationPolicyName);
49
- if (!bearerTokenAuthenticationPolicyFound) {
50
- this.pipeline.removePolicy({
51
- name: coreRestPipeline.bearerTokenAuthenticationPolicyName
52
- });
53
- this.pipeline.addPolicy(coreRestPipeline.bearerTokenAuthenticationPolicy({
54
- scopes: `${optionsWithDefaults.baseUri}/.default`,
55
- challengeCallbacks: {
56
- authorizeRequestOnChallenge: coreClient.authorizeRequestOnClaimChallenge
57
- }
58
- }));
59
- }
48
+ }
49
+ if (!options ||
50
+ !options.pipeline ||
51
+ options.pipeline.getOrderedPolicies().length == 0 ||
52
+ !bearerTokenAuthenticationPolicyFound) {
53
+ this.pipeline.removePolicy({
54
+ name: coreRestPipeline.bearerTokenAuthenticationPolicyName
55
+ });
56
+ this.pipeline.addPolicy(coreRestPipeline.bearerTokenAuthenticationPolicy({
57
+ credential: credentials,
58
+ scopes: (_c = optionsWithDefaults.credentialScopes) !== null && _c !== void 0 ? _c : `${optionsWithDefaults.endpoint}/.default`,
59
+ challengeCallbacks: {
60
+ authorizeRequestOnChallenge: coreClient.authorizeRequestOnClaimChallenge
61
+ }
62
+ }));
60
63
  }
61
64
  // Parameter assignments
62
65
  this.subscriptionId = subscriptionId;
@@ -65,6 +68,34 @@ export class TemplateSpecsClient extends coreClient.ServiceClient {
65
68
  this.apiVersion = options.apiVersion || "2021-05-01";
66
69
  this.templateSpecs = new TemplateSpecsImpl(this);
67
70
  this.templateSpecVersions = new TemplateSpecVersionsImpl(this);
71
+ this.addCustomApiVersionPolicy(options.apiVersion);
72
+ }
73
+ /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */
74
+ addCustomApiVersionPolicy(apiVersion) {
75
+ if (!apiVersion) {
76
+ return;
77
+ }
78
+ const apiVersionPolicy = {
79
+ name: "CustomApiVersionPolicy",
80
+ sendRequest(request, next) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ const param = request.url.split("?");
83
+ if (param.length > 1) {
84
+ const newParams = param[1].split("&").map((item) => {
85
+ if (item.indexOf("api-version") > -1) {
86
+ return "api-version=" + apiVersion;
87
+ }
88
+ else {
89
+ return item;
90
+ }
91
+ });
92
+ request.url = param[0] + "?" + newParams.join("&");
93
+ }
94
+ return next(request);
95
+ });
96
+ }
97
+ };
98
+ this.pipeline.addPolicy(apiVersionPolicy);
68
99
  }
69
100
  }
70
101
  //# sourceMappingURL=templateSpecsClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templateSpecsClient.js","sourceRoot":"","sources":["../../src/templateSpecsClient.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,gBAAgB,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAI3E,MAAM,OAAO,mBAAoB,SAAQ,UAAU,CAAC,aAAa;IAK/D;;;;;OAKG;IACH,YACE,WAAqC,EACrC,cAAsB,EACtB,OAA2C;;QAE3C,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,IAAI,cAAc,KAAK,SAAS,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,0CAA0C;QAC1C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;SACd;QACD,MAAM,QAAQ,GAAsC;YAClD,kBAAkB,EAAE,iCAAiC;YACrD,UAAU,EAAE,WAAW;SACxB,CAAC;QAEF,MAAM,cAAc,GAAG,kCAAkC,CAAC;QAC1D,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;YAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,cAAc,EAAE;YACjE,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;QAE1B,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC7B,OAAO,CAAC,gBAAgB,GAAG,CAAC,uCAAuC,CAAC,CAAC;SACtE;QACD,MAAM,mBAAmB,iDACpB,QAAQ,GACR,OAAO,KACV,gBAAgB,EAAE;gBAChB,eAAe;aAChB,EACD,OAAO,EACL,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAAI,OAAO,CAAC,OAAO,mCAAI,8BAA8B,GACxE,CAAC;QACF,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE3B,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YACzE,MAAM,gBAAgB,GAAsC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAClG,MAAM,oCAAoC,GAAG,gBAAgB,CAAC,IAAI,CAChE,CAAC,cAAc,EAAE,EAAE,CACjB,cAAc,CAAC,IAAI;gBACnB,gBAAgB,CAAC,mCAAmC,CACvD,CAAC;YACF,IAAI,CAAC,oCAAoC,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBACzB,IAAI,EAAE,gBAAgB,CAAC,mCAAmC;iBAC3D,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,SAAS,CACrB,gBAAgB,CAAC,+BAA+B,CAAC;oBAC/C,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,WAAW;oBACjD,kBAAkB,EAAE;wBAClB,2BAA2B,EACzB,UAAU,CAAC,gCAAgC;qBAC9C;iBACF,CAAC,CACH,CAAC;aACH;SACF;QACD,wBAAwB;QACxB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,0CAA0C;QAC1C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,8BAA8B,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,oBAAoB,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;CAIF"}
1
+ {"version":3,"file":"templateSpecsClient.js","sourceRoot":"","sources":["../../src/templateSpecsClient.ts"],"names":[],"mappings":"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"}
@@ -6,24 +6,22 @@
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  */
8
8
  import { __awaiter } from "tslib";
9
- import { record } from "@azure-tools/test-recorder";
10
- const recorderEnvSetup = {
11
- replaceableVariables: {
12
- AZURE_CLIENT_ID: "azure_client_id",
13
- AZURE_CLIENT_SECRET: "azure_client_secret",
14
- AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888",
15
- SUBSCRIPTION_ID: "azure_subscription_id"
16
- },
17
- customizationsOnRecordings: [
18
- (recording) => recording.replace(/"access_token":"[^"]*"/g, `"access_token":"access_token"`)
19
- ],
20
- queryParametersToSkip: []
9
+ import { Recorder } from "@azure-tools/test-recorder";
10
+ const replaceableVariables = {
11
+ AZURE_CLIENT_ID: "azure_client_id",
12
+ AZURE_CLIENT_SECRET: "azure_client_secret",
13
+ AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888",
14
+ SUBSCRIPTION_ID: "azure_subscription_id"
15
+ };
16
+ const recorderOptions = {
17
+ envSetupForPlayback: replaceableVariables
21
18
  };
22
19
  describe("My test", () => {
23
20
  let recorder;
24
21
  beforeEach(function () {
25
22
  return __awaiter(this, void 0, void 0, function* () {
26
- recorder = record(this, recorderEnvSetup);
23
+ recorder = new Recorder(this.currentTest);
24
+ yield recorder.start(recorderOptions);
27
25
  });
28
26
  });
29
27
  afterEach(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"sampleTest.js","sourceRoot":"","sources":["../../test/sampleTest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAEH,OAAO,EAEL,MAAM,EAGP,MAAM,4BAA4B,CAAC;AAGpC,MAAM,gBAAgB,GAA6B;IACjD,oBAAoB,EAAE;QACpB,eAAe,EAAE,iBAAiB;QAClC,mBAAmB,EAAE,qBAAqB;QAC1C,eAAe,EAAE,sCAAsC;QACvD,eAAe,EAAE,uBAAuB;KACzC;IACD,0BAA0B,EAAE;QAC1B,CAAC,SAAc,EAAO,EAAE,CACtB,SAAS,CAAC,OAAO,CACf,yBAAyB,EACzB,+BAA+B,CAChC;KACJ;IACD,qBAAqB,EAAE,EAAE;CAC1B,CAAC;AAEF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAI,QAAkB,CAAC;IAEvB,UAAU,CAAC;;YACT,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC5C,CAAC;KAAA,CAAC,CAAC;IAEH,SAAS,CAAC;;YACR,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;KAAA,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE;;YAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;KAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sampleTest.js","sourceRoot":"","sources":["../../test/sampleTest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAEH,OAAO,EACL,QAAQ,EAGT,MAAM,4BAA4B,CAAC;AAIpC,MAAM,oBAAoB,GAA2B;IACnD,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,eAAe,EAAE,sCAAsC;IACvD,eAAe,EAAE,uBAAuB;CACzC,CAAC;AAEF,MAAM,eAAe,GAAyB;IAC5C,mBAAmB,EAAE,oBAAoB;CAC1C,CAAC;AAEF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAI,QAAkB,CAAC;IAEvB,UAAU,CAAC;;YACT,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC;KAAA,CAAC,CAAC;IAEH,SAAS,CAAC;;YACR,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;KAAA,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE;;YAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;KAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -3,13 +3,13 @@
3
3
  "sdk-type": "mgmt",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "A generated SDK for TemplateSpecsClient.",
6
- "version": "2.0.2-alpha.20221026.1",
6
+ "version": "2.1.0-alpha.20221128.2",
7
7
  "engines": {
8
8
  "node": ">=14.0.0"
9
9
  },
10
10
  "dependencies": {
11
11
  "@azure/core-paging": "^1.2.0",
12
- "@azure/core-client": "^1.5.0",
12
+ "@azure/core-client": "^1.6.1",
13
13
  "@azure/core-auth": "^1.3.0",
14
14
  "@azure/core-rest-pipeline": "^1.8.0",
15
15
  "tslib": "^2.2.0"
@@ -34,13 +34,18 @@
34
34
  "mkdirp": "^1.0.4",
35
35
  "rollup": "^2.66.1",
36
36
  "rollup-plugin-sourcemaps": "^0.6.3",
37
- "typescript": "~4.2.0",
37
+ "typescript": "~4.8.0",
38
38
  "uglify-js": "^3.4.9",
39
39
  "rimraf": "^3.0.0",
40
40
  "@azure/identity": "^2.0.1",
41
- "@azure-tools/test-recorder": "^1.0.0",
41
+ "@azure-tools/test-recorder": "^2.0.0",
42
+ "@azure-tools/test-credential": ">=1.0.0-alpha <1.0.0-alphb",
42
43
  "mocha": "^7.1.1",
43
- "cross-env": "^7.0.2"
44
+ "@types/chai": "^4.2.8",
45
+ "chai": "^4.2.0",
46
+ "cross-env": "^7.0.2",
47
+ "@types/node": "^14.0.0",
48
+ "@azure/dev-tool": ">=1.0.0-alpha <1.0.0-alphb"
44
49
  },
45
50
  "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/templatespecs/arm-templatespecs",
46
51
  "repository": {
@@ -91,9 +96,8 @@
91
96
  "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node",
92
97
  "unit-test:browser": "echo skipped",
93
98
  "integration-test": "npm run integration-test:node && npm run integration-test:browser",
94
- "integration-test:node": "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js",
95
- "integration-test:browser": "echo skipped",
96
- "docs": "echo skipped"
99
+ "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'",
100
+ "integration-test:browser": "echo skipped"
97
101
  },
98
102
  "sideEffects": false,
99
103
  "//metadata": {
@@ -34,15 +34,14 @@ export interface ErrorResponse {
34
34
  readonly target?: string;
35
35
  }
36
36
 
37
+ // @public
38
+ export function getContinuationToken(page: unknown): string | undefined;
39
+
37
40
  // @public
38
41
  export enum KnownCreatedByType {
39
- // (undocumented)
40
42
  Application = "Application",
41
- // (undocumented)
42
43
  Key = "Key",
43
- // (undocumented)
44
44
  ManagedIdentity = "ManagedIdentity",
45
- // (undocumented)
46
45
  User = "User"
47
46
  }
48
47
 
@@ -68,18 +67,18 @@ export interface SystemData {
68
67
  }
69
68
 
70
69
  // @public
71
- export type TemplateSpec = AzureResourceBase & {
70
+ export interface TemplateSpec extends AzureResourceBase {
71
+ description?: string;
72
+ displayName?: string;
72
73
  location: string;
74
+ metadata?: Record<string, unknown>;
73
75
  tags?: {
74
76
  [propertyName: string]: string;
75
77
  };
76
- description?: string;
77
- displayName?: string;
78
- metadata?: Record<string, unknown>;
79
78
  readonly versions?: {
80
79
  [propertyName: string]: TemplateSpecVersionInfo;
81
80
  };
82
- };
81
+ }
83
82
 
84
83
  // @public
85
84
  export type TemplateSpecExpandKind = string;
@@ -187,24 +186,24 @@ export interface TemplateSpecsUpdateOptionalParams extends coreClient.OperationO
187
186
  export type TemplateSpecsUpdateResponse = TemplateSpec;
188
187
 
189
188
  // @public
190
- export type TemplateSpecUpdateModel = AzureResourceBase & {
189
+ export interface TemplateSpecUpdateModel extends AzureResourceBase {
191
190
  tags?: {
192
191
  [propertyName: string]: string;
193
192
  };
194
- };
193
+ }
195
194
 
196
195
  // @public
197
- export type TemplateSpecVersion = AzureResourceBase & {
196
+ export interface TemplateSpecVersion extends AzureResourceBase {
197
+ description?: string;
198
+ linkedTemplates?: LinkedTemplateArtifact[];
198
199
  location: string;
200
+ mainTemplate?: Record<string, unknown>;
201
+ metadata?: Record<string, unknown>;
199
202
  tags?: {
200
203
  [propertyName: string]: string;
201
204
  };
202
- description?: string;
203
- linkedTemplates?: LinkedTemplateArtifact[];
204
- metadata?: Record<string, unknown>;
205
- mainTemplate?: Record<string, unknown>;
206
205
  uiFormDefinition?: Record<string, unknown>;
207
- };
206
+ }
208
207
 
209
208
  // @public
210
209
  export interface TemplateSpecVersionInfo {
@@ -269,11 +268,11 @@ export interface TemplateSpecVersionsUpdateOptionalParams extends coreClient.Ope
269
268
  export type TemplateSpecVersionsUpdateResponse = TemplateSpecVersion;
270
269
 
271
270
  // @public
272
- export type TemplateSpecVersionUpdateModel = AzureResourceBase & {
271
+ export interface TemplateSpecVersionUpdateModel extends AzureResourceBase {
273
272
  tags?: {
274
273
  [propertyName: string]: string;
275
274
  };
276
- };
275
+ }
277
276
 
278
277
  // (No @packageDocumentation comment for this package)
279
278
 
package/src/index.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  */
8
8
 
9
9
  /// <reference lib="esnext.asynciterable" />
10
+ export { getContinuationToken } from "./pagingHelper";
10
11
  export * from "./models";
11
12
  export { TemplateSpecsClient } from "./templateSpecsClient";
12
13
  export * from "./operationsInterfaces";
@@ -147,7 +147,7 @@ export interface TemplateSpecVersionsListResult {
147
147
  }
148
148
 
149
149
  /** Template Spec object. */
150
- export type TemplateSpec = AzureResourceBase & {
150
+ export interface TemplateSpec extends AzureResourceBase {
151
151
  /** The location of the Template Spec. It cannot be changed after Template Spec creation. It must be one of the supported Azure locations. */
152
152
  location: string;
153
153
  /** Resource tags. */
@@ -163,16 +163,16 @@ export type TemplateSpec = AzureResourceBase & {
163
163
  * NOTE: This property will not be serialized. It can only be populated by the server.
164
164
  */
165
165
  readonly versions?: { [propertyName: string]: TemplateSpecVersionInfo };
166
- };
166
+ }
167
167
 
168
168
  /** Template Spec properties to be updated (only tags are currently supported). */
169
- export type TemplateSpecUpdateModel = AzureResourceBase & {
169
+ export interface TemplateSpecUpdateModel extends AzureResourceBase {
170
170
  /** Resource tags. */
171
171
  tags?: { [propertyName: string]: string };
172
- };
172
+ }
173
173
 
174
174
  /** Template Spec Version object. */
175
- export type TemplateSpecVersion = AzureResourceBase & {
175
+ export interface TemplateSpecVersion extends AzureResourceBase {
176
176
  /** The location of the Template Spec Version. It must match the location of the parent Template Spec. */
177
177
  location: string;
178
178
  /** Resource tags. */
@@ -187,19 +187,23 @@ export type TemplateSpecVersion = AzureResourceBase & {
187
187
  mainTemplate?: Record<string, unknown>;
188
188
  /** The Azure Resource Manager template UI definition content. */
189
189
  uiFormDefinition?: Record<string, unknown>;
190
- };
190
+ }
191
191
 
192
192
  /** Template Spec Version properties to be updated (only tags are currently supported). */
193
- export type TemplateSpecVersionUpdateModel = AzureResourceBase & {
193
+ export interface TemplateSpecVersionUpdateModel extends AzureResourceBase {
194
194
  /** Resource tags. */
195
195
  tags?: { [propertyName: string]: string };
196
- };
196
+ }
197
197
 
198
198
  /** Known values of {@link CreatedByType} that the service accepts. */
199
199
  export enum KnownCreatedByType {
200
+ /** User */
200
201
  User = "User",
202
+ /** Application */
201
203
  Application = "Application",
204
+ /** ManagedIdentity */
202
205
  ManagedIdentity = "ManagedIdentity",
206
+ /** Key */
203
207
  Key = "Key"
204
208
  }
205
209
 
@@ -6,7 +6,8 @@
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  */
8
8
 
9
- import { PagedAsyncIterableIterator } from "@azure/core-paging";
9
+ import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging";
10
+ import { setContinuationToken } from "../pagingHelper";
10
11
  import { TemplateSpecVersions } from "../operationsInterfaces";
11
12
  import * as coreClient from "@azure/core-client";
12
13
  import * as Mappers from "../models/mappers";
@@ -16,6 +17,7 @@ import {
16
17
  TemplateSpecVersion,
17
18
  TemplateSpecVersionsListNextOptionalParams,
18
19
  TemplateSpecVersionsListOptionalParams,
20
+ TemplateSpecVersionsListResponse,
19
21
  TemplateSpecVersionsCreateOrUpdateOptionalParams,
20
22
  TemplateSpecVersionsCreateOrUpdateResponse,
21
23
  TemplateSpecVersionsUpdateOptionalParams,
@@ -23,7 +25,6 @@ import {
23
25
  TemplateSpecVersionsGetOptionalParams,
24
26
  TemplateSpecVersionsGetResponse,
25
27
  TemplateSpecVersionsDeleteOptionalParams,
26
- TemplateSpecVersionsListResponse,
27
28
  TemplateSpecVersionsListNextResponse
28
29
  } from "../models";
29
30
 
@@ -63,11 +64,15 @@ export class TemplateSpecVersionsImpl implements TemplateSpecVersions {
63
64
  [Symbol.asyncIterator]() {
64
65
  return this;
65
66
  },
66
- byPage: () => {
67
+ byPage: (settings?: PageSettings) => {
68
+ if (settings?.maxPageSize) {
69
+ throw new Error("maxPageSize is not supported by this operation.");
70
+ }
67
71
  return this.listPagingPage(
68
72
  resourceGroupName,
69
73
  templateSpecName,
70
- options
74
+ options,
75
+ settings
71
76
  );
72
77
  }
73
78
  };
@@ -76,11 +81,18 @@ export class TemplateSpecVersionsImpl implements TemplateSpecVersions {
76
81
  private async *listPagingPage(
77
82
  resourceGroupName: string,
78
83
  templateSpecName: string,
79
- options?: TemplateSpecVersionsListOptionalParams
84
+ options?: TemplateSpecVersionsListOptionalParams,
85
+ settings?: PageSettings
80
86
  ): AsyncIterableIterator<TemplateSpecVersion[]> {
81
- let result = await this._list(resourceGroupName, templateSpecName, options);
82
- yield result.value || [];
83
- let continuationToken = result.nextLink;
87
+ let result: TemplateSpecVersionsListResponse;
88
+ let continuationToken = settings?.continuationToken;
89
+ if (!continuationToken) {
90
+ result = await this._list(resourceGroupName, templateSpecName, options);
91
+ let page = result.value || [];
92
+ continuationToken = result.nextLink;
93
+ setContinuationToken(page, continuationToken);
94
+ yield page;
95
+ }
84
96
  while (continuationToken) {
85
97
  result = await this._listNext(
86
98
  resourceGroupName,
@@ -89,7 +101,9 @@ export class TemplateSpecVersionsImpl implements TemplateSpecVersions {
89
101
  options
90
102
  );
91
103
  continuationToken = result.nextLink;
92
- yield result.value || [];
104
+ let page = result.value || [];
105
+ setContinuationToken(page, continuationToken);
106
+ yield page;
93
107
  }
94
108
  }
95
109
 
@@ -6,7 +6,8 @@
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  */
8
8
 
9
- import { PagedAsyncIterableIterator } from "@azure/core-paging";
9
+ import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging";
10
+ import { setContinuationToken } from "../pagingHelper";
10
11
  import { TemplateSpecs } from "../operationsInterfaces";
11
12
  import * as coreClient from "@azure/core-client";
12
13
  import * as Mappers from "../models/mappers";
@@ -16,8 +17,10 @@ import {
16
17
  TemplateSpec,
17
18
  TemplateSpecsListBySubscriptionNextOptionalParams,
18
19
  TemplateSpecsListBySubscriptionOptionalParams,
20
+ TemplateSpecsListBySubscriptionResponse,
19
21
  TemplateSpecsListByResourceGroupNextOptionalParams,
20
22
  TemplateSpecsListByResourceGroupOptionalParams,
23
+ TemplateSpecsListByResourceGroupResponse,
21
24
  TemplateSpecsCreateOrUpdateOptionalParams,
22
25
  TemplateSpecsCreateOrUpdateResponse,
23
26
  TemplateSpecsUpdateOptionalParams,
@@ -25,8 +28,6 @@ import {
25
28
  TemplateSpecsGetOptionalParams,
26
29
  TemplateSpecsGetResponse,
27
30
  TemplateSpecsDeleteOptionalParams,
28
- TemplateSpecsListBySubscriptionResponse,
29
- TemplateSpecsListByResourceGroupResponse,
30
31
  TemplateSpecsListBySubscriptionNextResponse,
31
32
  TemplateSpecsListByResourceGroupNextResponse
32
33
  } from "../models";
@@ -59,22 +60,34 @@ export class TemplateSpecsImpl implements TemplateSpecs {
59
60
  [Symbol.asyncIterator]() {
60
61
  return this;
61
62
  },
62
- byPage: () => {
63
- return this.listBySubscriptionPagingPage(options);
63
+ byPage: (settings?: PageSettings) => {
64
+ if (settings?.maxPageSize) {
65
+ throw new Error("maxPageSize is not supported by this operation.");
66
+ }
67
+ return this.listBySubscriptionPagingPage(options, settings);
64
68
  }
65
69
  };
66
70
  }
67
71
 
68
72
  private async *listBySubscriptionPagingPage(
69
- options?: TemplateSpecsListBySubscriptionOptionalParams
73
+ options?: TemplateSpecsListBySubscriptionOptionalParams,
74
+ settings?: PageSettings
70
75
  ): AsyncIterableIterator<TemplateSpec[]> {
71
- let result = await this._listBySubscription(options);
72
- yield result.value || [];
73
- let continuationToken = result.nextLink;
76
+ let result: TemplateSpecsListBySubscriptionResponse;
77
+ let continuationToken = settings?.continuationToken;
78
+ if (!continuationToken) {
79
+ result = await this._listBySubscription(options);
80
+ let page = result.value || [];
81
+ continuationToken = result.nextLink;
82
+ setContinuationToken(page, continuationToken);
83
+ yield page;
84
+ }
74
85
  while (continuationToken) {
75
86
  result = await this._listBySubscriptionNext(continuationToken, options);
76
87
  continuationToken = result.nextLink;
77
- yield result.value || [];
88
+ let page = result.value || [];
89
+ setContinuationToken(page, continuationToken);
90
+ yield page;
78
91
  }
79
92
  }
80
93
 
@@ -103,19 +116,33 @@ export class TemplateSpecsImpl implements TemplateSpecs {
103
116
  [Symbol.asyncIterator]() {
104
117
  return this;
105
118
  },
106
- byPage: () => {
107
- return this.listByResourceGroupPagingPage(resourceGroupName, options);
119
+ byPage: (settings?: PageSettings) => {
120
+ if (settings?.maxPageSize) {
121
+ throw new Error("maxPageSize is not supported by this operation.");
122
+ }
123
+ return this.listByResourceGroupPagingPage(
124
+ resourceGroupName,
125
+ options,
126
+ settings
127
+ );
108
128
  }
109
129
  };
110
130
  }
111
131
 
112
132
  private async *listByResourceGroupPagingPage(
113
133
  resourceGroupName: string,
114
- options?: TemplateSpecsListByResourceGroupOptionalParams
134
+ options?: TemplateSpecsListByResourceGroupOptionalParams,
135
+ settings?: PageSettings
115
136
  ): AsyncIterableIterator<TemplateSpec[]> {
116
- let result = await this._listByResourceGroup(resourceGroupName, options);
117
- yield result.value || [];
118
- let continuationToken = result.nextLink;
137
+ let result: TemplateSpecsListByResourceGroupResponse;
138
+ let continuationToken = settings?.continuationToken;
139
+ if (!continuationToken) {
140
+ result = await this._listByResourceGroup(resourceGroupName, options);
141
+ let page = result.value || [];
142
+ continuationToken = result.nextLink;
143
+ setContinuationToken(page, continuationToken);
144
+ yield page;
145
+ }
119
146
  while (continuationToken) {
120
147
  result = await this._listByResourceGroupNext(
121
148
  resourceGroupName,
@@ -123,7 +150,9 @@ export class TemplateSpecsImpl implements TemplateSpecs {
123
150
  options
124
151
  );
125
152
  continuationToken = result.nextLink;
126
- yield result.value || [];
153
+ let page = result.value || [];
154
+ setContinuationToken(page, continuationToken);
155
+ yield page;
127
156
  }
128
157
  }
129
158
 
@@ -0,0 +1,39 @@
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
+ export interface PageInfo {
10
+ continuationToken?: string;
11
+ }
12
+
13
+ const pageMap = new WeakMap<object, PageInfo>();
14
+
15
+ /**
16
+ * Given a result page from a pageable operation, returns a
17
+ * continuation token that can be used to begin paging from
18
+ * that point later.
19
+ * @param page A result object from calling .byPage() on a paged operation.
20
+ * @returns The continuation token that can be passed into byPage().
21
+ */
22
+ export function getContinuationToken(page: unknown): string | undefined {
23
+ if (typeof page !== "object" || page === null) {
24
+ return undefined;
25
+ }
26
+ return pageMap.get(page)?.continuationToken;
27
+ }
28
+
29
+ export function setContinuationToken(
30
+ page: unknown,
31
+ continuationToken: string | undefined
32
+ ): void {
33
+ if (typeof page !== "object" || page === null || !continuationToken) {
34
+ return;
35
+ }
36
+ const pageInfo = pageMap.get(page) ?? {};
37
+ pageInfo.continuationToken = continuationToken;
38
+ pageMap.set(page, pageInfo);
39
+ }