diff --git a/lib/services/storageManagement2/lib/models/accountSasParameters.js b/lib/services/storageManagement2/lib/models/accountSasParameters.js index 233374f0de..dcb2478b04 100644 --- a/lib/services/storageManagement2/lib/models/accountSasParameters.js +++ b/lib/services/storageManagement2/lib/models/accountSasParameters.js @@ -17,27 +17,27 @@ class AccountSasParameters { /** * Create a AccountSasParameters. - * @member {string} services The signed services accessible with the account - * SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f). - * Possible values include: 'b', 'q', 't', 'f' - * @member {string} resourceTypes The signed resource types that are + * @property {string} services The signed services accessible with the + * account SAS. Possible values include: Blob (b), Queue (q), Table (t), File + * (f). Possible values include: 'b', 'q', 't', 'f' + * @property {string} resourceTypes The signed resource types that are * accessible with the account SAS. Service (s): Access to service-level * APIs; Container (c): Access to container-level APIs; Object (o): Access to * object-level APIs for blobs, queue messages, table entities, and files. * Possible values include: 's', 'c', 'o' - * @member {string} permissions The signed permissions for the account SAS. + * @property {string} permissions The signed permissions for the account SAS. * Possible values include: Read (r), Write (w), Delete (d), List (l), Add * (a), Create (c), Update (u) and Process (p). Possible values include: 'r', * 'd', 'w', 'l', 'a', 'c', 'u', 'p' - * @member {string} [iPAddressOrRange] An IP address or a range of IP + * @property {string} [iPAddressOrRange] An IP address or a range of IP * addresses from which to accept requests. - * @member {string} [protocols] The protocol permitted for a request made + * @property {string} [protocols] The protocol permitted for a request made * with the account SAS. Possible values include: 'https,http', 'https' - * @member {date} [sharedAccessStartTime] The time at which the SAS becomes + * @property {date} [sharedAccessStartTime] The time at which the SAS becomes * valid. - * @member {date} sharedAccessExpiryTime The time at which the shared access - * signature becomes invalid. - * @member {string} [keyToSign] The key to sign the account SAS token with. + * @property {date} sharedAccessExpiryTime The time at which the shared + * access signature becomes invalid. + * @property {string} [keyToSign] The key to sign the account SAS token with. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/azureEntityResource.js b/lib/services/storageManagement2/lib/models/azureEntityResource.js index a87a9fe033..83674c0ce4 100644 --- a/lib/services/storageManagement2/lib/models/azureEntityResource.js +++ b/lib/services/storageManagement2/lib/models/azureEntityResource.js @@ -21,7 +21,7 @@ const models = require('./index'); class AzureEntityResource extends models['Resource'] { /** * Create a AzureEntityResource. - * @member {string} [etag] Resource Etag. + * @property {string} [etag] Resource Etag. */ constructor() { super(); diff --git a/lib/services/storageManagement2/lib/models/blobContainer.js b/lib/services/storageManagement2/lib/models/blobContainer.js index 99f43fe248..1733790bce 100644 --- a/lib/services/storageManagement2/lib/models/blobContainer.js +++ b/lib/services/storageManagement2/lib/models/blobContainer.js @@ -21,49 +21,50 @@ const models = require('./index'); class BlobContainer extends models['AzureEntityResource'] { /** * Create a BlobContainer. - * @member {string} [publicAccess] Specifies whether data in the container + * @property {string} [publicAccess] Specifies whether data in the container * may be accessed publicly and the level of access. Possible values include: * 'Container', 'Blob', 'None' - * @member {date} [lastModifiedTime] Returns the date and time the container - * was last modified. - * @member {string} [leaseStatus] The lease status of the container. Possible - * values include: 'Locked', 'Unlocked' - * @member {string} [leaseState] Lease state of the container. Possible + * @property {date} [lastModifiedTime] Returns the date and time the + * container was last modified. + * @property {string} [leaseStatus] The lease status of the container. + * Possible values include: 'Locked', 'Unlocked' + * @property {string} [leaseState] Lease state of the container. Possible * values include: 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' - * @member {string} [leaseDuration] Specifies whether the lease on a + * @property {string} [leaseDuration] Specifies whether the lease on a * container is of infinite or fixed duration, only when the container is * leased. Possible values include: 'Infinite', 'Fixed' - * @member {object} [metadata] A name-value pair to associate with the + * @property {object} [metadata] A name-value pair to associate with the * container as metadata. - * @member {object} [immutabilityPolicy] The ImmutabilityPolicy property of + * @property {object} [immutabilityPolicy] The ImmutabilityPolicy property of * the container. - * @member {number} + * @property {number} * [immutabilityPolicy.immutabilityPeriodSinceCreationInDays] The * immutability period for the blobs in the container since the policy * creation, in days. - * @member {string} [immutabilityPolicy.state] The ImmutabilityPolicy state + * @property {string} [immutabilityPolicy.state] The ImmutabilityPolicy state * of a blob container, possible values include: Locked and Unlocked. * Possible values include: 'Locked', 'Unlocked' - * @member {string} [immutabilityPolicy.etag] ImmutabilityPolicy Etag. - * @member {array} [immutabilityPolicy.updateHistory] The ImmutabilityPolicy - * update history of the blob container. - * @member {object} [legalHold] The LegalHold property of the container. - * @member {boolean} [legalHold.hasLegalHold] The hasLegalHold public + * @property {string} [immutabilityPolicy.etag] ImmutabilityPolicy Etag. + * @property {array} [immutabilityPolicy.updateHistory] The + * ImmutabilityPolicy update history of the blob container. + * @property {object} [legalHold] The LegalHold property of the container. + * @property {boolean} [legalHold.hasLegalHold] The hasLegalHold public * property is set to true by SRP if there are at least one existing tag. The * hasLegalHold public property is set to false by SRP if all existing legal * hold tags are cleared out. There can be a maximum of 1000 blob containers * with hasLegalHold=true for a given account. - * @member {array} [legalHold.tags] The list of LegalHold tags of a blob + * @property {array} [legalHold.tags] The list of LegalHold tags of a blob * container. - * @member {boolean} [hasLegalHold] The hasLegalHold public property is set + * @property {boolean} [hasLegalHold] The hasLegalHold public property is set * to true by SRP if there are at least one existing tag. The hasLegalHold * public property is set to false by SRP if all existing legal hold tags are * cleared out. There can be a maximum of 1000 blob containers with * hasLegalHold=true for a given account. - * @member {boolean} [hasImmutabilityPolicy] The hasImmutabilityPolicy public - * property is set to true by SRP if ImmutabilityPolicy has been created for - * this container. The hasImmutabilityPolicy public property is set to false - * by SRP if ImmutabilityPolicy has not been created for this container. + * @property {boolean} [hasImmutabilityPolicy] The hasImmutabilityPolicy + * public property is set to true by SRP if ImmutabilityPolicy has been + * created for this container. The hasImmutabilityPolicy public property is + * set to false by SRP if ImmutabilityPolicy has not been created for this + * container. */ constructor() { super(); diff --git a/lib/services/storageManagement2/lib/models/blobServiceProperties.js b/lib/services/storageManagement2/lib/models/blobServiceProperties.js index bcecfba5b6..1754a91a34 100644 --- a/lib/services/storageManagement2/lib/models/blobServiceProperties.js +++ b/lib/services/storageManagement2/lib/models/blobServiceProperties.js @@ -20,23 +20,23 @@ const models = require('./index'); class BlobServiceProperties extends models['Resource'] { /** * Create a BlobServiceProperties. - * @member {object} [cors] Specifies CORS rules for the Blob service. You can - * include up to five CorsRule elements in the request. If no CorsRule + * @property {object} [cors] Specifies CORS rules for the Blob service. You + * can include up to five CorsRule elements in the request. If no CorsRule * elements are included in the request body, all CORS rules will be deleted, * and CORS will be disabled for the Blob service. - * @member {array} [cors.corsRules] The List of CORS rules. You can include + * @property {array} [cors.corsRules] The List of CORS rules. You can include * up to five CorsRule elements in the request. - * @member {string} [defaultServiceVersion] DefaultServiceVersion indicates + * @property {string} [defaultServiceVersion] DefaultServiceVersion indicates * the default version to use for requests to the Blob service if an incoming * request’s version is not specified. Possible values include version * 2008-10-27 and all more recent versions. - * @member {object} [deleteRetentionPolicy] The blob service properties for + * @property {object} [deleteRetentionPolicy] The blob service properties for * soft delete. - * @member {boolean} [deleteRetentionPolicy.enabled] Indicates whether + * @property {boolean} [deleteRetentionPolicy.enabled] Indicates whether * DeleteRetentionPolicy is enabled for the Blob service. - * @member {number} [deleteRetentionPolicy.days] Indicates the number of days - * that the deleted blob should be retained. The minimum specified value can - * be 1 and the maximum value can be 365. + * @property {number} [deleteRetentionPolicy.days] Indicates the number of + * days that the deleted blob should be retained. The minimum specified value + * can be 1 and the maximum value can be 365. */ constructor() { super(); diff --git a/lib/services/storageManagement2/lib/models/checkNameAvailabilityResult.js b/lib/services/storageManagement2/lib/models/checkNameAvailabilityResult.js index b68259a1f6..94260ad211 100644 --- a/lib/services/storageManagement2/lib/models/checkNameAvailabilityResult.js +++ b/lib/services/storageManagement2/lib/models/checkNameAvailabilityResult.js @@ -17,14 +17,14 @@ class CheckNameAvailabilityResult { /** * Create a CheckNameAvailabilityResult. - * @member {boolean} [nameAvailable] Gets a boolean value that indicates + * @property {boolean} [nameAvailable] Gets a boolean value that indicates * whether the name is available for you to use. If true, the name is * available. If false, the name has already been taken or is invalid and * cannot be used. - * @member {string} [reason] Gets the reason that a storage account name + * @property {string} [reason] Gets the reason that a storage account name * could not be used. The Reason element is only returned if NameAvailable is * false. Possible values include: 'AccountNameInvalid', 'AlreadyExists' - * @member {string} [message] Gets an error message explaining the Reason + * @property {string} [message] Gets an error message explaining the Reason * value in more detail. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/corsRule.js b/lib/services/storageManagement2/lib/models/corsRule.js index 0090e97dc3..09a611a547 100644 --- a/lib/services/storageManagement2/lib/models/corsRule.js +++ b/lib/services/storageManagement2/lib/models/corsRule.js @@ -17,18 +17,18 @@ class CorsRule { /** * Create a CorsRule. - * @member {array} allowedOrigins Required if CorsRule element is present. A - * list of origin domains that will be allowed via CORS, or "*" to allow all - * domains - * @member {array} allowedMethods Required if CorsRule element is present. A - * list of HTTP methods that are allowed to be executed by the origin. - * @member {number} maxAgeInSeconds Required if CorsRule element is present. - * The number of seconds that the client/browser should cache a preflight - * response. - * @member {array} exposedHeaders Required if CorsRule element is present. A - * list of response headers to expose to CORS clients. - * @member {array} allowedHeaders Required if CorsRule element is present. A - * list of headers allowed to be part of the cross-origin request. + * @property {array} allowedOrigins Required if CorsRule element is present. + * A list of origin domains that will be allowed via CORS, or "*" to allow + * all domains + * @property {array} allowedMethods Required if CorsRule element is present. + * A list of HTTP methods that are allowed to be executed by the origin. + * @property {number} maxAgeInSeconds Required if CorsRule element is + * present. The number of seconds that the client/browser should cache a + * preflight response. + * @property {array} exposedHeaders Required if CorsRule element is present. + * A list of response headers to expose to CORS clients. + * @property {array} allowedHeaders Required if CorsRule element is present. + * A list of headers allowed to be part of the cross-origin request. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/corsRules.js b/lib/services/storageManagement2/lib/models/corsRules.js index 926fa5633e..9ce33eb0ad 100644 --- a/lib/services/storageManagement2/lib/models/corsRules.js +++ b/lib/services/storageManagement2/lib/models/corsRules.js @@ -18,8 +18,8 @@ class CorsRules { /** * Create a CorsRules. - * @member {array} [corsRules] The List of CORS rules. You can include up to - * five CorsRule elements in the request. + * @property {array} [corsRules] The List of CORS rules. You can include up + * to five CorsRule elements in the request. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/customDomain.js b/lib/services/storageManagement2/lib/models/customDomain.js index 249be192b6..41b52455bb 100644 --- a/lib/services/storageManagement2/lib/models/customDomain.js +++ b/lib/services/storageManagement2/lib/models/customDomain.js @@ -18,9 +18,9 @@ class CustomDomain { /** * Create a CustomDomain. - * @member {string} name Gets or sets the custom domain name assigned to the - * storage account. Name is the CNAME source. - * @member {boolean} [useSubDomain] Indicates whether indirect CName + * @property {string} name Gets or sets the custom domain name assigned to + * the storage account. Name is the CNAME source. + * @property {boolean} [useSubDomain] Indicates whether indirect CName * validation is enabled. Default value is false. This should only be set on * updates. */ diff --git a/lib/services/storageManagement2/lib/models/deleteRetentionPolicy.js b/lib/services/storageManagement2/lib/models/deleteRetentionPolicy.js index fbc099beb7..8e6f36ca2e 100644 --- a/lib/services/storageManagement2/lib/models/deleteRetentionPolicy.js +++ b/lib/services/storageManagement2/lib/models/deleteRetentionPolicy.js @@ -17,11 +17,11 @@ class DeleteRetentionPolicy { /** * Create a DeleteRetentionPolicy. - * @member {boolean} [enabled] Indicates whether DeleteRetentionPolicy is + * @property {boolean} [enabled] Indicates whether DeleteRetentionPolicy is * enabled for the Blob service. - * @member {number} [days] Indicates the number of days that the deleted blob - * should be retained. The minimum specified value can be 1 and the maximum - * value can be 365. + * @property {number} [days] Indicates the number of days that the deleted + * blob should be retained. The minimum specified value can be 1 and the + * maximum value can be 365. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/dimension.js b/lib/services/storageManagement2/lib/models/dimension.js index 926bb318c9..bde4638db9 100644 --- a/lib/services/storageManagement2/lib/models/dimension.js +++ b/lib/services/storageManagement2/lib/models/dimension.js @@ -17,8 +17,8 @@ class Dimension { /** * Create a Dimension. - * @member {string} [name] Display name of dimension. - * @member {string} [displayName] Display name of dimension. + * @property {string} [name] Display name of dimension. + * @property {string} [displayName] Display name of dimension. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/encryption.js b/lib/services/storageManagement2/lib/models/encryption.js index 6e1e6b1eb6..917ff92287 100644 --- a/lib/services/storageManagement2/lib/models/encryption.js +++ b/lib/services/storageManagement2/lib/models/encryption.js @@ -17,48 +17,48 @@ class Encryption { /** * Create a Encryption. - * @member {object} [services] List of services which support encryption. - * @member {object} [services.blob] The encryption function of the blob + * @property {object} [services] List of services which support encryption. + * @property {object} [services.blob] The encryption function of the blob * storage service. - * @member {boolean} [services.blob.enabled] A boolean indicating whether or - * not the service encrypts the data as it is stored. - * @member {date} [services.blob.lastEnabledTime] Gets a rough estimate of + * @property {boolean} [services.blob.enabled] A boolean indicating whether + * or not the service encrypts the data as it is stored. + * @property {date} [services.blob.lastEnabledTime] Gets a rough estimate of * the date/time when the encryption was last enabled by the user. Only * returned when encryption is enabled. There might be some unencrypted blobs * which were written after this time, as it is just a rough estimate. - * @member {object} [services.file] The encryption function of the file + * @property {object} [services.file] The encryption function of the file * storage service. - * @member {boolean} [services.file.enabled] A boolean indicating whether or - * not the service encrypts the data as it is stored. - * @member {date} [services.file.lastEnabledTime] Gets a rough estimate of + * @property {boolean} [services.file.enabled] A boolean indicating whether + * or not the service encrypts the data as it is stored. + * @property {date} [services.file.lastEnabledTime] Gets a rough estimate of * the date/time when the encryption was last enabled by the user. Only * returned when encryption is enabled. There might be some unencrypted blobs * which were written after this time, as it is just a rough estimate. - * @member {object} [services.table] The encryption function of the table + * @property {object} [services.table] The encryption function of the table * storage service. - * @member {boolean} [services.table.enabled] A boolean indicating whether or - * not the service encrypts the data as it is stored. - * @member {date} [services.table.lastEnabledTime] Gets a rough estimate of + * @property {boolean} [services.table.enabled] A boolean indicating whether + * or not the service encrypts the data as it is stored. + * @property {date} [services.table.lastEnabledTime] Gets a rough estimate of * the date/time when the encryption was last enabled by the user. Only * returned when encryption is enabled. There might be some unencrypted blobs * which were written after this time, as it is just a rough estimate. - * @member {object} [services.queue] The encryption function of the queue + * @property {object} [services.queue] The encryption function of the queue * storage service. - * @member {boolean} [services.queue.enabled] A boolean indicating whether or - * not the service encrypts the data as it is stored. - * @member {date} [services.queue.lastEnabledTime] Gets a rough estimate of + * @property {boolean} [services.queue.enabled] A boolean indicating whether + * or not the service encrypts the data as it is stored. + * @property {date} [services.queue.lastEnabledTime] Gets a rough estimate of * the date/time when the encryption was last enabled by the user. Only * returned when encryption is enabled. There might be some unencrypted blobs * which were written after this time, as it is just a rough estimate. - * @member {string} keySource The encryption keySource (provider). Possible + * @property {string} keySource The encryption keySource (provider). Possible * values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. * Possible values include: 'Microsoft.Storage', 'Microsoft.Keyvault'. * Default value: 'Microsoft.Storage' . - * @member {object} [keyVaultProperties] Properties provided by key vault. - * @member {string} [keyVaultProperties.keyName] The name of KeyVault key. - * @member {string} [keyVaultProperties.keyVersion] The version of KeyVault + * @property {object} [keyVaultProperties] Properties provided by key vault. + * @property {string} [keyVaultProperties.keyName] The name of KeyVault key. + * @property {string} [keyVaultProperties.keyVersion] The version of KeyVault * key. - * @member {string} [keyVaultProperties.keyVaultUri] The Uri of KeyVault. + * @property {string} [keyVaultProperties.keyVaultUri] The Uri of KeyVault. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/encryptionService.js b/lib/services/storageManagement2/lib/models/encryptionService.js index a512522dc9..e929506543 100644 --- a/lib/services/storageManagement2/lib/models/encryptionService.js +++ b/lib/services/storageManagement2/lib/models/encryptionService.js @@ -17,9 +17,9 @@ class EncryptionService { /** * Create a EncryptionService. - * @member {boolean} [enabled] A boolean indicating whether or not the + * @property {boolean} [enabled] A boolean indicating whether or not the * service encrypts the data as it is stored. - * @member {date} [lastEnabledTime] Gets a rough estimate of the date/time + * @property {date} [lastEnabledTime] Gets a rough estimate of the date/time * when the encryption was last enabled by the user. Only returned when * encryption is enabled. There might be some unencrypted blobs which were * written after this time, as it is just a rough estimate. diff --git a/lib/services/storageManagement2/lib/models/encryptionServices.js b/lib/services/storageManagement2/lib/models/encryptionServices.js index 8701f4d24c..082cd9cdf1 100644 --- a/lib/services/storageManagement2/lib/models/encryptionServices.js +++ b/lib/services/storageManagement2/lib/models/encryptionServices.js @@ -17,35 +17,35 @@ class EncryptionServices { /** * Create a EncryptionServices. - * @member {object} [blob] The encryption function of the blob storage + * @property {object} [blob] The encryption function of the blob storage * service. - * @member {boolean} [blob.enabled] A boolean indicating whether or not the + * @property {boolean} [blob.enabled] A boolean indicating whether or not the * service encrypts the data as it is stored. - * @member {date} [blob.lastEnabledTime] Gets a rough estimate of the + * @property {date} [blob.lastEnabledTime] Gets a rough estimate of the * date/time when the encryption was last enabled by the user. Only returned * when encryption is enabled. There might be some unencrypted blobs which * were written after this time, as it is just a rough estimate. - * @member {object} [file] The encryption function of the file storage + * @property {object} [file] The encryption function of the file storage * service. - * @member {boolean} [file.enabled] A boolean indicating whether or not the + * @property {boolean} [file.enabled] A boolean indicating whether or not the * service encrypts the data as it is stored. - * @member {date} [file.lastEnabledTime] Gets a rough estimate of the + * @property {date} [file.lastEnabledTime] Gets a rough estimate of the * date/time when the encryption was last enabled by the user. Only returned * when encryption is enabled. There might be some unencrypted blobs which * were written after this time, as it is just a rough estimate. - * @member {object} [table] The encryption function of the table storage + * @property {object} [table] The encryption function of the table storage * service. - * @member {boolean} [table.enabled] A boolean indicating whether or not the - * service encrypts the data as it is stored. - * @member {date} [table.lastEnabledTime] Gets a rough estimate of the + * @property {boolean} [table.enabled] A boolean indicating whether or not + * the service encrypts the data as it is stored. + * @property {date} [table.lastEnabledTime] Gets a rough estimate of the * date/time when the encryption was last enabled by the user. Only returned * when encryption is enabled. There might be some unencrypted blobs which * were written after this time, as it is just a rough estimate. - * @member {object} [queue] The encryption function of the queue storage + * @property {object} [queue] The encryption function of the queue storage * service. - * @member {boolean} [queue.enabled] A boolean indicating whether or not the - * service encrypts the data as it is stored. - * @member {date} [queue.lastEnabledTime] Gets a rough estimate of the + * @property {boolean} [queue.enabled] A boolean indicating whether or not + * the service encrypts the data as it is stored. + * @property {date} [queue.lastEnabledTime] Gets a rough estimate of the * date/time when the encryption was last enabled by the user. Only returned * when encryption is enabled. There might be some unencrypted blobs which * were written after this time, as it is just a rough estimate. diff --git a/lib/services/storageManagement2/lib/models/endpoints.js b/lib/services/storageManagement2/lib/models/endpoints.js index 41430d8375..e9feb54377 100644 --- a/lib/services/storageManagement2/lib/models/endpoints.js +++ b/lib/services/storageManagement2/lib/models/endpoints.js @@ -18,12 +18,12 @@ class Endpoints { /** * Create a Endpoints. - * @member {string} [blob] Gets the blob endpoint. - * @member {string} [queue] Gets the queue endpoint. - * @member {string} [table] Gets the table endpoint. - * @member {string} [file] Gets the file endpoint. - * @member {string} [web] Gets the web endpoint. - * @member {string} [dfs] Gets the dfs endpoint. + * @property {string} [blob] Gets the blob endpoint. + * @property {string} [queue] Gets the queue endpoint. + * @property {string} [table] Gets the table endpoint. + * @property {string} [file] Gets the file endpoint. + * @property {string} [web] Gets the web endpoint. + * @property {string} [dfs] Gets the dfs endpoint. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/geoReplicationStats.js b/lib/services/storageManagement2/lib/models/geoReplicationStats.js new file mode 100644 index 0000000000..7477802105 --- /dev/null +++ b/lib/services/storageManagement2/lib/models/geoReplicationStats.js @@ -0,0 +1,74 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * 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. + */ + +'use strict'; + +/** + * 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. + * + */ +class GeoReplicationStats { + /** + * Create a GeoReplicationStats. + * @property {string} [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' + * @property {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. + */ + constructor() { + } + + /** + * Defines the metadata of GeoReplicationStats + * + * @returns {object} metadata of GeoReplicationStats + * + */ + mapper() { + return { + required: false, + serializedName: 'GeoReplicationStats', + type: { + name: 'Composite', + className: 'GeoReplicationStats', + modelProperties: { + status: { + required: false, + readOnly: true, + serializedName: 'status', + type: { + name: 'String' + } + }, + lastSyncTime: { + required: false, + readOnly: true, + serializedName: 'lastSyncTime', + type: { + name: 'DateTime' + } + } + } + } + }; + } +} + +module.exports = GeoReplicationStats; diff --git a/lib/services/storageManagement2/lib/models/iPRule.js b/lib/services/storageManagement2/lib/models/iPRule.js index 41cc086b88..c90a1c40fe 100644 --- a/lib/services/storageManagement2/lib/models/iPRule.js +++ b/lib/services/storageManagement2/lib/models/iPRule.js @@ -17,9 +17,9 @@ class IPRule { /** * Create a IPRule. - * @member {string} iPAddressOrRange Specifies the IP or IP range in CIDR + * @property {string} iPAddressOrRange Specifies the IP or IP range in CIDR * format. Only IPV4 address is allowed. - * @member {string} [action] The action of IP ACL rule. Possible values + * @property {string} [action] The action of IP ACL rule. Possible values * include: 'Allow'. Default value: 'Allow' . */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/identity.js b/lib/services/storageManagement2/lib/models/identity.js index 334b53a81b..d346e75a54 100644 --- a/lib/services/storageManagement2/lib/models/identity.js +++ b/lib/services/storageManagement2/lib/models/identity.js @@ -17,8 +17,8 @@ class Identity { /** * Create a Identity. - * @member {string} [principalId] The principal ID of resource identity. - * @member {string} [tenantId] The tenant ID of resource. + * @property {string} [principalId] The principal ID of resource identity. + * @property {string} [tenantId] The tenant ID of resource. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/immutabilityPolicy.js b/lib/services/storageManagement2/lib/models/immutabilityPolicy.js index d47f4d3547..39d9f714e2 100644 --- a/lib/services/storageManagement2/lib/models/immutabilityPolicy.js +++ b/lib/services/storageManagement2/lib/models/immutabilityPolicy.js @@ -21,11 +21,11 @@ const models = require('./index'); class ImmutabilityPolicy extends models['AzureEntityResource'] { /** * Create a ImmutabilityPolicy. - * @member {number} immutabilityPeriodSinceCreationInDays The immutability + * @property {number} immutabilityPeriodSinceCreationInDays The immutability * period for the blobs in the container since the policy creation, in days. - * @member {string} [state] The ImmutabilityPolicy state of a blob container, - * possible values include: Locked and Unlocked. Possible values include: - * 'Locked', 'Unlocked' + * @property {string} [state] The ImmutabilityPolicy state of a blob + * container, possible values include: Locked and Unlocked. Possible values + * include: 'Locked', 'Unlocked' */ constructor() { super(); diff --git a/lib/services/storageManagement2/lib/models/immutabilityPolicyProperties.js b/lib/services/storageManagement2/lib/models/immutabilityPolicyProperties.js index b08be3ae15..cf6a9bd38a 100644 --- a/lib/services/storageManagement2/lib/models/immutabilityPolicyProperties.js +++ b/lib/services/storageManagement2/lib/models/immutabilityPolicyProperties.js @@ -17,13 +17,13 @@ class ImmutabilityPolicyProperties { /** * Create a ImmutabilityPolicyProperties. - * @member {number} immutabilityPeriodSinceCreationInDays The immutability + * @property {number} immutabilityPeriodSinceCreationInDays The immutability * period for the blobs in the container since the policy creation, in days. - * @member {string} [state] The ImmutabilityPolicy state of a blob container, - * possible values include: Locked and Unlocked. Possible values include: - * 'Locked', 'Unlocked' - * @member {string} [etag] ImmutabilityPolicy Etag. - * @member {array} [updateHistory] The ImmutabilityPolicy update history of + * @property {string} [state] The ImmutabilityPolicy state of a blob + * container, possible values include: Locked and Unlocked. Possible values + * include: 'Locked', 'Unlocked' + * @property {string} [etag] ImmutabilityPolicy Etag. + * @property {array} [updateHistory] The ImmutabilityPolicy update history of * the blob container. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/index.d.ts b/lib/services/storageManagement2/lib/models/index.d.ts index 0f466edafb..6f3d87998e 100644 --- a/lib/services/storageManagement2/lib/models/index.d.ts +++ b/lib/services/storageManagement2/lib/models/index.d.ts @@ -1,1610 +1,1323 @@ /* * 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. */ -import { BaseResource } from 'ms-rest-azure'; -import { CloudError } from 'ms-rest-azure'; -import * as moment from 'moment'; +import { BaseResource, CloudError } from "ms-rest-azure"; +import * as moment from "moment"; -export { BaseResource } from 'ms-rest-azure'; -export { CloudError } from 'ms-rest-azure'; +export { + BaseResource, + CloudError +}; /** - * @class - * Initializes a new instance of the OperationDisplay class. - * @constructor * Display metadata associated with the operation. - * - * @member {string} [provider] Service provider: Microsoft Storage. - * @member {string} [resource] Resource on which the operation is performed - * etc. - * @member {string} [operation] Type of operation: get, read, delete, etc. - * @member {string} [description] Description of the operation. */ export interface OperationDisplay { + /** + * Service provider: Microsoft Storage. + */ provider?: string; + /** + * Resource on which the operation is performed etc. + */ resource?: string; + /** + * Type of operation: get, read, delete, etc. + */ operation?: string; + /** + * Description of the operation. + */ description?: string; } /** - * @class - * Initializes a new instance of the Dimension class. - * @constructor * Dimension of blobs, possiblly be blob type or access tier. - * - * @member {string} [name] Display name of dimension. - * @member {string} [displayName] Display name of dimension. */ export interface Dimension { + /** + * Display name of dimension. + */ name?: string; + /** + * Display name of dimension. + */ displayName?: string; } /** - * @class - * Initializes a new instance of the MetricSpecification class. - * @constructor * Metric specification of operation. - * - * @member {string} [name] Name of metric specification. - * @member {string} [displayName] Display name of metric specification. - * @member {string} [displayDescription] Display description of metric - * specification. - * @member {string} [unit] Unit could be Bytes or Count. - * @member {array} [dimensions] Dimensions of blobs, including blob type and - * access tier. - * @member {string} [aggregationType] Aggregation type could be Average. - * @member {boolean} [fillGapWithZero] The property to decide fill gap with - * zero or not. - * @member {string} [category] The category this metric specification belong - * to, could be Capacity. - * @member {string} [resourceIdDimensionNameOverride] Account Resource Id. */ export interface MetricSpecification { + /** + * Name of metric specification. + */ name?: string; + /** + * Display name of metric specification. + */ displayName?: string; + /** + * Display description of metric specification. + */ displayDescription?: string; + /** + * Unit could be Bytes or Count. + */ unit?: string; + /** + * Dimensions of blobs, including blob type and access tier. + */ dimensions?: Dimension[]; + /** + * Aggregation type could be Average. + */ aggregationType?: string; + /** + * The property to decide fill gap with zero or not. + */ fillGapWithZero?: boolean; + /** + * The category this metric specification belong to, could be Capacity. + */ category?: string; + /** + * Account Resource Id. + */ resourceIdDimensionNameOverride?: string; } /** - * @class - * Initializes a new instance of the ServiceSpecification class. - * @constructor * One property of operation, include metric specifications. - * - * @member {array} [metricSpecifications] Metric specifications of operation. */ export interface ServiceSpecification { + /** + * Metric specifications of operation. + */ metricSpecifications?: MetricSpecification[]; } /** - * @class - * Initializes a new instance of the Operation class. - * @constructor * Storage REST API operation definition. - * - * @member {string} [name] Operation name: {provider}/{resource}/{operation} - * @member {object} [display] Display metadata associated with the operation. - * @member {string} [display.provider] Service provider: Microsoft Storage. - * @member {string} [display.resource] Resource on which the operation is - * performed etc. - * @member {string} [display.operation] Type of operation: get, read, delete, - * etc. - * @member {string} [display.description] Description of the operation. - * @member {string} [origin] The origin of operations. - * @member {object} [serviceSpecification] One property of operation, include - * metric specifications. - * @member {array} [serviceSpecification.metricSpecifications] Metric - * specifications of operation. */ export interface Operation { + /** + * Operation name: {provider}/{resource}/{operation} + */ name?: string; + /** + * Display metadata associated with the operation. + */ display?: OperationDisplay; + /** + * The origin of operations. + */ origin?: string; + /** + * One property of operation, include metric specifications. + */ serviceSpecification?: ServiceSpecification; } /** - * @class - * Initializes a new instance of the StorageAccountCheckNameAvailabilityParameters class. - * @constructor * The parameters used to check the availabity of the storage account name. - * - * @member {string} name The storage account name. */ export interface StorageAccountCheckNameAvailabilityParameters { + /** + * The storage account name. + */ name: string; } /** - * @class - * Initializes a new instance of the SKUCapability class. - * @constructor - * The capability information in the specified sku, including file encryption, - * network acls, change notification, etc. - * - * @member {string} [name] The name of capability, The capability information - * in the specified sku, including file encryption, network acls, change + * The capability information in the specified sku, including file encryption, network acls, change * notification, etc. - * @member {string} [value] A string value to indicate states of given - * capability. Possibly 'true' or 'false'. */ export interface SKUCapability { + /** + * The name of capability, The capability information in the specified sku, including file + * encryption, network acls, change notification, etc. + */ readonly name?: string; + /** + * A string value to indicate states of given capability. Possibly 'true' or 'false'. + */ readonly value?: string; } /** - * @class - * Initializes a new instance of the Restriction class. - * @constructor * The restriction because of which SKU cannot be used. - * - * @member {string} [type] The type of restrictions. As of now only possible - * value for this is location. - * @member {array} [values] The value of restrictions. If the restriction type - * is set to location. This would be different locations where the SKU is - * restricted. - * @member {string} [reasonCode] The reason for the restriction. As of now this - * can be "QuotaId" or "NotAvailableForSubscription". Quota Id is set when the - * SKU has requiredQuotas parameter as the subscription does not belong to that - * quota. The "NotAvailableForSubscription" is related to capacity at DC. - * Possible values include: 'QuotaId', 'NotAvailableForSubscription' */ export interface Restriction { + /** + * The type of restrictions. As of now only possible value for this is location. + */ readonly type?: string; + /** + * The value of restrictions. If the restriction type is set to location. This would be different + * locations where the SKU is restricted. + */ readonly values?: string[]; + /** + * The reason for the restriction. As of now this can be "QuotaId" or + * "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as + * the subscription does not belong to that quota. The "NotAvailableForSubscription" is related + * to capacity at DC. Possible values include: 'QuotaId', 'NotAvailableForSubscription' + */ reasonCode?: string; } /** - * @class - * Initializes a new instance of the Sku class. - * @constructor * The SKU of the storage account. - * - * @member {string} name Gets or sets the sku name. Required for account - * creation; optional for update. Note that in older versions, sku name was - * called accountType. Possible values include: 'Standard_LRS', 'Standard_GRS', - * 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', 'Premium_ZRS' - * @member {string} [tier] Gets the sku tier. This is based on the SKU name. - * Possible values include: 'Standard', 'Premium' - * @member {string} [resourceType] The type of the resource, usually it is - * 'storageAccounts'. - * @member {string} [kind] Indicates the type of storage account. Possible - * values include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', - * 'BlockBlobStorage' - * @member {array} [locations] The set of locations that the SKU is available. - * This will be supported and registered Azure Geo Regions (e.g. West US, East - * US, Southeast Asia, etc.). - * @member {array} [capabilities] The capability information in the specified - * sku, including file encryption, network acls, change notification, etc. - * @member {array} [restrictions] The restrictions because of which SKU cannot - * be used. This is empty if there are no restrictions. */ export interface Sku { + /** + * Gets or sets the sku name. Required for account creation; optional for update. Note that in + * older versions, sku name was called accountType. Possible values include: 'Standard_LRS', + * 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', 'Premium_ZRS' + */ name: string; + /** + * Gets the sku tier. This is based on the SKU name. Possible values include: 'Standard', + * 'Premium' + */ readonly tier?: string; + /** + * The type of the resource, usually it is 'storageAccounts'. + */ readonly resourceType?: string; + /** + * Indicates the type of storage account. Possible values include: 'Storage', 'StorageV2', + * 'BlobStorage', 'FileStorage', 'BlockBlobStorage' + */ readonly kind?: string; + /** + * The set of locations that the SKU is available. This will be supported and registered Azure + * Geo Regions (e.g. West US, East US, Southeast Asia, etc.). + */ readonly locations?: string[]; + /** + * The capability information in the specified sku, including file encryption, network acls, + * change notification, etc. + */ readonly capabilities?: SKUCapability[]; + /** + * The restrictions because of which SKU cannot be used. This is empty if there are no + * restrictions. + */ restrictions?: Restriction[]; } /** - * @class - * Initializes a new instance of the CheckNameAvailabilityResult class. - * @constructor * The CheckNameAvailability operation response. - * - * @member {boolean} [nameAvailable] Gets a boolean value that indicates - * whether the name is available for you to use. If true, the name is - * available. If false, the name has already been taken or is invalid and - * cannot be used. - * @member {string} [reason] Gets the reason that a storage account name could - * not be used. The Reason element is only returned if NameAvailable is false. - * Possible values include: 'AccountNameInvalid', 'AlreadyExists' - * @member {string} [message] Gets an error message explaining the Reason value - * in more detail. */ export interface CheckNameAvailabilityResult { + /** + * Gets a boolean value that indicates whether the name is available for you to use. If true, the + * name is available. If false, the name has already been taken or is invalid and cannot be used. + */ readonly nameAvailable?: boolean; + /** + * Gets the reason that a storage account name could not be used. The Reason element is only + * returned if NameAvailable is false. Possible values include: 'AccountNameInvalid', + * 'AlreadyExists' + */ readonly reason?: string; + /** + * Gets an error message explaining the Reason value in more detail. + */ readonly message?: string; } /** - * @class - * Initializes a new instance of the CustomDomain class. - * @constructor - * The custom domain assigned to this storage account. This can be set via - * Update. - * - * @member {string} name Gets or sets the custom domain name assigned to the - * storage account. Name is the CNAME source. - * @member {boolean} [useSubDomain] Indicates whether indirect CName validation - * is enabled. Default value is false. This should only be set on updates. + * The custom domain assigned to this storage account. This can be set via Update. */ export interface CustomDomain { + /** + * Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source. + */ name: string; + /** + * Indicates whether indirect CName validation is enabled. Default value is false. This should + * only be set on updates. + */ useSubDomain?: boolean; } /** - * @class - * Initializes a new instance of the EncryptionService class. - * @constructor * A service that allows server-side encryption to be used. - * - * @member {boolean} [enabled] A boolean indicating whether or not the service - * encrypts the data as it is stored. - * @member {date} [lastEnabledTime] Gets a rough estimate of the date/time when - * the encryption was last enabled by the user. Only returned when encryption - * is enabled. There might be some unencrypted blobs which were written after - * this time, as it is just a rough estimate. */ export interface EncryptionService { + /** + * A boolean indicating whether or not the service encrypts the data as it is stored. + */ enabled?: boolean; + /** + * Gets a rough estimate of the date/time when the encryption was last enabled by the user. Only + * returned when encryption is enabled. There might be some unencrypted blobs which were written + * after this time, as it is just a rough estimate. + */ readonly lastEnabledTime?: Date; } /** - * @class - * Initializes a new instance of the EncryptionServices class. - * @constructor * A list of services that support encryption. - * - * @member {object} [blob] The encryption function of the blob storage service. - * @member {boolean} [blob.enabled] A boolean indicating whether or not the - * service encrypts the data as it is stored. - * @member {date} [blob.lastEnabledTime] Gets a rough estimate of the date/time - * when the encryption was last enabled by the user. Only returned when - * encryption is enabled. There might be some unencrypted blobs which were - * written after this time, as it is just a rough estimate. - * @member {object} [file] The encryption function of the file storage service. - * @member {boolean} [file.enabled] A boolean indicating whether or not the - * service encrypts the data as it is stored. - * @member {date} [file.lastEnabledTime] Gets a rough estimate of the date/time - * when the encryption was last enabled by the user. Only returned when - * encryption is enabled. There might be some unencrypted blobs which were - * written after this time, as it is just a rough estimate. - * @member {object} [table] The encryption function of the table storage - * service. - * @member {boolean} [table.enabled] A boolean indicating whether or not the - * service encrypts the data as it is stored. - * @member {date} [table.lastEnabledTime] Gets a rough estimate of the - * date/time when the encryption was last enabled by the user. Only returned - * when encryption is enabled. There might be some unencrypted blobs which were - * written after this time, as it is just a rough estimate. - * @member {object} [queue] The encryption function of the queue storage - * service. - * @member {boolean} [queue.enabled] A boolean indicating whether or not the - * service encrypts the data as it is stored. - * @member {date} [queue.lastEnabledTime] Gets a rough estimate of the - * date/time when the encryption was last enabled by the user. Only returned - * when encryption is enabled. There might be some unencrypted blobs which were - * written after this time, as it is just a rough estimate. */ export interface EncryptionServices { + /** + * The encryption function of the blob storage service. + */ blob?: EncryptionService; + /** + * The encryption function of the file storage service. + */ file?: EncryptionService; + /** + * The encryption function of the table storage service. + */ readonly table?: EncryptionService; + /** + * The encryption function of the queue storage service. + */ readonly queue?: EncryptionService; } /** - * @class - * Initializes a new instance of the KeyVaultProperties class. - * @constructor * Properties of key vault. - * - * @member {string} [keyName] The name of KeyVault key. - * @member {string} [keyVersion] The version of KeyVault key. - * @member {string} [keyVaultUri] The Uri of KeyVault. */ export interface KeyVaultProperties { + /** + * The name of KeyVault key. + */ keyName?: string; + /** + * The version of KeyVault key. + */ keyVersion?: string; + /** + * The Uri of KeyVault. + */ keyVaultUri?: string; } /** - * @class - * Initializes a new instance of the Encryption class. - * @constructor * The encryption settings on the storage account. - * - * @member {object} [services] List of services which support encryption. - * @member {object} [services.blob] The encryption function of the blob storage - * service. - * @member {boolean} [services.blob.enabled] A boolean indicating whether or - * not the service encrypts the data as it is stored. - * @member {date} [services.blob.lastEnabledTime] Gets a rough estimate of the - * date/time when the encryption was last enabled by the user. Only returned - * when encryption is enabled. There might be some unencrypted blobs which were - * written after this time, as it is just a rough estimate. - * @member {object} [services.file] The encryption function of the file storage - * service. - * @member {boolean} [services.file.enabled] A boolean indicating whether or - * not the service encrypts the data as it is stored. - * @member {date} [services.file.lastEnabledTime] Gets a rough estimate of the - * date/time when the encryption was last enabled by the user. Only returned - * when encryption is enabled. There might be some unencrypted blobs which were - * written after this time, as it is just a rough estimate. - * @member {object} [services.table] The encryption function of the table - * storage service. - * @member {boolean} [services.table.enabled] A boolean indicating whether or - * not the service encrypts the data as it is stored. - * @member {date} [services.table.lastEnabledTime] Gets a rough estimate of the - * date/time when the encryption was last enabled by the user. Only returned - * when encryption is enabled. There might be some unencrypted blobs which were - * written after this time, as it is just a rough estimate. - * @member {object} [services.queue] The encryption function of the queue - * storage service. - * @member {boolean} [services.queue.enabled] A boolean indicating whether or - * not the service encrypts the data as it is stored. - * @member {date} [services.queue.lastEnabledTime] Gets a rough estimate of the - * date/time when the encryption was last enabled by the user. Only returned - * when encryption is enabled. There might be some unencrypted blobs which were - * written after this time, as it is just a rough estimate. - * @member {string} keySource The encryption keySource (provider). Possible - * values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. Possible - * values include: 'Microsoft.Storage', 'Microsoft.Keyvault'. Default value: - * 'Microsoft.Storage' . - * @member {object} [keyVaultProperties] Properties provided by key vault. - * @member {string} [keyVaultProperties.keyName] The name of KeyVault key. - * @member {string} [keyVaultProperties.keyVersion] The version of KeyVault - * key. - * @member {string} [keyVaultProperties.keyVaultUri] The Uri of KeyVault. */ export interface Encryption { + /** + * List of services which support encryption. + */ services?: EncryptionServices; + /** + * The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, + * Microsoft.Keyvault. Possible values include: 'Microsoft.Storage', 'Microsoft.Keyvault' + */ keySource: string; + /** + * Properties provided by key vault. + */ keyVaultProperties?: KeyVaultProperties; } /** - * @class - * Initializes a new instance of the VirtualNetworkRule class. - * @constructor * Virtual Network rule. - * - * @member {string} virtualNetworkResourceId Resource ID of a subnet, for - * example: - * /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. - * @member {string} [action] The action of virtual network rule. Possible - * values include: 'Allow'. Default value: 'Allow' . - * @member {string} [state] Gets the state of virtual network rule. Possible - * values include: 'provisioning', 'deprovisioning', 'succeeded', 'failed', - * 'networkSourceDeleted' */ export interface VirtualNetworkRule { + /** + * Resource ID of a subnet, for example: + * /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + */ virtualNetworkResourceId: string; + /** + * The action of virtual network rule. Possible values include: 'Allow' + */ action?: string; + /** + * Gets the state of virtual network rule. Possible values include: 'provisioning', + * 'deprovisioning', 'succeeded', 'failed', 'networkSourceDeleted' + */ state?: string; } /** - * @class - * Initializes a new instance of the IPRule class. - * @constructor * IP rule with specific IP or IP range in CIDR format. - * - * @member {string} iPAddressOrRange Specifies the IP or IP range in CIDR - * format. Only IPV4 address is allowed. - * @member {string} [action] The action of IP ACL rule. Possible values - * include: 'Allow'. Default value: 'Allow' . */ export interface IPRule { + /** + * Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. + */ iPAddressOrRange: string; + /** + * The action of IP ACL rule. Possible values include: 'Allow' + */ action?: string; } /** - * @class - * Initializes a new instance of the NetworkRuleSet class. - * @constructor * Network rule set - * - * @member {string} [bypass] Specifies whether traffic is bypassed for - * Logging/Metrics/AzureServices. Possible values are any combination of - * Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to - * bypass none of those traffics. Possible values include: 'None', 'Logging', - * 'Metrics', 'AzureServices'. Default value: 'AzureServices' . - * @member {array} [virtualNetworkRules] Sets the virtual network rules - * @member {array} [ipRules] Sets the IP ACL rules - * @member {string} defaultAction Specifies the default action of allow or deny - * when no other rules match. Possible values include: 'Allow', 'Deny'. Default - * value: 'Allow' . */ export interface NetworkRuleSet { + /** + * Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are + * any combination of Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to + * bypass none of those traffics. Possible values include: 'None', 'Logging', 'Metrics', + * 'AzureServices' + */ bypass?: string; + /** + * Sets the virtual network rules + */ virtualNetworkRules?: VirtualNetworkRule[]; + /** + * Sets the IP ACL rules + */ ipRules?: IPRule[]; + /** + * Specifies the default action of allow or deny when no other rules match. Possible values + * include: 'Allow', 'Deny' + */ defaultAction: string; } /** - * @class - * Initializes a new instance of the Identity class. - * @constructor * Identity for the resource. - * - * @member {string} [principalId] The principal ID of resource identity. - * @member {string} [tenantId] The tenant ID of resource. */ export interface Identity { + /** + * The principal ID of resource identity. + */ readonly principalId?: string; + /** + * The tenant ID of resource. + */ readonly tenantId?: string; } /** - * @class - * Initializes a new instance of the StorageAccountCreateParameters class. - * @constructor * The parameters used when creating a storage account. - * - * @member {object} sku Required. Gets or sets the sku name. - * @member {string} [sku.name] Gets or sets the sku name. Required for account - * creation; optional for update. Note that in older versions, sku name was - * called accountType. Possible values include: 'Standard_LRS', 'Standard_GRS', - * 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', 'Premium_ZRS' - * @member {string} [sku.tier] Gets the sku tier. This is based on the SKU - * name. Possible values include: 'Standard', 'Premium' - * @member {string} [sku.resourceType] The type of the resource, usually it is - * 'storageAccounts'. - * @member {string} [sku.kind] Indicates the type of storage account. Possible - * values include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', - * 'BlockBlobStorage' - * @member {array} [sku.locations] The set of locations that the SKU is - * available. This will be supported and registered Azure Geo Regions (e.g. - * West US, East US, Southeast Asia, etc.). - * @member {array} [sku.capabilities] The capability information in the - * specified sku, including file encryption, network acls, change notification, - * etc. - * @member {array} [sku.restrictions] The restrictions because of which SKU - * cannot be used. This is empty if there are no restrictions. - * @member {string} kind Required. Indicates the type of storage account. - * Possible values include: 'Storage', 'StorageV2', 'BlobStorage', - * 'FileStorage', 'BlockBlobStorage' - * @member {string} location Required. Gets or sets the location of the - * resource. This will be one of the supported and registered Azure Geo Regions - * (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource - * cannot be changed once it is created, but if an identical geo region is - * specified on update, the request will succeed. - * @member {object} [tags] Gets or sets a list of key value pairs that describe - * the resource. These tags can be used for viewing and grouping this resource - * (across resource groups). A maximum of 15 tags can be provided for a - * resource. Each tag must have a key with a length no greater than 128 - * characters and a value with a length no greater than 256 characters. - * @member {object} [identity] The identity of the resource. - * @member {string} [identity.principalId] The principal ID of resource - * identity. - * @member {string} [identity.tenantId] The tenant ID of resource. - * @member {object} [customDomain] User domain assigned to the storage account. - * Name is the CNAME source. Only one custom domain is supported per storage - * account at this time. To clear the existing custom domain, use an empty - * string for the custom domain name property. - * @member {string} [customDomain.name] Gets or sets the custom domain name - * assigned to the storage account. Name is the CNAME source. - * @member {boolean} [customDomain.useSubDomain] Indicates whether indirect - * CName validation is enabled. Default value is false. This should only be set - * on updates. - * @member {object} [encryption] Provides the encryption settings on the - * account. If left unspecified the account encryption settings will remain the - * same. The default setting is unencrypted. - * @member {object} [encryption.services] List of services which support - * encryption. - * @member {object} [encryption.services.blob] The encryption function of the - * blob storage service. - * @member {boolean} [encryption.services.blob.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.blob.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {object} [encryption.services.file] The encryption function of the - * file storage service. - * @member {boolean} [encryption.services.file.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.file.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {object} [encryption.services.table] The encryption function of the - * table storage service. - * @member {boolean} [encryption.services.table.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.table.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {object} [encryption.services.queue] The encryption function of the - * queue storage service. - * @member {boolean} [encryption.services.queue.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.queue.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {string} [encryption.keySource] The encryption keySource (provider). - * Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. - * Possible values include: 'Microsoft.Storage', 'Microsoft.Keyvault' - * @member {object} [encryption.keyVaultProperties] Properties provided by key - * vault. - * @member {string} [encryption.keyVaultProperties.keyName] The name of - * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVersion] The version of - * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVaultUri] The Uri of - * KeyVault. - * @member {object} [networkRuleSet] Network rule set - * @member {string} [networkRuleSet.bypass] Specifies whether traffic is - * bypassed for Logging/Metrics/AzureServices. Possible values are any - * combination of Logging|Metrics|AzureServices (For example, "Logging, - * Metrics"), or None to bypass none of those traffics. Possible values - * include: 'None', 'Logging', 'Metrics', 'AzureServices' - * @member {array} [networkRuleSet.virtualNetworkRules] Sets the virtual - * network rules - * @member {array} [networkRuleSet.ipRules] Sets the IP ACL rules - * @member {string} [networkRuleSet.defaultAction] Specifies the default action - * of allow or deny when no other rules match. Possible values include: - * 'Allow', 'Deny' - * @member {string} [accessTier] Required for storage accounts where kind = - * BlobStorage. The access tier used for billing. Possible values include: - * 'Hot', 'Cool' - * @member {boolean} [enableAzureFilesAadIntegration] Enables Azure Files AAD - * Integration for SMB if sets to true. - * @member {boolean} [enableHttpsTrafficOnly] Allows https traffic only to - * storage service if sets to true. - * @member {boolean} [isHnsEnabled] Account HierarchicalNamespace enabled if - * sets to true. */ export interface StorageAccountCreateParameters { + /** + * Required. Gets or sets the sku name. + */ sku: Sku; + /** + * Required. Indicates the type of storage account. Possible values include: 'Storage', + * 'StorageV2', 'BlobStorage', 'FileStorage', 'BlockBlobStorage' + */ kind: string; + /** + * Required. Gets or sets the location of the resource. This will be one of the supported and + * registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of + * a resource cannot be changed once it is created, but if an identical geo region is specified + * on update, the request will succeed. + */ location: string; + /** + * Gets or sets a list of key value pairs that describe the resource. These tags can be used for + * viewing and grouping this resource (across resource groups). A maximum of 15 tags can be + * provided for a resource. Each tag must have a key with a length no greater than 128 characters + * and a value with a length no greater than 256 characters. + */ tags?: { [propertyName: string]: string }; + /** + * The identity of the resource. + */ identity?: Identity; + /** + * User domain assigned to the storage account. Name is the CNAME source. Only one custom domain + * is supported per storage account at this time. To clear the existing custom domain, use an + * empty string for the custom domain name property. + */ customDomain?: CustomDomain; + /** + * Provides the encryption settings on the account. If left unspecified the account encryption + * settings will remain the same. The default setting is unencrypted. + */ encryption?: Encryption; + /** + * Network rule set + */ networkRuleSet?: NetworkRuleSet; + /** + * Required for storage accounts where kind = BlobStorage. The access tier used for billing. + * Possible values include: 'Hot', 'Cool' + */ accessTier?: string; + /** + * Enables Azure Files AAD Integration for SMB if sets to true. + */ enableAzureFilesAadIntegration?: boolean; + /** + * Allows https traffic only to storage service if sets to true. + */ enableHttpsTrafficOnly?: boolean; + /** + * Account HierarchicalNamespace enabled if sets to true. + */ isHnsEnabled?: boolean; } /** - * @class - * Initializes a new instance of the Endpoints class. - * @constructor - * The URIs that are used to perform a retrieval of a public blob, queue, - * table, web or dfs object. - * - * @member {string} [blob] Gets the blob endpoint. - * @member {string} [queue] Gets the queue endpoint. - * @member {string} [table] Gets the table endpoint. - * @member {string} [file] Gets the file endpoint. - * @member {string} [web] Gets the web endpoint. - * @member {string} [dfs] Gets the dfs endpoint. + * The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object. */ export interface Endpoints { + /** + * Gets the blob endpoint. + */ readonly blob?: string; + /** + * Gets the queue endpoint. + */ readonly queue?: string; + /** + * Gets the table endpoint. + */ readonly table?: string; + /** + * Gets the file endpoint. + */ readonly file?: string; + /** + * Gets the web endpoint. + */ readonly web?: string; + /** + * Gets the dfs endpoint. + */ readonly dfs?: string; } /** - * @class - * Initializes a new instance of the Resource class. - * @constructor - * @member {string} [id] Fully qualified resource Id for the resource. Ex - - * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - * @member {string} [name] The name of the resource - * @member {string} [type] The type of the resource. Ex- - * Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + * 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 { + /** + * 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' + */ + readonly status?: string; + /** + * 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. + */ + readonly lastSyncTime?: Date; +} + export interface Resource extends BaseResource { + /** + * Fully qualified resource Id for the resource. Ex - + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ readonly id?: string; + /** + * The name of the resource + */ readonly name?: string; + /** + * The type of the resource. Ex- Microsoft.Compute/virtualMachines or + * Microsoft.Storage/storageAccounts. + */ readonly type?: string; } /** - * @class - * Initializes a new instance of the TrackedResource class. - * @constructor * The resource model definition for a ARM tracked top level resource - * - * @member {object} [tags] Resource tags. - * @member {string} location The geo-location where the resource lives - */ +*/ export interface TrackedResource extends Resource { + /** + * Resource tags. + */ tags?: { [propertyName: string]: string }; + /** + * The geo-location where the resource lives + */ location: string; } /** - * @class - * Initializes a new instance of the StorageAccount class. - * @constructor * The storage account. - * - * @member {object} [sku] Gets the SKU. - * @member {string} [sku.name] Gets or sets the sku name. Required for account - * creation; optional for update. Note that in older versions, sku name was - * called accountType. Possible values include: 'Standard_LRS', 'Standard_GRS', - * 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', 'Premium_ZRS' - * @member {string} [sku.tier] Gets the sku tier. This is based on the SKU - * name. Possible values include: 'Standard', 'Premium' - * @member {string} [sku.resourceType] The type of the resource, usually it is - * 'storageAccounts'. - * @member {string} [sku.kind] Indicates the type of storage account. Possible - * values include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', - * 'BlockBlobStorage' - * @member {array} [sku.locations] The set of locations that the SKU is - * available. This will be supported and registered Azure Geo Regions (e.g. - * West US, East US, Southeast Asia, etc.). - * @member {array} [sku.capabilities] The capability information in the - * specified sku, including file encryption, network acls, change notification, - * etc. - * @member {array} [sku.restrictions] The restrictions because of which SKU - * cannot be used. This is empty if there are no restrictions. - * @member {string} [kind] Gets the Kind. Possible values include: 'Storage', - * 'StorageV2', 'BlobStorage', 'FileStorage', 'BlockBlobStorage' - * @member {object} [identity] The identity of the resource. - * @member {string} [identity.principalId] The principal ID of resource - * identity. - * @member {string} [identity.tenantId] The tenant ID of resource. - * @member {string} [provisioningState] Gets the status of the storage account - * at the time the operation was called. Possible values include: 'Creating', - * 'ResolvingDNS', 'Succeeded' - * @member {object} [primaryEndpoints] Gets the URLs that are used to perform a - * retrieval of a public blob, queue, or table object. Note that Standard_ZRS - * and Premium_LRS accounts only return the blob endpoint. - * @member {string} [primaryEndpoints.blob] Gets the blob endpoint. - * @member {string} [primaryEndpoints.queue] Gets the queue endpoint. - * @member {string} [primaryEndpoints.table] Gets the table endpoint. - * @member {string} [primaryEndpoints.file] Gets the file endpoint. - * @member {string} [primaryEndpoints.web] Gets the web endpoint. - * @member {string} [primaryEndpoints.dfs] Gets the dfs endpoint. - * @member {string} [primaryLocation] Gets the location of the primary data - * center for the storage account. - * @member {string} [statusOfPrimary] Gets the status indicating whether the - * primary location of the storage account is available or unavailable. - * Possible values include: 'available', 'unavailable' - * @member {date} [lastGeoFailoverTime] Gets the timestamp of the most recent - * instance of a failover to the secondary location. Only the most recent - * timestamp is retained. This element is not returned if there has never been - * a failover instance. Only available if the accountType is Standard_GRS or - * Standard_RAGRS. - * @member {string} [secondaryLocation] Gets the location of the geo-replicated - * secondary for the storage account. Only available if the accountType is - * Standard_GRS or Standard_RAGRS. - * @member {string} [statusOfSecondary] Gets the status indicating whether the - * secondary location of the storage account is available or unavailable. Only - * available if the SKU name is Standard_GRS or Standard_RAGRS. Possible values - * include: 'available', 'unavailable' - * @member {date} [creationTime] Gets the creation date and time of the storage - * account in UTC. - * @member {object} [customDomain] Gets the custom domain the user assigned to - * this storage account. - * @member {string} [customDomain.name] Gets or sets the custom domain name - * assigned to the storage account. Name is the CNAME source. - * @member {boolean} [customDomain.useSubDomain] Indicates whether indirect - * CName validation is enabled. Default value is false. This should only be set - * on updates. - * @member {object} [secondaryEndpoints] Gets the URLs that are used to perform - * a retrieval of a public blob, queue, or table object from the secondary - * location of the storage account. Only available if the SKU name is - * Standard_RAGRS. - * @member {string} [secondaryEndpoints.blob] Gets the blob endpoint. - * @member {string} [secondaryEndpoints.queue] Gets the queue endpoint. - * @member {string} [secondaryEndpoints.table] Gets the table endpoint. - * @member {string} [secondaryEndpoints.file] Gets the file endpoint. - * @member {string} [secondaryEndpoints.web] Gets the web endpoint. - * @member {string} [secondaryEndpoints.dfs] Gets the dfs endpoint. - * @member {object} [encryption] Gets the encryption settings on the account. - * If unspecified, the account is unencrypted. - * @member {object} [encryption.services] List of services which support - * encryption. - * @member {object} [encryption.services.blob] The encryption function of the - * blob storage service. - * @member {boolean} [encryption.services.blob.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.blob.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {object} [encryption.services.file] The encryption function of the - * file storage service. - * @member {boolean} [encryption.services.file.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.file.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {object} [encryption.services.table] The encryption function of the - * table storage service. - * @member {boolean} [encryption.services.table.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.table.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {object} [encryption.services.queue] The encryption function of the - * queue storage service. - * @member {boolean} [encryption.services.queue.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.queue.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {string} [encryption.keySource] The encryption keySource (provider). - * Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. - * Possible values include: 'Microsoft.Storage', 'Microsoft.Keyvault' - * @member {object} [encryption.keyVaultProperties] Properties provided by key - * vault. - * @member {string} [encryption.keyVaultProperties.keyName] The name of - * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVersion] The version of - * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVaultUri] The Uri of - * KeyVault. - * @member {string} [accessTier] Required for storage accounts where kind = - * BlobStorage. The access tier used for billing. Possible values include: - * 'Hot', 'Cool' - * @member {boolean} [enableAzureFilesAadIntegration] Enables Azure Files AAD - * Integration for SMB if sets to true. - * @member {boolean} [enableHttpsTrafficOnly] Allows https traffic only to - * storage service if sets to true. - * @member {object} [networkRuleSet] Network rule set - * @member {string} [networkRuleSet.bypass] Specifies whether traffic is - * bypassed for Logging/Metrics/AzureServices. Possible values are any - * combination of Logging|Metrics|AzureServices (For example, "Logging, - * Metrics"), or None to bypass none of those traffics. Possible values - * include: 'None', 'Logging', 'Metrics', 'AzureServices' - * @member {array} [networkRuleSet.virtualNetworkRules] Sets the virtual - * network rules - * @member {array} [networkRuleSet.ipRules] Sets the IP ACL rules - * @member {string} [networkRuleSet.defaultAction] Specifies the default action - * of allow or deny when no other rules match. Possible values include: - * 'Allow', 'Deny' - * @member {boolean} [isHnsEnabled] Account HierarchicalNamespace enabled if - * sets to true. - */ +*/ export interface StorageAccount extends TrackedResource { + /** + * Gets the SKU. + */ readonly sku?: Sku; + /** + * Gets the Kind. Possible values include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', + * 'BlockBlobStorage' + */ readonly kind?: string; + /** + * The identity of the resource. + */ identity?: Identity; + /** + * Gets the status of the storage account at the time the operation was called. Possible values + * include: 'Creating', 'ResolvingDNS', 'Succeeded' + */ readonly provisioningState?: string; + /** + * Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. + * Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint. + */ readonly primaryEndpoints?: Endpoints; + /** + * Gets the location of the primary data center for the storage account. + */ readonly primaryLocation?: string; + /** + * Gets the status indicating whether the primary location of the storage account is available or + * unavailable. Possible values include: 'available', 'unavailable' + */ readonly statusOfPrimary?: string; + /** + * Gets the timestamp of the most recent instance of a failover to the secondary location. Only + * the most recent timestamp is retained. This element is not returned if there has never been a + * failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS. + */ readonly lastGeoFailoverTime?: Date; + /** + * Gets the location of the geo-replicated secondary for the storage account. Only available if + * the accountType is Standard_GRS or Standard_RAGRS. + */ readonly secondaryLocation?: string; + /** + * Gets the status indicating whether the secondary location of the storage account is available + * or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS. Possible + * values include: 'available', 'unavailable' + */ readonly statusOfSecondary?: string; + /** + * Gets the creation date and time of the storage account in UTC. + */ readonly creationTime?: Date; + /** + * Gets the custom domain the user assigned to this storage account. + */ readonly customDomain?: CustomDomain; + /** + * Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object + * from the secondary location of the storage account. Only available if the SKU name is + * Standard_RAGRS. + */ readonly secondaryEndpoints?: Endpoints; + /** + * Gets the encryption settings on the account. If unspecified, the account is unencrypted. + */ readonly encryption?: Encryption; + /** + * Required for storage accounts where kind = BlobStorage. The access tier used for billing. + * Possible values include: 'Hot', 'Cool' + */ readonly accessTier?: string; + /** + * Enables Azure Files AAD Integration for SMB if sets to true. + */ enableAzureFilesAadIntegration?: boolean; + /** + * Allows https traffic only to storage service if sets to true. + */ enableHttpsTrafficOnly?: boolean; + /** + * Network rule set + */ readonly networkRuleSet?: NetworkRuleSet; + /** + * Account HierarchicalNamespace enabled if sets to true. + */ isHnsEnabled?: boolean; + /** + * Geo Replication Stats + */ + readonly geoReplicationStats?: GeoReplicationStats; + /** + * If the failover is in progress, the value will be true, otherwise, it will be null. + */ + readonly failoverInProgress?: boolean; } /** - * @class - * Initializes a new instance of the StorageAccountKey class. - * @constructor * An access key for the storage account. - * - * @member {string} [keyName] Name of the key. - * @member {string} [value] Base 64-encoded value of the key. - * @member {string} [permissions] Permissions for the key -- read-only or full - * permissions. Possible values include: 'Read', 'Full' - */ +*/ export interface StorageAccountKey { + /** + * Name of the key. + */ readonly keyName?: string; + /** + * Base 64-encoded value of the key. + */ readonly value?: string; + /** + * Permissions for the key -- read-only or full permissions. Possible values include: 'Read', + * 'Full' + */ readonly permissions?: string; } /** - * @class - * Initializes a new instance of the StorageAccountListKeysResult class. - * @constructor * The response from the ListKeys operation. - * - * @member {array} [keys] Gets the list of storage account keys and their - * properties for the specified storage account. - */ +*/ export interface StorageAccountListKeysResult { + /** + * Gets the list of storage account keys and their properties for the specified storage account. + */ readonly keys?: StorageAccountKey[]; } /** - * @class - * Initializes a new instance of the StorageAccountRegenerateKeyParameters class. - * @constructor * The parameters used to regenerate the storage account key. - * - * @member {string} keyName The name of storage keys that want to be - * regenerated, possible vaules are key1, key2. - */ +*/ export interface StorageAccountRegenerateKeyParameters { + /** + * The name of storage keys that want to be regenerated, possible vaules are key1, key2. + */ keyName: string; } /** - * @class - * Initializes a new instance of the StorageAccountUpdateParameters class. - * @constructor - * The parameters that can be provided when updating the storage account - * properties. - * - * @member {object} [sku] Gets or sets the SKU name. Note that the SKU name - * cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can - * accounts of those sku names be updated to any other value. - * @member {string} [sku.name] Gets or sets the sku name. Required for account - * creation; optional for update. Note that in older versions, sku name was - * called accountType. Possible values include: 'Standard_LRS', 'Standard_GRS', - * 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', 'Premium_ZRS' - * @member {string} [sku.tier] Gets the sku tier. This is based on the SKU - * name. Possible values include: 'Standard', 'Premium' - * @member {string} [sku.resourceType] The type of the resource, usually it is - * 'storageAccounts'. - * @member {string} [sku.kind] Indicates the type of storage account. Possible - * values include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', - * 'BlockBlobStorage' - * @member {array} [sku.locations] The set of locations that the SKU is - * available. This will be supported and registered Azure Geo Regions (e.g. - * West US, East US, Southeast Asia, etc.). - * @member {array} [sku.capabilities] The capability information in the - * specified sku, including file encryption, network acls, change notification, - * etc. - * @member {array} [sku.restrictions] The restrictions because of which SKU - * cannot be used. This is empty if there are no restrictions. - * @member {object} [tags] Gets or sets a list of key value pairs that describe - * the resource. These tags can be used in viewing and grouping this resource - * (across resource groups). A maximum of 15 tags can be provided for a - * resource. Each tag must have a key no greater in length than 128 characters - * and a value no greater in length than 256 characters. - * @member {object} [identity] The identity of the resource. - * @member {string} [identity.principalId] The principal ID of resource - * identity. - * @member {string} [identity.tenantId] The tenant ID of resource. - * @member {object} [customDomain] Custom domain assigned to the storage - * account by the user. Name is the CNAME source. Only one custom domain is - * supported per storage account at this time. To clear the existing custom - * domain, use an empty string for the custom domain name property. - * @member {string} [customDomain.name] Gets or sets the custom domain name - * assigned to the storage account. Name is the CNAME source. - * @member {boolean} [customDomain.useSubDomain] Indicates whether indirect - * CName validation is enabled. Default value is false. This should only be set - * on updates. - * @member {object} [encryption] Provides the encryption settings on the - * account. The default setting is unencrypted. - * @member {object} [encryption.services] List of services which support - * encryption. - * @member {object} [encryption.services.blob] The encryption function of the - * blob storage service. - * @member {boolean} [encryption.services.blob.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.blob.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {object} [encryption.services.file] The encryption function of the - * file storage service. - * @member {boolean} [encryption.services.file.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.file.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {object} [encryption.services.table] The encryption function of the - * table storage service. - * @member {boolean} [encryption.services.table.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.table.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {object} [encryption.services.queue] The encryption function of the - * queue storage service. - * @member {boolean} [encryption.services.queue.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.queue.lastEnabledTime] Gets a rough - * estimate of the date/time when the encryption was last enabled by the user. - * Only returned when encryption is enabled. There might be some unencrypted - * blobs which were written after this time, as it is just a rough estimate. - * @member {string} [encryption.keySource] The encryption keySource (provider). - * Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. - * Possible values include: 'Microsoft.Storage', 'Microsoft.Keyvault' - * @member {object} [encryption.keyVaultProperties] Properties provided by key - * vault. - * @member {string} [encryption.keyVaultProperties.keyName] The name of - * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVersion] The version of - * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVaultUri] The Uri of - * KeyVault. - * @member {string} [accessTier] Required for storage accounts where kind = - * BlobStorage. The access tier used for billing. Possible values include: - * 'Hot', 'Cool' - * @member {boolean} [enableAzureFilesAadIntegration] Enables Azure Files AAD - * Integration for SMB if sets to true. - * @member {boolean} [enableHttpsTrafficOnly] Allows https traffic only to - * storage service if sets to true. - * @member {object} [networkRuleSet] Network rule set - * @member {string} [networkRuleSet.bypass] Specifies whether traffic is - * bypassed for Logging/Metrics/AzureServices. Possible values are any - * combination of Logging|Metrics|AzureServices (For example, "Logging, - * Metrics"), or None to bypass none of those traffics. Possible values - * include: 'None', 'Logging', 'Metrics', 'AzureServices' - * @member {array} [networkRuleSet.virtualNetworkRules] Sets the virtual - * network rules - * @member {array} [networkRuleSet.ipRules] Sets the IP ACL rules - * @member {string} [networkRuleSet.defaultAction] Specifies the default action - * of allow or deny when no other rules match. Possible values include: - * 'Allow', 'Deny' - * @member {string} [kind] Optional. Indicates the type of storage account. - * Currently only StorageV2 value supported by server. Possible values include: - * 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', 'BlockBlobStorage' - */ + * The parameters that can be provided when updating the storage account properties. +*/ export interface StorageAccountUpdateParameters { + /** + * Gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, + * Premium_LRS or Premium_ZRS, nor can accounts of those sku names be updated to any other value. + */ sku?: Sku; + /** + * Gets or sets a list of key value pairs that describe the resource. These tags can be used in + * viewing and grouping this resource (across resource groups). A maximum of 15 tags can be + * provided for a resource. Each tag must have a key no greater in length than 128 characters and + * a value no greater in length than 256 characters. + */ tags?: { [propertyName: string]: string }; + /** + * The identity of the resource. + */ identity?: Identity; + /** + * Custom domain assigned to the storage account by the user. Name is the CNAME source. Only one + * custom domain is supported per storage account at this time. To clear the existing custom + * domain, use an empty string for the custom domain name property. + */ customDomain?: CustomDomain; + /** + * Provides the encryption settings on the account. The default setting is unencrypted. + */ encryption?: Encryption; + /** + * Required for storage accounts where kind = BlobStorage. The access tier used for billing. + * Possible values include: 'Hot', 'Cool' + */ accessTier?: string; + /** + * Enables Azure Files AAD Integration for SMB if sets to true. + */ enableAzureFilesAadIntegration?: boolean; + /** + * Allows https traffic only to storage service if sets to true. + */ enableHttpsTrafficOnly?: boolean; + /** + * Network rule set + */ networkRuleSet?: NetworkRuleSet; + /** + * Optional. Indicates the type of storage account. Currently only StorageV2 value supported by + * server. Possible values include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', + * 'BlockBlobStorage' + */ kind?: string; } /** - * @class - * Initializes a new instance of the UsageName class. - * @constructor * The usage names that can be used; currently limited to StorageAccount. - * - * @member {string} [value] Gets a string describing the resource name. - * @member {string} [localizedValue] Gets a localized string describing the - * resource name. - */ +*/ export interface UsageName { + /** + * Gets a string describing the resource name. + */ readonly value?: string; + /** + * Gets a localized string describing the resource name. + */ readonly localizedValue?: string; } /** - * @class - * Initializes a new instance of the Usage class. - * @constructor * Describes Storage Resource Usage. - * - * @member {string} [unit] Gets the unit of measurement. Possible values - * include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountsPerSecond', - * 'BytesPerSecond' - * @member {number} [currentValue] Gets the current count of the allocated - * resources in the subscription. - * @member {number} [limit] Gets the maximum count of the resources that can be - * allocated in the subscription. - * @member {object} [name] Gets the name of the type of usage. - * @member {string} [name.value] Gets a string describing the resource name. - * @member {string} [name.localizedValue] Gets a localized string describing - * the resource name. - */ +*/ export interface Usage { + /** + * Gets the unit of measurement. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', + * 'CountsPerSecond', 'BytesPerSecond' + */ readonly unit?: string; + /** + * Gets the current count of the allocated resources in the subscription. + */ readonly currentValue?: number; + /** + * Gets the maximum count of the resources that can be allocated in the subscription. + */ readonly limit?: number; + /** + * Gets the name of the type of usage. + */ readonly name?: UsageName; } /** - * @class - * Initializes a new instance of the AccountSasParameters class. - * @constructor * The parameters to list SAS credentials of a storage account. - * - * @member {string} services The signed services accessible with the account - * SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f). - * Possible values include: 'b', 'q', 't', 'f' - * @member {string} resourceTypes The signed resource types that are accessible - * with the account SAS. Service (s): Access to service-level APIs; Container - * (c): Access to container-level APIs; Object (o): Access to object-level APIs - * for blobs, queue messages, table entities, and files. Possible values - * include: 's', 'c', 'o' - * @member {string} permissions The signed permissions for the account SAS. - * Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), - * Create (c), Update (u) and Process (p). Possible values include: 'r', 'd', - * 'w', 'l', 'a', 'c', 'u', 'p' - * @member {string} [iPAddressOrRange] An IP address or a range of IP addresses - * from which to accept requests. - * @member {string} [protocols] The protocol permitted for a request made with - * the account SAS. Possible values include: 'https,http', 'https' - * @member {date} [sharedAccessStartTime] The time at which the SAS becomes - * valid. - * @member {date} sharedAccessExpiryTime The time at which the shared access - * signature becomes invalid. - * @member {string} [keyToSign] The key to sign the account SAS token with. - */ +*/ export interface AccountSasParameters { + /** + * The signed services accessible with the account SAS. Possible values include: Blob (b), Queue + * (q), Table (t), File (f). Possible values include: 'b', 'q', 't', 'f' + */ services: string; + /** + * The signed resource types that are accessible with the account SAS. Service (s): Access to + * service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to + * object-level APIs for blobs, queue messages, table entities, and files. Possible values + * include: 's', 'c', 'o' + */ resourceTypes: string; + /** + * The signed permissions for the account SAS. Possible values include: Read (r), Write (w), + * Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p). Possible values + * include: 'r', 'd', 'w', 'l', 'a', 'c', 'u', 'p' + */ permissions: string; + /** + * An IP address or a range of IP addresses from which to accept requests. + */ iPAddressOrRange?: string; + /** + * The protocol permitted for a request made with the account SAS. Possible values include: + * 'https,http', 'https' + */ protocols?: string; + /** + * The time at which the SAS becomes valid. + */ sharedAccessStartTime?: Date; + /** + * The time at which the shared access signature becomes invalid. + */ sharedAccessExpiryTime: Date; + /** + * The key to sign the account SAS token with. + */ keyToSign?: string; } /** - * @class - * Initializes a new instance of the ListAccountSasResponse class. - * @constructor * The List SAS credentials operation response. - * - * @member {string} [accountSasToken] List SAS credentials of storage account. - */ +*/ export interface ListAccountSasResponse { + /** + * List SAS credentials of storage account. + */ readonly accountSasToken?: string; } /** - * @class - * Initializes a new instance of the ServiceSasParameters class. - * @constructor * The parameters to list service SAS credentials of a speicific resource. - * - * @member {string} canonicalizedResource The canonical path to the signed - * resource. - * @member {string} [resource] The signed services accessible with the service - * SAS. Possible values include: Blob (b), Container (c), File (f), Share (s). - * Possible values include: 'b', 'c', 'f', 's' - * @member {string} [permissions] The signed permissions for the service SAS. - * Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), - * Create (c), Update (u) and Process (p). Possible values include: 'r', 'd', - * 'w', 'l', 'a', 'c', 'u', 'p' - * @member {string} [iPAddressOrRange] An IP address or a range of IP addresses - * from which to accept requests. - * @member {string} [protocols] The protocol permitted for a request made with - * the account SAS. Possible values include: 'https,http', 'https' - * @member {date} [sharedAccessStartTime] The time at which the SAS becomes - * valid. - * @member {date} [sharedAccessExpiryTime] The time at which the shared access - * signature becomes invalid. - * @member {string} [identifier] A unique value up to 64 characters in length - * that correlates to an access policy specified for the container, queue, or - * table. - * @member {string} [partitionKeyStart] The start of partition key. - * @member {string} [partitionKeyEnd] The end of partition key. - * @member {string} [rowKeyStart] The start of row key. - * @member {string} [rowKeyEnd] The end of row key. - * @member {string} [keyToSign] The key to sign the account SAS token with. - * @member {string} [cacheControl] The response header override for cache - * control. - * @member {string} [contentDisposition] The response header override for - * content disposition. - * @member {string} [contentEncoding] The response header override for content - * encoding. - * @member {string} [contentLanguage] The response header override for content - * language. - * @member {string} [contentType] The response header override for content - * type. - */ +*/ export interface ServiceSasParameters { + /** + * The canonical path to the signed resource. + */ canonicalizedResource: string; + /** + * The signed services accessible with the service SAS. Possible values include: Blob (b), + * Container (c), File (f), Share (s). Possible values include: 'b', 'c', 'f', 's' + */ resource?: string; + /** + * The signed permissions for the service SAS. Possible values include: Read (r), Write (w), + * Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p). Possible values + * include: 'r', 'd', 'w', 'l', 'a', 'c', 'u', 'p' + */ permissions?: string; + /** + * An IP address or a range of IP addresses from which to accept requests. + */ iPAddressOrRange?: string; + /** + * The protocol permitted for a request made with the account SAS. Possible values include: + * 'https,http', 'https' + */ protocols?: string; + /** + * The time at which the SAS becomes valid. + */ sharedAccessStartTime?: Date; + /** + * The time at which the shared access signature becomes invalid. + */ sharedAccessExpiryTime?: Date; + /** + * A unique value up to 64 characters in length that correlates to an access policy specified for + * the container, queue, or table. + */ identifier?: string; + /** + * The start of partition key. + */ partitionKeyStart?: string; + /** + * The end of partition key. + */ partitionKeyEnd?: string; + /** + * The start of row key. + */ rowKeyStart?: string; + /** + * The end of row key. + */ rowKeyEnd?: string; + /** + * The key to sign the account SAS token with. + */ keyToSign?: string; + /** + * The response header override for cache control. + */ cacheControl?: string; + /** + * The response header override for content disposition. + */ contentDisposition?: string; + /** + * The response header override for content encoding. + */ contentEncoding?: string; + /** + * The response header override for content language. + */ contentLanguage?: string; + /** + * The response header override for content type. + */ contentType?: string; } /** - * @class - * Initializes a new instance of the ListServiceSasResponse class. - * @constructor * The List service SAS credentials operation response. - * - * @member {string} [serviceSasToken] List service SAS credentials of speicific - * resource. - */ +*/ export interface ListServiceSasResponse { + /** + * List service SAS credentials of speicific resource. + */ readonly serviceSasToken?: string; } /** - * @class - * Initializes a new instance of the ProxyResource class. - * @constructor - * The resource model definition for a ARM proxy resource. It will have - * everything other than required location and tags - * - */ + * The resource model definition for a ARM proxy resource. It will have everything other than + * required location and tags +*/ export interface ProxyResource extends Resource { } /** - * @class - * Initializes a new instance of the AzureEntityResource class. - * @constructor - * The resource model definition for a Azure Resource Manager resource with an - * etag. - * - * @member {string} [etag] Resource Etag. - */ + * The resource model definition for a Azure Resource Manager resource with an etag. +*/ export interface AzureEntityResource extends Resource { + /** + * Resource Etag. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the UpdateHistoryProperty class. - * @constructor * An update history of the ImmutabilityPolicy of a blob container. - * - * @member {string} [update] The ImmutabilityPolicy update type of a blob - * container, possible values include: put, lock and extend. Possible values - * include: 'put', 'lock', 'extend' - * @member {number} [immutabilityPeriodSinceCreationInDays] The immutability - * period for the blobs in the container since the policy creation, in days. - * @member {date} [timestamp] Returns the date and time the ImmutabilityPolicy - * was updated. - * @member {string} [objectIdentifier] Returns the Object ID of the user who - * updated the ImmutabilityPolicy. - * @member {string} [tenantId] Returns the Tenant ID that issued the token for - * the user who updated the ImmutabilityPolicy. - * @member {string} [upn] Returns the User Principal Name of the user who - * updated the ImmutabilityPolicy. - */ +*/ export interface UpdateHistoryProperty { + /** + * The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and + * extend. Possible values include: 'put', 'lock', 'extend' + */ readonly update?: string; + /** + * The immutability period for the blobs in the container since the policy creation, in days. + */ readonly immutabilityPeriodSinceCreationInDays?: number; + /** + * Returns the date and time the ImmutabilityPolicy was updated. + */ readonly timestamp?: Date; + /** + * Returns the Object ID of the user who updated the ImmutabilityPolicy. + */ readonly objectIdentifier?: string; + /** + * Returns the Tenant ID that issued the token for the user who updated the ImmutabilityPolicy. + */ readonly tenantId?: string; + /** + * Returns the User Principal Name of the user who updated the ImmutabilityPolicy. + */ readonly upn?: string; } /** - * @class - * Initializes a new instance of the ImmutabilityPolicyProperties class. - * @constructor * The properties of an ImmutabilityPolicy of a blob container. - * - * @member {number} immutabilityPeriodSinceCreationInDays The immutability - * period for the blobs in the container since the policy creation, in days. - * @member {string} [state] The ImmutabilityPolicy state of a blob container, - * possible values include: Locked and Unlocked. Possible values include: - * 'Locked', 'Unlocked' - * @member {string} [etag] ImmutabilityPolicy Etag. - * @member {array} [updateHistory] The ImmutabilityPolicy update history of the - * blob container. - */ +*/ export interface ImmutabilityPolicyProperties { + /** + * The immutability period for the blobs in the container since the policy creation, in days. + */ immutabilityPeriodSinceCreationInDays: number; + /** + * The ImmutabilityPolicy state of a blob container, possible values include: Locked and + * Unlocked. Possible values include: 'Locked', 'Unlocked' + */ readonly state?: string; + /** + * ImmutabilityPolicy Etag. + */ readonly etag?: string; + /** + * The ImmutabilityPolicy update history of the blob container. + */ readonly updateHistory?: UpdateHistoryProperty[]; } /** - * @class - * Initializes a new instance of the TagProperty class. - * @constructor * A tag of the LegalHold of a blob container. - * - * @member {string} [tag] The tag value. - * @member {date} [timestamp] Returns the date and time the tag was added. - * @member {string} [objectIdentifier] Returns the Object ID of the user who - * added the tag. - * @member {string} [tenantId] Returns the Tenant ID that issued the token for - * the user who added the tag. - * @member {string} [upn] Returns the User Principal Name of the user who added - * the tag. - */ +*/ export interface TagProperty { + /** + * The tag value. + */ readonly tag?: string; + /** + * Returns the date and time the tag was added. + */ readonly timestamp?: Date; + /** + * Returns the Object ID of the user who added the tag. + */ readonly objectIdentifier?: string; + /** + * Returns the Tenant ID that issued the token for the user who added the tag. + */ readonly tenantId?: string; + /** + * Returns the User Principal Name of the user who added the tag. + */ readonly upn?: string; } /** - * @class - * Initializes a new instance of the LegalHoldProperties class. - * @constructor * The LegalHold property of a blob container. - * - * @member {boolean} [hasLegalHold] The hasLegalHold public property is set to - * true by SRP if there are at least one existing tag. The hasLegalHold public - * property is set to false by SRP if all existing legal hold tags are cleared - * out. There can be a maximum of 1000 blob containers with hasLegalHold=true - * for a given account. - * @member {array} [tags] The list of LegalHold tags of a blob container. - */ +*/ export interface LegalHoldProperties { + /** + * The hasLegalHold public property is set to true by SRP if there are at least one existing tag. + * The hasLegalHold public property is set to false by SRP if all existing legal hold tags are + * cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given + * account. + */ readonly hasLegalHold?: boolean; + /** + * The list of LegalHold tags of a blob container. + */ tags?: TagProperty[]; } /** - * @class - * Initializes a new instance of the BlobContainer class. - * @constructor - * Properties of the blob container, including Id, resource name, resource - * type, Etag. - * - * @member {string} [publicAccess] Specifies whether data in the container may - * be accessed publicly and the level of access. Possible values include: - * 'Container', 'Blob', 'None' - * @member {date} [lastModifiedTime] Returns the date and time the container - * was last modified. - * @member {string} [leaseStatus] The lease status of the container. Possible - * values include: 'Locked', 'Unlocked' - * @member {string} [leaseState] Lease state of the container. Possible values - * include: 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' - * @member {string} [leaseDuration] Specifies whether the lease on a container - * is of infinite or fixed duration, only when the container is leased. - * Possible values include: 'Infinite', 'Fixed' - * @member {object} [metadata] A name-value pair to associate with the - * container as metadata. - * @member {object} [immutabilityPolicy] The ImmutabilityPolicy property of the - * container. - * @member {number} [immutabilityPolicy.immutabilityPeriodSinceCreationInDays] - * The immutability period for the blobs in the container since the policy - * creation, in days. - * @member {string} [immutabilityPolicy.state] The ImmutabilityPolicy state of - * a blob container, possible values include: Locked and Unlocked. Possible - * values include: 'Locked', 'Unlocked' - * @member {string} [immutabilityPolicy.etag] ImmutabilityPolicy Etag. - * @member {array} [immutabilityPolicy.updateHistory] The ImmutabilityPolicy - * update history of the blob container. - * @member {object} [legalHold] The LegalHold property of the container. - * @member {boolean} [legalHold.hasLegalHold] The hasLegalHold public property - * is set to true by SRP if there are at least one existing tag. The - * hasLegalHold public property is set to false by SRP if all existing legal - * hold tags are cleared out. There can be a maximum of 1000 blob containers - * with hasLegalHold=true for a given account. - * @member {array} [legalHold.tags] The list of LegalHold tags of a blob - * container. - * @member {boolean} [hasLegalHold] The hasLegalHold public property is set to - * true by SRP if there are at least one existing tag. The hasLegalHold public - * property is set to false by SRP if all existing legal hold tags are cleared - * out. There can be a maximum of 1000 blob containers with hasLegalHold=true - * for a given account. - * @member {boolean} [hasImmutabilityPolicy] The hasImmutabilityPolicy public - * property is set to true by SRP if ImmutabilityPolicy has been created for - * this container. The hasImmutabilityPolicy public property is set to false by - * SRP if ImmutabilityPolicy has not been created for this container. - */ + * Properties of the blob container, including Id, resource name, resource type, Etag. +*/ export interface BlobContainer extends AzureEntityResource { + /** + * Specifies whether data in the container may be accessed publicly and the level of access. + * Possible values include: 'Container', 'Blob', 'None' + */ publicAccess?: string; + /** + * Returns the date and time the container was last modified. + */ readonly lastModifiedTime?: Date; + /** + * The lease status of the container. Possible values include: 'Locked', 'Unlocked' + */ readonly leaseStatus?: string; + /** + * Lease state of the container. Possible values include: 'Available', 'Leased', 'Expired', + * 'Breaking', 'Broken' + */ readonly leaseState?: string; + /** + * Specifies whether the lease on a container is of infinite or fixed duration, only when the + * container is leased. Possible values include: 'Infinite', 'Fixed' + */ readonly leaseDuration?: string; + /** + * A name-value pair to associate with the container as metadata. + */ metadata?: { [propertyName: string]: string }; + /** + * The ImmutabilityPolicy property of the container. + */ readonly immutabilityPolicy?: ImmutabilityPolicyProperties; + /** + * The LegalHold property of the container. + */ readonly legalHold?: LegalHoldProperties; + /** + * The hasLegalHold public property is set to true by SRP if there are at least one existing tag. + * The hasLegalHold public property is set to false by SRP if all existing legal hold tags are + * cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given + * account. + */ readonly hasLegalHold?: boolean; + /** + * The hasImmutabilityPolicy public property is set to true by SRP if ImmutabilityPolicy has been + * created for this container. The hasImmutabilityPolicy public property is set to false by SRP + * if ImmutabilityPolicy has not been created for this container. + */ readonly hasImmutabilityPolicy?: boolean; } /** - * @class - * Initializes a new instance of the ImmutabilityPolicy class. - * @constructor - * The ImmutabilityPolicy property of a blob container, including Id, resource - * name, resource type, Etag. - * - * @member {number} immutabilityPeriodSinceCreationInDays The immutability - * period for the blobs in the container since the policy creation, in days. - * @member {string} [state] The ImmutabilityPolicy state of a blob container, - * possible values include: Locked and Unlocked. Possible values include: - * 'Locked', 'Unlocked' - */ + * The ImmutabilityPolicy property of a blob container, including Id, resource name, resource type, + * Etag. +*/ export interface ImmutabilityPolicy extends AzureEntityResource { + /** + * The immutability period for the blobs in the container since the policy creation, in days. + */ immutabilityPeriodSinceCreationInDays: number; + /** + * The ImmutabilityPolicy state of a blob container, possible values include: Locked and + * Unlocked. Possible values include: 'Locked', 'Unlocked' + */ readonly state?: string; } /** - * @class - * Initializes a new instance of the LegalHold class. - * @constructor * The LegalHold property of a blob container. - * - * @member {boolean} [hasLegalHold] The hasLegalHold public property is set to - * true by SRP if there are at least one existing tag. The hasLegalHold public - * property is set to false by SRP if all existing legal hold tags are cleared - * out. There can be a maximum of 1000 blob containers with hasLegalHold=true - * for a given account. - * @member {array} tags Each tag should be 3 to 23 alphanumeric characters and - * is normalized to lower case at SRP. - */ +*/ export interface LegalHold { + /** + * The hasLegalHold public property is set to true by SRP if there are at least one existing tag. + * The hasLegalHold public property is set to false by SRP if all existing legal hold tags are + * cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given + * account. + */ readonly hasLegalHold?: boolean; + /** + * Each tag should be 3 to 23 alphanumeric characters and is normalized to lower case at SRP. + */ tags: string[]; } /** - * @class - * Initializes a new instance of the ListContainerItem class. - * @constructor * The blob container properties be listed out. - * - * @member {string} [publicAccess] Specifies whether data in the container may - * be accessed publicly and the level of access. Possible values include: - * 'Container', 'Blob', 'None' - * @member {date} [lastModifiedTime] Returns the date and time the container - * was last modified. - * @member {string} [leaseStatus] The lease status of the container. Possible - * values include: 'Locked', 'Unlocked' - * @member {string} [leaseState] Lease state of the container. Possible values - * include: 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' - * @member {string} [leaseDuration] Specifies whether the lease on a container - * is of infinite or fixed duration, only when the container is leased. - * Possible values include: 'Infinite', 'Fixed' - * @member {object} [metadata] A name-value pair to associate with the - * container as metadata. - * @member {object} [immutabilityPolicy] The ImmutabilityPolicy property of the - * container. - * @member {number} [immutabilityPolicy.immutabilityPeriodSinceCreationInDays] - * The immutability period for the blobs in the container since the policy - * creation, in days. - * @member {string} [immutabilityPolicy.state] The ImmutabilityPolicy state of - * a blob container, possible values include: Locked and Unlocked. Possible - * values include: 'Locked', 'Unlocked' - * @member {string} [immutabilityPolicy.etag] ImmutabilityPolicy Etag. - * @member {array} [immutabilityPolicy.updateHistory] The ImmutabilityPolicy - * update history of the blob container. - * @member {object} [legalHold] The LegalHold property of the container. - * @member {boolean} [legalHold.hasLegalHold] The hasLegalHold public property - * is set to true by SRP if there are at least one existing tag. The - * hasLegalHold public property is set to false by SRP if all existing legal - * hold tags are cleared out. There can be a maximum of 1000 blob containers - * with hasLegalHold=true for a given account. - * @member {array} [legalHold.tags] The list of LegalHold tags of a blob - * container. - * @member {boolean} [hasLegalHold] The hasLegalHold public property is set to - * true by SRP if there are at least one existing tag. The hasLegalHold public - * property is set to false by SRP if all existing legal hold tags are cleared - * out. There can be a maximum of 1000 blob containers with hasLegalHold=true - * for a given account. - * @member {boolean} [hasImmutabilityPolicy] The hasImmutabilityPolicy public - * property is set to true by SRP if ImmutabilityPolicy has been created for - * this container. The hasImmutabilityPolicy public property is set to false by - * SRP if ImmutabilityPolicy has not been created for this container. - */ +*/ export interface ListContainerItem extends AzureEntityResource { + /** + * Specifies whether data in the container may be accessed publicly and the level of access. + * Possible values include: 'Container', 'Blob', 'None' + */ publicAccess?: string; + /** + * Returns the date and time the container was last modified. + */ readonly lastModifiedTime?: Date; + /** + * The lease status of the container. Possible values include: 'Locked', 'Unlocked' + */ readonly leaseStatus?: string; + /** + * Lease state of the container. Possible values include: 'Available', 'Leased', 'Expired', + * 'Breaking', 'Broken' + */ readonly leaseState?: string; + /** + * Specifies whether the lease on a container is of infinite or fixed duration, only when the + * container is leased. Possible values include: 'Infinite', 'Fixed' + */ readonly leaseDuration?: string; + /** + * A name-value pair to associate with the container as metadata. + */ metadata?: { [propertyName: string]: string }; + /** + * The ImmutabilityPolicy property of the container. + */ readonly immutabilityPolicy?: ImmutabilityPolicyProperties; + /** + * The LegalHold property of the container. + */ readonly legalHold?: LegalHoldProperties; + /** + * The hasLegalHold public property is set to true by SRP if there are at least one existing tag. + * The hasLegalHold public property is set to false by SRP if all existing legal hold tags are + * cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given + * account. + */ readonly hasLegalHold?: boolean; + /** + * The hasImmutabilityPolicy public property is set to true by SRP if ImmutabilityPolicy has been + * created for this container. The hasImmutabilityPolicy public property is set to false by SRP + * if ImmutabilityPolicy has not been created for this container. + */ readonly hasImmutabilityPolicy?: boolean; } /** - * @class - * Initializes a new instance of the ListContainerItems class. - * @constructor * The list of blob containers. - * - * @member {array} [value] The list of blob containers. - */ +*/ export interface ListContainerItems { + /** + * The list of blob containers. + */ value?: ListContainerItem[]; } /** - * @class - * Initializes a new instance of the CorsRule class. - * @constructor * Specifies a CORS rule for the Blob service. - * - * @member {array} allowedOrigins Required if CorsRule element is present. A - * list of origin domains that will be allowed via CORS, or "*" to allow all - * domains - * @member {array} allowedMethods Required if CorsRule element is present. A - * list of HTTP methods that are allowed to be executed by the origin. - * @member {number} maxAgeInSeconds Required if CorsRule element is present. - * The number of seconds that the client/browser should cache a preflight - * response. - * @member {array} exposedHeaders Required if CorsRule element is present. A - * list of response headers to expose to CORS clients. - * @member {array} allowedHeaders Required if CorsRule element is present. A - * list of headers allowed to be part of the cross-origin request. - */ +*/ export interface CorsRule { + /** + * Required if CorsRule element is present. A list of origin domains that will be allowed via + * CORS, or "*" to allow all domains + */ allowedOrigins: string[]; + /** + * Required if CorsRule element is present. A list of HTTP methods that are allowed to be + * executed by the origin. + */ allowedMethods: string[]; + /** + * Required if CorsRule element is present. The number of seconds that the client/browser should + * cache a preflight response. + */ maxAgeInSeconds: number; + /** + * Required if CorsRule element is present. A list of response headers to expose to CORS clients. + */ exposedHeaders: string[]; + /** + * Required if CorsRule element is present. A list of headers allowed to be part of the + * cross-origin request. + */ allowedHeaders: string[]; } /** - * @class - * Initializes a new instance of the CorsRules class. - * @constructor - * Sets the CORS rules. You can include up to five CorsRule elements in the - * request. - * - * @member {array} [corsRules] The List of CORS rules. You can include up to - * five CorsRule elements in the request. - */ + * Sets the CORS rules. You can include up to five CorsRule elements in the request. +*/ export interface CorsRules { + /** + * The List of CORS rules. You can include up to five CorsRule elements in the request. + */ corsRules?: CorsRule[]; } /** - * @class - * Initializes a new instance of the DeleteRetentionPolicy class. - * @constructor * The blob service properties for soft delete. - * - * @member {boolean} [enabled] Indicates whether DeleteRetentionPolicy is - * enabled for the Blob service. - * @member {number} [days] Indicates the number of days that the deleted blob - * should be retained. The minimum specified value can be 1 and the maximum - * value can be 365. - */ +*/ export interface DeleteRetentionPolicy { + /** + * Indicates whether DeleteRetentionPolicy is enabled for the Blob service. + */ enabled?: boolean; + /** + * Indicates the number of days that the deleted blob should be retained. The minimum specified + * value can be 1 and the maximum value can be 365. + */ days?: number; } /** - * @class - * Initializes a new instance of the BlobServiceProperties class. - * @constructor * The properties of a storage account’s Blob service. - * - * @member {object} [cors] Specifies CORS rules for the Blob service. You can - * include up to five CorsRule elements in the request. If no CorsRule elements - * are included in the request body, all CORS rules will be deleted, and CORS - * will be disabled for the Blob service. - * @member {array} [cors.corsRules] The List of CORS rules. You can include up - * to five CorsRule elements in the request. - * @member {string} [defaultServiceVersion] DefaultServiceVersion indicates the - * default version to use for requests to the Blob service if an incoming - * request’s version is not specified. Possible values include version - * 2008-10-27 and all more recent versions. - * @member {object} [deleteRetentionPolicy] The blob service properties for - * soft delete. - * @member {boolean} [deleteRetentionPolicy.enabled] Indicates whether - * DeleteRetentionPolicy is enabled for the Blob service. - * @member {number} [deleteRetentionPolicy.days] Indicates the number of days - * that the deleted blob should be retained. The minimum specified value can be - * 1 and the maximum value can be 365. - */ +*/ export interface BlobServiceProperties extends Resource { + /** + * Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the + * request. If no CorsRule elements are included in the request body, all CORS rules will be + * deleted, and CORS will be disabled for the Blob service. + */ cors?: CorsRules; + /** + * DefaultServiceVersion indicates the default version to use for requests to the Blob service if + * an incoming request’s version is not specified. Possible values include version 2008-10-27 and + * all more recent versions. + */ defaultServiceVersion?: string; + /** + * The blob service properties for soft delete. + */ deleteRetentionPolicy?: DeleteRetentionPolicy; } /** - * @class - * Initializes a new instance of the StorageAccountManagementPolicies class. - * @constructor * The Get Storage Account ManagementPolicies operation response. - * - * @member {object} [policy] The Storage Account ManagementPolicies Rules, in - * JSON format. See more details in: - * https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. - * @member {date} [lastModifiedTime] Returns the date and time the - * ManagementPolicies was last modified. - */ +*/ export interface StorageAccountManagementPolicies extends Resource { + /** + * The Storage Account ManagementPolicies Rules, in JSON format. See more details in: + * https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + */ policy?: any; + /** + * Returns the date and time the ManagementPolicies was last modified. + */ readonly lastModifiedTime?: Date; } /** - * @class - * Initializes a new instance of the ManagementPoliciesRulesSetParameter class. - * @constructor - * The Storage Account ManagementPolicies Rules, in JSON format. See more - * details in: + * The Storage Account ManagementPolicies Rules, in JSON format. See more details in: * https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. - * - * @member {object} [policy] The Storage Account ManagementPolicies Rules, in - * JSON format. See more details in: - * https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. - */ +*/ export interface ManagementPoliciesRulesSetParameter { + /** + * The Storage Account ManagementPolicies Rules, in JSON format. See more details in: + * https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + */ policy?: any; } - /** - * @class - * Initializes a new instance of the OperationListResult class. - * @constructor - * Result of the request to list Storage operations. It contains a list of - * operations and a URL link to get the next set of results. - * - */ + * Result of the request to list Storage operations. It contains a list of operations and a URL + * link to get the next set of results. +*/ export interface OperationListResult extends Array { } /** - * @class - * Initializes a new instance of the StorageSkuListResult class. - * @constructor * The response from the List Storage SKUs operation. - * - */ +*/ export interface StorageSkuListResult extends Array { } /** - * @class - * Initializes a new instance of the StorageAccountListResult class. - * @constructor * The response from the List Storage Accounts operation. - * - */ +*/ export interface StorageAccountListResult extends Array { } /** - * @class - * Initializes a new instance of the UsageListResult class. - * @constructor * The response from the List Usages operation. - * - */ +*/ export interface UsageListResult extends Array { } diff --git a/lib/services/storageManagement2/lib/models/index.js b/lib/services/storageManagement2/lib/models/index.js index cebbd82876..4856015999 100644 --- a/lib/services/storageManagement2/lib/models/index.js +++ b/lib/services/storageManagement2/lib/models/index.js @@ -39,6 +39,7 @@ exports.NetworkRuleSet = require('./networkRuleSet'); exports.Identity = require('./identity'); exports.StorageAccountCreateParameters = require('./storageAccountCreateParameters'); exports.Endpoints = require('./endpoints'); +exports.GeoReplicationStats = require('./geoReplicationStats'); exports.Resource = require('./resource'); exports.TrackedResource = require('./trackedResource'); exports.StorageAccount = require('./storageAccount'); diff --git a/lib/services/storageManagement2/lib/models/keyVaultProperties.js b/lib/services/storageManagement2/lib/models/keyVaultProperties.js index a218aa2e8a..9f98cf6366 100644 --- a/lib/services/storageManagement2/lib/models/keyVaultProperties.js +++ b/lib/services/storageManagement2/lib/models/keyVaultProperties.js @@ -17,9 +17,9 @@ class KeyVaultProperties { /** * Create a KeyVaultProperties. - * @member {string} [keyName] The name of KeyVault key. - * @member {string} [keyVersion] The version of KeyVault key. - * @member {string} [keyVaultUri] The Uri of KeyVault. + * @property {string} [keyName] The name of KeyVault key. + * @property {string} [keyVersion] The version of KeyVault key. + * @property {string} [keyVaultUri] The Uri of KeyVault. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/legalHold.js b/lib/services/storageManagement2/lib/models/legalHold.js index 80eca2c282..762807dea9 100644 --- a/lib/services/storageManagement2/lib/models/legalHold.js +++ b/lib/services/storageManagement2/lib/models/legalHold.js @@ -17,12 +17,12 @@ class LegalHold { /** * Create a LegalHold. - * @member {boolean} [hasLegalHold] The hasLegalHold public property is set + * @property {boolean} [hasLegalHold] The hasLegalHold public property is set * to true by SRP if there are at least one existing tag. The hasLegalHold * public property is set to false by SRP if all existing legal hold tags are * cleared out. There can be a maximum of 1000 blob containers with * hasLegalHold=true for a given account. - * @member {array} tags Each tag should be 3 to 23 alphanumeric characters + * @property {array} tags Each tag should be 3 to 23 alphanumeric characters * and is normalized to lower case at SRP. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/legalHoldProperties.js b/lib/services/storageManagement2/lib/models/legalHoldProperties.js index c23de6f89d..876856d370 100644 --- a/lib/services/storageManagement2/lib/models/legalHoldProperties.js +++ b/lib/services/storageManagement2/lib/models/legalHoldProperties.js @@ -17,12 +17,12 @@ class LegalHoldProperties { /** * Create a LegalHoldProperties. - * @member {boolean} [hasLegalHold] The hasLegalHold public property is set + * @property {boolean} [hasLegalHold] The hasLegalHold public property is set * to true by SRP if there are at least one existing tag. The hasLegalHold * public property is set to false by SRP if all existing legal hold tags are * cleared out. There can be a maximum of 1000 blob containers with * hasLegalHold=true for a given account. - * @member {array} [tags] The list of LegalHold tags of a blob container. + * @property {array} [tags] The list of LegalHold tags of a blob container. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/listAccountSasResponse.js b/lib/services/storageManagement2/lib/models/listAccountSasResponse.js index f06061cd55..84262d1a74 100644 --- a/lib/services/storageManagement2/lib/models/listAccountSasResponse.js +++ b/lib/services/storageManagement2/lib/models/listAccountSasResponse.js @@ -17,7 +17,7 @@ class ListAccountSasResponse { /** * Create a ListAccountSasResponse. - * @member {string} [accountSasToken] List SAS credentials of storage + * @property {string} [accountSasToken] List SAS credentials of storage * account. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/listContainerItem.js b/lib/services/storageManagement2/lib/models/listContainerItem.js index 6f0b24262f..38e11fa584 100644 --- a/lib/services/storageManagement2/lib/models/listContainerItem.js +++ b/lib/services/storageManagement2/lib/models/listContainerItem.js @@ -20,49 +20,50 @@ const models = require('./index'); class ListContainerItem extends models['AzureEntityResource'] { /** * Create a ListContainerItem. - * @member {string} [publicAccess] Specifies whether data in the container + * @property {string} [publicAccess] Specifies whether data in the container * may be accessed publicly and the level of access. Possible values include: * 'Container', 'Blob', 'None' - * @member {date} [lastModifiedTime] Returns the date and time the container - * was last modified. - * @member {string} [leaseStatus] The lease status of the container. Possible - * values include: 'Locked', 'Unlocked' - * @member {string} [leaseState] Lease state of the container. Possible + * @property {date} [lastModifiedTime] Returns the date and time the + * container was last modified. + * @property {string} [leaseStatus] The lease status of the container. + * Possible values include: 'Locked', 'Unlocked' + * @property {string} [leaseState] Lease state of the container. Possible * values include: 'Available', 'Leased', 'Expired', 'Breaking', 'Broken' - * @member {string} [leaseDuration] Specifies whether the lease on a + * @property {string} [leaseDuration] Specifies whether the lease on a * container is of infinite or fixed duration, only when the container is * leased. Possible values include: 'Infinite', 'Fixed' - * @member {object} [metadata] A name-value pair to associate with the + * @property {object} [metadata] A name-value pair to associate with the * container as metadata. - * @member {object} [immutabilityPolicy] The ImmutabilityPolicy property of + * @property {object} [immutabilityPolicy] The ImmutabilityPolicy property of * the container. - * @member {number} + * @property {number} * [immutabilityPolicy.immutabilityPeriodSinceCreationInDays] The * immutability period for the blobs in the container since the policy * creation, in days. - * @member {string} [immutabilityPolicy.state] The ImmutabilityPolicy state + * @property {string} [immutabilityPolicy.state] The ImmutabilityPolicy state * of a blob container, possible values include: Locked and Unlocked. * Possible values include: 'Locked', 'Unlocked' - * @member {string} [immutabilityPolicy.etag] ImmutabilityPolicy Etag. - * @member {array} [immutabilityPolicy.updateHistory] The ImmutabilityPolicy - * update history of the blob container. - * @member {object} [legalHold] The LegalHold property of the container. - * @member {boolean} [legalHold.hasLegalHold] The hasLegalHold public + * @property {string} [immutabilityPolicy.etag] ImmutabilityPolicy Etag. + * @property {array} [immutabilityPolicy.updateHistory] The + * ImmutabilityPolicy update history of the blob container. + * @property {object} [legalHold] The LegalHold property of the container. + * @property {boolean} [legalHold.hasLegalHold] The hasLegalHold public * property is set to true by SRP if there are at least one existing tag. The * hasLegalHold public property is set to false by SRP if all existing legal * hold tags are cleared out. There can be a maximum of 1000 blob containers * with hasLegalHold=true for a given account. - * @member {array} [legalHold.tags] The list of LegalHold tags of a blob + * @property {array} [legalHold.tags] The list of LegalHold tags of a blob * container. - * @member {boolean} [hasLegalHold] The hasLegalHold public property is set + * @property {boolean} [hasLegalHold] The hasLegalHold public property is set * to true by SRP if there are at least one existing tag. The hasLegalHold * public property is set to false by SRP if all existing legal hold tags are * cleared out. There can be a maximum of 1000 blob containers with * hasLegalHold=true for a given account. - * @member {boolean} [hasImmutabilityPolicy] The hasImmutabilityPolicy public - * property is set to true by SRP if ImmutabilityPolicy has been created for - * this container. The hasImmutabilityPolicy public property is set to false - * by SRP if ImmutabilityPolicy has not been created for this container. + * @property {boolean} [hasImmutabilityPolicy] The hasImmutabilityPolicy + * public property is set to true by SRP if ImmutabilityPolicy has been + * created for this container. The hasImmutabilityPolicy public property is + * set to false by SRP if ImmutabilityPolicy has not been created for this + * container. */ constructor() { super(); diff --git a/lib/services/storageManagement2/lib/models/listContainerItems.js b/lib/services/storageManagement2/lib/models/listContainerItems.js index d422c89d9c..2b14d1dfda 100644 --- a/lib/services/storageManagement2/lib/models/listContainerItems.js +++ b/lib/services/storageManagement2/lib/models/listContainerItems.js @@ -17,7 +17,7 @@ class ListContainerItems { /** * Create a ListContainerItems. - * @member {array} [value] The list of blob containers. + * @property {array} [value] The list of blob containers. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/listServiceSasResponse.js b/lib/services/storageManagement2/lib/models/listServiceSasResponse.js index d7b194ed5c..b4f8c56b75 100644 --- a/lib/services/storageManagement2/lib/models/listServiceSasResponse.js +++ b/lib/services/storageManagement2/lib/models/listServiceSasResponse.js @@ -17,7 +17,7 @@ class ListServiceSasResponse { /** * Create a ListServiceSasResponse. - * @member {string} [serviceSasToken] List service SAS credentials of + * @property {string} [serviceSasToken] List service SAS credentials of * speicific resource. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/managementPoliciesRulesSetParameter.js b/lib/services/storageManagement2/lib/models/managementPoliciesRulesSetParameter.js index cfadcfc1b3..f41cb95311 100644 --- a/lib/services/storageManagement2/lib/models/managementPoliciesRulesSetParameter.js +++ b/lib/services/storageManagement2/lib/models/managementPoliciesRulesSetParameter.js @@ -19,8 +19,8 @@ class ManagementPoliciesRulesSetParameter { /** * Create a ManagementPoliciesRulesSetParameter. - * @member {object} [policy] The Storage Account ManagementPolicies Rules, in - * JSON format. See more details in: + * @property {object} [policy] The Storage Account ManagementPolicies Rules, + * in JSON format. See more details in: * https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/metricSpecification.js b/lib/services/storageManagement2/lib/models/metricSpecification.js index 82d65375da..ca542547c7 100644 --- a/lib/services/storageManagement2/lib/models/metricSpecification.js +++ b/lib/services/storageManagement2/lib/models/metricSpecification.js @@ -17,19 +17,19 @@ class MetricSpecification { /** * Create a MetricSpecification. - * @member {string} [name] Name of metric specification. - * @member {string} [displayName] Display name of metric specification. - * @member {string} [displayDescription] Display description of metric + * @property {string} [name] Name of metric specification. + * @property {string} [displayName] Display name of metric specification. + * @property {string} [displayDescription] Display description of metric * specification. - * @member {string} [unit] Unit could be Bytes or Count. - * @member {array} [dimensions] Dimensions of blobs, including blob type and - * access tier. - * @member {string} [aggregationType] Aggregation type could be Average. - * @member {boolean} [fillGapWithZero] The property to decide fill gap with + * @property {string} [unit] Unit could be Bytes or Count. + * @property {array} [dimensions] Dimensions of blobs, including blob type + * and access tier. + * @property {string} [aggregationType] Aggregation type could be Average. + * @property {boolean} [fillGapWithZero] The property to decide fill gap with * zero or not. - * @member {string} [category] The category this metric specification belong - * to, could be Capacity. - * @member {string} [resourceIdDimensionNameOverride] Account Resource Id. + * @property {string} [category] The category this metric specification + * belong to, could be Capacity. + * @property {string} [resourceIdDimensionNameOverride] Account Resource Id. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/networkRuleSet.js b/lib/services/storageManagement2/lib/models/networkRuleSet.js index d83e5523f4..0ec639639f 100644 --- a/lib/services/storageManagement2/lib/models/networkRuleSet.js +++ b/lib/services/storageManagement2/lib/models/networkRuleSet.js @@ -17,14 +17,14 @@ class NetworkRuleSet { /** * Create a NetworkRuleSet. - * @member {string} [bypass] Specifies whether traffic is bypassed for + * @property {string} [bypass] Specifies whether traffic is bypassed for * Logging/Metrics/AzureServices. Possible values are any combination of * Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None * to bypass none of those traffics. Possible values include: 'None', * 'Logging', 'Metrics', 'AzureServices'. Default value: 'AzureServices' . - * @member {array} [virtualNetworkRules] Sets the virtual network rules - * @member {array} [ipRules] Sets the IP ACL rules - * @member {string} defaultAction Specifies the default action of allow or + * @property {array} [virtualNetworkRules] Sets the virtual network rules + * @property {array} [ipRules] Sets the IP ACL rules + * @property {string} defaultAction Specifies the default action of allow or * deny when no other rules match. Possible values include: 'Allow', 'Deny'. * Default value: 'Allow' . */ diff --git a/lib/services/storageManagement2/lib/models/operation.js b/lib/services/storageManagement2/lib/models/operation.js index ae1dc12624..d3d9429153 100644 --- a/lib/services/storageManagement2/lib/models/operation.js +++ b/lib/services/storageManagement2/lib/models/operation.js @@ -17,18 +17,20 @@ class Operation { /** * Create a Operation. - * @member {string} [name] Operation name: {provider}/{resource}/{operation} - * @member {object} [display] Display metadata associated with the operation. - * @member {string} [display.provider] Service provider: Microsoft Storage. - * @member {string} [display.resource] Resource on which the operation is + * @property {string} [name] Operation name: + * {provider}/{resource}/{operation} + * @property {object} [display] Display metadata associated with the + * operation. + * @property {string} [display.provider] Service provider: Microsoft Storage. + * @property {string} [display.resource] Resource on which the operation is * performed etc. - * @member {string} [display.operation] Type of operation: get, read, delete, - * etc. - * @member {string} [display.description] Description of the operation. - * @member {string} [origin] The origin of operations. - * @member {object} [serviceSpecification] One property of operation, include - * metric specifications. - * @member {array} [serviceSpecification.metricSpecifications] Metric + * @property {string} [display.operation] Type of operation: get, read, + * delete, etc. + * @property {string} [display.description] Description of the operation. + * @property {string} [origin] The origin of operations. + * @property {object} [serviceSpecification] One property of operation, + * include metric specifications. + * @property {array} [serviceSpecification.metricSpecifications] Metric * specifications of operation. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/operationDisplay.js b/lib/services/storageManagement2/lib/models/operationDisplay.js index 74ebb33f21..e2376c05b7 100644 --- a/lib/services/storageManagement2/lib/models/operationDisplay.js +++ b/lib/services/storageManagement2/lib/models/operationDisplay.js @@ -17,11 +17,11 @@ class OperationDisplay { /** * Create a OperationDisplay. - * @member {string} [provider] Service provider: Microsoft Storage. - * @member {string} [resource] Resource on which the operation is performed + * @property {string} [provider] Service provider: Microsoft Storage. + * @property {string} [resource] Resource on which the operation is performed * etc. - * @member {string} [operation] Type of operation: get, read, delete, etc. - * @member {string} [description] Description of the operation. + * @property {string} [operation] Type of operation: get, read, delete, etc. + * @property {string} [description] Description of the operation. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/resource.js b/lib/services/storageManagement2/lib/models/resource.js index b9797bc86d..8dc0265e3c 100644 --- a/lib/services/storageManagement2/lib/models/resource.js +++ b/lib/services/storageManagement2/lib/models/resource.js @@ -19,10 +19,10 @@ const models = require('./index'); class Resource extends models['BaseResource'] { /** * Create a Resource. - * @member {string} [id] Fully qualified resource Id for the resource. Ex - + * @property {string} [id] Fully qualified resource Id for the resource. Ex - * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - * @member {string} [name] The name of the resource - * @member {string} [type] The type of the resource. Ex- + * @property {string} [name] The name of the resource + * @property {string} [type] The type of the resource. Ex- * Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/restriction.js b/lib/services/storageManagement2/lib/models/restriction.js index e5a54d02ec..3ecdee2728 100644 --- a/lib/services/storageManagement2/lib/models/restriction.js +++ b/lib/services/storageManagement2/lib/models/restriction.js @@ -17,12 +17,12 @@ class Restriction { /** * Create a Restriction. - * @member {string} [type] The type of restrictions. As of now only possible - * value for this is location. - * @member {array} [values] The value of restrictions. If the restriction + * @property {string} [type] The type of restrictions. As of now only + * possible value for this is location. + * @property {array} [values] The value of restrictions. If the restriction * type is set to location. This would be different locations where the SKU * is restricted. - * @member {string} [reasonCode] The reason for the restriction. As of now + * @property {string} [reasonCode] The reason for the restriction. As of now * this can be "QuotaId" or "NotAvailableForSubscription". Quota Id is set * when the SKU has requiredQuotas parameter as the subscription does not * belong to that quota. The "NotAvailableForSubscription" is related to diff --git a/lib/services/storageManagement2/lib/models/sKUCapability.js b/lib/services/storageManagement2/lib/models/sKUCapability.js index fe94c060d8..6b4be97944 100644 --- a/lib/services/storageManagement2/lib/models/sKUCapability.js +++ b/lib/services/storageManagement2/lib/models/sKUCapability.js @@ -18,10 +18,10 @@ class SKUCapability { /** * Create a SKUCapability. - * @member {string} [name] The name of capability, The capability information - * in the specified sku, including file encryption, network acls, change - * notification, etc. - * @member {string} [value] A string value to indicate states of given + * @property {string} [name] The name of capability, The capability + * information in the specified sku, including file encryption, network acls, + * change notification, etc. + * @property {string} [value] A string value to indicate states of given * capability. Possibly 'true' or 'false'. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/serviceSasParameters.js b/lib/services/storageManagement2/lib/models/serviceSasParameters.js index e2ff3bcfde..6ce95ade37 100644 --- a/lib/services/storageManagement2/lib/models/serviceSasParameters.js +++ b/lib/services/storageManagement2/lib/models/serviceSasParameters.js @@ -17,40 +17,40 @@ class ServiceSasParameters { /** * Create a ServiceSasParameters. - * @member {string} canonicalizedResource The canonical path to the signed + * @property {string} canonicalizedResource The canonical path to the signed * resource. - * @member {string} [resource] The signed services accessible with the + * @property {string} [resource] The signed services accessible with the * service SAS. Possible values include: Blob (b), Container (c), File (f), * Share (s). Possible values include: 'b', 'c', 'f', 's' - * @member {string} [permissions] The signed permissions for the service SAS. - * Possible values include: Read (r), Write (w), Delete (d), List (l), Add - * (a), Create (c), Update (u) and Process (p). Possible values include: 'r', - * 'd', 'w', 'l', 'a', 'c', 'u', 'p' - * @member {string} [iPAddressOrRange] An IP address or a range of IP + * @property {string} [permissions] The signed permissions for the service + * SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), + * Add (a), Create (c), Update (u) and Process (p). Possible values include: + * 'r', 'd', 'w', 'l', 'a', 'c', 'u', 'p' + * @property {string} [iPAddressOrRange] An IP address or a range of IP * addresses from which to accept requests. - * @member {string} [protocols] The protocol permitted for a request made + * @property {string} [protocols] The protocol permitted for a request made * with the account SAS. Possible values include: 'https,http', 'https' - * @member {date} [sharedAccessStartTime] The time at which the SAS becomes + * @property {date} [sharedAccessStartTime] The time at which the SAS becomes * valid. - * @member {date} [sharedAccessExpiryTime] The time at which the shared + * @property {date} [sharedAccessExpiryTime] The time at which the shared * access signature becomes invalid. - * @member {string} [identifier] A unique value up to 64 characters in length - * that correlates to an access policy specified for the container, queue, or - * table. - * @member {string} [partitionKeyStart] The start of partition key. - * @member {string} [partitionKeyEnd] The end of partition key. - * @member {string} [rowKeyStart] The start of row key. - * @member {string} [rowKeyEnd] The end of row key. - * @member {string} [keyToSign] The key to sign the account SAS token with. - * @member {string} [cacheControl] The response header override for cache + * @property {string} [identifier] A unique value up to 64 characters in + * length that correlates to an access policy specified for the container, + * queue, or table. + * @property {string} [partitionKeyStart] The start of partition key. + * @property {string} [partitionKeyEnd] The end of partition key. + * @property {string} [rowKeyStart] The start of row key. + * @property {string} [rowKeyEnd] The end of row key. + * @property {string} [keyToSign] The key to sign the account SAS token with. + * @property {string} [cacheControl] The response header override for cache * control. - * @member {string} [contentDisposition] The response header override for + * @property {string} [contentDisposition] The response header override for * content disposition. - * @member {string} [contentEncoding] The response header override for + * @property {string} [contentEncoding] The response header override for * content encoding. - * @member {string} [contentLanguage] The response header override for + * @property {string} [contentLanguage] The response header override for * content language. - * @member {string} [contentType] The response header override for content + * @property {string} [contentType] The response header override for content * type. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/serviceSpecification.js b/lib/services/storageManagement2/lib/models/serviceSpecification.js index c55818490d..c2d98d688d 100644 --- a/lib/services/storageManagement2/lib/models/serviceSpecification.js +++ b/lib/services/storageManagement2/lib/models/serviceSpecification.js @@ -17,7 +17,8 @@ class ServiceSpecification { /** * Create a ServiceSpecification. - * @member {array} [metricSpecifications] Metric specifications of operation. + * @property {array} [metricSpecifications] Metric specifications of + * operation. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/sku.js b/lib/services/storageManagement2/lib/models/sku.js index 2e54115162..956ad6f2f9 100644 --- a/lib/services/storageManagement2/lib/models/sku.js +++ b/lib/services/storageManagement2/lib/models/sku.js @@ -17,24 +17,25 @@ class Sku { /** * Create a Sku. - * @member {string} name Gets or sets the sku name. Required for account + * @property {string} name Gets or sets the sku name. Required for account * creation; optional for update. Note that in older versions, sku name was * called accountType. Possible values include: 'Standard_LRS', * 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', * 'Premium_ZRS' - * @member {string} [tier] Gets the sku tier. This is based on the SKU name. - * Possible values include: 'Standard', 'Premium' - * @member {string} [resourceType] The type of the resource, usually it is + * @property {string} [tier] Gets the sku tier. This is based on the SKU + * name. Possible values include: 'Standard', 'Premium' + * @property {string} [resourceType] The type of the resource, usually it is * 'storageAccounts'. - * @member {string} [kind] Indicates the type of storage account. Possible + * @property {string} [kind] Indicates the type of storage account. Possible * values include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', * 'BlockBlobStorage' - * @member {array} [locations] The set of locations that the SKU is + * @property {array} [locations] The set of locations that the SKU is * available. This will be supported and registered Azure Geo Regions (e.g. * West US, East US, Southeast Asia, etc.). - * @member {array} [capabilities] The capability information in the specified - * sku, including file encryption, network acls, change notification, etc. - * @member {array} [restrictions] The restrictions because of which SKU + * @property {array} [capabilities] The capability information in the + * specified sku, including file encryption, network acls, change + * notification, etc. + * @property {array} [restrictions] The restrictions because of which SKU * cannot be used. This is empty if there are no restrictions. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/storageAccount.js b/lib/services/storageManagement2/lib/models/storageAccount.js index 8ff0c24b3a..191cb7831f 100644 --- a/lib/services/storageManagement2/lib/models/storageAccount.js +++ b/lib/services/storageManagement2/lib/models/storageAccount.js @@ -20,154 +20,171 @@ const models = require('./index'); class StorageAccount extends models['TrackedResource'] { /** * Create a StorageAccount. - * @member {object} [sku] Gets the SKU. - * @member {string} [sku.name] Gets or sets the sku name. Required for + * @property {object} [sku] Gets the SKU. + * @property {string} [sku.name] Gets or sets the sku name. Required for * account creation; optional for update. Note that in older versions, sku * name was called accountType. Possible values include: 'Standard_LRS', * 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', * 'Premium_ZRS' - * @member {string} [sku.tier] Gets the sku tier. This is based on the SKU + * @property {string} [sku.tier] Gets the sku tier. This is based on the SKU * name. Possible values include: 'Standard', 'Premium' - * @member {string} [sku.resourceType] The type of the resource, usually it + * @property {string} [sku.resourceType] The type of the resource, usually it * is 'storageAccounts'. - * @member {string} [sku.kind] Indicates the type of storage account. + * @property {string} [sku.kind] Indicates the type of storage account. * Possible values include: 'Storage', 'StorageV2', 'BlobStorage', * 'FileStorage', 'BlockBlobStorage' - * @member {array} [sku.locations] The set of locations that the SKU is + * @property {array} [sku.locations] The set of locations that the SKU is * available. This will be supported and registered Azure Geo Regions (e.g. * West US, East US, Southeast Asia, etc.). - * @member {array} [sku.capabilities] The capability information in the + * @property {array} [sku.capabilities] The capability information in the * specified sku, including file encryption, network acls, change * notification, etc. - * @member {array} [sku.restrictions] The restrictions because of which SKU + * @property {array} [sku.restrictions] The restrictions because of which SKU * cannot be used. This is empty if there are no restrictions. - * @member {string} [kind] Gets the Kind. Possible values include: 'Storage', - * 'StorageV2', 'BlobStorage', 'FileStorage', 'BlockBlobStorage' - * @member {object} [identity] The identity of the resource. - * @member {string} [identity.principalId] The principal ID of resource + * @property {string} [kind] Gets the Kind. Possible values include: + * 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', 'BlockBlobStorage' + * @property {object} [identity] The identity of the resource. + * @property {string} [identity.principalId] The principal ID of resource * identity. - * @member {string} [identity.tenantId] The tenant ID of resource. - * @member {string} [provisioningState] Gets the status of the storage + * @property {string} [identity.tenantId] The tenant ID of resource. + * @property {string} [provisioningState] Gets the status of the storage * account at the time the operation was called. Possible values include: * 'Creating', 'ResolvingDNS', 'Succeeded' - * @member {object} [primaryEndpoints] Gets the URLs that are used to perform - * a retrieval of a public blob, queue, or table object. Note that + * @property {object} [primaryEndpoints] Gets the URLs that are used to + * perform a retrieval of a public blob, queue, or table object. Note that * Standard_ZRS and Premium_LRS accounts only return the blob endpoint. - * @member {string} [primaryEndpoints.blob] Gets the blob endpoint. - * @member {string} [primaryEndpoints.queue] Gets the queue endpoint. - * @member {string} [primaryEndpoints.table] Gets the table endpoint. - * @member {string} [primaryEndpoints.file] Gets the file endpoint. - * @member {string} [primaryEndpoints.web] Gets the web endpoint. - * @member {string} [primaryEndpoints.dfs] Gets the dfs endpoint. - * @member {string} [primaryLocation] Gets the location of the primary data + * @property {string} [primaryEndpoints.blob] Gets the blob endpoint. + * @property {string} [primaryEndpoints.queue] Gets the queue endpoint. + * @property {string} [primaryEndpoints.table] Gets the table endpoint. + * @property {string} [primaryEndpoints.file] Gets the file endpoint. + * @property {string} [primaryEndpoints.web] Gets the web endpoint. + * @property {string} [primaryEndpoints.dfs] Gets the dfs endpoint. + * @property {string} [primaryLocation] Gets the location of the primary data * center for the storage account. - * @member {string} [statusOfPrimary] Gets the status indicating whether the - * primary location of the storage account is available or unavailable. + * @property {string} [statusOfPrimary] Gets the status indicating whether + * the primary location of the storage account is available or unavailable. * Possible values include: 'available', 'unavailable' - * @member {date} [lastGeoFailoverTime] Gets the timestamp of the most recent - * instance of a failover to the secondary location. Only the most recent - * timestamp is retained. This element is not returned if there has never - * been a failover instance. Only available if the accountType is + * @property {date} [lastGeoFailoverTime] Gets the timestamp of the most + * recent instance of a failover to the secondary location. Only the most + * recent timestamp is retained. This element is not returned if there has + * never been a failover instance. Only available if the accountType is * Standard_GRS or Standard_RAGRS. - * @member {string} [secondaryLocation] Gets the location of the + * @property {string} [secondaryLocation] Gets the location of the * geo-replicated secondary for the storage account. Only available if the * accountType is Standard_GRS or Standard_RAGRS. - * @member {string} [statusOfSecondary] Gets the status indicating whether + * @property {string} [statusOfSecondary] Gets the status indicating whether * the secondary location of the storage account is available or unavailable. * Only available if the SKU name is Standard_GRS or Standard_RAGRS. Possible * values include: 'available', 'unavailable' - * @member {date} [creationTime] Gets the creation date and time of the + * @property {date} [creationTime] Gets the creation date and time of the * storage account in UTC. - * @member {object} [customDomain] Gets the custom domain the user assigned + * @property {object} [customDomain] Gets the custom domain the user assigned * to this storage account. - * @member {string} [customDomain.name] Gets or sets the custom domain name + * @property {string} [customDomain.name] Gets or sets the custom domain name * assigned to the storage account. Name is the CNAME source. - * @member {boolean} [customDomain.useSubDomain] Indicates whether indirect + * @property {boolean} [customDomain.useSubDomain] Indicates whether indirect * CName validation is enabled. Default value is false. This should only be * set on updates. - * @member {object} [secondaryEndpoints] Gets the URLs that are used to + * @property {object} [secondaryEndpoints] Gets the URLs that are used to * perform a retrieval of a public blob, queue, or table object from the * secondary location of the storage account. Only available if the SKU name * is Standard_RAGRS. - * @member {string} [secondaryEndpoints.blob] Gets the blob endpoint. - * @member {string} [secondaryEndpoints.queue] Gets the queue endpoint. - * @member {string} [secondaryEndpoints.table] Gets the table endpoint. - * @member {string} [secondaryEndpoints.file] Gets the file endpoint. - * @member {string} [secondaryEndpoints.web] Gets the web endpoint. - * @member {string} [secondaryEndpoints.dfs] Gets the dfs endpoint. - * @member {object} [encryption] Gets the encryption settings on the account. - * If unspecified, the account is unencrypted. - * @member {object} [encryption.services] List of services which support + * @property {string} [secondaryEndpoints.blob] Gets the blob endpoint. + * @property {string} [secondaryEndpoints.queue] Gets the queue endpoint. + * @property {string} [secondaryEndpoints.table] Gets the table endpoint. + * @property {string} [secondaryEndpoints.file] Gets the file endpoint. + * @property {string} [secondaryEndpoints.web] Gets the web endpoint. + * @property {string} [secondaryEndpoints.dfs] Gets the dfs endpoint. + * @property {object} [encryption] Gets the encryption settings on the + * account. If unspecified, the account is unencrypted. + * @property {object} [encryption.services] List of services which support * encryption. - * @member {object} [encryption.services.blob] The encryption function of the - * blob storage service. - * @member {boolean} [encryption.services.blob.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.blob.lastEnabledTime] Gets a rough + * @property {object} [encryption.services.blob] The encryption function of + * the blob storage service. + * @property {boolean} [encryption.services.blob.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.blob.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {object} [encryption.services.file] The encryption function of the - * file storage service. - * @member {boolean} [encryption.services.file.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.file.lastEnabledTime] Gets a rough + * @property {object} [encryption.services.file] The encryption function of + * the file storage service. + * @property {boolean} [encryption.services.file.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.file.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {object} [encryption.services.table] The encryption function of + * @property {object} [encryption.services.table] The encryption function of * the table storage service. - * @member {boolean} [encryption.services.table.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.table.lastEnabledTime] Gets a rough + * @property {boolean} [encryption.services.table.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.table.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {object} [encryption.services.queue] The encryption function of + * @property {object} [encryption.services.queue] The encryption function of * the queue storage service. - * @member {boolean} [encryption.services.queue.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.queue.lastEnabledTime] Gets a rough + * @property {boolean} [encryption.services.queue.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.queue.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {string} [encryption.keySource] The encryption keySource + * @property {string} [encryption.keySource] The encryption keySource * (provider). Possible values (case-insensitive): Microsoft.Storage, * Microsoft.Keyvault. Possible values include: 'Microsoft.Storage', * 'Microsoft.Keyvault' - * @member {object} [encryption.keyVaultProperties] Properties provided by + * @property {object} [encryption.keyVaultProperties] Properties provided by * key vault. - * @member {string} [encryption.keyVaultProperties.keyName] The name of + * @property {string} [encryption.keyVaultProperties.keyName] The name of * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVersion] The version of - * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVaultUri] The Uri of + * @property {string} [encryption.keyVaultProperties.keyVersion] The version + * of KeyVault key. + * @property {string} [encryption.keyVaultProperties.keyVaultUri] The Uri of * KeyVault. - * @member {string} [accessTier] Required for storage accounts where kind = + * @property {string} [accessTier] Required for storage accounts where kind = * BlobStorage. The access tier used for billing. Possible values include: * 'Hot', 'Cool' - * @member {boolean} [enableAzureFilesAadIntegration] Enables Azure Files AAD - * Integration for SMB if sets to true. - * @member {boolean} [enableHttpsTrafficOnly] Allows https traffic only to + * @property {boolean} [enableAzureFilesAadIntegration] Enables Azure Files + * AAD Integration for SMB if sets to true. + * @property {boolean} [enableHttpsTrafficOnly] Allows https traffic only to * storage service if sets to true. - * @member {object} [networkRuleSet] Network rule set - * @member {string} [networkRuleSet.bypass] Specifies whether traffic is + * @property {object} [networkRuleSet] Network rule set + * @property {string} [networkRuleSet.bypass] Specifies whether traffic is * bypassed for Logging/Metrics/AzureServices. Possible values are any * combination of Logging|Metrics|AzureServices (For example, "Logging, * Metrics"), or None to bypass none of those traffics. Possible values * include: 'None', 'Logging', 'Metrics', 'AzureServices' - * @member {array} [networkRuleSet.virtualNetworkRules] Sets the virtual + * @property {array} [networkRuleSet.virtualNetworkRules] Sets the virtual * network rules - * @member {array} [networkRuleSet.ipRules] Sets the IP ACL rules - * @member {string} [networkRuleSet.defaultAction] Specifies the default + * @property {array} [networkRuleSet.ipRules] Sets the IP ACL rules + * @property {string} [networkRuleSet.defaultAction] Specifies the default * action of allow or deny when no other rules match. Possible values * include: 'Allow', 'Deny' - * @member {boolean} [isHnsEnabled] Account HierarchicalNamespace enabled if - * sets to true. + * @property {boolean} [isHnsEnabled] Account HierarchicalNamespace enabled + * if sets to true. + * @property {object} [geoReplicationStats] Geo Replication Stats + * @property {string} [geoReplicationStats.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' + * @property {date} [geoReplicationStats.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. + * @property {boolean} [failoverInProgress] If the failover is in progress, + * the value will be true, otherwise, it will be null. */ constructor() { super(); @@ -391,6 +408,23 @@ class StorageAccount extends models['TrackedResource'] { type: { name: 'Boolean' } + }, + geoReplicationStats: { + required: false, + readOnly: true, + serializedName: 'properties.geoReplicationStats', + type: { + name: 'Composite', + className: 'GeoReplicationStats' + } + }, + failoverInProgress: { + required: false, + readOnly: true, + serializedName: 'properties.failoverInProgress', + type: { + name: 'Boolean' + } } } } diff --git a/lib/services/storageManagement2/lib/models/storageAccountCheckNameAvailabilityParameters.js b/lib/services/storageManagement2/lib/models/storageAccountCheckNameAvailabilityParameters.js index 84e38df8ce..1a3c10c56b 100644 --- a/lib/services/storageManagement2/lib/models/storageAccountCheckNameAvailabilityParameters.js +++ b/lib/services/storageManagement2/lib/models/storageAccountCheckNameAvailabilityParameters.js @@ -17,7 +17,7 @@ class StorageAccountCheckNameAvailabilityParameters { /** * Create a StorageAccountCheckNameAvailabilityParameters. - * @member {string} name The storage account name. + * @property {string} name The storage account name. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/storageAccountCreateParameters.js b/lib/services/storageManagement2/lib/models/storageAccountCreateParameters.js index 9d8a800575..58da510468 100644 --- a/lib/services/storageManagement2/lib/models/storageAccountCreateParameters.js +++ b/lib/services/storageManagement2/lib/models/storageAccountCreateParameters.js @@ -17,128 +17,128 @@ class StorageAccountCreateParameters { /** * Create a StorageAccountCreateParameters. - * @member {object} sku Required. Gets or sets the sku name. - * @member {string} [sku.name] Gets or sets the sku name. Required for + * @property {object} sku Required. Gets or sets the sku name. + * @property {string} [sku.name] Gets or sets the sku name. Required for * account creation; optional for update. Note that in older versions, sku * name was called accountType. Possible values include: 'Standard_LRS', * 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', * 'Premium_ZRS' - * @member {string} [sku.tier] Gets the sku tier. This is based on the SKU + * @property {string} [sku.tier] Gets the sku tier. This is based on the SKU * name. Possible values include: 'Standard', 'Premium' - * @member {string} [sku.resourceType] The type of the resource, usually it + * @property {string} [sku.resourceType] The type of the resource, usually it * is 'storageAccounts'. - * @member {string} [sku.kind] Indicates the type of storage account. + * @property {string} [sku.kind] Indicates the type of storage account. * Possible values include: 'Storage', 'StorageV2', 'BlobStorage', * 'FileStorage', 'BlockBlobStorage' - * @member {array} [sku.locations] The set of locations that the SKU is + * @property {array} [sku.locations] The set of locations that the SKU is * available. This will be supported and registered Azure Geo Regions (e.g. * West US, East US, Southeast Asia, etc.). - * @member {array} [sku.capabilities] The capability information in the + * @property {array} [sku.capabilities] The capability information in the * specified sku, including file encryption, network acls, change * notification, etc. - * @member {array} [sku.restrictions] The restrictions because of which SKU + * @property {array} [sku.restrictions] The restrictions because of which SKU * cannot be used. This is empty if there are no restrictions. - * @member {string} kind Required. Indicates the type of storage account. + * @property {string} kind Required. Indicates the type of storage account. * Possible values include: 'Storage', 'StorageV2', 'BlobStorage', * 'FileStorage', 'BlockBlobStorage' - * @member {string} location Required. Gets or sets the location of the + * @property {string} location Required. Gets or sets the location of the * resource. This will be one of the supported and registered Azure Geo * Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a * resource cannot be changed once it is created, but if an identical geo * region is specified on update, the request will succeed. - * @member {object} [tags] Gets or sets a list of key value pairs that + * @property {object} [tags] Gets or sets a list of key value pairs that * describe the resource. These tags can be used for viewing and grouping * this resource (across resource groups). A maximum of 15 tags can be * provided for a resource. Each tag must have a key with a length no greater * than 128 characters and a value with a length no greater than 256 * characters. - * @member {object} [identity] The identity of the resource. - * @member {string} [identity.principalId] The principal ID of resource + * @property {object} [identity] The identity of the resource. + * @property {string} [identity.principalId] The principal ID of resource * identity. - * @member {string} [identity.tenantId] The tenant ID of resource. - * @member {object} [customDomain] User domain assigned to the storage + * @property {string} [identity.tenantId] The tenant ID of resource. + * @property {object} [customDomain] User domain assigned to the storage * account. Name is the CNAME source. Only one custom domain is supported per * storage account at this time. To clear the existing custom domain, use an * empty string for the custom domain name property. - * @member {string} [customDomain.name] Gets or sets the custom domain name + * @property {string} [customDomain.name] Gets or sets the custom domain name * assigned to the storage account. Name is the CNAME source. - * @member {boolean} [customDomain.useSubDomain] Indicates whether indirect + * @property {boolean} [customDomain.useSubDomain] Indicates whether indirect * CName validation is enabled. Default value is false. This should only be * set on updates. - * @member {object} [encryption] Provides the encryption settings on the + * @property {object} [encryption] Provides the encryption settings on the * account. If left unspecified the account encryption settings will remain * the same. The default setting is unencrypted. - * @member {object} [encryption.services] List of services which support + * @property {object} [encryption.services] List of services which support * encryption. - * @member {object} [encryption.services.blob] The encryption function of the - * blob storage service. - * @member {boolean} [encryption.services.blob.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.blob.lastEnabledTime] Gets a rough + * @property {object} [encryption.services.blob] The encryption function of + * the blob storage service. + * @property {boolean} [encryption.services.blob.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.blob.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {object} [encryption.services.file] The encryption function of the - * file storage service. - * @member {boolean} [encryption.services.file.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.file.lastEnabledTime] Gets a rough + * @property {object} [encryption.services.file] The encryption function of + * the file storage service. + * @property {boolean} [encryption.services.file.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.file.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {object} [encryption.services.table] The encryption function of + * @property {object} [encryption.services.table] The encryption function of * the table storage service. - * @member {boolean} [encryption.services.table.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.table.lastEnabledTime] Gets a rough + * @property {boolean} [encryption.services.table.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.table.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {object} [encryption.services.queue] The encryption function of + * @property {object} [encryption.services.queue] The encryption function of * the queue storage service. - * @member {boolean} [encryption.services.queue.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.queue.lastEnabledTime] Gets a rough + * @property {boolean} [encryption.services.queue.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.queue.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {string} [encryption.keySource] The encryption keySource + * @property {string} [encryption.keySource] The encryption keySource * (provider). Possible values (case-insensitive): Microsoft.Storage, * Microsoft.Keyvault. Possible values include: 'Microsoft.Storage', * 'Microsoft.Keyvault' - * @member {object} [encryption.keyVaultProperties] Properties provided by + * @property {object} [encryption.keyVaultProperties] Properties provided by * key vault. - * @member {string} [encryption.keyVaultProperties.keyName] The name of + * @property {string} [encryption.keyVaultProperties.keyName] The name of * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVersion] The version of - * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVaultUri] The Uri of + * @property {string} [encryption.keyVaultProperties.keyVersion] The version + * of KeyVault key. + * @property {string} [encryption.keyVaultProperties.keyVaultUri] The Uri of * KeyVault. - * @member {object} [networkRuleSet] Network rule set - * @member {string} [networkRuleSet.bypass] Specifies whether traffic is + * @property {object} [networkRuleSet] Network rule set + * @property {string} [networkRuleSet.bypass] Specifies whether traffic is * bypassed for Logging/Metrics/AzureServices. Possible values are any * combination of Logging|Metrics|AzureServices (For example, "Logging, * Metrics"), or None to bypass none of those traffics. Possible values * include: 'None', 'Logging', 'Metrics', 'AzureServices' - * @member {array} [networkRuleSet.virtualNetworkRules] Sets the virtual + * @property {array} [networkRuleSet.virtualNetworkRules] Sets the virtual * network rules - * @member {array} [networkRuleSet.ipRules] Sets the IP ACL rules - * @member {string} [networkRuleSet.defaultAction] Specifies the default + * @property {array} [networkRuleSet.ipRules] Sets the IP ACL rules + * @property {string} [networkRuleSet.defaultAction] Specifies the default * action of allow or deny when no other rules match. Possible values * include: 'Allow', 'Deny' - * @member {string} [accessTier] Required for storage accounts where kind = + * @property {string} [accessTier] Required for storage accounts where kind = * BlobStorage. The access tier used for billing. Possible values include: * 'Hot', 'Cool' - * @member {boolean} [enableAzureFilesAadIntegration] Enables Azure Files AAD - * Integration for SMB if sets to true. - * @member {boolean} [enableHttpsTrafficOnly] Allows https traffic only to + * @property {boolean} [enableAzureFilesAadIntegration] Enables Azure Files + * AAD Integration for SMB if sets to true. + * @property {boolean} [enableHttpsTrafficOnly] Allows https traffic only to * storage service if sets to true. - * @member {boolean} [isHnsEnabled] Account HierarchicalNamespace enabled if - * sets to true. + * @property {boolean} [isHnsEnabled] Account HierarchicalNamespace enabled + * if sets to true. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/storageAccountKey.js b/lib/services/storageManagement2/lib/models/storageAccountKey.js index f77116dc67..2e9ac4d943 100644 --- a/lib/services/storageManagement2/lib/models/storageAccountKey.js +++ b/lib/services/storageManagement2/lib/models/storageAccountKey.js @@ -17,9 +17,9 @@ class StorageAccountKey { /** * Create a StorageAccountKey. - * @member {string} [keyName] Name of the key. - * @member {string} [value] Base 64-encoded value of the key. - * @member {string} [permissions] Permissions for the key -- read-only or + * @property {string} [keyName] Name of the key. + * @property {string} [value] Base 64-encoded value of the key. + * @property {string} [permissions] Permissions for the key -- read-only or * full permissions. Possible values include: 'Read', 'Full' */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/storageAccountListKeysResult.js b/lib/services/storageManagement2/lib/models/storageAccountListKeysResult.js index b9945017c4..b816a0c895 100644 --- a/lib/services/storageManagement2/lib/models/storageAccountListKeysResult.js +++ b/lib/services/storageManagement2/lib/models/storageAccountListKeysResult.js @@ -17,7 +17,7 @@ class StorageAccountListKeysResult { /** * Create a StorageAccountListKeysResult. - * @member {array} [keys] Gets the list of storage account keys and their + * @property {array} [keys] Gets the list of storage account keys and their * properties for the specified storage account. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/storageAccountManagementPolicies.js b/lib/services/storageManagement2/lib/models/storageAccountManagementPolicies.js index 03bf17c932..5bd85f31b5 100644 --- a/lib/services/storageManagement2/lib/models/storageAccountManagementPolicies.js +++ b/lib/services/storageManagement2/lib/models/storageAccountManagementPolicies.js @@ -20,10 +20,10 @@ const models = require('./index'); class StorageAccountManagementPolicies extends models['Resource'] { /** * Create a StorageAccountManagementPolicies. - * @member {object} [policy] The Storage Account ManagementPolicies Rules, in - * JSON format. See more details in: + * @property {object} [policy] The Storage Account ManagementPolicies Rules, + * in JSON format. See more details in: * https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. - * @member {date} [lastModifiedTime] Returns the date and time the + * @property {date} [lastModifiedTime] Returns the date and time the * ManagementPolicies was last modified. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/storageAccountRegenerateKeyParameters.js b/lib/services/storageManagement2/lib/models/storageAccountRegenerateKeyParameters.js index 720ba6a6c2..180e09f616 100644 --- a/lib/services/storageManagement2/lib/models/storageAccountRegenerateKeyParameters.js +++ b/lib/services/storageManagement2/lib/models/storageAccountRegenerateKeyParameters.js @@ -17,7 +17,7 @@ class StorageAccountRegenerateKeyParameters { /** * Create a StorageAccountRegenerateKeyParameters. - * @member {string} keyName The name of storage keys that want to be + * @property {string} keyName The name of storage keys that want to be * regenerated, possible vaules are key1, key2. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/storageAccountUpdateParameters.js b/lib/services/storageManagement2/lib/models/storageAccountUpdateParameters.js index cb8a4ac56e..9ec68e5d8e 100644 --- a/lib/services/storageManagement2/lib/models/storageAccountUpdateParameters.js +++ b/lib/services/storageManagement2/lib/models/storageAccountUpdateParameters.js @@ -18,119 +18,119 @@ class StorageAccountUpdateParameters { /** * Create a StorageAccountUpdateParameters. - * @member {object} [sku] Gets or sets the SKU name. Note that the SKU name + * @property {object} [sku] Gets or sets the SKU name. Note that the SKU name * cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can * accounts of those sku names be updated to any other value. - * @member {string} [sku.name] Gets or sets the sku name. Required for + * @property {string} [sku.name] Gets or sets the sku name. Required for * account creation; optional for update. Note that in older versions, sku * name was called accountType. Possible values include: 'Standard_LRS', * 'Standard_GRS', 'Standard_RAGRS', 'Standard_ZRS', 'Premium_LRS', * 'Premium_ZRS' - * @member {string} [sku.tier] Gets the sku tier. This is based on the SKU + * @property {string} [sku.tier] Gets the sku tier. This is based on the SKU * name. Possible values include: 'Standard', 'Premium' - * @member {string} [sku.resourceType] The type of the resource, usually it + * @property {string} [sku.resourceType] The type of the resource, usually it * is 'storageAccounts'. - * @member {string} [sku.kind] Indicates the type of storage account. + * @property {string} [sku.kind] Indicates the type of storage account. * Possible values include: 'Storage', 'StorageV2', 'BlobStorage', * 'FileStorage', 'BlockBlobStorage' - * @member {array} [sku.locations] The set of locations that the SKU is + * @property {array} [sku.locations] The set of locations that the SKU is * available. This will be supported and registered Azure Geo Regions (e.g. * West US, East US, Southeast Asia, etc.). - * @member {array} [sku.capabilities] The capability information in the + * @property {array} [sku.capabilities] The capability information in the * specified sku, including file encryption, network acls, change * notification, etc. - * @member {array} [sku.restrictions] The restrictions because of which SKU + * @property {array} [sku.restrictions] The restrictions because of which SKU * cannot be used. This is empty if there are no restrictions. - * @member {object} [tags] Gets or sets a list of key value pairs that + * @property {object} [tags] Gets or sets a list of key value pairs that * describe the resource. These tags can be used in viewing and grouping this * resource (across resource groups). A maximum of 15 tags can be provided * for a resource. Each tag must have a key no greater in length than 128 * characters and a value no greater in length than 256 characters. - * @member {object} [identity] The identity of the resource. - * @member {string} [identity.principalId] The principal ID of resource + * @property {object} [identity] The identity of the resource. + * @property {string} [identity.principalId] The principal ID of resource * identity. - * @member {string} [identity.tenantId] The tenant ID of resource. - * @member {object} [customDomain] Custom domain assigned to the storage + * @property {string} [identity.tenantId] The tenant ID of resource. + * @property {object} [customDomain] Custom domain assigned to the storage * account by the user. Name is the CNAME source. Only one custom domain is * supported per storage account at this time. To clear the existing custom * domain, use an empty string for the custom domain name property. - * @member {string} [customDomain.name] Gets or sets the custom domain name + * @property {string} [customDomain.name] Gets or sets the custom domain name * assigned to the storage account. Name is the CNAME source. - * @member {boolean} [customDomain.useSubDomain] Indicates whether indirect + * @property {boolean} [customDomain.useSubDomain] Indicates whether indirect * CName validation is enabled. Default value is false. This should only be * set on updates. - * @member {object} [encryption] Provides the encryption settings on the + * @property {object} [encryption] Provides the encryption settings on the * account. The default setting is unencrypted. - * @member {object} [encryption.services] List of services which support + * @property {object} [encryption.services] List of services which support * encryption. - * @member {object} [encryption.services.blob] The encryption function of the - * blob storage service. - * @member {boolean} [encryption.services.blob.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.blob.lastEnabledTime] Gets a rough + * @property {object} [encryption.services.blob] The encryption function of + * the blob storage service. + * @property {boolean} [encryption.services.blob.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.blob.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {object} [encryption.services.file] The encryption function of the - * file storage service. - * @member {boolean} [encryption.services.file.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.file.lastEnabledTime] Gets a rough + * @property {object} [encryption.services.file] The encryption function of + * the file storage service. + * @property {boolean} [encryption.services.file.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.file.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {object} [encryption.services.table] The encryption function of + * @property {object} [encryption.services.table] The encryption function of * the table storage service. - * @member {boolean} [encryption.services.table.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.table.lastEnabledTime] Gets a rough + * @property {boolean} [encryption.services.table.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.table.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {object} [encryption.services.queue] The encryption function of + * @property {object} [encryption.services.queue] The encryption function of * the queue storage service. - * @member {boolean} [encryption.services.queue.enabled] A boolean indicating - * whether or not the service encrypts the data as it is stored. - * @member {date} [encryption.services.queue.lastEnabledTime] Gets a rough + * @property {boolean} [encryption.services.queue.enabled] A boolean + * indicating whether or not the service encrypts the data as it is stored. + * @property {date} [encryption.services.queue.lastEnabledTime] Gets a rough * estimate of the date/time when the encryption was last enabled by the * user. Only returned when encryption is enabled. There might be some * unencrypted blobs which were written after this time, as it is just a * rough estimate. - * @member {string} [encryption.keySource] The encryption keySource + * @property {string} [encryption.keySource] The encryption keySource * (provider). Possible values (case-insensitive): Microsoft.Storage, * Microsoft.Keyvault. Possible values include: 'Microsoft.Storage', * 'Microsoft.Keyvault' - * @member {object} [encryption.keyVaultProperties] Properties provided by + * @property {object} [encryption.keyVaultProperties] Properties provided by * key vault. - * @member {string} [encryption.keyVaultProperties.keyName] The name of + * @property {string} [encryption.keyVaultProperties.keyName] The name of * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVersion] The version of - * KeyVault key. - * @member {string} [encryption.keyVaultProperties.keyVaultUri] The Uri of + * @property {string} [encryption.keyVaultProperties.keyVersion] The version + * of KeyVault key. + * @property {string} [encryption.keyVaultProperties.keyVaultUri] The Uri of * KeyVault. - * @member {string} [accessTier] Required for storage accounts where kind = + * @property {string} [accessTier] Required for storage accounts where kind = * BlobStorage. The access tier used for billing. Possible values include: * 'Hot', 'Cool' - * @member {boolean} [enableAzureFilesAadIntegration] Enables Azure Files AAD - * Integration for SMB if sets to true. - * @member {boolean} [enableHttpsTrafficOnly] Allows https traffic only to + * @property {boolean} [enableAzureFilesAadIntegration] Enables Azure Files + * AAD Integration for SMB if sets to true. + * @property {boolean} [enableHttpsTrafficOnly] Allows https traffic only to * storage service if sets to true. - * @member {object} [networkRuleSet] Network rule set - * @member {string} [networkRuleSet.bypass] Specifies whether traffic is + * @property {object} [networkRuleSet] Network rule set + * @property {string} [networkRuleSet.bypass] Specifies whether traffic is * bypassed for Logging/Metrics/AzureServices. Possible values are any * combination of Logging|Metrics|AzureServices (For example, "Logging, * Metrics"), or None to bypass none of those traffics. Possible values * include: 'None', 'Logging', 'Metrics', 'AzureServices' - * @member {array} [networkRuleSet.virtualNetworkRules] Sets the virtual + * @property {array} [networkRuleSet.virtualNetworkRules] Sets the virtual * network rules - * @member {array} [networkRuleSet.ipRules] Sets the IP ACL rules - * @member {string} [networkRuleSet.defaultAction] Specifies the default + * @property {array} [networkRuleSet.ipRules] Sets the IP ACL rules + * @property {string} [networkRuleSet.defaultAction] Specifies the default * action of allow or deny when no other rules match. Possible values * include: 'Allow', 'Deny' - * @member {string} [kind] Optional. Indicates the type of storage account. + * @property {string} [kind] Optional. Indicates the type of storage account. * Currently only StorageV2 value supported by server. Possible values * include: 'Storage', 'StorageV2', 'BlobStorage', 'FileStorage', * 'BlockBlobStorage' diff --git a/lib/services/storageManagement2/lib/models/tagProperty.js b/lib/services/storageManagement2/lib/models/tagProperty.js index a6de571810..2c8dec8cdf 100644 --- a/lib/services/storageManagement2/lib/models/tagProperty.js +++ b/lib/services/storageManagement2/lib/models/tagProperty.js @@ -17,13 +17,13 @@ class TagProperty { /** * Create a TagProperty. - * @member {string} [tag] The tag value. - * @member {date} [timestamp] Returns the date and time the tag was added. - * @member {string} [objectIdentifier] Returns the Object ID of the user who - * added the tag. - * @member {string} [tenantId] Returns the Tenant ID that issued the token + * @property {string} [tag] The tag value. + * @property {date} [timestamp] Returns the date and time the tag was added. + * @property {string} [objectIdentifier] Returns the Object ID of the user + * who added the tag. + * @property {string} [tenantId] Returns the Tenant ID that issued the token * for the user who added the tag. - * @member {string} [upn] Returns the User Principal Name of the user who + * @property {string} [upn] Returns the User Principal Name of the user who * added the tag. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/trackedResource.js b/lib/services/storageManagement2/lib/models/trackedResource.js index 5c6804d7c8..d74a5106d9 100644 --- a/lib/services/storageManagement2/lib/models/trackedResource.js +++ b/lib/services/storageManagement2/lib/models/trackedResource.js @@ -20,8 +20,8 @@ const models = require('./index'); class TrackedResource extends models['Resource'] { /** * Create a TrackedResource. - * @member {object} [tags] Resource tags. - * @member {string} location The geo-location where the resource lives + * @property {object} [tags] Resource tags. + * @property {string} location The geo-location where the resource lives */ constructor() { super(); diff --git a/lib/services/storageManagement2/lib/models/updateHistoryProperty.js b/lib/services/storageManagement2/lib/models/updateHistoryProperty.js index a51d85f4ca..8f76b7f4f7 100644 --- a/lib/services/storageManagement2/lib/models/updateHistoryProperty.js +++ b/lib/services/storageManagement2/lib/models/updateHistoryProperty.js @@ -17,18 +17,19 @@ class UpdateHistoryProperty { /** * Create a UpdateHistoryProperty. - * @member {string} [update] The ImmutabilityPolicy update type of a blob + * @property {string} [update] The ImmutabilityPolicy update type of a blob * container, possible values include: put, lock and extend. Possible values * include: 'put', 'lock', 'extend' - * @member {number} [immutabilityPeriodSinceCreationInDays] The immutability - * period for the blobs in the container since the policy creation, in days. - * @member {date} [timestamp] Returns the date and time the + * @property {number} [immutabilityPeriodSinceCreationInDays] The + * immutability period for the blobs in the container since the policy + * creation, in days. + * @property {date} [timestamp] Returns the date and time the * ImmutabilityPolicy was updated. - * @member {string} [objectIdentifier] Returns the Object ID of the user who - * updated the ImmutabilityPolicy. - * @member {string} [tenantId] Returns the Tenant ID that issued the token + * @property {string} [objectIdentifier] Returns the Object ID of the user + * who updated the ImmutabilityPolicy. + * @property {string} [tenantId] Returns the Tenant ID that issued the token * for the user who updated the ImmutabilityPolicy. - * @member {string} [upn] Returns the User Principal Name of the user who + * @property {string} [upn] Returns the User Principal Name of the user who * updated the ImmutabilityPolicy. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/usage.js b/lib/services/storageManagement2/lib/models/usage.js index 1155505b8a..55c247c45b 100644 --- a/lib/services/storageManagement2/lib/models/usage.js +++ b/lib/services/storageManagement2/lib/models/usage.js @@ -17,17 +17,18 @@ class Usage { /** * Create a Usage. - * @member {string} [unit] Gets the unit of measurement. Possible values + * @property {string} [unit] Gets the unit of measurement. Possible values * include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountsPerSecond', * 'BytesPerSecond' - * @member {number} [currentValue] Gets the current count of the allocated + * @property {number} [currentValue] Gets the current count of the allocated * resources in the subscription. - * @member {number} [limit] Gets the maximum count of the resources that can - * be allocated in the subscription. - * @member {object} [name] Gets the name of the type of usage. - * @member {string} [name.value] Gets a string describing the resource name. - * @member {string} [name.localizedValue] Gets a localized string describing - * the resource name. + * @property {number} [limit] Gets the maximum count of the resources that + * can be allocated in the subscription. + * @property {object} [name] Gets the name of the type of usage. + * @property {string} [name.value] Gets a string describing the resource + * name. + * @property {string} [name.localizedValue] Gets a localized string + * describing the resource name. */ constructor() { } diff --git a/lib/services/storageManagement2/lib/models/usageName.js b/lib/services/storageManagement2/lib/models/usageName.js index 959ac9c459..cbb09840dc 100644 --- a/lib/services/storageManagement2/lib/models/usageName.js +++ b/lib/services/storageManagement2/lib/models/usageName.js @@ -17,8 +17,8 @@ class UsageName { /** * Create a UsageName. - * @member {string} [value] Gets a string describing the resource name. - * @member {string} [localizedValue] Gets a localized string describing the + * @property {string} [value] Gets a string describing the resource name. + * @property {string} [localizedValue] Gets a localized string describing the * resource name. */ constructor() { diff --git a/lib/services/storageManagement2/lib/models/virtualNetworkRule.js b/lib/services/storageManagement2/lib/models/virtualNetworkRule.js index 11a25378a1..e22da567e2 100644 --- a/lib/services/storageManagement2/lib/models/virtualNetworkRule.js +++ b/lib/services/storageManagement2/lib/models/virtualNetworkRule.js @@ -17,14 +17,14 @@ class VirtualNetworkRule { /** * Create a VirtualNetworkRule. - * @member {string} virtualNetworkResourceId Resource ID of a subnet, for + * @property {string} virtualNetworkResourceId Resource ID of a subnet, for * example: * /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. - * @member {string} [action] The action of virtual network rule. Possible + * @property {string} [action] The action of virtual network rule. Possible * values include: 'Allow'. Default value: 'Allow' . - * @member {string} [state] Gets the state of virtual network rule. Possible - * values include: 'provisioning', 'deprovisioning', 'succeeded', 'failed', - * 'networkSourceDeleted' + * @property {string} [state] Gets the state of virtual network rule. + * Possible values include: 'provisioning', 'deprovisioning', 'succeeded', + * 'failed', 'networkSourceDeleted' */ constructor() { } diff --git a/lib/services/storageManagement2/lib/operations/index.d.ts b/lib/services/storageManagement2/lib/operations/index.d.ts index 46b6e267d7..6ef52ed397 100644 --- a/lib/services/storageManagement2/lib/operations/index.d.ts +++ b/lib/services/storageManagement2/lib/operations/index.d.ts @@ -564,6 +564,11 @@ export interface StorageAccounts { * * @param {object} [options] Optional Parameters. * + * @param {string} [options.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' + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -573,7 +578,7 @@ export interface StorageAccounts { * * @reject {Error|ServiceError} - The error object. */ - getPropertiesWithHttpOperationResponse(resourceGroupName: string, accountName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getPropertiesWithHttpOperationResponse(resourceGroupName: string, accountName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Returns the properties for the specified storage account including but not @@ -589,6 +594,11 @@ export interface StorageAccounts { * * @param {object} [options] Optional Parameters. * + * @param {string} [options.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' + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -614,9 +624,9 @@ export interface StorageAccounts { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getProperties(resourceGroupName: string, accountName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getProperties(resourceGroupName: string, accountName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; getProperties(resourceGroupName: string, accountName: string, callback: ServiceCallback): void; - getProperties(resourceGroupName: string, accountName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getProperties(resourceGroupName: string, accountName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** @@ -1466,6 +1476,76 @@ export interface StorageAccounts { listServiceSAS(resourceGroupName: string, accountName: string, parameters: models.ServiceSasParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + /** + * Failover request can be triggered for a storage account in case of + * availability issues. The failover occurs from the storage account's primary + * cluster to secondary cluster for RA-GRS accounts. The secondary cluster will + * become primary after failover. + * + * @param {string} resourceGroupName The name of the resource group within the + * user's subscription. The name is case insensitive. + * + * @param {string} accountName The name of the storage account within the + * specified resource group. Storage account names must be between 3 and 24 + * characters in length and use numbers and lower-case letters only. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + failoverWithHttpOperationResponse(resourceGroupName: string, accountName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Failover request can be triggered for a storage account in case of + * availability issues. The failover occurs from the storage account's primary + * cluster to secondary cluster for RA-GRS accounts. The secondary cluster will + * become primary after failover. + * + * @param {string} resourceGroupName The name of the resource group within the + * user's subscription. The name is case insensitive. + * + * @param {string} accountName The name of the storage account within the + * specified resource group. Storage account names must be between 3 and 24 + * characters in length and use numbers and lower-case letters only. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + failover(resourceGroupName: string, accountName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + failover(resourceGroupName: string, accountName: string, callback: ServiceCallback): void; + failover(resourceGroupName: string, accountName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + /** * Asynchronously creates a new storage account with the specified parameters. * If an account is already created and a subsequent create request is issued @@ -1751,6 +1831,76 @@ export interface StorageAccounts { beginCreate(resourceGroupName: string, accountName: string, parameters: models.StorageAccountCreateParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; beginCreate(resourceGroupName: string, accountName: string, parameters: models.StorageAccountCreateParameters, callback: ServiceCallback): void; beginCreate(resourceGroupName: string, accountName: string, parameters: models.StorageAccountCreateParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Failover request can be triggered for a storage account in case of + * availability issues. The failover occurs from the storage account's primary + * cluster to secondary cluster for RA-GRS accounts. The secondary cluster will + * become primary after failover. + * + * @param {string} resourceGroupName The name of the resource group within the + * user's subscription. The name is case insensitive. + * + * @param {string} accountName The name of the storage account within the + * specified resource group. Storage account names must be between 3 and 24 + * characters in length and use numbers and lower-case letters only. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginFailoverWithHttpOperationResponse(resourceGroupName: string, accountName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Failover request can be triggered for a storage account in case of + * availability issues. The failover occurs from the storage account's primary + * cluster to secondary cluster for RA-GRS accounts. The secondary cluster will + * become primary after failover. + * + * @param {string} resourceGroupName The name of the resource group within the + * user's subscription. The name is case insensitive. + * + * @param {string} accountName The name of the storage account within the + * specified resource group. Storage account names must be between 3 and 24 + * characters in length and use numbers and lower-case letters only. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginFailover(resourceGroupName: string, accountName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginFailover(resourceGroupName: string, accountName: string, callback: ServiceCallback): void; + beginFailover(resourceGroupName: string, accountName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } /** diff --git a/lib/services/storageManagement2/lib/operations/storageAccounts.js b/lib/services/storageManagement2/lib/operations/storageAccounts.js index 176c3f95b9..7653e13e9e 100644 --- a/lib/services/storageManagement2/lib/operations/storageAccounts.js +++ b/lib/services/storageManagement2/lib/operations/storageAccounts.js @@ -544,6 +544,11 @@ function _deleteMethod(resourceGroupName, accountName, options, callback) { * * @param {object} [options] Optional Parameters. * + * @param {string} [options.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' + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -570,6 +575,7 @@ function _getProperties(resourceGroupName, accountName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } + let expand = (options && options.expand !== undefined) ? options.expand : undefined; let apiVersion = '2018-07-01'; // Validate try { @@ -612,6 +618,12 @@ function _getProperties(resourceGroupName, accountName, options, callback) { throw new Error('"this.client.subscriptionId" should satisfy the constraint - "MinLength": 1'); } } + if (expand) { + let allowedValues = [ 'geoReplicationStats' ]; + if (!allowedValues.some( function(item) { return item === expand; })) { + throw new Error(expand + ' is not a valid value. The valid values are: ' + allowedValues); + } + } if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { throw new Error('this.client.acceptLanguage must be of type string.'); } @@ -627,6 +639,9 @@ function _getProperties(resourceGroupName, accountName, options, callback) { requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); let queryParameters = []; queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (expand !== null && expand !== undefined) { + queryParameters.push('$expand=' + encodeURIComponent(expand)); + } if (queryParameters.length > 0) { requestUrl += '?' + queryParameters.join('&'); } @@ -2170,6 +2185,75 @@ function _listServiceSAS(resourceGroupName, accountName, parameters, options, ca }); } + +/** + * Failover request can be triggered for a storage account in case of + * availability issues. The failover occurs from the storage account's primary + * cluster to secondary cluster for RA-GRS accounts. The secondary cluster will + * become primary after failover. + * + * @param {string} resourceGroupName The name of the resource group within the + * user's subscription. The name is case insensitive. + * + * @param {string} accountName The name of the storage account within the + * specified resource group. Storage account names must be between 3 and 24 + * characters in length and use numbers and lower-case letters only. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _failover(resourceGroupName, accountName, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + + if (!callback) { + throw new Error('callback cannot be null.'); + } + + // Send request + this.beginFailover(resourceGroupName, accountName, options, (err, parsedResult, httpRequest, response) => { + if (err) return callback(err); + + let initialResult = new msRest.HttpOperationResponse(); + initialResult.request = httpRequest; + initialResult.response = response; + initialResult.body = response.body; + client.getLongRunningOperationResult(initialResult, options, (err, pollingResult) => { + if (err) return callback(err); + + // Create Result + let result = null; + + httpRequest = pollingResult.request; + response = pollingResult.response; + let responseBody = pollingResult.body; + if (responseBody === '') responseBody = null; + + // Deserialize Response + + return callback(null, result, httpRequest, response); + }); + }); +} + /** * Asynchronously creates a new storage account with the specified parameters. * If an account is already created and a subsequent create request is issued @@ -2478,6 +2562,167 @@ function _beginCreate(resourceGroupName, accountName, parameters, options, callb }); } +/** + * Failover request can be triggered for a storage account in case of + * availability issues. The failover occurs from the storage account's primary + * cluster to secondary cluster for RA-GRS accounts. The secondary cluster will + * become primary after failover. + * + * @param {string} resourceGroupName The name of the resource group within the + * user's subscription. The name is case insensitive. + * + * @param {string} accountName The name of the storage account within the + * specified resource group. Storage account names must be between 3 and 24 + * characters in length and use numbers and lower-case letters only. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _beginFailover(resourceGroupName, accountName, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + let apiVersion = '2018-07-01'; + // Validate + try { + if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { + throw new Error('resourceGroupName cannot be null or undefined and it must be of type string.'); + } + if (resourceGroupName !== null && resourceGroupName !== undefined) { + if (resourceGroupName.length > 90) + { + throw new Error('"resourceGroupName" should satisfy the constraint - "MaxLength": 90'); + } + if (resourceGroupName.length < 1) + { + throw new Error('"resourceGroupName" should satisfy the constraint - "MinLength": 1'); + } + if (resourceGroupName.match(/^[-\w\._\(\)]+$/) === null) + { + throw new Error('"resourceGroupName" should satisfy the constraint - "Pattern": /^[-\w\._\(\)]+$/'); + } + } + if (accountName === null || accountName === undefined || typeof accountName.valueOf() !== 'string') { + throw new Error('accountName cannot be null or undefined and it must be of type string.'); + } + if (accountName !== null && accountName !== undefined) { + if (accountName.length > 24) + { + throw new Error('"accountName" should satisfy the constraint - "MaxLength": 24'); + } + if (accountName.length < 3) + { + throw new Error('"accountName" should satisfy the constraint - "MinLength": 3'); + } + } + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.subscriptionId !== null && this.client.subscriptionId !== undefined) { + if (this.client.subscriptionId.length < 1) + { + throw new Error('"this.client.subscriptionId" should satisfy the constraint - "MinLength": 1'); + } + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let baseUrl = this.client.baseUri; + let requestUrl = baseUrl + (baseUrl.endsWith('/') ? '' : '/') + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{accountName}', encodeURIComponent(accountName)); + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (queryParameters.length > 0) { + requestUrl += '?' + queryParameters.join('&'); + } + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'POST'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + httpRequest.body = null; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200 && statusCode !== 202) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + + return callback(null, result, httpRequest, response); + }); +} + /** Class representing a StorageAccounts. */ class StorageAccounts { /** @@ -2497,7 +2742,9 @@ class StorageAccounts { this._regenerateKey = _regenerateKey; this._listAccountSAS = _listAccountSAS; this._listServiceSAS = _listServiceSAS; + this._failover = _failover; this._beginCreate = _beginCreate; + this._beginFailover = _beginFailover; } /** @@ -3002,6 +3249,11 @@ class StorageAccounts { * * @param {object} [options] Optional Parameters. * + * @param {string} [options.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' + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -3039,6 +3291,11 @@ class StorageAccounts { * * @param {object} [options] Optional Parameters. * + * @param {string} [options.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' + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -4120,6 +4377,103 @@ class StorageAccounts { } } + /** + * Failover request can be triggered for a storage account in case of + * availability issues. The failover occurs from the storage account's primary + * cluster to secondary cluster for RA-GRS accounts. The secondary cluster will + * become primary after failover. + * + * @param {string} resourceGroupName The name of the resource group within the + * user's subscription. The name is case insensitive. + * + * @param {string} accountName The name of the storage account within the + * specified resource group. Storage account names must be between 3 and 24 + * characters in length and use numbers and lower-case letters only. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + failoverWithHttpOperationResponse(resourceGroupName, accountName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._failover(resourceGroupName, accountName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Failover request can be triggered for a storage account in case of + * availability issues. The failover occurs from the storage account's primary + * cluster to secondary cluster for RA-GRS accounts. The secondary cluster will + * become primary after failover. + * + * @param {string} resourceGroupName The name of the resource group within the + * user's subscription. The name is case insensitive. + * + * @param {string} accountName The name of the storage account within the + * specified resource group. Storage account names must be between 3 and 24 + * characters in length and use numbers and lower-case letters only. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + failover(resourceGroupName, accountName, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._failover(resourceGroupName, accountName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._failover(resourceGroupName, accountName, options, optionalCallback); + } + } + /** * Asynchronously creates a new storage account with the specified parameters. * If an account is already created and a subsequent create request is issued @@ -4434,6 +4788,103 @@ class StorageAccounts { } } + /** + * Failover request can be triggered for a storage account in case of + * availability issues. The failover occurs from the storage account's primary + * cluster to secondary cluster for RA-GRS accounts. The secondary cluster will + * become primary after failover. + * + * @param {string} resourceGroupName The name of the resource group within the + * user's subscription. The name is case insensitive. + * + * @param {string} accountName The name of the storage account within the + * specified resource group. Storage account names must be between 3 and 24 + * characters in length and use numbers and lower-case letters only. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + beginFailoverWithHttpOperationResponse(resourceGroupName, accountName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginFailover(resourceGroupName, accountName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Failover request can be triggered for a storage account in case of + * availability issues. The failover occurs from the storage account's primary + * cluster to secondary cluster for RA-GRS accounts. The secondary cluster will + * become primary after failover. + * + * @param {string} resourceGroupName The name of the resource group within the + * user's subscription. The name is case insensitive. + * + * @param {string} accountName The name of the storage account within the + * specified resource group. Storage account names must be between 3 and 24 + * characters in length and use numbers and lower-case letters only. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + beginFailover(resourceGroupName, accountName, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._beginFailover(resourceGroupName, accountName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginFailover(resourceGroupName, accountName, options, optionalCallback); + } + } + } module.exports = StorageAccounts;