UNPKG

bicep-assets

Version:
125 lines (124 loc) 4.67 kB
import { ResourceGroup } from '@azure/arm-resources'; import * as t from 'typanion'; export declare const defaultConfigFile = "bicep-assets-config.yaml"; export declare const isSubscription: t.StrictValidator<unknown, string>; export declare const isResourceGroup: t.StrictValidator<unknown, string>; export declare const isAssetConfiguration: t.StrictTest<unknown, Partial<Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "name" | "plugin">> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}> & t.Trait<Partial<Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "name" | "plugin">> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}> & { properties: { path: t.StrictValidator<unknown, string>; name: t.StrictValidator<unknown, string | undefined>; plugin: t.StrictValidator<unknown, string | undefined>; }; }; export declare const isConfiguration: t.StrictTest<unknown, Partial<Pick<{ subscription: string; resourceGroup: string; storageAccountName: string; resourcePrefix: string | undefined; assets: (string | (Partial<Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "name" | "plugin">> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}))[] | undefined; }, "resourcePrefix" | "assets">> & Pick<{ subscription: string; resourceGroup: string; storageAccountName: string; resourcePrefix: string | undefined; assets: (string | (Partial<Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "name" | "plugin">> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}))[] | undefined; }, "subscription" | "resourceGroup" | "storageAccountName"> & {}> & t.Trait<Partial<Pick<{ subscription: string; resourceGroup: string; storageAccountName: string; resourcePrefix: string | undefined; assets: (string | (Partial<Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "name" | "plugin">> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}))[] | undefined; }, "resourcePrefix" | "assets">> & Pick<{ subscription: string; resourceGroup: string; storageAccountName: string; resourcePrefix: string | undefined; assets: (string | (Partial<Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "name" | "plugin">> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}))[] | undefined; }, "subscription" | "resourceGroup" | "storageAccountName"> & {}> & { properties: { subscription: t.StrictValidator<unknown, string>; resourceGroup: t.StrictValidator<unknown, string>; storageAccountName: t.StrictValidator<unknown, string>; resourcePrefix: t.StrictValidator<unknown, string | undefined>; assets: t.StrictValidator<unknown, (string | (Partial<Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "name" | "plugin">> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}))[] | undefined>; }; }; export type ConfigurationOptions = t.InferType<typeof isConfiguration>; export type DefinedConfig = Required<ConfigurationOptions>; type PartialConfig = Partial<ConfigurationOptions>; export interface AssetDefinition { path: string; plugin: string; name: string; } export declare function makeDefined(config: ConfigurationOptions): DefinedConfig; export declare function loadConfig(): Promise<DefinedConfig>; export declare function saveConfig(config: Configuration, cwd?: string): Promise<void>; export declare class Configuration { subscription: string; resourceGroup: string; storageAccountName: string; assets: AssetDefinition[]; constructor(options: DefinedConfig); private sanitizedName; static load(interactive: boolean, reevaluate?: boolean): Promise<Configuration>; static lookupSubscription(current?: PartialConfig): Promise<any>; static lookupResourceGroup(subscriptionId: string, current?: PartialConfig): Promise<ResourceGroup>; } export {};