diff --git a/sdk/storagecache/arm-storagecache/README.md b/sdk/storagecache/arm-storagecache/README.md
index d42f43290e2c..562cca4b4f13 100644
--- a/sdk/storagecache/arm-storagecache/README.md
+++ b/sdk/storagecache/arm-storagecache/README.md
@@ -1,89 +1,97 @@
 ## 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
-
-- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`.
-```bash
-npm install @azure/ms-rest-nodeauth@"^3.0.0"
-```
+In the below samples, we pass the credential and the Azure subscription id to instantiate the client.
+Once the client is created, explore the operations on it either in your favorite editor or in our [API reference documentation](https://docs.microsoft.com/javascript/api) to get started.
+#### nodejs - Authentication, client creation, and list operations as an example written in JavaScript.
 
 ##### Sample code
 
-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.
+#### 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-storagecache sample
-    
     
-    
+    
     
     
   
diff --git a/sdk/storagecache/arm-storagecache/package.json b/sdk/storagecache/arm-storagecache/package.json
index be9abbe053c5..974c1002b66e 100644
--- a/sdk/storagecache/arm-storagecache/package.json
+++ b/sdk/storagecache/arm-storagecache/package.json
@@ -4,8 +4,9 @@
   "description": "StorageCacheManagementClient Library with typescript type definitions for node.js and browser.",
   "version": "4.0.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,13 +21,13 @@
   "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",
     "uglify-js": "^3.6.0"
   },
-  "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storagecache/arm-storagecache",
+  "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/storagecache/arm-storagecache",
   "repository": {
     "type": "git",
     "url": "https://github.com/Azure/azure-sdk-for-js.git"
diff --git a/sdk/storagecache/arm-storagecache/src/models/index.ts b/sdk/storagecache/arm-storagecache/src/models/index.ts
index 969068b2dc0e..5ec7a4d6ff12 100644
--- a/sdk/storagecache/arm-storagecache/src/models/index.ts
+++ b/sdk/storagecache/arm-storagecache/src/models/index.ts
@@ -346,7 +346,8 @@ export interface CacheNetworkSettings {
    */
   dnsSearchDomain?: string;
   /**
-   * NTP server IP Address or FQDN for the cache to use. The default is time.windows.com.
+   * NTP server IP Address or FQDN for the cache to use. The default is time.windows.com. Default
+   * value: 'time.windows.com'.
    */
   ntpServer?: string;
 }
@@ -718,7 +719,7 @@ export interface NamespaceJunction {
    */
   nfsExport?: string;
   /**
-   * Name of the access policy applied to this junction.
+   * Name of the access policy applied to this junction. Default value: 'default'.
    */
   nfsAccessPolicy?: string;
 }
diff --git a/sdk/storagecache/arm-storagecache/src/models/mappers.ts b/sdk/storagecache/arm-storagecache/src/models/mappers.ts
index ca2d43cbe9a1..0eb80db652a1 100644
--- a/sdk/storagecache/arm-storagecache/src/models/mappers.ts
+++ b/sdk/storagecache/arm-storagecache/src/models/mappers.ts
@@ -565,6 +565,7 @@ export const CacheNetworkSettings: msRest.CompositeMapper = {
       },
       ntpServer: {
         serializedName: "ntpServer",
+        defaultValue: 'time.windows.com',
         type: {
           name: "String"
         }
@@ -1144,6 +1145,7 @@ export const NamespaceJunction: msRest.CompositeMapper = {
       },
       nfsAccessPolicy: {
         serializedName: "nfsAccessPolicy",
+        defaultValue: 'default',
         type: {
           name: "String"
         }
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..9e8d069fcf3f 100644
--- a/sdk/storagecache/arm-storagecache/src/storageCacheManagementClientContext.ts
+++ b/sdk/storagecache/arm-storagecache/src/storageCacheManagementClientContext.ts
@@ -10,23 +10,29 @@
 import * as Models from "./models";
 import * as msRest from "@azure/ms-rest-js";
 import * as msRestAzure from "@azure/ms-rest-azure-js";
+import { TokenCredential } from "@azure/core-auth";
 
 const packageName = "@azure/arm-storagecache";
 const packageVersion = "4.0.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.');
     }
@@ -37,7 +43,7 @@ export class StorageCacheManagementClientContext extends msRestAzure.AzureServic
     if (!options) {
       options = {};
     }
-    if(!options.userAgent) {
+    if (!options.userAgent) {
       const defaultUserAgent = msRestAzure.getDefaultUserAgentValue();
       options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`;
     }
@@ -52,10 +58,10 @@ export class StorageCacheManagementClientContext extends msRestAzure.AzureServic
     this.credentials = credentials;
     this.subscriptionId = subscriptionId;
 
-    if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
+    if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
       this.acceptLanguage = options.acceptLanguage;
     }
-    if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
+    if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
       this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
     }
   }