diff --git a/sdk/storage/arm-storage-profile-2020-09-01-hybrid/README.md b/sdk/storage/arm-storage-profile-2020-09-01-hybrid/README.md
index af77a5cd2cfa..05785727ec1b 100644
--- a/sdk/storage/arm-storage-profile-2020-09-01-hybrid/README.md
+++ b/sdk/storage/arm-storage-profile-2020-09-01-hybrid/README.md
@@ -1,90 +1,100 @@
## Azure StorageManagementClient SDK for JavaScript
-This package contains an isomorphic SDK for StorageManagementClient.
+This package contains an isomorphic SDK (runs both in Node.js and in browsers) for StorageManagementClient.
### 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-storage-profile-2020-09-01-hybrid` 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-storage-profile-2020-09-01-hybrid
+npm install --save @azure/arm-storage-profile-2020-09-01-hybrid @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
+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.
-- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`.
-```bash
-npm install @azure/ms-rest-nodeauth@"^3.0.0"
-```
+#### 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 { StorageManagementClient, StorageManagementModels, StorageManagementMappers } from "@azure/arm-storage-profile-2020-09-01-hybrid";
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
+const { StorageManagementClient } = require("@azure/arm-storage-profile-2020-09-01-hybrid");
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
-msRestNodeAuth.interactiveLogin().then((creds) => {
- const client = new StorageManagementClient(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 StorageManagementClient(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.
-
-##### Install @azure/ms-rest-browserauth
+#### browser - Authentication, client creation, and list operations as an example written in JavaScript.
-```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-storage-profile-2020-09-01-hybrid sample
-
-
+
diff --git a/sdk/storage/arm-storage-profile-2020-09-01-hybrid/package.json b/sdk/storage/arm-storage-profile-2020-09-01-hybrid/package.json
index a01053038129..470e73450200 100644
--- a/sdk/storage/arm-storage-profile-2020-09-01-hybrid/package.json
+++ b/sdk/storage/arm-storage-profile-2020-09-01-hybrid/package.json
@@ -2,10 +2,11 @@
"name": "@azure/arm-storage-profile-2020-09-01-hybrid",
"author": "Microsoft Corporation",
"description": "StorageManagementClient Library with typescript type definitions for node.js and browser.",
- "version": "1.0.0",
+ "version": "1.1.0",
"dependencies": {
- "@azure/ms-rest-azure-js": "^2.0.1",
- "@azure/ms-rest-js": "^2.0.4",
+ "@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": [
@@ -20,7 +21,7 @@
"module": "./esm/storageManagementClient.js",
"types": "./esm/storageManagementClient.d.ts",
"devDependencies": {
- "typescript": "^3.5.3",
+ "typescript": "^3.6.0",
"rollup": "^1.18.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-sourcemaps": "^0.4.2",
diff --git a/sdk/storage/arm-storage-profile-2020-09-01-hybrid/src/storageManagementClient.ts b/sdk/storage/arm-storage-profile-2020-09-01-hybrid/src/storageManagementClient.ts
index 78d85210f6cf..68af8489b41e 100644
--- a/sdk/storage/arm-storage-profile-2020-09-01-hybrid/src/storageManagementClient.ts
+++ b/sdk/storage/arm-storage-profile-2020-09-01-hybrid/src/storageManagementClient.ts
@@ -9,6 +9,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";
@@ -29,11 +30,16 @@ class StorageManagementClient extends StorageManagementClientContext {
/**
* Initializes a new instance of the StorageManagementClient 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.StorageManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorageManagementClientOptions) {
super(credentials, subscriptionId, options);
this.operations = new operations.Operations(this);
this.skus = new operations.Skus(this);
diff --git a/sdk/storage/arm-storage-profile-2020-09-01-hybrid/src/storageManagementClientContext.ts b/sdk/storage/arm-storage-profile-2020-09-01-hybrid/src/storageManagementClientContext.ts
index 91e12eeb1319..9492f44e1359 100644
--- a/sdk/storage/arm-storage-profile-2020-09-01-hybrid/src/storageManagementClientContext.ts
+++ b/sdk/storage/arm-storage-profile-2020-09-01-hybrid/src/storageManagementClientContext.ts
@@ -10,23 +10,29 @@
import * as Models from "./models";
import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
import * as msRestAzure from "@azure/ms-rest-azure-js";
const packageName = "@azure/arm-storage-profile-2020-09-01-hybrid";
-const packageVersion = "1.0.0";
+const packageVersion = "1.1.0";
export class StorageManagementClientContext extends msRestAzure.AzureServiceClient {
- credentials: msRest.ServiceClientCredentials;
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
subscriptionId: string;
apiVersion?: string;
/**
* Initializes a new instance of the StorageManagementClient 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.StorageManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorageManagementClientOptions) {
if (credentials == undefined) {
throw new Error('\'credentials\' cannot be null.');
}
diff --git a/sdk/storagecache/arm-storagecache/README.md b/sdk/storagecache/arm-storagecache/README.md
index d42f43290e2c..1982b3cbc515 100644
--- a/sdk/storagecache/arm-storagecache/README.md
+++ b/sdk/storagecache/arm-storagecache/README.md
@@ -1,89 +1,100 @@
## Azure StorageCacheManagementClient SDK for JavaScript
-This package contains an isomorphic SDK for StorageCacheManagementClient.
+This package contains an isomorphic SDK (runs both in Node.js and in browsers) for StorageCacheManagementClient.
### 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-storagecache` 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-storagecache
+npm install --save @azure/arm-storagecache @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 - 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
+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.
-- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`.
-```bash
-npm install @azure/ms-rest-nodeauth@"^3.0.0"
-```
+#### nodejs - Authentication, client creation, and list operations as an example written in JavaScript.
##### Sample code
-While the below sample uses the interactive login, other authentication options can be found in the [README.md file of @azure/ms-rest-nodeauth](https://www.npmjs.com/package/@azure/ms-rest-nodeauth) package
-```typescript
-const msRestNodeAuth = require("@azure/ms-rest-nodeauth");
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
const { StorageCacheManagementClient } = require("@azure/arm-storagecache");
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
-msRestNodeAuth.interactiveLogin().then((creds) => {
- const client = new StorageCacheManagementClient(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 StorageCacheManagementClient(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.
-
-##### Install @azure/ms-rest-browserauth
+#### browser - Authentication, client creation, and list operations as an example written in JavaScript.
-```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-storagecache sample
-
-
+
diff --git a/sdk/storagecache/arm-storagecache/package.json b/sdk/storagecache/arm-storagecache/package.json
index be9abbe053c5..ed330acbca45 100644
--- a/sdk/storagecache/arm-storagecache/package.json
+++ b/sdk/storagecache/arm-storagecache/package.json
@@ -2,10 +2,11 @@
"name": "@azure/arm-storagecache",
"author": "Microsoft Corporation",
"description": "StorageCacheManagementClient Library with typescript type definitions for node.js and browser.",
- "version": "4.0.0",
+ "version": "4.1.0",
"dependencies": {
- "@azure/ms-rest-azure-js": "^2.0.1",
- "@azure/ms-rest-js": "^2.0.4",
+ "@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": [
@@ -20,7 +21,7 @@
"module": "./esm/storageCacheManagementClient.js",
"types": "./esm/storageCacheManagementClient.d.ts",
"devDependencies": {
- "typescript": "^3.5.3",
+ "typescript": "^3.6.0",
"rollup": "^1.18.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-sourcemaps": "^0.4.2",
diff --git a/sdk/storagecache/arm-storagecache/src/storageCacheManagementClient.ts b/sdk/storagecache/arm-storagecache/src/storageCacheManagementClient.ts
index cb15178503bf..c57bfac9ce88 100644
--- a/sdk/storagecache/arm-storagecache/src/storageCacheManagementClient.ts
+++ b/sdk/storagecache/arm-storagecache/src/storageCacheManagementClient.ts
@@ -8,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";
@@ -25,12 +26,17 @@ class StorageCacheManagementClient extends StorageCacheManagementClientContext {
/**
* Initializes a new instance of the StorageCacheManagementClient 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 Subscription credentials which uniquely identify Microsoft Azure
* subscription. The subscription ID forms part of the URI for every service call.
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.StorageCacheManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorageCacheManagementClientOptions) {
super(credentials, subscriptionId, options);
this.operations = new operations.Operations(this);
this.skus = new operations.Skus(this);
diff --git a/sdk/storagecache/arm-storagecache/src/storageCacheManagementClientContext.ts b/sdk/storagecache/arm-storagecache/src/storageCacheManagementClientContext.ts
index 563563daa716..9c2eac11305d 100644
--- a/sdk/storagecache/arm-storagecache/src/storageCacheManagementClientContext.ts
+++ b/sdk/storagecache/arm-storagecache/src/storageCacheManagementClientContext.ts
@@ -9,24 +9,30 @@
import * as Models from "./models";
import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
import * as msRestAzure from "@azure/ms-rest-azure-js";
const packageName = "@azure/arm-storagecache";
-const packageVersion = "4.0.0";
+const packageVersion = "4.1.0";
export class StorageCacheManagementClientContext extends msRestAzure.AzureServiceClient {
- credentials: msRest.ServiceClientCredentials;
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
subscriptionId: string;
apiVersion?: string;
/**
* Initializes a new instance of the StorageCacheManagementClient 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 Subscription credentials which uniquely identify Microsoft Azure
* subscription. The subscription ID forms part of the URI for every service call.
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.StorageCacheManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorageCacheManagementClientOptions) {
if (credentials == undefined) {
throw new Error('\'credentials\' cannot be null.');
}
diff --git a/sdk/storageimportexport/arm-storageimportexport/README.md b/sdk/storageimportexport/arm-storageimportexport/README.md
index cb45c729d669..cce2a48b974c 100644
--- a/sdk/storageimportexport/arm-storageimportexport/README.md
+++ b/sdk/storageimportexport/arm-storageimportexport/README.md
@@ -1,89 +1,100 @@
## Azure StorageImportExportManagementClient SDK for JavaScript
-This package contains an isomorphic SDK for StorageImportExportManagementClient.
+This package contains an isomorphic SDK (runs both in Node.js and in browsers) for StorageImportExportManagementClient.
### 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
-```
-npm install @azure/arm-storageimportexport
+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-storageimportexport` 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 --save @azure/arm-storageimportexport @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 locations 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
+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.
-```
-npm install @azure/ms-rest-nodeauth
-```
+#### nodejs - Authentication, client creation, and list locations as an example written in JavaScript.
##### Sample code
-```ts
-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 { StorageImportExportManagementClient, StorageImportExportManagementModels, StorageImportExportManagementMappers } from "@azure/arm-storageimportexport";
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
+const { StorageImportExportManagementClient } = require("@azure/arm-storageimportexport");
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
-msRestNodeAuth.interactiveLogin().then((creds) => {
- const client = new StorageImportExportManagementClient(creds, subscriptionId);
- client.locations.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 StorageImportExportManagementClient(creds, subscriptionId);
+
+client.locations.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 locations as an example written in JavaScript.
-
-##### Install @azure/ms-rest-browserauth
+#### browser - Authentication, client creation, and list locations as an example written in JavaScript.
-```
-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-storageimportexport sample
-
-
+
@@ -95,5 +106,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)
-
-
+
diff --git a/sdk/storageimportexport/arm-storageimportexport/package.json b/sdk/storageimportexport/arm-storageimportexport/package.json
index 9a79781b78a0..010046dba505 100644
--- a/sdk/storageimportexport/arm-storageimportexport/package.json
+++ b/sdk/storageimportexport/arm-storageimportexport/package.json
@@ -2,10 +2,11 @@
"name": "@azure/arm-storageimportexport",
"author": "Microsoft Corporation",
"description": "StorageImportExportManagementClient Library with typescript type definitions for node.js and browser.",
- "version": "1.2.0",
+ "version": "1.3.0",
"dependencies": {
- "@azure/ms-rest-azure-js": "^1.1.0",
- "@azure/ms-rest-js": "^1.1.0",
+ "@azure/ms-rest-azure-js": "^1.4.0",
+ "@azure/ms-rest-js": "^1.11.0",
+ "@azure/core-auth": "^1.1.4",
"tslib": "^1.9.3"
},
"keywords": [
@@ -20,7 +21,7 @@
"module": "./esm/storageImportExportManagementClient.js",
"types": "./esm/storageImportExportManagementClient.d.ts",
"devDependencies": {
- "typescript": "^3.1.1",
+ "typescript": "^3.6.0",
"rollup": "^0.66.2",
"rollup-plugin-node-resolve": "^3.4.0",
"uglify-js": "^3.4.9"
diff --git a/sdk/storageimportexport/arm-storageimportexport/src/storageImportExportManagementClient.ts b/sdk/storageimportexport/arm-storageimportexport/src/storageImportExportManagementClient.ts
index fdc10047f102..2690f8c348dd 100644
--- a/sdk/storageimportexport/arm-storageimportexport/src/storageImportExportManagementClient.ts
+++ b/sdk/storageimportexport/arm-storageimportexport/src/storageImportExportManagementClient.ts
@@ -9,6 +9,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";
@@ -24,11 +25,16 @@ class StorageImportExportManagementClient extends StorageImportExportManagementC
/**
* Initializes a new instance of the StorageImportExportManagementClient 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 subscription ID for the Azure user.
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.StorageImportExportManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorageImportExportManagementClientOptions) {
super(credentials, subscriptionId, options);
this.locations = new operations.Locations(this);
this.jobs = new operations.Jobs(this);
diff --git a/sdk/storageimportexport/arm-storageimportexport/src/storageImportExportManagementClientContext.ts b/sdk/storageimportexport/arm-storageimportexport/src/storageImportExportManagementClientContext.ts
index 08a5786a8d6a..26b4751baeac 100644
--- a/sdk/storageimportexport/arm-storageimportexport/src/storageImportExportManagementClientContext.ts
+++ b/sdk/storageimportexport/arm-storageimportexport/src/storageImportExportManagementClientContext.ts
@@ -10,23 +10,29 @@
import * as Models from "./models";
import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
import * as msRestAzure from "@azure/ms-rest-azure-js";
const packageName = "@azure/arm-storageimportexport";
-const packageVersion = "0.1.0";
+const packageVersion = "1.3.0";
export class StorageImportExportManagementClientContext extends msRestAzure.AzureServiceClient {
- credentials: msRest.ServiceClientCredentials;
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
apiVersion?: string;
subscriptionId: string;
/**
* Initializes a new instance of the StorageImportExportManagementClient 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 subscription ID for the Azure user.
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.StorageImportExportManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorageImportExportManagementClientOptions) {
if (credentials == undefined) {
throw new Error('\'credentials\' cannot be null.');
}
diff --git a/sdk/storagesync/arm-storagesync/README.md b/sdk/storagesync/arm-storagesync/README.md
index 09b380bd29de..94c95f784e04 100644
--- a/sdk/storagesync/arm-storagesync/README.md
+++ b/sdk/storagesync/arm-storagesync/README.md
@@ -1,90 +1,100 @@
## Azure StorageSyncManagementClient SDK for JavaScript
-This package contains an isomorphic SDK for StorageSyncManagementClient.
+This package contains an isomorphic SDK (runs both in Node.js and in browsers) for StorageSyncManagementClient.
### 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-storagesync` 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-storagesync
+npm install --save @azure/arm-storagesync @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
+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.
-- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`.
-```bash
-npm install @azure/ms-rest-nodeauth@"^3.0.0"
-```
+#### 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 { StorageSyncManagementClient, StorageSyncManagementModels, StorageSyncManagementMappers } from "@azure/arm-storagesync";
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
+const { StorageSyncManagementClient } = require("@azure/arm-storagesync");
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
-msRestNodeAuth.interactiveLogin().then((creds) => {
- const client = new StorageSyncManagementClient(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 StorageSyncManagementClient(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.
-
-##### Install @azure/ms-rest-browserauth
+#### browser - Authentication, client creation, and list operations as an example written in JavaScript.
-```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-storagesync sample
-
-
+
diff --git a/sdk/storagesync/arm-storagesync/package.json b/sdk/storagesync/arm-storagesync/package.json
index 29b8ef52098c..b9e48bc76811 100644
--- a/sdk/storagesync/arm-storagesync/package.json
+++ b/sdk/storagesync/arm-storagesync/package.json
@@ -2,10 +2,11 @@
"name": "@azure/arm-storagesync",
"author": "Microsoft Corporation",
"description": "StorageSyncManagementClient Library with typescript type definitions for node.js and browser.",
- "version": "8.0.0",
+ "version": "8.1.0",
"dependencies": {
- "@azure/ms-rest-azure-js": "^2.0.1",
- "@azure/ms-rest-js": "^2.0.4",
+ "@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": [
@@ -20,7 +21,7 @@
"module": "./esm/storageSyncManagementClient.js",
"types": "./esm/storageSyncManagementClient.d.ts",
"devDependencies": {
- "typescript": "^3.5.3",
+ "typescript": "^3.6.0",
"rollup": "^1.18.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-sourcemaps": "^0.4.2",
diff --git a/sdk/storagesync/arm-storagesync/src/storageSyncManagementClient.ts b/sdk/storagesync/arm-storagesync/src/storageSyncManagementClient.ts
index e8507d474340..9197adff1266 100644
--- a/sdk/storagesync/arm-storagesync/src/storageSyncManagementClient.ts
+++ b/sdk/storagesync/arm-storagesync/src/storageSyncManagementClient.ts
@@ -9,6 +9,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";
@@ -28,11 +29,16 @@ class StorageSyncManagementClient extends StorageSyncManagementClientContext {
/**
* Initializes a new instance of the StorageSyncManagementClient 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.StorageSyncManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorageSyncManagementClientOptions) {
super(credentials, subscriptionId, options);
this.operations = new operations.Operations(this);
this.storageSyncServices = new operations.StorageSyncServices(this);
diff --git a/sdk/storagesync/arm-storagesync/src/storageSyncManagementClientContext.ts b/sdk/storagesync/arm-storagesync/src/storageSyncManagementClientContext.ts
index ef8da155c09f..8361453ab16c 100644
--- a/sdk/storagesync/arm-storagesync/src/storageSyncManagementClientContext.ts
+++ b/sdk/storagesync/arm-storagesync/src/storageSyncManagementClientContext.ts
@@ -10,23 +10,29 @@
import * as Models from "./models";
import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
import * as msRestAzure from "@azure/ms-rest-azure-js";
const packageName = "@azure/arm-storagesync";
-const packageVersion = "8.0.0";
+const packageVersion = "8.1.0";
export class StorageSyncManagementClientContext extends msRestAzure.AzureServiceClient {
- credentials: msRest.ServiceClientCredentials;
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
apiVersion?: string;
subscriptionId: string;
/**
* Initializes a new instance of the StorageSyncManagementClient 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.StorageSyncManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorageSyncManagementClientOptions) {
if (credentials == undefined) {
throw new Error('\'credentials\' cannot be null.');
}
diff --git a/sdk/storsimple1200series/arm-storsimple1200series/README.md b/sdk/storsimple1200series/arm-storsimple1200series/README.md
index 20eccc8968fe..c877b2307124 100644
--- a/sdk/storsimple1200series/arm-storsimple1200series/README.md
+++ b/sdk/storsimple1200series/arm-storsimple1200series/README.md
@@ -1,89 +1,100 @@
## Azure StorSimpleManagementClient SDK for JavaScript
-This package contains an isomorphic SDK for StorSimpleManagementClient.
+This package contains an isomorphic SDK (runs both in Node.js and in browsers) for StorSimpleManagementClient.
### 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
-```
-npm install @azure/arm-storsimple1200series
+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-storsimple1200series` 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 --save @azure/arm-storsimple1200series @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 managers 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
+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.
-```
-npm install @azure/ms-rest-nodeauth
-```
+#### nodejs - Authentication, client creation, and list managers as an example written in JavaScript.
##### Sample code
-```ts
-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 { StorSimpleManagementClient, StorSimpleManagementModels, StorSimpleManagementMappers } from "@azure/arm-storsimple1200series";
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
+const { StorSimpleManagementClient } = require("@azure/arm-storsimple1200series");
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
-msRestNodeAuth.interactiveLogin().then((creds) => {
- const client = new StorSimpleManagementClient(creds, subscriptionId);
- client.managers.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 StorSimpleManagementClient(creds, subscriptionId);
+
+client.managers.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 managers as an example written in JavaScript.
-
-##### Install @azure/ms-rest-browserauth
+#### browser - Authentication, client creation, and list managers as an example written in JavaScript.
-```
-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-storsimple1200series sample
-
-
+
@@ -95,5 +106,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)
-
-
+
diff --git a/sdk/storsimple1200series/arm-storsimple1200series/package.json b/sdk/storsimple1200series/arm-storsimple1200series/package.json
index 9a197dea0fdb..db28102f38dd 100644
--- a/sdk/storsimple1200series/arm-storsimple1200series/package.json
+++ b/sdk/storsimple1200series/arm-storsimple1200series/package.json
@@ -2,10 +2,11 @@
"name": "@azure/arm-storsimple1200series",
"author": "Microsoft Corporation",
"description": "StorSimpleManagementClient Library with typescript type definitions for node.js and browser.",
- "version": "1.1.0",
+ "version": "1.2.0",
"dependencies": {
- "@azure/ms-rest-azure-js": "^1.1.0",
- "@azure/ms-rest-js": "^1.1.0",
+ "@azure/ms-rest-azure-js": "^1.4.0",
+ "@azure/ms-rest-js": "^1.11.0",
+ "@azure/core-auth": "^1.1.4",
"tslib": "^1.9.3"
},
"keywords": [
@@ -20,7 +21,7 @@
"module": "./esm/storSimpleManagementClient.js",
"types": "./esm/storSimpleManagementClient.d.ts",
"devDependencies": {
- "typescript": "^3.1.1",
+ "typescript": "^3.6.0",
"rollup": "^0.66.2",
"rollup-plugin-node-resolve": "^3.4.0",
"uglify-js": "^3.4.9"
diff --git a/sdk/storsimple1200series/arm-storsimple1200series/src/storSimpleManagementClient.ts b/sdk/storsimple1200series/arm-storsimple1200series/src/storSimpleManagementClient.ts
index 142f5f4dd5e2..287f8a1c3a16 100644
--- a/sdk/storsimple1200series/arm-storsimple1200series/src/storSimpleManagementClient.ts
+++ b/sdk/storsimple1200series/arm-storsimple1200series/src/storSimpleManagementClient.ts
@@ -9,6 +9,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";
@@ -35,11 +36,16 @@ class StorSimpleManagementClient extends StorSimpleManagementClientContext {
/**
* Initializes a new instance of the StorSimpleManagementClient 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 subscription id
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.StorSimpleManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorSimpleManagementClientOptions) {
super(credentials, subscriptionId, options);
this.managers = new operations.Managers(this);
this.availableProviderOperations = new operations.AvailableProviderOperationsOperations(this);
diff --git a/sdk/storsimple1200series/arm-storsimple1200series/src/storSimpleManagementClientContext.ts b/sdk/storsimple1200series/arm-storsimple1200series/src/storSimpleManagementClientContext.ts
index 4d4df0919526..f3963c937b05 100644
--- a/sdk/storsimple1200series/arm-storsimple1200series/src/storSimpleManagementClientContext.ts
+++ b/sdk/storsimple1200series/arm-storsimple1200series/src/storSimpleManagementClientContext.ts
@@ -10,23 +10,29 @@
import * as Models from "./models";
import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
import * as msRestAzure from "@azure/ms-rest-azure-js";
const packageName = "@azure/arm-storsimple1200series";
-const packageVersion = "0.1.0";
+const packageVersion = "1.2.0";
export class StorSimpleManagementClientContext extends msRestAzure.AzureServiceClient {
- credentials: msRest.ServiceClientCredentials;
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
apiVersion?: string;
subscriptionId: string;
/**
* Initializes a new instance of the StorSimpleManagementClient 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 subscription id
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.StorSimpleManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorSimpleManagementClientOptions) {
if (credentials == undefined) {
throw new Error('\'credentials\' cannot be null.');
}
diff --git a/sdk/storsimple8000series/arm-storsimple8000series/README.md b/sdk/storsimple8000series/arm-storsimple8000series/README.md
index 6b8d3c897e52..25fcbbb75913 100644
--- a/sdk/storsimple8000series/arm-storsimple8000series/README.md
+++ b/sdk/storsimple8000series/arm-storsimple8000series/README.md
@@ -1,89 +1,100 @@
## Azure StorSimple8000SeriesManagementClient SDK for JavaScript
-This package contains an isomorphic SDK for StorSimple8000SeriesManagementClient.
+This package contains an isomorphic SDK (runs both in Node.js and in browsers) for StorSimple8000SeriesManagementClient.
### 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
-```
-npm install @azure/arm-storsimple8000series
+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-storsimple8000series` 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 --save @azure/arm-storsimple8000series @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
+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.
-```
-npm install @azure/ms-rest-nodeauth
-```
+#### nodejs - Authentication, client creation, and list operations as an example written in JavaScript.
##### Sample code
-```ts
-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 { StorSimple8000SeriesManagementClient, StorSimple8000SeriesManagementModels, StorSimple8000SeriesManagementMappers } from "@azure/arm-storsimple8000series";
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
+const { StorSimple8000SeriesManagementClient } = require("@azure/arm-storsimple8000series");
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
-msRestNodeAuth.interactiveLogin().then((creds) => {
- const client = new StorSimple8000SeriesManagementClient(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 StorSimple8000SeriesManagementClient(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.
-
-##### Install @azure/ms-rest-browserauth
+#### browser - Authentication, client creation, and list operations as an example written in JavaScript.
-```
-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-storsimple8000series sample
-
-
+
@@ -95,5 +106,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)
-
-
+
diff --git a/sdk/storsimple8000series/arm-storsimple8000series/package.json b/sdk/storsimple8000series/arm-storsimple8000series/package.json
index 192caba6625a..2e099d5968bf 100644
--- a/sdk/storsimple8000series/arm-storsimple8000series/package.json
+++ b/sdk/storsimple8000series/arm-storsimple8000series/package.json
@@ -2,10 +2,11 @@
"name": "@azure/arm-storsimple8000series",
"author": "Microsoft Corporation",
"description": "StorSimple8000SeriesManagementClient Library with typescript type definitions for node.js and browser.",
- "version": "1.1.0",
+ "version": "1.2.0",
"dependencies": {
- "@azure/ms-rest-azure-js": "^1.1.0",
- "@azure/ms-rest-js": "^1.1.0",
+ "@azure/ms-rest-azure-js": "^1.4.0",
+ "@azure/ms-rest-js": "^1.11.0",
+ "@azure/core-auth": "^1.1.4",
"tslib": "^1.9.3"
},
"keywords": [
@@ -20,7 +21,7 @@
"module": "./esm/storSimple8000SeriesManagementClient.js",
"types": "./esm/storSimple8000SeriesManagementClient.d.ts",
"devDependencies": {
- "typescript": "^3.1.1",
+ "typescript": "^3.6.0",
"rollup": "^0.66.2",
"rollup-plugin-node-resolve": "^3.4.0",
"uglify-js": "^3.4.9"
diff --git a/sdk/storsimple8000series/arm-storsimple8000series/src/storSimple8000SeriesManagementClient.ts b/sdk/storsimple8000series/arm-storsimple8000series/src/storSimple8000SeriesManagementClient.ts
index abe8192f1fff..fa637e5d592a 100644
--- a/sdk/storsimple8000series/arm-storsimple8000series/src/storSimple8000SeriesManagementClient.ts
+++ b/sdk/storsimple8000series/arm-storsimple8000series/src/storSimple8000SeriesManagementClient.ts
@@ -9,6 +9,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";
@@ -36,11 +37,16 @@ class StorSimple8000SeriesManagementClient extends StorSimple8000SeriesManagemen
/**
* Initializes a new instance of the StorSimple8000SeriesManagementClient 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 subscription id
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.StorSimple8000SeriesManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorSimple8000SeriesManagementClientOptions) {
super(credentials, subscriptionId, options);
this.operations = new operations.Operations(this);
this.managers = new operations.Managers(this);
diff --git a/sdk/storsimple8000series/arm-storsimple8000series/src/storSimple8000SeriesManagementClientContext.ts b/sdk/storsimple8000series/arm-storsimple8000series/src/storSimple8000SeriesManagementClientContext.ts
index 3839ad510595..d85dbba90b3e 100644
--- a/sdk/storsimple8000series/arm-storsimple8000series/src/storSimple8000SeriesManagementClientContext.ts
+++ b/sdk/storsimple8000series/arm-storsimple8000series/src/storSimple8000SeriesManagementClientContext.ts
@@ -10,23 +10,29 @@
import * as Models from "./models";
import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
import * as msRestAzure from "@azure/ms-rest-azure-js";
const packageName = "@azure/arm-storsimple8000series";
-const packageVersion = "0.1.0";
+const packageVersion = "1.2.0";
export class StorSimple8000SeriesManagementClientContext extends msRestAzure.AzureServiceClient {
- credentials: msRest.ServiceClientCredentials;
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
apiVersion?: string;
subscriptionId: string;
/**
* Initializes a new instance of the StorSimple8000SeriesManagementClient 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 subscription id
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.StorSimple8000SeriesManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StorSimple8000SeriesManagementClientOptions) {
if (credentials == undefined) {
throw new Error('\'credentials\' cannot be null.');
}
diff --git a/sdk/streamanalytics/arm-streamanalytics/README.md b/sdk/streamanalytics/arm-streamanalytics/README.md
index 9a7ba43bf422..512d5b856076 100644
--- a/sdk/streamanalytics/arm-streamanalytics/README.md
+++ b/sdk/streamanalytics/arm-streamanalytics/README.md
@@ -1,95 +1,105 @@
## Azure StreamAnalyticsManagementClient SDK for JavaScript
-This package contains an isomorphic SDK for StreamAnalyticsManagementClient.
+This package contains an isomorphic SDK (runs both in Node.js and in browsers) for StreamAnalyticsManagementClient.
### 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-streamanalytics` 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-streamanalytics
+npm install --save @azure/arm-streamanalytics @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 - client creation and get functions 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
+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.
-- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`.
-```bash
-npm install @azure/ms-rest-nodeauth@"^3.0.0"
-```
+#### nodejs - Authentication, client creation, and get functions as an example written in JavaScript.
##### Sample code
-While the below sample uses the interactive login, other authentication options can be found in the [README.md file of @azure/ms-rest-nodeauth](https://www.npmjs.com/package/@azure/ms-rest-nodeauth) package
-```typescript
-const msRestNodeAuth = require("@azure/ms-rest-nodeauth");
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
const { StreamAnalyticsManagementClient } = require("@azure/arm-streamanalytics");
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
-msRestNodeAuth.interactiveLogin().then((creds) => {
- const client = new StreamAnalyticsManagementClient(creds, subscriptionId);
- const resourceGroupName = "testresourceGroupName";
- const jobName = "testjobName";
- const functionName = "testfunctionName";
- client.functions.get(resourceGroupName, jobName, functionName).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 StreamAnalyticsManagementClient(creds, subscriptionId);
+const resourceGroupName = "testresourceGroupName";
+const jobName = "testjobName";
+const functionName = "testfunctionName";
+client.functions.get(resourceGroupName, jobName, functionName).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 get functions as an example written in JavaScript.
+#### browser - Authentication, client creation, and get functions 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-streamanalytics sample
-
-
+
diff --git a/sdk/streamanalytics/arm-streamanalytics/package.json b/sdk/streamanalytics/arm-streamanalytics/package.json
index e5246c121745..68082d5df897 100644
--- a/sdk/streamanalytics/arm-streamanalytics/package.json
+++ b/sdk/streamanalytics/arm-streamanalytics/package.json
@@ -2,10 +2,11 @@
"name": "@azure/arm-streamanalytics",
"author": "Microsoft Corporation",
"description": "StreamAnalyticsManagementClient Library with typescript type definitions for node.js and browser.",
- "version": "2.0.0",
+ "version": "2.1.0",
"dependencies": {
- "@azure/ms-rest-azure-js": "^2.0.1",
- "@azure/ms-rest-js": "^2.0.4",
+ "@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": [
@@ -20,7 +21,7 @@
"module": "./esm/streamAnalyticsManagementClient.js",
"types": "./esm/streamAnalyticsManagementClient.d.ts",
"devDependencies": {
- "typescript": "^3.5.3",
+ "typescript": "^3.6.0",
"rollup": "^1.18.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-sourcemaps": "^0.4.2",
diff --git a/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClient.ts b/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClient.ts
index 64d4307d04e4..38328160afb4 100644
--- a/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClient.ts
+++ b/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClient.ts
@@ -8,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";
@@ -28,11 +29,16 @@ class StreamAnalyticsManagementClient extends StreamAnalyticsManagementClientCon
/**
* Initializes a new instance of the StreamAnalyticsManagementClient 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.StreamAnalyticsManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StreamAnalyticsManagementClientOptions) {
super(credentials, subscriptionId, options);
this.functions = new operations.Functions(this);
this.inputs = new operations.Inputs(this);
diff --git a/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClientContext.ts b/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClientContext.ts
index 752d8b339deb..cf3c3070ca7d 100644
--- a/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClientContext.ts
+++ b/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClientContext.ts
@@ -9,22 +9,28 @@
import * as Models from "./models";
import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
import * as msRestAzure from "@azure/ms-rest-azure-js";
const packageName = "@azure/arm-streamanalytics";
-const packageVersion = "2.0.0";
+const packageVersion = "2.1.0";
export class StreamAnalyticsManagementClientContext extends msRestAzure.AzureServiceClient {
- credentials: msRest.ServiceClientCredentials;
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
subscriptionId: string;
/**
* Initializes a new instance of the StreamAnalyticsManagementClient 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.StreamAnalyticsManagementClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.StreamAnalyticsManagementClientOptions) {
if (credentials == undefined) {
throw new Error('\'credentials\' cannot be null.');
}
diff --git a/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/README.md b/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/README.md
index 6b4a8ef48d90..9c81510dbe11 100644
--- a/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/README.md
+++ b/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/README.md
@@ -1,90 +1,100 @@
## Azure SubscriptionClient SDK for JavaScript
-This package contains an isomorphic SDK for SubscriptionClient.
+This package contains an isomorphic SDK (runs both in Node.js and in browsers) for SubscriptionClient.
### 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-subscriptions-profile-2020-09-01-hybrid` 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-subscriptions-profile-2020-09-01-hybrid
+npm install --save @azure/arm-subscriptions-profile-2020-09-01-hybrid @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
+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.
-- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`.
-```bash
-npm install @azure/ms-rest-nodeauth@"^3.0.0"
-```
+#### 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 { SubscriptionClient, SubscriptionModels, SubscriptionMappers } from "@azure/arm-subscriptions-profile-2020-09-01-hybrid";
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
+const { SubscriptionClient } = require("@azure/arm-subscriptions-profile-2020-09-01-hybrid");
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
-msRestNodeAuth.interactiveLogin().then((creds) => {
- const client = new SubscriptionClient(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 SubscriptionClient(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.
-
-##### Install @azure/ms-rest-browserauth
+#### browser - Authentication, client creation, and list operations as an example written in JavaScript.
-```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-subscriptions-profile-2020-09-01-hybrid sample
-
-
+
diff --git a/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/package.json b/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/package.json
index 7b5d90e547fa..4b20151cb221 100644
--- a/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/package.json
+++ b/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/package.json
@@ -2,10 +2,11 @@
"name": "@azure/arm-subscriptions-profile-2020-09-01-hybrid",
"author": "Microsoft Corporation",
"description": "SubscriptionClient Library with typescript type definitions for node.js and browser.",
- "version": "1.0.0",
+ "version": "1.1.0",
"dependencies": {
- "@azure/ms-rest-azure-js": "^2.0.1",
- "@azure/ms-rest-js": "^2.0.4",
+ "@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": [
@@ -20,7 +21,7 @@
"module": "./esm/subscriptionClient.js",
"types": "./esm/subscriptionClient.d.ts",
"devDependencies": {
- "typescript": "^3.5.3",
+ "typescript": "^3.6.0",
"rollup": "^1.18.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-sourcemaps": "^0.4.2",
diff --git a/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/src/subscriptionClient.ts b/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/src/subscriptionClient.ts
index 431b90d98a38..8141c14175c2 100644
--- a/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/src/subscriptionClient.ts
+++ b/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/src/subscriptionClient.ts
@@ -9,6 +9,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 Parameters from "./models/parameters";
@@ -24,10 +25,15 @@ class SubscriptionClient extends SubscriptionClientContext {
/**
* Initializes a new instance of the SubscriptionClient 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 [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, options?: Models.SubscriptionClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, options?: Models.SubscriptionClientOptions) {
super(credentials, options);
this.operations = new operations.Operations(this);
this.subscriptions = new operations.Subscriptions(this);
diff --git a/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/src/subscriptionClientContext.ts b/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/src/subscriptionClientContext.ts
index bcef1cc8ac0b..52dafc913ef9 100644
--- a/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/src/subscriptionClientContext.ts
+++ b/sdk/subscription/arm-subscriptions-profile-2020-09-01-hybrid/src/subscriptionClientContext.ts
@@ -10,21 +10,27 @@
import * as Models from "./models";
import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
import * as msRestAzure from "@azure/ms-rest-azure-js";
const packageName = "@azure/arm-subscriptions-profile-2020-09-01-hybrid";
-const packageVersion = "1.0.0";
+const packageVersion = "1.1.0";
export class SubscriptionClientContext extends msRestAzure.AzureServiceClient {
- credentials: msRest.ServiceClientCredentials;
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
apiVersion?: string;
/**
* Initializes a new instance of the SubscriptionClient 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 [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, options?: Models.SubscriptionClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, options?: Models.SubscriptionClientOptions) {
if (credentials == undefined) {
throw new Error('\'credentials\' cannot be null.');
}
diff --git a/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/README.md b/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/README.md
index 5996256d2f2a..584920a5b6c1 100644
--- a/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/README.md
+++ b/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/README.md
@@ -1,89 +1,100 @@
## Azure SubscriptionClient SDK for JavaScript
-This package contains an isomorphic SDK for SubscriptionClient.
+This package contains an isomorphic SDK (runs both in Node.js and in browsers) for SubscriptionClient.
### 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-subscriptions-profile-hybrid-2019-03-01` 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-subscriptions-profile-hybrid-2019-03-01
+npm install --save @azure/arm-subscriptions-profile-hybrid-2019-03-01 @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
+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.
-```bash
-npm install @azure/ms-rest-nodeauth
-```
+#### 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 { SubscriptionClient, SubscriptionModels, SubscriptionMappers } from "@azure/arm-subscriptions-profile-hybrid-2019-03-01";
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
+const { SubscriptionClient } = require("@azure/arm-subscriptions-profile-hybrid-2019-03-01");
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
-msRestNodeAuth.interactiveLogin().then((creds) => {
- const client = new SubscriptionClient(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 SubscriptionClient(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-subscriptions-profile-hybrid-2019-03-01 sample
-
-
+
@@ -95,5 +106,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)
-
-
+
diff --git a/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/package.json b/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/package.json
index 41779db9b83e..3328bf47c719 100644
--- a/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/package.json
+++ b/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/package.json
@@ -2,10 +2,11 @@
"name": "@azure/arm-subscriptions-profile-hybrid-2019-03-01",
"author": "Microsoft Corporation",
"description": "SubscriptionClient Library with typescript type definitions for node.js and browser.",
- "version": "1.0.0",
+ "version": "1.1.0",
"dependencies": {
- "@azure/ms-rest-azure-js": "^1.3.2",
- "@azure/ms-rest-js": "^1.8.1",
+ "@azure/ms-rest-azure-js": "^1.4.0",
+ "@azure/ms-rest-js": "^1.11.0",
+ "@azure/core-auth": "^1.1.4",
"tslib": "^1.9.3"
},
"keywords": [
@@ -21,7 +22,7 @@
"module": "./esm/subscriptionClient.js",
"types": "./esm/subscriptionClient.d.ts",
"devDependencies": {
- "typescript": "^3.1.1",
+ "typescript": "^3.6.0",
"rollup": "^0.66.2",
"rollup-plugin-node-resolve": "^3.4.0",
"rollup-plugin-sourcemaps": "^0.4.2",
diff --git a/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/src/subscriptionClient.ts b/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/src/subscriptionClient.ts
index 188113792eb6..26798d65c839 100644
--- a/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/src/subscriptionClient.ts
+++ b/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/src/subscriptionClient.ts
@@ -9,6 +9,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";
@@ -23,10 +24,15 @@ class SubscriptionClient extends SubscriptionClientContext {
/**
* Initializes a new instance of the SubscriptionClient 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 [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, options?: Models.SubscriptionClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, options?: Models.SubscriptionClientOptions) {
super(credentials, options);
this.operations = new operations.Operations(this);
this.subscriptions = new operations.Subscriptions(this);
diff --git a/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/src/subscriptionClientContext.ts b/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/src/subscriptionClientContext.ts
index 112d5311b639..36f21676a48c 100644
--- a/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/src/subscriptionClientContext.ts
+++ b/sdk/subscription/arm-subscriptions-profile-hybrid-2019-03-01/src/subscriptionClientContext.ts
@@ -10,21 +10,27 @@
import * as Models from "./models";
import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
import * as msRestAzure from "@azure/ms-rest-azure-js";
const packageName = "@azure/arm-subscriptions-profile-hybrid-2019-03-01";
-const packageVersion = "1.0.0";
+const packageVersion = "1.1.0";
export class SubscriptionClientContext extends msRestAzure.AzureServiceClient {
- credentials: msRest.ServiceClientCredentials;
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
apiVersion?: string;
/**
* Initializes a new instance of the SubscriptionClient 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 [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, options?: Models.SubscriptionClientOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, options?: Models.SubscriptionClientOptions) {
if (credentials == undefined) {
throw new Error('\'credentials\' cannot be null.');
}
diff --git a/sdk/support/arm-support/README.md b/sdk/support/arm-support/README.md
index 967c7b23d6d9..38122e7912e5 100644
--- a/sdk/support/arm-support/README.md
+++ b/sdk/support/arm-support/README.md
@@ -1,90 +1,100 @@
## Azure MicrosoftSupport SDK for JavaScript
-This package contains an isomorphic SDK for MicrosoftSupport.
+This package contains an isomorphic SDK (runs both in Node.js and in browsers) for MicrosoftSupport.
### 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-support` 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-support
+npm install --save @azure/arm-support @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
+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.
-- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`.
-```bash
-npm install @azure/ms-rest-nodeauth@"^3.0.0"
-```
+#### 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 { MicrosoftSupport, MicrosoftSupportModels, MicrosoftSupportMappers } from "@azure/arm-support";
+```javascript
+const { DefaultAzureCredential } = require("@azure/identity");
+const { MicrosoftSupport } = require("@azure/arm-support");
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
-msRestNodeAuth.interactiveLogin().then((creds) => {
- const client = new MicrosoftSupport(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 MicrosoftSupport(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.
-
-##### Install @azure/ms-rest-browserauth
+#### browser - Authentication, client creation, and list operations as an example written in JavaScript.
-```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-support sample
-
-
+
diff --git a/sdk/support/arm-support/package.json b/sdk/support/arm-support/package.json
index 275ea5195a21..de53022cc98d 100644
--- a/sdk/support/arm-support/package.json
+++ b/sdk/support/arm-support/package.json
@@ -2,10 +2,11 @@
"name": "@azure/arm-support",
"author": "Microsoft Corporation",
"description": "MicrosoftSupport Library with typescript type definitions for node.js and browser.",
- "version": "1.0.0",
+ "version": "1.1.0",
"dependencies": {
- "@azure/ms-rest-azure-js": "^2.0.1",
- "@azure/ms-rest-js": "^2.0.4",
+ "@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": [
@@ -20,7 +21,7 @@
"module": "./esm/microsoftSupport.js",
"types": "./esm/microsoftSupport.d.ts",
"devDependencies": {
- "typescript": "^3.5.3",
+ "typescript": "^3.6.0",
"rollup": "^1.18.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-sourcemaps": "^0.4.2",
diff --git a/sdk/support/arm-support/src/microsoftSupport.ts b/sdk/support/arm-support/src/microsoftSupport.ts
index 4b52aeb0dd1e..8395932926de 100644
--- a/sdk/support/arm-support/src/microsoftSupport.ts
+++ b/sdk/support/arm-support/src/microsoftSupport.ts
@@ -9,6 +9,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";
@@ -25,11 +26,16 @@ class MicrosoftSupport extends MicrosoftSupportContext {
/**
* Initializes a new instance of the MicrosoftSupport 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 Azure subscription Id.
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.MicrosoftSupportOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.MicrosoftSupportOptions) {
super(credentials, subscriptionId, options);
this.operations = new operations.Operations(this);
this.services = new operations.Services(this);
diff --git a/sdk/support/arm-support/src/microsoftSupportContext.ts b/sdk/support/arm-support/src/microsoftSupportContext.ts
index 2ba89d1d59f5..c1d8a884823a 100644
--- a/sdk/support/arm-support/src/microsoftSupportContext.ts
+++ b/sdk/support/arm-support/src/microsoftSupportContext.ts
@@ -10,23 +10,29 @@
import * as Models from "./models";
import * as msRest from "@azure/ms-rest-js";
+import { TokenCredential } from "@azure/core-auth";
import * as msRestAzure from "@azure/ms-rest-azure-js";
const packageName = "@azure/arm-support";
-const packageVersion = "1.0.0";
+const packageVersion = "1.1.0";
export class MicrosoftSupportContext extends msRestAzure.AzureServiceClient {
- credentials: msRest.ServiceClientCredentials;
+ credentials: msRest.ServiceClientCredentials | TokenCredential;
subscriptionId: string;
apiVersion?: string;
/**
* Initializes a new instance of the MicrosoftSupport 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 Azure subscription Id.
* @param [options] The parameter options
*/
- constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.MicrosoftSupportOptions) {
+ constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.MicrosoftSupportOptions) {
if (credentials == undefined) {
throw new Error('\'credentials\' cannot be null.');
}