136 lines
3.0 KiB
JavaScript
136 lines
3.0 KiB
JavaScript
//
|
|
// Copyright (c) Microsoft and contributors. All rights reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
//
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
// Expose 'BlobUtilities'.
|
|
exports = module.exports;
|
|
|
|
/**
|
|
* Defines constants, enums, and utility functions for use with the Blob service.
|
|
* @namespace BlobUtilities
|
|
*/
|
|
var BlobUtilities = {
|
|
/**
|
|
* Permission types
|
|
*
|
|
* @const
|
|
* @enum {string}
|
|
*/
|
|
SharedAccessPermissions: {
|
|
READ: 'r',
|
|
ADD: 'a',
|
|
CREATE: 'c',
|
|
WRITE: 'w',
|
|
DELETE: 'd',
|
|
LIST: 'l'
|
|
},
|
|
|
|
/**
|
|
* Blob listing details.
|
|
*
|
|
* @const
|
|
* @enum {string}
|
|
*/
|
|
BlobListingDetails: {
|
|
SNAPSHOTS: 'snapshots',
|
|
METADATA: 'metadata',
|
|
UNCOMMITTED_BLOBS: 'uncommittedblobs',
|
|
COPY: 'copy',
|
|
DELETED: 'deleted'
|
|
},
|
|
|
|
/**
|
|
* Deletion options for blob snapshots
|
|
*
|
|
* @const
|
|
* @enum {string}
|
|
*/
|
|
SnapshotDeleteOptions: {
|
|
SNAPSHOTS_ONLY: 'only',
|
|
BLOB_AND_SNAPSHOTS: 'include'
|
|
},
|
|
|
|
/**
|
|
* Type of block list to retrieve
|
|
*
|
|
* @const
|
|
* @enum {string}
|
|
*/
|
|
BlockListFilter: {
|
|
ALL: 'all',
|
|
COMMITTED: 'committed',
|
|
UNCOMMITTED: 'uncommitted'
|
|
},
|
|
|
|
/**
|
|
* Blobs and container public access types.
|
|
*
|
|
* @const
|
|
* @enum {string}
|
|
*/
|
|
BlobContainerPublicAccessType: {
|
|
OFF: null,
|
|
CONTAINER: 'container',
|
|
BLOB: 'blob'
|
|
},
|
|
|
|
/**
|
|
* Describes actions that can be performed on a page blob sequence number.
|
|
* @const
|
|
* @enum {string}
|
|
*/
|
|
SequenceNumberAction: {
|
|
MAX: 'max',
|
|
UPDATE: 'update',
|
|
INCREMENT: 'increment'
|
|
},
|
|
|
|
/**
|
|
* Candidate values for blob tiers.
|
|
*
|
|
* @property {object} PremiumPageBlobTier Candidate values for premium pageblob tiers.
|
|
* @property {string} PremiumPageBlobTier.P4
|
|
* @property {string} PremiumPageBlobTier.P6
|
|
* @property {string} PremiumPageBlobTier.P10
|
|
* @property {string} PremiumPageBlobTier.P20
|
|
* @property {string} PremiumPageBlobTier.P30
|
|
* @property {string} PremiumPageBlobTier.P40
|
|
* @property {string} PremiumPageBlobTier.P50
|
|
* @property {string} PremiumPageBlobTier.P60
|
|
* @property {object} StandardBlobTier Candidate values for standard blobs tiers.
|
|
* @property {string} StandardBlobTier.HOT
|
|
* @property {string} StandardBlobTier.COOL
|
|
* @property {string} StandardBlobTier.ARCHIVE
|
|
*/
|
|
BlobTier: {
|
|
PremiumPageBlobTier: {
|
|
P4: 'P4',
|
|
P6: 'P6',
|
|
P10: 'P10',
|
|
P20: 'P20',
|
|
P30: 'P30',
|
|
P40: 'P40',
|
|
P50: 'P50',
|
|
P60: 'P60'
|
|
},
|
|
StandardBlobTier: {
|
|
HOT: 'Hot',
|
|
COOL: 'Cool',
|
|
ARCHIVE: 'Archive'
|
|
}
|
|
}
|
|
};
|
|
|
|
module.exports = BlobUtilities; |