Skip to content

Commit c09ada8

Browse files
author
SDKAuto
committed
CodeGen from PR 14736 in Azure/azure-rest-api-specs
Merge 2290fefedc09ebcef566a51b9bfc99e3ece13257 into f7535f8211b7fe9a8d5e5ebdc09830677b55285c
1 parent 556da80 commit c09ada8

13 files changed

+1461
-2028
lines changed

sdk/policy/arm-policy/README.md

Lines changed: 57 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,99 @@
11
## Azure PolicyClient SDK for JavaScript
22

3-
This package contains an isomorphic SDK for PolicyClient.
3+
This package contains an isomorphic SDK (runs both in node.js and in browsers) for PolicyClient.
44

55
### Currently supported environments
66

7-
- Node.js version 6.x.x or higher
8-
- Browser JavaScript
7+
- [LTS versions of Node.js](https://nodejs.org/about/releases/)
8+
- Latest versions of Safari, Chrome, Edge and Firefox.
99

10-
### How to Install
10+
### Prerequisites
1111

12+
You must have an [Azure subscription](https://azure.microsoft.com/free/).
13+
14+
### How to install
15+
16+
To use this SDK in your project, you will need to install two packages.
17+
- `@azure/arm-policy` that contains the client.
18+
- `@azure/identity` that provides different mechanisms for the client to authenticate your requests using Azure Active Directory.
19+
20+
Install both packages using the below command:
1221
```bash
13-
npm install @azure/arm-policy
22+
npm install --save @azure/arm-policy @azure/identity
1423
```
24+
> **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.
25+
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.
1526

1627
### How to use
1728

18-
#### nodejs - client creation and getByPolicyMode dataPolicyManifests as an example written in TypeScript.
29+
- If you are writing a client side browser application,
30+
- 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.
31+
- 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.
32+
- If you are writing a server side application,
33+
- [Select a credential from `@azure/identity` based on the authentication method of your choice](https://aka.ms/azsdk/js/identity/examples)
34+
- Complete the set up steps required by the credential if any.
35+
- Use the credential you picked in the place of `DefaultAzureCredential` in the Node.js sample below.
1936

20-
##### Install @azure/ms-rest-nodeauth
21-
22-
- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`.
23-
24-
```bash
25-
npm install @azure/ms-rest-nodeauth@"^3.0.0"
26-
```
37+
In the below samples, we pass the credential and the Azure subscription id to instantiate the client.
38+
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.
39+
#### nodejs - Authentication, client creation, and getByPolicyMode dataPolicyManifests as an example written in JavaScript.
2740

2841
##### Sample code
2942

30-
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
31-
32-
```typescript
33-
const msRestNodeAuth = require("@azure/ms-rest-nodeauth");
43+
```javascript
44+
const { DefaultAzureCredential } = require("@azure/identity");
3445
const { PolicyClient } = require("@azure/arm-policy");
3546
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
3647

37-
msRestNodeAuth
38-
.interactiveLogin()
39-
.then((creds) => {
40-
const client = new PolicyClient(creds, subscriptionId);
41-
const policyMode = "testpolicyMode";
42-
client.dataPolicyManifests.getByPolicyMode(policyMode).then((result) => {
43-
console.log("The result is:");
44-
console.log(result);
45-
});
46-
})
47-
.catch((err) => {
48-
console.error(err);
49-
});
48+
// Use `DefaultAzureCredential` or any other credential of your choice based on https://aka.ms/azsdk/js/identity/examples
49+
// Please note that you can also use credentials from the `@azure/ms-rest-nodeauth` package instead.
50+
const creds = new DefaultAzureCredential();
51+
const client = new PolicyClient(creds, subscriptionId);
52+
const policyMode = "testpolicyMode";
53+
client.dataPolicyManifests.getByPolicyMode(policyMode).then((result) => {
54+
console.log("The result is:");
55+
console.log(result);
56+
}).catch((err) => {
57+
console.log("An error occurred:");
58+
console.error(err);
59+
});
5060
```
5161

52-
#### browser - Authentication, client creation and getByPolicyMode dataPolicyManifests as an example written in JavaScript.
53-
54-
##### Install @azure/ms-rest-browserauth
62+
#### browser - Authentication, client creation, and getByPolicyMode dataPolicyManifests as an example written in JavaScript.
5563

56-
```bash
57-
npm install @azure/ms-rest-browserauth
58-
```
64+
In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser.
65+
- 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.
66+
- Note down the client Id from the previous step and use it in the browser sample below.
5967

6068
##### Sample code
6169

62-
See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
63-
6470
- index.html
6571

6672
```html
6773
<!DOCTYPE html>
6874
<html lang="en">
6975
<head>
7076
<title>@azure/arm-policy sample</title>
71-
<script src="node_modules/@azure/ms-rest-js/dist/msRest.browser.js"></script>
7277
<script src="node_modules/@azure/ms-rest-azure-js/dist/msRestAzure.js"></script>
73-
<script src="node_modules/@azure/ms-rest-browserauth/dist/msAuth.js"></script>
78+
<script src="node_modules/@azure/identity/dist/index.js"></script>
7479
<script src="node_modules/@azure/arm-policy/dist/arm-policy.js"></script>
7580
<script type="text/javascript">
7681
const subscriptionId = "<Subscription_Id>";
77-
const authManager = new msAuth.AuthManager({
82+
// Create credentials using the `@azure/identity` package.
83+
// Please note that you can also use credentials from the `@azure/ms-rest-browserauth` package instead.
84+
const credential = new InteractiveBrowserCredential(
85+
{
7886
clientId: "<client id for your Azure AD app>",
7987
tenant: "<optional tenant for your organization>"
8088
});
81-
authManager.finalizeLogin().then((res) => {
82-
if (!res.isLoggedIn) {
83-
// may cause redirects
84-
authManager.login();
85-
}
86-
const client = new Azure.ArmPolicy.PolicyClient(res.creds, subscriptionId);
87-
const policyMode = "testpolicyMode";
88-
client.dataPolicyManifests
89-
.getByPolicyMode(policyMode)
90-
.then((result) => {
91-
console.log("The result is:");
92-
console.log(result);
93-
})
94-
.catch((err) => {
95-
console.log("An error occurred:");
96-
console.error(err);
97-
});
89+
const client = new Azure.ArmPolicy.PolicyClient(creds, subscriptionId);
90+
const policyMode = "testpolicyMode";
91+
client.dataPolicyManifests.getByPolicyMode(policyMode).then((result) => {
92+
console.log("The result is:");
93+
console.log(result);
94+
}).catch((err) => {
95+
console.log("An error occurred:");
96+
console.error(err);
9897
});
9998
</script>
10099
</head>

sdk/policy/arm-policy/package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
"description": "PolicyClient Library with typescript type definitions for node.js and browser.",
55
"version": "4.0.0",
66
"dependencies": {
7-
"@azure/ms-rest-azure-js": "^2.0.1",
8-
"@azure/ms-rest-js": "^2.0.4",
7+
"@azure/ms-rest-azure-js": "^2.1.0",
8+
"@azure/ms-rest-js": "^2.2.0",
9+
"@azure/core-auth": "^1.1.4",
910
"tslib": "^1.10.0"
1011
},
1112
"keywords": [
@@ -20,13 +21,13 @@
2021
"module": "./esm/policyClient.js",
2122
"types": "./esm/policyClient.d.ts",
2223
"devDependencies": {
23-
"typescript": "^3.5.3",
24+
"typescript": "^3.6.0",
2425
"rollup": "^1.18.0",
2526
"rollup-plugin-node-resolve": "^5.2.0",
2627
"rollup-plugin-sourcemaps": "^0.4.2",
2728
"uglify-js": "^3.6.0"
2829
},
29-
"homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/policy/arm-policy",
30+
"homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/policy/arm-policy",
3031
"repository": {
3132
"type": "git",
3233
"url": "https://github.com/Azure/azure-sdk-for-js.git"

sdk/policy/arm-policy/rollup.config.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ import sourcemaps from "rollup-plugin-sourcemaps";
77
*/
88
const config = {
99
input: "./esm/policyClient.js",
10-
external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"],
10+
external: [
11+
"@azure/ms-rest-js",
12+
"@azure/ms-rest-azure-js"
13+
],
1114
output: {
1215
file: "./dist/arm-policy.js",
1316
format: "umd",
@@ -25,7 +28,10 @@ const config = {
2528
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
2629
*/`
2730
},
28-
plugins: [nodeResolve({ mainFields: ["module", "main"] }), sourcemaps()]
31+
plugins: [
32+
nodeResolve({ mainFields: ['module', 'main'] }),
33+
sourcemaps()
34+
]
2935
};
3036

3137
export default config;

0 commit comments

Comments
 (0)