UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

148 lines (147 loc) 4.37 kB
import { AssetManifest, AwsDestination, DockerImageDestination, DockerImageSource, FileDestination, FileSource } from '../../../cloud-assembly-schema'; /** * A manifest of assets */ export declare class AssetManifestReader { private readonly manifest; /** * The default name of the asset manifest in a cdk.out directory */ static readonly DEFAULT_FILENAME = "assets.json"; /** * Load an asset manifest from the given file */ static fromFile(fileName: string): AssetManifestReader; /** * Load an asset manifest from the given file or directory * * If the argument given is a directoy, the default asset file name will be used. */ static fromPath(filePath: string): AssetManifestReader; /** * The directory where the manifest was found */ readonly directory: string; constructor(directory: string, manifest: AssetManifest); /** * Select a subset of assets and destinations from this manifest. * * Only assets with at least 1 selected destination are retained. * * If selection is not given, everything is returned. */ select(selection?: DestinationPattern[]): AssetManifestReader; /** * Describe the asset manifest as a list of strings */ list(): string[]; /** * List of assets, splat out to destinations */ get entries(): IManifestEntry[]; } /** * A single asset from an asset manifest' */ export interface IManifestEntry { /** * The identifier of the asset */ readonly id: DestinationIdentifier; /** * The type of asset */ readonly type: string; /** * Type-dependent source data */ readonly genericSource: unknown; /** * Type-dependent destination data */ readonly destination: AwsDestination; } /** * A manifest entry for a file asset */ export declare class FileManifestEntry implements IManifestEntry { /** Identifier for this asset */ readonly id: DestinationIdentifier; /** Source of the file asset */ readonly source: FileSource; /** Destination for the file asset */ readonly destination: FileDestination; readonly genericSource: unknown; readonly type = "file"; constructor( /** Identifier for this asset */ id: DestinationIdentifier, /** Source of the file asset */ source: FileSource, /** Destination for the file asset */ destination: FileDestination); } /** * A manifest entry for a docker image asset */ export declare class DockerImageManifestEntry implements IManifestEntry { /** Identifier for this asset */ readonly id: DestinationIdentifier; /** Source of the file asset */ readonly source: DockerImageSource; /** Destination for the file asset */ readonly destination: DockerImageDestination; readonly genericSource: unknown; readonly type = "docker-image"; constructor( /** Identifier for this asset */ id: DestinationIdentifier, /** Source of the file asset */ source: DockerImageSource, /** Destination for the file asset */ destination: DockerImageDestination); } /** * Identify an asset destination in an asset manifest */ export declare class DestinationIdentifier { /** * Identifies the asset, by source. */ readonly assetId: string; /** * Identifies the destination where this asset will be published */ readonly destinationId: string; constructor(assetId: string, destinationId: string); /** * Return a string representation for this asset identifier */ toString(): string; } /** * A filter pattern for an destination identifier */ export declare class DestinationPattern { /** * Parse a ':'-separated string into an asset/destination identifier */ static parse(s: string): DestinationPattern; /** * Identifies the asset, by source. */ readonly assetId?: string; /** * Identifies the destination where this asset will be published */ readonly destinationId?: string; constructor(assetId?: string, destinationId?: string); /** * Whether or not this pattern matches the given identifier */ matches(id: DestinationIdentifier): boolean; /** * Return a string representation for this asset identifier */ toString(): string; }