@azure/data-tables
Version:
An isomorphic client library for the Azure Tables service.
70 lines • 2.85 kB
TypeScript
import type { AccountSasPermissions } from "./accountSasPermissions.js";
import type { SasIPRange } from "./sasIPRange.js";
import type { SasProtocol } from "./sasQueryParameters.js";
import { SasQueryParameters } from "./sasQueryParameters.js";
import type { NamedKeyCredential } from "@azure/core-auth";
/**
* ONLY AVAILABLE IN NODE.JS RUNTIME.
*
* AccountSASSignatureValues is used to generate a Shared Access Signature (SAS) for an Azure Storage account. Once
* all the values here are set appropriately, call {@link generateAccountSasQueryParameters} to obtain a representation
* of the SAS which can actually be applied to table urls. Note: that both this class and {@link SasQueryParameters}
* exist because the former is mutable and a logical representation while the latter is immutable and used to generate
* actual REST requests.
*
* @see https://learn.microsoft.com/azure/storage/common/storage-dotnet-shared-access-signature-part-1
* for more conceptual information on SAS
*
* @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
* for descriptions of the parameters, including which are required
*/
export interface AccountSasSignatureValues {
/**
* If not provided, this defaults to the service version targeted by this version of the library.
*/
version?: string;
/**
* Optional. SAS protocols allowed.
*/
protocol?: SasProtocol;
/**
* Optional. When the SAS will take effect.
*/
startsOn?: Date;
/**
* The time after which the SAS will no longer work.
*/
expiresOn: Date;
/**
* Specifies which operations the SAS user may perform. Please refer to {@link AccountSasPermissions} for help
* constructing the permissions string.
*/
permissions: AccountSasPermissions;
/**
* Optional. IP range allowed.
*/
ipRange?: SasIPRange;
/**
* The values that indicate the services accessible with this SAS. Please refer to {@link AccountSasServices} to
* construct this value.
*/
services: string;
/**
* The values that indicate the resource types accessible with this SAS. Please refer
* to {@link AccountSasResourceTypes} to construct this value.
*/
resourceTypes: string;
}
/**
* ONLY AVAILABLE IN NODE.JS RUNTIME.
*
* Generates a {@link SasQueryParameters} object which contains all SAS query parameters needed to make an actual
* REST request.
*
* @see https://learn.microsoft.com/rest/api/storageservices/constructing-an-account-sas
*
* @param accountSasSignatureValues -
* @param sharedKeyCredential -
*/
export declare function generateAccountSasQueryParameters(accountSasSignatureValues: AccountSasSignatureValues, credential: NamedKeyCredential): SasQueryParameters;
//# sourceMappingURL=accountSasSignatureValues.d.ts.map