diff --git a/packages/@azure/arm-hanaonazure/LICENSE.txt b/packages/@azure/arm-hanaonazure/LICENSE.txt index a70e8cf66038..8f3d856145c5 100644 --- a/packages/@azure/arm-hanaonazure/LICENSE.txt +++ b/packages/@azure/arm-hanaonazure/LICENSE.txt @@ -1,21 +1,21 @@ -The MIT License (MIT) - -Copyright (c) 2018 Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +The MIT License (MIT) + +Copyright (c) 2019 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/@azure/arm-hanaonazure/README.md b/packages/@azure/arm-hanaonazure/README.md index b69df6cc8363..3c968396a6f3 100644 --- a/packages/@azure/arm-hanaonazure/README.md +++ b/packages/@azure/arm-hanaonazure/README.md @@ -1,96 +1,96 @@ -## Azure HanaManagementClient SDK for JavaScript - -This package contains an isomorphic SDK for HanaManagementClient. - -### Currently supported environments - -- Node.js version 6.x.x or higher -- Browser JavaScript - -### How to Install - -``` -npm install @azure/arm-hanaonazure -``` - -### How to use - -#### nodejs - Authentication, client creation and list operations as an example written in TypeScript. - -##### Install @azure/ms-rest-nodeauth - -``` -npm install @azure/ms-rest-nodeauth -``` - -##### 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 { HanaManagementClient, HanaManagementModels, HanaManagementMappers } from "@azure/arm-hanaonazure"; -const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; - -msRestNodeAuth.interactiveLogin().then((creds) => { - const client = new HanaManagementClient(creds, subscriptionId); - client.operations.list().then((result) => { - console.log("The result is:"); - console.log(result); - }); -}).catch((err) => { - console.error(err); -}); -``` - -#### browser - Authentication, client creation and list operations as an example written in JavaScript. - -##### Install @azure/ms-rest-browserauth - -``` -npm install @azure/ms-rest-browserauth -``` - -##### 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-hanaonazure sample - - - - - - - - -``` - -## Related projects - -- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) +## Azure HanaManagementClient SDK for JavaScript + +This package contains an isomorphic SDK for HanaManagementClient. + +### Currently supported environments + +- Node.js version 6.x.x or higher +- Browser JavaScript + +### How to Install + +```bash +npm install @azure/arm-hanaonazure +``` + +### How to use + +#### nodejs - Authentication, client creation and list operations as an example written in TypeScript. + +##### Install @azure/ms-rest-nodeauth + +```bash +npm install @azure/ms-rest-nodeauth +``` + +##### 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 { HanaManagementClient, HanaManagementModels, HanaManagementMappers } from "@azure/arm-hanaonazure"; +const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; + +msRestNodeAuth.interactiveLogin().then((creds) => { + const client = new HanaManagementClient(creds, subscriptionId); + client.operations.list().then((result) => { + console.log("The result is:"); + console.log(result); + }); +}).catch((err) => { + console.error(err); +}); +``` + +#### 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 +``` + +##### 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-hanaonazure sample + + + + + + + + +``` + +## Related projects + +- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) diff --git a/packages/@azure/arm-hanaonazure/lib/hanaManagementClientContext.ts b/packages/@azure/arm-hanaonazure/lib/hanaManagementClientContext.ts index 6506ab6335f4..4744af7462fc 100644 --- a/packages/@azure/arm-hanaonazure/lib/hanaManagementClientContext.ts +++ b/packages/@azure/arm-hanaonazure/lib/hanaManagementClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-hanaonazure"; -const packageVersion = "0.1.0"; +const packageVersion = "1.1.0"; export class HanaManagementClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; diff --git a/packages/@azure/arm-hanaonazure/lib/models/hanaInstancesMappers.ts b/packages/@azure/arm-hanaonazure/lib/models/hanaInstancesMappers.ts index 372919817d1b..fd17255c6486 100644 --- a/packages/@azure/arm-hanaonazure/lib/models/hanaInstancesMappers.ts +++ b/packages/@azure/arm-hanaonazure/lib/models/hanaInstancesMappers.ts @@ -20,6 +20,7 @@ export { NetworkProfile, IpAddress, ErrorResponse, + Tags, CloudError } from "../models/mappers"; diff --git a/packages/@azure/arm-hanaonazure/lib/models/index.ts b/packages/@azure/arm-hanaonazure/lib/models/index.ts index 31ea3c1487cc..8da575a5a9ae 100644 --- a/packages/@azure/arm-hanaonazure/lib/models/index.ts +++ b/packages/@azure/arm-hanaonazure/lib/models/index.ts @@ -72,8 +72,8 @@ export interface HardwareProfile { /** * @member {HanaInstanceSizeNamesEnum} [hanaInstanceSize] Specifies the HANA * instance SKU. Possible values include: 'S72m', 'S144m', 'S72', 'S144', - * 'S192', 'S192m', 'S192xm', 'S384', 'S384m', 'S384xm', 'S384xxm', 'S576m', - * 'S576xm', 'S768', 'S768m', 'S768xm', 'S960m' + * 'S192', 'S192m', 'S192xm', 'S96', 'S384', 'S384m', 'S384xm', 'S384xxm', + * 'S576m', 'S576xm', 'S768', 'S768m', 'S768xm', 'S960m' * **NOTE: This property will not be serialized. It can only be populated by * the server.** */ @@ -158,7 +158,7 @@ export interface OSProfile { /** * @interface * An interface representing IpAddress. - * Specifies the IP address of the network interaface. + * Specifies the IP address of the network interface. * */ export interface IpAddress { @@ -234,6 +234,19 @@ export interface HanaInstance extends Resource { * the server.** */ readonly powerState?: HanaInstancePowerStateEnum; + /** + * @member {string} [proximityPlacementGroup] Resource proximity placement + * group + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly proximityPlacementGroup?: string; + /** + * @member {string} [hwRevision] Hardware revision of a HANA instance + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly hwRevision?: string; } /** @@ -327,6 +340,20 @@ export interface ErrorResponse { message?: string; } +/** + * @interface + * An interface representing Tags. + * Tags field of the HANA instance. + * + */ +export interface Tags { + /** + * @member {{ [propertyName: string]: string }} [tags] Tags field of the HANA + * instance. + */ + tags?: { [propertyName: string]: string }; +} + /** * @interface * An interface representing HanaManagementClientOptions. @@ -374,12 +401,12 @@ export type HanaHardwareTypeNamesEnum = 'Cisco_UCS' | 'HPE'; /** * Defines values for HanaInstanceSizeNamesEnum. - * Possible values include: 'S72m', 'S144m', 'S72', 'S144', 'S192', 'S192m', 'S192xm', 'S384', - * 'S384m', 'S384xm', 'S384xxm', 'S576m', 'S576xm', 'S768', 'S768m', 'S768xm', 'S960m' + * Possible values include: 'S72m', 'S144m', 'S72', 'S144', 'S192', 'S192m', 'S192xm', 'S96', + * 'S384', 'S384m', 'S384xm', 'S384xxm', 'S576m', 'S576xm', 'S768', 'S768m', 'S768xm', 'S960m' * @readonly * @enum {string} */ -export type HanaInstanceSizeNamesEnum = 'S72m' | 'S144m' | 'S72' | 'S144' | 'S192' | 'S192m' | 'S192xm' | 'S384' | 'S384m' | 'S384xm' | 'S384xxm' | 'S576m' | 'S576xm' | 'S768' | 'S768m' | 'S768xm' | 'S960m'; +export type HanaInstanceSizeNamesEnum = 'S72m' | 'S144m' | 'S72' | 'S144' | 'S192' | 'S192m' | 'S192xm' | 'S96' | 'S384' | 'S384m' | 'S384xm' | 'S384xxm' | 'S576m' | 'S576xm' | 'S768' | 'S768m' | 'S768xm' | 'S960m'; /** * Defines values for HanaInstancePowerStateEnum. @@ -465,6 +492,25 @@ export type HanaInstancesGetResponse = HanaInstance & { }; }; +/** + * Contains response data for the update operation. + */ +export type HanaInstancesUpdateResponse = HanaInstance & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: HanaInstance; + }; +}; + /** * Contains response data for the listNext operation. */ diff --git a/packages/@azure/arm-hanaonazure/lib/models/mappers.ts b/packages/@azure/arm-hanaonazure/lib/models/mappers.ts index 3bb1b6a63035..39083e8cfe98 100644 --- a/packages/@azure/arm-hanaonazure/lib/models/mappers.ts +++ b/packages/@azure/arm-hanaonazure/lib/models/mappers.ts @@ -271,6 +271,20 @@ export const HanaInstance: msRest.CompositeMapper = { type: { name: "String" } + }, + proximityPlacementGroup: { + readOnly: true, + serializedName: "properties.proximityPlacementGroup", + type: { + name: "String" + } + }, + hwRevision: { + readOnly: true, + serializedName: "properties.hwRevision", + type: { + name: "String" + } } } } @@ -367,6 +381,27 @@ export const ErrorResponse: msRest.CompositeMapper = { } }; +export const Tags: msRest.CompositeMapper = { + serializedName: "Tags", + type: { + name: "Composite", + className: "Tags", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + export const OperationList: msRest.CompositeMapper = { serializedName: "OperationList", type: { diff --git a/packages/@azure/arm-hanaonazure/lib/operations/hanaInstances.ts b/packages/@azure/arm-hanaonazure/lib/operations/hanaInstances.ts index d8a95bcb46e6..200e3e8a9420 100644 --- a/packages/@azure/arm-hanaonazure/lib/operations/hanaInstances.ts +++ b/packages/@azure/arm-hanaonazure/lib/operations/hanaInstances.ts @@ -9,6 +9,7 @@ */ import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; import * as Models from "../models"; import * as Mappers from "../models/hanaInstancesMappers"; import * as Parameters from "../models/parameters"; @@ -117,35 +118,71 @@ export class HanaInstances { } /** - * The operation to restart a SAP HANA instance. + * Patches the Tags field of a SAP HANA instance for the specified subscription, resource group, + * and instance name. + * @summary Patches the Tags field of a SAP HANA instance. * @param resourceGroupName Name of the resource group. * @param hanaInstanceName Name of the SAP HANA on Azure instance. + * @param tagsParameter Request body that only contains the new Tags field * @param [options] The optional parameters - * @returns Promise + * @returns Promise */ - restart(resourceGroupName: string, hanaInstanceName: string, options?: msRest.RequestOptionsBase): Promise; + update(resourceGroupName: string, hanaInstanceName: string, tagsParameter: Models.Tags, options?: msRest.RequestOptionsBase): Promise; /** * @param resourceGroupName Name of the resource group. * @param hanaInstanceName Name of the SAP HANA on Azure instance. + * @param tagsParameter Request body that only contains the new Tags field * @param callback The callback */ - restart(resourceGroupName: string, hanaInstanceName: string, callback: msRest.ServiceCallback): void; + update(resourceGroupName: string, hanaInstanceName: string, tagsParameter: Models.Tags, callback: msRest.ServiceCallback): void; /** * @param resourceGroupName Name of the resource group. * @param hanaInstanceName Name of the SAP HANA on Azure instance. + * @param tagsParameter Request body that only contains the new Tags field * @param options The optional parameters * @param callback The callback */ - restart(resourceGroupName: string, hanaInstanceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - restart(resourceGroupName: string, hanaInstanceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + update(resourceGroupName: string, hanaInstanceName: string, tagsParameter: Models.Tags, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + update(resourceGroupName: string, hanaInstanceName: string, tagsParameter: Models.Tags, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, hanaInstanceName, + tagsParameter, options }, - restartOperationSpec, - callback); + updateOperationSpec, + callback) as Promise; + } + + /** + * The operation to restart a SAP HANA instance. + * @param resourceGroupName Name of the resource group. + * @param hanaInstanceName Name of the SAP HANA on Azure instance. + * @param [options] The optional parameters + * @returns Promise + */ + restart(resourceGroupName: string, hanaInstanceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginRestart(resourceGroupName,hanaInstanceName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * The operation to restart a SAP HANA instance. + * @param resourceGroupName Name of the resource group. + * @param hanaInstanceName Name of the SAP HANA on Azure instance. + * @param [options] The optional parameters + * @returns Promise + */ + beginRestart(resourceGroupName: string, hanaInstanceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + hanaInstanceName, + options + }, + beginRestartOperationSpec, + options); } /** @@ -283,7 +320,39 @@ const getOperationSpec: msRest.OperationSpec = { serializer }; -const restartOperationSpec: msRest.OperationSpec = { +const updateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hanaInstanceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "tagsParameter", + mapper: { + ...Mappers.Tags, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.HanaInstance + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const beginRestartOperationSpec: msRest.OperationSpec = { httpMethod: "POST", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}/restart", urlParameters: [ @@ -298,6 +367,7 @@ const restartOperationSpec: msRest.OperationSpec = { Parameters.acceptLanguage ], responses: { + 200: {}, 202: {}, default: { bodyMapper: Mappers.CloudError diff --git a/packages/@azure/arm-hanaonazure/package.json b/packages/@azure/arm-hanaonazure/package.json index 6aa31a08cfe4..37590960a1ad 100644 --- a/packages/@azure/arm-hanaonazure/package.json +++ b/packages/@azure/arm-hanaonazure/package.json @@ -4,8 +4,8 @@ "description": "HanaManagementClient Library with typescript type definitions for node.js and browser.", "version": "1.1.0", "dependencies": { - "@azure/ms-rest-azure-js": "^1.1.0", - "@azure/ms-rest-js": "^1.1.0", + "@azure/ms-rest-azure-js": "^1.2.0", + "@azure/ms-rest-js": "^1.2.0", "tslib": "^1.9.3" }, "keywords": [ @@ -23,6 +23,7 @@ "typescript": "^3.1.1", "rollup": "^0.66.2", "rollup-plugin-node-resolve": "^3.4.0", + "rollup-plugin-sourcemaps": "^0.4.2", "uglify-js": "^3.4.9" }, "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/packages/@azure/arm-hanaonazure", @@ -51,6 +52,5 @@ "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-hanaonazure.js.map'\" -o ./dist/arm-hanaonazure.min.js ./dist/arm-hanaonazure.js", "prepack": "npm install && npm run build" }, - "sideEffects": false, - "authPublish": true + "sideEffects": false } diff --git a/packages/@azure/arm-hanaonazure/rollup.config.js b/packages/@azure/arm-hanaonazure/rollup.config.js index 5e55897df412..aaa5ec253909 100644 --- a/packages/@azure/arm-hanaonazure/rollup.config.js +++ b/packages/@azure/arm-hanaonazure/rollup.config.js @@ -1,10 +1,16 @@ +import rollup from "rollup"; import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + /** - * @type {import('rollup').RollupFileOptions} + * @type {rollup.RollupFileOptions} */ const config = { - input: './esm/hanaManagementClient.js', - external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"], + input: "./esm/hanaManagementClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], output: { file: "./dist/arm-hanaonazure.js", format: "umd", @@ -16,16 +22,16 @@ const config = { }, banner: `/* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */` }, plugins: [ - nodeResolve({ module: true }) + nodeResolve({ module: true }), + sourcemaps() ] }; + export default config;