@azure/storage-file-datalake 12.28.1 → 12.29.0-alpha.20251201.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/DataLakeFileSystemClient.d.ts +2 -1
- package/dist/browser/DataLakeFileSystemClient.d.ts.map +1 -1
- package/dist/browser/DataLakeFileSystemClient.js +1 -0
- package/dist/browser/DataLakeFileSystemClient.js.map +1 -1
- package/dist/browser/clients.d.ts +2 -1
- package/dist/browser/clients.d.ts.map +1 -1
- package/dist/browser/clients.js.map +1 -1
- package/dist/browser/generated/src/models/index.d.ts +41 -19
- package/dist/browser/generated/src/models/index.d.ts.map +1 -1
- package/dist/browser/generated/src/models/index.js.map +1 -1
- package/dist/browser/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/browser/generated/src/models/mappers.js +757 -715
- package/dist/browser/generated/src/models/mappers.js.map +1 -1
- package/dist/browser/generated/src/models/parameters.d.ts +3 -0
- package/dist/browser/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/browser/generated/src/models/parameters.js +299 -269
- package/dist/browser/generated/src/models/parameters.js.map +1 -1
- package/dist/browser/generated/src/operations/fileSystemOperations.d.ts +2 -2
- package/dist/browser/generated/src/operations/fileSystemOperations.js +35 -34
- package/dist/browser/generated/src/operations/fileSystemOperations.js.map +1 -1
- package/dist/browser/generated/src/operations/pathOperations.d.ts +6 -6
- package/dist/browser/generated/src/operations/pathOperations.js +83 -79
- package/dist/browser/generated/src/operations/pathOperations.js.map +1 -1
- package/dist/browser/generated/src/operations/service.js +6 -6
- package/dist/browser/generated/src/operations/service.js.map +1 -1
- package/dist/browser/generated/src/operationsInterfaces/fileSystemOperations.d.ts +2 -2
- package/dist/browser/generated/src/operationsInterfaces/fileSystemOperations.js.map +1 -1
- package/dist/browser/generated/src/operationsInterfaces/pathOperations.d.ts +6 -6
- package/dist/browser/generated/src/operationsInterfaces/pathOperations.js.map +1 -1
- package/dist/browser/generated/src/operationsInterfaces/service.js.map +1 -1
- package/dist/browser/generated/src/storageClient.js +6 -6
- package/dist/browser/generated/src/storageClient.js.map +1 -1
- package/dist/browser/index-browser.d.mts.map +1 -1
- package/dist/browser/index-browser.mjs.map +1 -1
- package/dist/browser/index.d.ts +1 -0
- package/dist/browser/models.d.ts +7 -9
- package/dist/browser/models.d.ts.map +1 -1
- package/dist/browser/models.js.map +1 -1
- package/dist/browser/sas/DataLakeSASSignatureValues.d.ts +7 -1
- package/dist/browser/sas/DataLakeSASSignatureValues.d.ts.map +1 -1
- package/dist/browser/sas/DataLakeSASSignatureValues.js +3 -3
- package/dist/browser/sas/DataLakeSASSignatureValues.js.map +1 -1
- package/dist/browser/sas/SASQueryParameters.d.ts +14 -2
- package/dist/browser/sas/SASQueryParameters.d.ts.map +1 -1
- package/dist/browser/sas/SASQueryParameters.js +13 -1
- package/dist/browser/sas/SASQueryParameters.js.map +1 -1
- package/dist/browser/utils/constants.d.ts.map +1 -1
- package/dist/browser/utils/constants.js +2 -2
- package/dist/browser/utils/constants.js.map +1 -1
- package/dist/commonjs/DataLakeFileSystemClient.d.ts +2 -1
- package/dist/commonjs/DataLakeFileSystemClient.d.ts.map +1 -1
- package/dist/commonjs/DataLakeFileSystemClient.js +1 -0
- package/dist/commonjs/DataLakeFileSystemClient.js.map +1 -1
- package/dist/commonjs/clients.d.ts +2 -1
- package/dist/commonjs/clients.d.ts.map +1 -1
- package/dist/commonjs/clients.js.map +1 -1
- package/dist/commonjs/generated/src/models/index.d.ts +41 -19
- package/dist/commonjs/generated/src/models/index.d.ts.map +1 -1
- package/dist/commonjs/generated/src/models/index.js.map +1 -1
- package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/commonjs/generated/src/models/mappers.js +757 -715
- package/dist/commonjs/generated/src/models/mappers.js.map +1 -1
- package/dist/commonjs/generated/src/models/parameters.d.ts +3 -0
- package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/commonjs/generated/src/models/parameters.js +301 -271
- package/dist/commonjs/generated/src/models/parameters.js.map +1 -1
- package/dist/commonjs/generated/src/operations/fileSystemOperations.d.ts +2 -2
- package/dist/commonjs/generated/src/operations/fileSystemOperations.js +35 -34
- package/dist/commonjs/generated/src/operations/fileSystemOperations.js.map +1 -1
- package/dist/commonjs/generated/src/operations/pathOperations.d.ts +6 -6
- package/dist/commonjs/generated/src/operations/pathOperations.js +83 -79
- package/dist/commonjs/generated/src/operations/pathOperations.js.map +1 -1
- package/dist/commonjs/generated/src/operations/service.js +6 -6
- package/dist/commonjs/generated/src/operations/service.js.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/fileSystemOperations.d.ts +2 -2
- package/dist/commonjs/generated/src/operationsInterfaces/fileSystemOperations.js.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/pathOperations.d.ts +6 -6
- package/dist/commonjs/generated/src/operationsInterfaces/pathOperations.js.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/service.js.map +1 -1
- package/dist/commonjs/generated/src/storageClient.js +5 -5
- package/dist/commonjs/generated/src/storageClient.js.map +1 -1
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/models.d.ts +7 -9
- package/dist/commonjs/models.d.ts.map +1 -1
- package/dist/commonjs/models.js.map +1 -1
- package/dist/commonjs/sas/DataLakeSASSignatureValues.d.ts +7 -1
- package/dist/commonjs/sas/DataLakeSASSignatureValues.d.ts.map +1 -1
- package/dist/commonjs/sas/DataLakeSASSignatureValues.js +4 -4
- package/dist/commonjs/sas/DataLakeSASSignatureValues.js.map +1 -1
- package/dist/commonjs/sas/SASQueryParameters.d.ts +14 -2
- package/dist/commonjs/sas/SASQueryParameters.d.ts.map +1 -1
- package/dist/commonjs/sas/SASQueryParameters.js +13 -1
- package/dist/commonjs/sas/SASQueryParameters.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/utils/constants.d.ts.map +1 -1
- package/dist/commonjs/utils/constants.js +2 -2
- package/dist/commonjs/utils/constants.js.map +1 -1
- package/dist/esm/DataLakeFileSystemClient.d.ts +2 -1
- package/dist/esm/DataLakeFileSystemClient.d.ts.map +1 -1
- package/dist/esm/DataLakeFileSystemClient.js +1 -0
- package/dist/esm/DataLakeFileSystemClient.js.map +1 -1
- package/dist/esm/clients.d.ts +2 -1
- package/dist/esm/clients.d.ts.map +1 -1
- package/dist/esm/clients.js.map +1 -1
- package/dist/esm/generated/src/models/index.d.ts +41 -19
- package/dist/esm/generated/src/models/index.d.ts.map +1 -1
- package/dist/esm/generated/src/models/index.js.map +1 -1
- package/dist/esm/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/esm/generated/src/models/mappers.js +757 -715
- package/dist/esm/generated/src/models/mappers.js.map +1 -1
- package/dist/esm/generated/src/models/parameters.d.ts +3 -0
- package/dist/esm/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/esm/generated/src/models/parameters.js +299 -269
- package/dist/esm/generated/src/models/parameters.js.map +1 -1
- package/dist/esm/generated/src/operations/fileSystemOperations.d.ts +2 -2
- package/dist/esm/generated/src/operations/fileSystemOperations.js +35 -34
- package/dist/esm/generated/src/operations/fileSystemOperations.js.map +1 -1
- package/dist/esm/generated/src/operations/pathOperations.d.ts +6 -6
- package/dist/esm/generated/src/operations/pathOperations.js +83 -79
- package/dist/esm/generated/src/operations/pathOperations.js.map +1 -1
- package/dist/esm/generated/src/operations/service.js +6 -6
- package/dist/esm/generated/src/operations/service.js.map +1 -1
- package/dist/esm/generated/src/operationsInterfaces/fileSystemOperations.d.ts +2 -2
- package/dist/esm/generated/src/operationsInterfaces/fileSystemOperations.js.map +1 -1
- package/dist/esm/generated/src/operationsInterfaces/pathOperations.d.ts +6 -6
- package/dist/esm/generated/src/operationsInterfaces/pathOperations.js.map +1 -1
- package/dist/esm/generated/src/operationsInterfaces/service.js.map +1 -1
- package/dist/esm/generated/src/storageClient.js +6 -6
- package/dist/esm/generated/src/storageClient.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models.d.ts +7 -9
- package/dist/esm/models.d.ts.map +1 -1
- package/dist/esm/models.js.map +1 -1
- package/dist/esm/sas/DataLakeSASSignatureValues.d.ts +7 -1
- package/dist/esm/sas/DataLakeSASSignatureValues.d.ts.map +1 -1
- package/dist/esm/sas/DataLakeSASSignatureValues.js +3 -3
- package/dist/esm/sas/DataLakeSASSignatureValues.js.map +1 -1
- package/dist/esm/sas/SASQueryParameters.d.ts +14 -2
- package/dist/esm/sas/SASQueryParameters.d.ts.map +1 -1
- package/dist/esm/sas/SASQueryParameters.js +13 -1
- package/dist/esm/sas/SASQueryParameters.js.map +1 -1
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +2 -2
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/react-native/DataLakeFileSystemClient.d.ts +2 -1
- package/dist/react-native/DataLakeFileSystemClient.d.ts.map +1 -1
- package/dist/react-native/DataLakeFileSystemClient.js +1 -0
- package/dist/react-native/DataLakeFileSystemClient.js.map +1 -1
- package/dist/react-native/clients.d.ts +2 -1
- package/dist/react-native/clients.d.ts.map +1 -1
- package/dist/react-native/clients.js.map +1 -1
- package/dist/react-native/generated/src/models/index.d.ts +41 -19
- package/dist/react-native/generated/src/models/index.d.ts.map +1 -1
- package/dist/react-native/generated/src/models/index.js.map +1 -1
- package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/react-native/generated/src/models/mappers.js +757 -715
- package/dist/react-native/generated/src/models/mappers.js.map +1 -1
- package/dist/react-native/generated/src/models/parameters.d.ts +3 -0
- package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/react-native/generated/src/models/parameters.js +299 -269
- package/dist/react-native/generated/src/models/parameters.js.map +1 -1
- package/dist/react-native/generated/src/operations/fileSystemOperations.d.ts +2 -2
- package/dist/react-native/generated/src/operations/fileSystemOperations.js +35 -34
- package/dist/react-native/generated/src/operations/fileSystemOperations.js.map +1 -1
- package/dist/react-native/generated/src/operations/pathOperations.d.ts +6 -6
- package/dist/react-native/generated/src/operations/pathOperations.js +83 -79
- package/dist/react-native/generated/src/operations/pathOperations.js.map +1 -1
- package/dist/react-native/generated/src/operations/service.js +6 -6
- package/dist/react-native/generated/src/operations/service.js.map +1 -1
- package/dist/react-native/generated/src/operationsInterfaces/fileSystemOperations.d.ts +2 -2
- package/dist/react-native/generated/src/operationsInterfaces/fileSystemOperations.js.map +1 -1
- package/dist/react-native/generated/src/operationsInterfaces/pathOperations.d.ts +6 -6
- package/dist/react-native/generated/src/operationsInterfaces/pathOperations.js.map +1 -1
- package/dist/react-native/generated/src/operationsInterfaces/service.js.map +1 -1
- package/dist/react-native/generated/src/storageClient.js +6 -6
- package/dist/react-native/generated/src/storageClient.js.map +1 -1
- package/dist/react-native/index.d.ts +1 -0
- package/dist/react-native/index.d.ts.map +1 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/models.d.ts +7 -9
- package/dist/react-native/models.d.ts.map +1 -1
- package/dist/react-native/models.js.map +1 -1
- package/dist/react-native/sas/DataLakeSASSignatureValues.d.ts +7 -1
- package/dist/react-native/sas/DataLakeSASSignatureValues.d.ts.map +1 -1
- package/dist/react-native/sas/DataLakeSASSignatureValues.js +3 -3
- package/dist/react-native/sas/DataLakeSASSignatureValues.js.map +1 -1
- package/dist/react-native/sas/SASQueryParameters.d.ts +14 -2
- package/dist/react-native/sas/SASQueryParameters.d.ts.map +1 -1
- package/dist/react-native/sas/SASQueryParameters.js +13 -1
- package/dist/react-native/sas/SASQueryParameters.js.map +1 -1
- package/dist/react-native/utils/constants.d.ts.map +1 -1
- package/dist/react-native/utils/constants.js +2 -2
- package/dist/react-native/utils/constants.js.map +1 -1
- package/package.json +26 -26
- package/dist/browser/credentials/UserDelegationKeyCredential-browser.d.mts.map +0 -1
- package/dist/browser/credentials/UserDelegationKeyCredential-browser.mjs.map +0 -1
- package/dist/browser/credentials/UserDelegationKeyCredential.d.ts +0 -3
- package/dist/browser/credentials/UserDelegationKeyCredential.js +0 -5
- package/dist/commonjs/credentials/UserDelegationKeyCredential.d.ts +0 -34
- package/dist/commonjs/credentials/UserDelegationKeyCredential.d.ts.map +0 -1
- package/dist/commonjs/credentials/UserDelegationKeyCredential.js +0 -47
- package/dist/commonjs/credentials/UserDelegationKeyCredential.js.map +0 -1
- package/dist/esm/credentials/UserDelegationKeyCredential.d.ts +0 -34
- package/dist/esm/credentials/UserDelegationKeyCredential.d.ts.map +0 -1
- package/dist/esm/credentials/UserDelegationKeyCredential.js +0 -43
- package/dist/esm/credentials/UserDelegationKeyCredential.js.map +0 -1
- package/dist/react-native/credentials/UserDelegationKeyCredential.d.ts +0 -34
- package/dist/react-native/credentials/UserDelegationKeyCredential.d.ts.map +0 -1
- package/dist/react-native/credentials/UserDelegationKeyCredential.js +0 -43
- package/dist/react-native/credentials/UserDelegationKeyCredential.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataLakeSASSignatureValues.js","sourceRoot":"","sources":["../../../src/sas/DataLakeSASSignatureValues.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { StorageSharedKeyCredential } from \"../credentials/StorageSharedKeyCredential.js\";\nimport { UserDelegationKeyCredential } from \"../credentials/UserDelegationKeyCredential.js\";\nimport { DataLakeSASPermissions } from \"./DataLakeSASPermissions.js\";\nimport { FileSystemSASPermissions } from \"./FileSystemSASPermissions.js\";\nimport type { UserDelegationKey } from \"../models.js\";\nimport type { SasIPRange } from \"./SasIPRange.js\";\nimport { ipRangeToString } from \"./SasIPRange.js\";\nimport type { SASProtocol } from \"./SASQueryParameters.js\";\nimport { SASQueryParameters } from \"./SASQueryParameters.js\";\nimport { SERVICE_VERSION } from \"../utils/constants.js\";\nimport { truncatedISO8061Date } from \"../utils/utils.common.js\";\nimport { DirectorySASPermissions } from \"./DirectorySASPermissions.js\";\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * DataLakeSASSignatureValues is used to help generating Blob and DataLake service SAS tokens for containers, blobs, filesystem, directories and files.\n */\nexport interface DataLakeSASSignatureValues {\n /**\n * The version of the service this SAS will target. If not specified, it will default to the version targeted by the\n * library.\n */\n version?: string;\n\n /**\n * Optional. SAS protocols, HTTPS only or HTTPSandHTTP\n */\n protocol?: SASProtocol;\n\n /**\n * Optional. When the SAS will take effect.\n */\n startsOn?: Date;\n\n /**\n * Optional only when identifier is provided. The time after which the SAS will no longer work.\n */\n expiresOn?: Date;\n\n /**\n * Optional only when identifier is provided.\n * Please refer to {@link FileSystemSASPermissions}, {@link DirectorySASPermissions} or {@link DataLakeSASPermissions} depending on the resource\n * being accessed for help constructing the permissions string.\n */\n permissions?: DataLakeSASPermissions | DirectorySASPermissions | FileSystemSASPermissions;\n\n /**\n * Optional. IP ranges allowed in this SAS.\n */\n ipRange?: SasIPRange;\n\n /**\n * The name of the file system the SAS user may access.\n */\n fileSystemName: string;\n\n /**\n * Optional. The path name of the directory or file SAS user may access. Required if snapshotTime is provided.\n */\n pathName?: string;\n\n /**\n * Optional. Beginning in version 2020-02-10, this value defines whether or not the {@link pathName} is a directory.\n * If this value is set to true, the Path is a Directory for a Directory SAS. If set to false or default, the Path\n * is a File Path for a File Path SAS.\n */\n isDirectory?: boolean;\n\n /**\n * Optional. Beginning in version 2020-02-10, indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.\n * The depth of the directory is the number of directories beneath the root folder.\n */\n directoryDepth?: number;\n\n /**\n * Optional. Beginning in version 2020-02-10, specifies the Authorized AAD Object Id in GUID format. The AAD Object ID of a user\n * authorized by the owner of the user delegation key to perform the action granted by the SAS. The Azure Storage service will\n * ensure that the owner of the user delegation key has the required permissions before granting access but no additional permission\n * check for the user specified in this value will be performed. This cannot be used in conjuction with {@link agentObjectId}.\n * This is only used for User Delegation SAS.\n */\n preauthorizedAgentObjectId?: string;\n\n /**\n * Optional. Beginning in version 2020-02-10, specifies the Unauthorized AAD Object Id in GUID format. The AAD Object Id of a user that is assumed\n * to be unauthorized by the owner of the user delegation key. The Azure Storage Service will perform an additional POSIX ACL check to determine\n * if the user is authorized to perform the requested operation. This cannot be used in conjuction with {@link preauthorizedAgentObjectId}.\n * This is only used for User Delegation SAS.\n */\n agentObjectId?: string;\n\n /**\n * Optional. Beginning in version 2020-02-10, this is a GUID value that will be logged in the storage diagnostic logs and can be used to\n * correlate SAS generation with storage resource access. This is only used for User Delegation SAS.\n */\n correlationId?: string;\n\n /**\n * Optional. Snapshot timestamp string the SAS user may access. Only supported from API version 2018-11-09.\n */\n snapshotTime?: string;\n\n /**\n * Optional. The name of the access policy on the file system this SAS references if any.\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy\n */\n identifier?: string;\n\n /**\n * Optional. Encryption scope to use when sending requests authorized with this SAS URI.\n */\n encryptionScope?: string;\n\n /**\n * Optional. The cache-control header for the SAS.\n */\n cacheControl?: string;\n\n /**\n * Optional. The content-disposition header for the SAS.\n */\n contentDisposition?: string;\n\n /**\n * Optional. The content-encoding header for the SAS.\n */\n contentEncoding?: string;\n\n /**\n * Optional. The content-language header for the SAS.\n */\n contentLanguage?: string;\n\n /**\n * Optional. The content-type header for the SAS.\n */\n contentType?: string;\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * Fill in the required details before running the following snippets.\n * @example\n * ```ts snippet:ignore\n * // Generate service level SAS for a file system\n * const containerSAS = generateDataLakeSASQueryParameters({\n * fileSystemName, // Required\n * permissions: ContainerSASPermissions.parse(\"racwdl\"), // Required\n * startsOn: new Date(), // Optional\n * expiresOn: new Date(new Date().valueOf() + 86400), // Required. Date type\n * ipRange: { start: \"0.0.0.0\", end: \"255.255.255.255\" }, // Optional\n * protocol: SASProtocol.HttpsAndHttp, // Optional\n * version: \"2016-05-31\" // Optional\n * },\n * sharedKeyCredential // StorageSharedKeyCredential - `new StorageSharedKeyCredential(account, accountKey)`\n * ).toString();\n * ```\n *\n * // Fill in the required details before running the snippet.\n * @example\n * ```ts snippet:ignore\n * // Generate service level SAS for a file\n * const fileSAS = generateDataLakeSASQueryParameters({\n * fileSystemName, // Required\n * fileName, // Required\n * permissions: DataLakeSASPermissions.parse(\"racwd\"), // Required\n * startsOn: new Date(), // Optional\n * expiresOn: new Date(new Date().valueOf() + 86400), // Required. Date type\n * cacheControl: \"cache-control-override\", // Optional\n * contentDisposition: \"content-disposition-override\", // Optional\n * contentEncoding: \"content-encoding-override\", // Optional\n * contentLanguage: \"content-language-override\", // Optional\n * contentType: \"content-type-override\", // Optional\n * ipRange: { start: \"0.0.0.0\", end: \"255.255.255.255\" }, // Optional\n * protocol: SASProtocol.HttpsAndHttp, // Optional\n * version: \"2016-05-31\" // Optional\n * },\n * sharedKeyCredential // StorageSharedKeyCredential - `new StorageSharedKeyCredential(account, accountKey)`\n * ).toString();\n * ```\n *\n * @param dataLakeSASSignatureValues -\n * @param sharedKeyCredential -\n */\nexport function generateDataLakeSASQueryParameters(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): SASQueryParameters;\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * Creates an instance of SASQueryParameters.\n * WARNING: identifier will be ignored when generating user delegation SAS, permissions and expiresOn are required.\n *\n * @example\n * ```ts snippet:ignore\n * // Generate user delegation SAS for a file system\n * const userDelegationKey = await dataLakeServiceClient.getUserDelegationKey(startsOn, expiresOn);\n * const fileSystemSAS = generateDataLakeSASQueryParameters({\n * fileSystemName, // Required\n * permissions: FileSystemSASPermissions.parse(\"racwdl\"), // Required\n * startsOn, // Optional. Date type\n * expiresOn, // Required. Date type\n * ipRange: { start: \"0.0.0.0\", end: \"255.255.255.255\" }, // Optional\n * protocol: SASProtocol.HttpsAndHttp, // Optional\n * version: \"2018-11-09\" // Must greater than or equal to 2018-11-09 to generate user delegation SAS\n * },\n * userDelegationKey, // UserDelegationKey\n * accountName\n * ).toString();\n * ```\n *\n * @param dataLakeSASSignatureValues -\n * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()`\n * @param accountName -\n */\nexport function generateDataLakeSASQueryParameters(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n userDelegationKey: UserDelegationKey,\n accountName: string,\n): SASQueryParameters;\n\nexport function generateDataLakeSASQueryParameters(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredentialOrUserDelegationKey: StorageSharedKeyCredential | UserDelegationKey,\n accountName?: string,\n): SASQueryParameters {\n return generateDataLakeSASQueryParametersInternal(\n dataLakeSASSignatureValues,\n sharedKeyCredentialOrUserDelegationKey,\n accountName,\n ).sasQueryParameter;\n}\n\nexport function generateDataLakeSASQueryParametersInternal(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredentialOrUserDelegationKey: StorageSharedKeyCredential | UserDelegationKey,\n accountName?: string,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n\n const sharedKeyCredential =\n sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential\n ? sharedKeyCredentialOrUserDelegationKey\n : undefined;\n let userDelegationKeyCredential: UserDelegationKeyCredential | undefined;\n\n if (sharedKeyCredential === undefined && accountName !== undefined) {\n userDelegationKeyCredential = new UserDelegationKeyCredential(\n accountName,\n sharedKeyCredentialOrUserDelegationKey as UserDelegationKey,\n );\n }\n\n if (sharedKeyCredential === undefined && userDelegationKeyCredential === undefined) {\n throw TypeError(\"Invalid sharedKeyCredential, userDelegationKey or accountName.\");\n }\n\n // Version 2020-12-06 adds support for encryptionscope in SAS.\n if (version >= \"2020-12-06\") {\n if (sharedKeyCredential !== undefined) {\n return generateBlobSASQueryParameters20201206(\n dataLakeSASSignatureValues,\n sharedKeyCredential,\n );\n } else {\n if (version >= \"2025-07-05\") {\n return generateBlobSASQueryParametersUDK20250705(\n dataLakeSASSignatureValues,\n userDelegationKeyCredential!,\n );\n } else {\n return generateBlobSASQueryParametersUDK20201206(\n dataLakeSASSignatureValues,\n userDelegationKeyCredential!,\n );\n }\n }\n }\n\n // Version 2018-11-09 adds support for the signed resource and signed blob snapshot time fields.\n // https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas#constructing-the-signature-string\n if (version >= \"2018-11-09\") {\n if (sharedKeyCredential !== undefined) {\n return generateBlobSASQueryParameters20181109(\n dataLakeSASSignatureValues,\n sharedKeyCredential,\n );\n } else {\n // Version 2020-02-10 delegation SAS signature construction includes preauthorizedAgentObjectId, agentObjectId, correlationId.\n if (version >= \"2020-02-10\") {\n return generateBlobSASQueryParametersUDK20200210(\n dataLakeSASSignatureValues,\n userDelegationKeyCredential!,\n );\n } else {\n return generateBlobSASQueryParametersUDK20181109(\n dataLakeSASSignatureValues,\n userDelegationKeyCredential!,\n );\n }\n }\n }\n\n if (version >= \"2015-04-05\") {\n if (sharedKeyCredential !== undefined) {\n return generateBlobSASQueryParameters20150405(\n dataLakeSASSignatureValues,\n sharedKeyCredential,\n );\n } else {\n throw new RangeError(\n \"'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.\",\n );\n }\n }\n\n throw new RangeError(\"'version' must be >= '2015-04-05'.\");\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2015-04-05 AND BEFORE 2018-11-09.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * @param dataLakeSASSignatureValues -\n * @param sharedKeyCredential -\n */\nfunction generateBlobSASQueryParameters20150405(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (\n !dataLakeSASSignatureValues.identifier &&\n !(dataLakeSASSignatureValues.permissions && dataLakeSASSignatureValues.expiresOn)\n ) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for DataLake SAS generation when 'identifier' is not provided.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n resource = \"b\";\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n sharedKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n dataLakeSASSignatureValues.identifier,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n dataLakeSASSignatureValues.cacheControl ? dataLakeSASSignatureValues.cacheControl : \"\",\n dataLakeSASSignatureValues.contentDisposition\n ? dataLakeSASSignatureValues.contentDisposition\n : \"\",\n dataLakeSASSignatureValues.contentEncoding ? dataLakeSASSignatureValues.contentEncoding : \"\",\n dataLakeSASSignatureValues.contentLanguage ? dataLakeSASSignatureValues.contentLanguage : \"\",\n dataLakeSASSignatureValues.contentType ? dataLakeSASSignatureValues.contentType : \"\",\n ].join(\"\\n\");\n\n const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2018-11-09.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * @param dataLakeSASSignatureValues -\n * @param sharedKeyCredential -\n */\nfunction generateBlobSASQueryParameters20181109(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (\n !dataLakeSASSignatureValues.identifier &&\n !(dataLakeSASSignatureValues.permissions && dataLakeSASSignatureValues.expiresOn)\n ) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n sharedKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n dataLakeSASSignatureValues.identifier,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.cacheControl ? dataLakeSASSignatureValues.cacheControl : \"\",\n dataLakeSASSignatureValues.contentDisposition\n ? dataLakeSASSignatureValues.contentDisposition\n : \"\",\n dataLakeSASSignatureValues.contentEncoding ? dataLakeSASSignatureValues.contentEncoding : \"\",\n dataLakeSASSignatureValues.contentLanguage ? dataLakeSASSignatureValues.contentLanguage : \"\",\n dataLakeSASSignatureValues.contentType ? dataLakeSASSignatureValues.contentType : \"\",\n ].join(\"\\n\");\n\n const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n undefined,\n dataLakeSASSignatureValues.directoryDepth,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2018-11-09.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param dataLakeSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20181109(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (!dataLakeSASSignatureValues.permissions || !dataLakeSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n dataLakeSASSignatureValues.directoryDepth,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2020-02-10.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param dataLakeSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20200210(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (!dataLakeSASSignatureValues.permissions || !dataLakeSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n dataLakeSASSignatureValues.directoryDepth,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2020-12-06.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * @param dataLakeSASSignatureValues -\n * @param sharedKeyCredential -\n */\nfunction generateBlobSASQueryParameters20201206(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (\n !dataLakeSASSignatureValues.identifier &&\n !(dataLakeSASSignatureValues.permissions && dataLakeSASSignatureValues.expiresOn)\n ) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n sharedKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n dataLakeSASSignatureValues.identifier,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.encryptionScope ? dataLakeSASSignatureValues.encryptionScope : \"\",\n dataLakeSASSignatureValues.cacheControl ? dataLakeSASSignatureValues.cacheControl : \"\",\n dataLakeSASSignatureValues.contentDisposition\n ? dataLakeSASSignatureValues.contentDisposition\n : \"\",\n dataLakeSASSignatureValues.contentEncoding ? dataLakeSASSignatureValues.contentEncoding : \"\",\n dataLakeSASSignatureValues.contentLanguage ? dataLakeSASSignatureValues.contentLanguage : \"\",\n dataLakeSASSignatureValues.contentType ? dataLakeSASSignatureValues.contentType : \"\",\n ].join(\"\\n\");\n\n const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n undefined,\n dataLakeSASSignatureValues.directoryDepth,\n undefined,\n undefined,\n undefined,\n dataLakeSASSignatureValues.encryptionScope,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2020-12-06.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param dataLakeSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20201206(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (!dataLakeSASSignatureValues.permissions || !dataLakeSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.encryptionScope,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n dataLakeSASSignatureValues.directoryDepth,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n dataLakeSASSignatureValues.encryptionScope,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2025-07-05.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param dataLakeSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20250705(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (!dataLakeSASSignatureValues.permissions || !dataLakeSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n undefined, // SignedKeyDelegatedUserTenantId, will be added in a future release.\n undefined, // SignedDelegatedUserObjectId, will be added in future release.\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.encryptionScope,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n dataLakeSASSignatureValues.directoryDepth,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n dataLakeSASSignatureValues.encryptionScope,\n ),\n stringToSign: stringToSign,\n };\n}\n\nfunction getCanonicalName(accountName: string, containerName: string, blobName?: string): string {\n // FileSystem: \"/blob/account/fileSystemName\"\n // File: \"/blob/account/fileSystemName/fileName\"\n const elements: string[] = [`/blob/${accountName}/${containerName}`];\n if (blobName) {\n elements.push(`/${blobName}`);\n }\n return elements.join(\"\");\n}\n\nfunction SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n version: string,\n): DataLakeSASSignatureValues {\n if (\n version < \"2020-02-10\" &&\n (dataLakeSASSignatureValues.isDirectory || dataLakeSASSignatureValues.directoryDepth)\n ) {\n throw RangeError(\"'version' must be >= '2020-02-10' to support directory SAS.\");\n }\n if (dataLakeSASSignatureValues.isDirectory && dataLakeSASSignatureValues.pathName === undefined) {\n throw RangeError(\"Must provide 'pathName' when 'isDirectory' is true.\");\n }\n if (\n dataLakeSASSignatureValues.directoryDepth !== undefined &&\n (!Number.isInteger(dataLakeSASSignatureValues.directoryDepth) ||\n dataLakeSASSignatureValues.directoryDepth < 0)\n ) {\n throw RangeError(\"'directoryDepth' must be a non-negative interger.\");\n }\n if (\n dataLakeSASSignatureValues.isDirectory &&\n dataLakeSASSignatureValues.directoryDepth === undefined\n ) {\n // calculate directoryDepth from pathName\n if (dataLakeSASSignatureValues.pathName === \"/\") {\n dataLakeSASSignatureValues.directoryDepth = 0;\n } else {\n dataLakeSASSignatureValues.directoryDepth = dataLakeSASSignatureValues.pathName\n ?.split(\"/\")\n .filter((x) => x !== \"\").length;\n }\n }\n\n if (\n version < \"2020-02-10\" &&\n dataLakeSASSignatureValues.permissions &&\n (dataLakeSASSignatureValues.permissions.move ||\n dataLakeSASSignatureValues.permissions.execute ||\n dataLakeSASSignatureValues.permissions.manageOwnership ||\n dataLakeSASSignatureValues.permissions.manageAccessControl)\n ) {\n throw RangeError(\"'version' must be >= '2020-02-10' when providing m, e, o or p permission.\");\n }\n\n if (\n version < \"2020-02-10\" &&\n (dataLakeSASSignatureValues.preauthorizedAgentObjectId ||\n dataLakeSASSignatureValues.agentObjectId ||\n dataLakeSASSignatureValues.correlationId)\n ) {\n throw RangeError(\n \"'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId', 'agentObjectId' or 'correlationId'.\",\n );\n }\n if (\n dataLakeSASSignatureValues.preauthorizedAgentObjectId &&\n dataLakeSASSignatureValues.agentObjectId\n ) {\n throw RangeError(\n \"'preauthorizedAgentObjectId' or 'agentObjectId' shouldn't be specified at the same time.\",\n );\n }\n\n if (dataLakeSASSignatureValues.snapshotTime && version < \"2018-11-09\") {\n throw RangeError(\"'version' must be >= '2018-11-09' when provided 'snapshotTime'.\");\n }\n if (\n dataLakeSASSignatureValues.pathName === undefined &&\n dataLakeSASSignatureValues.snapshotTime\n ) {\n throw RangeError(\"Must provide 'blobName' when provided 'snapshotTime'.\");\n }\n\n return dataLakeSASSignatureValues;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DataLakeSASSignatureValues.js","sourceRoot":"","sources":["../../../src/sas/DataLakeSASSignatureValues.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { StorageSharedKeyCredential } from \"../credentials/StorageSharedKeyCredential.js\";\nimport { DataLakeSASPermissions } from \"./DataLakeSASPermissions.js\";\nimport { FileSystemSASPermissions } from \"./FileSystemSASPermissions.js\";\nimport type { SasIPRange } from \"./SasIPRange.js\";\nimport { ipRangeToString } from \"./SasIPRange.js\";\nimport type { SASProtocol } from \"./SASQueryParameters.js\";\nimport { SASQueryParameters } from \"./SASQueryParameters.js\";\nimport { SERVICE_VERSION } from \"../utils/constants.js\";\nimport { truncatedISO8061Date } from \"../utils/utils.common.js\";\nimport { DirectorySASPermissions } from \"./DirectorySASPermissions.js\";\nimport { UserDelegationKey, UserDelegationKeyCredential } from \"@azure/storage-common\";\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * DataLakeSASSignatureValues is used to help generating Blob and DataLake service SAS tokens for containers, blobs, filesystem, directories and files.\n */\nexport interface DataLakeSASSignatureValues {\n /**\n * The version of the service this SAS will target. If not specified, it will default to the version targeted by the\n * library.\n */\n version?: string;\n\n /**\n * Optional. SAS protocols, HTTPS only or HTTPSandHTTP\n */\n protocol?: SASProtocol;\n\n /**\n * Optional. When the SAS will take effect.\n */\n startsOn?: Date;\n\n /**\n * Optional only when identifier is provided. The time after which the SAS will no longer work.\n */\n expiresOn?: Date;\n\n /**\n * Optional only when identifier is provided.\n * Please refer to {@link FileSystemSASPermissions}, {@link DirectorySASPermissions} or {@link DataLakeSASPermissions} depending on the resource\n * being accessed for help constructing the permissions string.\n */\n permissions?: DataLakeSASPermissions | DirectorySASPermissions | FileSystemSASPermissions;\n\n /**\n * Optional. IP ranges allowed in this SAS.\n */\n ipRange?: SasIPRange;\n\n /**\n * The name of the file system the SAS user may access.\n */\n fileSystemName: string;\n\n /**\n * Optional. The path name of the directory or file SAS user may access. Required if snapshotTime is provided.\n */\n pathName?: string;\n\n /**\n * Optional. Beginning in version 2020-02-10, this value defines whether or not the {@link pathName} is a directory.\n * If this value is set to true, the Path is a Directory for a Directory SAS. If set to false or default, the Path\n * is a File Path for a File Path SAS.\n */\n isDirectory?: boolean;\n\n /**\n * Optional. Beginning in version 2020-02-10, indicate the depth of the directory specified in the canonicalizedresource field of the string-to-sign.\n * The depth of the directory is the number of directories beneath the root folder.\n */\n directoryDepth?: number;\n\n /**\n * Optional. Beginning in version 2020-02-10, specifies the Authorized AAD Object Id in GUID format. The AAD Object ID of a user\n * authorized by the owner of the user delegation key to perform the action granted by the SAS. The Azure Storage service will\n * ensure that the owner of the user delegation key has the required permissions before granting access but no additional permission\n * check for the user specified in this value will be performed. This cannot be used in conjuction with {@link agentObjectId}.\n * This is only used for User Delegation SAS.\n */\n preauthorizedAgentObjectId?: string;\n\n /**\n * Optional. Beginning in version 2020-02-10, specifies the Unauthorized AAD Object Id in GUID format. The AAD Object Id of a user that is assumed\n * to be unauthorized by the owner of the user delegation key. The Azure Storage Service will perform an additional POSIX ACL check to determine\n * if the user is authorized to perform the requested operation. This cannot be used in conjuction with {@link preauthorizedAgentObjectId}.\n * This is only used for User Delegation SAS.\n */\n agentObjectId?: string;\n\n /**\n * Optional. Beginning in version 2020-02-10, this is a GUID value that will be logged in the storage diagnostic logs and can be used to\n * correlate SAS generation with storage resource access. This is only used for User Delegation SAS.\n */\n correlationId?: string;\n\n /**\n * Optional. Snapshot timestamp string the SAS user may access. Only supported from API version 2018-11-09.\n */\n snapshotTime?: string;\n\n /**\n * Optional. The name of the access policy on the file system this SAS references if any.\n *\n * @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy\n */\n identifier?: string;\n\n /**\n * Optional. Beginning in version 2025-07-05, this value specifies the Entra ID of the user would is authorized to\n * use the resulting SAS URL. The resulting SAS URL must be used in conjunction with an Entra ID token that has been\n * issued to the user specified in this value.\n */\n delegatedUserObjectId?: string;\n\n /**\n * Optional. Encryption scope to use when sending requests authorized with this SAS URI.\n */\n encryptionScope?: string;\n\n /**\n * Optional. The cache-control header for the SAS.\n */\n cacheControl?: string;\n\n /**\n * Optional. The content-disposition header for the SAS.\n */\n contentDisposition?: string;\n\n /**\n * Optional. The content-encoding header for the SAS.\n */\n contentEncoding?: string;\n\n /**\n * Optional. The content-language header for the SAS.\n */\n contentLanguage?: string;\n\n /**\n * Optional. The content-type header for the SAS.\n */\n contentType?: string;\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * Fill in the required details before running the following snippets.\n * @example\n * ```ts snippet:ignore\n * // Generate service level SAS for a file system\n * const containerSAS = generateDataLakeSASQueryParameters({\n * fileSystemName, // Required\n * permissions: ContainerSASPermissions.parse(\"racwdl\"), // Required\n * startsOn: new Date(), // Optional\n * expiresOn: new Date(new Date().valueOf() + 86400), // Required. Date type\n * ipRange: { start: \"0.0.0.0\", end: \"255.255.255.255\" }, // Optional\n * protocol: SASProtocol.HttpsAndHttp, // Optional\n * version: \"2016-05-31\" // Optional\n * },\n * sharedKeyCredential // StorageSharedKeyCredential - `new StorageSharedKeyCredential(account, accountKey)`\n * ).toString();\n * ```\n *\n * // Fill in the required details before running the snippet.\n * @example\n * ```ts snippet:ignore\n * // Generate service level SAS for a file\n * const fileSAS = generateDataLakeSASQueryParameters({\n * fileSystemName, // Required\n * fileName, // Required\n * permissions: DataLakeSASPermissions.parse(\"racwd\"), // Required\n * startsOn: new Date(), // Optional\n * expiresOn: new Date(new Date().valueOf() + 86400), // Required. Date type\n * cacheControl: \"cache-control-override\", // Optional\n * contentDisposition: \"content-disposition-override\", // Optional\n * contentEncoding: \"content-encoding-override\", // Optional\n * contentLanguage: \"content-language-override\", // Optional\n * contentType: \"content-type-override\", // Optional\n * ipRange: { start: \"0.0.0.0\", end: \"255.255.255.255\" }, // Optional\n * protocol: SASProtocol.HttpsAndHttp, // Optional\n * version: \"2016-05-31\" // Optional\n * },\n * sharedKeyCredential // StorageSharedKeyCredential - `new StorageSharedKeyCredential(account, accountKey)`\n * ).toString();\n * ```\n *\n * @param dataLakeSASSignatureValues -\n * @param sharedKeyCredential -\n */\nexport function generateDataLakeSASQueryParameters(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): SASQueryParameters;\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n *\n * Creates an instance of SASQueryParameters.\n * WARNING: identifier will be ignored when generating user delegation SAS, permissions and expiresOn are required.\n *\n * @example\n * ```ts snippet:ignore\n * // Generate user delegation SAS for a file system\n * const userDelegationKey = await dataLakeServiceClient.getUserDelegationKey(startsOn, expiresOn);\n * const fileSystemSAS = generateDataLakeSASQueryParameters({\n * fileSystemName, // Required\n * permissions: FileSystemSASPermissions.parse(\"racwdl\"), // Required\n * startsOn, // Optional. Date type\n * expiresOn, // Required. Date type\n * ipRange: { start: \"0.0.0.0\", end: \"255.255.255.255\" }, // Optional\n * protocol: SASProtocol.HttpsAndHttp, // Optional\n * version: \"2018-11-09\" // Must greater than or equal to 2018-11-09 to generate user delegation SAS\n * },\n * userDelegationKey, // UserDelegationKey\n * accountName\n * ).toString();\n * ```\n *\n * @param dataLakeSASSignatureValues -\n * @param userDelegationKey - Return value of `blobServiceClient.getUserDelegationKey()`\n * @param accountName -\n */\nexport function generateDataLakeSASQueryParameters(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n userDelegationKey: UserDelegationKey,\n accountName: string,\n): SASQueryParameters;\n\nexport function generateDataLakeSASQueryParameters(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredentialOrUserDelegationKey: StorageSharedKeyCredential | UserDelegationKey,\n accountName?: string,\n): SASQueryParameters {\n return generateDataLakeSASQueryParametersInternal(\n dataLakeSASSignatureValues,\n sharedKeyCredentialOrUserDelegationKey,\n accountName,\n ).sasQueryParameter;\n}\n\nexport function generateDataLakeSASQueryParametersInternal(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredentialOrUserDelegationKey: StorageSharedKeyCredential | UserDelegationKey,\n accountName?: string,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n\n const sharedKeyCredential =\n sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential\n ? sharedKeyCredentialOrUserDelegationKey\n : undefined;\n let userDelegationKeyCredential: UserDelegationKeyCredential | undefined;\n\n if (sharedKeyCredential === undefined && accountName !== undefined) {\n userDelegationKeyCredential = new UserDelegationKeyCredential(\n accountName,\n sharedKeyCredentialOrUserDelegationKey as UserDelegationKey,\n );\n }\n\n if (sharedKeyCredential === undefined && userDelegationKeyCredential === undefined) {\n throw TypeError(\"Invalid sharedKeyCredential, userDelegationKey or accountName.\");\n }\n\n // Version 2020-12-06 adds support for encryptionscope in SAS.\n if (version >= \"2020-12-06\") {\n if (sharedKeyCredential !== undefined) {\n return generateBlobSASQueryParameters20201206(\n dataLakeSASSignatureValues,\n sharedKeyCredential,\n );\n } else {\n if (version >= \"2025-07-05\") {\n return generateBlobSASQueryParametersUDK20250705(\n dataLakeSASSignatureValues,\n userDelegationKeyCredential!,\n );\n } else {\n return generateBlobSASQueryParametersUDK20201206(\n dataLakeSASSignatureValues,\n userDelegationKeyCredential!,\n );\n }\n }\n }\n\n // Version 2018-11-09 adds support for the signed resource and signed blob snapshot time fields.\n // https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas#constructing-the-signature-string\n if (version >= \"2018-11-09\") {\n if (sharedKeyCredential !== undefined) {\n return generateBlobSASQueryParameters20181109(\n dataLakeSASSignatureValues,\n sharedKeyCredential,\n );\n } else {\n // Version 2020-02-10 delegation SAS signature construction includes preauthorizedAgentObjectId, agentObjectId, correlationId.\n if (version >= \"2020-02-10\") {\n return generateBlobSASQueryParametersUDK20200210(\n dataLakeSASSignatureValues,\n userDelegationKeyCredential!,\n );\n } else {\n return generateBlobSASQueryParametersUDK20181109(\n dataLakeSASSignatureValues,\n userDelegationKeyCredential!,\n );\n }\n }\n }\n\n if (version >= \"2015-04-05\") {\n if (sharedKeyCredential !== undefined) {\n return generateBlobSASQueryParameters20150405(\n dataLakeSASSignatureValues,\n sharedKeyCredential,\n );\n } else {\n throw new RangeError(\n \"'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.\",\n );\n }\n }\n\n throw new RangeError(\"'version' must be >= '2015-04-05'.\");\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2015-04-05 AND BEFORE 2018-11-09.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * @param dataLakeSASSignatureValues -\n * @param sharedKeyCredential -\n */\nfunction generateBlobSASQueryParameters20150405(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (\n !dataLakeSASSignatureValues.identifier &&\n !(dataLakeSASSignatureValues.permissions && dataLakeSASSignatureValues.expiresOn)\n ) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for DataLake SAS generation when 'identifier' is not provided.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n resource = \"b\";\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n sharedKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n dataLakeSASSignatureValues.identifier,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n dataLakeSASSignatureValues.cacheControl ? dataLakeSASSignatureValues.cacheControl : \"\",\n dataLakeSASSignatureValues.contentDisposition\n ? dataLakeSASSignatureValues.contentDisposition\n : \"\",\n dataLakeSASSignatureValues.contentEncoding ? dataLakeSASSignatureValues.contentEncoding : \"\",\n dataLakeSASSignatureValues.contentLanguage ? dataLakeSASSignatureValues.contentLanguage : \"\",\n dataLakeSASSignatureValues.contentType ? dataLakeSASSignatureValues.contentType : \"\",\n ].join(\"\\n\");\n\n const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2018-11-09.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * @param dataLakeSASSignatureValues -\n * @param sharedKeyCredential -\n */\nfunction generateBlobSASQueryParameters20181109(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (\n !dataLakeSASSignatureValues.identifier &&\n !(dataLakeSASSignatureValues.permissions && dataLakeSASSignatureValues.expiresOn)\n ) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n sharedKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n dataLakeSASSignatureValues.identifier,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.cacheControl ? dataLakeSASSignatureValues.cacheControl : \"\",\n dataLakeSASSignatureValues.contentDisposition\n ? dataLakeSASSignatureValues.contentDisposition\n : \"\",\n dataLakeSASSignatureValues.contentEncoding ? dataLakeSASSignatureValues.contentEncoding : \"\",\n dataLakeSASSignatureValues.contentLanguage ? dataLakeSASSignatureValues.contentLanguage : \"\",\n dataLakeSASSignatureValues.contentType ? dataLakeSASSignatureValues.contentType : \"\",\n ].join(\"\\n\");\n\n const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n undefined,\n dataLakeSASSignatureValues.directoryDepth,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2018-11-09.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param dataLakeSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20181109(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (!dataLakeSASSignatureValues.permissions || !dataLakeSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n dataLakeSASSignatureValues.directoryDepth,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2020-02-10.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param dataLakeSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20200210(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (!dataLakeSASSignatureValues.permissions || !dataLakeSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n dataLakeSASSignatureValues.directoryDepth,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2020-12-06.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn and identifier.\n *\n * WARNING: When identifier is not provided, permissions and expiresOn are required.\n * You MUST assign value to identifier or expiresOn & permissions manually if you initial with\n * this constructor.\n *\n * @param dataLakeSASSignatureValues -\n * @param sharedKeyCredential -\n */\nfunction generateBlobSASQueryParameters20201206(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n sharedKeyCredential: StorageSharedKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (\n !dataLakeSASSignatureValues.identifier &&\n !(dataLakeSASSignatureValues.permissions && dataLakeSASSignatureValues.expiresOn)\n ) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n sharedKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n dataLakeSASSignatureValues.identifier,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.encryptionScope ? dataLakeSASSignatureValues.encryptionScope : \"\",\n dataLakeSASSignatureValues.cacheControl ? dataLakeSASSignatureValues.cacheControl : \"\",\n dataLakeSASSignatureValues.contentDisposition\n ? dataLakeSASSignatureValues.contentDisposition\n : \"\",\n dataLakeSASSignatureValues.contentEncoding ? dataLakeSASSignatureValues.contentEncoding : \"\",\n dataLakeSASSignatureValues.contentLanguage ? dataLakeSASSignatureValues.contentLanguage : \"\",\n dataLakeSASSignatureValues.contentType ? dataLakeSASSignatureValues.contentType : \"\",\n ].join(\"\\n\");\n\n const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n undefined,\n dataLakeSASSignatureValues.directoryDepth,\n undefined,\n undefined,\n undefined,\n dataLakeSASSignatureValues.encryptionScope,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2020-12-06.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param dataLakeSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20201206(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (!dataLakeSASSignatureValues.permissions || !dataLakeSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.encryptionScope,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n dataLakeSASSignatureValues.directoryDepth,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n dataLakeSASSignatureValues.encryptionScope,\n ),\n stringToSign: stringToSign,\n };\n}\n\n/**\n * ONLY AVAILABLE IN NODE.JS RUNTIME.\n * IMPLEMENTATION FOR API VERSION FROM 2025-07-05.\n *\n * Creates an instance of SASQueryParameters.\n *\n * Only accepts required settings needed to create a SAS. For optional settings please\n * set corresponding properties directly, such as permissions, startsOn.\n *\n * WARNING: identifier will be ignored, permissions and expiresOn are required.\n *\n * @param dataLakeSASSignatureValues -\n * @param userDelegationKeyCredential -\n */\nfunction generateBlobSASQueryParametersUDK20250705(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n userDelegationKeyCredential: UserDelegationKeyCredential,\n): { sasQueryParameter: SASQueryParameters; stringToSign: string } {\n if (!dataLakeSASSignatureValues.permissions || !dataLakeSASSignatureValues.expiresOn) {\n throw new RangeError(\n \"Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.\",\n );\n }\n\n const version = dataLakeSASSignatureValues.version\n ? dataLakeSASSignatureValues.version\n : SERVICE_VERSION;\n dataLakeSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues,\n version,\n );\n\n let resource: string = \"c\";\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n resource = \"d\";\n } else {\n resource = \"b\";\n if (dataLakeSASSignatureValues.snapshotTime) {\n resource = \"bs\";\n }\n }\n }\n\n // Calling parse and toString guarantees the proper ordering and throws on invalid characters.\n let verifiedPermissions: string | undefined;\n if (dataLakeSASSignatureValues.permissions) {\n if (dataLakeSASSignatureValues.pathName) {\n if (dataLakeSASSignatureValues.isDirectory) {\n verifiedPermissions = DirectorySASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n } else {\n verifiedPermissions = DataLakeSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n } else {\n verifiedPermissions = FileSystemSASPermissions.parse(\n dataLakeSASSignatureValues.permissions.toString(),\n ).toString();\n }\n }\n\n // Signature is generated on the un-url-encoded values.\n const stringToSign = [\n verifiedPermissions ? verifiedPermissions : \"\",\n dataLakeSASSignatureValues.startsOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.startsOn, false)\n : \"\",\n dataLakeSASSignatureValues.expiresOn\n ? truncatedISO8061Date(dataLakeSASSignatureValues.expiresOn, false)\n : \"\",\n getCanonicalName(\n userDelegationKeyCredential.accountName,\n dataLakeSASSignatureValues.fileSystemName,\n dataLakeSASSignatureValues.pathName,\n ),\n userDelegationKeyCredential.userDelegationKey.signedObjectId,\n userDelegationKeyCredential.userDelegationKey.signedTenantId,\n userDelegationKeyCredential.userDelegationKey.signedStartsOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedExpiresOn\n ? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)\n : \"\",\n userDelegationKeyCredential.userDelegationKey.signedService,\n userDelegationKeyCredential.userDelegationKey.signedVersion,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n undefined, // SignedKeyDelegatedUserTenantId, will be added in a future release.\n dataLakeSASSignatureValues.delegatedUserObjectId, // SignedDelegatedUserObjectId, will be added in future release.\n dataLakeSASSignatureValues.ipRange ? ipRangeToString(dataLakeSASSignatureValues.ipRange) : \"\",\n dataLakeSASSignatureValues.protocol ? dataLakeSASSignatureValues.protocol : \"\",\n version,\n resource,\n dataLakeSASSignatureValues.snapshotTime,\n dataLakeSASSignatureValues.encryptionScope,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n ].join(\"\\n\");\n\n const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);\n\n return {\n sasQueryParameter: new SASQueryParameters(\n version,\n signature,\n verifiedPermissions,\n undefined,\n undefined,\n dataLakeSASSignatureValues.protocol,\n dataLakeSASSignatureValues.startsOn,\n dataLakeSASSignatureValues.expiresOn,\n dataLakeSASSignatureValues.ipRange,\n dataLakeSASSignatureValues.identifier,\n resource,\n dataLakeSASSignatureValues.cacheControl,\n dataLakeSASSignatureValues.contentDisposition,\n dataLakeSASSignatureValues.contentEncoding,\n dataLakeSASSignatureValues.contentLanguage,\n dataLakeSASSignatureValues.contentType,\n userDelegationKeyCredential.userDelegationKey,\n dataLakeSASSignatureValues.directoryDepth,\n dataLakeSASSignatureValues.preauthorizedAgentObjectId,\n dataLakeSASSignatureValues.agentObjectId,\n dataLakeSASSignatureValues.correlationId,\n dataLakeSASSignatureValues.encryptionScope,\n dataLakeSASSignatureValues.delegatedUserObjectId,\n ),\n stringToSign: stringToSign,\n };\n}\n\nfunction getCanonicalName(accountName: string, containerName: string, blobName?: string): string {\n // FileSystem: \"/blob/account/fileSystemName\"\n // File: \"/blob/account/fileSystemName/fileName\"\n const elements: string[] = [`/blob/${accountName}/${containerName}`];\n if (blobName) {\n elements.push(`/${blobName}`);\n }\n return elements.join(\"\");\n}\n\nfunction SASSignatureValuesSanityCheckAndAutofill(\n dataLakeSASSignatureValues: DataLakeSASSignatureValues,\n version: string,\n): DataLakeSASSignatureValues {\n if (\n version < \"2020-02-10\" &&\n (dataLakeSASSignatureValues.isDirectory || dataLakeSASSignatureValues.directoryDepth)\n ) {\n throw RangeError(\"'version' must be >= '2020-02-10' to support directory SAS.\");\n }\n if (dataLakeSASSignatureValues.isDirectory && dataLakeSASSignatureValues.pathName === undefined) {\n throw RangeError(\"Must provide 'pathName' when 'isDirectory' is true.\");\n }\n if (\n dataLakeSASSignatureValues.directoryDepth !== undefined &&\n (!Number.isInteger(dataLakeSASSignatureValues.directoryDepth) ||\n dataLakeSASSignatureValues.directoryDepth < 0)\n ) {\n throw RangeError(\"'directoryDepth' must be a non-negative interger.\");\n }\n if (\n dataLakeSASSignatureValues.isDirectory &&\n dataLakeSASSignatureValues.directoryDepth === undefined\n ) {\n // calculate directoryDepth from pathName\n if (dataLakeSASSignatureValues.pathName === \"/\") {\n dataLakeSASSignatureValues.directoryDepth = 0;\n } else {\n dataLakeSASSignatureValues.directoryDepth = dataLakeSASSignatureValues.pathName\n ?.split(\"/\")\n .filter((x) => x !== \"\").length;\n }\n }\n\n if (\n version < \"2020-02-10\" &&\n dataLakeSASSignatureValues.permissions &&\n (dataLakeSASSignatureValues.permissions.move ||\n dataLakeSASSignatureValues.permissions.execute ||\n dataLakeSASSignatureValues.permissions.manageOwnership ||\n dataLakeSASSignatureValues.permissions.manageAccessControl)\n ) {\n throw RangeError(\"'version' must be >= '2020-02-10' when providing m, e, o or p permission.\");\n }\n\n if (\n version < \"2020-02-10\" &&\n (dataLakeSASSignatureValues.preauthorizedAgentObjectId ||\n dataLakeSASSignatureValues.agentObjectId ||\n dataLakeSASSignatureValues.correlationId)\n ) {\n throw RangeError(\n \"'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId', 'agentObjectId' or 'correlationId'.\",\n );\n }\n if (\n dataLakeSASSignatureValues.preauthorizedAgentObjectId &&\n dataLakeSASSignatureValues.agentObjectId\n ) {\n throw RangeError(\n \"'preauthorizedAgentObjectId' or 'agentObjectId' shouldn't be specified at the same time.\",\n );\n }\n\n if (dataLakeSASSignatureValues.snapshotTime && version < \"2018-11-09\") {\n throw RangeError(\"'version' must be >= '2018-11-09' when provided 'snapshotTime'.\");\n }\n if (\n dataLakeSASSignatureValues.pathName === undefined &&\n dataLakeSASSignatureValues.snapshotTime\n ) {\n throw RangeError(\"Must provide 'blobName' when provided 'snapshotTime'.\");\n }\n\n return dataLakeSASSignatureValues;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { UserDelegationKey } from "../models.js";
|
|
2
1
|
import type { SasIPRange } from "./SasIPRange.js";
|
|
2
|
+
import { UserDelegationKey } from "@azure/storage-common";
|
|
3
3
|
/**
|
|
4
4
|
* Protocols for generated SAS.
|
|
5
5
|
*/
|
|
@@ -55,6 +55,12 @@ export interface SASQueryParametersOptions {
|
|
|
55
55
|
* @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
|
|
56
56
|
*/
|
|
57
57
|
identifier?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Optional. Beginning in version 2025-07-05, this value specifies the Entra ID of the user would is authorized to
|
|
60
|
+
* use the resulting SAS URL. The resulting SAS URL must be used in conjunction with an Entra ID token that has been
|
|
61
|
+
* issued to the user specified in this value.
|
|
62
|
+
*/
|
|
63
|
+
delegatedUserObjectId?: string;
|
|
58
64
|
/**
|
|
59
65
|
* Optional. Encryption scope to use when sending requests authorized with this SAS URI.
|
|
60
66
|
*/
|
|
@@ -161,6 +167,12 @@ export declare class SASQueryParameters {
|
|
|
161
167
|
* @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
|
|
162
168
|
*/
|
|
163
169
|
readonly identifier?: string;
|
|
170
|
+
/**
|
|
171
|
+
* Optional. Beginning in version 2025-07-05, this value specifies the Entra ID of the user would is authorized to
|
|
172
|
+
* use the resulting SAS URL. The resulting SAS URL must be used in conjunction with an Entra ID token that has been
|
|
173
|
+
* issued to the user specified in this value.
|
|
174
|
+
*/
|
|
175
|
+
readonly delegatedUserObjectId?: string;
|
|
164
176
|
/**
|
|
165
177
|
* Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
|
|
166
178
|
* @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
|
|
@@ -283,7 +295,7 @@ export declare class SASQueryParameters {
|
|
|
283
295
|
* @param agentObjectId - Representing the unauthorized AAD Object ID (only for User Delegation SAS)
|
|
284
296
|
* @param correlationId - Representing the correlation ID (only for User Delegation SAS)
|
|
285
297
|
*/
|
|
286
|
-
constructor(version: string, signature: string, permissions?: string, services?: string, resourceTypes?: string, protocol?: SASProtocol, startsOn?: Date, expiresOn?: Date, ipRange?: SasIPRange, identifier?: string, resource?: string, cacheControl?: string, contentDisposition?: string, contentEncoding?: string, contentLanguage?: string, contentType?: string, userDelegationKey?: UserDelegationKey, directoryDepth?: number, preauthorizedAgentObjectId?: string, agentObjectId?: string, correlationId?: string, encryptionScope?: string);
|
|
298
|
+
constructor(version: string, signature: string, permissions?: string, services?: string, resourceTypes?: string, protocol?: SASProtocol, startsOn?: Date, expiresOn?: Date, ipRange?: SasIPRange, identifier?: string, resource?: string, cacheControl?: string, contentDisposition?: string, contentEncoding?: string, contentLanguage?: string, contentType?: string, userDelegationKey?: UserDelegationKey, directoryDepth?: number, preauthorizedAgentObjectId?: string, agentObjectId?: string, correlationId?: string, encryptionScope?: string, delegatedUserObjectId?: string);
|
|
287
299
|
/**
|
|
288
300
|
* Creates an instance of SASQueryParameters.
|
|
289
301
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SASQueryParameters.d.ts","sourceRoot":"","sources":["../../../src/sas/SASQueryParameters.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SASQueryParameters.d.ts","sourceRoot":"","sources":["../../../src/sas/SASQueryParameters.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,12 @@ export class SASQueryParameters {
|
|
|
64
64
|
* @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
|
|
65
65
|
*/
|
|
66
66
|
identifier;
|
|
67
|
+
/**
|
|
68
|
+
* Optional. Beginning in version 2025-07-05, this value specifies the Entra ID of the user would is authorized to
|
|
69
|
+
* use the resulting SAS URL. The resulting SAS URL must be used in conjunction with an Entra ID token that has been
|
|
70
|
+
* issued to the user specified in this value.
|
|
71
|
+
*/
|
|
72
|
+
delegatedUserObjectId;
|
|
67
73
|
/**
|
|
68
74
|
* Optional. Specifies which resources are accessible via the SAS (only for {@link BlobSASSignatureValues}).
|
|
69
75
|
* @see https://learn.microsoft.com/rest/api/storageservices/create-service-sas#specifying-the-signed-resource-blob-service-only
|
|
@@ -170,7 +176,7 @@ export class SASQueryParameters {
|
|
|
170
176
|
}
|
|
171
177
|
return undefined;
|
|
172
178
|
}
|
|
173
|
-
constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, directoryDepth, preauthorizedAgentObjectId, agentObjectId, correlationId, encryptionScope) {
|
|
179
|
+
constructor(version, signature, permissionsOrOptions, services, resourceTypes, protocol, startsOn, expiresOn, ipRange, identifier, resource, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, userDelegationKey, directoryDepth, preauthorizedAgentObjectId, agentObjectId, correlationId, encryptionScope, delegatedUserObjectId) {
|
|
174
180
|
this.version = version;
|
|
175
181
|
this.signature = signature;
|
|
176
182
|
if (permissionsOrOptions !== undefined && typeof permissionsOrOptions !== "string") {
|
|
@@ -184,6 +190,7 @@ export class SASQueryParameters {
|
|
|
184
190
|
this.startsOn = options.startsOn;
|
|
185
191
|
this.ipRangeInner = options.ipRange;
|
|
186
192
|
this.identifier = options.identifier;
|
|
193
|
+
this.delegatedUserObjectId = options.delegatedUserObjectId;
|
|
187
194
|
this.resource = options.resource;
|
|
188
195
|
this.cacheControl = options.cacheControl;
|
|
189
196
|
this.contentDisposition = options.contentDisposition;
|
|
@@ -213,6 +220,7 @@ export class SASQueryParameters {
|
|
|
213
220
|
this.startsOn = startsOn;
|
|
214
221
|
this.ipRangeInner = ipRange;
|
|
215
222
|
this.identifier = identifier;
|
|
223
|
+
this.delegatedUserObjectId = delegatedUserObjectId;
|
|
216
224
|
this.resource = resource;
|
|
217
225
|
this.cacheControl = cacheControl;
|
|
218
226
|
this.contentDisposition = contentDisposition;
|
|
@@ -267,6 +275,7 @@ export class SASQueryParameters {
|
|
|
267
275
|
"saoid",
|
|
268
276
|
"suoid",
|
|
269
277
|
"scid",
|
|
278
|
+
"sduoid", // Signed key user delegation object ID
|
|
270
279
|
];
|
|
271
280
|
const queries = [];
|
|
272
281
|
for (const param of params) {
|
|
@@ -352,6 +361,9 @@ export class SASQueryParameters {
|
|
|
352
361
|
case "scid":
|
|
353
362
|
this.tryAppendQueryParameter(queries, param, this.correlationId);
|
|
354
363
|
break;
|
|
364
|
+
case "sduoid":
|
|
365
|
+
this.tryAppendQueryParameter(queries, param, this.delegatedUserObjectId);
|
|
366
|
+
break;
|
|
355
367
|
}
|
|
356
368
|
}
|
|
357
369
|
return queries.join("&");
|