UNPKG

@rushstack/rush-azure-storage-build-cache-plugin

Version:

Rush plugin for Azure storage cloud build cache

54 lines 2.27 kB
import type { IRushPlugin, RushSession, RushConfiguration } from '@rushstack/rush-sdk'; import type { AzureEnvironmentName, LoginFlowType } from './AzureAuthenticationBase'; /** * @public */ export interface IAzureInteractiveAuthOptions { /** * The name of the the Azure storage account to authenticate to. */ readonly storageAccountName: string; /** * The name of the container in the Azure storage account to authenticate to. */ readonly storageContainerName: string; /** * The Azure environment the storage account exists in. Defaults to AzureCloud. */ readonly azureEnvironment?: AzureEnvironmentName; /** * Login flow to use for interactive authentication. * @defaultValue 'AdoCodespacesAuth' if on GitHub Codespaces, 'InteractiveBrowser' otherwise */ readonly loginFlow?: LoginFlowType; /** * If specified and a credential exists that will be valid for at least this many minutes from the time * of execution, no action will be taken. */ readonly minimumValidityInMinutes?: number; /** * The set of Rush global commands before which credentials should be updated. */ readonly globalCommands?: string[]; /** * The set of Rush phased commands before which credentials should be updated. */ readonly phasedCommands?: string[]; } /** * This plugin is for performing interactive authentication to an arbitrary Azure blob storage account. * It is meant to be used for scenarios where custom commands may interact with Azure blob storage beyond * the scope of the build cache (for build cache, use the RushAzureStorageBuildCachePlugin). * * However, since the authentication has the same dependencies, if the repository already uses the build * cache plugin, the additional functionality for authentication can be provided at minimal cost. * * @public */ export default class RushAzureInteractieAuthPlugin implements IRushPlugin { private readonly _options; readonly pluginName: 'AzureInteractiveAuthPlugin'; constructor(options: IAzureInteractiveAuthOptions | undefined); apply(rushSession: RushSession, rushConfig: RushConfiguration): void; } //# sourceMappingURL=RushAzureInteractiveAuthPlugin.d.ts.map