diff --git a/packages/@azure/arm-features/.npmignore b/packages/@azure/arm-features/.npmignore
new file mode 100644
index 000000000000..a07a455ac10c
--- /dev/null
+++ b/packages/@azure/arm-features/.npmignore
@@ -0,0 +1,35 @@
+#git
+.git
+.gitignore
+#gulp
+gulpfile.js
+#documentation
+doc/
+docs/
+#dependencies
+node_modules/
+#samples
+sample/
+samples/
+#tests
+test/
+tests/
+coverage/
+#tools and scripts
+tools/
+scripts/
+#IDE settings
+*.sln
+.vscode/
+.idea
+.editorconfig
+.ntvs_analysis.*
+#build tools
+.travis.yml
+.jenkins.yml
+.codeclimate.yml
+appveyor.yml
+# Nuget packages #
+.nuget/
+packages/
+packages.config
diff --git a/packages/@azure/arm-features/LICENSE.txt b/packages/@azure/arm-features/LICENSE.txt
new file mode 100644
index 000000000000..5431ba98b936
--- /dev/null
+++ b/packages/@azure/arm-features/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2018 Microsoft
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/@azure/arm-features/README.md b/packages/@azure/arm-features/README.md
new file mode 100644
index 000000000000..eaff3c18c2a5
--- /dev/null
+++ b/packages/@azure/arm-features/README.md
@@ -0,0 +1,77 @@
+# Azure FeatureClient SDK for JavaScript
+This package contains an isomorphic SDK for FeatureClient.
+
+## Currently supported environments
+- Node.js version 6.x.x or higher
+- Browser JavaScript
+
+## How to Install
+```
+npm install @azure/arm-features
+```
+
+
+## How to use
+
+### nodejs - Authentication, client creation and listOperations as an example written in TypeScript.
+
+```ts
+import * as msRest from "ms-rest-js";
+import * as msRestAzure from "ms-rest-azure-js";
+import * as msRestNodeAuth from "ms-rest-nodeauth";
+import { FeatureClient, FeatureModels, FeatureMappers } from "@azure/arm-features";
+const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
+
+msRestNodeAuth.interactiveLogin().then((creds) => {
+ const client = new FeatureClient(creds, subscriptionId);
+ client.listOperations().then((result) => {
+ console.log("The result is:");
+ console.log(result);
+ });
+}).catch((err) => {
+ console.error(err);
+});
+```
+
+### browser - Authentication, client creation and listOperations as an example written in JavaScript.
+See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
+
+- index.html
+```html
+
+
+
+ @azure/arm-features sample
+
+
+
+
+
+
+
+
+
+```
+
+# Related projects
+ - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
diff --git a/packages/@azure/arm-features/dist/arm-features.js b/packages/@azure/arm-features/dist/arm-features.js
new file mode 100644
index 000000000000..35e23acef6d2
--- /dev/null
+++ b/packages/@azure/arm-features/dist/arm-features.js
@@ -0,0 +1,661 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('ms-rest-azure-js'), require('ms-rest-js')) :
+ typeof define === 'function' && define.amd ? define(['exports', 'ms-rest-azure-js', 'ms-rest-js'], factory) :
+ (factory((global.Azure = global.Azure || {}, global.Azure.ArmFeatures = {}),global.msRestAzure,global.msRest));
+}(this, (function (exports,msRestAzure,msRest) { 'use strict';
+
+ /*! *****************************************************************************
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+ this file except in compliance with the License. You may obtain a copy of the
+ License at http://www.apache.org/licenses/LICENSE-2.0
+
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+ MERCHANTABLITY OR NON-INFRINGEMENT.
+
+ See the Apache Version 2.0 License for specific language governing permissions
+ and limitations under the License.
+ ***************************************************************************** */
+ /* global Reflect, Promise */
+
+ var extendStatics = function(d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+ };
+
+ function __extends(d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ }
+
+ /*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+ var index = /*#__PURE__*/Object.freeze({
+
+ });
+
+ /*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+ var CloudError = msRestAzure.CloudErrorMapper;
+ var BaseResource = msRestAzure.BaseResourceMapper;
+ var FeatureProperties = {
+ serializedName: "FeatureProperties",
+ type: {
+ name: "Composite",
+ className: "FeatureProperties",
+ modelProperties: {
+ state: {
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ };
+ var FeatureResult = {
+ serializedName: "FeatureResult",
+ type: {
+ name: "Composite",
+ className: "FeatureResult",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Composite",
+ className: "FeatureProperties"
+ }
+ },
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ };
+ var OperationDisplay = {
+ serializedName: "Operation_display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay",
+ modelProperties: {
+ provider: {
+ serializedName: "provider",
+ type: {
+ name: "String"
+ }
+ },
+ resource: {
+ serializedName: "resource",
+ type: {
+ name: "String"
+ }
+ },
+ operation: {
+ serializedName: "operation",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ };
+ var Operation = {
+ serializedName: "Operation",
+ type: {
+ name: "Composite",
+ className: "Operation",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ display: {
+ serializedName: "display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay"
+ }
+ }
+ }
+ }
+ };
+ var OperationListResult = {
+ serializedName: "OperationListResult",
+ type: {
+ name: "Composite",
+ className: "OperationListResult",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Operation"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ };
+ var FeatureOperationsListResult = {
+ serializedName: "FeatureOperationsListResult",
+ type: {
+ name: "Composite",
+ className: "FeatureOperationsListResult",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "FeatureResult"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+ };
+
+ var Mappers = /*#__PURE__*/Object.freeze({
+ CloudError: CloudError,
+ BaseResource: BaseResource,
+ FeatureProperties: FeatureProperties,
+ FeatureResult: FeatureResult,
+ OperationDisplay: OperationDisplay,
+ Operation: Operation,
+ OperationListResult: OperationListResult,
+ FeatureOperationsListResult: FeatureOperationsListResult
+ });
+
+ /*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+ var acceptLanguage = {
+ parameterPath: "acceptLanguage",
+ mapper: {
+ serializedName: "accept-language",
+ defaultValue: 'en-US',
+ type: {
+ name: "String"
+ }
+ }
+ };
+ var apiVersion = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ serializedName: "api-version",
+ type: {
+ name: "String"
+ }
+ }
+ };
+ var featureName = {
+ parameterPath: "featureName",
+ mapper: {
+ required: true,
+ serializedName: "featureName",
+ type: {
+ name: "String"
+ }
+ }
+ };
+ var nextPageLink = {
+ parameterPath: "nextPageLink",
+ mapper: {
+ required: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+ };
+ var resourceProviderNamespace = {
+ parameterPath: "resourceProviderNamespace",
+ mapper: {
+ required: true,
+ serializedName: "resourceProviderNamespace",
+ type: {
+ name: "String"
+ }
+ }
+ };
+ var subscriptionId = {
+ parameterPath: "subscriptionId",
+ mapper: {
+ required: true,
+ serializedName: "subscriptionId",
+ type: {
+ name: "String"
+ }
+ }
+ };
+
+ /*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+ var Mappers$1 = /*#__PURE__*/Object.freeze({
+ FeatureOperationsListResult: FeatureOperationsListResult,
+ FeatureResult: FeatureResult,
+ FeatureProperties: FeatureProperties,
+ CloudError: CloudError
+ });
+
+ /*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+ /** Class representing a Features. */
+ var Features = /** @class */ (function () {
+ /**
+ * Create a Features.
+ * @param {FeatureClientContext} client Reference to the service client.
+ */
+ function Features(client) {
+ this.client = client;
+ }
+ Features.prototype.listAll = function (options, callback) {
+ return this.client.sendOperationRequest({
+ options: options
+ }, listAllOperationSpec, callback);
+ };
+ Features.prototype.list = function (resourceProviderNamespace$$1, options, callback) {
+ return this.client.sendOperationRequest({
+ resourceProviderNamespace: resourceProviderNamespace$$1,
+ options: options
+ }, listOperationSpec, callback);
+ };
+ Features.prototype.get = function (resourceProviderNamespace$$1, featureName$$1, options, callback) {
+ return this.client.sendOperationRequest({
+ resourceProviderNamespace: resourceProviderNamespace$$1,
+ featureName: featureName$$1,
+ options: options
+ }, getOperationSpec, callback);
+ };
+ Features.prototype.register = function (resourceProviderNamespace$$1, featureName$$1, options, callback) {
+ return this.client.sendOperationRequest({
+ resourceProviderNamespace: resourceProviderNamespace$$1,
+ featureName: featureName$$1,
+ options: options
+ }, registerOperationSpec, callback);
+ };
+ Features.prototype.listAllNext = function (nextPageLink$$1, options, callback) {
+ return this.client.sendOperationRequest({
+ nextPageLink: nextPageLink$$1,
+ options: options
+ }, listAllNextOperationSpec, callback);
+ };
+ Features.prototype.listNext = function (nextPageLink$$1, options, callback) {
+ return this.client.sendOperationRequest({
+ nextPageLink: nextPageLink$$1,
+ options: options
+ }, listNextOperationSpec, callback);
+ };
+ return Features;
+ }());
+ // Operation Specifications
+ var serializer = new msRest.Serializer(Mappers$1);
+ var listAllOperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Features/features",
+ urlParameters: [
+ subscriptionId
+ ],
+ queryParameters: [
+ apiVersion
+ ],
+ headerParameters: [
+ acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: FeatureOperationsListResult
+ },
+ default: {
+ bodyMapper: CloudError
+ }
+ },
+ serializer: serializer
+ };
+ var listOperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features",
+ urlParameters: [
+ resourceProviderNamespace,
+ subscriptionId
+ ],
+ queryParameters: [
+ apiVersion
+ ],
+ headerParameters: [
+ acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: FeatureOperationsListResult
+ },
+ default: {
+ bodyMapper: CloudError
+ }
+ },
+ serializer: serializer
+ };
+ var getOperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}",
+ urlParameters: [
+ resourceProviderNamespace,
+ featureName,
+ subscriptionId
+ ],
+ queryParameters: [
+ apiVersion
+ ],
+ headerParameters: [
+ acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: FeatureResult
+ },
+ default: {
+ bodyMapper: CloudError
+ }
+ },
+ serializer: serializer
+ };
+ var registerOperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register",
+ urlParameters: [
+ resourceProviderNamespace,
+ featureName,
+ subscriptionId
+ ],
+ queryParameters: [
+ apiVersion
+ ],
+ headerParameters: [
+ acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: FeatureResult
+ },
+ default: {
+ bodyMapper: CloudError
+ }
+ },
+ serializer: serializer
+ };
+ var listAllNextOperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ nextPageLink
+ ],
+ headerParameters: [
+ acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: FeatureOperationsListResult
+ },
+ default: {
+ bodyMapper: CloudError
+ }
+ },
+ serializer: serializer
+ };
+ var listNextOperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ nextPageLink
+ ],
+ headerParameters: [
+ acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: FeatureOperationsListResult
+ },
+ default: {
+ bodyMapper: CloudError
+ }
+ },
+ serializer: serializer
+ };
+
+ /*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+ /*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+ var packageName = "@azure/arm-features";
+ var packageVersion = "1.0.0";
+ var FeatureClientContext = /** @class */ (function (_super) {
+ __extends(FeatureClientContext, _super);
+ /**
+ * Initializes a new instance of the FeatureClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId The ID of the target subscription.
+ * @param [options] The parameter options
+ */
+ function FeatureClientContext(credentials, subscriptionId, options) {
+ var _this = this;
+ if (credentials == undefined) {
+ throw new Error('\'credentials\' cannot be null.');
+ }
+ if (subscriptionId == undefined) {
+ throw new Error('\'subscriptionId\' cannot be null.');
+ }
+ if (!options) {
+ options = {};
+ }
+ _this = _super.call(this, credentials, options) || this;
+ _this.apiVersion = '2015-12-01';
+ _this.acceptLanguage = 'en-US';
+ _this.longRunningOperationRetryTimeout = 30;
+ _this.baseUri = options.baseUri || _this.baseUri || "https://management.azure.com";
+ _this.requestContentType = "application/json; charset=utf-8";
+ _this.credentials = credentials;
+ _this.subscriptionId = subscriptionId;
+ _this.addUserAgentInfo(packageName + "/" + packageVersion);
+ if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
+ _this.acceptLanguage = options.acceptLanguage;
+ }
+ if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
+ _this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
+ }
+ return _this;
+ }
+ return FeatureClientContext;
+ }(msRestAzure.AzureServiceClient));
+
+ /*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+ var FeatureClient = /** @class */ (function (_super) {
+ __extends(FeatureClient, _super);
+ /**
+ * Initializes a new instance of the FeatureClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId The ID of the target subscription.
+ * @param [options] The parameter options
+ */
+ function FeatureClient(credentials, subscriptionId$$1, options) {
+ var _this = _super.call(this, credentials, subscriptionId$$1, options) || this;
+ _this.features = new Features(_this);
+ return _this;
+ }
+ FeatureClient.prototype.listOperations = function (options, callback) {
+ return this.sendOperationRequest({
+ options: options
+ }, listOperationsOperationSpec, callback);
+ };
+ FeatureClient.prototype.listOperationsNext = function (nextPageLink$$1, options, callback) {
+ return this.sendOperationRequest({
+ nextPageLink: nextPageLink$$1,
+ options: options
+ }, listOperationsNextOperationSpec, callback);
+ };
+ return FeatureClient;
+ }(FeatureClientContext));
+ // Operation Specifications
+ var serializer$1 = new msRest.Serializer(Mappers);
+ var listOperationsOperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.Features/operations",
+ queryParameters: [
+ apiVersion
+ ],
+ headerParameters: [
+ acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: OperationListResult
+ },
+ default: {
+ bodyMapper: CloudError
+ }
+ },
+ serializer: serializer$1
+ };
+ var listOperationsNextOperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ nextPageLink
+ ],
+ headerParameters: [
+ acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: OperationListResult
+ },
+ default: {
+ bodyMapper: CloudError
+ }
+ },
+ serializer: serializer$1
+ };
+
+ exports.FeatureClient = FeatureClient;
+ exports.FeatureClientContext = FeatureClientContext;
+ exports.FeatureModels = index;
+ exports.FeatureMappers = Mappers;
+ exports.Features = Features;
+
+ Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=arm-features.js.map
diff --git a/packages/@azure/arm-features/dist/arm-features.js.map b/packages/@azure/arm-features/dist/arm-features.js.map
new file mode 100644
index 000000000000..c33febfa8458
--- /dev/null
+++ b/packages/@azure/arm-features/dist/arm-features.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"arm-features.js","sources":["../node_modules/tslib/tslib.es6.js","../esm/models/index.js","../esm/models/mappers.js","../esm/models/parameters.js","../esm/models/featuresMappers.js","../esm/operations/features.js","../esm/operations/index.js","../esm/featureClientContext.js","../esm/featureClient.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for\r\n * license information.\r\n *\r\n * Code generated by Microsoft (R) AutoRest Code Generator.\r\n * Changes may cause incorrect behavior and will be lost if the code is\r\n * regenerated.\r\n */\r\n//# sourceMappingURL=index.js.map","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for\r\n * license information.\r\n *\r\n * Code generated by Microsoft (R) AutoRest Code Generator.\r\n * Changes may cause incorrect behavior and will be lost if the code is\r\n * regenerated.\r\n */\r\nimport { CloudErrorMapper, BaseResourceMapper } from \"ms-rest-azure-js\";\r\nexport var CloudError = CloudErrorMapper;\r\nexport var BaseResource = BaseResourceMapper;\r\nexport var FeatureProperties = {\r\n serializedName: \"FeatureProperties\",\r\n type: {\r\n name: \"Composite\",\r\n className: \"FeatureProperties\",\r\n modelProperties: {\r\n state: {\r\n serializedName: \"state\",\r\n type: {\r\n name: \"String\"\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport var FeatureResult = {\r\n serializedName: \"FeatureResult\",\r\n type: {\r\n name: \"Composite\",\r\n className: \"FeatureResult\",\r\n modelProperties: {\r\n name: {\r\n serializedName: \"name\",\r\n type: {\r\n name: \"String\"\r\n }\r\n },\r\n properties: {\r\n serializedName: \"properties\",\r\n type: {\r\n name: \"Composite\",\r\n className: \"FeatureProperties\"\r\n }\r\n },\r\n id: {\r\n serializedName: \"id\",\r\n type: {\r\n name: \"String\"\r\n }\r\n },\r\n type: {\r\n serializedName: \"type\",\r\n type: {\r\n name: \"String\"\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport var OperationDisplay = {\r\n serializedName: \"Operation_display\",\r\n type: {\r\n name: \"Composite\",\r\n className: \"OperationDisplay\",\r\n modelProperties: {\r\n provider: {\r\n serializedName: \"provider\",\r\n type: {\r\n name: \"String\"\r\n }\r\n },\r\n resource: {\r\n serializedName: \"resource\",\r\n type: {\r\n name: \"String\"\r\n }\r\n },\r\n operation: {\r\n serializedName: \"operation\",\r\n type: {\r\n name: \"String\"\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport var Operation = {\r\n serializedName: \"Operation\",\r\n type: {\r\n name: \"Composite\",\r\n className: \"Operation\",\r\n modelProperties: {\r\n name: {\r\n serializedName: \"name\",\r\n type: {\r\n name: \"String\"\r\n }\r\n },\r\n display: {\r\n serializedName: \"display\",\r\n type: {\r\n name: \"Composite\",\r\n className: \"OperationDisplay\"\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport var OperationListResult = {\r\n serializedName: \"OperationListResult\",\r\n type: {\r\n name: \"Composite\",\r\n className: \"OperationListResult\",\r\n modelProperties: {\r\n value: {\r\n serializedName: \"\",\r\n type: {\r\n name: \"Sequence\",\r\n element: {\r\n type: {\r\n name: \"Composite\",\r\n className: \"Operation\"\r\n }\r\n }\r\n }\r\n },\r\n nextLink: {\r\n serializedName: \"nextLink\",\r\n type: {\r\n name: \"String\"\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport var FeatureOperationsListResult = {\r\n serializedName: \"FeatureOperationsListResult\",\r\n type: {\r\n name: \"Composite\",\r\n className: \"FeatureOperationsListResult\",\r\n modelProperties: {\r\n value: {\r\n serializedName: \"\",\r\n type: {\r\n name: \"Sequence\",\r\n element: {\r\n type: {\r\n name: \"Composite\",\r\n className: \"FeatureResult\"\r\n }\r\n }\r\n }\r\n },\r\n nextLink: {\r\n serializedName: \"nextLink\",\r\n type: {\r\n name: \"String\"\r\n }\r\n }\r\n }\r\n }\r\n};\r\n//# sourceMappingURL=mappers.js.map","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for\r\n * license information.\r\n *\r\n * Code generated by Microsoft (R) AutoRest Code Generator.\r\n * Changes may cause incorrect behavior and will be lost if the code is\r\n * regenerated.\r\n */\r\nexport var acceptLanguage = {\r\n parameterPath: \"acceptLanguage\",\r\n mapper: {\r\n serializedName: \"accept-language\",\r\n defaultValue: 'en-US',\r\n type: {\r\n name: \"String\"\r\n }\r\n }\r\n};\r\nexport var apiVersion = {\r\n parameterPath: \"apiVersion\",\r\n mapper: {\r\n required: true,\r\n serializedName: \"api-version\",\r\n type: {\r\n name: \"String\"\r\n }\r\n }\r\n};\r\nexport var featureName = {\r\n parameterPath: \"featureName\",\r\n mapper: {\r\n required: true,\r\n serializedName: \"featureName\",\r\n type: {\r\n name: \"String\"\r\n }\r\n }\r\n};\r\nexport var nextPageLink = {\r\n parameterPath: \"nextPageLink\",\r\n mapper: {\r\n required: true,\r\n serializedName: \"nextLink\",\r\n type: {\r\n name: \"String\"\r\n }\r\n },\r\n skipEncoding: true\r\n};\r\nexport var resourceProviderNamespace = {\r\n parameterPath: \"resourceProviderNamespace\",\r\n mapper: {\r\n required: true,\r\n serializedName: \"resourceProviderNamespace\",\r\n type: {\r\n name: \"String\"\r\n }\r\n }\r\n};\r\nexport var subscriptionId = {\r\n parameterPath: \"subscriptionId\",\r\n mapper: {\r\n required: true,\r\n serializedName: \"subscriptionId\",\r\n type: {\r\n name: \"String\"\r\n }\r\n }\r\n};\r\n//# sourceMappingURL=parameters.js.map","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for\r\n * license information.\r\n *\r\n * Code generated by Microsoft (R) AutoRest Code Generator.\r\n * Changes may cause incorrect behavior and will be lost if the code is\r\n * regenerated.\r\n */\r\nexport { FeatureOperationsListResult, FeatureResult, FeatureProperties, CloudError } from \"../models/mappers\";\r\n//# sourceMappingURL=featuresMappers.js.map","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for\r\n * license information.\r\n *\r\n * Code generated by Microsoft (R) AutoRest Code Generator.\r\n * Changes may cause incorrect behavior and will be lost if the code is\r\n * regenerated.\r\n */\r\nimport * as msRest from \"ms-rest-js\";\r\nimport * as Mappers from \"../models/featuresMappers\";\r\nimport * as Parameters from \"../models/parameters\";\r\n/** Class representing a Features. */\r\nvar Features = /** @class */ (function () {\r\n /**\r\n * Create a Features.\r\n * @param {FeatureClientContext} client Reference to the service client.\r\n */\r\n function Features(client) {\r\n this.client = client;\r\n }\r\n Features.prototype.listAll = function (options, callback) {\r\n return this.client.sendOperationRequest({\r\n options: options\r\n }, listAllOperationSpec, callback);\r\n };\r\n Features.prototype.list = function (resourceProviderNamespace, options, callback) {\r\n return this.client.sendOperationRequest({\r\n resourceProviderNamespace: resourceProviderNamespace,\r\n options: options\r\n }, listOperationSpec, callback);\r\n };\r\n Features.prototype.get = function (resourceProviderNamespace, featureName, options, callback) {\r\n return this.client.sendOperationRequest({\r\n resourceProviderNamespace: resourceProviderNamespace,\r\n featureName: featureName,\r\n options: options\r\n }, getOperationSpec, callback);\r\n };\r\n Features.prototype.register = function (resourceProviderNamespace, featureName, options, callback) {\r\n return this.client.sendOperationRequest({\r\n resourceProviderNamespace: resourceProviderNamespace,\r\n featureName: featureName,\r\n options: options\r\n }, registerOperationSpec, callback);\r\n };\r\n Features.prototype.listAllNext = function (nextPageLink, options, callback) {\r\n return this.client.sendOperationRequest({\r\n nextPageLink: nextPageLink,\r\n options: options\r\n }, listAllNextOperationSpec, callback);\r\n };\r\n Features.prototype.listNext = function (nextPageLink, options, callback) {\r\n return this.client.sendOperationRequest({\r\n nextPageLink: nextPageLink,\r\n options: options\r\n }, listNextOperationSpec, callback);\r\n };\r\n return Features;\r\n}());\r\nexport { Features };\r\n// Operation Specifications\r\nvar serializer = new msRest.Serializer(Mappers);\r\nvar listAllOperationSpec = {\r\n httpMethod: \"GET\",\r\n path: \"subscriptions/{subscriptionId}/providers/Microsoft.Features/features\",\r\n urlParameters: [\r\n Parameters.subscriptionId\r\n ],\r\n queryParameters: [\r\n Parameters.apiVersion\r\n ],\r\n headerParameters: [\r\n Parameters.acceptLanguage\r\n ],\r\n responses: {\r\n 200: {\r\n bodyMapper: Mappers.FeatureOperationsListResult\r\n },\r\n default: {\r\n bodyMapper: Mappers.CloudError\r\n }\r\n },\r\n serializer: serializer\r\n};\r\nvar listOperationSpec = {\r\n httpMethod: \"GET\",\r\n path: \"subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features\",\r\n urlParameters: [\r\n Parameters.resourceProviderNamespace,\r\n Parameters.subscriptionId\r\n ],\r\n queryParameters: [\r\n Parameters.apiVersion\r\n ],\r\n headerParameters: [\r\n Parameters.acceptLanguage\r\n ],\r\n responses: {\r\n 200: {\r\n bodyMapper: Mappers.FeatureOperationsListResult\r\n },\r\n default: {\r\n bodyMapper: Mappers.CloudError\r\n }\r\n },\r\n serializer: serializer\r\n};\r\nvar getOperationSpec = {\r\n httpMethod: \"GET\",\r\n path: \"subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}\",\r\n urlParameters: [\r\n Parameters.resourceProviderNamespace,\r\n Parameters.featureName,\r\n Parameters.subscriptionId\r\n ],\r\n queryParameters: [\r\n Parameters.apiVersion\r\n ],\r\n headerParameters: [\r\n Parameters.acceptLanguage\r\n ],\r\n responses: {\r\n 200: {\r\n bodyMapper: Mappers.FeatureResult\r\n },\r\n default: {\r\n bodyMapper: Mappers.CloudError\r\n }\r\n },\r\n serializer: serializer\r\n};\r\nvar registerOperationSpec = {\r\n httpMethod: \"POST\",\r\n path: \"subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register\",\r\n urlParameters: [\r\n Parameters.resourceProviderNamespace,\r\n Parameters.featureName,\r\n Parameters.subscriptionId\r\n ],\r\n queryParameters: [\r\n Parameters.apiVersion\r\n ],\r\n headerParameters: [\r\n Parameters.acceptLanguage\r\n ],\r\n responses: {\r\n 200: {\r\n bodyMapper: Mappers.FeatureResult\r\n },\r\n default: {\r\n bodyMapper: Mappers.CloudError\r\n }\r\n },\r\n serializer: serializer\r\n};\r\nvar listAllNextOperationSpec = {\r\n httpMethod: \"GET\",\r\n baseUrl: \"https://management.azure.com\",\r\n path: \"{nextLink}\",\r\n urlParameters: [\r\n Parameters.nextPageLink\r\n ],\r\n headerParameters: [\r\n Parameters.acceptLanguage\r\n ],\r\n responses: {\r\n 200: {\r\n bodyMapper: Mappers.FeatureOperationsListResult\r\n },\r\n default: {\r\n bodyMapper: Mappers.CloudError\r\n }\r\n },\r\n serializer: serializer\r\n};\r\nvar listNextOperationSpec = {\r\n httpMethod: \"GET\",\r\n baseUrl: \"https://management.azure.com\",\r\n path: \"{nextLink}\",\r\n urlParameters: [\r\n Parameters.nextPageLink\r\n ],\r\n headerParameters: [\r\n Parameters.acceptLanguage\r\n ],\r\n responses: {\r\n 200: {\r\n bodyMapper: Mappers.FeatureOperationsListResult\r\n },\r\n default: {\r\n bodyMapper: Mappers.CloudError\r\n }\r\n },\r\n serializer: serializer\r\n};\r\n//# sourceMappingURL=features.js.map","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for\r\n * license information.\r\n *\r\n * Code generated by Microsoft (R) AutoRest Code Generator.\r\n * Changes may cause incorrect behavior and will be lost if the code is\r\n * regenerated.\r\n */\r\nexport * from \"./features\";\r\n//# sourceMappingURL=index.js.map","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for\r\n * license information.\r\n *\r\n * Code generated by Microsoft (R) AutoRest Code Generator.\r\n * Changes may cause incorrect behavior and will be lost if the code is\r\n * regenerated.\r\n */\r\nimport * as tslib_1 from \"tslib\";\r\nimport * as msRestAzure from \"ms-rest-azure-js\";\r\nvar packageName = \"@azure/arm-features\";\r\nvar packageVersion = \"1.0.0\";\r\nvar FeatureClientContext = /** @class */ (function (_super) {\r\n tslib_1.__extends(FeatureClientContext, _super);\r\n /**\r\n * Initializes a new instance of the FeatureClient class.\r\n * @param credentials Credentials needed for the client to connect to Azure.\r\n * @param subscriptionId The ID of the target subscription.\r\n * @param [options] The parameter options\r\n */\r\n function FeatureClientContext(credentials, subscriptionId, options) {\r\n var _this = this;\r\n if (credentials == undefined) {\r\n throw new Error('\\'credentials\\' cannot be null.');\r\n }\r\n if (subscriptionId == undefined) {\r\n throw new Error('\\'subscriptionId\\' cannot be null.');\r\n }\r\n if (!options) {\r\n options = {};\r\n }\r\n _this = _super.call(this, credentials, options) || this;\r\n _this.apiVersion = '2015-12-01';\r\n _this.acceptLanguage = 'en-US';\r\n _this.longRunningOperationRetryTimeout = 30;\r\n _this.baseUri = options.baseUri || _this.baseUri || \"https://management.azure.com\";\r\n _this.requestContentType = \"application/json; charset=utf-8\";\r\n _this.credentials = credentials;\r\n _this.subscriptionId = subscriptionId;\r\n _this.addUserAgentInfo(packageName + \"/\" + packageVersion);\r\n if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) {\r\n _this.acceptLanguage = options.acceptLanguage;\r\n }\r\n if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {\r\n _this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;\r\n }\r\n return _this;\r\n }\r\n return FeatureClientContext;\r\n}(msRestAzure.AzureServiceClient));\r\nexport { FeatureClientContext };\r\n//# sourceMappingURL=featureClientContext.js.map","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for\r\n * license information.\r\n *\r\n * Code generated by Microsoft (R) AutoRest Code Generator.\r\n * Changes may cause incorrect behavior and will be lost if the code is\r\n * regenerated.\r\n */\r\nimport * as tslib_1 from \"tslib\";\r\nimport * as msRest from \"ms-rest-js\";\r\nimport * as Models from \"./models\";\r\nimport * as Mappers from \"./models/mappers\";\r\nimport * as Parameters from \"./models/parameters\";\r\nimport * as operations from \"./operations\";\r\nimport { FeatureClientContext } from \"./featureClientContext\";\r\nvar FeatureClient = /** @class */ (function (_super) {\r\n tslib_1.__extends(FeatureClient, _super);\r\n /**\r\n * Initializes a new instance of the FeatureClient class.\r\n * @param credentials Credentials needed for the client to connect to Azure.\r\n * @param subscriptionId The ID of the target subscription.\r\n * @param [options] The parameter options\r\n */\r\n function FeatureClient(credentials, subscriptionId, options) {\r\n var _this = _super.call(this, credentials, subscriptionId, options) || this;\r\n _this.features = new operations.Features(_this);\r\n return _this;\r\n }\r\n FeatureClient.prototype.listOperations = function (options, callback) {\r\n return this.sendOperationRequest({\r\n options: options\r\n }, listOperationsOperationSpec, callback);\r\n };\r\n FeatureClient.prototype.listOperationsNext = function (nextPageLink, options, callback) {\r\n return this.sendOperationRequest({\r\n nextPageLink: nextPageLink,\r\n options: options\r\n }, listOperationsNextOperationSpec, callback);\r\n };\r\n return FeatureClient;\r\n}(FeatureClientContext));\r\n// Operation Specifications\r\nvar serializer = new msRest.Serializer(Mappers);\r\nvar listOperationsOperationSpec = {\r\n httpMethod: \"GET\",\r\n path: \"providers/Microsoft.Features/operations\",\r\n queryParameters: [\r\n Parameters.apiVersion\r\n ],\r\n headerParameters: [\r\n Parameters.acceptLanguage\r\n ],\r\n responses: {\r\n 200: {\r\n bodyMapper: Mappers.OperationListResult\r\n },\r\n default: {\r\n bodyMapper: Mappers.CloudError\r\n }\r\n },\r\n serializer: serializer\r\n};\r\nvar listOperationsNextOperationSpec = {\r\n httpMethod: \"GET\",\r\n baseUrl: \"https://management.azure.com\",\r\n path: \"{nextLink}\",\r\n urlParameters: [\r\n Parameters.nextPageLink\r\n ],\r\n headerParameters: [\r\n Parameters.acceptLanguage\r\n ],\r\n responses: {\r\n 200: {\r\n bodyMapper: Mappers.OperationListResult\r\n },\r\n default: {\r\n bodyMapper: Mappers.CloudError\r\n }\r\n },\r\n serializer: serializer\r\n};\r\nexport { FeatureClient, FeatureClientContext, Models as FeatureModels, Mappers as FeatureMappers };\r\nexport * from \"./operations\";\r\n//# sourceMappingURL=featureClient.js.map"],"names":["CloudErrorMapper","BaseResourceMapper","resourceProviderNamespace","featureName","nextPageLink","msRest.Serializer","Mappers","Parameters.subscriptionId","Parameters.apiVersion","Parameters.acceptLanguage","Mappers.FeatureOperationsListResult","Mappers.CloudError","Parameters.resourceProviderNamespace","Parameters.featureName","Mappers.FeatureResult","Parameters.nextPageLink","tslib_1.__extends","msRestAzure.AzureServiceClient","subscriptionId","operations.Features","serializer","Mappers.OperationListResult"],"mappings":"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"}
\ No newline at end of file
diff --git a/packages/@azure/arm-features/dist/arm-features.min.js b/packages/@azure/arm-features/dist/arm-features.min.js
new file mode 100644
index 000000000000..4bc8971e7566
--- /dev/null
+++ b/packages/@azure/arm-features/dist/arm-features.min.js
@@ -0,0 +1 @@
+!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("ms-rest-azure-js"),require("ms-rest-js")):"function"==typeof define&&define.amd?define(["exports","ms-rest-azure-js","ms-rest-js"],r):r((e.Azure=e.Azure||{},e.Azure.ArmFeatures={}),e.msRestAzure,e.msRest)}(this,function(e,r,t){"use strict";var a=function(e,r){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)};function s(e,r){function t(){this.constructor=e}a(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}var i=Object.freeze({}),n=r.CloudErrorMapper,o=r.BaseResourceMapper,p={serializedName:"FeatureProperties",type:{name:"Composite",className:"FeatureProperties",modelProperties:{state:{serializedName:"state",type:{name:"String"}}}}},u={serializedName:"FeatureResult",type:{name:"Composite",className:"FeatureResult",modelProperties:{name:{serializedName:"name",type:{name:"String"}},properties:{serializedName:"properties",type:{name:"Composite",className:"FeatureProperties"}},id:{serializedName:"id",type:{name:"String"}},type:{serializedName:"type",type:{name:"String"}}}}},m={serializedName:"OperationListResult",type:{name:"Composite",className:"OperationListResult",modelProperties:{value:{serializedName:"",type:{name:"Sequence",element:{type:{name:"Composite",className:"Operation"}}}},nextLink:{serializedName:"nextLink",type:{name:"String"}}}}},l={serializedName:"FeatureOperationsListResult",type:{name:"Composite",className:"FeatureOperationsListResult",modelProperties:{value:{serializedName:"",type:{name:"Sequence",element:{type:{name:"Composite",className:"FeatureResult"}}}},nextLink:{serializedName:"nextLink",type:{name:"String"}}}}},d=Object.freeze({CloudError:n,BaseResource:o,FeatureProperties:p,FeatureResult:u,OperationDisplay:{serializedName:"Operation_display",type:{name:"Composite",className:"OperationDisplay",modelProperties:{provider:{serializedName:"provider",type:{name:"String"}},resource:{serializedName:"resource",type:{name:"String"}},operation:{serializedName:"operation",type:{name:"String"}}}}},Operation:{serializedName:"Operation",type:{name:"Composite",className:"Operation",modelProperties:{name:{serializedName:"name",type:{name:"String"}},display:{serializedName:"display",type:{name:"Composite",className:"OperationDisplay"}}}}},OperationListResult:m,FeatureOperationsListResult:l}),c={parameterPath:"acceptLanguage",mapper:{serializedName:"accept-language",defaultValue:"en-US",type:{name:"String"}}},y={parameterPath:"apiVersion",mapper:{required:!0,serializedName:"api-version",type:{name:"String"}}},f={parameterPath:"featureName",mapper:{required:!0,serializedName:"featureName",type:{name:"String"}}},h={parameterPath:"nextPageLink",mapper:{required:!0,serializedName:"nextLink",type:{name:"String"}},skipEncoding:!0},g={parameterPath:"resourceProviderNamespace",mapper:{required:!0,serializedName:"resourceProviderNamespace",type:{name:"String"}}},N={parameterPath:"subscriptionId",mapper:{required:!0,serializedName:"subscriptionId",type:{name:"String"}}},P=Object.freeze({FeatureOperationsListResult:l,FeatureResult:u,FeatureProperties:p,CloudError:n}),z=function(){function e(e){this.client=e}return e.prototype.listAll=function(e,r){return this.client.sendOperationRequest({options:e},O,r)},e.prototype.list=function(e,r,t){return this.client.sendOperationRequest({resourceProviderNamespace:e,options:r},M,t)},e.prototype.get=function(e,r,t,a){return this.client.sendOperationRequest({resourceProviderNamespace:e,featureName:r,options:t},R,a)},e.prototype.register=function(e,r,t,a){return this.client.sendOperationRequest({resourceProviderNamespace:e,featureName:r,options:t},v,a)},e.prototype.listAllNext=function(e,r,t){return this.client.sendOperationRequest({nextPageLink:e,options:r},F,t)},e.prototype.listNext=function(e,r,t){return this.client.sendOperationRequest({nextPageLink:e,options:r},L,t)},e}(),b=new t.Serializer(P),O={httpMethod:"GET",path:"subscriptions/{subscriptionId}/providers/Microsoft.Features/features",urlParameters:[N],queryParameters:[y],headerParameters:[c],responses:{200:{bodyMapper:l},default:{bodyMapper:n}},serializer:b},M={httpMethod:"GET",path:"subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features",urlParameters:[g,N],queryParameters:[y],headerParameters:[c],responses:{200:{bodyMapper:l},default:{bodyMapper:n}},serializer:b},R={httpMethod:"GET",path:"subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}",urlParameters:[g,f,N],queryParameters:[y],headerParameters:[c],responses:{200:{bodyMapper:u},default:{bodyMapper:n}},serializer:b},v={httpMethod:"POST",path:"subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register",urlParameters:[g,f,N],queryParameters:[y],headerParameters:[c],responses:{200:{bodyMapper:u},default:{bodyMapper:n}},serializer:b},F={httpMethod:"GET",baseUrl:"https://management.azure.com",path:"{nextLink}",urlParameters:[h],headerParameters:[c],responses:{200:{bodyMapper:l},default:{bodyMapper:n}},serializer:b},L={httpMethod:"GET",baseUrl:"https://management.azure.com",path:"{nextLink}",urlParameters:[h],headerParameters:[c],responses:{200:{bodyMapper:l},default:{bodyMapper:n}},serializer:b},S=function(i){function e(e,r,t){var a=this;if(null==e)throw new Error("'credentials' cannot be null.");if(null==r)throw new Error("'subscriptionId' cannot be null.");return t||(t={}),(a=i.call(this,e,t)||this).apiVersion="2015-12-01",a.acceptLanguage="en-US",a.longRunningOperationRetryTimeout=30,a.baseUri=t.baseUri||a.baseUri||"https://management.azure.com",a.requestContentType="application/json; charset=utf-8",a.credentials=e,a.subscriptionId=r,a.addUserAgentInfo("@azure/arm-features/1.0.0"),null!==t.acceptLanguage&&void 0!==t.acceptLanguage&&(a.acceptLanguage=t.acceptLanguage),null!==t.longRunningOperationRetryTimeout&&void 0!==t.longRunningOperationRetryTimeout&&(a.longRunningOperationRetryTimeout=t.longRunningOperationRetryTimeout),a}return s(e,i),e}(r.AzureServiceClient),q=function(i){function e(e,r,t){var a=i.call(this,e,r,t)||this;return a.features=new z(a),a}return s(e,i),e.prototype.listOperations=function(e,r){return this.sendOperationRequest({options:e},C,r)},e.prototype.listOperationsNext=function(e,r,t){return this.sendOperationRequest({nextPageLink:e,options:r},T,t)},e}(S),x=new t.Serializer(d),C={httpMethod:"GET",path:"providers/Microsoft.Features/operations",queryParameters:[y],headerParameters:[c],responses:{200:{bodyMapper:m},default:{bodyMapper:n}},serializer:x},T={httpMethod:"GET",baseUrl:"https://management.azure.com",path:"{nextLink}",urlParameters:[h],headerParameters:[c],responses:{200:{bodyMapper:m},default:{bodyMapper:n}},serializer:x};e.FeatureClient=q,e.FeatureClientContext=S,e.FeatureModels=i,e.FeatureMappers=d,e.Features=z,Object.defineProperty(e,"__esModule",{value:!0})});
\ No newline at end of file
diff --git a/packages/@azure/arm-features/dist/arm-features.min.js.map b/packages/@azure/arm-features/dist/arm-features.min.js.map
new file mode 100644
index 000000000000..bbb4f7dfea2b
--- /dev/null
+++ b/packages/@azure/arm-features/dist/arm-features.min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../node_modules/tslib/tslib.es6.js","../esm/models/mappers.js","../esm/models/parameters.js","../esm/operations/features.js","../esm/featureClientContext.js","../esm/featureClient.js"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","CloudError","CloudErrorMapper","BaseResource","BaseResourceMapper","FeatureProperties","serializedName","type","name","className","modelProperties","state","FeatureResult","properties","id","OperationListResult","value","element","nextLink","FeatureOperationsListResult","provider","resource","operation","display","acceptLanguage","parameterPath","mapper","defaultValue","apiVersion","required","featureName","nextPageLink","skipEncoding","resourceProviderNamespace","subscriptionId","Features","client","listAll","options","callback","sendOperationRequest","listAllOperationSpec","list","listOperationSpec","get","getOperationSpec","register","registerOperationSpec","listAllNext","listAllNextOperationSpec","listNext","listNextOperationSpec","serializer","msRest.Serializer","Mappers","httpMethod","path","urlParameters","Parameters.subscriptionId","queryParameters","Parameters.apiVersion","headerParameters","Parameters.acceptLanguage","responses","200","bodyMapper","Mappers.FeatureOperationsListResult","default","Mappers.CloudError","Parameters.resourceProviderNamespace","Parameters.featureName","Mappers.FeatureResult","baseUrl","Parameters.nextPageLink","FeatureClientContext","_super","credentials","_this","undefined","Error","call","longRunningOperationRetryTimeout","baseUri","requestContentType","addUserAgentInfo","packageName","tslib_1.__extends","msRestAzure.AzureServiceClient","FeatureClient","features","operations.Features","listOperations","listOperationsOperationSpec","listOperationsNext","listOperationsNextOperationSpec","Mappers.OperationListResult"],"mappings":"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"}
\ No newline at end of file
diff --git a/packages/@azure/arm-features/lib/featureClient.ts b/packages/@azure/arm-features/lib/featureClient.ts
new file mode 100644
index 000000000000..7cf4c543e808
--- /dev/null
+++ b/packages/@azure/arm-features/lib/featureClient.ts
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as Models from "./models";
+import * as Mappers from "./models/mappers";
+import * as Parameters from "./models/parameters";
+import * as operations from "./operations";
+import { FeatureClientContext } from "./featureClientContext";
+
+
+class FeatureClient extends FeatureClientContext {
+ // Operation groups
+ features: operations.Features;
+
+ /**
+ * Initializes a new instance of the FeatureClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId The ID of the target subscription.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.FeatureClientOptions) {
+ super(credentials, subscriptionId, options);
+ this.features = new operations.Features(this);
+ }
+
+ /**
+ * Lists all of the available Microsoft.Features REST API operations.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listOperations(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ listOperations(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listOperations(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listOperations(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.sendOperationRequest(
+ {
+ options
+ },
+ listOperationsOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Lists all of the available Microsoft.Features REST API operations.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listOperationsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listOperationsNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listOperationsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listOperationsNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listOperationsNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationsOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.Features/operations",
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listOperationsNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+export {
+ FeatureClient,
+ FeatureClientContext,
+ Models as FeatureModels,
+ Mappers as FeatureMappers
+};
+export * from "./operations";
diff --git a/packages/@azure/arm-features/lib/featureClientContext.ts b/packages/@azure/arm-features/lib/featureClientContext.ts
new file mode 100644
index 000000000000..537005bd02f9
--- /dev/null
+++ b/packages/@azure/arm-features/lib/featureClientContext.ts
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as Models from "./models";
+import * as msRest from "ms-rest-js";
+import * as msRestAzure from "ms-rest-azure-js";
+
+const packageName = "@azure/arm-features";
+const packageVersion = "1.0.0";
+
+export class FeatureClientContext extends msRestAzure.AzureServiceClient {
+
+ credentials: msRest.ServiceClientCredentials;
+
+ subscriptionId: string;
+
+ apiVersion: string;
+
+ acceptLanguage: string;
+
+ longRunningOperationRetryTimeout: number;
+
+ /**
+ * Initializes a new instance of the FeatureClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId The ID of the target subscription.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.FeatureClientOptions) {
+ if (credentials == undefined) {
+ throw new Error('\'credentials\' cannot be null.');
+ }
+ if (subscriptionId == undefined) {
+ throw new Error('\'subscriptionId\' cannot be null.');
+ }
+
+ if (!options) {
+ options = {};
+ }
+ super(credentials, options);
+
+ this.apiVersion = '2015-12-01';
+ this.acceptLanguage = 'en-US';
+ this.longRunningOperationRetryTimeout = 30;
+ this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com";
+ this.requestContentType = "application/json; charset=utf-8";
+ this.credentials = credentials;
+ this.subscriptionId = subscriptionId;
+
+ this.addUserAgentInfo(`${packageName}/${packageVersion}`);
+ if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
+ this.acceptLanguage = options.acceptLanguage;
+ }
+ if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
+ this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
+ }
+ }
+}
diff --git a/packages/@azure/arm-features/lib/models/featuresMappers.ts b/packages/@azure/arm-features/lib/models/featuresMappers.ts
new file mode 100644
index 000000000000..f76e186d07a8
--- /dev/null
+++ b/packages/@azure/arm-features/lib/models/featuresMappers.ts
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export {
+ FeatureOperationsListResult,
+ FeatureResult,
+ FeatureProperties,
+ CloudError
+} from "../models/mappers";
+
diff --git a/packages/@azure/arm-features/lib/models/index.ts b/packages/@azure/arm-features/lib/models/index.ts
new file mode 100644
index 000000000000..3ae9bc4d840d
--- /dev/null
+++ b/packages/@azure/arm-features/lib/models/index.ts
@@ -0,0 +1,291 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import { BaseResource, CloudError, AzureServiceClientOptions } from "ms-rest-azure-js";
+import * as msRest from "ms-rest-js";
+
+export { BaseResource, CloudError };
+
+
+/**
+ * @interface
+ * An interface representing FeatureProperties.
+ * Information about feature.
+ *
+ */
+export interface FeatureProperties {
+ /**
+ * @member {string} [state] The registration state of the feature for the
+ * subscription.
+ */
+ state?: string;
+}
+
+/**
+ * @interface
+ * An interface representing FeatureResult.
+ * Previewed feature information.
+ *
+ */
+export interface FeatureResult {
+ /**
+ * @member {string} [name] The name of the feature.
+ */
+ name?: string;
+ /**
+ * @member {FeatureProperties} [properties] Properties of the previewed
+ * feature.
+ */
+ properties?: FeatureProperties;
+ /**
+ * @member {string} [id] The resource ID of the feature.
+ */
+ id?: string;
+ /**
+ * @member {string} [type] The resource type of the feature.
+ */
+ type?: string;
+}
+
+/**
+ * @interface
+ * An interface representing OperationDisplay.
+ * The object that represents the operation.
+ *
+ */
+export interface OperationDisplay {
+ /**
+ * @member {string} [provider] Service provider: Microsoft.Features
+ */
+ provider?: string;
+ /**
+ * @member {string} [resource] Resource on which the operation is performed:
+ * Profile, endpoint, etc.
+ */
+ resource?: string;
+ /**
+ * @member {string} [operation] Operation type: Read, write, delete, etc.
+ */
+ operation?: string;
+}
+
+/**
+ * @interface
+ * An interface representing Operation.
+ * Microsoft.Features operation
+ *
+ */
+export interface Operation {
+ /**
+ * @member {string} [name] Operation name: {provider}/{resource}/{operation}
+ */
+ name?: string;
+ /**
+ * @member {OperationDisplay} [display] The object that represents the
+ * operation.
+ */
+ display?: OperationDisplay;
+}
+
+/**
+ * @interface
+ * An interface representing FeatureClientOptions.
+ * @extends AzureServiceClientOptions
+ */
+export interface FeatureClientOptions extends AzureServiceClientOptions {
+ /**
+ * @member {string} [baseUri]
+ */
+ baseUri?: string;
+}
+
+
+/**
+ * @interface
+ * An interface representing the OperationListResult.
+ * Result of the request to list Microsoft.Features operations. It contains a
+ * list of operations and a URL link to get the next set of results.
+ *
+ * @extends Array
+ */
+export interface OperationListResult extends Array {
+ /**
+ * @member {string} [nextLink] URL to get the next set of operation list
+ * results if there are any.
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * An interface representing the FeatureOperationsListResult.
+ * List of previewed features.
+ *
+ * @extends Array
+ */
+export interface FeatureOperationsListResult extends Array {
+ /**
+ * @member {string} [nextLink] The URL to use for getting the next set of
+ * results.
+ */
+ nextLink?: string;
+}
+
+/**
+ * Contains response data for the listOperations operation.
+ */
+export type ListOperationsResponse = OperationListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the listOperationsNext operation.
+ */
+export type ListOperationsNextResponse = OperationListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the listAll operation.
+ */
+export type FeaturesListAllResponse = FeatureOperationsListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: FeatureOperationsListResult;
+ };
+};
+
+/**
+ * Contains response data for the list operation.
+ */
+export type FeaturesListResponse = FeatureOperationsListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: FeatureOperationsListResult;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type FeaturesGetResponse = FeatureResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: FeatureResult;
+ };
+};
+
+/**
+ * Contains response data for the register operation.
+ */
+export type FeaturesRegisterResponse = FeatureResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: FeatureResult;
+ };
+};
+
+/**
+ * Contains response data for the listAllNext operation.
+ */
+export type FeaturesListAllNextResponse = FeatureOperationsListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: FeatureOperationsListResult;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type FeaturesListNextResponse = FeatureOperationsListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: FeatureOperationsListResult;
+ };
+};
diff --git a/packages/@azure/arm-features/lib/models/mappers.ts b/packages/@azure/arm-features/lib/models/mappers.ts
new file mode 100644
index 000000000000..454c334e20cc
--- /dev/null
+++ b/packages/@azure/arm-features/lib/models/mappers.ts
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import { CloudErrorMapper, BaseResourceMapper } from "ms-rest-azure-js";
+import * as msRest from "ms-rest-js";
+
+export const CloudError = CloudErrorMapper;
+export const BaseResource = BaseResourceMapper;
+
+export const FeatureProperties: msRest.CompositeMapper = {
+ serializedName: "FeatureProperties",
+ type: {
+ name: "Composite",
+ className: "FeatureProperties",
+ modelProperties: {
+ state: {
+ serializedName: "state",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const FeatureResult: msRest.CompositeMapper = {
+ serializedName: "FeatureResult",
+ type: {
+ name: "Composite",
+ className: "FeatureResult",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Composite",
+ className: "FeatureProperties"
+ }
+ },
+ id: {
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const OperationDisplay: msRest.CompositeMapper = {
+ serializedName: "Operation_display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay",
+ modelProperties: {
+ provider: {
+ serializedName: "provider",
+ type: {
+ name: "String"
+ }
+ },
+ resource: {
+ serializedName: "resource",
+ type: {
+ name: "String"
+ }
+ },
+ operation: {
+ serializedName: "operation",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Operation: msRest.CompositeMapper = {
+ serializedName: "Operation",
+ type: {
+ name: "Composite",
+ className: "Operation",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ display: {
+ serializedName: "display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay"
+ }
+ }
+ }
+ }
+};
+
+export const OperationListResult: msRest.CompositeMapper = {
+ serializedName: "OperationListResult",
+ type: {
+ name: "Composite",
+ className: "OperationListResult",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Operation"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const FeatureOperationsListResult: msRest.CompositeMapper = {
+ serializedName: "FeatureOperationsListResult",
+ type: {
+ name: "Composite",
+ className: "FeatureOperationsListResult",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "FeatureResult"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
diff --git a/packages/@azure/arm-features/lib/models/parameters.ts b/packages/@azure/arm-features/lib/models/parameters.ts
new file mode 100644
index 000000000000..53cc6570c4e7
--- /dev/null
+++ b/packages/@azure/arm-features/lib/models/parameters.ts
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+
+export const acceptLanguage: msRest.OperationParameter = {
+ parameterPath: "acceptLanguage",
+ mapper: {
+ serializedName: "accept-language",
+ defaultValue: 'en-US',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const apiVersion: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ serializedName: "api-version",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const featureName: msRest.OperationURLParameter = {
+ parameterPath: "featureName",
+ mapper: {
+ required: true,
+ serializedName: "featureName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const nextPageLink: msRest.OperationURLParameter = {
+ parameterPath: "nextPageLink",
+ mapper: {
+ required: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const resourceProviderNamespace: msRest.OperationURLParameter = {
+ parameterPath: "resourceProviderNamespace",
+ mapper: {
+ required: true,
+ serializedName: "resourceProviderNamespace",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const subscriptionId: msRest.OperationURLParameter = {
+ parameterPath: "subscriptionId",
+ mapper: {
+ required: true,
+ serializedName: "subscriptionId",
+ type: {
+ name: "String"
+ }
+ }
+};
diff --git a/packages/@azure/arm-features/lib/operations/features.ts b/packages/@azure/arm-features/lib/operations/features.ts
new file mode 100644
index 000000000000..ab1acfff4fc1
--- /dev/null
+++ b/packages/@azure/arm-features/lib/operations/features.ts
@@ -0,0 +1,343 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/featuresMappers";
+import * as Parameters from "../models/parameters";
+import { FeatureClientContext } from "../featureClientContext";
+
+/** Class representing a Features. */
+export class Features {
+ private readonly client: FeatureClientContext;
+
+ /**
+ * Create a Features.
+ * @param {FeatureClientContext} client Reference to the service client.
+ */
+ constructor(client: FeatureClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Gets all the preview features that are available through AFEC for the subscription.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listAll(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ listAll(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listAll(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listAll(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listAllOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets all the preview features in a provider namespace that are available through AFEC for the
+ * subscription.
+ * @param resourceProviderNamespace The namespace of the resource provider for getting features.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(resourceProviderNamespace: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceProviderNamespace The namespace of the resource provider for getting features.
+ * @param callback The callback
+ */
+ list(resourceProviderNamespace: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceProviderNamespace The namespace of the resource provider for getting features.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(resourceProviderNamespace: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(resourceProviderNamespace: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceProviderNamespace,
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets the preview feature with the specified name.
+ * @param resourceProviderNamespace The resource provider namespace for the feature.
+ * @param featureName The name of the feature to get.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(resourceProviderNamespace: string, featureName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceProviderNamespace The resource provider namespace for the feature.
+ * @param featureName The name of the feature to get.
+ * @param callback The callback
+ */
+ get(resourceProviderNamespace: string, featureName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceProviderNamespace The resource provider namespace for the feature.
+ * @param featureName The name of the feature to get.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(resourceProviderNamespace: string, featureName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(resourceProviderNamespace: string, featureName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceProviderNamespace,
+ featureName,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Registers the preview feature for the subscription.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param featureName The name of the feature to register.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ register(resourceProviderNamespace: string, featureName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param featureName The name of the feature to register.
+ * @param callback The callback
+ */
+ register(resourceProviderNamespace: string, featureName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param featureName The name of the feature to register.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ register(resourceProviderNamespace: string, featureName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ register(resourceProviderNamespace: string, featureName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceProviderNamespace,
+ featureName,
+ options
+ },
+ registerOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets all the preview features that are available through AFEC for the subscription.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listAllNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listAllNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listAllNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listAllNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listAllNextOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets all the preview features in a provider namespace that are available through AFEC for the
+ * subscription.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listAllOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Features/features",
+ urlParameters: [
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.FeatureOperationsListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features",
+ urlParameters: [
+ Parameters.resourceProviderNamespace,
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.FeatureOperationsListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}",
+ urlParameters: [
+ Parameters.resourceProviderNamespace,
+ Parameters.featureName,
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.FeatureResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const registerOperationSpec: msRest.OperationSpec = {
+ httpMethod: "POST",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register",
+ urlParameters: [
+ Parameters.resourceProviderNamespace,
+ Parameters.featureName,
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.FeatureResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listAllNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.FeatureOperationsListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.FeatureOperationsListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/packages/@azure/arm-features/lib/operations/index.ts b/packages/@azure/arm-features/lib/operations/index.ts
new file mode 100644
index 000000000000..e7a795418c8a
--- /dev/null
+++ b/packages/@azure/arm-features/lib/operations/index.ts
@@ -0,0 +1,11 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export * from "./features";
diff --git a/packages/@azure/arm-features/package.json b/packages/@azure/arm-features/package.json
new file mode 100644
index 000000000000..ab7b763bf6f4
--- /dev/null
+++ b/packages/@azure/arm-features/package.json
@@ -0,0 +1,42 @@
+{
+ "name": "@azure/arm-features",
+ "author": "Microsoft Corporation",
+ "description": "FeatureClient Library with typescript type definitions for node.js and browser.",
+ "version": "1.0.0",
+ "dependencies": {
+ "ms-rest-azure-js": "^1.0.172",
+ "ms-rest-js": "^1.0.443",
+ "tslib": "^1.9.3"
+ },
+ "keywords": [
+ "node",
+ "azure",
+ "typescript",
+ "browser",
+ "isomorphic"
+ ],
+ "license": "MIT",
+ "main": "./dist/arm-features.js",
+ "module": "./esm/featureClient.js",
+ "types": "./esm/featureClient.d.ts",
+ "devDependencies": {
+ "typescript": "^3.1.1",
+ "rollup": "^0.66.2",
+ "rollup-plugin-node-resolve": "^3.4.0",
+ "uglify-js": "^3.4.9"
+ },
+ "homepage": "https://github.com/azure/azure-sdk-for-js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/azure/azure-sdk-for-js.git"
+ },
+ "bugs": {
+ "url": "https://github.com/azure/azure-sdk-for-js/issues"
+ },
+ "scripts": {
+ "build": "tsc && rollup -c rollup.config.js && npm run minify",
+ "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-features.js.map'\" -o ./dist/arm-features.min.js ./dist/arm-features.js",
+ "prepare": "npm run build"
+ },
+ "sideEffects": false
+}
diff --git a/packages/@azure/arm-features/rollup.config.js b/packages/@azure/arm-features/rollup.config.js
new file mode 100644
index 000000000000..ea7d5bae5c13
--- /dev/null
+++ b/packages/@azure/arm-features/rollup.config.js
@@ -0,0 +1,31 @@
+import nodeResolve from "rollup-plugin-node-resolve";
+/**
+ * @type {import('rollup').RollupFileOptions}
+ */
+const config = {
+ input: './esm/featureClient.js',
+ external: ["ms-rest-js", "ms-rest-azure-js"],
+ output: {
+ file: "./dist/arm-features.js",
+ format: "umd",
+ name: "Azure.ArmFeatures",
+ sourcemap: true,
+ globals: {
+ "ms-rest-js": "msRest",
+ "ms-rest-azure-js": "msRestAzure"
+ },
+ banner: `/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */`
+ },
+ plugins: [
+ nodeResolve({ module: true })
+ ]
+};
+export default config;
diff --git a/packages/@azure/arm-features/tsconfig.json b/packages/@azure/arm-features/tsconfig.json
new file mode 100644
index 000000000000..f32d1664f320
--- /dev/null
+++ b/packages/@azure/arm-features/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "compilerOptions": {
+ "module": "es6",
+ "moduleResolution": "node",
+ "strict": true,
+ "target": "es5",
+ "sourceMap": true,
+ "declarationMap": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "forceConsistentCasingInFileNames": true,
+ "lib": ["es6"],
+ "declaration": true,
+ "outDir": "./esm",
+ "importHelpers": true
+ },
+ "include": ["./lib/**/*"],
+ "exclude": ["node_modules"]
+}
diff --git a/packages/@azure/arm-links/.npmignore b/packages/@azure/arm-links/.npmignore
new file mode 100644
index 000000000000..a07a455ac10c
--- /dev/null
+++ b/packages/@azure/arm-links/.npmignore
@@ -0,0 +1,35 @@
+#git
+.git
+.gitignore
+#gulp
+gulpfile.js
+#documentation
+doc/
+docs/
+#dependencies
+node_modules/
+#samples
+sample/
+samples/
+#tests
+test/
+tests/
+coverage/
+#tools and scripts
+tools/
+scripts/
+#IDE settings
+*.sln
+.vscode/
+.idea
+.editorconfig
+.ntvs_analysis.*
+#build tools
+.travis.yml
+.jenkins.yml
+.codeclimate.yml
+appveyor.yml
+# Nuget packages #
+.nuget/
+packages/
+packages.config
diff --git a/packages/@azure/arm-links/LICENSE.txt b/packages/@azure/arm-links/LICENSE.txt
new file mode 100644
index 000000000000..5431ba98b936
--- /dev/null
+++ b/packages/@azure/arm-links/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2018 Microsoft
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/@azure/arm-links/README.md b/packages/@azure/arm-links/README.md
new file mode 100644
index 000000000000..8f19f384fbab
--- /dev/null
+++ b/packages/@azure/arm-links/README.md
@@ -0,0 +1,77 @@
+# Azure ManagementLinkClient SDK for JavaScript
+This package contains an isomorphic SDK for ManagementLinkClient.
+
+## Currently supported environments
+- Node.js version 6.x.x or higher
+- Browser JavaScript
+
+## How to Install
+```
+npm install @azure/arm-links
+```
+
+
+## How to use
+
+### nodejs - Authentication, client creation and list operations as an example written in TypeScript.
+
+```ts
+import * as msRest from "ms-rest-js";
+import * as msRestAzure from "ms-rest-azure-js";
+import * as msRestNodeAuth from "ms-rest-nodeauth";
+import { ManagementLinkClient, ManagementLinkModels, ManagementLinkMappers } from "@azure/arm-links";
+const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
+
+msRestNodeAuth.interactiveLogin().then((creds) => {
+ const client = new ManagementLinkClient(creds, subscriptionId);
+ client.operations.list().then((result) => {
+ console.log("The result is:");
+ console.log(result);
+ });
+}).catch((err) => {
+ console.error(err);
+});
+```
+
+### browser - Authentication, client creation and list operations as an example written in JavaScript.
+See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
+
+- index.html
+```html
+
+
+
+ @azure/arm-links sample
+
+
+
+
+
+
+
+
+
+```
+
+# Related projects
+ - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
diff --git a/packages/@azure/arm-links/lib/managementLinkClient.ts b/packages/@azure/arm-links/lib/managementLinkClient.ts
new file mode 100644
index 000000000000..79f1c4abde29
--- /dev/null
+++ b/packages/@azure/arm-links/lib/managementLinkClient.ts
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as Models from "./models";
+import * as Mappers from "./models/mappers";
+import * as operations from "./operations";
+import { ManagementLinkClientContext } from "./managementLinkClientContext";
+
+
+class ManagementLinkClient extends ManagementLinkClientContext {
+ // Operation groups
+ operations: operations.Operations;
+ resourceLinks: operations.ResourceLinks;
+
+ /**
+ * Initializes a new instance of the ManagementLinkClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId The ID of the target subscription.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ManagementLinkClientOptions) {
+ super(credentials, subscriptionId, options);
+ this.operations = new operations.Operations(this);
+ this.resourceLinks = new operations.ResourceLinks(this);
+ }
+}
+
+// Operation Specifications
+
+export {
+ ManagementLinkClient,
+ ManagementLinkClientContext,
+ Models as ManagementLinkModels,
+ Mappers as ManagementLinkMappers
+};
+export * from "./operations";
diff --git a/packages/@azure/arm-links/lib/managementLinkClientContext.ts b/packages/@azure/arm-links/lib/managementLinkClientContext.ts
new file mode 100644
index 000000000000..9e58ddcb9e10
--- /dev/null
+++ b/packages/@azure/arm-links/lib/managementLinkClientContext.ts
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as Models from "./models";
+import * as msRest from "ms-rest-js";
+import * as msRestAzure from "ms-rest-azure-js";
+
+const packageName = "@azure/arm-links";
+const packageVersion = "1.0.0";
+
+export class ManagementLinkClientContext extends msRestAzure.AzureServiceClient {
+
+ credentials: msRest.ServiceClientCredentials;
+
+ subscriptionId: string;
+
+ apiVersion: string;
+
+ acceptLanguage: string;
+
+ longRunningOperationRetryTimeout: number;
+
+ /**
+ * Initializes a new instance of the ManagementLinkClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId The ID of the target subscription.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ManagementLinkClientOptions) {
+ if (credentials == undefined) {
+ throw new Error('\'credentials\' cannot be null.');
+ }
+ if (subscriptionId == undefined) {
+ throw new Error('\'subscriptionId\' cannot be null.');
+ }
+
+ if (!options) {
+ options = {};
+ }
+ super(credentials, options);
+
+ this.apiVersion = '2016-09-01';
+ this.acceptLanguage = 'en-US';
+ this.longRunningOperationRetryTimeout = 30;
+ this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com";
+ this.requestContentType = "application/json; charset=utf-8";
+ this.credentials = credentials;
+ this.subscriptionId = subscriptionId;
+
+ this.addUserAgentInfo(`${packageName}/${packageVersion}`);
+ if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
+ this.acceptLanguage = options.acceptLanguage;
+ }
+ if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
+ this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
+ }
+ }
+}
diff --git a/packages/@azure/arm-links/lib/models/index.ts b/packages/@azure/arm-links/lib/models/index.ts
new file mode 100644
index 000000000000..256854911106
--- /dev/null
+++ b/packages/@azure/arm-links/lib/models/index.ts
@@ -0,0 +1,370 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import { BaseResource, CloudError, AzureServiceClientOptions } from "ms-rest-azure-js";
+import * as msRest from "ms-rest-js";
+
+export { BaseResource, CloudError };
+
+
+/**
+ * @interface
+ * An interface representing ResourceLinkFilter.
+ * Resource link filter.
+ *
+ */
+export interface ResourceLinkFilter {
+ /**
+ * @member {string} targetId The ID of the target resource.
+ */
+ targetId: string;
+}
+
+/**
+ * @interface
+ * An interface representing ResourceLinkProperties.
+ * The resource link properties.
+ *
+ */
+export interface ResourceLinkProperties {
+ /**
+ * @member {string} [sourceId] The fully qualified ID of the source resource
+ * in the link.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly sourceId?: string;
+ /**
+ * @member {string} targetId The fully qualified ID of the target resource in
+ * the link.
+ */
+ targetId: string;
+ /**
+ * @member {string} [notes] Notes about the resource link.
+ */
+ notes?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ResourceLink.
+ * The resource link.
+ *
+ * @extends BaseResource
+ */
+export interface ResourceLink extends BaseResource {
+ /**
+ * @member {string} [id] The fully qualified ID of the resource link.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly id?: string;
+ /**
+ * @member {string} [name] The name of the resource link.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly name?: string;
+ /**
+ * @member {any} [type] The resource link object.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly type?: any;
+ /**
+ * @member {ResourceLinkProperties} [properties] Properties for resource
+ * link.
+ */
+ properties?: ResourceLinkProperties;
+}
+
+/**
+ * @interface
+ * An interface representing OperationDisplay.
+ * The object that represents the operation.
+ *
+ */
+export interface OperationDisplay {
+ /**
+ * @member {string} [provider] Service provider: Microsoft.Resources
+ */
+ provider?: string;
+ /**
+ * @member {string} [resource] Resource on which the operation is performed:
+ * Profile, endpoint, etc.
+ */
+ resource?: string;
+ /**
+ * @member {string} [operation] Operation type: Read, write, delete, etc.
+ */
+ operation?: string;
+ /**
+ * @member {string} [description] Description of the operation.
+ */
+ description?: string;
+}
+
+/**
+ * @interface
+ * An interface representing Operation.
+ * Microsoft.Resources operation
+ *
+ */
+export interface Operation {
+ /**
+ * @member {string} [name] Operation name: {provider}/{resource}/{operation}
+ */
+ name?: string;
+ /**
+ * @member {OperationDisplay} [display] The object that represents the
+ * operation.
+ */
+ display?: OperationDisplay;
+}
+
+/**
+ * @interface
+ * An interface representing ResourceLinksListAtSubscriptionOptionalParams.
+ * Optional Parameters.
+ *
+ * @extends RequestOptionsBase
+ */
+export interface ResourceLinksListAtSubscriptionOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * @member {string} [filter] The filter to apply on the list resource links
+ * operation. The supported filter for list resource links is targetid. For
+ * example, $filter=targetid eq {value}
+ */
+ filter?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ResourceLinksListAtSourceScopeOptionalParams.
+ * Optional Parameters.
+ *
+ * @extends RequestOptionsBase
+ */
+export interface ResourceLinksListAtSourceScopeOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * @member {string} [filter] The filter to apply when getting resource links.
+ * To get links only at the specified scope (not below the scope), use
+ * Filter.atScope().
+ */
+ filter?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ManagementLinkClientOptions.
+ * @extends AzureServiceClientOptions
+ */
+export interface ManagementLinkClientOptions extends AzureServiceClientOptions {
+ /**
+ * @member {string} [baseUri]
+ */
+ baseUri?: string;
+}
+
+
+/**
+ * @interface
+ * An interface representing the OperationListResult.
+ * Result of the request to list Microsoft.Resources operations. It contains a
+ * list of operations and a URL link to get the next set of results.
+ *
+ * @extends Array
+ */
+export interface OperationListResult extends Array {
+ /**
+ * @member {string} [nextLink] URL to get the next set of operation list
+ * results if there are any.
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * An interface representing the ResourceLinkResult.
+ * List of resource links.
+ *
+ * @extends Array
+ */
+export interface ResourceLinkResult extends Array {
+ /**
+ * @member {string} [nextLink] The URL to use for getting the next set of
+ * results.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly nextLink?: string;
+}
+
+/**
+ * Defines values for Filter.
+ * Possible values include: 'atScope()'
+ * @readonly
+ * @enum {string}
+ */
+export enum Filter {
+ AtScope = 'atScope()',
+}
+
+/**
+ * Contains response data for the list operation.
+ */
+export type OperationsListResponse = OperationListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type OperationsListNextResponse = OperationListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdate operation.
+ */
+export type ResourceLinksCreateOrUpdateResponse = ResourceLink & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ResourceLink;
+ };
+};
+
+/**
+ * Contains response data for the get operation.
+ */
+export type ResourceLinksGetResponse = ResourceLink & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ResourceLink;
+ };
+};
+
+/**
+ * Contains response data for the listAtSubscription operation.
+ */
+export type ResourceLinksListAtSubscriptionResponse = ResourceLinkResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ResourceLinkResult;
+ };
+};
+
+/**
+ * Contains response data for the listAtSourceScope operation.
+ */
+export type ResourceLinksListAtSourceScopeResponse = ResourceLinkResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ResourceLinkResult;
+ };
+};
+
+/**
+ * Contains response data for the listAtSubscriptionNext operation.
+ */
+export type ResourceLinksListAtSubscriptionNextResponse = ResourceLinkResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ResourceLinkResult;
+ };
+};
+
+/**
+ * Contains response data for the listAtSourceScopeNext operation.
+ */
+export type ResourceLinksListAtSourceScopeNextResponse = ResourceLinkResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ResourceLinkResult;
+ };
+};
diff --git a/packages/@azure/arm-links/lib/models/mappers.ts b/packages/@azure/arm-links/lib/models/mappers.ts
new file mode 100644
index 000000000000..4434c87988c8
--- /dev/null
+++ b/packages/@azure/arm-links/lib/models/mappers.ts
@@ -0,0 +1,215 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import { CloudErrorMapper, BaseResourceMapper } from "ms-rest-azure-js";
+import * as msRest from "ms-rest-js";
+
+export const CloudError = CloudErrorMapper;
+export const BaseResource = BaseResourceMapper;
+
+export const ResourceLinkFilter: msRest.CompositeMapper = {
+ serializedName: "ResourceLinkFilter",
+ type: {
+ name: "Composite",
+ className: "ResourceLinkFilter",
+ modelProperties: {
+ targetId: {
+ required: true,
+ serializedName: "targetId",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceLinkProperties: msRest.CompositeMapper = {
+ serializedName: "ResourceLinkProperties",
+ type: {
+ name: "Composite",
+ className: "ResourceLinkProperties",
+ modelProperties: {
+ sourceId: {
+ readOnly: true,
+ serializedName: "sourceId",
+ type: {
+ name: "String"
+ }
+ },
+ targetId: {
+ required: true,
+ serializedName: "targetId",
+ type: {
+ name: "String"
+ }
+ },
+ notes: {
+ serializedName: "notes",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceLink: msRest.CompositeMapper = {
+ serializedName: "ResourceLink",
+ type: {
+ name: "Composite",
+ className: "ResourceLink",
+ modelProperties: {
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "Object"
+ }
+ },
+ properties: {
+ serializedName: "properties",
+ type: {
+ name: "Composite",
+ className: "ResourceLinkProperties"
+ }
+ }
+ }
+ }
+};
+
+export const OperationDisplay: msRest.CompositeMapper = {
+ serializedName: "Operation_display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay",
+ modelProperties: {
+ provider: {
+ serializedName: "provider",
+ type: {
+ name: "String"
+ }
+ },
+ resource: {
+ serializedName: "resource",
+ type: {
+ name: "String"
+ }
+ },
+ operation: {
+ serializedName: "operation",
+ type: {
+ name: "String"
+ }
+ },
+ description: {
+ serializedName: "description",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Operation: msRest.CompositeMapper = {
+ serializedName: "Operation",
+ type: {
+ name: "Composite",
+ className: "Operation",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ display: {
+ serializedName: "display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay"
+ }
+ }
+ }
+ }
+};
+
+export const OperationListResult: msRest.CompositeMapper = {
+ serializedName: "OperationListResult",
+ type: {
+ name: "Composite",
+ className: "OperationListResult",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Operation"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ResourceLinkResult: msRest.CompositeMapper = {
+ serializedName: "ResourceLinkResult",
+ type: {
+ name: "Composite",
+ className: "ResourceLinkResult",
+ modelProperties: {
+ value: {
+ required: true,
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ResourceLink"
+ }
+ }
+ }
+ },
+ nextLink: {
+ readOnly: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
diff --git a/packages/@azure/arm-links/lib/models/operationsMappers.ts b/packages/@azure/arm-links/lib/models/operationsMappers.ts
new file mode 100644
index 000000000000..2edcc577920e
--- /dev/null
+++ b/packages/@azure/arm-links/lib/models/operationsMappers.ts
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export {
+ OperationListResult,
+ Operation,
+ OperationDisplay,
+ CloudError
+} from "../models/mappers";
+
diff --git a/packages/@azure/arm-links/lib/models/parameters.ts b/packages/@azure/arm-links/lib/models/parameters.ts
new file mode 100644
index 000000000000..f58cf3193ad5
--- /dev/null
+++ b/packages/@azure/arm-links/lib/models/parameters.ts
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+
+export const acceptLanguage: msRest.OperationParameter = {
+ parameterPath: "acceptLanguage",
+ mapper: {
+ serializedName: "accept-language",
+ defaultValue: 'en-US',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const apiVersion: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ serializedName: "api-version",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const filter: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "filter"
+ ],
+ mapper: {
+ serializedName: "$filter",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const linkId: msRest.OperationURLParameter = {
+ parameterPath: "linkId",
+ mapper: {
+ required: true,
+ serializedName: "linkId",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const nextPageLink: msRest.OperationURLParameter = {
+ parameterPath: "nextPageLink",
+ mapper: {
+ required: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const scope: msRest.OperationURLParameter = {
+ parameterPath: "scope",
+ mapper: {
+ required: true,
+ serializedName: "scope",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const subscriptionId: msRest.OperationURLParameter = {
+ parameterPath: "subscriptionId",
+ mapper: {
+ required: true,
+ serializedName: "subscriptionId",
+ type: {
+ name: "String"
+ }
+ }
+};
diff --git a/packages/@azure/arm-links/lib/models/resourceLinksMappers.ts b/packages/@azure/arm-links/lib/models/resourceLinksMappers.ts
new file mode 100644
index 000000000000..aac3c16eb59c
--- /dev/null
+++ b/packages/@azure/arm-links/lib/models/resourceLinksMappers.ts
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export {
+ CloudError,
+ ResourceLink,
+ BaseResource,
+ ResourceLinkProperties,
+ ResourceLinkResult
+} from "../models/mappers";
+
diff --git a/packages/@azure/arm-links/lib/operations/index.ts b/packages/@azure/arm-links/lib/operations/index.ts
new file mode 100644
index 000000000000..13eac92de120
--- /dev/null
+++ b/packages/@azure/arm-links/lib/operations/index.ts
@@ -0,0 +1,12 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export * from "./operations";
+export * from "./resourceLinks";
diff --git a/packages/@azure/arm-links/lib/operations/operations.ts b/packages/@azure/arm-links/lib/operations/operations.ts
new file mode 100644
index 000000000000..a258f28eef8d
--- /dev/null
+++ b/packages/@azure/arm-links/lib/operations/operations.ts
@@ -0,0 +1,123 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/operationsMappers";
+import * as Parameters from "../models/parameters";
+import { ManagementLinkClientContext } from "../managementLinkClientContext";
+
+/** Class representing a Operations. */
+export class Operations {
+ private readonly client: ManagementLinkClientContext;
+
+ /**
+ * Create a Operations.
+ * @param {ManagementLinkClientContext} client Reference to the service client.
+ */
+ constructor(client: ManagementLinkClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Lists all of the available Microsoft.Resources REST API operations.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Lists all of the available Microsoft.Resources REST API operations.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.Resources/operations",
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/packages/@azure/arm-links/lib/operations/resourceLinks.ts b/packages/@azure/arm-links/lib/operations/resourceLinks.ts
new file mode 100644
index 000000000000..1755e3ea269c
--- /dev/null
+++ b/packages/@azure/arm-links/lib/operations/resourceLinks.ts
@@ -0,0 +1,421 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/resourceLinksMappers";
+import * as Parameters from "../models/parameters";
+import { ManagementLinkClientContext } from "../managementLinkClientContext";
+
+/** Class representing a ResourceLinks. */
+export class ResourceLinks {
+ private readonly client: ManagementLinkClientContext;
+
+ /**
+ * Create a ResourceLinks.
+ * @param {ManagementLinkClientContext} client Reference to the service client.
+ */
+ constructor(client: ManagementLinkClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Deletes a resource link with the specified ID.
+ * @param linkId The fully qualified ID of the resource link. Use the format,
+ * /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
+ * For example,
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteMethod(linkId: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param linkId The fully qualified ID of the resource link. Use the format,
+ * /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
+ * For example,
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
+ * @param callback The callback
+ */
+ deleteMethod(linkId: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param linkId The fully qualified ID of the resource link. Use the format,
+ * /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
+ * For example,
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteMethod(linkId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteMethod(linkId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ linkId,
+ options
+ },
+ deleteMethodOperationSpec,
+ callback);
+ }
+
+ /**
+ * Creates or updates a resource link between the specified resources.
+ * @param linkId The fully qualified ID of the resource link. Use the format,
+ * /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
+ * For example,
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
+ * @param parameters Parameters for creating or updating a resource link.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdate(linkId: string, parameters: Models.ResourceLink, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param linkId The fully qualified ID of the resource link. Use the format,
+ * /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
+ * For example,
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
+ * @param parameters Parameters for creating or updating a resource link.
+ * @param callback The callback
+ */
+ createOrUpdate(linkId: string, parameters: Models.ResourceLink, callback: msRest.ServiceCallback): void;
+ /**
+ * @param linkId The fully qualified ID of the resource link. Use the format,
+ * /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
+ * For example,
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
+ * @param parameters Parameters for creating or updating a resource link.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdate(linkId: string, parameters: Models.ResourceLink, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdate(linkId: string, parameters: Models.ResourceLink, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ linkId,
+ parameters,
+ options
+ },
+ createOrUpdateOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets a resource link with the specified ID.
+ * @param linkId The fully qualified Id of the resource link. For example,
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ get(linkId: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param linkId The fully qualified Id of the resource link. For example,
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
+ * @param callback The callback
+ */
+ get(linkId: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param linkId The fully qualified Id of the resource link. For example,
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ get(linkId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ get(linkId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ linkId,
+ options
+ },
+ getOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets all the linked resources for the subscription.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listAtSubscription(options?: Models.ResourceLinksListAtSubscriptionOptionalParams): Promise;
+ /**
+ * @param callback The callback
+ */
+ listAtSubscription(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listAtSubscription(options: Models.ResourceLinksListAtSubscriptionOptionalParams, callback: msRest.ServiceCallback): void;
+ listAtSubscription(options?: Models.ResourceLinksListAtSubscriptionOptionalParams, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listAtSubscriptionOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets a list of resource links at and below the specified source scope.
+ * @param scope The fully qualified ID of the scope for getting the resource links. For example, to
+ * list resource links at and under a resource group, set the scope to
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listAtSourceScope(scope: string, options?: Models.ResourceLinksListAtSourceScopeOptionalParams): Promise;
+ /**
+ * @param scope The fully qualified ID of the scope for getting the resource links. For example, to
+ * list resource links at and under a resource group, set the scope to
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup.
+ * @param callback The callback
+ */
+ listAtSourceScope(scope: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The fully qualified ID of the scope for getting the resource links. For example, to
+ * list resource links at and under a resource group, set the scope to
+ * /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listAtSourceScope(scope: string, options: Models.ResourceLinksListAtSourceScopeOptionalParams, callback: msRest.ServiceCallback): void;
+ listAtSourceScope(scope: string, options?: Models.ResourceLinksListAtSourceScopeOptionalParams, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ options
+ },
+ listAtSourceScopeOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets all the linked resources for the subscription.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listAtSubscriptionNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listAtSubscriptionNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listAtSubscriptionNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listAtSubscriptionNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listAtSubscriptionNextOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets a list of resource links at and below the specified source scope.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listAtSourceScopeNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listAtSourceScopeNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listAtSourceScopeNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listAtSourceScopeNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listAtSourceScopeNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const deleteMethodOperationSpec: msRest.OperationSpec = {
+ httpMethod: "DELETE",
+ path: "{linkId}",
+ urlParameters: [
+ Parameters.linkId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {},
+ 204: {},
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const createOrUpdateOperationSpec: msRest.OperationSpec = {
+ httpMethod: "PUT",
+ path: "{linkId}",
+ urlParameters: [
+ Parameters.linkId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ requestBody: {
+ parameterPath: "parameters",
+ mapper: {
+ ...Mappers.ResourceLink,
+ required: true
+ }
+ },
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ResourceLink
+ },
+ 201: {
+ bodyMapper: Mappers.ResourceLink
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const getOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "{linkId}",
+ urlParameters: [
+ Parameters.linkId
+ ],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ResourceLink
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listAtSubscriptionOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "subscriptions/{subscriptionId}/providers/Microsoft.Resources/links",
+ urlParameters: [
+ Parameters.subscriptionId
+ ],
+ queryParameters: [
+ Parameters.filter,
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ResourceLinkResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listAtSourceScopeOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "{scope}/providers/Microsoft.Resources/links",
+ urlParameters: [
+ Parameters.scope
+ ],
+ queryParameters: [
+ Parameters.filter,
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ResourceLinkResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listAtSubscriptionNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ResourceLinkResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listAtSourceScopeNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.ResourceLinkResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/packages/@azure/arm-links/package.json b/packages/@azure/arm-links/package.json
new file mode 100644
index 000000000000..38b9a2f527ad
--- /dev/null
+++ b/packages/@azure/arm-links/package.json
@@ -0,0 +1,42 @@
+{
+ "name": "@azure/arm-links",
+ "author": "Microsoft Corporation",
+ "description": "ManagementLinkClient Library with typescript type definitions for node.js and browser.",
+ "version": "1.0.0",
+ "dependencies": {
+ "ms-rest-azure-js": "^1.0.172",
+ "ms-rest-js": "^1.0.443",
+ "tslib": "^1.9.3"
+ },
+ "keywords": [
+ "node",
+ "azure",
+ "typescript",
+ "browser",
+ "isomorphic"
+ ],
+ "license": "MIT",
+ "main": "./dist/arm-links.js",
+ "module": "./esm/managementLinkClient.js",
+ "types": "./esm/managementLinkClient.d.ts",
+ "devDependencies": {
+ "typescript": "^3.1.1",
+ "rollup": "^0.66.2",
+ "rollup-plugin-node-resolve": "^3.4.0",
+ "uglify-js": "^3.4.9"
+ },
+ "homepage": "https://github.com/azure/azure-sdk-for-js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/azure/azure-sdk-for-js.git"
+ },
+ "bugs": {
+ "url": "https://github.com/azure/azure-sdk-for-js/issues"
+ },
+ "scripts": {
+ "build": "tsc && rollup -c rollup.config.js && npm run minify",
+ "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-links.js.map'\" -o ./dist/arm-links.min.js ./dist/arm-links.js",
+ "prepare": "npm run build"
+ },
+ "sideEffects": false
+}
diff --git a/packages/@azure/arm-links/rollup.config.js b/packages/@azure/arm-links/rollup.config.js
new file mode 100644
index 000000000000..541e424ae6a8
--- /dev/null
+++ b/packages/@azure/arm-links/rollup.config.js
@@ -0,0 +1,31 @@
+import nodeResolve from "rollup-plugin-node-resolve";
+/**
+ * @type {import('rollup').RollupFileOptions}
+ */
+const config = {
+ input: './esm/managementLinkClient.js',
+ external: ["ms-rest-js", "ms-rest-azure-js"],
+ output: {
+ file: "./dist/arm-links.js",
+ format: "umd",
+ name: "Azure.ArmLinks",
+ sourcemap: true,
+ globals: {
+ "ms-rest-js": "msRest",
+ "ms-rest-azure-js": "msRestAzure"
+ },
+ banner: `/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */`
+ },
+ plugins: [
+ nodeResolve({ module: true })
+ ]
+};
+export default config;
diff --git a/packages/@azure/arm-links/tsconfig.json b/packages/@azure/arm-links/tsconfig.json
new file mode 100644
index 000000000000..f32d1664f320
--- /dev/null
+++ b/packages/@azure/arm-links/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "compilerOptions": {
+ "module": "es6",
+ "moduleResolution": "node",
+ "strict": true,
+ "target": "es5",
+ "sourceMap": true,
+ "declarationMap": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "forceConsistentCasingInFileNames": true,
+ "lib": ["es6"],
+ "declaration": true,
+ "outDir": "./esm",
+ "importHelpers": true
+ },
+ "include": ["./lib/**/*"],
+ "exclude": ["node_modules"]
+}
diff --git a/packages/@azure/arm-locks/.npmignore b/packages/@azure/arm-locks/.npmignore
new file mode 100644
index 000000000000..a07a455ac10c
--- /dev/null
+++ b/packages/@azure/arm-locks/.npmignore
@@ -0,0 +1,35 @@
+#git
+.git
+.gitignore
+#gulp
+gulpfile.js
+#documentation
+doc/
+docs/
+#dependencies
+node_modules/
+#samples
+sample/
+samples/
+#tests
+test/
+tests/
+coverage/
+#tools and scripts
+tools/
+scripts/
+#IDE settings
+*.sln
+.vscode/
+.idea
+.editorconfig
+.ntvs_analysis.*
+#build tools
+.travis.yml
+.jenkins.yml
+.codeclimate.yml
+appveyor.yml
+# Nuget packages #
+.nuget/
+packages/
+packages.config
diff --git a/packages/@azure/arm-locks/LICENSE.txt b/packages/@azure/arm-locks/LICENSE.txt
new file mode 100644
index 000000000000..5431ba98b936
--- /dev/null
+++ b/packages/@azure/arm-locks/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2018 Microsoft
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/@azure/arm-locks/README.md b/packages/@azure/arm-locks/README.md
new file mode 100644
index 000000000000..7c900f40f340
--- /dev/null
+++ b/packages/@azure/arm-locks/README.md
@@ -0,0 +1,77 @@
+# Azure ManagementLockClient SDK for JavaScript
+This package contains an isomorphic SDK for ManagementLockClient.
+
+## Currently supported environments
+- Node.js version 6.x.x or higher
+- Browser JavaScript
+
+## How to Install
+```
+npm install @azure/arm-locks
+```
+
+
+## How to use
+
+### nodejs - Authentication, client creation and list authorizationOperations as an example written in TypeScript.
+
+```ts
+import * as msRest from "ms-rest-js";
+import * as msRestAzure from "ms-rest-azure-js";
+import * as msRestNodeAuth from "ms-rest-nodeauth";
+import { ManagementLockClient, ManagementLockModels, ManagementLockMappers } from "@azure/arm-locks";
+const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
+
+msRestNodeAuth.interactiveLogin().then((creds) => {
+ const client = new ManagementLockClient(creds, subscriptionId);
+ client.authorizationOperations.list().then((result) => {
+ console.log("The result is:");
+ console.log(result);
+ });
+}).catch((err) => {
+ console.error(err);
+});
+```
+
+### browser - Authentication, client creation and list authorizationOperations as an example written in JavaScript.
+See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
+
+- index.html
+```html
+
+
+
+ @azure/arm-locks sample
+
+
+
+
+
+
+
+
+
+```
+
+# Related projects
+ - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
diff --git a/packages/@azure/arm-locks/lib/managementLockClient.ts b/packages/@azure/arm-locks/lib/managementLockClient.ts
new file mode 100644
index 000000000000..8b59d85a51c6
--- /dev/null
+++ b/packages/@azure/arm-locks/lib/managementLockClient.ts
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as Models from "./models";
+import * as Mappers from "./models/mappers";
+import * as operations from "./operations";
+import { ManagementLockClientContext } from "./managementLockClientContext";
+
+
+class ManagementLockClient extends ManagementLockClientContext {
+ // Operation groups
+ authorizationOperations: operations.AuthorizationOperations;
+ managementLocks: operations.ManagementLocks;
+
+ /**
+ * Initializes a new instance of the ManagementLockClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId The ID of the target subscription.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ManagementLockClientOptions) {
+ super(credentials, subscriptionId, options);
+ this.authorizationOperations = new operations.AuthorizationOperations(this);
+ this.managementLocks = new operations.ManagementLocks(this);
+ }
+}
+
+// Operation Specifications
+
+export {
+ ManagementLockClient,
+ ManagementLockClientContext,
+ Models as ManagementLockModels,
+ Mappers as ManagementLockMappers
+};
+export * from "./operations";
diff --git a/packages/@azure/arm-locks/lib/managementLockClientContext.ts b/packages/@azure/arm-locks/lib/managementLockClientContext.ts
new file mode 100644
index 000000000000..ffad4f345abb
--- /dev/null
+++ b/packages/@azure/arm-locks/lib/managementLockClientContext.ts
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as Models from "./models";
+import * as msRest from "ms-rest-js";
+import * as msRestAzure from "ms-rest-azure-js";
+
+const packageName = "@azure/arm-locks";
+const packageVersion = "1.0.0";
+
+export class ManagementLockClientContext extends msRestAzure.AzureServiceClient {
+
+ credentials: msRest.ServiceClientCredentials;
+
+ subscriptionId: string;
+
+ apiVersion: string;
+
+ acceptLanguage: string;
+
+ longRunningOperationRetryTimeout: number;
+
+ /**
+ * Initializes a new instance of the ManagementLockClient class.
+ * @param credentials Credentials needed for the client to connect to Azure.
+ * @param subscriptionId The ID of the target subscription.
+ * @param [options] The parameter options
+ */
+ constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ManagementLockClientOptions) {
+ if (credentials == undefined) {
+ throw new Error('\'credentials\' cannot be null.');
+ }
+ if (subscriptionId == undefined) {
+ throw new Error('\'subscriptionId\' cannot be null.');
+ }
+
+ if (!options) {
+ options = {};
+ }
+ super(credentials, options);
+
+ this.apiVersion = '2016-09-01';
+ this.acceptLanguage = 'en-US';
+ this.longRunningOperationRetryTimeout = 30;
+ this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com";
+ this.requestContentType = "application/json; charset=utf-8";
+ this.credentials = credentials;
+ this.subscriptionId = subscriptionId;
+
+ this.addUserAgentInfo(`${packageName}/${packageVersion}`);
+ if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
+ this.acceptLanguage = options.acceptLanguage;
+ }
+ if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
+ this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
+ }
+ }
+}
diff --git a/packages/@azure/arm-locks/lib/models/authorizationOperationsMappers.ts b/packages/@azure/arm-locks/lib/models/authorizationOperationsMappers.ts
new file mode 100644
index 000000000000..2edcc577920e
--- /dev/null
+++ b/packages/@azure/arm-locks/lib/models/authorizationOperationsMappers.ts
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export {
+ OperationListResult,
+ Operation,
+ OperationDisplay,
+ CloudError
+} from "../models/mappers";
+
diff --git a/packages/@azure/arm-locks/lib/models/index.ts b/packages/@azure/arm-locks/lib/models/index.ts
new file mode 100644
index 000000000000..83eb02bbe7d9
--- /dev/null
+++ b/packages/@azure/arm-locks/lib/models/index.ts
@@ -0,0 +1,546 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import { BaseResource, CloudError, AzureServiceClientOptions } from "ms-rest-azure-js";
+import * as msRest from "ms-rest-js";
+
+export { BaseResource, CloudError };
+
+
+/**
+ * @interface
+ * An interface representing ManagementLockOwner.
+ * Lock owner properties.
+ *
+ */
+export interface ManagementLockOwner {
+ /**
+ * @member {string} [applicationId] The application ID of the lock owner.
+ */
+ applicationId?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ManagementLockProperties.
+ * The lock properties.
+ *
+ */
+export interface ManagementLockProperties {
+ /**
+ * @member {LockLevel} level The level of the lock. Possible values are:
+ * NotSpecified, CanNotDelete, ReadOnly. CanNotDelete means authorized users
+ * are able to read and modify the resources, but not delete. ReadOnly means
+ * authorized users can only read from a resource, but they can't modify or
+ * delete it. Possible values include: 'NotSpecified', 'CanNotDelete',
+ * 'ReadOnly'
+ */
+ level: LockLevel;
+ /**
+ * @member {string} [notes] Notes about the lock. Maximum of 512 characters.
+ */
+ notes?: string;
+ /**
+ * @member {ManagementLockOwner[]} [owners] The owners of the lock.
+ */
+ owners?: ManagementLockOwner[];
+}
+
+/**
+ * @interface
+ * An interface representing ManagementLockObject.
+ * The lock information.
+ *
+ * @extends BaseResource
+ */
+export interface ManagementLockObject extends BaseResource {
+ /**
+ * @member {LockLevel} level The level of the lock. Possible values are:
+ * NotSpecified, CanNotDelete, ReadOnly. CanNotDelete means authorized users
+ * are able to read and modify the resources, but not delete. ReadOnly means
+ * authorized users can only read from a resource, but they can't modify or
+ * delete it. Possible values include: 'NotSpecified', 'CanNotDelete',
+ * 'ReadOnly'
+ */
+ level: LockLevel;
+ /**
+ * @member {string} [notes] Notes about the lock. Maximum of 512 characters.
+ */
+ notes?: string;
+ /**
+ * @member {ManagementLockOwner[]} [owners] The owners of the lock.
+ */
+ owners?: ManagementLockOwner[];
+ /**
+ * @member {string} [id] The resource ID of the lock.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly id?: string;
+ /**
+ * @member {string} [type] The resource type of the lock -
+ * Microsoft.Authorization/locks.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly type?: string;
+ /**
+ * @member {string} [name] The name of the lock.
+ * **NOTE: This property will not be serialized. It can only be populated by
+ * the server.**
+ */
+ readonly name?: string;
+}
+
+/**
+ * @interface
+ * An interface representing OperationDisplay.
+ * The object that represents the operation.
+ *
+ */
+export interface OperationDisplay {
+ /**
+ * @member {string} [provider] Service provider: Microsoft.Authorization
+ */
+ provider?: string;
+ /**
+ * @member {string} [resource] Resource on which the operation is performed:
+ * Profile, endpoint, etc.
+ */
+ resource?: string;
+ /**
+ * @member {string} [operation] Operation type: Read, write, delete, etc.
+ */
+ operation?: string;
+}
+
+/**
+ * @interface
+ * An interface representing Operation.
+ * Microsoft.Authorization operation
+ *
+ */
+export interface Operation {
+ /**
+ * @member {string} [name] Operation name: {provider}/{resource}/{operation}
+ */
+ name?: string;
+ /**
+ * @member {OperationDisplay} [display] The object that represents the
+ * operation.
+ */
+ display?: OperationDisplay;
+}
+
+/**
+ * @interface
+ * An interface representing ManagementLocksListAtResourceGroupLevelOptionalParams.
+ * Optional Parameters.
+ *
+ * @extends RequestOptionsBase
+ */
+export interface ManagementLocksListAtResourceGroupLevelOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * @member {string} [filter] The filter to apply on the operation.
+ */
+ filter?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ManagementLocksListAtResourceLevelOptionalParams.
+ * Optional Parameters.
+ *
+ * @extends RequestOptionsBase
+ */
+export interface ManagementLocksListAtResourceLevelOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * @member {string} [filter] The filter to apply on the operation.
+ */
+ filter?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ManagementLocksListAtSubscriptionLevelOptionalParams.
+ * Optional Parameters.
+ *
+ * @extends RequestOptionsBase
+ */
+export interface ManagementLocksListAtSubscriptionLevelOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * @member {string} [filter] The filter to apply on the operation.
+ */
+ filter?: string;
+}
+
+/**
+ * @interface
+ * An interface representing ManagementLockClientOptions.
+ * @extends AzureServiceClientOptions
+ */
+export interface ManagementLockClientOptions extends AzureServiceClientOptions {
+ /**
+ * @member {string} [baseUri]
+ */
+ baseUri?: string;
+}
+
+
+/**
+ * @interface
+ * An interface representing the OperationListResult.
+ * Result of the request to list Microsoft.Authorization operations. It
+ * contains a list of operations and a URL link to get the next set of results.
+ *
+ * @extends Array
+ */
+export interface OperationListResult extends Array {
+ /**
+ * @member {string} [nextLink] URL to get the next set of operation list
+ * results if there are any.
+ */
+ nextLink?: string;
+}
+
+/**
+ * @interface
+ * An interface representing the ManagementLockListResult.
+ * The list of locks.
+ *
+ * @extends Array
+ */
+export interface ManagementLockListResult extends Array {
+ /**
+ * @member {string} [nextLink] The URL to use for getting the next set of
+ * results.
+ */
+ nextLink?: string;
+}
+
+/**
+ * Defines values for LockLevel.
+ * Possible values include: 'NotSpecified', 'CanNotDelete', 'ReadOnly'
+ * There could be more values for this enum apart from the ones defined here.If
+ * you want to set a value that is not from the known values then you can do
+ * the following:
+ * let param: LockLevel = "someUnknownValueThatWillStillBeValid";
+ * @readonly
+ * @enum {string}
+ */
+export enum LockLevel {
+ NotSpecified = 'NotSpecified',
+ CanNotDelete = 'CanNotDelete',
+ ReadOnly = 'ReadOnly',
+}
+
+/**
+ * Contains response data for the list operation.
+ */
+export type AuthorizationOperationsListResponse = OperationListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the listNext operation.
+ */
+export type AuthorizationOperationsListNextResponse = OperationListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: OperationListResult;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdateAtResourceGroupLevel operation.
+ */
+export type ManagementLocksCreateOrUpdateAtResourceGroupLevelResponse = ManagementLockObject & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockObject;
+ };
+};
+
+/**
+ * Contains response data for the getAtResourceGroupLevel operation.
+ */
+export type ManagementLocksGetAtResourceGroupLevelResponse = ManagementLockObject & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockObject;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdateByScope operation.
+ */
+export type ManagementLocksCreateOrUpdateByScopeResponse = ManagementLockObject & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockObject;
+ };
+};
+
+/**
+ * Contains response data for the getByScope operation.
+ */
+export type ManagementLocksGetByScopeResponse = ManagementLockObject & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockObject;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdateAtResourceLevel operation.
+ */
+export type ManagementLocksCreateOrUpdateAtResourceLevelResponse = ManagementLockObject & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockObject;
+ };
+};
+
+/**
+ * Contains response data for the getAtResourceLevel operation.
+ */
+export type ManagementLocksGetAtResourceLevelResponse = ManagementLockObject & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockObject;
+ };
+};
+
+/**
+ * Contains response data for the createOrUpdateAtSubscriptionLevel operation.
+ */
+export type ManagementLocksCreateOrUpdateAtSubscriptionLevelResponse = ManagementLockObject & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockObject;
+ };
+};
+
+/**
+ * Contains response data for the getAtSubscriptionLevel operation.
+ */
+export type ManagementLocksGetAtSubscriptionLevelResponse = ManagementLockObject & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockObject;
+ };
+};
+
+/**
+ * Contains response data for the listAtResourceGroupLevel operation.
+ */
+export type ManagementLocksListAtResourceGroupLevelResponse = ManagementLockListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockListResult;
+ };
+};
+
+/**
+ * Contains response data for the listAtResourceLevel operation.
+ */
+export type ManagementLocksListAtResourceLevelResponse = ManagementLockListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockListResult;
+ };
+};
+
+/**
+ * Contains response data for the listAtSubscriptionLevel operation.
+ */
+export type ManagementLocksListAtSubscriptionLevelResponse = ManagementLockListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockListResult;
+ };
+};
+
+/**
+ * Contains response data for the listAtResourceGroupLevelNext operation.
+ */
+export type ManagementLocksListAtResourceGroupLevelNextResponse = ManagementLockListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockListResult;
+ };
+};
+
+/**
+ * Contains response data for the listAtResourceLevelNext operation.
+ */
+export type ManagementLocksListAtResourceLevelNextResponse = ManagementLockListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockListResult;
+ };
+};
+
+/**
+ * Contains response data for the listAtSubscriptionLevelNext operation.
+ */
+export type ManagementLocksListAtSubscriptionLevelNextResponse = ManagementLockListResult & {
+ /**
+ * The underlying HTTP response.
+ */
+ _response: msRest.HttpResponse & {
+ /**
+ * The response body as text (string format)
+ */
+ bodyAsText: string;
+ /**
+ * The response body as parsed JSON or XML
+ */
+ parsedBody: ManagementLockListResult;
+ };
+};
diff --git a/packages/@azure/arm-locks/lib/models/managementLocksMappers.ts b/packages/@azure/arm-locks/lib/models/managementLocksMappers.ts
new file mode 100644
index 000000000000..0eca319827a3
--- /dev/null
+++ b/packages/@azure/arm-locks/lib/models/managementLocksMappers.ts
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export {
+ ManagementLockObject,
+ BaseResource,
+ ManagementLockOwner,
+ CloudError,
+ ManagementLockListResult
+} from "../models/mappers";
+
diff --git a/packages/@azure/arm-locks/lib/models/mappers.ts b/packages/@azure/arm-locks/lib/models/mappers.ts
new file mode 100644
index 000000000000..867608a44dc7
--- /dev/null
+++ b/packages/@azure/arm-locks/lib/models/mappers.ts
@@ -0,0 +1,229 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import { CloudErrorMapper, BaseResourceMapper } from "ms-rest-azure-js";
+import * as msRest from "ms-rest-js";
+
+export const CloudError = CloudErrorMapper;
+export const BaseResource = BaseResourceMapper;
+
+export const ManagementLockOwner: msRest.CompositeMapper = {
+ serializedName: "ManagementLockOwner",
+ type: {
+ name: "Composite",
+ className: "ManagementLockOwner",
+ modelProperties: {
+ applicationId: {
+ serializedName: "applicationId",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ManagementLockProperties: msRest.CompositeMapper = {
+ serializedName: "ManagementLockProperties",
+ type: {
+ name: "Composite",
+ className: "ManagementLockProperties",
+ modelProperties: {
+ level: {
+ required: true,
+ serializedName: "level",
+ type: {
+ name: "String"
+ }
+ },
+ notes: {
+ serializedName: "notes",
+ type: {
+ name: "String"
+ }
+ },
+ owners: {
+ serializedName: "owners",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ManagementLockOwner"
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+export const ManagementLockObject: msRest.CompositeMapper = {
+ serializedName: "ManagementLockObject",
+ type: {
+ name: "Composite",
+ className: "ManagementLockObject",
+ modelProperties: {
+ level: {
+ required: true,
+ serializedName: "properties.level",
+ type: {
+ name: "String"
+ }
+ },
+ notes: {
+ serializedName: "properties.notes",
+ type: {
+ name: "String"
+ }
+ },
+ owners: {
+ serializedName: "properties.owners",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ManagementLockOwner"
+ }
+ }
+ }
+ },
+ id: {
+ readOnly: true,
+ serializedName: "id",
+ type: {
+ name: "String"
+ }
+ },
+ type: {
+ readOnly: true,
+ serializedName: "type",
+ type: {
+ name: "String"
+ }
+ },
+ name: {
+ readOnly: true,
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const OperationDisplay: msRest.CompositeMapper = {
+ serializedName: "Operation_display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay",
+ modelProperties: {
+ provider: {
+ serializedName: "provider",
+ type: {
+ name: "String"
+ }
+ },
+ resource: {
+ serializedName: "resource",
+ type: {
+ name: "String"
+ }
+ },
+ operation: {
+ serializedName: "operation",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const Operation: msRest.CompositeMapper = {
+ serializedName: "Operation",
+ type: {
+ name: "Composite",
+ className: "Operation",
+ modelProperties: {
+ name: {
+ serializedName: "name",
+ type: {
+ name: "String"
+ }
+ },
+ display: {
+ serializedName: "display",
+ type: {
+ name: "Composite",
+ className: "OperationDisplay"
+ }
+ }
+ }
+ }
+};
+
+export const OperationListResult: msRest.CompositeMapper = {
+ serializedName: "OperationListResult",
+ type: {
+ name: "Composite",
+ className: "OperationListResult",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "Operation"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
+
+export const ManagementLockListResult: msRest.CompositeMapper = {
+ serializedName: "ManagementLockListResult",
+ type: {
+ name: "Composite",
+ className: "ManagementLockListResult",
+ modelProperties: {
+ value: {
+ serializedName: "",
+ type: {
+ name: "Sequence",
+ element: {
+ type: {
+ name: "Composite",
+ className: "ManagementLockObject"
+ }
+ }
+ }
+ },
+ nextLink: {
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ }
+ }
+ }
+};
diff --git a/packages/@azure/arm-locks/lib/models/parameters.ts b/packages/@azure/arm-locks/lib/models/parameters.ts
new file mode 100644
index 000000000000..9ae25e1fa997
--- /dev/null
+++ b/packages/@azure/arm-locks/lib/models/parameters.ts
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+
+export const acceptLanguage: msRest.OperationParameter = {
+ parameterPath: "acceptLanguage",
+ mapper: {
+ serializedName: "accept-language",
+ defaultValue: 'en-US',
+ type: {
+ name: "String"
+ }
+ }
+};
+export const apiVersion: msRest.OperationQueryParameter = {
+ parameterPath: "apiVersion",
+ mapper: {
+ required: true,
+ serializedName: "api-version",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const filter: msRest.OperationQueryParameter = {
+ parameterPath: [
+ "options",
+ "filter"
+ ],
+ mapper: {
+ serializedName: "$filter",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const lockName: msRest.OperationURLParameter = {
+ parameterPath: "lockName",
+ mapper: {
+ required: true,
+ serializedName: "lockName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const nextPageLink: msRest.OperationURLParameter = {
+ parameterPath: "nextPageLink",
+ mapper: {
+ required: true,
+ serializedName: "nextLink",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const parentResourcePath: msRest.OperationURLParameter = {
+ parameterPath: "parentResourcePath",
+ mapper: {
+ required: true,
+ serializedName: "parentResourcePath",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const resourceGroupName: msRest.OperationURLParameter = {
+ parameterPath: "resourceGroupName",
+ mapper: {
+ required: true,
+ serializedName: "resourceGroupName",
+ constraints: {
+ MaxLength: 90,
+ MinLength: 1,
+ Pattern: /^[-\w\._\(\)]+$/
+ },
+ type: {
+ name: "String"
+ }
+ }
+};
+export const resourceName: msRest.OperationURLParameter = {
+ parameterPath: "resourceName",
+ mapper: {
+ required: true,
+ serializedName: "resourceName",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const resourceProviderNamespace: msRest.OperationURLParameter = {
+ parameterPath: "resourceProviderNamespace",
+ mapper: {
+ required: true,
+ serializedName: "resourceProviderNamespace",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const resourceType: msRest.OperationURLParameter = {
+ parameterPath: "resourceType",
+ mapper: {
+ required: true,
+ serializedName: "resourceType",
+ type: {
+ name: "String"
+ }
+ },
+ skipEncoding: true
+};
+export const scope: msRest.OperationURLParameter = {
+ parameterPath: "scope",
+ mapper: {
+ required: true,
+ serializedName: "scope",
+ type: {
+ name: "String"
+ }
+ }
+};
+export const subscriptionId: msRest.OperationURLParameter = {
+ parameterPath: "subscriptionId",
+ mapper: {
+ required: true,
+ serializedName: "subscriptionId",
+ type: {
+ name: "String"
+ }
+ }
+};
diff --git a/packages/@azure/arm-locks/lib/operations/authorizationOperations.ts b/packages/@azure/arm-locks/lib/operations/authorizationOperations.ts
new file mode 100644
index 000000000000..c4fc505fc4fc
--- /dev/null
+++ b/packages/@azure/arm-locks/lib/operations/authorizationOperations.ts
@@ -0,0 +1,123 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/authorizationOperationsMappers";
+import * as Parameters from "../models/parameters";
+import { ManagementLockClientContext } from "../managementLockClientContext";
+
+/** Class representing a AuthorizationOperations. */
+export class AuthorizationOperations {
+ private readonly client: ManagementLockClientContext;
+
+ /**
+ * Create a AuthorizationOperations.
+ * @param {ManagementLockClientContext} client Reference to the service client.
+ */
+ constructor(client: ManagementLockClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * Lists all of the available Microsoft.Authorization REST API operations.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ list(options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param callback The callback
+ */
+ list(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ list(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Lists all of the available Microsoft.Authorization REST API operations.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listNextOperationSpec,
+ callback) as Promise;
+ }
+}
+
+// Operation Specifications
+const serializer = new msRest.Serializer(Mappers);
+const listOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ path: "providers/Microsoft.Authorization/operations",
+ queryParameters: [
+ Parameters.apiVersion
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
+
+const listNextOperationSpec: msRest.OperationSpec = {
+ httpMethod: "GET",
+ baseUrl: "https://management.azure.com",
+ path: "{nextLink}",
+ urlParameters: [
+ Parameters.nextPageLink
+ ],
+ headerParameters: [
+ Parameters.acceptLanguage
+ ],
+ responses: {
+ 200: {
+ bodyMapper: Mappers.OperationListResult
+ },
+ default: {
+ bodyMapper: Mappers.CloudError
+ }
+ },
+ serializer
+};
diff --git a/packages/@azure/arm-locks/lib/operations/index.ts b/packages/@azure/arm-locks/lib/operations/index.ts
new file mode 100644
index 000000000000..83933898775f
--- /dev/null
+++ b/packages/@azure/arm-locks/lib/operations/index.ts
@@ -0,0 +1,12 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+export * from "./authorizationOperations";
+export * from "./managementLocks";
diff --git a/packages/@azure/arm-locks/lib/operations/managementLocks.ts b/packages/@azure/arm-locks/lib/operations/managementLocks.ts
new file mode 100644
index 000000000000..f2839cb517a9
--- /dev/null
+++ b/packages/@azure/arm-locks/lib/operations/managementLocks.ts
@@ -0,0 +1,1181 @@
+/*
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is
+ * regenerated.
+ */
+
+import * as msRest from "ms-rest-js";
+import * as Models from "../models";
+import * as Mappers from "../models/managementLocksMappers";
+import * as Parameters from "../models/parameters";
+import { ManagementLockClientContext } from "../managementLockClientContext";
+
+/** Class representing a ManagementLocks. */
+export class ManagementLocks {
+ private readonly client: ManagementLockClientContext;
+
+ /**
+ * Create a ManagementLocks.
+ * @param {ManagementLockClientContext} client Reference to the service client.
+ */
+ constructor(client: ManagementLockClientContext) {
+ this.client = client;
+ }
+
+ /**
+ * When you apply a lock at a parent scope, all child resources inherit the same lock. To create
+ * management locks, you must have access to Microsoft.Authorization/* or
+ * Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access
+ * Administrator are granted those actions.
+ * @summary Creates or updates a management lock at the resource group level.
+ * @param resourceGroupName The name of the resource group to lock.
+ * @param lockName The lock name. The lock name can be a maximum of 260 characters. It cannot
+ * contain <, > %, &, :, \, ?, /, or any control characters.
+ * @param parameters The management lock parameters.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdateAtResourceGroupLevel(resourceGroupName: string, lockName: string, parameters: Models.ManagementLockObject, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group to lock.
+ * @param lockName The lock name. The lock name can be a maximum of 260 characters. It cannot
+ * contain <, > %, &, :, \, ?, /, or any control characters.
+ * @param parameters The management lock parameters.
+ * @param callback The callback
+ */
+ createOrUpdateAtResourceGroupLevel(resourceGroupName: string, lockName: string, parameters: Models.ManagementLockObject, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group to lock.
+ * @param lockName The lock name. The lock name can be a maximum of 260 characters. It cannot
+ * contain <, > %, &, :, \, ?, /, or any control characters.
+ * @param parameters The management lock parameters.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdateAtResourceGroupLevel(resourceGroupName: string, lockName: string, parameters: Models.ManagementLockObject, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdateAtResourceGroupLevel(resourceGroupName: string, lockName: string, parameters: Models.ManagementLockObject, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ lockName,
+ parameters,
+ options
+ },
+ createOrUpdateAtResourceGroupLevelOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * To delete management locks, you must have access to Microsoft.Authorization/* or
+ * Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access
+ * Administrator are granted those actions.
+ * @summary Deletes a management lock at the resource group level.
+ * @param resourceGroupName The name of the resource group containing the lock.
+ * @param lockName The name of lock to delete.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteAtResourceGroupLevel(resourceGroupName: string, lockName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group containing the lock.
+ * @param lockName The name of lock to delete.
+ * @param callback The callback
+ */
+ deleteAtResourceGroupLevel(resourceGroupName: string, lockName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group containing the lock.
+ * @param lockName The name of lock to delete.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteAtResourceGroupLevel(resourceGroupName: string, lockName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteAtResourceGroupLevel(resourceGroupName: string, lockName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ lockName,
+ options
+ },
+ deleteAtResourceGroupLevelOperationSpec,
+ callback);
+ }
+
+ /**
+ * Gets a management lock at the resource group level.
+ * @param resourceGroupName The name of the locked resource group.
+ * @param lockName The name of the lock to get.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ getAtResourceGroupLevel(resourceGroupName: string, lockName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the locked resource group.
+ * @param lockName The name of the lock to get.
+ * @param callback The callback
+ */
+ getAtResourceGroupLevel(resourceGroupName: string, lockName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the locked resource group.
+ * @param lockName The name of the lock to get.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ getAtResourceGroupLevel(resourceGroupName: string, lockName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ getAtResourceGroupLevel(resourceGroupName: string, lockName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ lockName,
+ options
+ },
+ getAtResourceGroupLevelOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Create or update a management lock by scope.
+ * @param scope The scope for the lock. When providing a scope for the assignment, use
+ * '/subscriptions/{subscriptionId}' for subscriptions,
+ * '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}' for resource groups, and
+ * '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePathIfPresent}/{resourceType}/{resourceName}'
+ * for resources.
+ * @param lockName The name of lock.
+ * @param parameters Create or update management lock parameters.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdateByScope(scope: string, lockName: string, parameters: Models.ManagementLockObject, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope for the lock. When providing a scope for the assignment, use
+ * '/subscriptions/{subscriptionId}' for subscriptions,
+ * '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}' for resource groups, and
+ * '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePathIfPresent}/{resourceType}/{resourceName}'
+ * for resources.
+ * @param lockName The name of lock.
+ * @param parameters Create or update management lock parameters.
+ * @param callback The callback
+ */
+ createOrUpdateByScope(scope: string, lockName: string, parameters: Models.ManagementLockObject, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope for the lock. When providing a scope for the assignment, use
+ * '/subscriptions/{subscriptionId}' for subscriptions,
+ * '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}' for resource groups, and
+ * '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePathIfPresent}/{resourceType}/{resourceName}'
+ * for resources.
+ * @param lockName The name of lock.
+ * @param parameters Create or update management lock parameters.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdateByScope(scope: string, lockName: string, parameters: Models.ManagementLockObject, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdateByScope(scope: string, lockName: string, parameters: Models.ManagementLockObject, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ lockName,
+ parameters,
+ options
+ },
+ createOrUpdateByScopeOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Delete a management lock by scope.
+ * @param scope The scope for the lock.
+ * @param lockName The name of lock.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteByScope(scope: string, lockName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope for the lock.
+ * @param lockName The name of lock.
+ * @param callback The callback
+ */
+ deleteByScope(scope: string, lockName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope for the lock.
+ * @param lockName The name of lock.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteByScope(scope: string, lockName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteByScope(scope: string, lockName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ lockName,
+ options
+ },
+ deleteByScopeOperationSpec,
+ callback);
+ }
+
+ /**
+ * Get a management lock by scope.
+ * @param scope The scope for the lock.
+ * @param lockName The name of lock.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ getByScope(scope: string, lockName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param scope The scope for the lock.
+ * @param lockName The name of lock.
+ * @param callback The callback
+ */
+ getByScope(scope: string, lockName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param scope The scope for the lock.
+ * @param lockName The name of lock.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ getByScope(scope: string, lockName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ getByScope(scope: string, lockName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ scope,
+ lockName,
+ options
+ },
+ getByScopeOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * When you apply a lock at a parent scope, all child resources inherit the same lock. To create
+ * management locks, you must have access to Microsoft.Authorization/* or
+ * Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access
+ * Administrator are granted those actions.
+ * @summary Creates or updates a management lock at the resource level or any level below the
+ * resource.
+ * @param resourceGroupName The name of the resource group containing the resource to lock.
+ * @param resourceProviderNamespace The resource provider namespace of the resource to lock.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource to lock.
+ * @param resourceName The name of the resource to lock.
+ * @param lockName The name of lock. The lock name can be a maximum of 260 characters. It cannot
+ * contain <, > %, &, :, \, ?, /, or any control characters.
+ * @param parameters Parameters for creating or updating a management lock.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdateAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, parameters: Models.ManagementLockObject, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group containing the resource to lock.
+ * @param resourceProviderNamespace The resource provider namespace of the resource to lock.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource to lock.
+ * @param resourceName The name of the resource to lock.
+ * @param lockName The name of lock. The lock name can be a maximum of 260 characters. It cannot
+ * contain <, > %, &, :, \, ?, /, or any control characters.
+ * @param parameters Parameters for creating or updating a management lock.
+ * @param callback The callback
+ */
+ createOrUpdateAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, parameters: Models.ManagementLockObject, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group containing the resource to lock.
+ * @param resourceProviderNamespace The resource provider namespace of the resource to lock.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource to lock.
+ * @param resourceName The name of the resource to lock.
+ * @param lockName The name of lock. The lock name can be a maximum of 260 characters. It cannot
+ * contain <, > %, &, :, \, ?, /, or any control characters.
+ * @param parameters Parameters for creating or updating a management lock.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdateAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, parameters: Models.ManagementLockObject, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdateAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, parameters: Models.ManagementLockObject, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ resourceProviderNamespace,
+ parentResourcePath,
+ resourceType,
+ resourceName,
+ lockName,
+ parameters,
+ options
+ },
+ createOrUpdateAtResourceLevelOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * To delete management locks, you must have access to Microsoft.Authorization/* or
+ * Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access
+ * Administrator are granted those actions.
+ * @summary Deletes the management lock of a resource or any level below the resource.
+ * @param resourceGroupName The name of the resource group containing the resource with the lock to
+ * delete.
+ * @param resourceProviderNamespace The resource provider namespace of the resource with the lock
+ * to delete.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource with the lock to delete.
+ * @param resourceName The name of the resource with the lock to delete.
+ * @param lockName The name of the lock to delete.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group containing the resource with the lock to
+ * delete.
+ * @param resourceProviderNamespace The resource provider namespace of the resource with the lock
+ * to delete.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource with the lock to delete.
+ * @param resourceName The name of the resource with the lock to delete.
+ * @param lockName The name of the lock to delete.
+ * @param callback The callback
+ */
+ deleteAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group containing the resource with the lock to
+ * delete.
+ * @param resourceProviderNamespace The resource provider namespace of the resource with the lock
+ * to delete.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource with the lock to delete.
+ * @param resourceName The name of the resource with the lock to delete.
+ * @param lockName The name of the lock to delete.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ resourceProviderNamespace,
+ parentResourcePath,
+ resourceType,
+ resourceName,
+ lockName,
+ options
+ },
+ deleteAtResourceLevelOperationSpec,
+ callback);
+ }
+
+ /**
+ * Get the management lock of a resource or any level below resource.
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath An extra path parameter needed in some services, like SQL Databases.
+ * @param resourceType The type of the resource.
+ * @param resourceName The name of the resource.
+ * @param lockName The name of lock.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ getAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath An extra path parameter needed in some services, like SQL Databases.
+ * @param resourceType The type of the resource.
+ * @param resourceName The name of the resource.
+ * @param lockName The name of lock.
+ * @param callback The callback
+ */
+ getAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath An extra path parameter needed in some services, like SQL Databases.
+ * @param resourceType The type of the resource.
+ * @param resourceName The name of the resource.
+ * @param lockName The name of lock.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ getAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ getAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, lockName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ resourceProviderNamespace,
+ parentResourcePath,
+ resourceType,
+ resourceName,
+ lockName,
+ options
+ },
+ getAtResourceLevelOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * When you apply a lock at a parent scope, all child resources inherit the same lock. To create
+ * management locks, you must have access to Microsoft.Authorization/* or
+ * Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access
+ * Administrator are granted those actions.
+ * @summary Creates or updates a management lock at the subscription level.
+ * @param lockName The name of lock. The lock name can be a maximum of 260 characters. It cannot
+ * contain <, > %, &, :, \, ?, /, or any control characters.
+ * @param parameters The management lock parameters.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ createOrUpdateAtSubscriptionLevel(lockName: string, parameters: Models.ManagementLockObject, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param lockName The name of lock. The lock name can be a maximum of 260 characters. It cannot
+ * contain <, > %, &, :, \, ?, /, or any control characters.
+ * @param parameters The management lock parameters.
+ * @param callback The callback
+ */
+ createOrUpdateAtSubscriptionLevel(lockName: string, parameters: Models.ManagementLockObject, callback: msRest.ServiceCallback): void;
+ /**
+ * @param lockName The name of lock. The lock name can be a maximum of 260 characters. It cannot
+ * contain <, > %, &, :, \, ?, /, or any control characters.
+ * @param parameters The management lock parameters.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ createOrUpdateAtSubscriptionLevel(lockName: string, parameters: Models.ManagementLockObject, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ createOrUpdateAtSubscriptionLevel(lockName: string, parameters: Models.ManagementLockObject, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ lockName,
+ parameters,
+ options
+ },
+ createOrUpdateAtSubscriptionLevelOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * To delete management locks, you must have access to Microsoft.Authorization/* or
+ * Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access
+ * Administrator are granted those actions.
+ * @summary Deletes the management lock at the subscription level.
+ * @param lockName The name of lock to delete.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ deleteAtSubscriptionLevel(lockName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param lockName The name of lock to delete.
+ * @param callback The callback
+ */
+ deleteAtSubscriptionLevel(lockName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param lockName The name of lock to delete.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ deleteAtSubscriptionLevel(lockName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ deleteAtSubscriptionLevel(lockName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ lockName,
+ options
+ },
+ deleteAtSubscriptionLevelOperationSpec,
+ callback);
+ }
+
+ /**
+ * Gets a management lock at the subscription level.
+ * @param lockName The name of the lock to get.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ getAtSubscriptionLevel(lockName: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param lockName The name of the lock to get.
+ * @param callback The callback
+ */
+ getAtSubscriptionLevel(lockName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param lockName The name of the lock to get.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ getAtSubscriptionLevel(lockName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ getAtSubscriptionLevel(lockName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ lockName,
+ options
+ },
+ getAtSubscriptionLevelOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets all the management locks for a resource group.
+ * @param resourceGroupName The name of the resource group containing the locks to get.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listAtResourceGroupLevel(resourceGroupName: string, options?: Models.ManagementLocksListAtResourceGroupLevelOptionalParams): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group containing the locks to get.
+ * @param callback The callback
+ */
+ listAtResourceGroupLevel(resourceGroupName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group containing the locks to get.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listAtResourceGroupLevel(resourceGroupName: string, options: Models.ManagementLocksListAtResourceGroupLevelOptionalParams, callback: msRest.ServiceCallback): void;
+ listAtResourceGroupLevel(resourceGroupName: string, options?: Models.ManagementLocksListAtResourceGroupLevelOptionalParams, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ options
+ },
+ listAtResourceGroupLevelOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets all the management locks for a resource or any level below resource.
+ * @param resourceGroupName The name of the resource group containing the locked resource. The name
+ * is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the locked resource.
+ * @param resourceName The name of the locked resource.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: Models.ManagementLocksListAtResourceLevelOptionalParams): Promise;
+ /**
+ * @param resourceGroupName The name of the resource group containing the locked resource. The name
+ * is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the locked resource.
+ * @param resourceName The name of the locked resource.
+ * @param callback The callback
+ */
+ listAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param resourceGroupName The name of the resource group containing the locked resource. The name
+ * is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the locked resource.
+ * @param resourceName The name of the locked resource.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options: Models.ManagementLocksListAtResourceLevelOptionalParams, callback: msRest.ServiceCallback): void;
+ listAtResourceLevel(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: Models.ManagementLocksListAtResourceLevelOptionalParams, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ resourceGroupName,
+ resourceProviderNamespace,
+ parentResourcePath,
+ resourceType,
+ resourceName,
+ options
+ },
+ listAtResourceLevelOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets all the management locks for a subscription.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listAtSubscriptionLevel(options?: Models.ManagementLocksListAtSubscriptionLevelOptionalParams): Promise;
+ /**
+ * @param callback The callback
+ */
+ listAtSubscriptionLevel(callback: msRest.ServiceCallback): void;
+ /**
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listAtSubscriptionLevel(options: Models.ManagementLocksListAtSubscriptionLevelOptionalParams, callback: msRest.ServiceCallback): void;
+ listAtSubscriptionLevel(options?: Models.ManagementLocksListAtSubscriptionLevelOptionalParams, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ options
+ },
+ listAtSubscriptionLevelOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets all the management locks for a resource group.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise
+ */
+ listAtResourceGroupLevelNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param callback The callback
+ */
+ listAtResourceGroupLevelNext(nextPageLink: string, callback: msRest.ServiceCallback): void;
+ /**
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param options The optional parameters
+ * @param callback The callback
+ */
+ listAtResourceGroupLevelNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;
+ listAtResourceGroupLevelNext(nextPageLink: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): Promise {
+ return this.client.sendOperationRequest(
+ {
+ nextPageLink,
+ options
+ },
+ listAtResourceGroupLevelNextOperationSpec,
+ callback) as Promise;
+ }
+
+ /**
+ * Gets all the management locks for a resource or any level below resource.
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param [options] The optional parameters
+ * @returns Promise