Skip to content

Commit c48ef57

Browse files
author
SDKAuto
committed
CodeGen from PR 15577 in Azure/azure-rest-api-specs
Merge e048b46b2c40d62fabd94c783dcfeabbd83be831 into 81ec17ce66f59c587024bfa8002fafb4436b83ef
1 parent 3b51a6e commit c48ef57

39 files changed

+13617
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2021 Microsoft
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
## Azure DataProtectionClient SDK for JavaScript
2+
3+
This package contains an isomorphic SDK (runs both in node.js and in browsers) for DataProtectionClient.
4+
5+
### Currently supported environments
6+
7+
- [LTS versions of Node.js](https://nodejs.org/about/releases/)
8+
- Latest versions of Safari, Chrome, Edge and Firefox.
9+
10+
### Prerequisites
11+
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-dataprotectionplatform` 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:
21+
```bash
22+
npm install --save @azure/arm-dataprotectionplatform @azure/identity
23+
```
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.
26+
27+
### How to use
28+
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.
36+
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 getInSubscription backupVaults as an example written in JavaScript.
40+
41+
##### Sample code
42+
43+
```javascript
44+
const { DefaultAzureCredential } = require("@azure/identity");
45+
const { DataProtectionClient } = require("@azure/arm-dataprotectionplatform");
46+
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
47+
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 DataProtectionClient(creds, subscriptionId);
52+
client.backupVaults.getInSubscription().then((result) => {
53+
console.log("The result is:");
54+
console.log(result);
55+
}).catch((err) => {
56+
console.log("An error occurred:");
57+
console.error(err);
58+
});
59+
```
60+
61+
#### browser - Authentication, client creation, and getInSubscription backupVaults as an example written in JavaScript.
62+
63+
In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser.
64+
- 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.
65+
- Note down the client Id from the previous step and use it in the browser sample below.
66+
67+
##### Sample code
68+
69+
- index.html
70+
71+
```html
72+
<!DOCTYPE html>
73+
<html lang="en">
74+
<head>
75+
<title>@azure/arm-dataprotectionplatform sample</title>
76+
<script src="node_modules/@azure/ms-rest-azure-js/dist/msRestAzure.js"></script>
77+
<script src="node_modules/@azure/identity/dist/index.js"></script>
78+
<script src="node_modules/@azure/arm-dataprotectionplatform/dist/arm-dataprotectionplatform.js"></script>
79+
<script type="text/javascript">
80+
const subscriptionId = "<Subscription_Id>";
81+
// Create credentials using the `@azure/identity` package.
82+
// Please note that you can also use credentials from the `@azure/ms-rest-browserauth` package instead.
83+
const credential = new InteractiveBrowserCredential(
84+
{
85+
clientId: "<client id for your Azure AD app>",
86+
tenant: "<optional tenant for your organization>"
87+
});
88+
const client = new Azure.ArmDataprotectionplatform.DataProtectionClient(creds, subscriptionId);
89+
client.backupVaults.getInSubscription().then((result) => {
90+
console.log("The result is:");
91+
console.log(result);
92+
}).catch((err) => {
93+
console.log("An error occurred:");
94+
console.error(err);
95+
});
96+
</script>
97+
</head>
98+
<body></body>
99+
</html>
100+
```
101+
102+
## Related projects
103+
104+
- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
105+
106+
![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/dataprotectionplatform/arm-dataprotectionplatform/README.png)
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{
2+
"name": "@azure/arm-dataprotectionplatform",
3+
"author": "Microsoft Corporation",
4+
"description": "DataProtectionClient Library with typescript type definitions for node.js and browser.",
5+
"version": "1.0.0",
6+
"dependencies": {
7+
"@azure/ms-rest-azure-js": "^2.1.0",
8+
"@azure/ms-rest-js": "^2.2.0",
9+
"@azure/core-auth": "^1.1.4",
10+
"tslib": "^1.10.0"
11+
},
12+
"keywords": [
13+
"node",
14+
"azure",
15+
"typescript",
16+
"browser",
17+
"isomorphic"
18+
],
19+
"license": "MIT",
20+
"main": "./dist/arm-dataprotectionplatform.js",
21+
"module": "./esm/dataProtectionClient.js",
22+
"types": "./esm/dataProtectionClient.d.ts",
23+
"devDependencies": {
24+
"typescript": "^3.6.0",
25+
"rollup": "^1.18.0",
26+
"rollup-plugin-node-resolve": "^5.2.0",
27+
"rollup-plugin-sourcemaps": "^0.4.2",
28+
"uglify-js": "^3.6.0"
29+
},
30+
"homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/dataprotectionplatform/arm-dataprotectionplatform",
31+
"repository": {
32+
"type": "git",
33+
"url": "https://github.com/Azure/azure-sdk-for-js.git"
34+
},
35+
"bugs": {
36+
"url": "https://github.com/Azure/azure-sdk-for-js/issues"
37+
},
38+
"files": [
39+
"dist/**/*.js",
40+
"dist/**/*.js.map",
41+
"dist/**/*.d.ts",
42+
"dist/**/*.d.ts.map",
43+
"esm/**/*.js",
44+
"esm/**/*.js.map",
45+
"esm/**/*.d.ts",
46+
"esm/**/*.d.ts.map",
47+
"src/**/*.ts",
48+
"README.md",
49+
"rollup.config.js",
50+
"tsconfig.json"
51+
],
52+
"scripts": {
53+
"build": "tsc && rollup -c rollup.config.js && npm run minify",
54+
"minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-dataprotectionplatform.js.map'\" -o ./dist/arm-dataprotectionplatform.min.js ./dist/arm-dataprotectionplatform.js",
55+
"prepack": "npm install && npm run build"
56+
},
57+
"sideEffects": false,
58+
"autoPublish": true
59+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import rollup from "rollup";
2+
import nodeResolve from "rollup-plugin-node-resolve";
3+
import sourcemaps from "rollup-plugin-sourcemaps";
4+
5+
/**
6+
* @type {rollup.RollupFileOptions}
7+
*/
8+
const config = {
9+
input: "./esm/dataProtectionClient.js",
10+
external: [
11+
"@azure/ms-rest-js",
12+
"@azure/ms-rest-azure-js"
13+
],
14+
output: {
15+
file: "./dist/arm-dataprotectionplatform.js",
16+
format: "umd",
17+
name: "Azure.ArmDataprotectionplatform",
18+
sourcemap: true,
19+
globals: {
20+
"@azure/ms-rest-js": "msRest",
21+
"@azure/ms-rest-azure-js": "msRestAzure"
22+
},
23+
banner: `/*
24+
* Copyright (c) Microsoft Corporation.
25+
* Licensed under the MIT License.
26+
*
27+
* Code generated by Microsoft (R) AutoRest Code Generator.
28+
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
29+
*/`
30+
},
31+
plugins: [
32+
nodeResolve({ mainFields: ['module', 'main'] }),
33+
sourcemaps()
34+
]
35+
};
36+
37+
export default config;
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
/*
2+
* Copyright (c) Microsoft Corporation.
3+
* Licensed under the MIT License.
4+
*
5+
* Code generated by Microsoft (R) AutoRest Code Generator.
6+
* Changes may cause incorrect behavior and will be lost if the code is
7+
* regenerated.
8+
*/
9+
10+
import * as msRest from "@azure/ms-rest-js";
11+
import { TokenCredential } from "@azure/core-auth";
12+
import * as Models from "./models";
13+
import * as Mappers from "./models/mappers";
14+
import * as operations from "./operations";
15+
import { DataProtectionClientContext } from "./dataProtectionClientContext";
16+
17+
18+
class DataProtectionClient extends DataProtectionClientContext {
19+
// Operation groups
20+
backupVaults: operations.BackupVaults;
21+
operationResult: operations.OperationResult;
22+
operationStatus: operations.OperationStatus;
23+
backupVaultOperationResults: operations.BackupVaultOperationResults;
24+
dataProtection: operations.DataProtection;
25+
dataProtectionOperations: operations.DataProtectionOperations;
26+
backupPolicies: operations.BackupPolicies;
27+
backupInstances: operations.BackupInstances;
28+
recoveryPoints: operations.RecoveryPoints;
29+
jobs: operations.Jobs;
30+
restorableTimeRanges: operations.RestorableTimeRanges;
31+
exportJobs: operations.ExportJobs;
32+
exportJobsOperationResult: operations.ExportJobsOperationResult;
33+
resourceGuards: operations.ResourceGuards;
34+
35+
/**
36+
* Initializes a new instance of the DataProtectionClient class.
37+
* @param credentials Credentials needed for the client to connect to Azure. Credentials
38+
* implementing the TokenCredential interface from the @azure/identity package are recommended. For
39+
* more information about these credentials, see
40+
* {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the
41+
* ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and
42+
* @azure/ms-rest-browserauth are also supported.
43+
* @param subscriptionId The subscription Id.
44+
* @param [options] The parameter options
45+
*/
46+
constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.DataProtectionClientOptions) {
47+
super(credentials, subscriptionId, options);
48+
this.backupVaults = new operations.BackupVaults(this);
49+
this.operationResult = new operations.OperationResult(this);
50+
this.operationStatus = new operations.OperationStatus(this);
51+
this.backupVaultOperationResults = new operations.BackupVaultOperationResults(this);
52+
this.dataProtection = new operations.DataProtection(this);
53+
this.dataProtectionOperations = new operations.DataProtectionOperations(this);
54+
this.backupPolicies = new operations.BackupPolicies(this);
55+
this.backupInstances = new operations.BackupInstances(this);
56+
this.recoveryPoints = new operations.RecoveryPoints(this);
57+
this.jobs = new operations.Jobs(this);
58+
this.restorableTimeRanges = new operations.RestorableTimeRanges(this);
59+
this.exportJobs = new operations.ExportJobs(this);
60+
this.exportJobsOperationResult = new operations.ExportJobsOperationResult(this);
61+
this.resourceGuards = new operations.ResourceGuards(this);
62+
}
63+
}
64+
65+
// Operation Specifications
66+
67+
export {
68+
DataProtectionClient,
69+
DataProtectionClientContext,
70+
Models as DataProtectionModels,
71+
Mappers as DataProtectionMappers
72+
};
73+
export * from "./operations";
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
/*
2+
* Copyright (c) Microsoft Corporation.
3+
* Licensed under the MIT License.
4+
*
5+
* Code generated by Microsoft (R) AutoRest Code Generator.
6+
* Changes may cause incorrect behavior and will be lost if the code is
7+
* regenerated.
8+
*/
9+
10+
import * as Models from "./models";
11+
import * as msRest from "@azure/ms-rest-js";
12+
import * as msRestAzure from "@azure/ms-rest-azure-js";
13+
import { TokenCredential } from "@azure/core-auth";
14+
15+
const packageName = "@azure/arm-dataprotectionplatform";
16+
const packageVersion = "1.0.0";
17+
18+
export class DataProtectionClientContext extends msRestAzure.AzureServiceClient {
19+
credentials: msRest.ServiceClientCredentials | TokenCredential;
20+
subscriptionId: string;
21+
apiVersion?: string;
22+
23+
/**
24+
* Initializes a new instance of the DataProtectionClient class.
25+
* @param credentials Credentials needed for the client to connect to Azure. Credentials
26+
* implementing the TokenCredential interface from the @azure/identity package are recommended. For
27+
* more information about these credentials, see
28+
* {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the
29+
* ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and
30+
* @azure/ms-rest-browserauth are also supported.
31+
* @param subscriptionId The subscription Id.
32+
* @param [options] The parameter options
33+
*/
34+
constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.DataProtectionClientOptions) {
35+
if (credentials == undefined) {
36+
throw new Error('\'credentials\' cannot be null.');
37+
}
38+
if (subscriptionId == undefined) {
39+
throw new Error('\'subscriptionId\' cannot be null.');
40+
}
41+
42+
if (!options) {
43+
options = {};
44+
}
45+
if (!options.userAgent) {
46+
const defaultUserAgent = msRestAzure.getDefaultUserAgentValue();
47+
options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`;
48+
}
49+
50+
super(credentials, options);
51+
52+
this.apiVersion = '2021-07-01';
53+
this.acceptLanguage = 'en-US';
54+
this.longRunningOperationRetryTimeout = 30;
55+
this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com";
56+
this.requestContentType = "application/json; charset=utf-8";
57+
this.credentials = credentials;
58+
this.subscriptionId = subscriptionId;
59+
60+
if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) {
61+
this.acceptLanguage = options.acceptLanguage;
62+
}
63+
if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {
64+
this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;
65+
}
66+
}
67+
}

0 commit comments

Comments
 (0)