diff --git a/sdk/links/arm-links/LICENSE.txt b/sdk/links/arm-links/LICENSE.txt
index b73b4a1293c3..2d3163745319 100644
--- a/sdk/links/arm-links/LICENSE.txt
+++ b/sdk/links/arm-links/LICENSE.txt
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2019 Microsoft
+Copyright (c) 2021 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
diff --git a/sdk/links/arm-links/README.md b/sdk/links/arm-links/README.md
index c03709a56234..d5f939e4e082 100644
--- a/sdk/links/arm-links/README.md
+++ b/sdk/links/arm-links/README.md
@@ -1,89 +1,97 @@
## Azure ManagementLinkClient SDK for JavaScript
-This package contains an isomorphic SDK for ManagementLinkClient.
+This package contains an isomorphic SDK (runs both in node.js and in browsers) for ManagementLinkClient.
### Currently supported environments
-- Node.js version 6.x.x or higher
-- Browser JavaScript
+- [LTS versions of Node.js](https://nodejs.org/about/releases/)
+- Latest versions of Safari, Chrome, Edge and Firefox.
-### How to Install
+### Prerequisites
+You must have an [Azure subscription](https://azure.microsoft.com/free/).
+
+### How to install
+
+To use this SDK in your project, you will need to install two packages.
+- `@azure/arm-links` that contains the client.
+- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory.
+
+Install both packages using the below command:
```bash
-npm install @azure/arm-links
+npm install --save @azure/arm-links @azure/identity
```
+> **Note**: You may have used either `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` in the past. These packages are in maintenance mode receiving critical bug fixes, but no new features.
+If you are on a [Node.js that has LTS status](https://nodejs.org/about/releases/), or are writing a client side browser application, we strongly encourage you to upgrade to `@azure/identity` which uses the latest versions of Azure Active Directory and MSAL APIs and provides more authentication options.
### How to use
-#### nodejs - Authentication, client creation and list operations as an example written in TypeScript.
+- If you are writing a client side browser application,
+ - Follow the instructions in the section on Authenticating client side browser applications in [Azure Identity examples](https://aka.ms/azsdk/js/identity/examples) to register your application in the Microsoft identity platform and set the right permissions.
+ - Copy the client ID and tenant ID from the Overview section of your app registration in Azure portal and use it in the browser sample below.
+- If you are writing a server side application,
+ - [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples)
+ - Complete the set up steps required by the credential if any.
+ - Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below.
-##### Install @azure/ms-rest-nodeauth
-
-```bash
-npm install @azure/ms-rest-nodeauth
-```
+In the below samples, we pass the credential and the Azure subscription id to instantiate the client.
+Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started.
+#### nodejs - Authentication, client creation, and list operations as an example written in JavaScript.
##### Sample code
-```typescript
-import * as msRest from "@azure/ms-rest-js";
-import * as msRestAzure from "@azure/ms-rest-azure-js";
-import * as msRestNodeAuth from "@azure/ms-rest-nodeauth";
-import { ManagementLinkClient, ManagementLinkModels, ManagementLinkMappers } from "@azure/arm-links";
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
+const { ManagementLinkClient } = require("@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);
- });
+// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples
+// Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead.
+const creds = new DefaultAzureCredential();
+const client = new ManagementLinkClient(creds, subscriptionId);
+client.operations.list().then((result) => {
+ console.log("The result is:");
+ console.log(result);
}).catch((err) => {
+ console.log("An error occurred:");
console.error(err);
});
```
-#### browser - Authentication, client creation and list operations as an example written in JavaScript.
+#### browser - Authentication, client creation, and list operations as an example written in JavaScript.
-##### Install @azure/ms-rest-browserauth
-
-```bash
-npm install @azure/ms-rest-browserauth
-```
+In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser.
+ - See [Single-page application: App registration guide](https://docs.microsoft.com/azure/active-directory/develop/scenario-spa-app-registration) to configure your app registration for the browser.
+ - Note down the client Id from the previous step and use it in the browser sample below.
##### Sample code
-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
-
-
+
@@ -95,4 +103,4 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to
- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
-![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Flinks%2Farm-links%2FREADME.png)
+![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/links/arm-links/README.png)
diff --git a/sdk/links/arm-links/package.json b/sdk/links/arm-links/package.json
index c75839f25ffd..144ca6cb1a3f 100644
--- a/sdk/links/arm-links/package.json
+++ b/sdk/links/arm-links/package.json
@@ -4,9 +4,10 @@
"description": "ManagementLinkClient Library with typescript type definitions for node.js and browser.",
"version": "1.0.2",
"dependencies": {
- "@azure/ms-rest-azure-js": "^1.3.2",
- "@azure/ms-rest-js": "^1.8.1",
- "tslib": "^1.9.3"
+ "@azure/ms-rest-azure-js": "^2.1.0",
+ "@azure/ms-rest-js": "^2.2.0",
+ "@azure/core-auth": "^1.1.4",
+ "tslib": "^1.10.0"
},
"keywords": [
"node",
@@ -20,13 +21,13 @@
"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",
+ "typescript": "^3.6.0",
+ "rollup": "^1.18.0",
+ "rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-sourcemaps": "^0.4.2",
- "uglify-js": "^3.4.9"
+ "uglify-js": "^3.6.0"
},
- "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/links/arm-links",
+ "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/links/arm-links",
"repository": {
"type": "git",
"url": "https://github.com/Azure/azure-sdk-for-js.git"
diff --git a/sdk/links/arm-links/rollup.config.js b/sdk/links/arm-links/rollup.config.js
index 1f09437f6444..567092c7ed21 100644
--- a/sdk/links/arm-links/rollup.config.js
+++ b/sdk/links/arm-links/rollup.config.js
@@ -21,15 +21,15 @@ const config = {
"@azure/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.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/`
},
plugins: [
- nodeResolve({ module: true }),
+ nodeResolve({ mainFields: ['module', 'main'] }),
sourcemaps()
]
};
diff --git a/sdk/links/arm-links/src/managementLinkClient.ts b/sdk/links/arm-links/src/managementLinkClient.ts
index e501aa9f38a6..b5d26568abec 100644
--- a/sdk/links/arm-links/src/managementLinkClient.ts
+++ b/sdk/links/arm-links/src/managementLinkClient.ts
@@ -1,7 +1,6 @@
/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for
- * license information.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
@@ -9,6 +8,7 @@
*/
import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
import * as Models from "./models";
import * as Mappers from "./models/mappers";
import * as operations from "./operations";
@@ -22,11 +22,16 @@ class ManagementLinkClient extends ManagementLinkClientContext {
/**
* Initializes a new instance of the ManagementLinkClient class.
- * @param credentials Credentials needed for the client to connect to Azure.
+ * @param credentials Credentials needed for the client to connect to Azure. Credentials
+ * implementing the TokenCredential interface from the @azure/identity package are recommended. For
+ * more information about these credentials, see
+ * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the
+ * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and
+ * @azure/ms-rest-browserauth are also supported.
* @param subscriptionId The ID of the target subscription.
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ManagementLinkClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.ManagementLinkClientOptions) {
super(credentials, subscriptionId, options);
this.operations = new operations.Operations(this);
this.resourceLinks = new operations.ResourceLinks(this);
diff --git a/sdk/links/arm-links/src/managementLinkClientContext.ts b/sdk/links/arm-links/src/managementLinkClientContext.ts
index 429c7805a4f8..858c0435712d 100644
--- a/sdk/links/arm-links/src/managementLinkClientContext.ts
+++ b/sdk/links/arm-links/src/managementLinkClientContext.ts
@@ -1,7 +1,6 @@
/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for
- * license information.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
@@ -11,22 +10,28 @@
import * as Models from "./models";
import * as msRest from "@azure/ms-rest-js";
import * as msRestAzure from "@azure/ms-rest-azure-js";
+import { TokenCredential } from "@azure/core-auth";
const packageName = "@azure/arm-links";
const packageVersion = "1.0.2";
export class ManagementLinkClientContext extends msRestAzure.AzureServiceClient {
- credentials: msRest.ServiceClientCredentials;
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
subscriptionId: string;
apiVersion?: string;
/**
* Initializes a new instance of the ManagementLinkClient class.
- * @param credentials Credentials needed for the client to connect to Azure.
+ * @param credentials Credentials needed for the client to connect to Azure. Credentials
+ * implementing the TokenCredential interface from the @azure/identity package are recommended. For
+ * more information about these credentials, see
+ * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the
+ * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and
+ * @azure/ms-rest-browserauth are also supported.
* @param subscriptionId The ID of the target subscription.
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.ManagementLinkClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.ManagementLinkClientOptions) {
if (credentials == undefined) {
throw new Error('\'credentials\' cannot be null.');
}
@@ -37,7 +42,7 @@ export class ManagementLinkClientContext extends msRestAzure.AzureServiceClient
if (!options) {
options = {};
}
- if(!options.userAgent) {
+ if (!options.userAgent) {
const defaultUserAgent = msRestAzure.getDefaultUserAgentValue();
options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`;
}
@@ -52,10 +57,10 @@ export class ManagementLinkClientContext extends msRestAzure.AzureServiceClient
this.credentials = credentials;
this.subscriptionId = subscriptionId;
- if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
+ if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
this.acceptLanguage = options.acceptLanguage;
}
- if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
+ if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
}
}
diff --git a/sdk/links/arm-links/src/models/index.ts b/sdk/links/arm-links/src/models/index.ts
index 74fd365235e5..f4d0a2733bc9 100644
--- a/sdk/links/arm-links/src/models/index.ts
+++ b/sdk/links/arm-links/src/models/index.ts
@@ -1,6 +1,6 @@
/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
@@ -123,6 +123,28 @@ export interface ResourceLinksListAtSourceScopeOptionalParams extends msRest.Req
filter?: string;
}
+/**
+ * Optional Parameters.
+ */
+export interface ResourceLinksListAtSubscriptionNextOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * 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;
+}
+
+/**
+ * Optional Parameters.
+ */
+export interface ResourceLinksListAtSourceScopeNextOptionalParams extends msRest.RequestOptionsBase {
+ /**
+ * 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;
+}
+
/**
* An interface representing ManagementLinkClientOptions.
*/
diff --git a/sdk/links/arm-links/src/models/mappers.ts b/sdk/links/arm-links/src/models/mappers.ts
index 06f26097fb37..c2ecc8aa8deb 100644
--- a/sdk/links/arm-links/src/models/mappers.ts
+++ b/sdk/links/arm-links/src/models/mappers.ts
@@ -1,6 +1,6 @@
/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
diff --git a/sdk/links/arm-links/src/models/operationsMappers.ts b/sdk/links/arm-links/src/models/operationsMappers.ts
index 689688180be7..938d3e665a23 100644
--- a/sdk/links/arm-links/src/models/operationsMappers.ts
+++ b/sdk/links/arm-links/src/models/operationsMappers.ts
@@ -1,6 +1,6 @@
/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
diff --git a/sdk/links/arm-links/src/models/parameters.ts b/sdk/links/arm-links/src/models/parameters.ts
index 22fba7f0c925..d9b7766a4afb 100644
--- a/sdk/links/arm-links/src/models/parameters.ts
+++ b/sdk/links/arm-links/src/models/parameters.ts
@@ -1,7 +1,6 @@
/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for
- * license information.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
diff --git a/sdk/links/arm-links/src/models/resourceLinksMappers.ts b/sdk/links/arm-links/src/models/resourceLinksMappers.ts
index aab3f2958219..bfb6e7c775f8 100644
--- a/sdk/links/arm-links/src/models/resourceLinksMappers.ts
+++ b/sdk/links/arm-links/src/models/resourceLinksMappers.ts
@@ -1,6 +1,6 @@
/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
diff --git a/sdk/links/arm-links/src/operations/index.ts b/sdk/links/arm-links/src/operations/index.ts
index 13eac92de120..cda19d93aea2 100644
--- a/sdk/links/arm-links/src/operations/index.ts
+++ b/sdk/links/arm-links/src/operations/index.ts
@@ -1,7 +1,6 @@
/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for
- * license information.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
diff --git a/sdk/links/arm-links/src/operations/operations.ts b/sdk/links/arm-links/src/operations/operations.ts
index 7085709950df..717db7315d4b 100644
--- a/sdk/links/arm-links/src/operations/operations.ts
+++ b/sdk/links/arm-links/src/operations/operations.ts
@@ -1,7 +1,6 @@
/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for
- * license information.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
@@ -108,6 +107,9 @@ const listNextOperationSpec: msRest.OperationSpec = {
urlParameters: [
Parameters.nextPageLink
],
+ queryParameters: [
+ Parameters.apiVersion
+ ],
headerParameters: [
Parameters.acceptLanguage
],
diff --git a/sdk/links/arm-links/src/operations/resourceLinks.ts b/sdk/links/arm-links/src/operations/resourceLinks.ts
index 3cb445cba348..6f9bd6c62a24 100644
--- a/sdk/links/arm-links/src/operations/resourceLinks.ts
+++ b/sdk/links/arm-links/src/operations/resourceLinks.ts
@@ -1,7 +1,6 @@
/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for
- * license information.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
@@ -199,7 +198,7 @@ export class ResourceLinks {
* @param [options] The optional parameters
* @returns Promise
*/
- listAtSubscriptionNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ listAtSubscriptionNext(nextPageLink: string, options?: Models.ResourceLinksListAtSubscriptionNextOptionalParams): Promise;
/**
* @param nextPageLink The NextLink from the previous successful call to List operation.
* @param callback The callback
@@ -210,8 +209,8 @@ export class ResourceLinks {
* @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 | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ listAtSubscriptionNext(nextPageLink: string, options: Models.ResourceLinksListAtSubscriptionNextOptionalParams, callback: msRest.ServiceCallback): void;
+ listAtSubscriptionNext(nextPageLink: string, options?: Models.ResourceLinksListAtSubscriptionNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
return this.client.sendOperationRequest(
{
nextPageLink,
@@ -227,7 +226,7 @@ export class ResourceLinks {
* @param [options] The optional parameters
* @returns Promise
*/
- listAtSourceScopeNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise;
+ listAtSourceScopeNext(nextPageLink: string, options?: Models.ResourceLinksListAtSourceScopeNextOptionalParams): Promise;
/**
* @param nextPageLink The NextLink from the previous successful call to List operation.
* @param callback The callback
@@ -238,8 +237,8 @@ export class ResourceLinks {
* @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 | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
+ listAtSourceScopeNext(nextPageLink: string, options: Models.ResourceLinksListAtSourceScopeNextOptionalParams, callback: msRest.ServiceCallback): void;
+ listAtSourceScopeNext(nextPageLink: string, options?: Models.ResourceLinksListAtSourceScopeNextOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise {
return this.client.sendOperationRequest(
{
nextPageLink,
@@ -385,6 +384,10 @@ const listAtSubscriptionNextOperationSpec: msRest.OperationSpec = {
urlParameters: [
Parameters.nextPageLink
],
+ queryParameters: [
+ Parameters.filter,
+ Parameters.apiVersion
+ ],
headerParameters: [
Parameters.acceptLanguage
],
@@ -406,6 +409,10 @@ const listAtSourceScopeNextOperationSpec: msRest.OperationSpec = {
urlParameters: [
Parameters.nextPageLink
],
+ queryParameters: [
+ Parameters.filter,
+ Parameters.apiVersion
+ ],
headerParameters: [
Parameters.acceptLanguage
],
diff --git a/sdk/links/arm-links/tsconfig.json b/sdk/links/arm-links/tsconfig.json
index 87bbf5b5fa49..422b584abd5e 100644
--- a/sdk/links/arm-links/tsconfig.json
+++ b/sdk/links/arm-links/tsconfig.json
@@ -9,7 +9,7 @@
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
- "lib": ["es6"],
+ "lib": ["es6", "dom"],
"declaration": true,
"outDir": "./esm",
"importHelpers": true