@omnia/tooling-composers
Version:
Provide tooling to work with manifest things.
36 lines (35 loc) • 1.63 kB
TypeScript
import { SqlResourceOption, SqlElasticPoolResourceOption, PersistentDiskResourceOption } from './models/index';
import { AzureAdAppPermissionOption } from './AzureAdAppPermissionHelper';
export interface IServiceManifestComposer<T> {
/**
* Request an Sql Db when the service is instantiated
* A connection string to a Sql db will be injected upon instantiation.
*/
requestSqlDatabase: (options: SqlResourceOption) => T;
/**
* Request an Sql Db using shared Elastic Pool when the service is instantiated
* A connection string to a Sql db will be injected upon instantiation.
*/
requestSqlElasticPoolDatabase: (options: SqlElasticPoolResourceOption) => T;
/**
* Request a Persistent Disk for storing files
*/
requestPersistentDisk: (options: PersistentDiskResourceOption) => T;
/**
* Require an Azure Ad App permissions
*/
requireAzureAdAppPermissions: (options: AzureAdAppPermissionOption) => T;
/**
* This service is not deployed by default. It is able to be deployed via an extension feature activation
* */
isOnTheFlyService: () => T;
}
export declare class ServiceManifestComposer<T> implements IServiceManifestComposer<T> {
private getInitInstance;
constructor(getInitInstance: (() => T));
requestSqlDatabase: (options: SqlResourceOption) => T;
requestSqlElasticPoolDatabase: (options: SqlElasticPoolResourceOption) => T;
requestPersistentDisk: (options: PersistentDiskResourceOption) => T;
requireAzureAdAppPermissions(options: AzureAdAppPermissionOption): T;
isOnTheFlyService(): T;
}