Skip to content

Commit 8e65169

Browse files
author
SDKAuto
committed
CodeGen from PR 13988 in Azure/azure-rest-api-specs
Merge b88e1a9be8bd1ffb2ceb4e99e2dc583c2f430a28 into 04adf299cf13fc31321c3ebaee7f78895afd1e49
1 parent 0dafe59 commit 8e65169

File tree

6 files changed

+164
-61
lines changed

6 files changed

+164
-61
lines changed

sdk/synapse/arm-synapse/README.md

Lines changed: 58 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,103 @@
11
## Azure SynapseManagementClient SDK for JavaScript
22

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

55
### Currently supported environments
66

7-
- Node.js version 6.x.x or higher
7+
- Node.js version 8.x.x or higher
88
- Browser JavaScript
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-synapse` 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-synapse
22+
npm install --save @azure/arm-synapse @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 get bigDataPools 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-
```bash
24-
npm install @azure/ms-rest-nodeauth@"^3.0.0"
25-
```
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 get bigDataPools as an example written in JavaScript.
2640

2741
##### Sample code
2842

29-
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
30-
```typescript
31-
const msRestNodeAuth = require("@azure/ms-rest-nodeauth");
43+
```javascript
44+
const { DefaultAzureCredential } = require("@azure/identity");
3245
const { SynapseManagementClient } = require("@azure/arm-synapse");
3346
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
3447

35-
msRestNodeAuth.interactiveLogin().then((creds) => {
36-
const client = new SynapseManagementClient(creds, subscriptionId);
37-
const resourceGroupName = "testresourceGroupName";
38-
const workspaceName = "testworkspaceName";
39-
const bigDataPoolName = "testbigDataPoolName";
40-
client.bigDataPools.get(resourceGroupName, workspaceName, bigDataPoolName).then((result) => {
41-
console.log("The result is:");
42-
console.log(result);
43-
});
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 SynapseManagementClient(creds, subscriptionId);
52+
const resourceGroupName = "testresourceGroupName";
53+
const workspaceName = "testworkspaceName";
54+
const bigDataPoolName = "testbigDataPoolName";
55+
client.bigDataPools.get(resourceGroupName, workspaceName, bigDataPoolName).then((result) => {
56+
console.log("The result is:");
57+
console.log(result);
4458
}).catch((err) => {
59+
console.log("An error occurred:");
4560
console.error(err);
4661
});
4762
```
4863

49-
#### browser - Authentication, client creation and get bigDataPools as an example written in JavaScript.
64+
#### browser - Authentication, client creation, and get bigDataPools as an example written in JavaScript.
5065

51-
##### Install @azure/ms-rest-browserauth
52-
53-
```bash
54-
npm install @azure/ms-rest-browserauth
55-
```
66+
In browser applications, we recommend using the `InteractiveBrowserCredential` that interactively authenticates using the default system browser.
67+
- 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.
68+
- Note down the client Id from the previous step and use it in the browser sample below.
5669

5770
##### Sample code
5871

59-
See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
60-
6172
- index.html
73+
6274
```html
6375
<!DOCTYPE html>
6476
<html lang="en">
6577
<head>
6678
<title>@azure/arm-synapse sample</title>
67-
<script src="node_modules/@azure/ms-rest-js/dist/msRest.browser.js"></script>
6879
<script src="node_modules/@azure/ms-rest-azure-js/dist/msRestAzure.js"></script>
69-
<script src="node_modules/@azure/ms-rest-browserauth/dist/msAuth.js"></script>
80+
<script src="node_modules/@azure/identity/dist/index.js"></script>
7081
<script src="node_modules/@azure/arm-synapse/dist/arm-synapse.js"></script>
7182
<script type="text/javascript">
7283
const subscriptionId = "<Subscription_Id>";
73-
const authManager = new msAuth.AuthManager({
84+
// Create credentials using the `@azure/identity` package.
85+
// Please note that you can also use credentials from the `@azure/ms-rest-browserauth` package instead.
86+
const credential = new InteractiveBrowserCredential(
87+
{
7488
clientId: "<client id for your Azure AD app>",
7589
tenant: "<optional tenant for your organization>"
7690
});
77-
authManager.finalizeLogin().then((res) => {
78-
if (!res.isLoggedIn) {
79-
// may cause redirects
80-
authManager.login();
81-
}
82-
const client = new Azure.ArmSynapse.SynapseManagementClient(res.creds, subscriptionId);
83-
const resourceGroupName = "testresourceGroupName";
84-
const workspaceName = "testworkspaceName";
85-
const bigDataPoolName = "testbigDataPoolName";
86-
client.bigDataPools.get(resourceGroupName, workspaceName, bigDataPoolName).then((result) => {
87-
console.log("The result is:");
88-
console.log(result);
89-
}).catch((err) => {
90-
console.log("An error occurred:");
91-
console.error(err);
92-
});
91+
const client = new Azure.ArmSynapse.SynapseManagementClient(creds, subscriptionId);
92+
const resourceGroupName = "testresourceGroupName";
93+
const workspaceName = "testworkspaceName";
94+
const bigDataPoolName = "testbigDataPoolName";
95+
client.bigDataPools.get(resourceGroupName, workspaceName, bigDataPoolName).then((result) => {
96+
console.log("The result is:");
97+
console.log(result);
98+
}).catch((err) => {
99+
console.log("An error occurred:");
100+
console.error(err);
93101
});
94102
</script>
95103
</head>

sdk/synapse/arm-synapse/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
"description": "SynapseManagementClient Library with typescript type definitions for node.js and browser.",
55
"version": "5.1.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,7 +21,7 @@
2021
"module": "./esm/synapseManagementClient.js",
2122
"types": "./esm/synapseManagementClient.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",

sdk/synapse/arm-synapse/src/models/index.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4248,7 +4248,7 @@ export interface Workspace extends TrackedResource {
42484248
*/
42494249
readonly adlaResourceId?: string;
42504250
/**
4251-
* Enable or Disable pubic network access to workspace. Possible values include: 'Enabled',
4251+
* Enable or Disable public network access to workspace. Possible values include: 'Enabled',
42524252
* 'Disabled'
42534253
*/
42544254
publicNetworkAccess?: WorkspacePublicNetworkAccess;
@@ -4318,7 +4318,7 @@ export interface WorkspacePatchInfo {
43184318
*/
43194319
encryption?: EncryptionDetails;
43204320
/**
4321-
* Enable or Disable pubic network access to workspace. Possible values include: 'Enabled',
4321+
* Enable or Disable public network access to workspace. Possible values include: 'Enabled',
43224322
* 'Disabled'
43234323
*/
43244324
publicNetworkAccess?: WorkspacePublicNetworkAccess;
@@ -6817,6 +6817,26 @@ export type PrivateEndpointConnectionsPrivateLinkHubListResponse = PrivateEndpoi
68176817
};
68186818
};
68196819

6820+
/**
6821+
* Contains response data for the get operation.
6822+
*/
6823+
export type PrivateEndpointConnectionsPrivateLinkHubGetResponse = PrivateEndpointConnectionForPrivateLinkHub & {
6824+
/**
6825+
* The underlying HTTP response.
6826+
*/
6827+
_response: msRest.HttpResponse & {
6828+
/**
6829+
* The response body as text (string format)
6830+
*/
6831+
bodyAsText: string;
6832+
6833+
/**
6834+
* The response body as parsed JSON or XML
6835+
*/
6836+
parsedBody: PrivateEndpointConnectionForPrivateLinkHub;
6837+
};
6838+
};
6839+
68206840
/**
68216841
* Contains response data for the listNext operation.
68226842
*/

sdk/synapse/arm-synapse/src/operations/privateEndpointConnectionsPrivateLinkHub.ts

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,42 @@ export class PrivateEndpointConnectionsPrivateLinkHub {
5757
callback) as Promise<Models.PrivateEndpointConnectionsPrivateLinkHubListResponse>;
5858
}
5959

60+
/**
61+
* Get all PrivateEndpointConnection in the PrivateLinkHub by name
62+
* @param resourceGroupName The name of the resource group. The name is case insensitive.
63+
* @param privateLinkHubName Name of the privateLinkHub
64+
* @param privateEndpointConnectionName Name of the privateEndpointConnection
65+
* @param [options] The optional parameters
66+
* @returns Promise<Models.PrivateEndpointConnectionsPrivateLinkHubGetResponse>
67+
*/
68+
get(resourceGroupName: string, privateLinkHubName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase): Promise<Models.PrivateEndpointConnectionsPrivateLinkHubGetResponse>;
69+
/**
70+
* @param resourceGroupName The name of the resource group. The name is case insensitive.
71+
* @param privateLinkHubName Name of the privateLinkHub
72+
* @param privateEndpointConnectionName Name of the privateEndpointConnection
73+
* @param callback The callback
74+
*/
75+
get(resourceGroupName: string, privateLinkHubName: string, privateEndpointConnectionName: string, callback: msRest.ServiceCallback<Models.PrivateEndpointConnectionForPrivateLinkHub>): void;
76+
/**
77+
* @param resourceGroupName The name of the resource group. The name is case insensitive.
78+
* @param privateLinkHubName Name of the privateLinkHub
79+
* @param privateEndpointConnectionName Name of the privateEndpointConnection
80+
* @param options The optional parameters
81+
* @param callback The callback
82+
*/
83+
get(resourceGroupName: string, privateLinkHubName: string, privateEndpointConnectionName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.PrivateEndpointConnectionForPrivateLinkHub>): void;
84+
get(resourceGroupName: string, privateLinkHubName: string, privateEndpointConnectionName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.PrivateEndpointConnectionForPrivateLinkHub>, callback?: msRest.ServiceCallback<Models.PrivateEndpointConnectionForPrivateLinkHub>): Promise<Models.PrivateEndpointConnectionsPrivateLinkHubGetResponse> {
85+
return this.client.sendOperationRequest(
86+
{
87+
resourceGroupName,
88+
privateLinkHubName,
89+
privateEndpointConnectionName,
90+
options
91+
},
92+
getOperationSpec,
93+
callback) as Promise<Models.PrivateEndpointConnectionsPrivateLinkHubGetResponse>;
94+
}
95+
6096
/**
6197
* Get all PrivateEndpointConnections in the PrivateLinkHub
6298
* @param nextPageLink The NextLink from the previous successful call to List operation.
@@ -113,6 +149,32 @@ const listOperationSpec: msRest.OperationSpec = {
113149
serializer
114150
};
115151

152+
const getOperationSpec: msRest.OperationSpec = {
153+
httpMethod: "GET",
154+
path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/privateLinkHubs/{privateLinkHubName}/privateEndpointConnections/{privateEndpointConnectionName}",
155+
urlParameters: [
156+
Parameters.subscriptionId,
157+
Parameters.resourceGroupName,
158+
Parameters.privateLinkHubName,
159+
Parameters.privateEndpointConnectionName
160+
],
161+
queryParameters: [
162+
Parameters.apiVersion
163+
],
164+
headerParameters: [
165+
Parameters.acceptLanguage
166+
],
167+
responses: {
168+
200: {
169+
bodyMapper: Mappers.PrivateEndpointConnectionForPrivateLinkHub
170+
},
171+
default: {
172+
bodyMapper: Mappers.ErrorResponse
173+
}
174+
},
175+
serializer
176+
};
177+
116178
const listNextOperationSpec: msRest.OperationSpec = {
117179
httpMethod: "GET",
118180
baseUrl: "https://management.azure.com",

sdk/synapse/arm-synapse/src/synapseManagementClient.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*/
99

1010
import * as msRest from "@azure/ms-rest-js";
11+
import { TokenCredential } from "@azure/core-auth";
1112
import * as Models from "./models";
1213
import * as Mappers from "./models/mappers";
1314
import * as operations from "./operations";
@@ -80,11 +81,16 @@ class SynapseManagementClient extends SynapseManagementClientContext {
8081

8182
/**
8283
* Initializes a new instance of the SynapseManagementClient class.
83-
* @param credentials Credentials needed for the client to connect to Azure.
84+
* @param credentials Credentials needed for the client to connect to Azure. Credentials
85+
* implementing the TokenCredential interface from the @azure/identity package are recommended. For
86+
* more information about these credentials, see
87+
* {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the
88+
* ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and
89+
* @azure/ms-rest-browserauth are also supported.
8490
* @param subscriptionId The ID of the target subscription.
8591
* @param [options] The parameter options
8692
*/
87-
constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.SynapseManagementClientOptions) {
93+
constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.SynapseManagementClientOptions) {
8894
super(credentials, subscriptionId, options);
8995
this.bigDataPools = new operations.BigDataPools(this);
9096
this.operations = new operations.Operations(this);

sdk/synapse/arm-synapse/src/synapseManagementClientContext.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,28 @@
1010
import * as Models from "./models";
1111
import * as msRest from "@azure/ms-rest-js";
1212
import * as msRestAzure from "@azure/ms-rest-azure-js";
13+
import { TokenCredential } from "@azure/core-auth";
1314

1415
const packageName = "@azure/arm-synapse";
1516
const packageVersion = "5.1.0";
1617

1718
export class SynapseManagementClientContext extends msRestAzure.AzureServiceClient {
18-
credentials: msRest.ServiceClientCredentials;
19+
credentials: msRest.ServiceClientCredentials | TokenCredential;
1920
subscriptionId: string;
2021
apiVersion?: string;
2122

2223
/**
2324
* Initializes a new instance of the SynapseManagementClient class.
24-
* @param credentials Credentials needed for the client to connect to Azure.
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.
2531
* @param subscriptionId The ID of the target subscription.
2632
* @param [options] The parameter options
2733
*/
28-
constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.SynapseManagementClientOptions) {
34+
constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.SynapseManagementClientOptions) {
2935
if (credentials == undefined) {
3036
throw new Error('\'credentials\' cannot be null.');
3137
}
@@ -43,7 +49,7 @@ export class SynapseManagementClientContext extends msRestAzure.AzureServiceClie
4349

4450
super(credentials, options);
4551

46-
this.apiVersion = '2021-03-01';
52+
this.apiVersion = '2021-04-01-preview';
4753
this.acceptLanguage = 'en-US';
4854
this.longRunningOperationRetryTimeout = 30;
4955
this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com";

0 commit comments

Comments
 (0)