bicep-assets
Version:
125 lines (124 loc) • 4.67 kB
TypeScript
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 {};