diff --git a/packages/@azure/arm-storage/README.md b/packages/@azure/arm-storage/README.md index 63e7d69c0969..f10ebf52b56d 100644 --- a/packages/@azure/arm-storage/README.md +++ b/packages/@azure/arm-storage/README.md @@ -1,34 +1,24 @@ -## Azure StorageManagementClient SDK for JavaScript - +# Azure StorageManagementClient SDK for JavaScript This package contains an isomorphic SDK for StorageManagementClient. -### Currently supported environments - +## Currently supported environments - Node.js version 6.x.x or higher - Browser JavaScript -### How to Install - +## How to Install ``` npm install @azure/arm-storage ``` -### 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 -``` +## How to use -##### Sample code +### nodejs - Authentication, client creation and list operations as an example written in TypeScript. ```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 * as msRest from "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; +import * as msRestNodeAuth from "ms-rest-nodeauth"; import { StorageManagementClient, StorageManagementModels, StorageManagementMappers } from "@azure/arm-storage"; const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; @@ -43,16 +33,7 @@ msRestNodeAuth.interactiveLogin().then((creds) => { }); ``` -#### 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 - +### browser - Authentication, client creation and list operations as an example written in JavaScript. See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. - index.html @@ -61,11 +42,11 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to @azure/arm-storage sample - - - + + + - - + + ``` -## Related projects - -- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) +# Related projects + - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) diff --git a/packages/@azure/arm-storage/lib/models/blobContainersMappers.ts b/packages/@azure/arm-storage/lib/models/blobContainersMappers.ts index 02ac7441ffca..b9610c8cc5c4 100644 --- a/packages/@azure/arm-storage/lib/models/blobContainersMappers.ts +++ b/packages/@azure/arm-storage/lib/models/blobContainersMappers.ts @@ -47,6 +47,7 @@ export { KeyVaultProperties, NetworkRuleSet, VirtualNetworkRule, - IPRule + IPRule, + GeoReplicationStats } from "../models/mappers"; diff --git a/packages/@azure/arm-storage/lib/models/blobServicesMappers.ts b/packages/@azure/arm-storage/lib/models/blobServicesMappers.ts index 7b23c884d348..f428242e7269 100644 --- a/packages/@azure/arm-storage/lib/models/blobServicesMappers.ts +++ b/packages/@azure/arm-storage/lib/models/blobServicesMappers.ts @@ -40,6 +40,7 @@ export { KeyVaultProperties, NetworkRuleSet, VirtualNetworkRule, - IPRule + IPRule, + GeoReplicationStats } from "../models/mappers"; diff --git a/packages/@azure/arm-storage/lib/models/index.ts b/packages/@azure/arm-storage/lib/models/index.ts index 6e00c3b20bfc..4a2b690f6bbc 100644 --- a/packages/@azure/arm-storage/lib/models/index.ts +++ b/packages/@azure/arm-storage/lib/models/index.ts @@ -8,8 +8,8 @@ * regenerated. */ -import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import { BaseResource, CloudError, AzureServiceClientOptions } from "ms-rest-azure-js"; +import * as msRest from "ms-rest-js"; export { BaseResource, CloudError }; @@ -657,6 +657,46 @@ export interface Endpoints { readonly dfs?: string; } +/** + * @interface + * An interface representing GeoReplicationStats. + * Statistics related to replication for storage account's Blob, Table, Queue + * and File services. It is only available when geo-redundant replication is + * enabled for the storage account. + * + */ +export interface GeoReplicationStats { + /** + * @member {GeoReplicationStatus} [status] The status of the secondary + * location. Possible values are: - Live: Indicates that the secondary + * location is active and operational. - Bootstrap: Indicates initial + * synchronization from the primary location to the secondary location is in + * progress.This typically occurs when replication is first enabled. - + * Unavailable: Indicates that the secondary location is temporarily + * unavailable. Possible values include: 'Live', 'Bootstrap', 'Unavailable' + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly status?: GeoReplicationStatus; + /** + * @member {Date} [lastSyncTime] All primary writes preceding this UTC + * date/time value are guaranteed to be available for read operations. + * Primary writes following this point in time may or may not be available + * for reads. Element may be default value if value of LastSyncTime is not + * available, this can happen if secondary is offline or we are in bootstrap. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly lastSyncTime?: Date; + /** + * @member {boolean} [canFailover] A boolean flag which indicates whether or + * not account failover is supported for the account. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly canFailover?: boolean; +} + /** * @interface * An interface representing Resource. @@ -845,6 +885,12 @@ export interface StorageAccount extends TrackedResource { * sets to true. */ isHnsEnabled?: boolean; + /** + * @member {GeoReplicationStats} [geoReplicationStats] Geo Replication Stats + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly geoReplicationStats?: GeoReplicationStats; /** * @member {boolean} [failoverInProgress] If the failover is in progress, the * value will be true, otherwise, it will be null. @@ -1773,6 +1819,23 @@ export interface ManagementPoliciesRulesSetParameter { policy?: any; } +/** + * @interface + * An interface representing StorageAccountsGetPropertiesOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface StorageAccountsGetPropertiesOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {StorageAccountExpand} [expand] May be used to expand the + * properties within account's properties. By default, data is not included + * when fecthing properties. Currently we only support geoReplicationStats. + * Possible values include: 'geoReplicationStats' + */ + expand?: StorageAccountExpand; +} + /** * @interface * An interface representing BlobContainersCreateOptionalParams. @@ -2090,6 +2153,14 @@ export type DefaultAction = 'Allow' | 'Deny'; */ export type AccessTier = 'Hot' | 'Cool'; +/** + * Defines values for GeoReplicationStatus. + * Possible values include: 'Live', 'Bootstrap', 'Unavailable' + * @readonly + * @enum {string} + */ +export type GeoReplicationStatus = 'Live' | 'Bootstrap' | 'Unavailable'; + /** * Defines values for ProvisioningState. * Possible values include: 'Creating', 'ResolvingDNS', 'Succeeded' @@ -2211,6 +2282,14 @@ export type ImmutabilityPolicyState = 'Locked' | 'Unlocked'; */ export type ImmutabilityPolicyUpdateType = 'put' | 'lock' | 'extend'; +/** + * Defines values for StorageAccountExpand. + * Possible values include: 'geoReplicationStats' + * @readonly + * @enum {string} + */ +export type StorageAccountExpand = 'geoReplicationStats'; + /** * Contains response data for the list operation. */ diff --git a/packages/@azure/arm-storage/lib/models/managementPoliciesMappers.ts b/packages/@azure/arm-storage/lib/models/managementPoliciesMappers.ts index 87035d9f663a..520b7edfcab7 100644 --- a/packages/@azure/arm-storage/lib/models/managementPoliciesMappers.ts +++ b/packages/@azure/arm-storage/lib/models/managementPoliciesMappers.ts @@ -41,6 +41,7 @@ export { KeyVaultProperties, NetworkRuleSet, VirtualNetworkRule, - IPRule + IPRule, + GeoReplicationStats } from "../models/mappers"; diff --git a/packages/@azure/arm-storage/lib/models/mappers.ts b/packages/@azure/arm-storage/lib/models/mappers.ts index c1562ced48f0..29ce8d431723 100644 --- a/packages/@azure/arm-storage/lib/models/mappers.ts +++ b/packages/@azure/arm-storage/lib/models/mappers.ts @@ -8,8 +8,8 @@ * regenerated. */ -import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import { CloudErrorMapper, BaseResourceMapper } from "ms-rest-azure-js"; +import * as msRest from "ms-rest-js"; export const CloudError = CloudErrorMapper; export const BaseResource = BaseResourceMapper; @@ -869,6 +869,37 @@ export const Endpoints: msRest.CompositeMapper = { } }; +export const GeoReplicationStats: msRest.CompositeMapper = { + serializedName: "GeoReplicationStats", + type: { + name: "Composite", + className: "GeoReplicationStats", + modelProperties: { + status: { + readOnly: true, + serializedName: "status", + type: { + name: "String" + } + }, + lastSyncTime: { + readOnly: true, + serializedName: "lastSyncTime", + type: { + name: "DateTime" + } + }, + canFailover: { + readOnly: true, + serializedName: "canFailover", + type: { + name: "Boolean" + } + } + } + } +}; + export const Resource: msRest.CompositeMapper = { serializedName: "Resource", type: { @@ -1096,6 +1127,14 @@ export const StorageAccount: msRest.CompositeMapper = { name: "Boolean" } }, + geoReplicationStats: { + readOnly: true, + serializedName: "properties.geoReplicationStats", + type: { + name: "Composite", + className: "GeoReplicationStats" + } + }, failoverInProgress: { readOnly: true, serializedName: "properties.failoverInProgress", diff --git a/packages/@azure/arm-storage/lib/models/parameters.ts b/packages/@azure/arm-storage/lib/models/parameters.ts index 3f9e0c06e4dc..0c82fceb598e 100644 --- a/packages/@azure/arm-storage/lib/models/parameters.ts +++ b/packages/@azure/arm-storage/lib/models/parameters.ts @@ -8,7 +8,7 @@ * regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import * as msRest from "ms-rest-js"; export const acceptLanguage: msRest.OperationParameter = { parameterPath: "acceptLanguage", @@ -90,6 +90,21 @@ export const containerName: msRest.OperationURLParameter = { } } }; +export const expand: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "expand" + ], + mapper: { + serializedName: "$expand", + type: { + name: "Enum", + allowedValues: [ + "geoReplicationStats" + ] + } + } +}; export const ifMatch0: msRest.OperationParameter = { parameterPath: [ "options", diff --git a/packages/@azure/arm-storage/lib/models/storageAccountsMappers.ts b/packages/@azure/arm-storage/lib/models/storageAccountsMappers.ts index 4b1d9870be49..c0d2c310680f 100644 --- a/packages/@azure/arm-storage/lib/models/storageAccountsMappers.ts +++ b/packages/@azure/arm-storage/lib/models/storageAccountsMappers.ts @@ -30,6 +30,7 @@ export { Resource, BaseResource, Endpoints, + GeoReplicationStats, StorageAccountUpdateParameters, StorageAccountListResult, StorageAccountListKeysResult, diff --git a/packages/@azure/arm-storage/lib/operations/blobContainers.ts b/packages/@azure/arm-storage/lib/operations/blobContainers.ts index f7a64dc2d663..ff315c79a6b2 100644 --- a/packages/@azure/arm-storage/lib/operations/blobContainers.ts +++ b/packages/@azure/arm-storage/lib/operations/blobContainers.ts @@ -8,7 +8,7 @@ * regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import * as msRest from "ms-rest-js"; import * as Models from "../models"; import * as Mappers from "../models/blobContainersMappers"; import * as Parameters from "../models/parameters"; diff --git a/packages/@azure/arm-storage/lib/operations/blobServices.ts b/packages/@azure/arm-storage/lib/operations/blobServices.ts index ba0563ff7be8..e5ea63a7a1fd 100644 --- a/packages/@azure/arm-storage/lib/operations/blobServices.ts +++ b/packages/@azure/arm-storage/lib/operations/blobServices.ts @@ -8,7 +8,7 @@ * regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import * as msRest from "ms-rest-js"; import * as Models from "../models"; import * as Mappers from "../models/blobServicesMappers"; import * as Parameters from "../models/parameters"; diff --git a/packages/@azure/arm-storage/lib/operations/managementPolicies.ts b/packages/@azure/arm-storage/lib/operations/managementPolicies.ts index 126df173f398..d33ded1b53ee 100644 --- a/packages/@azure/arm-storage/lib/operations/managementPolicies.ts +++ b/packages/@azure/arm-storage/lib/operations/managementPolicies.ts @@ -8,7 +8,7 @@ * regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import * as msRest from "ms-rest-js"; import * as Models from "../models"; import * as Mappers from "../models/managementPoliciesMappers"; import * as Parameters from "../models/parameters"; diff --git a/packages/@azure/arm-storage/lib/operations/operations.ts b/packages/@azure/arm-storage/lib/operations/operations.ts index 6e9b3e3ce79f..3f4884c07d49 100644 --- a/packages/@azure/arm-storage/lib/operations/operations.ts +++ b/packages/@azure/arm-storage/lib/operations/operations.ts @@ -8,7 +8,7 @@ * regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import * as msRest from "ms-rest-js"; import * as Models from "../models"; import * as Mappers from "../models/operationsMappers"; import * as Parameters from "../models/parameters"; diff --git a/packages/@azure/arm-storage/lib/operations/skus.ts b/packages/@azure/arm-storage/lib/operations/skus.ts index 144ccca33d4d..390819668aa6 100644 --- a/packages/@azure/arm-storage/lib/operations/skus.ts +++ b/packages/@azure/arm-storage/lib/operations/skus.ts @@ -8,7 +8,7 @@ * regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import * as msRest from "ms-rest-js"; import * as Models from "../models"; import * as Mappers from "../models/skusMappers"; import * as Parameters from "../models/parameters"; diff --git a/packages/@azure/arm-storage/lib/operations/storageAccounts.ts b/packages/@azure/arm-storage/lib/operations/storageAccounts.ts index c6f0818fd811..b27258d5fb1d 100644 --- a/packages/@azure/arm-storage/lib/operations/storageAccounts.ts +++ b/packages/@azure/arm-storage/lib/operations/storageAccounts.ts @@ -8,8 +8,8 @@ * regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as msRest from "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; import * as Models from "../models"; import * as Mappers from "../models/storageAccountsMappers"; import * as Parameters from "../models/parameters"; @@ -127,7 +127,7 @@ export class StorageAccounts { * @param [options] The optional parameters * @returns Promise */ - getProperties(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase): Promise; + getProperties(resourceGroupName: string, accountName: string, options?: Models.StorageAccountsGetPropertiesOptionalParams): Promise; /** * @param resourceGroupName The name of the resource group within the user's subscription. The name * is case insensitive. @@ -146,8 +146,8 @@ export class StorageAccounts { * @param options The optional parameters * @param callback The callback */ - getProperties(resourceGroupName: string, accountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - getProperties(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + getProperties(resourceGroupName: string, accountName: string, options: Models.StorageAccountsGetPropertiesOptionalParams, callback: msRest.ServiceCallback): void; + getProperties(resourceGroupName: string, accountName: string, options?: Models.StorageAccountsGetPropertiesOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { resourceGroupName, @@ -580,7 +580,8 @@ const getPropertiesOperationSpec: msRest.OperationSpec = { Parameters.subscriptionId ], queryParameters: [ - Parameters.apiVersion0 + Parameters.apiVersion0, + Parameters.expand ], headerParameters: [ Parameters.acceptLanguage diff --git a/packages/@azure/arm-storage/lib/operations/usages.ts b/packages/@azure/arm-storage/lib/operations/usages.ts index cbeeaa6a2b5a..07496c549923 100644 --- a/packages/@azure/arm-storage/lib/operations/usages.ts +++ b/packages/@azure/arm-storage/lib/operations/usages.ts @@ -8,7 +8,7 @@ * regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import * as msRest from "ms-rest-js"; import * as Models from "../models"; import * as Mappers from "../models/usagesMappers"; import * as Parameters from "../models/parameters"; diff --git a/packages/@azure/arm-storage/lib/storageManagementClient.ts b/packages/@azure/arm-storage/lib/storageManagementClient.ts index eef218a689df..5b16c605cc07 100644 --- a/packages/@azure/arm-storage/lib/storageManagementClient.ts +++ b/packages/@azure/arm-storage/lib/storageManagementClient.ts @@ -8,7 +8,7 @@ * regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import * as msRest from "ms-rest-js"; import * as Models from "./models"; import * as Mappers from "./models/mappers"; import * as operations from "./operations"; diff --git a/packages/@azure/arm-storage/lib/storageManagementClientContext.ts b/packages/@azure/arm-storage/lib/storageManagementClientContext.ts index 8d636f1096b3..12aa9c2d4aff 100644 --- a/packages/@azure/arm-storage/lib/storageManagementClientContext.ts +++ b/packages/@azure/arm-storage/lib/storageManagementClientContext.ts @@ -9,8 +9,8 @@ */ import * as Models from "./models"; -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as msRest from "ms-rest-js"; +import * as msRestAzure from "ms-rest-azure-js"; const packageName = "@azure/arm-storage"; const packageVersion = "0.1.1"; diff --git a/packages/@azure/arm-storage/package.json b/packages/@azure/arm-storage/package.json index 86043afbe792..2af7da341d10 100644 --- a/packages/@azure/arm-storage/package.json +++ b/packages/@azure/arm-storage/package.json @@ -4,8 +4,8 @@ "description": "StorageManagementClient Library with typescript type definitions for node.js and browser.", "version": "0.1.1", "dependencies": { - "@azure/ms-rest-azure-js": "^1.1.0", - "@azure/ms-rest-js": "^1.1.0", + "ms-rest-azure-js": "^1.0.181", + "ms-rest-js": "^1.0.460", "tslib": "^1.9.3" }, "keywords": [ diff --git a/packages/@azure/arm-storage/rollup.config.js b/packages/@azure/arm-storage/rollup.config.js index f9b90f0a9667..2e994b3a23f6 100644 --- a/packages/@azure/arm-storage/rollup.config.js +++ b/packages/@azure/arm-storage/rollup.config.js @@ -4,15 +4,15 @@ import nodeResolve from "rollup-plugin-node-resolve"; */ const config = { input: './esm/storageManagementClient.js', - external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"], + external: ["ms-rest-js", "ms-rest-azure-js"], output: { file: "./dist/arm-storage.js", format: "umd", name: "Azure.ArmStorage", sourcemap: true, globals: { - "@azure/ms-rest-js": "msRest", - "@azure/ms-rest-azure-js": "msRestAzure" + "ms-rest-js": "msRest", + "ms-rest-azure-js": "msRestAzure" }, banner: `/* * Copyright (c) Microsoft Corporation. All rights reserved. diff --git a/packages/@azure/arm-storage/tsconfig.json b/packages/@azure/arm-storage/tsconfig.json index 51ea90961ce5..f32d1664f320 100644 --- a/packages/@azure/arm-storage/tsconfig.json +++ b/packages/@azure/arm-storage/tsconfig.json @@ -14,6 +14,6 @@ "outDir": "./esm", "importHelpers": true }, - "include": ["./lib/**/*.ts"], + "include": ["./lib/**/*"], "exclude": ["node_modules"] }