diff --git a/src/frontend/src/schemas/typescript-api-export.ts b/src/frontend/src/schemas/typescript-api-export.ts new file mode 100644 index 000000000..8d5fe2da1 --- /dev/null +++ b/src/frontend/src/schemas/typescript-api-export.ts @@ -0,0 +1,320 @@ +/* ------------------------------------------------------------------ */ +/* Canonical TypeScript API export, schema version 1. */ +/* */ +/* Produced by `aspire sdk export --language typescript`. The CLI */ +/* owns every signature and declaration in this document; the site */ +/* validates and renders it and never reconstructs TypeScript from */ +/* the underlying capability model. */ +/* ------------------------------------------------------------------ */ + +import { readFileSync } from 'node:fs'; + +export const TYPESCRIPT_API_EXPORT_SCHEMA_VERSION = 1; + +export const TYPESCRIPT_API_EXPORT_LANGUAGE = 'typescript'; + +export interface TypeScriptApiPackageIdentity { + name: string; + version: string; +} + +export interface TypeScriptApiMember { + id: string; + kind: string; + name: string; + /** The final TypeScript text, for example `addRedis(name: string): RedisResourcePromise`. */ + declaration: string; + summary?: string; + remarks?: string; + deprecated?: string; + returnType?: string; +} + +export interface TypeScriptApiItem { + id: string; + typeId?: string; + kind: string; + name: string; + /** The final TypeScript declaration header, for example `export interface RedisResource`. */ + declaration: string; + owningAssembly: string; + summary?: string; + remarks?: string; + examples?: string[]; + extends?: string[]; + members?: TypeScriptApiMember[]; +} + +export interface TypeScriptApiModule { + name: string; + summary?: string; + items: TypeScriptApiItem[]; +} + +export interface TypeScriptApiDeclaration { + id: string; + content: string; + owningAssembly: string; +} + +export interface TypeScriptApiExport { + schemaVersion: number; + language: string; + package: TypeScriptApiPackageIdentity; + modules: TypeScriptApiModule[]; + declarations: TypeScriptApiDeclaration[]; +} + +export class TypeScriptApiExportError extends Error { + constructor(source: string, message: string) { + super(`${source}: ${message}`); + this.name = 'TypeScriptApiExportError'; + } +} + +function fail(source: string, message: string): never { + throw new TypeScriptApiExportError(source, message); +} + +function requireRecord(source: string, value: unknown, path: string): Record { + if (typeof value !== 'object' || value === null || Array.isArray(value)) { + fail(source, `${path} must be an object.`); + } + + return value as Record; +} + +function requireArray(source: string, value: unknown, path: string): unknown[] { + if (!Array.isArray(value)) { + fail(source, `${path} must be an array.`); + } + + return value; +} + +function requireNonEmptyString(source: string, value: unknown, path: string): string { + if (typeof value !== 'string' || value.trim().length === 0) { + fail(source, `${path} must be a non-empty string.`); + } + + return value; +} + +function optionalString(source: string, value: unknown, path: string): string | undefined { + if (value === undefined || value === null) { + return undefined; + } + + if (typeof value !== 'string') { + fail(source, `${path} must be a string when present.`); + } + + return value; +} + +function optionalStringArray(source: string, value: unknown, path: string): string[] | undefined { + if (value === undefined || value === null) { + return undefined; + } + + return requireArray(source, value, path).map((entry, index) => + requireNonEmptyString(source, entry, `${path}[${index}]`), + ); +} + +function parseMember(source: string, value: unknown, path: string): TypeScriptApiMember { + const record = requireRecord(source, value, path); + + return { + id: requireNonEmptyString(source, record.id, `${path}.id`), + kind: requireNonEmptyString(source, record.kind, `${path}.kind`), + name: requireNonEmptyString(source, record.name, `${path}.name`), + // A blank declaration means the producer failed to resolve a signature, which would otherwise + // surface as an empty code block on a published page. + declaration: requireNonEmptyString(source, record.declaration, `${path}.declaration`), + summary: optionalString(source, record.summary, `${path}.summary`), + remarks: optionalString(source, record.remarks, `${path}.remarks`), + deprecated: optionalString(source, record.deprecated, `${path}.deprecated`), + returnType: optionalString(source, record.returnType, `${path}.returnType`), + }; +} + +function parseItem(source: string, value: unknown, path: string): TypeScriptApiItem { + const record = requireRecord(source, value, path); + + const members = record.members === undefined || record.members === null + ? undefined + : requireArray(source, record.members, `${path}.members`).map((member, index) => + parseMember(source, member, `${path}.members[${index}]`), + ); + + return { + id: requireNonEmptyString(source, record.id, `${path}.id`), + typeId: optionalString(source, record.typeId, `${path}.typeId`), + kind: requireNonEmptyString(source, record.kind, `${path}.kind`), + name: requireNonEmptyString(source, record.name, `${path}.name`), + declaration: requireNonEmptyString(source, record.declaration, `${path}.declaration`), + owningAssembly: requireNonEmptyString(source, record.owningAssembly, `${path}.owningAssembly`), + summary: optionalString(source, record.summary, `${path}.summary`), + remarks: optionalString(source, record.remarks, `${path}.remarks`), + examples: optionalStringArray(source, record.examples, `${path}.examples`), + extends: optionalStringArray(source, record.extends, `${path}.extends`), + members, + }; +} + +function parseModule(source: string, value: unknown, path: string): TypeScriptApiModule { + const record = requireRecord(source, value, path); + + return { + name: requireNonEmptyString(source, record.name, `${path}.name`), + summary: optionalString(source, record.summary, `${path}.summary`), + items: requireArray(source, record.items, `${path}.items`).map((item, index) => + parseItem(source, item, `${path}.items[${index}]`), + ), + }; +} + +function parseDeclaration(source: string, value: unknown, path: string): TypeScriptApiDeclaration { + const record = requireRecord(source, value, path); + + return { + id: requireNonEmptyString(source, record.id, `${path}.id`), + content: requireNonEmptyString(source, record.content, `${path}.content`), + owningAssembly: requireNonEmptyString(source, record.owningAssembly, `${path}.owningAssembly`), + }; +} + +/** + * Validates one canonical export document. `source` names the origin (a file path, or `stdout` when + * reading a CLI invocation) so a failure points at the input rather than at the site. + */ +export function parseTypeScriptApiExport(value: unknown, source: string): TypeScriptApiExport { + const record = requireRecord(source, value, 'document'); + + if (record.schemaVersion !== TYPESCRIPT_API_EXPORT_SCHEMA_VERSION) { + fail( + source, + `unsupported schema version ${JSON.stringify(record.schemaVersion)}; expected ${TYPESCRIPT_API_EXPORT_SCHEMA_VERSION}.`, + ); + } + + if (record.language !== TYPESCRIPT_API_EXPORT_LANGUAGE) { + fail( + source, + `unexpected language ${JSON.stringify(record.language)}; expected ${TYPESCRIPT_API_EXPORT_LANGUAGE}.`, + ); + } + + const packageRecord = requireRecord(source, record.package, 'package'); + const identity: TypeScriptApiPackageIdentity = { + name: requireNonEmptyString(source, packageRecord.name, 'package.name'), + version: requireNonEmptyString(source, packageRecord.version, 'package.version'), + }; + + const modules = requireArray(source, record.modules, 'modules').map((module, index) => + parseModule(source, module, `modules[${index}]`), + ); + + const declarations = requireArray(source, record.declarations, 'declarations').map( + (declaration, index) => parseDeclaration(source, declaration, `declarations[${index}]`), + ); + + const seenItemIds = new Set(); + for (const module of modules) { + for (const item of module.items) { + if (seenItemIds.has(item.id)) { + fail(source, `duplicate item ID '${item.id}'.`); + } + seenItemIds.add(item.id); + + const seenMemberIds = new Set(); + for (const member of item.members ?? []) { + if (seenMemberIds.has(member.id)) { + fail(source, `duplicate member ID '${member.id}' on item '${item.id}'.`); + } + seenMemberIds.add(member.id); + } + } + } + + const declarationsById = new Map(); + for (const declaration of declarations) { + const existing = declarationsById.get(declaration.id); + + // Identical repeats are how the reference closure contributes the same core fragment to several + // packages, so only disagreeing content is a defect. + if (existing !== undefined && existing !== declaration.content) { + fail(source, `duplicate declaration ID '${declaration.id}' with conflicting content.`); + } + + declarationsById.set(declaration.id, declaration.content); + } + + return { + schemaVersion: TYPESCRIPT_API_EXPORT_SCHEMA_VERSION, + language: TYPESCRIPT_API_EXPORT_LANGUAGE, + package: identity, + modules, + declarations, + }; +} + +/** Reads and validates one canonical export document from disk. */ +export function loadTypeScriptApiExport(path: string): TypeScriptApiExport { + let raw: string; + try { + raw = readFileSync(path, 'utf8'); + } catch (error) { + throw new TypeScriptApiExportError(path, `could not be read (${(error as Error).message}).`); + } + + let parsed: unknown; + try { + parsed = JSON.parse(raw); + } catch (error) { + throw new TypeScriptApiExportError(path, `is not valid JSON (${(error as Error).message}).`); + } + + return parseTypeScriptApiExport(parsed, path); +} + +export interface ConcatenatedDeclarations { + declarations: TypeScriptApiDeclaration[]; + text: string; +} + +/** + * Merges the declaration fragments of a complete manifest: deduplicate by stable ID, order by that + * same ID, and join. This is mechanical on purpose — the fragments are already final TypeScript, so + * anything beyond sorting and deduplication would be the site reshaping the producer's contract. + */ +export function concatenateDeclarations( + documents: readonly TypeScriptApiExport[], +): ConcatenatedDeclarations { + const byId = new Map(); + + for (const document of documents) { + for (const declaration of document.declarations) { + const existing = byId.get(declaration.id); + + if (existing !== undefined && existing.content !== declaration.content) { + throw new TypeScriptApiExportError( + document.package.name, + `declaration '${declaration.id}' conflicts with the fragment already contributed by another package.`, + ); + } + + byId.set(declaration.id, declaration); + } + } + + const declarations = [...byId.values()].sort((left, right) => + left.id < right.id ? -1 : left.id > right.id ? 1 : 0, + ); + + return { + declarations, + text: `${declarations.map((declaration) => declaration.content).join('\n')}\n`, + }; +} diff --git a/src/frontend/src/utils/ts-modules.ts b/src/frontend/src/utils/ts-modules.ts index b55c5a938..3689fecab 100644 --- a/src/frontend/src/utils/ts-modules.ts +++ b/src/frontend/src/utils/ts-modules.ts @@ -5,6 +5,20 @@ import type { CollectionEntry } from 'astro:content'; import { getCollection } from 'astro:content'; +/* + * The canonical export types are re-exported here so page consumers have a single import path as + * they move onto the CLI-produced documents. This is a type-only re-export: it erases at compile + * time, so the schema module's Node dependencies never reach a page bundle. + */ +export type { + TypeScriptApiExport, + TypeScriptApiModule as TypeScriptApiExportModule, + TypeScriptApiItem as TypeScriptApiExportItem, + TypeScriptApiMember as TypeScriptApiExportMember, + TypeScriptApiDeclaration, + TypeScriptApiPackageIdentity, +} from '../schemas/typescript-api-export'; + export interface TsFunctionParameter { name: string; type?: string; diff --git a/src/frontend/tests/fixtures/typescript-api-export/Aspire.Hosting.Redis.api.json b/src/frontend/tests/fixtures/typescript-api-export/Aspire.Hosting.Redis.api.json new file mode 100644 index 000000000..43c93eb21 --- /dev/null +++ b/src/frontend/tests/fixtures/typescript-api-export/Aspire.Hosting.Redis.api.json @@ -0,0 +1 @@ +{"schemaVersion":1,"language":"typescript","package":{"name":"Aspire.Hosting.Redis","version":"13.5.0-dev"},"modules":[{"name":"Aspire.Hosting.Redis","items":[{"id":"augmentation:Aspire.Hosting.Redis:DistributedApplicationBuilder","kind":"augmentation","name":"DistributedApplicationBuilder","typeId":"Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder","owningAssembly":"Aspire.Hosting","declaration":"export interface DistributedApplicationBuilder","summary":"A builder for creating instances of {@ats-ref type:DistributedApplication}.","members":[{"id":"method:DistributedApplicationBuilder.addRedis","kind":"method","name":"addRedis","declaration":"addRedis(name: string, options?: AddRedisOptions): RedisResourcePromise","capabilityId":"Aspire.Hosting.Redis/addRedis","returnType":"RedisResourcePromise","summary":"Adds a Redis container to the application model.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the resource. This name will be used as the connection string name when referenced in a dependency."},{"name":"port","type":"number","optional":true,"summary":"The host port to bind the underlying container to."},{"name":"password","type":"Awaitable\u003CParameterResource\u003E","optional":true,"summary":"The parameter used to provide the password for the Redis resource. If \u0060null\u0060 a random password will be generated."}]}]},{"id":"interface:RedisCommanderResource","kind":"interface","name":"RedisCommanderResource","typeId":"Aspire.Hosting.Redis/Aspire.Hosting.Redis.RedisCommanderResource","owningAssembly":"Aspire.Hosting.Redis","declaration":"export interface RedisCommanderResource extends ResourceBuilderBase","extends":["ResourceBuilderBase"],"members":[{"id":"method:RedisCommanderResource.withHostPort","kind":"method","name":"withHostPort","declaration":"withHostPort(options?: WithHostPortOptions): RedisCommanderResourcePromise","capabilityId":"Aspire.Hosting.Redis/withRedisCommanderHostPort","returnType":"RedisCommanderResourcePromise","summary":"Configures the host port that the Redis Commander resource is exposed on instead of using randomly assigned port.","parameters":[{"name":"port","type":"number","optional":true,"summary":"The port to bind on the host. If \u0060null\u0060 is used random port will be assigned."}]}]},{"id":"interface:RedisInsightResource","kind":"interface","name":"RedisInsightResource","typeId":"Aspire.Hosting.Redis/Aspire.Hosting.Redis.RedisInsightResource","owningAssembly":"Aspire.Hosting.Redis","declaration":"export interface RedisInsightResource extends ResourceBuilderBase","extends":["ResourceBuilderBase"],"members":[{"id":"method:RedisInsightResource.withHostPort","kind":"method","name":"withHostPort","declaration":"withHostPort(options?: WithHostPortOptions): RedisInsightResourcePromise","capabilityId":"Aspire.Hosting.Redis/withRedisInsightHostPort","returnType":"RedisInsightResourcePromise","summary":"Configures the host port that the Redis Insight resource is exposed on instead of using randomly assigned port.","parameters":[{"name":"port","type":"number","optional":true,"summary":"The port to bind on the host. If \u0060null\u0060 is used random port will be assigned."}]},{"id":"method:RedisInsightResource.withDataVolume","kind":"method","name":"withDataVolume","declaration":"withDataVolume(options?: WithDataVolumeOptions): RedisInsightResourcePromise","capabilityId":"Aspire.Hosting.Redis/withRedisInsightDataVolume","returnType":"RedisInsightResourcePromise","summary":"Adds a named volume for the data folder to a Redis Insight container resource.","parameters":[{"name":"name","type":"string","optional":true,"summary":"The name of the volume. Defaults to an auto-generated name based on the application and resource names."}]},{"id":"method:RedisInsightResource.withDataBindMount","kind":"method","name":"withDataBindMount","declaration":"withDataBindMount(source: string): RedisInsightResourcePromise","capabilityId":"Aspire.Hosting.Redis/withRedisInsightDataBindMount","returnType":"RedisInsightResourcePromise","summary":"Adds a bind mount for the data folder to a Redis Insight container resource.","parameters":[{"name":"source","type":"string","optional":false,"summary":"The source directory on the host to mount into the container."}]}]},{"id":"interface:RedisResource","kind":"interface","name":"RedisResource","typeId":"Aspire.Hosting.Redis/Aspire.Hosting.ApplicationModel.RedisResource","owningAssembly":"Aspire.Hosting.Redis","declaration":"export interface RedisResource extends ResourceBuilderBase","summary":"A resource that represents a Redis resource independent of the hosting model.","remarks":"A resource that represents a Redis resource independent of the hosting model.","extends":["ResourceBuilderBase"],"members":[{"id":"property:RedisResource.primaryEndpoint","kind":"property","name":"primaryEndpoint","declaration":"primaryEndpoint(): Promise\u003CEndpointReferenceHandle\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/RedisResource.primaryEndpoint","summary":"Gets the primary endpoint for the Redis server."},{"id":"property:RedisResource.host","kind":"property","name":"host","declaration":"host(): Promise\u003CEndpointReferenceExpressionHandle\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/RedisResource.host","summary":"Gets the host endpoint reference for this resource."},{"id":"property:RedisResource.port","kind":"property","name":"port","declaration":"port(): Promise\u003CEndpointReferenceExpressionHandle\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/RedisResource.port","summary":"Gets the port endpoint reference for this resource."},{"id":"property:RedisResource.passwordParameter","kind":"property","name":"passwordParameter","declaration":"passwordParameter: { get: () =\u003E ParameterResourcePromise; set: (value: Awaitable\u003CParameterResource\u003E) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/RedisResource.passwordParameter","summary":"Gets the parameter that contains the Redis server password."},{"id":"property:RedisResource.tlsEnabled","kind":"property","name":"tlsEnabled","declaration":"tlsEnabled(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/RedisResource.tlsEnabled","summary":"Indicates whether TLS is enabled for the Redis server.","remarks":"This property proxies through to \u0060TlsEnabled\u0060 on the\n\u0060PrimaryEndpoint\u0060. When set to \u0060true\u0060, the connection string\nexpression dynamically includes \u0060,ssl=true\u0060 and the URI expression uses the\n\u0060rediss://\u0060 scheme. This value is resolved lazily at expression evaluation time,\navoiding timing issues when TLS is enabled later in the application lifecycle\n(e.g., during the \u0060BeforeStartEvent\u0060)."},{"id":"property:RedisResource.connectionStringExpression","kind":"property","name":"connectionStringExpression","declaration":"connectionStringExpression(): Promise\u003CReferenceExpression\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/RedisResource.connectionStringExpression","summary":"Gets the connection string expression for the Redis server."},{"id":"property:RedisResource.uriExpression","kind":"property","name":"uriExpression","declaration":"uriExpression(): Promise\u003CReferenceExpression\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/RedisResource.uriExpression","summary":"Gets the connection URI expression for the Redis server.","remarks":"Format: \u0060redis://[:{password}@]{host}:{port}\u0060. The password segment is omitted when no password is configured."},{"id":"method:RedisResource.withRedisCommander","kind":"method","name":"withRedisCommander","declaration":"withRedisCommander(options?: WithRedisCommanderOptions): RedisResourcePromise","capabilityId":"Aspire.Hosting.Redis/withRedisCommander","returnType":"RedisResourcePromise","summary":"Adds Redis Commander management UI","remarks":"This version of the package defaults to the tag of the container image.","parameters":[{"name":"configureContainer","type":"(obj: RedisCommanderResource) =\u003E Promise\u003Cvoid\u003E","optional":true,"summary":"Configuration callback for Redis Commander container resource."},{"name":"containerName","type":"string","optional":true,"summary":"Override the container name used for Redis Commander."}]},{"id":"method:RedisResource.withRedisInsight","kind":"method","name":"withRedisInsight","declaration":"withRedisInsight(options?: WithRedisInsightOptions): RedisResourcePromise","capabilityId":"Aspire.Hosting.Redis/withRedisInsight","returnType":"RedisResourcePromise","summary":"Adds Redis Insight management UI","remarks":"This version of the package defaults to the tag of the container image.","parameters":[{"name":"configureContainer","type":"(obj: RedisInsightResource) =\u003E Promise\u003Cvoid\u003E","optional":true,"summary":"Configuration callback for Redis Insight container resource."},{"name":"containerName","type":"string","optional":true,"summary":"Override the container name used for Redis Insight."}]},{"id":"method:RedisResource.withDataVolume","kind":"method","name":"withDataVolume","declaration":"withDataVolume(options?: WithDataVolumeOptions): RedisResourcePromise","capabilityId":"Aspire.Hosting.Redis/withDataVolume","returnType":"RedisResourcePromise","summary":"Adds a named volume for the data folder to a Redis container resource and enables Redis persistence.","parameters":[{"name":"name","type":"string","optional":true,"summary":"The name of the volume. Defaults to an auto-generated name based on the application and resource names."},{"name":"isReadOnly","type":"boolean","optional":true,"summary":"A flag that indicates if this is a read-only volume. Setting this to \u0060true\u0060 will disable Redis persistence. Defaults to \u0060false\u0060."}]},{"id":"method:RedisResource.withDataBindMount","kind":"method","name":"withDataBindMount","declaration":"withDataBindMount(source: string, options?: WithDataBindMountOptions): RedisResourcePromise","capabilityId":"Aspire.Hosting.Redis/withDataBindMount","returnType":"RedisResourcePromise","summary":"Adds a bind mount for the data folder to a Redis container resource and enables Redis persistence.","parameters":[{"name":"source","type":"string","optional":false,"summary":"The source directory on the host to mount into the container."},{"name":"isReadOnly","type":"boolean","optional":true,"summary":"A flag that indicates if this is a read-only mount. Setting this to \u0060true\u0060 will disable Redis persistence. Defaults to \u0060false\u0060."}]},{"id":"method:RedisResource.withPersistence","kind":"method","name":"withPersistence","declaration":"withPersistence(options?: WithPersistenceOptions): RedisResourcePromise","capabilityId":"Aspire.Hosting.Redis/withPersistence","returnType":"RedisResourcePromise","summary":"Configures a Redis container resource for persistence.","parameters":[{"name":"interval","type":"number","optional":true,"summary":"The interval between snapshot exports. Defaults to 60 seconds."},{"name":"keysChangedThreshold","type":"number","optional":true,"summary":"The number of key change operations required to trigger a snapshot at the interval. Defaults to 1."}]},{"id":"method:RedisResource.withModule","kind":"method","name":"withModule","declaration":"withModule(path: string): RedisResourcePromise","capabilityId":"Aspire.Hosting.Redis/withModule","returnType":"RedisResourcePromise","summary":"Configures the Redis resource to use the specified Redis module by providing its path inside the container.","remarks":"This method passes the module path to \u0060redis-server\u0060 as a \u0060--loadmodule\u0060 argument. Redis resolves the path inside the\ncontainer, not on the host. To load a module built on the host machine, mount it into the Redis container first and then use\nthe mounted container path. Use \u0060RedisModules\u0060 for well-known module paths that are included in the default\nRedis container image.\n\u0060\u0060\u0060\nvar cache = builder.AddRedis(\u0022cache\u0022)\n.WithModule(RedisModules.Json)\n.WithModule(RedisModules.Search);\nvar customModuleCache = builder.AddRedis(\u0022custom-cache\u0022)\n.WithBindMount(\u0022/host/redis/modules\u0022, \u0022/redis/modules\u0022, isReadOnly: true)\n.WithModule(\u0022/redis/modules/custom-module.so\u0022);\n\u0060\u0060\u0060\nFor more information, see the Redis module loading documentation at .","parameters":[{"name":"path","type":"string","optional":false,"summary":"The absolute path to the Redis module inside the Redis container."}]},{"id":"method:RedisResource.withPassword","kind":"method","name":"withPassword","declaration":"withPassword(password: Awaitable\u003CParameterResource\u003E): RedisResourcePromise","capabilityId":"Aspire.Hosting.Redis/withPassword","returnType":"RedisResourcePromise","summary":"Configures the password that the Redis resource is used.","parameters":[{"name":"password","type":"Awaitable\u003CParameterResource\u003E","optional":false,"summary":"The parameter used to provide the password for the Redis resource. If \u0060null\u0060, no password will be configured."}]},{"id":"method:RedisResource.withHostPort","kind":"method","name":"withHostPort","declaration":"withHostPort(options?: WithHostPortOptions): RedisResourcePromise","capabilityId":"Aspire.Hosting.Redis/withHostPort","returnType":"RedisResourcePromise","summary":"Configures the host port that the Redis resource is exposed on instead of using randomly assigned port.","parameters":[{"name":"port","type":"number","optional":true,"summary":"The port to bind on the host. If \u0060null\u0060 is used random port will be assigned."}]}]},{"id":"options:AddRedisOptions","kind":"options","name":"AddRedisOptions","typeId":"Aspire.Hosting.Redis/AddRedisOptions","owningAssembly":"Aspire.Hosting.Redis","declaration":"export interface AddRedisOptions","members":[{"id":"property:AddRedisOptions.port","kind":"property","name":"port","declaration":"port?: number","summary":"The host port to bind the underlying container to."},{"id":"property:AddRedisOptions.password","kind":"property","name":"password","declaration":"password?: Awaitable\u003CParameterResource\u003E","summary":"The parameter used to provide the password for the Redis resource. If \u0060null\u0060 a random password will be generated."}]},{"id":"options:WithDataBindMountOptions","kind":"options","name":"WithDataBindMountOptions","typeId":"Aspire.Hosting.Redis/WithDataBindMountOptions","owningAssembly":"Aspire.Hosting.Redis","declaration":"export interface WithDataBindMountOptions","members":[{"id":"property:WithDataBindMountOptions.isReadOnly","kind":"property","name":"isReadOnly","declaration":"isReadOnly?: boolean","summary":"A flag that indicates if this is a read-only mount. Setting this to \u0060true\u0060 will disable Redis persistence. Defaults to \u0060false\u0060."}]},{"id":"options:WithDataVolumeOptions","kind":"options","name":"WithDataVolumeOptions","typeId":"Aspire.Hosting.Redis/WithDataVolumeOptions","owningAssembly":"Aspire.Hosting.Redis","declaration":"export interface WithDataVolumeOptions","members":[{"id":"property:WithDataVolumeOptions.name","kind":"property","name":"name","declaration":"name?: string","summary":"The name of the volume. Defaults to an auto-generated name based on the application and resource names."},{"id":"property:WithDataVolumeOptions.isReadOnly","kind":"property","name":"isReadOnly","declaration":"isReadOnly?: boolean","summary":"A flag that indicates if this is a read-only volume. Setting this to \u0060true\u0060 will disable Redis persistence. Defaults to \u0060false\u0060."}]},{"id":"options:WithHostPortOptions","kind":"options","name":"WithHostPortOptions","typeId":"Aspire.Hosting.Redis/WithHostPortOptions","owningAssembly":"Aspire.Hosting.Redis","declaration":"export interface WithHostPortOptions","members":[{"id":"property:WithHostPortOptions.port","kind":"property","name":"port","declaration":"port?: number","summary":"The port to bind on the host. If \u0060null\u0060 is used random port will be assigned."}]},{"id":"options:WithPersistenceOptions","kind":"options","name":"WithPersistenceOptions","typeId":"Aspire.Hosting.Redis/WithPersistenceOptions","owningAssembly":"Aspire.Hosting.Redis","declaration":"export interface WithPersistenceOptions","members":[{"id":"property:WithPersistenceOptions.interval","kind":"property","name":"interval","declaration":"interval?: number","summary":"The interval between snapshot exports. Defaults to 60 seconds."},{"id":"property:WithPersistenceOptions.keysChangedThreshold","kind":"property","name":"keysChangedThreshold","declaration":"keysChangedThreshold?: number","summary":"The number of key change operations required to trigger a snapshot at the interval. Defaults to 1."}]},{"id":"options:WithRedisCommanderOptions","kind":"options","name":"WithRedisCommanderOptions","typeId":"Aspire.Hosting.Redis/WithRedisCommanderOptions","owningAssembly":"Aspire.Hosting.Redis","declaration":"export interface WithRedisCommanderOptions","members":[{"id":"property:WithRedisCommanderOptions.configureContainer","kind":"property","name":"configureContainer","declaration":"configureContainer?: (obj: RedisCommanderResource) =\u003E Promise\u003Cvoid\u003E","summary":"Configuration callback for Redis Commander container resource."},{"id":"property:WithRedisCommanderOptions.containerName","kind":"property","name":"containerName","declaration":"containerName?: string","summary":"Override the container name used for Redis Commander."}]},{"id":"options:WithRedisInsightOptions","kind":"options","name":"WithRedisInsightOptions","typeId":"Aspire.Hosting.Redis/WithRedisInsightOptions","owningAssembly":"Aspire.Hosting.Redis","declaration":"export interface WithRedisInsightOptions","members":[{"id":"property:WithRedisInsightOptions.configureContainer","kind":"property","name":"configureContainer","declaration":"configureContainer?: (obj: RedisInsightResource) =\u003E Promise\u003Cvoid\u003E","summary":"Configuration callback for Redis Insight container resource."},{"id":"property:WithRedisInsightOptions.containerName","kind":"property","name":"containerName","declaration":"containerName?: string","summary":"Override the container name used for Redis Insight."}]}]}],"declarations":[{"id":"Aspire.Hosting.Redis:augment:DistributedApplicationBuilder","owningAssembly":"Aspire.Hosting.Redis","content":"export interface DistributedApplicationBuilder {\n addRedis(name: string, options?: AddRedisOptions): RedisResourcePromise;\n}"},{"id":"Aspire.Hosting.Redis:augment:DistributedApplicationBuilderPromise","owningAssembly":"Aspire.Hosting.Redis","content":"export interface DistributedApplicationBuilderPromise {\n addRedis(name: string, options?: AddRedisOptions): RedisResourcePromise;\n}"},{"id":"Aspire.Hosting.Redis:interface:RedisCommanderResource","owningAssembly":"Aspire.Hosting.Redis","content":"export interface RedisCommanderResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withHostPort(options?: WithHostPortOptions): RedisCommanderResourcePromise;\n}"},{"id":"Aspire.Hosting.Redis:interface:RedisCommanderResourcePromise","owningAssembly":"Aspire.Hosting.Redis","content":"export interface RedisCommanderResourcePromise extends PromiseLike\u003CRedisCommanderResource\u003E {\n withHostPort(options?: WithHostPortOptions): RedisCommanderResourcePromise;\n}"},{"id":"Aspire.Hosting.Redis:interface:RedisInsightResource","owningAssembly":"Aspire.Hosting.Redis","content":"export interface RedisInsightResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withHostPort(options?: WithHostPortOptions): RedisInsightResourcePromise;\n withDataVolume(options?: WithDataVolumeOptions): RedisInsightResourcePromise;\n withDataBindMount(source: string): RedisInsightResourcePromise;\n}"},{"id":"Aspire.Hosting.Redis:interface:RedisInsightResourcePromise","owningAssembly":"Aspire.Hosting.Redis","content":"export interface RedisInsightResourcePromise extends PromiseLike\u003CRedisInsightResource\u003E {\n withHostPort(options?: WithHostPortOptions): RedisInsightResourcePromise;\n withDataVolume(options?: WithDataVolumeOptions): RedisInsightResourcePromise;\n withDataBindMount(source: string): RedisInsightResourcePromise;\n}"},{"id":"Aspire.Hosting.Redis:interface:RedisResource","owningAssembly":"Aspire.Hosting.Redis","content":"export interface RedisResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n primaryEndpoint(): Promise\u003CEndpointReferenceHandle\u003E;\n host(): Promise\u003CEndpointReferenceExpressionHandle\u003E;\n port(): Promise\u003CEndpointReferenceExpressionHandle\u003E;\n passwordParameter: { get: () =\u003E ParameterResourcePromise; set: (value: Awaitable\u003CParameterResource\u003E) =\u003E Promise\u003Cvoid\u003E };\n tlsEnabled(): Promise\u003Cboolean\u003E;\n connectionStringExpression(): Promise\u003CReferenceExpression\u003E;\n uriExpression(): Promise\u003CReferenceExpression\u003E;\n withRedisCommander(options?: WithRedisCommanderOptions): RedisResourcePromise;\n withRedisInsight(options?: WithRedisInsightOptions): RedisResourcePromise;\n withDataVolume(options?: WithDataVolumeOptions): RedisResourcePromise;\n withDataBindMount(source: string, options?: WithDataBindMountOptions): RedisResourcePromise;\n withPersistence(options?: WithPersistenceOptions): RedisResourcePromise;\n withModule(path: string): RedisResourcePromise;\n withPassword(password: Awaitable\u003CParameterResource\u003E): RedisResourcePromise;\n withHostPort(options?: WithHostPortOptions): RedisResourcePromise;\n}"},{"id":"Aspire.Hosting.Redis:interface:RedisResourcePromise","owningAssembly":"Aspire.Hosting.Redis","content":"export interface RedisResourcePromise extends PromiseLike\u003CRedisResource\u003E {\n primaryEndpoint(): Promise\u003CEndpointReferenceHandle\u003E;\n host(): Promise\u003CEndpointReferenceExpressionHandle\u003E;\n port(): Promise\u003CEndpointReferenceExpressionHandle\u003E;\n passwordParameter: { get: () =\u003E ParameterResourcePromise; set: (value: Awaitable\u003CParameterResource\u003E) =\u003E Promise\u003Cvoid\u003E };\n tlsEnabled(): Promise\u003Cboolean\u003E;\n connectionStringExpression(): Promise\u003CReferenceExpression\u003E;\n uriExpression(): Promise\u003CReferenceExpression\u003E;\n withRedisCommander(options?: WithRedisCommanderOptions): RedisResourcePromise;\n withRedisInsight(options?: WithRedisInsightOptions): RedisResourcePromise;\n withDataVolume(options?: WithDataVolumeOptions): RedisResourcePromise;\n withDataBindMount(source: string, options?: WithDataBindMountOptions): RedisResourcePromise;\n withPersistence(options?: WithPersistenceOptions): RedisResourcePromise;\n withModule(path: string): RedisResourcePromise;\n withPassword(password: Awaitable\u003CParameterResource\u003E): RedisResourcePromise;\n withHostPort(options?: WithHostPortOptions): RedisResourcePromise;\n}"},{"id":"Aspire.Hosting.Redis:options:AddRedisOptions","owningAssembly":"Aspire.Hosting.Redis","content":"export interface AddRedisOptions {\n port?: number;\n password?: Awaitable\u003CParameterResource\u003E;\n}"},{"id":"Aspire.Hosting.Redis:options:WithDataBindMountOptions","owningAssembly":"Aspire.Hosting.Redis","content":"export interface WithDataBindMountOptions {\n isReadOnly?: boolean;\n}"},{"id":"Aspire.Hosting.Redis:options:WithDataVolumeOptions","owningAssembly":"Aspire.Hosting.Redis","content":"export interface WithDataVolumeOptions {\n name?: string;\n isReadOnly?: boolean;\n}"},{"id":"Aspire.Hosting.Redis:options:WithHostPortOptions","owningAssembly":"Aspire.Hosting.Redis","content":"export interface WithHostPortOptions {\n port?: number;\n}"},{"id":"Aspire.Hosting.Redis:options:WithPersistenceOptions","owningAssembly":"Aspire.Hosting.Redis","content":"export interface WithPersistenceOptions {\n interval?: number;\n keysChangedThreshold?: number;\n}"},{"id":"Aspire.Hosting.Redis:options:WithRedisCommanderOptions","owningAssembly":"Aspire.Hosting.Redis","content":"export interface WithRedisCommanderOptions {\n configureContainer?: (obj: RedisCommanderResource) =\u003E Promise\u003Cvoid\u003E;\n containerName?: string;\n}"},{"id":"Aspire.Hosting.Redis:options:WithRedisInsightOptions","owningAssembly":"Aspire.Hosting.Redis","content":"export interface WithRedisInsightOptions {\n configureContainer?: (obj: RedisInsightResource) =\u003E Promise\u003Cvoid\u003E;\n containerName?: string;\n}"},{"id":"Aspire.Hosting:handle:EndpointReferenceExpressionHandle","owningAssembly":"Aspire.Hosting","content":"export type EndpointReferenceExpressionHandle = Handle\u003C\u0027Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReferenceExpression\u0027\u003E;"},{"id":"Aspire.Hosting:handle:EndpointReferenceHandle","owningAssembly":"Aspire.Hosting","content":"export type EndpointReferenceHandle = Handle\u003C\u0027Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference\u0027\u003E;"},{"id":"Aspire.Hosting:handle:ReferenceExpressionHandle","owningAssembly":"Aspire.Hosting","content":"export type ReferenceExpressionHandle = Handle\u003C\u0027Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression\u0027\u003E;"},{"id":"Aspire.Hosting:opaque:DistributedApplicationBuilder","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationBuilder extends HandleReference {}"},{"id":"Aspire.Hosting:opaque:DistributedApplicationBuilderPromise","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationBuilderPromise extends PromiseLike\u003CDistributedApplicationBuilder\u003E {}"},{"id":"Aspire.Hosting:opaque:ParameterResource","owningAssembly":"Aspire.Hosting","content":"export interface ParameterResource extends ResourceBuilderBase {}"},{"id":"Aspire.Hosting:opaque:ParameterResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface ParameterResourcePromise extends PromiseLike\u003CParameterResource\u003E {}"},{"id":"aspire:runtime:base","owningAssembly":"Aspire.Hosting","content":"export type Awaitable\u003CT\u003E = T | PromiseLike\u003CT\u003E;\nexport interface MarshalledHandle { $handle: string; $type: string; }\nexport interface Handle\u003CT extends string = string\u003E { readonly $handle: string; readonly $type: T; toJSON(): MarshalledHandle; }\nexport interface HandleReference { toJSON(): MarshalledHandle; }\nexport interface AbortSignal { readonly aborted: boolean; }\nexport interface CancellationToken { readonly aborted: boolean; }\nexport enum InputType { Text = \u0027Text\u0027, SecretText = \u0027SecretText\u0027, Choice = \u0027Choice\u0027, Boolean = \u0027Boolean\u0027, Number = \u0027Number\u0027 }\nexport interface ReferenceExpression { readonly value: Promise\u003Cstring\u003E; }\nexport interface AspireList\u003CT\u003E extends HandleReference { get(index: number): Promise\u003CT\u003E; }\nexport interface AspireDict\u003CTKey, TValue\u003E extends HandleReference { get(key: TKey): Promise\u003CTValue\u003E; }\nexport interface ResourceBuilderBase extends HandleReference {}\nexport interface InteractionInput { readonly name: string; }\nexport interface InteractionInputCollection extends HandleReference {}\nexport interface InteractionInputCollectionPromise extends PromiseLike\u003CInteractionInputCollection\u003E {}"}]} diff --git a/src/frontend/tests/fixtures/typescript-api-export/Aspire.Hosting.api.json b/src/frontend/tests/fixtures/typescript-api-export/Aspire.Hosting.api.json new file mode 100644 index 000000000..9cea29ce2 --- /dev/null +++ b/src/frontend/tests/fixtures/typescript-api-export/Aspire.Hosting.api.json @@ -0,0 +1 @@ +{"schemaVersion":1,"language":"typescript","package":{"name":"Aspire.Hosting","version":"13.5.0-dev"},"modules":[{"name":"Aspire.Hosting","items":[{"id":"augmentation:Aspire.Hosting:Configuration","kind":"augmentation","name":"Configuration","typeId":"Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfiguration","owningAssembly":"Microsoft.Extensions.Configuration.Abstractions","declaration":"export interface Configuration","members":[{"id":"method:Configuration.getConfigValue","kind":"method","name":"getConfigValue","declaration":"getConfigValue(key: string): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getConfigValue","returnType":"Promise\u003Cstring\u003E","summary":"Gets a configuration value by key.","parameters":[{"name":"key","type":"string","optional":false,"summary":"The configuration key (e.g., \u0022ConnectionStrings:Default\u0022)."}]},{"id":"method:Configuration.getConnectionString","kind":"method","name":"getConnectionString","declaration":"getConnectionString(name: string): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getConnectionString","returnType":"Promise\u003Cstring\u003E","summary":"Gets a connection string by name.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The connection string name."}]},{"id":"method:Configuration.getSection","kind":"method","name":"getSection","declaration":"getSection(key: string): Promise\u003CIConfigurationSectionHandle\u003E","capabilityId":"Aspire.Hosting/getSection","returnType":"Promise\u003CIConfigurationSectionHandle\u003E","summary":"Gets a configuration section by key.","parameters":[{"name":"key","type":"string","optional":false,"summary":"The configuration key."}]},{"id":"method:Configuration.getChildren","kind":"method","name":"getChildren","declaration":"getChildren(): Promise\u003CIConfigurationSectionHandle[]\u003E","capabilityId":"Aspire.Hosting/getChildren","returnType":"Promise\u003CIConfigurationSectionHandle[]\u003E","summary":"Gets the child sections of a configuration handle."},{"id":"method:Configuration.exists","kind":"method","name":"exists","declaration":"exists(key: string): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting/exists","returnType":"Promise\u003Cboolean\u003E","summary":"Checks whether a configuration section exists.","parameters":[{"name":"key","type":"string","optional":false,"summary":"The configuration key."}]}]},{"id":"augmentation:Aspire.Hosting:HostEnvironment","kind":"augmentation","name":"HostEnvironment","typeId":"Microsoft.Extensions.Hosting.Abstractions/Microsoft.Extensions.Hosting.IHostEnvironment","owningAssembly":"Microsoft.Extensions.Hosting.Abstractions","declaration":"export interface HostEnvironment","members":[{"id":"method:HostEnvironment.isDevelopment","kind":"method","name":"isDevelopment","declaration":"isDevelopment(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting/isDevelopment","returnType":"Promise\u003Cboolean\u003E","summary":"Checks if the environment is Development."},{"id":"method:HostEnvironment.isProduction","kind":"method","name":"isProduction","declaration":"isProduction(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting/isProduction","returnType":"Promise\u003Cboolean\u003E","summary":"Checks if the environment is Production."},{"id":"method:HostEnvironment.isStaging","kind":"method","name":"isStaging","declaration":"isStaging(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting/isStaging","returnType":"Promise\u003Cboolean\u003E","summary":"Checks if the environment is Staging."},{"id":"method:HostEnvironment.isEnvironment","kind":"method","name":"isEnvironment","declaration":"isEnvironment(environmentName: string): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting/isEnvironment","returnType":"Promise\u003Cboolean\u003E","summary":"Checks if the environment matches the specified name.","parameters":[{"name":"environmentName","type":"string","optional":false,"summary":"The environment name to compare against."}]}]},{"id":"augmentation:Aspire.Hosting:Logger","kind":"augmentation","name":"Logger","typeId":"Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger","owningAssembly":"Microsoft.Extensions.Logging.Abstractions","declaration":"export interface Logger","members":[{"id":"method:Logger.logInformation","kind":"method","name":"logInformation","declaration":"logInformation(message: string): LoggerPromise","capabilityId":"Aspire.Hosting/logInformation","returnType":"LoggerPromise","summary":"Logs an information message.","parameters":[{"name":"message","type":"string","optional":false}]},{"id":"method:Logger.logWarning","kind":"method","name":"logWarning","declaration":"logWarning(message: string): LoggerPromise","capabilityId":"Aspire.Hosting/logWarning","returnType":"LoggerPromise","summary":"Logs a warning message.","parameters":[{"name":"message","type":"string","optional":false}]},{"id":"method:Logger.logError","kind":"method","name":"logError","declaration":"logError(message: string): LoggerPromise","capabilityId":"Aspire.Hosting/logError","returnType":"LoggerPromise","summary":"Logs an error message.","parameters":[{"name":"message","type":"string","optional":false}]},{"id":"method:Logger.logDebug","kind":"method","name":"logDebug","declaration":"logDebug(message: string): LoggerPromise","capabilityId":"Aspire.Hosting/logDebug","returnType":"LoggerPromise","summary":"Logs a debug message.","parameters":[{"name":"message","type":"string","optional":false}]},{"id":"method:Logger.log","kind":"method","name":"log","declaration":"log(level: string, message: string): LoggerPromise","capabilityId":"Aspire.Hosting/log","returnType":"LoggerPromise","summary":"Logs a message with a specified log level.","parameters":[{"name":"level","type":"string","optional":false},{"name":"message","type":"string","optional":false}]}]},{"id":"augmentation:Aspire.Hosting:LoggerFactory","kind":"augmentation","name":"LoggerFactory","typeId":"Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILoggerFactory","owningAssembly":"Microsoft.Extensions.Logging.Abstractions","declaration":"export interface LoggerFactory","members":[{"id":"method:LoggerFactory.createLogger","kind":"method","name":"createLogger","declaration":"createLogger(categoryName: string): LoggerPromise","capabilityId":"Aspire.Hosting/createLogger","returnType":"LoggerPromise","summary":"Creates a logger for the specified category name.","parameters":[{"name":"categoryName","type":"string","optional":false,"summary":"The category name."}]}]},{"id":"augmentation:Aspire.Hosting:ServiceProvider","kind":"augmentation","name":"ServiceProvider","typeId":"System.ComponentModel/System.IServiceProvider","owningAssembly":"System.ComponentModel","declaration":"export interface ServiceProvider","members":[{"id":"method:ServiceProvider.getAspireStore","kind":"method","name":"getAspireStore","declaration":"getAspireStore(): AspireStorePromise","capabilityId":"Aspire.Hosting/getAspireStore","returnType":"AspireStorePromise","summary":"Gets the Aspire store from the service provider."},{"id":"method:ServiceProvider.getEventing","kind":"method","name":"getEventing","declaration":"getEventing(): DistributedApplicationEventingPromise","capabilityId":"Aspire.Hosting/getEventing","returnType":"DistributedApplicationEventingPromise","summary":"Gets the distributed application eventing service from the service provider."},{"id":"method:ServiceProvider.getInteractionService","kind":"method","name":"getInteractionService","declaration":"getInteractionService(): InteractionServicePromise","capabilityId":"Aspire.Hosting/getInteractionService","returnType":"InteractionServicePromise","summary":"Gets the interaction service from the service provider."},{"id":"method:ServiceProvider.getLoggerFactory","kind":"method","name":"getLoggerFactory","declaration":"getLoggerFactory(): LoggerFactoryPromise","capabilityId":"Aspire.Hosting/getLoggerFactory","returnType":"LoggerFactoryPromise","summary":"Gets the logger factory from the service provider."},{"id":"method:ServiceProvider.getResourceLoggerService","kind":"method","name":"getResourceLoggerService","declaration":"getResourceLoggerService(): ResourceLoggerServicePromise","capabilityId":"Aspire.Hosting/getResourceLoggerService","returnType":"ResourceLoggerServicePromise","summary":"Gets the resource logger service from the service provider."},{"id":"method:ServiceProvider.getDistributedApplicationModel","kind":"method","name":"getDistributedApplicationModel","declaration":"getDistributedApplicationModel(): DistributedApplicationModelPromise","capabilityId":"Aspire.Hosting/getDistributedApplicationModel","returnType":"DistributedApplicationModelPromise","summary":"Gets the distributed application model from the service provider."},{"id":"method:ServiceProvider.getResourceNotificationService","kind":"method","name":"getResourceNotificationService","declaration":"getResourceNotificationService(): ResourceNotificationServicePromise","capabilityId":"Aspire.Hosting/getResourceNotificationService","returnType":"ResourceNotificationServicePromise","summary":"Gets the resource notification service from the service provider."},{"id":"method:ServiceProvider.getResourceCommandService","kind":"method","name":"getResourceCommandService","declaration":"getResourceCommandService(): ResourceCommandServicePromise","capabilityId":"Aspire.Hosting/getResourceCommandService","returnType":"ResourceCommandServicePromise","summary":"Gets the resource command service from the service provider."},{"id":"method:ServiceProvider.getUserSecretsManager","kind":"method","name":"getUserSecretsManager","declaration":"getUserSecretsManager(): UserSecretsManagerPromise","capabilityId":"Aspire.Hosting/getUserSecretsManager","returnType":"UserSecretsManagerPromise","summary":"Gets the user secrets manager from the service provider."}]},{"id":"dto:AddContainerOptions","kind":"dto","name":"AddContainerOptions","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.AddContainerOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddContainerOptions","summary":"Options for configuring a container image in polyglot apphosts.","members":[{"id":"property:AddContainerOptions.image","kind":"property","name":"image","declaration":"image?: string","summary":"The container image name."},{"id":"property:AddContainerOptions.tag","kind":"property","name":"tag","declaration":"tag?: string | null","summary":"The container image tag."}]},{"id":"dto:BoolInteractionResult","kind":"dto","name":"BoolInteractionResult","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.BoolInteractionResult","owningAssembly":"Aspire.Hosting","declaration":"export interface BoolInteractionResult","summary":"The result of a boolean interaction prompt.","members":[{"id":"property:BoolInteractionResult.canceled","kind":"property","name":"canceled","declaration":"canceled?: boolean","summary":"Gets a value indicating whether the interaction was canceled by the user."},{"id":"property:BoolInteractionResult.value","kind":"property","name":"value","declaration":"value?: boolean","summary":"Gets the value returned from the interaction. Not meaningful when \u0060Canceled\u0060 is \u0060true\u0060."}]},{"id":"dto:CertificateTrustExecutionConfigurationContext","kind":"dto","name":"CertificateTrustExecutionConfigurationContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.CertificateTrustExecutionConfigurationContext","owningAssembly":"Aspire.Hosting","declaration":"export interface CertificateTrustExecutionConfigurationContext","summary":"Context for configuring certificate trust configuration properties.","members":[{"id":"property:CertificateTrustExecutionConfigurationContext.certificateBundlePath","kind":"property","name":"certificateBundlePath","declaration":"certificateBundlePath?: ReferenceExpression","summary":"The path to the PEM certificate bundle file in the resource context (e.g., container filesystem)."},{"id":"property:CertificateTrustExecutionConfigurationContext.certificateDirectoriesPath","kind":"property","name":"certificateDirectoriesPath","declaration":"certificateDirectoriesPath?: ReferenceExpression","summary":"The path(s) to the certificate directories in the resource context (e.g., container filesystem)."},{"id":"property:CertificateTrustExecutionConfigurationContext.rootCertificatesPath","kind":"property","name":"rootCertificatesPath","declaration":"rootCertificatesPath?: string","summary":"The root path certificates will be written to in the resource context (e.g., container filesystem)."},{"id":"property:CertificateTrustExecutionConfigurationContext.isContainer","kind":"property","name":"isContainer","declaration":"isContainer?: boolean","summary":"Is this request being generated for a container resource (i.e. does it require Linux style paths?)."}]},{"id":"dto:CertificateTrustExecutionConfigurationExportData","kind":"dto","name":"CertificateTrustExecutionConfigurationExportData","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.CertificateTrustExecutionConfigurationExportData","owningAssembly":"Aspire.Hosting","declaration":"export interface CertificateTrustExecutionConfigurationExportData","summary":"ATS-friendly certificate trust data returned from an execution-configuration result.","members":[{"id":"property:CertificateTrustExecutionConfigurationExportData.scope","kind":"property","name":"scope","declaration":"scope?: CertificateTrustScope","summary":"The certificate trust scope."},{"id":"property:CertificateTrustExecutionConfigurationExportData.certificateSubjects","kind":"property","name":"certificateSubjects","declaration":"certificateSubjects?: string[]","summary":"The certificate subjects included in the trust configuration."},{"id":"property:CertificateTrustExecutionConfigurationExportData.customBundlePaths","kind":"property","name":"customBundlePaths","declaration":"customBundlePaths?: string[]","summary":"The relative custom bundle paths."}]},{"id":"dto:CommandOptions","kind":"dto","name":"CommandOptions","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CommandOptions","summary":"Optional configuration for resource commands.","members":[{"id":"property:CommandOptions.description","kind":"property","name":"description","declaration":"description?: string | null","summary":"Optional description of the command, to be shown in the UI. Could be used as a tooltip. May be localized."},{"id":"property:CommandOptions.parameter","kind":"property","name":"parameter","declaration":"parameter?: any","summary":"Obsolete optional parameter that configures the command in some way. Clients must return any value provided by the server when invoking the command."},{"id":"property:CommandOptions.arguments","kind":"property","name":"arguments","declaration":"arguments?: InteractionInput[]","summary":"Gets or sets the invocation arguments accepted by the command."},{"id":"property:CommandOptions.validateArguments","kind":"property","name":"validateArguments","declaration":"validateArguments?: (arg: InputsDialogValidationContext) =\u003E Promise\u003Cvoid\u003E","summary":"Gets or sets the callback that validates invocation arguments before the command callback is executed."},{"id":"property:CommandOptions.visibility","kind":"property","name":"visibility","declaration":"visibility?: ResourceCommandVisibility","summary":"Gets or sets where the command is visible to users and clients."},{"id":"property:CommandOptions.confirmationMessage","kind":"property","name":"confirmationMessage","declaration":"confirmationMessage?: string | null","summary":"When a confirmation message is specified, the UI will prompt with an OK/Cancel dialog and the confirmation message before starting the command."},{"id":"property:CommandOptions.iconName","kind":"property","name":"iconName","declaration":"iconName?: string | null","summary":"The icon name for the command. The name should be a valid FluentUI icon name from ."},{"id":"property:CommandOptions.iconVariant","kind":"property","name":"iconVariant","declaration":"iconVariant?: IconVariant | null","summary":"The icon variant."},{"id":"property:CommandOptions.isHighlighted","kind":"property","name":"isHighlighted","declaration":"isHighlighted?: boolean","summary":"A flag indicating whether the command is highlighted in the UI."},{"id":"property:CommandOptions.updateState","kind":"property","name":"updateState","declaration":"updateState?: (arg: UpdateCommandStateContext) =\u003E Promise\u003CResourceCommandState\u003E","summary":"A callback that is used to update the command state. The callback is executed when the command\u0027s resource snapshot is updated. If a callback isn\u0027t specified, the command is always enabled."},{"id":"property:CommandOptions.progress","kind":"property","name":"progress","declaration":"progress?: CommandProgressOptions","summary":"Gets or sets options for displaying a progress dialog while the command is executing."}]},{"id":"dto:CommandProgressOptions","kind":"dto","name":"CommandProgressOptions","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandProgressOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CommandProgressOptions","summary":"Options for displaying a progress dialog while a command is executing.","members":[{"id":"property:CommandProgressOptions.message","kind":"property","name":"message","declaration":"message?: string | null","summary":"Gets or sets the message to display in the progress dialog."},{"id":"property:CommandProgressOptions.title","kind":"property","name":"title","declaration":"title?: string | null","summary":"Gets or sets the optional title of the progress dialog."},{"id":"property:CommandProgressOptions.hideCancelButton","kind":"property","name":"hideCancelButton","declaration":"hideCancelButton?: boolean","summary":"Gets or sets a value indicating whether the cancel button is hidden in the progress dialog."}]},{"id":"dto:CommandResultData","kind":"dto","name":"CommandResultData","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandResultData","owningAssembly":"Aspire.Hosting","declaration":"export interface CommandResultData","summary":"Represents a value produced by a command.","members":[{"id":"property:CommandResultData.value","kind":"property","name":"value","declaration":"value?: string","summary":"The value data."},{"id":"property:CommandResultData.format","kind":"property","name":"format","declaration":"format?: CommandResultFormat","summary":"The format of the \u0060Value\u0060 data."},{"id":"property:CommandResultData.displayImmediately","kind":"property","name":"displayImmediately","declaration":"displayImmediately?: boolean","summary":"When \u0060true\u0060, the dashboard will immediately display the value in a dialog when the command completes."}]},{"id":"dto:ContainerFilesOptions","kind":"dto","name":"ContainerFilesOptions","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.ContainerFilesOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface ContainerFilesOptions","summary":"Options for creating or updating files and directories in a container from polyglot apphosts.","members":[{"id":"property:ContainerFilesOptions.defaultOwner","kind":"property","name":"defaultOwner","declaration":"defaultOwner?: number | null","summary":"The default owner UID for the created or updated file system entries. Defaults to 0 for root if not set."},{"id":"property:ContainerFilesOptions.defaultGroup","kind":"property","name":"defaultGroup","declaration":"defaultGroup?: number | null","summary":"The default group ID for the created or updated file system entries. Defaults to 0 for root if not set."},{"id":"property:ContainerFilesOptions.umask","kind":"property","name":"umask","declaration":"umask?: number | null","summary":"The Unix umask to apply to files or directories without explicit permissions. Use octal literals in JavaScript or TypeScript, for example \u00600o022\u0060."}]},{"id":"dto:CreateBuilderOptions","kind":"dto","name":"CreateBuilderOptions","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.CreateBuilderOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CreateBuilderOptions","summary":"Options for creating a distributed application builder from polyglot apphosts.","members":[{"id":"property:CreateBuilderOptions.args","kind":"property","name":"args","declaration":"args?: string[]","summary":"The command line arguments."},{"id":"property:CreateBuilderOptions.projectDirectory","kind":"property","name":"projectDirectory","declaration":"projectDirectory?: string | null","summary":"The directory containing the AppHost project file."},{"id":"property:CreateBuilderOptions.appHostFilePath","kind":"property","name":"appHostFilePath","declaration":"appHostFilePath?: string | null","summary":"The full path to the AppHost file (e.g., apphost.ts, apphost.py). Used for consistent socket path computation across CLI and AppHost."},{"id":"property:CreateBuilderOptions.containerRegistryOverride","kind":"property","name":"containerRegistryOverride","declaration":"containerRegistryOverride?: string | null","summary":"When containers are used, use this value to override the container registry."},{"id":"property:CreateBuilderOptions.disableDashboard","kind":"property","name":"disableDashboard","declaration":"disableDashboard?: boolean","summary":"Determines whether the dashboard is disabled."},{"id":"property:CreateBuilderOptions.dashboardApplicationName","kind":"property","name":"dashboardApplicationName","declaration":"dashboardApplicationName?: string | null","summary":"The application name to display in the dashboard."},{"id":"property:CreateBuilderOptions.allowUnsecuredTransport","kind":"property","name":"allowUnsecuredTransport","declaration":"allowUnsecuredTransport?: boolean","summary":"Allows the use of HTTP urls for the AppHost resource endpoint."},{"id":"property:CreateBuilderOptions.enableResourceLogging","kind":"property","name":"enableResourceLogging","declaration":"enableResourceLogging?: boolean","summary":"Enables resource logging."},{"id":"property:CreateBuilderOptions.throwOnPendingRejections","kind":"property","name":"throwOnPendingRejections","declaration":"throwOnPendingRejections?: boolean","summary":"When false, pre-flush rejected promises are not re-thrown by build(). Default: true."}]},{"id":"dto:CreateInteractionInputOptions","kind":"dto","name":"CreateInteractionInputOptions","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.CreateInteractionInputOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CreateInteractionInputOptions","summary":"Optional configuration shared by interaction input factory capabilities.","members":[{"id":"property:CreateInteractionInputOptions.label","kind":"property","name":"label","declaration":"label?: string | null","summary":"Gets or sets the label for the input. Defaults to the input name when not specified."},{"id":"property:CreateInteractionInputOptions.description","kind":"property","name":"description","declaration":"description?: string | null","summary":"Gets or sets the description for the input."},{"id":"property:CreateInteractionInputOptions.enableDescriptionMarkdown","kind":"property","name":"enableDescriptionMarkdown","declaration":"enableDescriptionMarkdown?: boolean | null","summary":"Gets or sets a value indicating whether the description is rendered as Markdown."},{"id":"property:CreateInteractionInputOptions.required","kind":"property","name":"required","declaration":"required?: boolean | null","summary":"Gets or sets a value indicating whether the input is required."},{"id":"property:CreateInteractionInputOptions.placeholder","kind":"property","name":"placeholder","declaration":"placeholder?: string | null","summary":"Gets or sets the placeholder text for the input."},{"id":"property:CreateInteractionInputOptions.value","kind":"property","name":"value","declaration":"value?: string | null","summary":"Gets or sets the initial value of the input."},{"id":"property:CreateInteractionInputOptions.allowCustomChoice","kind":"property","name":"allowCustomChoice","declaration":"allowCustomChoice?: boolean | null","summary":"Gets or sets a value indicating whether a custom choice is allowed. Only used by choice inputs."},{"id":"property:CreateInteractionInputOptions.disabled","kind":"property","name":"disabled","declaration":"disabled?: boolean | null","summary":"Gets or sets a value indicating whether the input is disabled."},{"id":"property:CreateInteractionInputOptions.maxLength","kind":"property","name":"maxLength","declaration":"maxLength?: number | null","summary":"Gets or sets the maximum length for text inputs."},{"id":"property:CreateInteractionInputOptions.maxFileSize","kind":"property","name":"maxFileSize","declaration":"maxFileSize?: number | null","summary":"Gets or sets the maximum file size in bytes for file inputs."},{"id":"property:CreateInteractionInputOptions.allowMultipleFiles","kind":"property","name":"allowMultipleFiles","declaration":"allowMultipleFiles?: boolean | null","summary":"Gets or sets a value indicating whether multiple files can be selected. Only used by file inputs."},{"id":"property:CreateInteractionInputOptions.fileFilter","kind":"property","name":"fileFilter","declaration":"fileFilter?: string | null","summary":"Gets or sets the file type filter for file inputs. Uses the same format as the HTML accept attribute. The CLI validates only dot-prefixed extension filters and does not validate MIME type patterns such as \u0022image/*\u0022."}]},{"id":"dto:DynamicLoadingOptions","kind":"dto","name":"DynamicLoadingOptions","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.DynamicLoadingOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface DynamicLoadingOptions","summary":"Options controlling when a dynamic-loading callback runs.","members":[{"id":"property:DynamicLoadingOptions.alwaysLoadOnStart","kind":"property","name":"alwaysLoadOnStart","declaration":"alwaysLoadOnStart?: boolean | null","summary":"Gets or sets a value indicating whether the callback always runs at the start of the prompt."},{"id":"property:DynamicLoadingOptions.dependsOnInputs","kind":"property","name":"dependsOnInputs","declaration":"dependsOnInputs?: string[]","summary":"Gets or sets the names of inputs this input depends on. The callback runs when any of them change."}]},{"id":"dto:ExecuteCommandResult","kind":"dto","name":"ExecuteCommandResult","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandResult","owningAssembly":"Aspire.Hosting","declaration":"export interface ExecuteCommandResult","summary":"The result of executing a command. Returned from \u0060ExecuteCommand\u0060.","members":[{"id":"property:ExecuteCommandResult.success","kind":"property","name":"success","declaration":"success?: boolean","summary":"A flag that indicates whether the command was successful."},{"id":"property:ExecuteCommandResult.canceled","kind":"property","name":"canceled","declaration":"canceled?: boolean","summary":"A flag that indicates whether the command was canceled by the user."},{"id":"property:ExecuteCommandResult.errorMessage","kind":"property","name":"errorMessage","declaration":"errorMessage?: string | null","summary":"An optional error message that can be set when the command is unsuccessful."},{"id":"property:ExecuteCommandResult.message","kind":"property","name":"message","declaration":"message?: string | null","summary":"An optional message associated with the command result."},{"id":"property:ExecuteCommandResult.data","kind":"property","name":"data","declaration":"data?: CommandResultData","summary":"An optional value produced by the command."}]},{"id":"dto:GenerateParameterDefault","kind":"dto","name":"GenerateParameterDefault","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.GenerateParameterDefault","owningAssembly":"Aspire.Hosting","declaration":"export interface GenerateParameterDefault","summary":"Represents that a default value should be generated.","remarks":"The recommended minimum bits of entropy for a generated password is 128 bits.\nThe general calculation of bits of entropy is:\n\u0060log base 2 (numberPossibleOutputs)\u0060\nThis generator uses 23 upper case, 23 lower case (excludes i,l,o,I,L,O to prevent confusion),\n10 numeric, and 11 special characters. So a total of 67 possible characters.\nWhen all character sets are enabled, the number of possible outputs is \u0060(67 ^ length)\u0060.\nThe minimum password length for 128 bits of entropy is 22 characters: \u0060log base 2 (67 ^ 22)\u0060.\nWhen character sets are disabled, it lowers the number of possible outputs and thus the bits of entropy.\nUsing MinLower, MinUpper, MinNumeric, and MinSpecial also lowers the number of possible outputs and thus the bits of entropy.\nA generalized lower-bound formula for the number of possible outputs is to consider a string of the form:\n\u0060\u0060\u0060\n{nonRequiredCharacters}{requiredCharacters}\nlet a = MinLower, b = MinUpper, c = MinNumeric, d = MinSpecial\nlet x = length - (a \u002B b \u002B c \u002B d)\nnonRequiredPossibilities = 67^x\nrequiredPossibilities = 23^a * 23^b * 10^c * 11^d * (a \u002B b \u002B c \u002B d)! / (a! * b! * c! * d!)\nlower-bound of total possibilities = nonRequiredPossibilities * requiredPossibilities\n\u0060\u0060\u0060\nPutting it all together, the lower-bound bits of entropy calculation is:\n\u0060\u0060\u0060\nlog base 2 [67^x * 23^a * 23^b * 10^c * 11^d * (a \u002B b \u002B c \u002B d)! / (a! * b! * c! * d!)]\n\u0060\u0060\u0060","members":[{"id":"property:GenerateParameterDefault.minLength","kind":"property","name":"minLength","declaration":"minLength?: number","summary":"Gets or sets the minimum length of the generated value."},{"id":"property:GenerateParameterDefault.lower","kind":"property","name":"lower","declaration":"lower?: boolean","summary":"Gets or sets a value indicating whether to include lowercase alphabet characters in the result."},{"id":"property:GenerateParameterDefault.upper","kind":"property","name":"upper","declaration":"upper?: boolean","summary":"Gets or sets a value indicating whether to include uppercase alphabet characters in the result."},{"id":"property:GenerateParameterDefault.numeric","kind":"property","name":"numeric","declaration":"numeric?: boolean","summary":"Gets or sets a value indicating whether to include numeric characters in the result."},{"id":"property:GenerateParameterDefault.special","kind":"property","name":"special","declaration":"special?: boolean","summary":"Gets or sets a value indicating whether to include special characters in the result."},{"id":"property:GenerateParameterDefault.minLower","kind":"property","name":"minLower","declaration":"minLower?: number","summary":"Gets or sets the minimum number of lowercase characters in the result."},{"id":"property:GenerateParameterDefault.minUpper","kind":"property","name":"minUpper","declaration":"minUpper?: number","summary":"Gets or sets the minimum number of uppercase characters in the result."},{"id":"property:GenerateParameterDefault.minNumeric","kind":"property","name":"minNumeric","declaration":"minNumeric?: number","summary":"Gets or sets the minimum number of numeric characters in the result."},{"id":"property:GenerateParameterDefault.minSpecial","kind":"property","name":"minSpecial","declaration":"minSpecial?: number","summary":"Gets or sets the minimum number of special characters in the result."}]},{"id":"dto:HealthCheckResult","kind":"dto","name":"HealthCheckResult","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.HealthCheckResult","owningAssembly":"Aspire.Hosting","declaration":"export interface HealthCheckResult","summary":"ATS-friendly custom health check result.","members":[{"id":"property:HealthCheckResult.status","kind":"property","name":"status","declaration":"status?: HealthStatus","summary":"Gets the health status returned by the health check."},{"id":"property:HealthCheckResult.description","kind":"property","name":"description","declaration":"description?: string | null","summary":"Gets an optional description for the health check result."},{"id":"property:HealthCheckResult.data","kind":"property","name":"data","declaration":"data?: Record\u003Cstring, string\u003E","summary":"Gets optional string data for the health check result."}]},{"id":"dto:HttpCommandExportOptions","kind":"dto","name":"HttpCommandExportOptions","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.HttpCommandExportOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface HttpCommandExportOptions","summary":"ATS-friendly configuration for resource HTTP commands.","members":[{"id":"property:HttpCommandExportOptions.commandOptions","kind":"property","name":"commandOptions","declaration":"commandOptions?: CommandOptions","summary":"Optional command configuration."},{"id":"property:HttpCommandExportOptions.description","kind":"property","name":"description","declaration":"description?: string | null","summary":"Optional description of the command, to be shown in the UI."},{"id":"property:HttpCommandExportOptions.confirmationMessage","kind":"property","name":"confirmationMessage","declaration":"confirmationMessage?: string | null","summary":"When a confirmation message is specified, the UI will prompt with an OK/Cancel dialog before starting the command."},{"id":"property:HttpCommandExportOptions.iconName","kind":"property","name":"iconName","declaration":"iconName?: string | null","summary":"The icon name for the command."},{"id":"property:HttpCommandExportOptions.iconVariant","kind":"property","name":"iconVariant","declaration":"iconVariant?: IconVariant | null","summary":"The icon variant."},{"id":"property:HttpCommandExportOptions.isHighlighted","kind":"property","name":"isHighlighted","declaration":"isHighlighted?: boolean","summary":"A flag indicating whether the command is highlighted in the UI."},{"id":"property:HttpCommandExportOptions.commandName","kind":"property","name":"commandName","declaration":"commandName?: string | null","summary":"Gets or sets the command name."},{"id":"property:HttpCommandExportOptions.endpointName","kind":"property","name":"endpointName","declaration":"endpointName?: string | null","summary":"Gets or sets the HTTP endpoint name to send the request to when the command is invoked."},{"id":"property:HttpCommandExportOptions.methodName","kind":"property","name":"methodName","declaration":"methodName?: string | null","summary":"Gets or sets the HTTP method name to use when sending the request."},{"id":"property:HttpCommandExportOptions.prepareRequest","kind":"property","name":"prepareRequest","declaration":"prepareRequest?: (arg: HttpCommandPrepareRequestContext) =\u003E Promise\u003CHttpCommandRequestExportData\u003E","summary":"Gets or sets a callback to be invoked to configure the request before it is sent."},{"id":"property:HttpCommandExportOptions.resultMode","kind":"property","name":"resultMode","declaration":"resultMode?: HttpCommandResultMode","summary":"Gets or sets how the HTTP response content should be returned as command result data."}]},{"id":"dto:HttpCommandRequestExportData","kind":"dto","name":"HttpCommandRequestExportData","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.HttpCommandRequestExportData","owningAssembly":"Aspire.Hosting","declaration":"export interface HttpCommandRequestExportData","summary":"ATS-friendly request data returned from HTTP command prepare-request callbacks.","members":[{"id":"property:HttpCommandRequestExportData.methodName","kind":"property","name":"methodName","declaration":"methodName?: string | null","summary":"Gets or sets the HTTP method name to use when sending the request."},{"id":"property:HttpCommandRequestExportData.headers","kind":"property","name":"headers","declaration":"headers?: Record\u003Cstring, string\u003E","summary":"Gets or sets the request headers."},{"id":"property:HttpCommandRequestExportData.content","kind":"property","name":"content","declaration":"content?: string | null","summary":"Gets or sets the request content."},{"id":"property:HttpCommandRequestExportData.contentType","kind":"property","name":"contentType","declaration":"contentType?: string | null","summary":"Gets or sets the request content type."}]},{"id":"dto:HttpsCertificateExecutionConfigurationContext","kind":"dto","name":"HttpsCertificateExecutionConfigurationContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.HttpsCertificateExecutionConfigurationContext","owningAssembly":"Aspire.Hosting","declaration":"export interface HttpsCertificateExecutionConfigurationContext","summary":"Configuration context for server authentication certificate configuration.","members":[{"id":"property:HttpsCertificateExecutionConfigurationContext.certificatePath","kind":"property","name":"certificatePath","declaration":"certificatePath?: ReferenceExpression","summary":"Expression that will resolve to the path of the server authentication certificate in PEM format. For containers this will be a path inside the container."},{"id":"property:HttpsCertificateExecutionConfigurationContext.keyPath","kind":"property","name":"keyPath","declaration":"keyPath?: ReferenceExpression","summary":"Expression that will resolve to the path of the server authentication certificate key in PEM format. For containers this will be a path inside the container."},{"id":"property:HttpsCertificateExecutionConfigurationContext.certificateWithKeyPath","kind":"property","name":"certificateWithKeyPath","declaration":"certificateWithKeyPath?: ReferenceExpression","summary":"Expression that will resolve to the path of the server authentication certificate and key in a combined PEM file. For containers this will be a path inside the container."},{"id":"property:HttpsCertificateExecutionConfigurationContext.pfxPath","kind":"property","name":"pfxPath","declaration":"pfxPath?: ReferenceExpression","summary":"Expression that will resolve to the path of the server authentication certificate in PFX format. For containers this will be a path inside the container."}]},{"id":"dto:HttpsCertificateExecutionConfigurationExportData","kind":"dto","name":"HttpsCertificateExecutionConfigurationExportData","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.HttpsCertificateExecutionConfigurationExportData","owningAssembly":"Aspire.Hosting","declaration":"export interface HttpsCertificateExecutionConfigurationExportData","summary":"ATS-friendly HTTPS certificate data returned from an execution-configuration result.","members":[{"id":"property:HttpsCertificateExecutionConfigurationExportData.subject","kind":"property","name":"subject","declaration":"subject?: string","summary":"The certificate subject."},{"id":"property:HttpsCertificateExecutionConfigurationExportData.thumbprint","kind":"property","name":"thumbprint","declaration":"thumbprint?: string | null","summary":"The certificate thumbprint."},{"id":"property:HttpsCertificateExecutionConfigurationExportData.keyPathExpression","kind":"property","name":"keyPathExpression","declaration":"keyPathExpression?: string","summary":"The expression for the key path reference."},{"id":"property:HttpsCertificateExecutionConfigurationExportData.pfxPathExpression","kind":"property","name":"pfxPathExpression","declaration":"pfxPathExpression?: string","summary":"The expression for the PFX path reference."},{"id":"property:HttpsCertificateExecutionConfigurationExportData.isKeyPathReferenced","kind":"property","name":"isKeyPathReferenced","declaration":"isKeyPathReferenced?: boolean","summary":"Indicates whether the key path was referenced."},{"id":"property:HttpsCertificateExecutionConfigurationExportData.isCertificateWithKeyPathReferenced","kind":"property","name":"isCertificateWithKeyPathReferenced","declaration":"isCertificateWithKeyPathReferenced?: boolean","summary":"Indicates whether the key path was referenced."},{"id":"property:HttpsCertificateExecutionConfigurationExportData.isPfxPathReferenced","kind":"property","name":"isPfxPathReferenced","declaration":"isPfxPathReferenced?: boolean","summary":"Indicates whether the PFX path was referenced."},{"id":"property:HttpsCertificateExecutionConfigurationExportData.password","kind":"property","name":"password","declaration":"password?: string | null","summary":"The certificate password, if any."}]},{"id":"dto:HttpsCertificateInfo","kind":"dto","name":"HttpsCertificateInfo","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.HttpsCertificateInfo","owningAssembly":"Aspire.Hosting","declaration":"export interface HttpsCertificateInfo","summary":"ATS-friendly certificate metadata supplied to HTTPS certificate configuration callbacks.","members":[{"id":"property:HttpsCertificateInfo.subject","kind":"property","name":"subject","declaration":"subject?: string","summary":"The certificate subject."},{"id":"property:HttpsCertificateInfo.issuer","kind":"property","name":"issuer","declaration":"issuer?: string","summary":"The certificate issuer."},{"id":"property:HttpsCertificateInfo.thumbprint","kind":"property","name":"thumbprint","declaration":"thumbprint?: string | null","summary":"The certificate thumbprint."}]},{"id":"dto:InputInteractionResult","kind":"dto","name":"InputInteractionResult","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.InputInteractionResult","owningAssembly":"Aspire.Hosting","declaration":"export interface InputInteractionResult","summary":"The result of a single-input interaction prompt.","members":[{"id":"property:InputInteractionResult.canceled","kind":"property","name":"canceled","declaration":"canceled?: boolean","summary":"Gets a value indicating whether the interaction was canceled by the user."},{"id":"property:InputInteractionResult.input","kind":"property","name":"input","declaration":"input?: InteractionInput","summary":"Gets the input returned from the interaction. Not present when \u0060Canceled\u0060 is \u0060true\u0060."}]},{"id":"dto:InteractionChoiceOption","kind":"dto","name":"InteractionChoiceOption","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.InteractionChoiceOption","owningAssembly":"Aspire.Hosting","declaration":"export interface InteractionChoiceOption","summary":"A single selectable option for a choice input. Options are presented in the order supplied.","members":[{"id":"property:InteractionChoiceOption.value","kind":"property","name":"value","declaration":"value?: string","summary":"Gets or sets the value submitted when this option is selected."},{"id":"property:InteractionChoiceOption.label","kind":"property","name":"label","declaration":"label?: string","summary":"Gets or sets the label displayed for this option."}]},{"id":"dto:InteractionInputsDialogOptions","kind":"dto","name":"InteractionInputsDialogOptions","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.InteractionInputsDialogOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface InteractionInputsDialogOptions","summary":"Options for inputs dialog prompts.","members":[{"id":"property:InteractionInputsDialogOptions.primaryButtonText","kind":"property","name":"primaryButtonText","declaration":"primaryButtonText?: string | null","summary":"Gets or sets the primary button text."},{"id":"property:InteractionInputsDialogOptions.secondaryButtonText","kind":"property","name":"secondaryButtonText","declaration":"secondaryButtonText?: string | null","summary":"Gets or sets the secondary button text."},{"id":"property:InteractionInputsDialogOptions.showSecondaryButton","kind":"property","name":"showSecondaryButton","declaration":"showSecondaryButton?: boolean | null","summary":"Gets or sets a value indicating whether the secondary button is shown."},{"id":"property:InteractionInputsDialogOptions.showDismiss","kind":"property","name":"showDismiss","declaration":"showDismiss?: boolean | null","summary":"Gets or sets a value indicating whether the dismiss button is shown."},{"id":"property:InteractionInputsDialogOptions.enableMessageMarkdown","kind":"property","name":"enableMessageMarkdown","declaration":"enableMessageMarkdown?: boolean | null","summary":"Gets or sets a value indicating whether Markdown in the message is rendered."},{"id":"property:InteractionInputsDialogOptions.validationCallback","kind":"property","name":"validationCallback","declaration":"validationCallback?: (arg: InputsDialogValidationContext) =\u003E Promise\u003Cvoid\u003E","summary":"Gets or sets a callback invoked to validate the inputs before the dialog is accepted. The callback receives a validation context that exposes the current inputs and can record validation errors."}]},{"id":"dto:InteractionMessageBoxOptions","kind":"dto","name":"InteractionMessageBoxOptions","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.InteractionMessageBoxOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface InteractionMessageBoxOptions","summary":"Options for message box and confirmation prompts.","members":[{"id":"property:InteractionMessageBoxOptions.primaryButtonText","kind":"property","name":"primaryButtonText","declaration":"primaryButtonText?: string | null","summary":"Gets or sets the primary button text."},{"id":"property:InteractionMessageBoxOptions.secondaryButtonText","kind":"property","name":"secondaryButtonText","declaration":"secondaryButtonText?: string | null","summary":"Gets or sets the secondary button text."},{"id":"property:InteractionMessageBoxOptions.showSecondaryButton","kind":"property","name":"showSecondaryButton","declaration":"showSecondaryButton?: boolean | null","summary":"Gets or sets a value indicating whether the secondary button is shown."},{"id":"property:InteractionMessageBoxOptions.showDismiss","kind":"property","name":"showDismiss","declaration":"showDismiss?: boolean | null","summary":"Gets or sets a value indicating whether the dismiss button is shown."},{"id":"property:InteractionMessageBoxOptions.enableMessageMarkdown","kind":"property","name":"enableMessageMarkdown","declaration":"enableMessageMarkdown?: boolean | null","summary":"Gets or sets a value indicating whether Markdown in the message is rendered."},{"id":"property:InteractionMessageBoxOptions.intent","kind":"property","name":"intent","declaration":"intent?: MessageIntent | null","summary":"Gets or sets the intent of the message box."}]},{"id":"dto:InteractionNotificationOptions","kind":"dto","name":"InteractionNotificationOptions","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.InteractionNotificationOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface InteractionNotificationOptions","summary":"Options for notification prompts.","members":[{"id":"property:InteractionNotificationOptions.primaryButtonText","kind":"property","name":"primaryButtonText","declaration":"primaryButtonText?: string | null","summary":"Gets or sets the primary button text."},{"id":"property:InteractionNotificationOptions.secondaryButtonText","kind":"property","name":"secondaryButtonText","declaration":"secondaryButtonText?: string | null","summary":"Gets or sets the secondary button text."},{"id":"property:InteractionNotificationOptions.showSecondaryButton","kind":"property","name":"showSecondaryButton","declaration":"showSecondaryButton?: boolean | null","summary":"Gets or sets a value indicating whether the secondary button is shown."},{"id":"property:InteractionNotificationOptions.showDismiss","kind":"property","name":"showDismiss","declaration":"showDismiss?: boolean | null","summary":"Gets or sets a value indicating whether the dismiss button is shown."},{"id":"property:InteractionNotificationOptions.enableMessageMarkdown","kind":"property","name":"enableMessageMarkdown","declaration":"enableMessageMarkdown?: boolean | null","summary":"Gets or sets a value indicating whether Markdown in the message is rendered."},{"id":"property:InteractionNotificationOptions.intent","kind":"property","name":"intent","declaration":"intent?: MessageIntent | null","summary":"Gets or sets the intent of the notification."},{"id":"property:InteractionNotificationOptions.linkText","kind":"property","name":"linkText","declaration":"linkText?: string | null","summary":"Gets or sets the text for a link in the notification."},{"id":"property:InteractionNotificationOptions.linkUrl","kind":"property","name":"linkUrl","declaration":"linkUrl?: string | null","summary":"Gets or sets the URL for the link in the notification."}]},{"id":"dto:InteractionProgressOptions","kind":"dto","name":"InteractionProgressOptions","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.InteractionProgressOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface InteractionProgressOptions","summary":"Options for progress dialog prompts.","members":[{"id":"property:InteractionProgressOptions.primaryButtonText","kind":"property","name":"primaryButtonText","declaration":"primaryButtonText?: string | null","summary":"Gets or sets the primary button text (e.g. \u0022Cancel\u0022)."},{"id":"property:InteractionProgressOptions.enableMessageMarkdown","kind":"property","name":"enableMessageMarkdown","declaration":"enableMessageMarkdown?: boolean | null","summary":"Gets or sets a value indicating whether Markdown in the message is rendered."},{"id":"property:InteractionProgressOptions.work","kind":"property","name":"work","declaration":"work?: (arg: ProgressContext) =\u003E Promise\u003Cvoid\u003E","summary":"Gets or sets an optional asynchronous work callback to execute while the progress dialog is displayed. When provided, the progress dialog remains open while this callback executes and closes automatically when the callback completes."}]},{"id":"dto:ParameterCustomInputOptions","kind":"dto","name":"ParameterCustomInputOptions","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.ParameterCustomInputOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface ParameterCustomInputOptions","summary":"Options for customizing parameter inputs from polyglot app hosts.","members":[{"id":"property:ParameterCustomInputOptions.inputType","kind":"property","name":"inputType","declaration":"inputType?: InputType","summary":"Gets or sets the type of the input."},{"id":"property:ParameterCustomInputOptions.label","kind":"property","name":"label","declaration":"label?: string | null","summary":"Gets or sets the label for the input."},{"id":"property:ParameterCustomInputOptions.description","kind":"property","name":"description","declaration":"description?: string | null","summary":"Gets or sets the description for the input."},{"id":"property:ParameterCustomInputOptions.enableDescriptionMarkdown","kind":"property","name":"enableDescriptionMarkdown","declaration":"enableDescriptionMarkdown?: boolean | null","summary":"Gets or sets whether the description should be rendered as Markdown."},{"id":"property:ParameterCustomInputOptions.options","kind":"property","name":"options","declaration":"options?: Record\u003Cstring, string\u003E","summary":"Gets or sets the choice options keyed by submitted value."},{"id":"property:ParameterCustomInputOptions.value","kind":"property","name":"value","declaration":"value?: string | null","summary":"Gets or sets the initial value of the input."},{"id":"property:ParameterCustomInputOptions.placeholder","kind":"property","name":"placeholder","declaration":"placeholder?: string | null","summary":"Gets or sets the placeholder text for the input."},{"id":"property:ParameterCustomInputOptions.allowCustomChoice","kind":"property","name":"allowCustomChoice","declaration":"allowCustomChoice?: boolean | null","summary":"Gets or sets whether custom choices are allowed."},{"id":"property:ParameterCustomInputOptions.disabled","kind":"property","name":"disabled","declaration":"disabled?: boolean | null","summary":"Gets or sets whether the input is disabled."},{"id":"property:ParameterCustomInputOptions.maxLength","kind":"property","name":"maxLength","declaration":"maxLength?: number | null","summary":"Gets or sets the maximum length for text inputs."}]},{"id":"dto:ProcessCommandExportOptions","kind":"dto","name":"ProcessCommandExportOptions","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProcessCommandExportOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface ProcessCommandExportOptions","summary":"ATS-friendly configuration for resource process commands.","members":[{"id":"property:ProcessCommandExportOptions.executablePath","kind":"property","name":"executablePath","declaration":"executablePath?: string | null","summary":"The executable path or command name to start."},{"id":"property:ProcessCommandExportOptions.arguments","kind":"property","name":"arguments","declaration":"arguments?: string[]","summary":"The command-line arguments for the process."},{"id":"property:ProcessCommandExportOptions.workingDirectory","kind":"property","name":"workingDirectory","declaration":"workingDirectory?: string | null","summary":"The working directory for the process."},{"id":"property:ProcessCommandExportOptions.environmentVariables","kind":"property","name":"environmentVariables","declaration":"environmentVariables?: Record\u003Cstring, string\u003E","summary":"The environment variables to set for the process."},{"id":"property:ProcessCommandExportOptions.inheritEnvironmentVariables","kind":"property","name":"inheritEnvironmentVariables","declaration":"inheritEnvironmentVariables?: boolean | null","summary":"A value indicating whether the process should inherit the current environment variables."},{"id":"property:ProcessCommandExportOptions.standardInputContent","kind":"property","name":"standardInputContent","declaration":"standardInputContent?: string | null","summary":"Standard input content to write to the process after it starts."},{"id":"property:ProcessCommandExportOptions.killEntireProcessTree","kind":"property","name":"killEntireProcessTree","declaration":"killEntireProcessTree?: boolean | null","summary":"A value indicating whether the entire process tree should be killed when the process is disposed."},{"id":"property:ProcessCommandExportOptions.createProcessSpec","kind":"property","name":"createProcessSpec","declaration":"createProcessSpec?: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E","summary":"A callback that creates the local process specification when the command is invoked."},{"id":"property:ProcessCommandExportOptions.commandOptions","kind":"property","name":"commandOptions","declaration":"commandOptions?: CommandOptions","summary":"Optional command configuration."},{"id":"property:ProcessCommandExportOptions.maxOutputLineCount","kind":"property","name":"maxOutputLineCount","declaration":"maxOutputLineCount?: number | null","summary":"The maximum number of stdout and stderr output lines returned as command result data."},{"id":"property:ProcessCommandExportOptions.displayImmediately","kind":"property","name":"displayImmediately","declaration":"displayImmediately?: boolean | null","summary":"A value indicating whether returned command output should be displayed immediately in the dashboard."},{"id":"property:ProcessCommandExportOptions.successExitCodes","kind":"property","name":"successExitCodes","declaration":"successExitCodes?: number[]","summary":"The exit codes that are treated as a successful command invocation."}]},{"id":"dto:ProcessCommandResultExportOptions","kind":"dto","name":"ProcessCommandResultExportOptions","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProcessCommandResultExportOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface ProcessCommandResultExportOptions","summary":"ATS-friendly result and command configuration for resource process commands.","members":[{"id":"property:ProcessCommandResultExportOptions.commandOptions","kind":"property","name":"commandOptions","declaration":"commandOptions?: CommandOptions","summary":"Optional command configuration."},{"id":"property:ProcessCommandResultExportOptions.maxOutputLineCount","kind":"property","name":"maxOutputLineCount","declaration":"maxOutputLineCount?: number | null","summary":"The maximum number of stdout and stderr output lines returned as command result data."},{"id":"property:ProcessCommandResultExportOptions.displayImmediately","kind":"property","name":"displayImmediately","declaration":"displayImmediately?: boolean | null","summary":"A value indicating whether returned command output should be displayed immediately in the dashboard."},{"id":"property:ProcessCommandResultExportOptions.successExitCodes","kind":"property","name":"successExitCodes","declaration":"successExitCodes?: number[]","summary":"The exit codes that are treated as a successful command invocation."}]},{"id":"dto:ProcessCommandSpecExportData","kind":"dto","name":"ProcessCommandSpecExportData","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProcessCommandSpecExportData","owningAssembly":"Aspire.Hosting","declaration":"export interface ProcessCommandSpecExportData","summary":"ATS-friendly process specification for resource process command callbacks.","members":[{"id":"property:ProcessCommandSpecExportData.executablePath","kind":"property","name":"executablePath","declaration":"executablePath?: string | null","summary":"The executable path or command name to start."},{"id":"property:ProcessCommandSpecExportData.arguments","kind":"property","name":"arguments","declaration":"arguments?: string[]","summary":"The command-line arguments for the process."},{"id":"property:ProcessCommandSpecExportData.workingDirectory","kind":"property","name":"workingDirectory","declaration":"workingDirectory?: string | null","summary":"The working directory for the process."},{"id":"property:ProcessCommandSpecExportData.environmentVariables","kind":"property","name":"environmentVariables","declaration":"environmentVariables?: Record\u003Cstring, string\u003E","summary":"The environment variables to set for the process."},{"id":"property:ProcessCommandSpecExportData.inheritEnvironmentVariables","kind":"property","name":"inheritEnvironmentVariables","declaration":"inheritEnvironmentVariables?: boolean | null","summary":"A value indicating whether the process should inherit the current environment variables."},{"id":"property:ProcessCommandSpecExportData.standardInputContent","kind":"property","name":"standardInputContent","declaration":"standardInputContent?: string | null","summary":"Standard input content to write to the process after it starts."},{"id":"property:ProcessCommandSpecExportData.killEntireProcessTree","kind":"property","name":"killEntireProcessTree","declaration":"killEntireProcessTree?: boolean | null","summary":"A value indicating whether the entire process tree should be killed when the process is disposed."}]},{"id":"dto:ReferenceEnvironmentInjectionOptions","kind":"dto","name":"ReferenceEnvironmentInjectionOptions","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.ReferenceEnvironmentInjectionOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface ReferenceEnvironmentInjectionOptions","summary":"Options that control which reference information is injected into environment variables.","members":[{"id":"property:ReferenceEnvironmentInjectionOptions.connectionString","kind":"property","name":"connectionString","declaration":"connectionString?: boolean","summary":"Injects the connection string environment variable."},{"id":"property:ReferenceEnvironmentInjectionOptions.connectionProperties","kind":"property","name":"connectionProperties","declaration":"connectionProperties?: boolean","summary":"Injects individual connection property environment variables."},{"id":"property:ReferenceEnvironmentInjectionOptions.serviceDiscovery","kind":"property","name":"serviceDiscovery","declaration":"serviceDiscovery?: boolean","summary":"Injects service discovery environment variables."},{"id":"property:ReferenceEnvironmentInjectionOptions.endpoints","kind":"property","name":"endpoints","declaration":"endpoints?: boolean","summary":"Injects endpoint environment variables."}]},{"id":"dto:ResourceEventDto","kind":"dto","name":"ResourceEventDto","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.ResourceEventDto","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceEventDto","summary":"DTO for resource events returned from notification service.","members":[{"id":"property:ResourceEventDto.resourceName","kind":"property","name":"resourceName","declaration":"resourceName?: string","summary":"The resource name."},{"id":"property:ResourceEventDto.resourceId","kind":"property","name":"resourceId","declaration":"resourceId?: string","summary":"The unique resource ID."},{"id":"property:ResourceEventDto.state","kind":"property","name":"state","declaration":"state?: string | null","summary":"The current state text."},{"id":"property:ResourceEventDto.stateStyle","kind":"property","name":"stateStyle","declaration":"stateStyle?: string | null","summary":"The state style (e.g., \u0022success\u0022, \u0022warn\u0022, \u0022error\u0022)."},{"id":"property:ResourceEventDto.healthStatus","kind":"property","name":"healthStatus","declaration":"healthStatus?: string | null","summary":"The health status of the resource."},{"id":"property:ResourceEventDto.exitCode","kind":"property","name":"exitCode","declaration":"exitCode?: number | null","summary":"The exit code if the resource has exited."}]},{"id":"dto:ResourceUrlAnnotation","kind":"dto","name":"ResourceUrlAnnotation","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlAnnotation","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceUrlAnnotation","summary":"A URL that should be displayed for a resource.","members":[{"id":"property:ResourceUrlAnnotation.url","kind":"property","name":"url","declaration":"url?: string","summary":"The URL. When rendered as a link this will be used as the link target."},{"id":"property:ResourceUrlAnnotation.displayText","kind":"property","name":"displayText","declaration":"displayText?: string | null","summary":"The name of the URL. When rendered as a link this will be used as the linked text."},{"id":"property:ResourceUrlAnnotation.endpoint","kind":"property","name":"endpoint","declaration":"endpoint?: EndpointReference","summary":"The endpoint associated with this URL. Can be \u0060null\u0060 if this URL is not associated with an endpoint."},{"id":"property:ResourceUrlAnnotation.displayLocation","kind":"property","name":"displayLocation","declaration":"displayLocation?: UrlDisplayLocation","summary":"Locations where this URL should be shown on the dashboard. Defaults to \u0060SummaryAndDetails\u0060."}]},{"id":"dto:RunConfiguration","kind":"dto","name":"RunConfiguration","typeId":"Aspire.Hosting/Aspire.Hosting.RunConfiguration","owningAssembly":"Aspire.Hosting","declaration":"export interface RunConfiguration","summary":"Holds settings applicable to the AppHost run mode (when \u0060Operation\u0060 is \u0060Run\u0060).","remarks":"Integrations use it to vary how their resources are launched without changing the core hosting behavior.\nIn \u0060Publish\u0060 mode every property holds its default value.","members":[{"id":"property:RunConfiguration.watchEnabled","kind":"property","name":"watchEnabled","declaration":"watchEnabled?: boolean","summary":"Indicates that resources should start in watch mode if able."}]},{"id":"dto:UpdateCommandStateResourceSnapshot","kind":"dto","name":"UpdateCommandStateResourceSnapshot","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateResourceSnapshot","owningAssembly":"Aspire.Hosting","declaration":"export interface UpdateCommandStateResourceSnapshot","summary":"Resource snapshot data exposed to polyglot command state callbacks.","members":[{"id":"property:UpdateCommandStateResourceSnapshot.resourceType","kind":"property","name":"resourceType","declaration":"resourceType?: string","summary":"The type of the resource."},{"id":"property:UpdateCommandStateResourceSnapshot.state","kind":"property","name":"state","declaration":"state?: string | null","summary":"The current lifecycle state text for the resource."},{"id":"property:UpdateCommandStateResourceSnapshot.stateStyle","kind":"property","name":"stateStyle","declaration":"stateStyle?: string | null","summary":"The display style for the current lifecycle state."},{"id":"property:UpdateCommandStateResourceSnapshot.healthStatus","kind":"property","name":"healthStatus","declaration":"healthStatus?: HealthStatus | null","summary":"The current health status for the resource."},{"id":"property:UpdateCommandStateResourceSnapshot.exitCode","kind":"property","name":"exitCode","declaration":"exitCode?: number | null","summary":"The exit code of the resource."}]},{"id":"enum:CertificateTrustScope","kind":"enum","name":"CertificateTrustScope","typeId":"enum:Aspire.Hosting.ApplicationModel.CertificateTrustScope","owningAssembly":"Aspire.Hosting","declaration":"export enum CertificateTrustScope","summary":"Defines the scope of custom certificate authorities for a resource. The default scope for most resources is \u0060Append\u0060, but some resources may choose to override this default behavior.","members":[{"id":"enumValue:CertificateTrustScope.None","kind":"property","name":"None","declaration":"None = \u0022None\u0022","summary":"Disable all custom certificate authority configuration for a resource. This indicates that the resource should use its default certificate authority trust behavior without modification."},{"id":"enumValue:CertificateTrustScope.Append","kind":"property","name":"Append","declaration":"Append = \u0022Append\u0022","summary":"Append the specified certificate authorities to the default set of trusted CAs for a resource. Not all resources support this mode, in which case custom certificate authorities may not be applied. In that case, consider using \u0060Override\u0060 or \u0060System\u0060 instead. This is the default mode unless otherwise specified."},{"id":"enumValue:CertificateTrustScope.Override","kind":"property","name":"Override","declaration":"Override = \u0022Override\u0022","summary":"Replace the default set of trusted CAs for a resource with the specified certificate authorities. This mode indicates that only the provided custom certificate authorities should be considered trusted by the resource."},{"id":"enumValue:CertificateTrustScope.System","kind":"property","name":"System","declaration":"System = \u0022System\u0022","summary":"Attempt to configure the resource to trust the default system certificate authorities in addition to any configured custom certificate trust. This mode is useful for resources that don\u0027t otherwise allow appending to their default trusted certificate authorities but do allow overriding the set of trusted certificates (e.g. Python, Rust, etc.)."}]},{"id":"enum:CommandResultFormat","kind":"enum","name":"CommandResultFormat","typeId":"enum:Aspire.Hosting.ApplicationModel.CommandResultFormat","owningAssembly":"Aspire.Hosting","declaration":"export enum CommandResultFormat","summary":"Specifies the format of a command result.","members":[{"id":"enumValue:CommandResultFormat.Text","kind":"property","name":"Text","declaration":"Text = \u0022Text\u0022","summary":"Plain text result."},{"id":"enumValue:CommandResultFormat.Json","kind":"property","name":"Json","declaration":"Json = \u0022Json\u0022","summary":"JSON result."},{"id":"enumValue:CommandResultFormat.Markdown","kind":"property","name":"Markdown","declaration":"Markdown = \u0022Markdown\u0022","summary":"Markdown result."}]},{"id":"enum:ContainerImageDestination","kind":"enum","name":"ContainerImageDestination","typeId":"enum:Aspire.Hosting.Publishing.ContainerImageDestination","owningAssembly":"Aspire.Hosting","declaration":"export enum ContainerImageDestination","summary":"Specifies the destination for container images.","members":[{"id":"enumValue:ContainerImageDestination.Registry","kind":"property","name":"Registry","declaration":"Registry = \u0022Registry\u0022","summary":"Image will be pushed to a container registry."},{"id":"enumValue:ContainerImageDestination.Archive","kind":"property","name":"Archive","declaration":"Archive = \u0022Archive\u0022","summary":"Image will be saved as an archive file."}]},{"id":"enum:ContainerImageFormat","kind":"enum","name":"ContainerImageFormat","typeId":"enum:Aspire.Hosting.Publishing.ContainerImageFormat","owningAssembly":"Aspire.Hosting","declaration":"export enum ContainerImageFormat","summary":"Specifies the format for container images.","members":[{"id":"enumValue:ContainerImageFormat.Docker","kind":"property","name":"Docker","declaration":"Docker = \u0022Docker\u0022","summary":"Docker format (default)."},{"id":"enumValue:ContainerImageFormat.Oci","kind":"property","name":"Oci","declaration":"Oci = \u0022Oci\u0022","summary":"OCI format."}]},{"id":"enum:ContainerLifetime","kind":"enum","name":"ContainerLifetime","typeId":"enum:Aspire.Hosting.ApplicationModel.ContainerLifetime","owningAssembly":"Aspire.Hosting","declaration":"export enum ContainerLifetime","summary":"Lifetime modes for container resources.","members":[{"id":"enumValue:ContainerLifetime.Session","kind":"property","name":"Session","declaration":"Session = \u0022Session\u0022","summary":"Create the resource when the app host process starts and dispose of it when the app host process shuts down."},{"id":"enumValue:ContainerLifetime.Persistent","kind":"property","name":"Persistent","declaration":"Persistent = \u0022Persistent\u0022","summary":"Attempt to re-use a previously created resource (based on the container name) if one exists. Do not destroy the container on app host process shutdown."}]},{"id":"enum:ContainerMountType","kind":"enum","name":"ContainerMountType","typeId":"enum:Aspire.Hosting.ApplicationModel.ContainerMountType","owningAssembly":"Aspire.Hosting","declaration":"export enum ContainerMountType","summary":"Represents the type of a container mount.","members":[{"id":"enumValue:ContainerMountType.BindMount","kind":"property","name":"BindMount","declaration":"BindMount = \u0022BindMount\u0022","summary":"A local directory or file that is mounted into the container."},{"id":"enumValue:ContainerMountType.Volume","kind":"property","name":"Volume","declaration":"Volume = \u0022Volume\u0022","summary":"A volume."}]},{"id":"enum:ContainerTargetPlatform","kind":"enum","name":"ContainerTargetPlatform","typeId":"enum:Aspire.Hosting.Publishing.ContainerTargetPlatform","owningAssembly":"Aspire.Hosting","declaration":"export enum ContainerTargetPlatform","summary":"Specifies the target platform for container images.","members":[{"id":"enumValue:ContainerTargetPlatform.LinuxAmd64","kind":"property","name":"LinuxAmd64","declaration":"LinuxAmd64 = \u0022LinuxAmd64\u0022","summary":"Linux AMD64 (linux/amd64)."},{"id":"enumValue:ContainerTargetPlatform.LinuxArm64","kind":"property","name":"LinuxArm64","declaration":"LinuxArm64 = \u0022LinuxArm64\u0022","summary":"Linux ARM64 (linux/arm64)."},{"id":"enumValue:ContainerTargetPlatform.AllLinux","kind":"property","name":"AllLinux","declaration":"AllLinux = \u0022AllLinux\u0022","summary":"All Linux platforms (AMD64 and ARM64)."},{"id":"enumValue:ContainerTargetPlatform.LinuxArm","kind":"property","name":"LinuxArm","declaration":"LinuxArm = \u0022LinuxArm\u0022","summary":"Linux ARM (linux/arm)."},{"id":"enumValue:ContainerTargetPlatform.Linux386","kind":"property","name":"Linux386","declaration":"Linux386 = \u0022Linux386\u0022","summary":"Linux 386 (linux/386)."},{"id":"enumValue:ContainerTargetPlatform.WindowsAmd64","kind":"property","name":"WindowsAmd64","declaration":"WindowsAmd64 = \u0022WindowsAmd64\u0022","summary":"Windows AMD64 (windows/amd64)."},{"id":"enumValue:ContainerTargetPlatform.WindowsArm64","kind":"property","name":"WindowsArm64","declaration":"WindowsArm64 = \u0022WindowsArm64\u0022","summary":"Windows ARM64 (windows/arm64)."}]},{"id":"enum:DistributedApplicationOperation","kind":"enum","name":"DistributedApplicationOperation","typeId":"enum:Aspire.Hosting.DistributedApplicationOperation","owningAssembly":"Aspire.Hosting","declaration":"export enum DistributedApplicationOperation","summary":"Describes the context in which the AppHost is being executed.","members":[{"id":"enumValue:DistributedApplicationOperation.Run","kind":"property","name":"Run","declaration":"Run = \u0022Run\u0022","summary":"AppHost is being run for the purpose of debugging locally."},{"id":"enumValue:DistributedApplicationOperation.Publish","kind":"property","name":"Publish","declaration":"Publish = \u0022Publish\u0022","summary":"AppHost is being run for the purpose of publishing a manifest for deployment."}]},{"id":"enum:EndpointProperty","kind":"enum","name":"EndpointProperty","typeId":"enum:Aspire.Hosting.ApplicationModel.EndpointProperty","owningAssembly":"Aspire.Hosting","declaration":"export enum EndpointProperty","summary":"Represents the properties of an endpoint that can be referenced.","members":[{"id":"enumValue:EndpointProperty.Url","kind":"property","name":"Url","declaration":"Url = \u0022Url\u0022","summary":"The entire URL of the endpoint."},{"id":"enumValue:EndpointProperty.Host","kind":"property","name":"Host","declaration":"Host = \u0022Host\u0022","summary":"The host of the endpoint."},{"id":"enumValue:EndpointProperty.IPV4Host","kind":"property","name":"IPV4Host","declaration":"IPV4Host = \u0022IPV4Host\u0022","summary":"The IPv4 address of the endpoint."},{"id":"enumValue:EndpointProperty.Port","kind":"property","name":"Port","declaration":"Port = \u0022Port\u0022","summary":"The port of the endpoint."},{"id":"enumValue:EndpointProperty.Scheme","kind":"property","name":"Scheme","declaration":"Scheme = \u0022Scheme\u0022","summary":"The scheme of the endpoint."},{"id":"enumValue:EndpointProperty.TargetPort","kind":"property","name":"TargetPort","declaration":"TargetPort = \u0022TargetPort\u0022","summary":"The target port of the endpoint."},{"id":"enumValue:EndpointProperty.HostAndPort","kind":"property","name":"HostAndPort","declaration":"HostAndPort = \u0022HostAndPort\u0022","summary":"The host and port of the endpoint in the format \u0060{Host}:{Port}\u0060."},{"id":"enumValue:EndpointProperty.TlsEnabled","kind":"property","name":"TlsEnabled","declaration":"TlsEnabled = \u0022TlsEnabled\u0022","summary":"Whether TLS is enabled on the endpoint. Returns \u0060TrueString\u0060 or \u0060FalseString\u0060."}]},{"id":"enum:HttpCommandResultMode","kind":"enum","name":"HttpCommandResultMode","typeId":"enum:Aspire.Hosting.ApplicationModel.HttpCommandResultMode","owningAssembly":"Aspire.Hosting","declaration":"export enum HttpCommandResultMode","summary":"Specifies how an HTTP command should surface the HTTP response body as command result data.","members":[{"id":"enumValue:HttpCommandResultMode.None","kind":"property","name":"None","declaration":"None = \u0022None\u0022","summary":"Do not capture the HTTP response body as command result data."},{"id":"enumValue:HttpCommandResultMode.Auto","kind":"property","name":"Auto","declaration":"Auto = \u0022Auto\u0022","summary":"Infer the command result format from the HTTP response content type."},{"id":"enumValue:HttpCommandResultMode.Json","kind":"property","name":"Json","declaration":"Json = \u0022Json\u0022","summary":"Return the HTTP response body as JSON command result data."},{"id":"enumValue:HttpCommandResultMode.Text","kind":"property","name":"Text","declaration":"Text = \u0022Text\u0022","summary":"Return the HTTP response body as plain text command result data."}]},{"id":"enum:IconVariant","kind":"enum","name":"IconVariant","typeId":"enum:Aspire.Hosting.ApplicationModel.IconVariant","owningAssembly":"Aspire.Hosting","declaration":"export enum IconVariant","summary":"The icon variant.","members":[{"id":"enumValue:IconVariant.Regular","kind":"property","name":"Regular","declaration":"Regular = \u0022Regular\u0022","summary":"Regular variant of icons."},{"id":"enumValue:IconVariant.Filled","kind":"property","name":"Filled","declaration":"Filled = \u0022Filled\u0022","summary":"Filled variant of icons."}]},{"id":"enum:ImagePullPolicy","kind":"enum","name":"ImagePullPolicy","typeId":"enum:Aspire.Hosting.ApplicationModel.ImagePullPolicy","owningAssembly":"Aspire.Hosting","declaration":"export enum ImagePullPolicy","summary":"Image pull policies for container resources.","members":[{"id":"enumValue:ImagePullPolicy.Default","kind":"property","name":"Default","declaration":"Default = \u0022Default\u0022","summary":"Default image pull policy behavior. Currently this will be the same as the default behavior for your container runtime."},{"id":"enumValue:ImagePullPolicy.Always","kind":"property","name":"Always","declaration":"Always = \u0022Always\u0022","summary":"Always pull the image when creating the container."},{"id":"enumValue:ImagePullPolicy.Missing","kind":"property","name":"Missing","declaration":"Missing = \u0022Missing\u0022","summary":"Pull the image only if it does not already exist."},{"id":"enumValue:ImagePullPolicy.Never","kind":"property","name":"Never","declaration":"Never = \u0022Never\u0022","summary":"Never pull the image from the registry even if it is missing locally."}]},{"id":"enum:MessageIntent","kind":"enum","name":"MessageIntent","typeId":"enum:Aspire.Hosting.MessageIntent","owningAssembly":"Aspire.Hosting","declaration":"export enum MessageIntent","summary":"Specifies the intent or purpose of a message in an interaction.","members":[{"id":"enumValue:MessageIntent.None","kind":"property","name":"None","declaration":"None = \u0022None\u0022","summary":"No specific intent."},{"id":"enumValue:MessageIntent.Success","kind":"property","name":"Success","declaration":"Success = \u0022Success\u0022","summary":"Indicates a successful operation."},{"id":"enumValue:MessageIntent.Warning","kind":"property","name":"Warning","declaration":"Warning = \u0022Warning\u0022","summary":"Indicates a warning."},{"id":"enumValue:MessageIntent.Error","kind":"property","name":"Error","declaration":"Error = \u0022Error\u0022","summary":"Indicates an error."},{"id":"enumValue:MessageIntent.Information","kind":"property","name":"Information","declaration":"Information = \u0022Information\u0022","summary":"Provides informational content."},{"id":"enumValue:MessageIntent.Confirmation","kind":"property","name":"Confirmation","declaration":"Confirmation = \u0022Confirmation\u0022","summary":"Requests confirmation from the user."}]},{"id":"enum:OtlpProtocol","kind":"enum","name":"OtlpProtocol","typeId":"enum:Aspire.Hosting.OtlpProtocol","owningAssembly":"Aspire.Hosting","declaration":"export enum OtlpProtocol","summary":"Protocols available for OTLP exporters.","members":[{"id":"enumValue:OtlpProtocol.Grpc","kind":"property","name":"Grpc","declaration":"Grpc = \u0022Grpc\u0022","summary":"A gRPC-based OTLP exporter."},{"id":"enumValue:OtlpProtocol.HttpProtobuf","kind":"property","name":"HttpProtobuf","declaration":"HttpProtobuf = \u0022HttpProtobuf\u0022","summary":"Http/Protobuf-based OTLP exporter."},{"id":"enumValue:OtlpProtocol.HttpJson","kind":"property","name":"HttpJson","declaration":"HttpJson = \u0022HttpJson\u0022","summary":"Http/JSON-based OTLP exporter."}]},{"id":"enum:ProbeType","kind":"enum","name":"ProbeType","typeId":"enum:Aspire.Hosting.ApplicationModel.ProbeType","owningAssembly":"Aspire.Hosting","declaration":"export enum ProbeType","summary":"Enum representing the type of probe.","members":[{"id":"enumValue:ProbeType.Startup","kind":"property","name":"Startup","declaration":"Startup = \u0022Startup\u0022","summary":"Startup probe."},{"id":"enumValue:ProbeType.Readiness","kind":"property","name":"Readiness","declaration":"Readiness = \u0022Readiness\u0022","summary":"Readiness probe."},{"id":"enumValue:ProbeType.Liveness","kind":"property","name":"Liveness","declaration":"Liveness = \u0022Liveness\u0022","summary":"Liveness probe."}]},{"id":"enum:ResourceCommandState","kind":"enum","name":"ResourceCommandState","typeId":"enum:Aspire.Hosting.ApplicationModel.ResourceCommandState","owningAssembly":"Aspire.Hosting","declaration":"export enum ResourceCommandState","summary":"The state of a resource command.","members":[{"id":"enumValue:ResourceCommandState.Enabled","kind":"property","name":"Enabled","declaration":"Enabled = \u0022Enabled\u0022","summary":"Command is visible and enabled for use."},{"id":"enumValue:ResourceCommandState.Disabled","kind":"property","name":"Disabled","declaration":"Disabled = \u0022Disabled\u0022","summary":"Command is visible and disabled for use."},{"id":"enumValue:ResourceCommandState.Hidden","kind":"property","name":"Hidden","declaration":"Hidden = \u0022Hidden\u0022","summary":"Command is hidden."}]},{"id":"enum:ResourceCommandVisibility","kind":"enum","name":"ResourceCommandVisibility","typeId":"enum:Aspire.Hosting.ApplicationModel.ResourceCommandVisibility","owningAssembly":"Aspire.Hosting","declaration":"export enum ResourceCommandVisibility","summary":"Describes where a resource command is visible.","members":[{"id":"enumValue:ResourceCommandVisibility.None","kind":"property","name":"None","declaration":"None = \u0022None\u0022","summary":"The command is not visible to any clients."},{"id":"enumValue:ResourceCommandVisibility.UI","kind":"property","name":"UI","declaration":"UI = \u0022UI\u0022","summary":"The command is displayed in UI clients."},{"id":"enumValue:ResourceCommandVisibility.Api","kind":"property","name":"Api","declaration":"Api = \u0022Api\u0022","summary":"The command is exposed through resource command API discovery."}]},{"id":"enum:UrlDisplayLocation","kind":"enum","name":"UrlDisplayLocation","typeId":"enum:Aspire.Hosting.ApplicationModel.UrlDisplayLocation","owningAssembly":"Aspire.Hosting","declaration":"export enum UrlDisplayLocation","summary":"Specifies where the URL should be displayed.","members":[{"id":"enumValue:UrlDisplayLocation.SummaryAndDetails","kind":"property","name":"SummaryAndDetails","declaration":"SummaryAndDetails = \u0022SummaryAndDetails\u0022","summary":"Show the URL in locations where either the resource summary or resource details are being displayed."},{"id":"enumValue:UrlDisplayLocation.DetailsOnly","kind":"property","name":"DetailsOnly","declaration":"DetailsOnly = \u0022DetailsOnly\u0022","summary":"Show the URL in locations where the full details of the resource are being displayed."}]},{"id":"enum:WaitBehavior","kind":"enum","name":"WaitBehavior","typeId":"enum:Aspire.Hosting.ApplicationModel.WaitBehavior","owningAssembly":"Aspire.Hosting","declaration":"export enum WaitBehavior","summary":"Specifies the behavior of the wait.","members":[{"id":"enumValue:WaitBehavior.WaitOnResourceUnavailable","kind":"property","name":"WaitOnResourceUnavailable","declaration":"WaitOnResourceUnavailable = \u0022WaitOnResourceUnavailable\u0022","summary":"If the resource is unavailable, continue waiting."},{"id":"enumValue:WaitBehavior.StopOnResourceUnavailable","kind":"property","name":"StopOnResourceUnavailable","declaration":"StopOnResourceUnavailable = \u0022StopOnResourceUnavailable\u0022","summary":"If the resource is unavailable, stop waiting."}]},{"id":"interface:AfterPublishEvent","kind":"interface","name":"AfterPublishEvent","typeId":"Aspire.Hosting/Aspire.Hosting.Publishing.AfterPublishEvent","owningAssembly":"Aspire.Hosting","declaration":"export interface AfterPublishEvent","summary":"This event is published after the distributed application is published.","members":[{"id":"property:AfterPublishEvent.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.Publishing/AfterPublishEvent.services","summary":"The \u0060IServiceProvider\u0060 for the app host."},{"id":"property:AfterPublishEvent.model","kind":"property","name":"model","declaration":"model(): DistributedApplicationModelPromise","capabilityId":"Aspire.Hosting.Publishing/AfterPublishEvent.model","summary":"The \u0060DistributedApplicationModel\u0060 instance."}]},{"id":"interface:AfterResourcesCreatedEvent","kind":"interface","name":"AfterResourcesCreatedEvent","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.AfterResourcesCreatedEvent","owningAssembly":"Aspire.Hosting","declaration":"export interface AfterResourcesCreatedEvent","summary":"This event is published after all resources have been created.","remarks":"Subscribing to this event is analogous to implementing the \u0060AfterResourcesCreatedAsync\u0060\nmethod. This event provides access to the \u0060IServiceProvider\u0060 interface to resolve dependencies including\n\u0060DistributedApplicationModel\u0060 service which is passed in as an argument\nin \u0060AfterResourcesCreatedAsync\u0060.","members":[{"id":"property:AfterResourcesCreatedEvent.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/AfterResourcesCreatedEvent.services","summary":"The \u0060IServiceProvider\u0060 instance."},{"id":"property:AfterResourcesCreatedEvent.model","kind":"property","name":"model","declaration":"model(): DistributedApplicationModelPromise","capabilityId":"Aspire.Hosting.ApplicationModel/AfterResourcesCreatedEvent.model","summary":"The \u0060DistributedApplicationModel\u0060 instance."}]},{"id":"interface:AspireStore","kind":"interface","name":"AspireStore","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IAspireStore","owningAssembly":"Aspire.Hosting","declaration":"export interface AspireStore","summary":"Represents a store for managing files in the Aspire hosting environment that can be reused across runs.","remarks":"The store is created under the AppHost obj folder, or under the path specified by the\nASPIRE__STORE__PATH environment variable. Each application gets its own store so files\ndo not conflict with unrelated applications.","members":[{"id":"property:AspireStore.basePath","kind":"property","name":"basePath","declaration":"basePath(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/IAspireStore.basePath","summary":"Gets the base path of this store."},{"id":"method:AspireStore.getFileNameWithContent","kind":"method","name":"getFileNameWithContent","declaration":"getFileNameWithContent(filenameTemplate: string, sourceFilename: string): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getFileNameWithContent","returnType":"Promise\u003Cstring\u003E","summary":"Gets a deterministic file path that is a copy of the \u0060sourceFilename\u0060. The resulting file name will depend on the content of the file.","parameters":[{"name":"filenameTemplate","type":"string","optional":false,"summary":"A file name to base the result on."},{"name":"sourceFilename","type":"string","optional":false,"summary":"An existing file."}]}]},{"id":"interface:BeforePublishEvent","kind":"interface","name":"BeforePublishEvent","typeId":"Aspire.Hosting/Aspire.Hosting.Publishing.BeforePublishEvent","owningAssembly":"Aspire.Hosting","declaration":"export interface BeforePublishEvent","summary":"This event is published before the distributed application is published.","members":[{"id":"property:BeforePublishEvent.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.Publishing/BeforePublishEvent.services","summary":"The \u0060IServiceProvider\u0060 for the app host."},{"id":"property:BeforePublishEvent.model","kind":"property","name":"model","declaration":"model(): DistributedApplicationModelPromise","capabilityId":"Aspire.Hosting.Publishing/BeforePublishEvent.model","summary":"The \u0060DistributedApplicationModel\u0060 instance."}]},{"id":"interface:BeforeResourceStartedEvent","kind":"interface","name":"BeforeResourceStartedEvent","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeResourceStartedEvent","owningAssembly":"Aspire.Hosting","declaration":"export interface BeforeResourceStartedEvent","summary":"This event is raised by orchestrators before they have started a new resource.","remarks":"Resources that are created by orchestrators may not yet be ready to handle requests.","members":[{"id":"property:BeforeResourceStartedEvent.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/BeforeResourceStartedEvent.resource"},{"id":"property:BeforeResourceStartedEvent.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/BeforeResourceStartedEvent.services"}]},{"id":"interface:BeforeStartEvent","kind":"interface","name":"BeforeStartEvent","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeStartEvent","owningAssembly":"Aspire.Hosting","declaration":"export interface BeforeStartEvent","summary":"This event is published before the application starts.","remarks":"Subscribing to this event is analogous to implementing the \u0060BeforeStartAsync\u0060\nmethod. This event provides access to the \u0060IServiceProvider\u0060 interface to resolve dependencies including\n\u0060DistributedApplicationModel\u0060 service which is passed in as an argument\nin \u0060BeforeStartAsync\u0060.","members":[{"id":"property:BeforeStartEvent.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/BeforeStartEvent.services","summary":"The \u0060IServiceProvider\u0060 instance."},{"id":"property:BeforeStartEvent.model","kind":"property","name":"model","declaration":"model(): DistributedApplicationModelPromise","capabilityId":"Aspire.Hosting.ApplicationModel/BeforeStartEvent.model","summary":"The \u0060DistributedApplicationModel\u0060 instance."}]},{"id":"interface:CSharpAppResource","kind":"interface","name":"CSharpAppResource","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.CSharpAppResource","owningAssembly":"Aspire.Hosting","declaration":"export interface CSharpAppResource extends ResourceBuilderBase","extends":["ResourceBuilderBase"],"members":[{"id":"method:CSharpAppResource.withContainerRegistry","kind":"method","name":"withContainerRegistry","declaration":"withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withContainerRegistry","returnType":"CSharpAppResourcePromise","summary":"Configures the resource to use the specified container registry for container image operations.","remarks":"This method adds a \u0060ContainerRegistryReferenceAnnotation\u0060 to the resource,\nindicating that the resource should use the specified container registry for container image operations.","parameters":[{"name":"registry","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The container registry resource builder."}]},{"id":"method:CSharpAppResource.withDockerfileBaseImage","kind":"method","name":"withDockerfileBaseImage","declaration":"withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withDockerfileBaseImage","returnType":"CSharpAppResourcePromise","summary":"Configures custom base images for generated Dockerfiles.","remarks":"This extension method allows customization of the base images used in generated Dockerfiles.\nFor multi-stage Dockerfiles (e.g., Python with UV), you can specify separate build and runtime images.\nSpecify custom base images for a Python application:\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddPythonApp(\u0022myapp\u0022, \u0022path/to/app\u0022, \u0022main.py\u0022)\n.WithDockerfileBaseImage(\nbuildImage: \u0022ghcr.io/astral-sh/uv:python3.12-bookworm-slim\u0022,\nruntimeImage: \u0022python:3.12-slim-bookworm\u0022);\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"buildImage","type":"string","optional":true,"summary":"The base image to use for the build stage. If null, uses the default build image."},{"name":"runtimeImage","type":"string","optional":true,"summary":"The base image to use for the runtime stage. If null, uses the default runtime image."}]},{"id":"method:CSharpAppResource.withMcpServer","kind":"method","name":"withMcpServer","declaration":"withMcpServer(options?: WithMcpServerOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withMcpServer","returnType":"CSharpAppResourcePromise","summary":"Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint.","remarks":"This method adds an \u0060McpServerEndpointAnnotation\u0060 to the resource, enabling the Aspire tooling\nto discover and proxy the MCP server exposed by the resource.","parameters":[{"name":"path","type":"string","optional":true,"summary":"An optional path to append to the endpoint URL when forming the MCP server address. Defaults to \u0060\u0022/mcp\u0022\u0060."},{"name":"endpointName","type":"string","optional":true,"summary":"An optional name of the endpoint that hosts the MCP server. If not specified, defaults to the first HTTPS or HTTP endpoint."}]},{"id":"method:CSharpAppResource.withOtlpExporter","kind":"method","name":"withOtlpExporter","declaration":"withOtlpExporter(options?: WithOtlpExporterOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withOtlpExporter","returnType":"CSharpAppResourcePromise","summary":"Configures OTLP telemetry export","parameters":[{"name":"protocol","type":"OtlpProtocol","optional":true}]},{"id":"method:CSharpAppResource.withReplicas","kind":"method","name":"withReplicas","declaration":"withReplicas(replicas: number): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withReplicas","returnType":"CSharpAppResourcePromise","summary":"Configures how many replicas of the project should be created for the project.","parameters":[{"name":"replicas","type":"number","optional":false,"summary":"The number of replicas."}]},{"id":"method:CSharpAppResource.disableForwardedHeaders","kind":"method","name":"disableForwardedHeaders","declaration":"disableForwardedHeaders(): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/disableForwardedHeaders","returnType":"CSharpAppResourcePromise","summary":"Configures the project to disable forwarded headers when being published."},{"id":"method:CSharpAppResource.publishAsDockerFile","kind":"method","name":"publishAsDockerFile","declaration":"publishAsDockerFile(options?: PublishAsDockerFileOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/publishProjectAsDockerFileWithConfigure","returnType":"CSharpAppResourcePromise","summary":"Publishes a project as a Docker file with optional container configuration","remarks":"When the executable resource is converted to a container resource, the arguments to the executable\nare not used. This is because arguments to the project often contain physical paths that are not valid\nin the container. The container can be set up with the correct arguments using the \u0060configure\u0060 action.","parameters":[{"name":"configure","type":"(obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E","optional":true,"summary":"Optional action to configure the container resource"}]},{"id":"method:CSharpAppResource.withRequiredCommand","kind":"method","name":"withRequiredCommand","declaration":"withRequiredCommand(command: string, options?: WithRequiredCommandOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommand","returnType":"CSharpAppResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start.","remarks":"The command is considered valid if either:\n1. It is an absolute or relative path (contains a directory separator) that points to an existing file, or\n2. It is discoverable on the current process PATH (respecting PATHEXT on Windows).\nIf the command is not found, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing."}]},{"id":"method:CSharpAppResource.withRequiredCommandValidation","kind":"method","name":"withRequiredCommandValidation","declaration":"withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommandValidation","returnType":"CSharpAppResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start, with custom validation logic.","remarks":"The command is first resolved to a full path. If found, the validation callback is invoked with the context containing the resolved path and service provider.\nThe callback should return a \u0060RequiredCommandValidationResult\u0060 indicating whether the command is valid,\nwhich can be created via \u0060Success\u0060 or \u0060Failure\u0060.\nIf the command is not found or fails validation, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"validationCallback","type":"(arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E","optional":false,"summary":"A callback that validates the resolved command path. Receives a \u0060RequiredCommandValidationContext\u0060 and returns a \u0060RequiredCommandValidationResult\u0060."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing or fails validation."}]},{"id":"method:CSharpAppResource.withSessionLifetime","kind":"method","name":"withSessionLifetime","declaration":"withSessionLifetime(): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withSessionLifetime","returnType":"CSharpAppResourcePromise","summary":"Configures a resource to use a session lifetime."},{"id":"method:CSharpAppResource.withPersistentLifetime","kind":"method","name":"withPersistentLifetime","declaration":"withPersistentLifetime(): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withPersistentLifetime","returnType":"CSharpAppResourcePromise","summary":"Configures a resource to use a persistent lifetime."},{"id":"method:CSharpAppResource.withLifetimeOf","kind":"method","name":"withLifetimeOf","declaration":"withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withLifetimeOf","returnType":"CSharpAppResourcePromise","summary":"Configures a resource to match the lifetime of another resource.","remarks":"The resource lifetime is evaluated from \u0060sourceBuilder\u0060 when the application model is prepared, so later lifetime\nchanges to the source resource are reflected by this resource.","parameters":[{"name":"sourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder whose lifetime should be used."}]},{"id":"method:CSharpAppResource.withParentProcessLifetime","kind":"method","name":"withParentProcessLifetime","declaration":"withParentProcessLifetime(parentProcessId: number): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withParentProcessLifetime","returnType":"CSharpAppResourcePromise","summary":"Configures a resource to use a persistent lifetime that ends when a parent process exits.","parameters":[{"name":"parentProcessId","type":"number","optional":false,"summary":"The ID of the parent process to monitor."}]},{"id":"method:CSharpAppResource.withEnvironment","kind":"method","name":"withEnvironment","declaration":"withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withEnvironment","returnType":"CSharpAppResourcePromise","summary":"Sets an environment variable","parameters":[{"name":"name","type":"string","optional":false},{"name":"value","type":"string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E","optional":false}]},{"id":"method:CSharpAppResource.withEnvironmentCallback","kind":"method","name":"withEnvironmentCallback","declaration":"withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withEnvironmentCallback","returnType":"CSharpAppResourcePromise","summary":"Allows for the population of environment variables on a resource.","parameters":[{"name":"callback","type":"(arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing many environment variables. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]},{"id":"method:CSharpAppResource.withArgs","kind":"method","name":"withArgs","declaration":"withArgs(args: string[]): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withArgs","returnType":"CSharpAppResourcePromise","summary":"Adds arguments to be passed to a resource that supports arguments when it is launched.","parameters":[{"name":"args","type":"string[]","optional":false,"summary":"The arguments to be passed to the resource when it is started."}]},{"id":"method:CSharpAppResource.withArgsCallback","kind":"method","name":"withArgsCallback","declaration":"withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withArgsCallback","returnType":"CSharpAppResourcePromise","summary":"Adds a callback to be executed with a list of command-line arguments when a resource is started.","parameters":[{"name":"callback","type":"(obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing arguments. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]},{"id":"method:CSharpAppResource.withReferenceEnvironment","kind":"method","name":"withReferenceEnvironment","declaration":"withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withReferenceEnvironment","returnType":"CSharpAppResourcePromise","summary":"Configures how information is injected into environment variables when the resource references other resources.","parameters":[{"name":"options","type":"ReferenceEnvironmentInjectionOptions","optional":false,"summary":"Options controlling which reference information is emitted."}]},{"id":"method:CSharpAppResource.withReference","kind":"method","name":"withReference","declaration":"withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withReference","returnType":"CSharpAppResourcePromise","summary":"Adds a reference to another resource","parameters":[{"name":"source","type":"CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E","optional":false},{"name":"connectionName","type":"string","optional":true},{"name":"optional","type":"boolean","optional":true},{"name":"name","type":"string","optional":true}]},{"id":"method:CSharpAppResource.withEndpointCallback","kind":"method","name":"withEndpointCallback","declaration":"withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withEndpointCallback","returnType":"CSharpAppResourcePromise","summary":"Updates a named endpoint via callback","parameters":[{"name":"endpointName","type":"string","optional":false},{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:CSharpAppResource.withHttpEndpointCallback","kind":"method","name":"withHttpEndpointCallback","declaration":"withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withHttpEndpointCallback","returnType":"CSharpAppResourcePromise","summary":"Updates an HTTP endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:CSharpAppResource.withHttpsEndpointCallback","kind":"method","name":"withHttpsEndpointCallback","declaration":"withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withHttpsEndpointCallback","returnType":"CSharpAppResourcePromise","summary":"Updates an HTTPS endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:CSharpAppResource.withEndpoint","kind":"method","name":"withEndpoint","declaration":"withEndpoint(options?: WithEndpointOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withEndpoint","returnType":"CSharpAppResourcePromise","summary":"Adds a network endpoint","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"scheme","type":"string","optional":true,"summary":"An optional scheme e.g. (http/https). Defaults to the \u0060protocol\u0060 argument if it is defined or \u0022tcp\u0022 otherwise."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to the scheme name if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable that will be used to inject the \u0060targetPort\u0060. If the target port is null one will be dynamically generated and assigned to the environment variable."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."},{"name":"isExternal","type":"boolean","optional":true,"summary":"Indicates that this endpoint should be exposed externally at publish time."},{"name":"protocol","type":"ProtocolType","optional":true,"summary":"Network protocol: TCP or UDP are supported today, others possibly in future."}]},{"id":"method:CSharpAppResource.withEndpointProxySupport","kind":"method","name":"withEndpointProxySupport","declaration":"withEndpointProxySupport(proxyEnabled: boolean): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withEndpointProxySupport","returnType":"CSharpAppResourcePromise","summary":"Set whether a resource can use proxied endpoints or whether they should be disabled for all endpoints belonging to the resource. If set to \u0060false\u0060, endpoints belonging to the resource will ignore the configured proxy settings and run proxy-less.","remarks":"This method is intended to support scenarios with persistent lifetime resources where it is desirable for the resource to be accessible over the same\nport whether the Aspire application is running or not. Proxied endpoints bind ports that are only accessible while the Aspire application is running.\nThe user needs to be careful to ensure that endpoints are using unique ports when disabling proxy support as by default for proxy-less\nendpoints, Aspire will allocate the target port as the host port, which will increase the chance of port conflicts.","parameters":[{"name":"proxyEnabled","type":"boolean","optional":false,"summary":"Should endpoints for the resource support using a proxy?"}]},{"id":"method:CSharpAppResource.withHttpEndpoint","kind":"method","name":"withHttpEndpoint","declaration":"withHttpEndpoint(options?: WithHttpEndpointOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withHttpEndpoint","returnType":"CSharpAppResourcePromise","summary":"Adds an HTTP endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022http\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:CSharpAppResource.withHttpsEndpoint","kind":"method","name":"withHttpsEndpoint","declaration":"withHttpsEndpoint(options?: WithHttpsEndpointOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withHttpsEndpoint","returnType":"CSharpAppResourcePromise","summary":"Adds an HTTPS endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional host port."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022https\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:CSharpAppResource.withExternalHttpEndpoints","kind":"method","name":"withExternalHttpEndpoints","declaration":"withExternalHttpEndpoints(): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withExternalHttpEndpoints","returnType":"CSharpAppResourcePromise","summary":"Marks existing http or https endpoints on a resource as external."},{"id":"method:CSharpAppResource.getEndpoint","kind":"method","name":"getEndpoint","declaration":"getEndpoint(name: string): EndpointReferencePromise","capabilityId":"Aspire.Hosting/getEndpoint","returnType":"EndpointReferencePromise","summary":"Gets an endpoint reference","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the endpoint."}]},{"id":"method:CSharpAppResource.asHttp2Service","kind":"method","name":"asHttp2Service","declaration":"asHttp2Service(): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/asHttp2Service","returnType":"CSharpAppResourcePromise","summary":"Configures a resource to mark all endpoints\u0027 transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge."},{"id":"method:CSharpAppResource.withUrls","kind":"method","name":"withUrls","declaration":"withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withUrls","returnType":"CSharpAppResourcePromise","summary":"Registers a callback to customize the URLs displayed for the resource.","parameters":[{"name":"callback","type":"(obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize URLs for the resource."}]},{"id":"method:CSharpAppResource.withUrl","kind":"method","name":"withUrl","declaration":"withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withUrl","returnType":"CSharpAppResourcePromise","summary":"Adds or modifies displayed URLs","parameters":[{"name":"url","type":"string | ReferenceExpression","optional":false},{"name":"displayText","type":"string","optional":true}]},{"id":"method:CSharpAppResource.withUrlForEndpoint","kind":"method","name":"withUrlForEndpoint","declaration":"withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withUrlForEndpoint","returnType":"CSharpAppResourcePromise","summary":"Registers a callback to update the URL displayed for the endpoint with the specified name.","parameters":[{"name":"endpointName","type":"string","optional":false,"summary":"The name of the endpoint to customize the URL for."},{"name":"callback","type":"(obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize the URL."}]},{"id":"method:CSharpAppResource.publishWithContainerFiles","kind":"method","name":"publishWithContainerFiles","declaration":"publishWithContainerFiles(source: Awaitable\u003CResourceWithContainerFiles\u003E, destinationPath: string): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/publishWithContainerFilesFromResource","returnType":"CSharpAppResourcePromise","summary":"Configures the resource to copy container files from the specified source resource during publishing.","parameters":[{"name":"source","type":"Awaitable\u003CResourceWithContainerFiles\u003E","optional":false,"summary":"The resource which contains the container files to be copied."},{"name":"destinationPath","type":"string","optional":false,"summary":"The destination path within the resource\u0027s container where the files will be copied."}]},{"id":"method:CSharpAppResource.excludeFromManifest","kind":"method","name":"excludeFromManifest","declaration":"excludeFromManifest(): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/excludeFromManifest","returnType":"CSharpAppResourcePromise","summary":"Excludes a resource from being published to the manifest."},{"id":"method:CSharpAppResource.waitFor","kind":"method","name":"waitFor","declaration":"waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/waitFor","returnType":"CSharpAppResourcePromise","summary":"Waits for another resource to be ready","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:CSharpAppResource.waitForStart","kind":"method","name":"waitForStart","declaration":"waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/waitForStart","returnType":"CSharpAppResourcePromise","summary":"Waits for another resource to start","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:CSharpAppResource.withExplicitStart","kind":"method","name":"withExplicitStart","declaration":"withExplicitStart(): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withExplicitStart","returnType":"CSharpAppResourcePromise","summary":"Prevents resource from starting automatically"},{"id":"method:CSharpAppResource.waitForCompletion","kind":"method","name":"waitForCompletion","declaration":"waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/waitForResourceCompletion","returnType":"CSharpAppResourcePromise","summary":"Waits for the dependency resource to enter the Exited or Finished state before starting the resource.","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder for the dependency resource."},{"name":"exitCode","type":"number","optional":true,"summary":"The exit code which is interpreted as successful."}]},{"id":"method:CSharpAppResource.withHealthCheck","kind":"method","name":"withHealthCheck","declaration":"withHealthCheck(key: string): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withHealthCheck","returnType":"CSharpAppResourcePromise","summary":"Adds a health check by key","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key for the health check."}]},{"id":"method:CSharpAppResource.withHttpHealthCheck","kind":"method","name":"withHttpHealthCheck","declaration":"withHttpHealthCheck(options?: WithHttpHealthCheckOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withHttpHealthCheck","returnType":"CSharpAppResourcePromise","summary":"Adds a health check to the resource which is mapped to a specific endpoint.","parameters":[{"name":"path","type":"string","optional":true,"summary":"The relative path to test."},{"name":"statusCode","type":"number","optional":true,"summary":"The result code to interpret as healthy."},{"name":"endpointName","type":"string","optional":true,"summary":"The name of the endpoint to derive the base address from."}]},{"id":"method:CSharpAppResource.withCommand","kind":"method","name":"withCommand","declaration":"withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withCommand","returnType":"CSharpAppResourcePromise","summary":"Adds a resource command","remarks":"The \u0060WithCommand\u0060 method is used to add commands to the resource. Commands are displayed in the dashboard\nand can be executed by a user using the dashboard UI.\nWhen a command is executed, the \u0060executeCommand\u0060 callback is called and is run inside the Aspire host.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the command. The name uniquely identifies the command."},{"name":"displayName","type":"string","optional":false,"summary":"The display name visible in UI."},{"name":"executeCommand","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E","optional":false,"summary":"A callback that is executed when the command is executed. The callback is run inside the Aspire host. The callback result is used to indicate success or failure in the UI."},{"name":"commandOptions","type":"CommandOptions","optional":true,"summary":"Optional configuration for the command."}]},{"id":"method:CSharpAppResource.withProcessCommand","kind":"method","name":"withProcessCommand","declaration":"withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommand","returnType":"CSharpAppResourcePromise","summary":"Adds a command to the resource that starts a local process when invoked.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"ProcessCommandExportOptions","optional":false}]},{"id":"method:CSharpAppResource.withProcessCommandFactory","kind":"method","name":"withProcessCommandFactory","declaration":"withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommandFactory","returnType":"CSharpAppResourcePromise","summary":"Adds a command to the resource that starts a local process created by a callback when invoked.","deprecated":"Use withProcessCommand with createProcessSpec in the options object instead.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"createProcessSpec","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E","optional":false},{"name":"options","type":"ProcessCommandResultExportOptions","optional":true}]},{"id":"method:CSharpAppResource.withHttpCommand","kind":"method","name":"withHttpCommand","declaration":"withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withHttpCommand","returnType":"CSharpAppResourcePromise","summary":"Adds an HTTP resource command","parameters":[{"name":"path","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"HttpCommandExportOptions","optional":true}]},{"id":"method:CSharpAppResource.withDeveloperCertificateTrust","kind":"method","name":"withDeveloperCertificateTrust","declaration":"withDeveloperCertificateTrust(trust: boolean): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withDeveloperCertificateTrust","returnType":"CSharpAppResourcePromise","summary":"Indicates whether developer certificates should be treated as trusted certificate authorities for the resource at run time. Currently this indicates trust for the ASP.NET Core developer certificate. The developer certificate will only be trusted when running in local development scenarios; in publish mode resources will use their default certificate trust.","remarks":"Disable trust for app host managed developer certificate(s) for a container resource.\n\u0060\u0060\u0060\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithDeveloperCertificateTrust(false);\n\u0060\u0060\u0060\nDisable automatic trust for app host managed developer certificate(s), but explicitly enable it for a specific resource.\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(new DistributedApplicationOptions()\n{\nArgs = args,\nTrustDeveloperCertificate = false,\n});\nvar project = builder.AddProject\u003CMyService\u003E(\u0022my-service\u0022)\n.WithDeveloperCertificateTrust(true);\n\u0060\u0060\u0060","parameters":[{"name":"trust","type":"boolean","optional":false,"summary":"Indicates whether the developer certificate should be treated as trusted."}]},{"id":"method:CSharpAppResource.withCertificateTrustScope","kind":"method","name":"withCertificateTrustScope","declaration":"withCertificateTrustScope(scope: CertificateTrustScope): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withCertificateTrustScope","returnType":"CSharpAppResourcePromise","summary":"Sets the certificate trust scope","remarks":"The default scope if not overridden is \u0060Append\u0060 which means that custom certificate\nauthorities should be appended to the default trusted certificate authorities for the resource. Setting the scope to\n\u0060Override\u0060 indicates the set of certificates in referenced\n\u0060CertificateAuthorityCollection\u0060 (and optionally Aspire developer certificiates) should be used as the\nexclusive source of trust for a resource.\nIn all cases, this is a best effort implementation as not all resources support full customization of certificate\ntrust.\nSet the scope for custom certificate authorities to override the default trusted certificate authorities for a container resource.\n\u0060\u0060\u0060\nvar caCollection = builder.AddCertificateAuthorityCollection(\u0022my-cas\u0022)\n.WithCertificate(new X509Certificate2(\u0022my-ca.pem\u0022));\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithCertificateAuthorityCollection(caCollection)\n.WithCertificateTrustScope(CertificateTrustScope.Override);\n\u0060\u0060\u0060","parameters":[{"name":"scope","type":"CertificateTrustScope","optional":false,"summary":"The scope to apply to custom certificate authorities associated with the resource."}]},{"id":"method:CSharpAppResource.withHttpsDeveloperCertificate","kind":"method","name":"withHttpsDeveloperCertificate","declaration":"withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withParameterHttpsDeveloperCertificate","returnType":"CSharpAppResourcePromise","summary":"Indicates that a resource should use the developer certificate key pair for HTTPS endpoints at run time. Currently this indicates use of the ASP.NET Core developer certificate. The developer certificate will only be used when running in local development scenarios; in publish mode resources will use their default certificate configuration.","remarks":"Use the developer certificate for HTTPS/TLS endpoints on a container resource:\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsDeveloperCertificate()\n\u0060\u0060\u0060","parameters":[{"name":"password","type":"Awaitable\u003CParameterResource\u003E","optional":true,"summary":"A parameter specifying the password used to encrypt the certificate private key."}]},{"id":"method:CSharpAppResource.withoutHttpsCertificate","kind":"method","name":"withoutHttpsCertificate","declaration":"withoutHttpsCertificate(): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withoutHttpsCertificate","returnType":"CSharpAppResourcePromise","summary":"Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied.","remarks":"Disable HTTPS certificate configuration for a Redis resource:\n\u0060\u0060\u0060\nvar redis = builder.AddRedis(\u0022cache\u0022)\n.WithoutHttpsCertificate();\n\u0060\u0060\u0060"},{"id":"method:CSharpAppResource.withHttpsCertificateConfiguration","kind":"method","name":"withHttpsCertificateConfiguration","declaration":"withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withHttpsCertificateConfiguration","returnType":"CSharpAppResourcePromise","summary":"Adds a callback that allows configuring the resource to use a specific HTTPS/TLS certificate key pair for server authentication.","remarks":"Pass the path to the PFX certificate file to the container arguments.\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsCertificateConfiguration(ctx =\u003E\n{\nctx.Arguments.Add(\u0022--https-certificate-path\u0022);\nctx.Arguments.Add(ctx.PfxPath);\nreturn Task.CompletedTask;\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to configure the resource to use a certificate key pair."}]},{"id":"method:CSharpAppResource.subscribeHttpsEndpointsUpdate","kind":"method","name":"subscribeHttpsEndpointsUpdate","declaration":"subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/subscribeHttpsEndpointsUpdate","returnType":"CSharpAppResourcePromise","summary":"Subscribes to the \u0060BeforeStartEvent\u0060 and invokes the specified callback when an HTTPS certificate is determined to be available for the resource. This is used to conditionally update endpoint URI schemes or perform other HTTPS-related configuration at startup.","remarks":"The callback is invoked when either:\n-\n-\nSwitch an endpoint to HTTPS when a certificate is available:\n\u0060\u0060\u0060\nbuilder.SubscribeHttpsEndpointsUpdate(ctx =\u003E\n{\nbuilder.WithEndpoint(\u0022http\u0022, ep =\u003E ep.UriScheme = \u0022https\u0022);\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when HTTPS is enabled. Receives an \u0060HttpsEndpointUpdateCallbackContext\u0060 providing access to the service provider, resource, and application model."}]},{"id":"method:CSharpAppResource.withRelationship","kind":"method","name":"withRelationship","declaration":"withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withBuilderRelationship","returnType":"CSharpAppResourcePromise","summary":"Adds a relationship to another resource using its builder.","parameters":[{"name":"resourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder that the relationship is to."},{"name":"type","type":"string","optional":false,"summary":"The relationship type."}]},{"id":"method:CSharpAppResource.withParentRelationship","kind":"method","name":"withParentRelationship","declaration":"withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withBuilderParentRelationship","returnType":"CSharpAppResourcePromise","summary":"Sets the parent relationship","parameters":[{"name":"parent","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The parent of \u0060builder\u0060."}]},{"id":"method:CSharpAppResource.withChildRelationship","kind":"method","name":"withChildRelationship","declaration":"withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withBuilderChildRelationship","returnType":"CSharpAppResourcePromise","summary":"Sets a child relationship","parameters":[{"name":"child","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The child of \u0060builder\u0060."}]},{"id":"method:CSharpAppResource.withIconName","kind":"method","name":"withIconName","declaration":"withIconName(iconName: string, options?: WithIconNameOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withIconName","returnType":"CSharpAppResourcePromise","summary":"Specifies the icon to use when displaying the resource in the dashboard.","parameters":[{"name":"iconName","type":"string","optional":false,"summary":"The name of the FluentUI icon to use. See https://aka.ms/fluentui-system-icons for available icons."},{"name":"iconVariant","type":"IconVariant","optional":true,"summary":"The variant of the icon (Regular or Filled). Defaults to Filled."}]},{"id":"method:CSharpAppResource.withComputeEnvironment","kind":"method","name":"withComputeEnvironment","declaration":"withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withComputeEnvironment","returnType":"CSharpAppResourcePromise","summary":"Configures the compute environment for the compute resource.","remarks":"This method allows associating a specific compute environment with the compute resource.","parameters":[{"name":"computeEnvironmentResource","type":"Awaitable\u003CComputeEnvironmentResource\u003E","optional":false,"summary":"The compute environment resource to associate with the compute resource."}]},{"id":"method:CSharpAppResource.withHttpProbe","kind":"method","name":"withHttpProbe","declaration":"withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withHttpProbe","returnType":"CSharpAppResourcePromise","summary":"Adds an HTTP health probe to the resource","parameters":[{"name":"probeType","type":"ProbeType","optional":false},{"name":"path","type":"string","optional":true},{"name":"initialDelaySeconds","type":"number","optional":true},{"name":"periodSeconds","type":"number","optional":true},{"name":"timeoutSeconds","type":"number","optional":true},{"name":"failureThreshold","type":"number","optional":true},{"name":"successThreshold","type":"number","optional":true},{"name":"endpointName","type":"string","optional":true}]},{"id":"method:CSharpAppResource.excludeFromMcp","kind":"method","name":"excludeFromMcp","declaration":"excludeFromMcp(): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/excludeFromMcp","returnType":"CSharpAppResourcePromise","summary":"Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry."},{"id":"method:CSharpAppResource.withHidden","kind":"method","name":"withHidden","declaration":"withHidden(): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withHidden","returnType":"CSharpAppResourcePromise","summary":"Hides the resource from default resource lists","remarks":"Use this method to hide resources that are implementation details and should never be displayed by default.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI."},{"id":"method:CSharpAppResource.withHiddenOnCompletion","kind":"method","name":"withHiddenOnCompletion","declaration":"withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withHiddenOnCompletion","returnType":"CSharpAppResourcePromise","summary":"Hides the resource from default resource lists after successful completion","remarks":"This method is useful for one-off resources such as setup scripts, migrations, or build steps that should remain visible while running\nand then be hidden after successful completion.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI.","parameters":[{"name":"exitCode","type":"number","optional":true,"summary":"The completion exit code to treat as successful. Defaults to \u00600\u0060."},{"name":"exitCodes","type":"number[]","optional":true,"summary":"Completion exit codes to treat as successful. If no values are provided, \u00600\u0060 is used."}]},{"id":"method:CSharpAppResource.withImagePushOptions","kind":"method","name":"withImagePushOptions","declaration":"withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withImagePushOptions","returnType":"CSharpAppResourcePromise","summary":"Adds an asynchronous callback to configure container image push options for the resource.","remarks":"This method allows customization of how container images are named and tagged when pushed to a registry using an asynchronous callback.\nUse this overload when the callback needs to perform asynchronous operations such as retrieving configuration values from external sources.\nThe callback receives a \u0060ContainerImagePushOptionsCallbackContext\u0060 that provides access to the resource\nand the \u0060ContainerImagePushOptions\u0060 that can be modified.\nMultiple callbacks can be registered on the same resource, and they will be invoked in the order they were added.","parameters":[{"name":"callback","type":"(arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The asynchronous callback to configure push options."}]},{"id":"method:CSharpAppResource.withRemoteImageName","kind":"method","name":"withRemoteImageName","declaration":"withRemoteImageName(remoteImageName: string): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageName","returnType":"CSharpAppResourcePromise","summary":"Sets the remote image name (without registry endpoint or tag) for container push operations.","remarks":"Use this with \u0060withRemoteImageTag\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageName","type":"string","optional":false,"summary":"The remote image name (e.g., \u0022myapp\u0022 or \u0022myorg/myapp\u0022)."}]},{"id":"method:CSharpAppResource.withRemoteImageTag","kind":"method","name":"withRemoteImageTag","declaration":"withRemoteImageTag(remoteImageTag: string): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageTag","returnType":"CSharpAppResourcePromise","summary":"Sets the remote image tag for container push operations.","remarks":"Use this with \u0060withRemoteImageName\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageTag","type":"string","optional":false,"summary":"The remote image tag (e.g., \u0022latest\u0022, \u0022v1.0.0\u0022)."}]},{"id":"method:CSharpAppResource.withTerminal","kind":"method","name":"withTerminal","declaration":"withTerminal(): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withTerminal","returnType":"CSharpAppResourcePromise","summary":"Adds an interactive terminal session to a resource using the default terminal options."},{"id":"method:CSharpAppResource.withPipelineStepFactory","kind":"method","name":"withPipelineStepFactory","declaration":"withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withPipelineStepFactory","returnType":"CSharpAppResourcePromise","summary":"Adds a pipeline step to the resource that will be executed during deployment.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The unique name of the pipeline step."},{"name":"callback","type":"(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to execute when the step runs."},{"name":"dependsOn","type":"string[]","optional":true,"summary":"Optional step names that this step depends on."},{"name":"requiredBy","type":"string[]","optional":true,"summary":"Optional step names that require this step."},{"name":"tags","type":"string[]","optional":true,"summary":"Optional tags that categorize this step."},{"name":"description","type":"string","optional":true,"summary":"An optional human-readable description of the step."}]},{"id":"method:CSharpAppResource.withPipelineConfiguration","kind":"method","name":"withPipelineConfiguration","declaration":"withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withPipelineConfiguration","returnType":"CSharpAppResourcePromise","summary":"Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.","parameters":[{"name":"callback","type":"(obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback function to execute during the configuration phase."}]},{"id":"method:CSharpAppResource.getResourceName","kind":"method","name":"getResourceName","declaration":"getResourceName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getResourceName","returnType":"Promise\u003Cstring\u003E","summary":"Gets the name of the resource from a builder.","remarks":"Why this wrapper exists: This capability accesses a nested property\n(\u0060resource.Resource.Name\u0060) which requires a wrapper method. There is no single\n.NET method that returns just the resource name that could be annotated directly."},{"id":"method:CSharpAppResource.withEndpointsInEnvironment","kind":"method","name":"withEndpointsInEnvironment","declaration":"withEndpointsInEnvironment(endpointNames: string[]): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withEndpointsInEnvironment","returnType":"CSharpAppResourcePromise","summary":"Includes only the specified project endpoint names in environment-variable injection.","parameters":[{"name":"endpointNames","type":"string[]","optional":false,"summary":"The endpoint names to include in environment variables."}]},{"id":"method:CSharpAppResource.onBeforeResourceStarted","kind":"method","name":"onBeforeResourceStarted","declaration":"onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/onBeforeResourceStarted","returnType":"CSharpAppResourcePromise","summary":"Subscribes to the BeforeResourceStarted event.","parameters":[{"name":"callback","type":"(arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:CSharpAppResource.onResourceStopped","kind":"method","name":"onResourceStopped","declaration":"onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/onResourceStopped","returnType":"CSharpAppResourcePromise","summary":"Subscribes to the ResourceStopped event.","parameters":[{"name":"callback","type":"(arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:CSharpAppResource.onInitializeResource","kind":"method","name":"onInitializeResource","declaration":"onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/onInitializeResource","returnType":"CSharpAppResourcePromise","summary":"Subscribes to the InitializeResource event.","parameters":[{"name":"callback","type":"(arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:CSharpAppResource.onResourceEndpointsAllocated","kind":"method","name":"onResourceEndpointsAllocated","declaration":"onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/onResourceEndpointsAllocated","returnType":"CSharpAppResourcePromise","summary":"Subscribes to the ResourceEndpointsAllocated event.","parameters":[{"name":"callback","type":"(arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:CSharpAppResource.onResourceReady","kind":"method","name":"onResourceReady","declaration":"onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/onResourceReady","returnType":"CSharpAppResourcePromise","summary":"Subscribes to the ResourceReady event.","parameters":[{"name":"callback","type":"(arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:CSharpAppResource.createExecutionConfiguration","kind":"method","name":"createExecutionConfiguration","declaration":"createExecutionConfiguration(): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/createExecutionConfiguration","returnType":"ExecutionConfigurationBuilderPromise","summary":"Creates an execution configuration builder for the specified resource."},{"id":"method:CSharpAppResource.withContainerBuildOptions","kind":"method","name":"withContainerBuildOptions","declaration":"withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/withContainerBuildOptions","returnType":"CSharpAppResourcePromise","summary":"Configures container build options for a compute resource using an async callback.","parameters":[{"name":"callback","type":"(arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"An async callback to configure container build options."}]}]},{"id":"interface:CommandLineArgsCallbackContext","kind":"interface","name":"CommandLineArgsCallbackContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext","owningAssembly":"Aspire.Hosting","declaration":"export interface CommandLineArgsCallbackContext","summary":"Represents a callback context for the list of command-line arguments associated with an executable resource.","members":[{"id":"property:CommandLineArgsCallbackContext.args","kind":"property","name":"args","declaration":"args(): CommandLineArgsEditorPromise","capabilityId":"Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.args","summary":"Gets the editor used to manipulate command-line arguments in polyglot callbacks."},{"id":"property:CommandLineArgsCallbackContext.log","kind":"property","name":"log","declaration":"log(): LogFacadePromise","capabilityId":"Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.log","summary":"Gets the logger facade used by polyglot callbacks."},{"id":"property:CommandLineArgsCallbackContext.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.resource","summary":"The resource associated with this callback context.","remarks":"This will be set to the resource in all cases where Aspire invokes the callback."},{"id":"property:CommandLineArgsCallbackContext.executionContext","kind":"property","name":"executionContext","declaration":"executionContext(): DistributedApplicationExecutionContextPromise","capabilityId":"Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.executionContext","summary":"Gets the execution context associated with this callback."}]},{"id":"interface:CommandLineArgsEditor","kind":"interface","name":"CommandLineArgsEditor","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsEditor","owningAssembly":"Aspire.Hosting","declaration":"export interface CommandLineArgsEditor","summary":"Provides an ATS-first editor for command-line arguments within polyglot callbacks.","members":[{"id":"method:CommandLineArgsEditor.add","kind":"method","name":"add","declaration":"add(value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): CommandLineArgsEditorPromise","capabilityId":"Aspire.Hosting.ApplicationModel/add","returnType":"CommandLineArgsEditorPromise","summary":"Adds a command-line argument.","parameters":[{"name":"value","type":"string | ReferenceExpression | EndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E","optional":false,"summary":"The argument to add."}]}]},{"id":"interface:ComputeEnvironmentResource","kind":"interface","name":"ComputeEnvironmentResource","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IComputeEnvironmentResource","owningAssembly":"Aspire.Hosting","declaration":"export interface ComputeEnvironmentResource extends ResourceBuilderBase","extends":["ResourceBuilderBase"]},{"id":"interface:ComputeResource","kind":"interface","name":"ComputeResource","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IComputeResource","owningAssembly":"Aspire.Hosting","declaration":"export interface ComputeResource extends ResourceBuilderBase","extends":["ResourceBuilderBase"],"members":[{"id":"method:ComputeResource.withComputeEnvironment","kind":"method","name":"withComputeEnvironment","declaration":"withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ComputeResourcePromise","capabilityId":"Aspire.Hosting/withComputeEnvironment","returnType":"ComputeResourcePromise","summary":"Configures the compute environment for the compute resource.","remarks":"This method allows associating a specific compute environment with the compute resource.","parameters":[{"name":"computeEnvironmentResource","type":"Awaitable\u003CComputeEnvironmentResource\u003E","optional":false,"summary":"The compute environment resource to associate with the compute resource."}]},{"id":"method:ComputeResource.withImagePushOptions","kind":"method","name":"withImagePushOptions","declaration":"withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ComputeResourcePromise","capabilityId":"Aspire.Hosting/withImagePushOptions","returnType":"ComputeResourcePromise","summary":"Adds an asynchronous callback to configure container image push options for the resource.","remarks":"This method allows customization of how container images are named and tagged when pushed to a registry using an asynchronous callback.\nUse this overload when the callback needs to perform asynchronous operations such as retrieving configuration values from external sources.\nThe callback receives a \u0060ContainerImagePushOptionsCallbackContext\u0060 that provides access to the resource\nand the \u0060ContainerImagePushOptions\u0060 that can be modified.\nMultiple callbacks can be registered on the same resource, and they will be invoked in the order they were added.","parameters":[{"name":"callback","type":"(arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The asynchronous callback to configure push options."}]},{"id":"method:ComputeResource.withRemoteImageName","kind":"method","name":"withRemoteImageName","declaration":"withRemoteImageName(remoteImageName: string): ComputeResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageName","returnType":"ComputeResourcePromise","summary":"Sets the remote image name (without registry endpoint or tag) for container push operations.","remarks":"Use this with \u0060withRemoteImageTag\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageName","type":"string","optional":false,"summary":"The remote image name (e.g., \u0022myapp\u0022 or \u0022myorg/myapp\u0022)."}]},{"id":"method:ComputeResource.withRemoteImageTag","kind":"method","name":"withRemoteImageTag","declaration":"withRemoteImageTag(remoteImageTag: string): ComputeResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageTag","returnType":"ComputeResourcePromise","summary":"Sets the remote image tag for container push operations.","remarks":"Use this with \u0060withRemoteImageName\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageTag","type":"string","optional":false,"summary":"The remote image tag (e.g., \u0022latest\u0022, \u0022v1.0.0\u0022)."}]}]},{"id":"interface:ConnectionStringAvailableEvent","kind":"interface","name":"ConnectionStringAvailableEvent","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ConnectionStringAvailableEvent","owningAssembly":"Aspire.Hosting","declaration":"export interface ConnectionStringAvailableEvent","summary":"The {@ats-ref type:ConnectionStringAvailableEvent} is raised when a connection string becomes available for a resource.","members":[{"id":"property:ConnectionStringAvailableEvent.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/ConnectionStringAvailableEvent.resource"},{"id":"property:ConnectionStringAvailableEvent.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ConnectionStringAvailableEvent.services"}]},{"id":"interface:ContainerBuildOptionsCallbackContext","kind":"interface","name":"ContainerBuildOptionsCallbackContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerBuildOptionsCallbackContext","owningAssembly":"Aspire.Hosting","declaration":"export interface ContainerBuildOptionsCallbackContext","summary":"Context for configuring container build options via a callback.","members":[{"id":"property:ContainerBuildOptionsCallbackContext.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerBuildOptionsCallbackContext.resource","summary":"Gets the resource being built."},{"id":"property:ContainerBuildOptionsCallbackContext.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerBuildOptionsCallbackContext.services","summary":"Gets the service provider."},{"id":"property:ContainerBuildOptionsCallbackContext.logger","kind":"property","name":"logger","declaration":"logger(): LoggerPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerBuildOptionsCallbackContext.logger","summary":"Gets the logger instance."},{"id":"property:ContainerBuildOptionsCallbackContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerBuildOptionsCallbackContext.cancellationToken","summary":"Gets the cancellation token."},{"id":"property:ContainerBuildOptionsCallbackContext.executionContext","kind":"property","name":"executionContext","declaration":"executionContext(): DistributedApplicationExecutionContextPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerBuildOptionsCallbackContext.executionContext","summary":"Gets the distributed application execution context.","remarks":"Use \u0060IsPublishMode\u0060 or\n\u0060IsRunMode\u0060 to vary build options\n(for example \u0060TargetPlatform\u0060) between local run and publish operations."},{"id":"property:ContainerBuildOptionsCallbackContext.destination","kind":"property","name":"destination","declaration":"destination: { get: () =\u003E Promise\u003CContainerImageDestination | null\u003E; set: (value: ContainerImageDestination | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerBuildOptionsCallbackContext.destination","summary":"Gets or sets the destination for the container image."},{"id":"property:ContainerBuildOptionsCallbackContext.outputPath","kind":"property","name":"outputPath","declaration":"outputPath: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerBuildOptionsCallbackContext.outputPath","summary":"Gets or sets the output path for the container archive."},{"id":"property:ContainerBuildOptionsCallbackContext.imageFormat","kind":"property","name":"imageFormat","declaration":"imageFormat: { get: () =\u003E Promise\u003CContainerImageFormat | null\u003E; set: (value: ContainerImageFormat | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerBuildOptionsCallbackContext.imageFormat","summary":"Gets or sets the container image format."},{"id":"property:ContainerBuildOptionsCallbackContext.targetPlatform","kind":"property","name":"targetPlatform","declaration":"targetPlatform: { get: () =\u003E Promise\u003CContainerTargetPlatform | null\u003E; set: (value: ContainerTargetPlatform | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerBuildOptionsCallbackContext.targetPlatform","summary":"Gets or sets the target platform for the container."},{"id":"property:ContainerBuildOptionsCallbackContext.localImageName","kind":"property","name":"localImageName","declaration":"localImageName: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerBuildOptionsCallbackContext.localImageName","summary":"Gets or sets the local image name for the built container."},{"id":"property:ContainerBuildOptionsCallbackContext.localImageTag","kind":"property","name":"localImageTag","declaration":"localImageTag: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerBuildOptionsCallbackContext.localImageTag","summary":"Gets or sets the local image tag for the built container."}]},{"id":"interface:ContainerFileSystemCallbackContext","kind":"interface","name":"ContainerFileSystemCallbackContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerFileSystemCallbackContext","owningAssembly":"Aspire.Hosting","declaration":"export interface ContainerFileSystemCallbackContext","summary":"Represents the context for a \u0060ContainerFileSystemCallbackAnnotation\u0060 callback.","members":[{"id":"property:ContainerFileSystemCallbackContext.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerFileSystemCallbackContext.services","summary":"A \u0060IServiceProvider\u0060 that can be used to resolve services in the callback."},{"id":"property:ContainerFileSystemCallbackContext.model","kind":"property","name":"model","declaration":"model(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerFileSystemCallbackContext.model","summary":"The app model resource the callback is associated with."},{"id":"method:ContainerFileSystemCallbackContext.createFile","kind":"method","name":"createFile","declaration":"createFile(name: string, options?: CreateFileOptions): Promise\u003CContainerFileSystemItemHandle\u003E","capabilityId":"Aspire.Hosting/createFile","returnType":"Promise\u003CContainerFileSystemItemHandle\u003E","summary":"Creates a container file entry with inline contents or a host source path.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The simple file name (no path separators)."},{"name":"contents","type":"string","optional":true,"summary":"The inline UTF-8 contents of the file. Mutually exclusive with \u0060sourcePath\u0060."},{"name":"sourcePath","type":"string","optional":true,"summary":"An absolute path to a file on the host to copy. Mutually exclusive with \u0060contents\u0060."},{"name":"owner","type":"number","optional":true,"summary":"The owner UID, or \u0060null\u0060 to inherit."},{"name":"group","type":"number","optional":true,"summary":"The group GID, or \u0060null\u0060 to inherit."},{"name":"mode","type":"number","optional":true,"summary":"The Unix file mode as an integer (for example \u00600o644\u0060), or \u0060null\u0060 to inherit."},{"name":"continueOnError","type":"boolean","optional":true,"summary":"Whether to ignore errors creating this file."}]},{"id":"method:ContainerFileSystemCallbackContext.createCertificateFile","kind":"method","name":"createCertificateFile","declaration":"createCertificateFile(name: string, options?: CreateCertificateFileOptions): Promise\u003CContainerFileSystemItemHandle\u003E","capabilityId":"Aspire.Hosting/createCertificateFile","returnType":"Promise\u003CContainerFileSystemItemHandle\u003E","summary":"Creates a PEM container certificate file entry with the OpenSSL subject-hash symlink.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The simple file name (no path separators)."},{"name":"contents","type":"string","optional":true,"summary":"The inline PEM-encoded contents of the certificate. Mutually exclusive with \u0060sourcePath\u0060."},{"name":"sourcePath","type":"string","optional":true,"summary":"An absolute path to a PEM file on the host to copy. Mutually exclusive with \u0060contents\u0060."},{"name":"owner","type":"number","optional":true,"summary":"The owner UID, or \u0060null\u0060 to inherit."},{"name":"group","type":"number","optional":true,"summary":"The group GID, or \u0060null\u0060 to inherit."},{"name":"mode","type":"number","optional":true,"summary":"The Unix file mode as an integer (for example \u00600o644\u0060), or \u0060null\u0060 to inherit."},{"name":"continueOnError","type":"boolean","optional":true,"summary":"Whether to ignore errors creating this file."}]},{"id":"method:ContainerFileSystemCallbackContext.createDirectory","kind":"method","name":"createDirectory","declaration":"createDirectory(name: string, entries: ContainerFileSystemItemHandle[], options?: CreateDirectoryOptions): Promise\u003CContainerFileSystemItemHandle\u003E","capabilityId":"Aspire.Hosting/createDirectory","returnType":"Promise\u003CContainerFileSystemItemHandle\u003E","summary":"Creates a container directory entry containing the specified child entries.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The simple directory name (no path separators)."},{"name":"entries","type":"ContainerFileSystemItemHandle[]","optional":false,"summary":"The child entries (files and/or directories) created via this context."},{"name":"owner","type":"number","optional":true,"summary":"The owner UID, or \u0060null\u0060 to inherit."},{"name":"group","type":"number","optional":true,"summary":"The group GID, or \u0060null\u0060 to inherit."},{"name":"mode","type":"number","optional":true,"summary":"The Unix file mode as an integer (for example \u00600o755\u0060), or \u0060null\u0060 to inherit."}]}]},{"id":"interface:ContainerFilesDestinationResource","kind":"interface","name":"ContainerFilesDestinationResource","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IContainerFilesDestinationResource","owningAssembly":"Aspire.Hosting","declaration":"export interface ContainerFilesDestinationResource extends ResourceBuilderBase","extends":["ResourceBuilderBase"],"members":[{"id":"method:ContainerFilesDestinationResource.publishWithContainerFiles","kind":"method","name":"publishWithContainerFiles","declaration":"publishWithContainerFiles(source: Awaitable\u003CResourceWithContainerFiles\u003E, destinationPath: string): ContainerFilesDestinationResourcePromise","capabilityId":"Aspire.Hosting/publishWithContainerFilesFromResource","returnType":"ContainerFilesDestinationResourcePromise","summary":"Configures the resource to copy container files from the specified source resource during publishing.","parameters":[{"name":"source","type":"Awaitable\u003CResourceWithContainerFiles\u003E","optional":false,"summary":"The resource which contains the container files to be copied."},{"name":"destinationPath","type":"string","optional":false,"summary":"The destination path within the resource\u0027s container where the files will be copied."}]}]},{"id":"interface:ContainerImagePushOptions","kind":"interface","name":"ContainerImagePushOptions","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerImagePushOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface ContainerImagePushOptions","summary":"Represents options for pushing container images to a registry.","remarks":"This class allows customization of how container images are named and tagged when pushed to a container registry.\nThe \u0060RemoteImageName\u0060 specifies the repository path (without registry endpoint or tag),\nand \u0060RemoteImageTag\u0060 specifies the tag to apply. Use \u0060GetFullRemoteImageNameAsync\u0060\nto construct the complete image reference including registry endpoint and tag.","members":[{"id":"property:ContainerImagePushOptions.remoteImageName","kind":"property","name":"remoteImageName","declaration":"remoteImageName: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerImagePushOptions.remoteImageName","summary":"Gets or sets the remote image name (repository path without registry endpoint or tag)."},{"id":"property:ContainerImagePushOptions.remoteImageTag","kind":"property","name":"remoteImageTag","declaration":"remoteImageTag: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerImagePushOptions.remoteImageTag","summary":"Gets or sets the remote image tag."}]},{"id":"interface:ContainerImagePushOptionsCallbackContext","kind":"interface","name":"ContainerImagePushOptionsCallbackContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext","owningAssembly":"Aspire.Hosting","declaration":"export interface ContainerImagePushOptionsCallbackContext","summary":"Provides context information for container image push options callbacks.","members":[{"id":"property:ContainerImagePushOptionsCallbackContext.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.resource","summary":"Gets the resource being configured for container image push operations."},{"id":"property:ContainerImagePushOptionsCallbackContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.cancellationToken","summary":"Gets the cancellation token to observe while configuring image push options."},{"id":"property:ContainerImagePushOptionsCallbackContext.options","kind":"property","name":"options","declaration":"options(): Promise\u003CContainerImagePushOptions\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.options","summary":"Gets the container image push options that can be modified by the callback."}]},{"id":"interface:ContainerImageReference","kind":"interface","name":"ContainerImageReference","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerImageReference","owningAssembly":"Aspire.Hosting","declaration":"export interface ContainerImageReference","summary":"Represents the fully\u2011qualified container image reference that should be deployed.","members":[{"id":"property:ContainerImageReference.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerImageReference.resource","summary":"Gets the resource that this container image is associated with."},{"id":"property:ContainerImageReference.valueExpression","kind":"property","name":"valueExpression","declaration":"valueExpression(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerImageReference.valueExpression"}]},{"id":"interface:ContainerMountAnnotation","kind":"interface","name":"ContainerMountAnnotation","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerMountAnnotation","owningAssembly":"Aspire.Hosting","declaration":"export interface ContainerMountAnnotation","summary":"Represents a mount annotation for a container resource.","members":[{"id":"property:ContainerMountAnnotation.source","kind":"property","name":"source","declaration":"source(): Promise\u003Cstring | null\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerMountAnnotation.source","summary":"Gets the source of the bind mount or name if a volume. Can be \u0060null\u0060 if the mount is an anonymous volume."},{"id":"property:ContainerMountAnnotation.target","kind":"property","name":"target","declaration":"target(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerMountAnnotation.target","summary":"Gets the target of the mount."},{"id":"property:ContainerMountAnnotation.type","kind":"property","name":"type","declaration":"type(): Promise\u003CContainerMountType\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerMountAnnotation.type","summary":"Gets the type of the mount."},{"id":"property:ContainerMountAnnotation.isReadOnly","kind":"property","name":"isReadOnly","declaration":"isReadOnly(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerMountAnnotation.isReadOnly","summary":"Gets a value indicating whether the volume mount is read-only."}]},{"id":"interface:ContainerPortReference","kind":"interface","name":"ContainerPortReference","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerPortReference","owningAssembly":"Aspire.Hosting","declaration":"export interface ContainerPortReference","summary":"Represents a TCP/UDP port that a container can expose.","members":[{"id":"property:ContainerPortReference.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerPortReference.resource","summary":"Gets the resource that this container port is associated with."},{"id":"property:ContainerPortReference.valueExpression","kind":"property","name":"valueExpression","declaration":"valueExpression(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ContainerPortReference.valueExpression"}]},{"id":"interface:ContainerRegistryResource","kind":"interface","name":"ContainerRegistryResource","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerRegistryResource","owningAssembly":"Aspire.Hosting","declaration":"export interface ContainerRegistryResource extends ResourceBuilderBase","extends":["ResourceBuilderBase"],"members":[{"id":"method:ContainerRegistryResource.withContainerRegistry","kind":"method","name":"withContainerRegistry","declaration":"withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withContainerRegistry","returnType":"ContainerRegistryResourcePromise","summary":"Configures the resource to use the specified container registry for container image operations.","remarks":"This method adds a \u0060ContainerRegistryReferenceAnnotation\u0060 to the resource,\nindicating that the resource should use the specified container registry for container image operations.","parameters":[{"name":"registry","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The container registry resource builder."}]},{"id":"method:ContainerRegistryResource.withDockerfileBaseImage","kind":"method","name":"withDockerfileBaseImage","declaration":"withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withDockerfileBaseImage","returnType":"ContainerRegistryResourcePromise","summary":"Configures custom base images for generated Dockerfiles.","remarks":"This extension method allows customization of the base images used in generated Dockerfiles.\nFor multi-stage Dockerfiles (e.g., Python with UV), you can specify separate build and runtime images.\nSpecify custom base images for a Python application:\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddPythonApp(\u0022myapp\u0022, \u0022path/to/app\u0022, \u0022main.py\u0022)\n.WithDockerfileBaseImage(\nbuildImage: \u0022ghcr.io/astral-sh/uv:python3.12-bookworm-slim\u0022,\nruntimeImage: \u0022python:3.12-slim-bookworm\u0022);\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"buildImage","type":"string","optional":true,"summary":"The base image to use for the build stage. If null, uses the default build image."},{"name":"runtimeImage","type":"string","optional":true,"summary":"The base image to use for the runtime stage. If null, uses the default runtime image."}]},{"id":"method:ContainerRegistryResource.withRequiredCommand","kind":"method","name":"withRequiredCommand","declaration":"withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommand","returnType":"ContainerRegistryResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start.","remarks":"The command is considered valid if either:\n1. It is an absolute or relative path (contains a directory separator) that points to an existing file, or\n2. It is discoverable on the current process PATH (respecting PATHEXT on Windows).\nIf the command is not found, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing."}]},{"id":"method:ContainerRegistryResource.withRequiredCommandValidation","kind":"method","name":"withRequiredCommandValidation","declaration":"withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommandValidation","returnType":"ContainerRegistryResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start, with custom validation logic.","remarks":"The command is first resolved to a full path. If found, the validation callback is invoked with the context containing the resolved path and service provider.\nThe callback should return a \u0060RequiredCommandValidationResult\u0060 indicating whether the command is valid,\nwhich can be created via \u0060Success\u0060 or \u0060Failure\u0060.\nIf the command is not found or fails validation, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"validationCallback","type":"(arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E","optional":false,"summary":"A callback that validates the resolved command path. Receives a \u0060RequiredCommandValidationContext\u0060 and returns a \u0060RequiredCommandValidationResult\u0060."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing or fails validation."}]},{"id":"method:ContainerRegistryResource.withSessionLifetime","kind":"method","name":"withSessionLifetime","declaration":"withSessionLifetime(): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withSessionLifetime","returnType":"ContainerRegistryResourcePromise","summary":"Configures a resource to use a session lifetime."},{"id":"method:ContainerRegistryResource.withPersistentLifetime","kind":"method","name":"withPersistentLifetime","declaration":"withPersistentLifetime(): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withPersistentLifetime","returnType":"ContainerRegistryResourcePromise","summary":"Configures a resource to use a persistent lifetime."},{"id":"method:ContainerRegistryResource.withLifetimeOf","kind":"method","name":"withLifetimeOf","declaration":"withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withLifetimeOf","returnType":"ContainerRegistryResourcePromise","summary":"Configures a resource to match the lifetime of another resource.","remarks":"The resource lifetime is evaluated from \u0060sourceBuilder\u0060 when the application model is prepared, so later lifetime\nchanges to the source resource are reflected by this resource.","parameters":[{"name":"sourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder whose lifetime should be used."}]},{"id":"method:ContainerRegistryResource.withParentProcessLifetime","kind":"method","name":"withParentProcessLifetime","declaration":"withParentProcessLifetime(parentProcessId: number): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withParentProcessLifetime","returnType":"ContainerRegistryResourcePromise","summary":"Configures a resource to use a persistent lifetime that ends when a parent process exits.","parameters":[{"name":"parentProcessId","type":"number","optional":false,"summary":"The ID of the parent process to monitor."}]},{"id":"method:ContainerRegistryResource.withUrls","kind":"method","name":"withUrls","declaration":"withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withUrls","returnType":"ContainerRegistryResourcePromise","summary":"Registers a callback to customize the URLs displayed for the resource.","parameters":[{"name":"callback","type":"(obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize URLs for the resource."}]},{"id":"method:ContainerRegistryResource.withUrl","kind":"method","name":"withUrl","declaration":"withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withUrl","returnType":"ContainerRegistryResourcePromise","summary":"Adds or modifies displayed URLs","parameters":[{"name":"url","type":"string | ReferenceExpression","optional":false},{"name":"displayText","type":"string","optional":true}]},{"id":"method:ContainerRegistryResource.withUrlForEndpoint","kind":"method","name":"withUrlForEndpoint","declaration":"withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withUrlForEndpoint","returnType":"ContainerRegistryResourcePromise","summary":"Registers a callback to update the URL displayed for the endpoint with the specified name.","parameters":[{"name":"endpointName","type":"string","optional":false,"summary":"The name of the endpoint to customize the URL for."},{"name":"callback","type":"(obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize the URL."}]},{"id":"method:ContainerRegistryResource.excludeFromManifest","kind":"method","name":"excludeFromManifest","declaration":"excludeFromManifest(): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/excludeFromManifest","returnType":"ContainerRegistryResourcePromise","summary":"Excludes a resource from being published to the manifest."},{"id":"method:ContainerRegistryResource.withExplicitStart","kind":"method","name":"withExplicitStart","declaration":"withExplicitStart(): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withExplicitStart","returnType":"ContainerRegistryResourcePromise","summary":"Prevents resource from starting automatically"},{"id":"method:ContainerRegistryResource.withHealthCheck","kind":"method","name":"withHealthCheck","declaration":"withHealthCheck(key: string): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withHealthCheck","returnType":"ContainerRegistryResourcePromise","summary":"Adds a health check by key","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key for the health check."}]},{"id":"method:ContainerRegistryResource.withCommand","kind":"method","name":"withCommand","declaration":"withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withCommand","returnType":"ContainerRegistryResourcePromise","summary":"Adds a resource command","remarks":"The \u0060WithCommand\u0060 method is used to add commands to the resource. Commands are displayed in the dashboard\nand can be executed by a user using the dashboard UI.\nWhen a command is executed, the \u0060executeCommand\u0060 callback is called and is run inside the Aspire host.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the command. The name uniquely identifies the command."},{"name":"displayName","type":"string","optional":false,"summary":"The display name visible in UI."},{"name":"executeCommand","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E","optional":false,"summary":"A callback that is executed when the command is executed. The callback is run inside the Aspire host. The callback result is used to indicate success or failure in the UI."},{"name":"commandOptions","type":"CommandOptions","optional":true,"summary":"Optional configuration for the command."}]},{"id":"method:ContainerRegistryResource.withProcessCommand","kind":"method","name":"withProcessCommand","declaration":"withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommand","returnType":"ContainerRegistryResourcePromise","summary":"Adds a command to the resource that starts a local process when invoked.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"ProcessCommandExportOptions","optional":false}]},{"id":"method:ContainerRegistryResource.withProcessCommandFactory","kind":"method","name":"withProcessCommandFactory","declaration":"withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommandFactory","returnType":"ContainerRegistryResourcePromise","summary":"Adds a command to the resource that starts a local process created by a callback when invoked.","deprecated":"Use withProcessCommand with createProcessSpec in the options object instead.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"createProcessSpec","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E","optional":false},{"name":"options","type":"ProcessCommandResultExportOptions","optional":true}]},{"id":"method:ContainerRegistryResource.subscribeHttpsEndpointsUpdate","kind":"method","name":"subscribeHttpsEndpointsUpdate","declaration":"subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/subscribeHttpsEndpointsUpdate","returnType":"ContainerRegistryResourcePromise","summary":"Subscribes to the \u0060BeforeStartEvent\u0060 and invokes the specified callback when an HTTPS certificate is determined to be available for the resource. This is used to conditionally update endpoint URI schemes or perform other HTTPS-related configuration at startup.","remarks":"The callback is invoked when either:\n-\n-\nSwitch an endpoint to HTTPS when a certificate is available:\n\u0060\u0060\u0060\nbuilder.SubscribeHttpsEndpointsUpdate(ctx =\u003E\n{\nbuilder.WithEndpoint(\u0022http\u0022, ep =\u003E ep.UriScheme = \u0022https\u0022);\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when HTTPS is enabled. Receives an \u0060HttpsEndpointUpdateCallbackContext\u0060 providing access to the service provider, resource, and application model."}]},{"id":"method:ContainerRegistryResource.withRelationship","kind":"method","name":"withRelationship","declaration":"withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withBuilderRelationship","returnType":"ContainerRegistryResourcePromise","summary":"Adds a relationship to another resource using its builder.","parameters":[{"name":"resourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder that the relationship is to."},{"name":"type","type":"string","optional":false,"summary":"The relationship type."}]},{"id":"method:ContainerRegistryResource.withParentRelationship","kind":"method","name":"withParentRelationship","declaration":"withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withBuilderParentRelationship","returnType":"ContainerRegistryResourcePromise","summary":"Sets the parent relationship","parameters":[{"name":"parent","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The parent of \u0060builder\u0060."}]},{"id":"method:ContainerRegistryResource.withChildRelationship","kind":"method","name":"withChildRelationship","declaration":"withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withBuilderChildRelationship","returnType":"ContainerRegistryResourcePromise","summary":"Sets a child relationship","parameters":[{"name":"child","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The child of \u0060builder\u0060."}]},{"id":"method:ContainerRegistryResource.withIconName","kind":"method","name":"withIconName","declaration":"withIconName(iconName: string, options?: WithIconNameOptions): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withIconName","returnType":"ContainerRegistryResourcePromise","summary":"Specifies the icon to use when displaying the resource in the dashboard.","parameters":[{"name":"iconName","type":"string","optional":false,"summary":"The name of the FluentUI icon to use. See https://aka.ms/fluentui-system-icons for available icons."},{"name":"iconVariant","type":"IconVariant","optional":true,"summary":"The variant of the icon (Regular or Filled). Defaults to Filled."}]},{"id":"method:ContainerRegistryResource.excludeFromMcp","kind":"method","name":"excludeFromMcp","declaration":"excludeFromMcp(): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/excludeFromMcp","returnType":"ContainerRegistryResourcePromise","summary":"Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry."},{"id":"method:ContainerRegistryResource.withHidden","kind":"method","name":"withHidden","declaration":"withHidden(): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withHidden","returnType":"ContainerRegistryResourcePromise","summary":"Hides the resource from default resource lists","remarks":"Use this method to hide resources that are implementation details and should never be displayed by default.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI."},{"id":"method:ContainerRegistryResource.withHiddenOnCompletion","kind":"method","name":"withHiddenOnCompletion","declaration":"withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withHiddenOnCompletion","returnType":"ContainerRegistryResourcePromise","summary":"Hides the resource from default resource lists after successful completion","remarks":"This method is useful for one-off resources such as setup scripts, migrations, or build steps that should remain visible while running\nand then be hidden after successful completion.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI.","parameters":[{"name":"exitCode","type":"number","optional":true,"summary":"The completion exit code to treat as successful. Defaults to \u00600\u0060."},{"name":"exitCodes","type":"number[]","optional":true,"summary":"Completion exit codes to treat as successful. If no values are provided, \u00600\u0060 is used."}]},{"id":"method:ContainerRegistryResource.withTerminal","kind":"method","name":"withTerminal","declaration":"withTerminal(): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withTerminal","returnType":"ContainerRegistryResourcePromise","summary":"Adds an interactive terminal session to a resource using the default terminal options."},{"id":"method:ContainerRegistryResource.withPipelineStepFactory","kind":"method","name":"withPipelineStepFactory","declaration":"withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withPipelineStepFactory","returnType":"ContainerRegistryResourcePromise","summary":"Adds a pipeline step to the resource that will be executed during deployment.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The unique name of the pipeline step."},{"name":"callback","type":"(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to execute when the step runs."},{"name":"dependsOn","type":"string[]","optional":true,"summary":"Optional step names that this step depends on."},{"name":"requiredBy","type":"string[]","optional":true,"summary":"Optional step names that require this step."},{"name":"tags","type":"string[]","optional":true,"summary":"Optional tags that categorize this step."},{"name":"description","type":"string","optional":true,"summary":"An optional human-readable description of the step."}]},{"id":"method:ContainerRegistryResource.withPipelineConfiguration","kind":"method","name":"withPipelineConfiguration","declaration":"withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withPipelineConfiguration","returnType":"ContainerRegistryResourcePromise","summary":"Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.","parameters":[{"name":"callback","type":"(obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback function to execute during the configuration phase."}]},{"id":"method:ContainerRegistryResource.getResourceName","kind":"method","name":"getResourceName","declaration":"getResourceName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getResourceName","returnType":"Promise\u003Cstring\u003E","summary":"Gets the name of the resource from a builder.","remarks":"Why this wrapper exists: This capability accesses a nested property\n(\u0060resource.Resource.Name\u0060) which requires a wrapper method. There is no single\n.NET method that returns just the resource name that could be annotated directly."},{"id":"method:ContainerRegistryResource.onBeforeResourceStarted","kind":"method","name":"onBeforeResourceStarted","declaration":"onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/onBeforeResourceStarted","returnType":"ContainerRegistryResourcePromise","summary":"Subscribes to the BeforeResourceStarted event.","parameters":[{"name":"callback","type":"(arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ContainerRegistryResource.onResourceStopped","kind":"method","name":"onResourceStopped","declaration":"onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/onResourceStopped","returnType":"ContainerRegistryResourcePromise","summary":"Subscribes to the ResourceStopped event.","parameters":[{"name":"callback","type":"(arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ContainerRegistryResource.onInitializeResource","kind":"method","name":"onInitializeResource","declaration":"onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/onInitializeResource","returnType":"ContainerRegistryResourcePromise","summary":"Subscribes to the InitializeResource event.","parameters":[{"name":"callback","type":"(arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ContainerRegistryResource.onResourceReady","kind":"method","name":"onResourceReady","declaration":"onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/onResourceReady","returnType":"ContainerRegistryResourcePromise","summary":"Subscribes to the ResourceReady event.","parameters":[{"name":"callback","type":"(arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ContainerRegistryResource.createExecutionConfiguration","kind":"method","name":"createExecutionConfiguration","declaration":"createExecutionConfiguration(): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/createExecutionConfiguration","returnType":"ExecutionConfigurationBuilderPromise","summary":"Creates an execution configuration builder for the specified resource."},{"id":"method:ContainerRegistryResource.withContainerBuildOptions","kind":"method","name":"withContainerBuildOptions","declaration":"withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/withContainerBuildOptions","returnType":"ContainerRegistryResourcePromise","summary":"Configures container build options for a compute resource using an async callback.","parameters":[{"name":"callback","type":"(arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"An async callback to configure container build options."}]}]},{"id":"interface:ContainerResource","kind":"interface","name":"ContainerResource","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource","owningAssembly":"Aspire.Hosting","declaration":"export interface ContainerResource extends ResourceBuilderBase","summary":"A resource that represents a specified container.","extends":["ResourceBuilderBase"],"members":[{"id":"method:ContainerResource.withContainerRegistry","kind":"method","name":"withContainerRegistry","declaration":"withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withContainerRegistry","returnType":"ContainerResourcePromise","summary":"Configures the resource to use the specified container registry for container image operations.","remarks":"This method adds a \u0060ContainerRegistryReferenceAnnotation\u0060 to the resource,\nindicating that the resource should use the specified container registry for container image operations.","parameters":[{"name":"registry","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The container registry resource builder."}]},{"id":"method:ContainerResource.withBindMount","kind":"method","name":"withBindMount","declaration":"withBindMount(source: string, target: string, options?: WithBindMountOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withBindMount","returnType":"ContainerResourcePromise","summary":"Adds a bind mount to a container resource.","parameters":[{"name":"source","type":"string","optional":false,"summary":"The source path of the mount. This is the path to the file or directory on the host, relative to the app host project directory."},{"name":"target","type":"string","optional":false,"summary":"The target path where the file or directory is mounted in the container."},{"name":"isReadOnly","type":"boolean","optional":true,"summary":"A flag that indicates if this is a read-only mount."}]},{"id":"method:ContainerResource.withEntrypoint","kind":"method","name":"withEntrypoint","declaration":"withEntrypoint(entrypoint: string): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withEntrypoint","returnType":"ContainerResourcePromise","summary":"Sets the Entrypoint for the container.","parameters":[{"name":"entrypoint","type":"string","optional":false,"summary":"The new entrypoint for the container."}]},{"id":"method:ContainerResource.withImageTag","kind":"method","name":"withImageTag","declaration":"withImageTag(tag: string): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withImageTag","returnType":"ContainerResourcePromise","summary":"Allows overriding the image tag on a container.","parameters":[{"name":"tag","type":"string","optional":false,"summary":"Tag value."}]},{"id":"method:ContainerResource.withImageRegistry","kind":"method","name":"withImageRegistry","declaration":"withImageRegistry(registry: string): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withImageRegistry","returnType":"ContainerResourcePromise","summary":"Allows overriding the image registry on a container.","parameters":[{"name":"registry","type":"string","optional":false,"summary":"Registry value."}]},{"id":"method:ContainerResource.withImage","kind":"method","name":"withImage","declaration":"withImage(image: string, options?: WithImageOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withImage","returnType":"ContainerResourcePromise","summary":"Allows overriding the image on a container.","parameters":[{"name":"image","type":"string","optional":false,"summary":"Image value."},{"name":"tag","type":"string","optional":true,"summary":"Tag value."}]},{"id":"method:ContainerResource.withImageSHA256","kind":"method","name":"withImageSHA256","declaration":"withImageSHA256(sha256: string): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withImageSHA256","returnType":"ContainerResourcePromise","summary":"Allows setting the image to a specific sha256 on a container.","parameters":[{"name":"sha256","type":"string","optional":false,"summary":"Registry value."}]},{"id":"method:ContainerResource.withContainerRuntimeArgs","kind":"method","name":"withContainerRuntimeArgs","declaration":"withContainerRuntimeArgs(args: string[]): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withContainerRuntimeArgs","returnType":"ContainerResourcePromise","summary":"Adds a callback to be executed with a list of arguments to add to the container runtime run command when a container resource is started.","parameters":[{"name":"args","type":"string[]","optional":false,"summary":"The arguments to be passed to the container runtime run command when the container resource is started."}]},{"id":"method:ContainerResource.withLifetime","kind":"method","name":"withLifetime","declaration":"withLifetime(lifetime: ContainerLifetime): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withLifetime","returnType":"ContainerResourcePromise","summary":"Sets the lifetime behavior of the container resource.","remarks":"Prefer \u0060WithPersistentLifetime\u0060\u00601\u0060 or\n\u0060WithSessionLifetime\u0060\u00601\u0060 for new code.\nMarking a container resource to have a \u0060Persistent\u0060 lifetime.\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\u0022mycontainer\u0022, \u0022myimage\u0022)\n.WithPersistentLifetime();\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"lifetime","type":"ContainerLifetime","optional":false,"summary":"The lifetime behavior of the container resource. The default behavior is \u0060Session\u0060."}]},{"id":"method:ContainerResource.withImagePullPolicy","kind":"method","name":"withImagePullPolicy","declaration":"withImagePullPolicy(pullPolicy: ImagePullPolicy): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withImagePullPolicy","returnType":"ContainerResourcePromise","summary":"Sets the pull policy for the container resource.","parameters":[{"name":"pullPolicy","type":"ImagePullPolicy","optional":false,"summary":"The pull policy behavior for the container resource."}]},{"id":"method:ContainerResource.publishAsContainer","kind":"method","name":"publishAsContainer","declaration":"publishAsContainer(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/publishAsContainer","returnType":"ContainerResourcePromise","summary":"Changes the resource to be published as a container in the manifest."},{"id":"method:ContainerResource.withDockerfile","kind":"method","name":"withDockerfile","declaration":"withDockerfile(contextPath: string, options?: WithDockerfileOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withDockerfile","returnType":"ContainerResourcePromise","summary":"Causes Aspire to build the specified container image from a Dockerfile.","parameters":[{"name":"contextPath","type":"string","optional":false,"summary":"Path to be used as the context for the container image build."},{"name":"dockerfilePath","type":"string","optional":true,"summary":"Path to the Dockerfile relative to the \u0060contextPath\u0060. Defaults to \u0022Dockerfile\u0022 if not specified."},{"name":"stage","type":"string","optional":true,"summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"method:ContainerResource.withDockerfileFactory","kind":"method","name":"withDockerfileFactory","declaration":"withDockerfileFactory(contextPath: string, dockerfileFactory: (arg: DockerfileFactoryContext) =\u003E Promise\u003Cstring\u003E, options?: WithDockerfileFactoryOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withDockerfileFactory","returnType":"ContainerResourcePromise","summary":"Builds the specified container image from a Dockerfile generated by an asynchronous factory function.","remarks":"When this method is called, an annotation is added to the \u0060ContainerResource\u0060 that specifies the context path\nand a factory function that generates Dockerfile content. The factory is invoked at build time to produce the Dockerfile,\nwhich is then written to a temporary file and used by the orchestrator to build the container image.\nThe \u0060contextPath\u0060 is relative to the AppHost directory unless it is fully qualified.\nThe factory function is invoked once during the build process to generate the Dockerfile content.\nThe output is trusted and not validated.\nCreates a container called \u0060mycontainer\u0060 with a dynamically generated Dockerfile.\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\u0022mycontainer\u0022, \u0022myimage\u0022)\n.WithDockerfileFactory(\u0022path/to/context\u0022, async context =\u003E\n{\nvar template = await File.ReadAllTextAsync(\u0022template.dockerfile\u0022, context.CancellationToken);\nreturn template.Replace(\u0022{{VERSION}}\u0022, \u00221.0\u0022);\n});\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"contextPath","type":"string","optional":false,"summary":"Path to be used as the context for the container image build."},{"name":"dockerfileFactory","type":"(arg: DockerfileFactoryContext) =\u003E Promise\u003Cstring\u003E","optional":false,"summary":"An asynchronous function that returns the Dockerfile content as a string."},{"name":"stage","type":"string","optional":true,"summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"method:ContainerResource.withContainerName","kind":"method","name":"withContainerName","declaration":"withContainerName(name: string): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withContainerName","returnType":"ContainerResourcePromise","summary":"Overrides the default container name for this resource. By default Aspire generates a unique container name based on the resource name and a random postfix (or a postfix based on a hash of the AppHost project path for persistent container resources). This method allows you to override that behavior with a custom name, but could lead to naming conflicts if the specified name is not unique.","remarks":"Combining this with \u0060Persistent\u0060 will allow Aspire to re-use an existing container that was not\ncreated by an Aspire AppHost.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The desired container name. Must be a valid container name or your runtime will report an error."}]},{"id":"method:ContainerResource.withBuildArg","kind":"method","name":"withBuildArg","declaration":"withBuildArg(name: string, value: string | ParameterResource | Awaitable\u003CParameterResource\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withBuildArg","returnType":"ContainerResourcePromise","summary":"Adds a build argument when the container is built from a Dockerfile.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the build argument."},{"name":"value","type":"string | ParameterResource | Awaitable\u003CParameterResource\u003E","optional":false,"summary":"The build argument value, either a string or a parameter resource."}]},{"id":"method:ContainerResource.withBuildSecret","kind":"method","name":"withBuildSecret","declaration":"withBuildSecret(name: string, value: Awaitable\u003CParameterResource\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withParameterBuildSecret","returnType":"ContainerResourcePromise","summary":"Adds a secret build argument when the container is built from a Dockerfile.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the secret build argument."},{"name":"value","type":"Awaitable\u003CParameterResource\u003E","optional":false,"summary":"The resource builder for a parameter resource."}]},{"id":"method:ContainerResource.withContainerCertificatePaths","kind":"method","name":"withContainerCertificatePaths","declaration":"withContainerCertificatePaths(options?: WithContainerCertificatePathsOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withContainerCertificatePaths","returnType":"ContainerResourcePromise","summary":"Adds container certificate path overrides used for certificate trust at run time.","parameters":[{"name":"customCertificatesDestination","type":"string","optional":true,"summary":"The destination path in the container where custom certificates will be copied."},{"name":"defaultCertificateBundlePaths","type":"string[]","optional":true,"summary":"Default certificate bundle paths in the container that will be replaced."},{"name":"defaultCertificateDirectoryPaths","type":"string[]","optional":true,"summary":"Default certificate directory paths in the container that may be appended."}]},{"id":"method:ContainerResource.withContainerFiles","kind":"method","name":"withContainerFiles","declaration":"withContainerFiles(destinationPath: string, sourcePath: string, options?: ContainerFilesOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withContainerFiles","returnType":"ContainerResourcePromise","summary":"Creates or updates files and folders in a container by copying them from a source path on the host.","remarks":"In run mode, Aspire copies the files into the container and applies owner, group, and umask options.\nIn publish mode, Aspire creates a read-only bind mount and ignores those options.\nTo produce entries dynamically (including inline file contents and OpenSSL certificate files), polyglot app hosts\nuse the \u0060withContainerFilesCallback\u0060 overload and build the entries via the factory methods on\n\u0060ContainerFileSystemCallbackContext\u0060. Passing a pre-built \u0060ContainerFileSystemItem\u0060 collection\nremains .NET-only.","parameters":[{"name":"destinationPath","type":"string","optional":false,"summary":"The destination absolute path in the container."},{"name":"sourcePath","type":"string","optional":false,"summary":"The source path on the host to copy files from."},{"name":"options","type":"ContainerFilesOptions","optional":true,"summary":"Options for the created or updated file system entries."}]},{"id":"method:ContainerResource.withContainerFilesCallback","kind":"method","name":"withContainerFilesCallback","declaration":"withContainerFilesCallback(destinationPath: string, callback: (arg1: ContainerFileSystemCallbackContext, arg2: CancellationToken) =\u003E Promise\u003CContainerFileSystemItemHandle[]\u003E, options?: ContainerFilesOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withContainerFilesCallback","returnType":"ContainerResourcePromise","summary":"Creates or updates files and/or folders at the destination path in the container using entries produced by a callback.","parameters":[{"name":"destinationPath","type":"string","optional":false,"summary":"The destination absolute path in the container."},{"name":"callback","type":"(arg1: ContainerFileSystemCallbackContext, arg2: CancellationToken) =\u003E Promise\u003CContainerFileSystemItemHandle[]\u003E","optional":false,"summary":"A callback that returns the file system entries to create or update. Use the factory methods on \u0060ContainerFileSystemCallbackContext\u0060 (createFile, createDirectory, createCertificateFile) to build the entries."},{"name":"options","type":"ContainerFilesOptions","optional":true,"summary":"Options for the created or updated file system entries."}]},{"id":"method:ContainerResource.withDockerfileBuilder","kind":"method","name":"withDockerfileBuilder","declaration":"withDockerfileBuilder(contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E, options?: WithDockerfileBuilderOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withDockerfileBuilder","returnType":"ContainerResourcePromise","summary":"Configures the resource to use a programmatically generated Dockerfile","remarks":"This method provides a programmatic way to build Dockerfiles using the \u0060DockerfileBuilder\u0060 API\ninstead of string manipulation. Callbacks can be composed by calling this method multiple times - each callback will be invoked\nin order to build up the final Dockerfile.\nThe \u0060contextPath\u0060 is relative to the AppHost directory unless it is fully qualified.\nCreates a container with a programmatically built Dockerfile using fluent API:\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\u0022mycontainer\u0022, \u0022myimage\u0022)\n.WithDockerfileBuilder(\u0022path/to/context\u0022, context =\u003E\n{\ncontext.Builder.From(\u0022alpine:latest\u0022)\n.WorkDir(\u0022/app\u0022)\n.Run(\u0022apk add curl\u0022)\n.Copy(\u0022.\u0022, \u0022.\u0022)\n.Cmd([\u0022./myapp\u0022]);\nreturn Task.CompletedTask;\n});\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"contextPath","type":"string","optional":false,"summary":"Path to be used as the context for the container image build."},{"name":"callback","type":"(arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that uses the \u0060DockerfileBuilder\u0060 API to construct the Dockerfile."},{"name":"stage","type":"string","optional":true,"summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"method:ContainerResource.withDockerfileBaseImage","kind":"method","name":"withDockerfileBaseImage","declaration":"withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withDockerfileBaseImage","returnType":"ContainerResourcePromise","summary":"Configures custom base images for generated Dockerfiles.","remarks":"This extension method allows customization of the base images used in generated Dockerfiles.\nFor multi-stage Dockerfiles (e.g., Python with UV), you can specify separate build and runtime images.\nSpecify custom base images for a Python application:\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddPythonApp(\u0022myapp\u0022, \u0022path/to/app\u0022, \u0022main.py\u0022)\n.WithDockerfileBaseImage(\nbuildImage: \u0022ghcr.io/astral-sh/uv:python3.12-bookworm-slim\u0022,\nruntimeImage: \u0022python:3.12-slim-bookworm\u0022);\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"buildImage","type":"string","optional":true,"summary":"The base image to use for the build stage. If null, uses the default build image."},{"name":"runtimeImage","type":"string","optional":true,"summary":"The base image to use for the runtime stage. If null, uses the default runtime image."}]},{"id":"method:ContainerResource.withContainerNetworkAlias","kind":"method","name":"withContainerNetworkAlias","declaration":"withContainerNetworkAlias(alias: string): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withContainerNetworkAlias","returnType":"ContainerResourcePromise","summary":"Adds a network alias to container resource.","remarks":"Network aliases enable DNS resolution of the container on the network by custom names.\nBy default, containers are accessible on the network using their resource name as a DNS alias.\nThis method allows adding additional aliases for the same container.\nMultiple aliases can be added by calling this method multiple times.","parameters":[{"name":"alias","type":"string","optional":false,"summary":"The network alias for the container."}]},{"id":"method:ContainerResource.withMcpServer","kind":"method","name":"withMcpServer","declaration":"withMcpServer(options?: WithMcpServerOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withMcpServer","returnType":"ContainerResourcePromise","summary":"Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint.","remarks":"This method adds an \u0060McpServerEndpointAnnotation\u0060 to the resource, enabling the Aspire tooling\nto discover and proxy the MCP server exposed by the resource.","parameters":[{"name":"path","type":"string","optional":true,"summary":"An optional path to append to the endpoint URL when forming the MCP server address. Defaults to \u0060\u0022/mcp\u0022\u0060."},{"name":"endpointName","type":"string","optional":true,"summary":"An optional name of the endpoint that hosts the MCP server. If not specified, defaults to the first HTTPS or HTTP endpoint."}]},{"id":"method:ContainerResource.withOtlpExporter","kind":"method","name":"withOtlpExporter","declaration":"withOtlpExporter(options?: WithOtlpExporterOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withOtlpExporter","returnType":"ContainerResourcePromise","summary":"Configures OTLP telemetry export","parameters":[{"name":"protocol","type":"OtlpProtocol","optional":true}]},{"id":"method:ContainerResource.publishAsConnectionString","kind":"method","name":"publishAsConnectionString","declaration":"publishAsConnectionString(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/publishAsConnectionString","returnType":"ContainerResourcePromise","summary":"Changes the resource to be published as a connection string reference in the manifest.","remarks":"This API only changes the manifest representation; it does not change the resource model used by other publishers.","deprecated":"PublishAsConnectionString only works with the manifest publisher and is obsolete. Use AddConnectionString in publish-mode app model code instead."},{"id":"method:ContainerResource.withRequiredCommand","kind":"method","name":"withRequiredCommand","declaration":"withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommand","returnType":"ContainerResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start.","remarks":"The command is considered valid if either:\n1. It is an absolute or relative path (contains a directory separator) that points to an existing file, or\n2. It is discoverable on the current process PATH (respecting PATHEXT on Windows).\nIf the command is not found, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing."}]},{"id":"method:ContainerResource.withRequiredCommandValidation","kind":"method","name":"withRequiredCommandValidation","declaration":"withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommandValidation","returnType":"ContainerResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start, with custom validation logic.","remarks":"The command is first resolved to a full path. If found, the validation callback is invoked with the context containing the resolved path and service provider.\nThe callback should return a \u0060RequiredCommandValidationResult\u0060 indicating whether the command is valid,\nwhich can be created via \u0060Success\u0060 or \u0060Failure\u0060.\nIf the command is not found or fails validation, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"validationCallback","type":"(arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E","optional":false,"summary":"A callback that validates the resolved command path. Receives a \u0060RequiredCommandValidationContext\u0060 and returns a \u0060RequiredCommandValidationResult\u0060."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing or fails validation."}]},{"id":"method:ContainerResource.withSessionLifetime","kind":"method","name":"withSessionLifetime","declaration":"withSessionLifetime(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withSessionLifetime","returnType":"ContainerResourcePromise","summary":"Configures a resource to use a session lifetime."},{"id":"method:ContainerResource.withPersistentLifetime","kind":"method","name":"withPersistentLifetime","declaration":"withPersistentLifetime(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withPersistentLifetime","returnType":"ContainerResourcePromise","summary":"Configures a resource to use a persistent lifetime."},{"id":"method:ContainerResource.withLifetimeOf","kind":"method","name":"withLifetimeOf","declaration":"withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withLifetimeOf","returnType":"ContainerResourcePromise","summary":"Configures a resource to match the lifetime of another resource.","remarks":"The resource lifetime is evaluated from \u0060sourceBuilder\u0060 when the application model is prepared, so later lifetime\nchanges to the source resource are reflected by this resource.","parameters":[{"name":"sourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder whose lifetime should be used."}]},{"id":"method:ContainerResource.withParentProcessLifetime","kind":"method","name":"withParentProcessLifetime","declaration":"withParentProcessLifetime(parentProcessId: number): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withParentProcessLifetime","returnType":"ContainerResourcePromise","summary":"Configures a resource to use a persistent lifetime that ends when a parent process exits.","parameters":[{"name":"parentProcessId","type":"number","optional":false,"summary":"The ID of the parent process to monitor."}]},{"id":"method:ContainerResource.withEnvironment","kind":"method","name":"withEnvironment","declaration":"withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withEnvironment","returnType":"ContainerResourcePromise","summary":"Sets an environment variable","parameters":[{"name":"name","type":"string","optional":false},{"name":"value","type":"string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E","optional":false}]},{"id":"method:ContainerResource.withEnvironmentCallback","kind":"method","name":"withEnvironmentCallback","declaration":"withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withEnvironmentCallback","returnType":"ContainerResourcePromise","summary":"Allows for the population of environment variables on a resource.","parameters":[{"name":"callback","type":"(arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing many environment variables. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]},{"id":"method:ContainerResource.withArgs","kind":"method","name":"withArgs","declaration":"withArgs(args: string[]): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withArgs","returnType":"ContainerResourcePromise","summary":"Adds arguments to be passed to a resource that supports arguments when it is launched.","parameters":[{"name":"args","type":"string[]","optional":false,"summary":"The arguments to be passed to the resource when it is started."}]},{"id":"method:ContainerResource.withArgsCallback","kind":"method","name":"withArgsCallback","declaration":"withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withArgsCallback","returnType":"ContainerResourcePromise","summary":"Adds a callback to be executed with a list of command-line arguments when a resource is started.","parameters":[{"name":"callback","type":"(obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing arguments. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]},{"id":"method:ContainerResource.withReferenceEnvironment","kind":"method","name":"withReferenceEnvironment","declaration":"withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withReferenceEnvironment","returnType":"ContainerResourcePromise","summary":"Configures how information is injected into environment variables when the resource references other resources.","parameters":[{"name":"options","type":"ReferenceEnvironmentInjectionOptions","optional":false,"summary":"Options controlling which reference information is emitted."}]},{"id":"method:ContainerResource.withReference","kind":"method","name":"withReference","declaration":"withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withReference","returnType":"ContainerResourcePromise","summary":"Adds a reference to another resource","parameters":[{"name":"source","type":"CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E","optional":false},{"name":"connectionName","type":"string","optional":true},{"name":"optional","type":"boolean","optional":true},{"name":"name","type":"string","optional":true}]},{"id":"method:ContainerResource.withEndpointCallback","kind":"method","name":"withEndpointCallback","declaration":"withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withEndpointCallback","returnType":"ContainerResourcePromise","summary":"Updates a named endpoint via callback","parameters":[{"name":"endpointName","type":"string","optional":false},{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ContainerResource.withHttpEndpointCallback","kind":"method","name":"withHttpEndpointCallback","declaration":"withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withHttpEndpointCallback","returnType":"ContainerResourcePromise","summary":"Updates an HTTP endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ContainerResource.withHttpsEndpointCallback","kind":"method","name":"withHttpsEndpointCallback","declaration":"withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withHttpsEndpointCallback","returnType":"ContainerResourcePromise","summary":"Updates an HTTPS endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ContainerResource.withEndpoint","kind":"method","name":"withEndpoint","declaration":"withEndpoint(options?: WithEndpointOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withEndpoint","returnType":"ContainerResourcePromise","summary":"Adds a network endpoint","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"scheme","type":"string","optional":true,"summary":"An optional scheme e.g. (http/https). Defaults to the \u0060protocol\u0060 argument if it is defined or \u0022tcp\u0022 otherwise."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to the scheme name if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable that will be used to inject the \u0060targetPort\u0060. If the target port is null one will be dynamically generated and assigned to the environment variable."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."},{"name":"isExternal","type":"boolean","optional":true,"summary":"Indicates that this endpoint should be exposed externally at publish time."},{"name":"protocol","type":"ProtocolType","optional":true,"summary":"Network protocol: TCP or UDP are supported today, others possibly in future."}]},{"id":"method:ContainerResource.withEndpointProxySupport","kind":"method","name":"withEndpointProxySupport","declaration":"withEndpointProxySupport(proxyEnabled: boolean): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withEndpointProxySupport","returnType":"ContainerResourcePromise","summary":"Set whether a resource can use proxied endpoints or whether they should be disabled for all endpoints belonging to the resource. If set to \u0060false\u0060, endpoints belonging to the resource will ignore the configured proxy settings and run proxy-less.","remarks":"This method is intended to support scenarios with persistent lifetime resources where it is desirable for the resource to be accessible over the same\nport whether the Aspire application is running or not. Proxied endpoints bind ports that are only accessible while the Aspire application is running.\nThe user needs to be careful to ensure that endpoints are using unique ports when disabling proxy support as by default for proxy-less\nendpoints, Aspire will allocate the target port as the host port, which will increase the chance of port conflicts.","parameters":[{"name":"proxyEnabled","type":"boolean","optional":false,"summary":"Should endpoints for the resource support using a proxy?"}]},{"id":"method:ContainerResource.withHttpEndpoint","kind":"method","name":"withHttpEndpoint","declaration":"withHttpEndpoint(options?: WithHttpEndpointOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withHttpEndpoint","returnType":"ContainerResourcePromise","summary":"Adds an HTTP endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022http\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:ContainerResource.withHttpsEndpoint","kind":"method","name":"withHttpsEndpoint","declaration":"withHttpsEndpoint(options?: WithHttpsEndpointOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withHttpsEndpoint","returnType":"ContainerResourcePromise","summary":"Adds an HTTPS endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional host port."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022https\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:ContainerResource.withExternalHttpEndpoints","kind":"method","name":"withExternalHttpEndpoints","declaration":"withExternalHttpEndpoints(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withExternalHttpEndpoints","returnType":"ContainerResourcePromise","summary":"Marks existing http or https endpoints on a resource as external."},{"id":"method:ContainerResource.getEndpoint","kind":"method","name":"getEndpoint","declaration":"getEndpoint(name: string): EndpointReferencePromise","capabilityId":"Aspire.Hosting/getEndpoint","returnType":"EndpointReferencePromise","summary":"Gets an endpoint reference","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the endpoint."}]},{"id":"method:ContainerResource.asHttp2Service","kind":"method","name":"asHttp2Service","declaration":"asHttp2Service(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/asHttp2Service","returnType":"ContainerResourcePromise","summary":"Configures a resource to mark all endpoints\u0027 transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge."},{"id":"method:ContainerResource.withUrls","kind":"method","name":"withUrls","declaration":"withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withUrls","returnType":"ContainerResourcePromise","summary":"Registers a callback to customize the URLs displayed for the resource.","parameters":[{"name":"callback","type":"(obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize URLs for the resource."}]},{"id":"method:ContainerResource.withUrl","kind":"method","name":"withUrl","declaration":"withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withUrl","returnType":"ContainerResourcePromise","summary":"Adds or modifies displayed URLs","parameters":[{"name":"url","type":"string | ReferenceExpression","optional":false},{"name":"displayText","type":"string","optional":true}]},{"id":"method:ContainerResource.withUrlForEndpoint","kind":"method","name":"withUrlForEndpoint","declaration":"withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withUrlForEndpoint","returnType":"ContainerResourcePromise","summary":"Registers a callback to update the URL displayed for the endpoint with the specified name.","parameters":[{"name":"endpointName","type":"string","optional":false,"summary":"The name of the endpoint to customize the URL for."},{"name":"callback","type":"(obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize the URL."}]},{"id":"method:ContainerResource.excludeFromManifest","kind":"method","name":"excludeFromManifest","declaration":"excludeFromManifest(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/excludeFromManifest","returnType":"ContainerResourcePromise","summary":"Excludes a resource from being published to the manifest."},{"id":"method:ContainerResource.waitFor","kind":"method","name":"waitFor","declaration":"waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/waitFor","returnType":"ContainerResourcePromise","summary":"Waits for another resource to be ready","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:ContainerResource.waitForStart","kind":"method","name":"waitForStart","declaration":"waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/waitForStart","returnType":"ContainerResourcePromise","summary":"Waits for another resource to start","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:ContainerResource.withExplicitStart","kind":"method","name":"withExplicitStart","declaration":"withExplicitStart(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withExplicitStart","returnType":"ContainerResourcePromise","summary":"Prevents resource from starting automatically"},{"id":"method:ContainerResource.waitForCompletion","kind":"method","name":"waitForCompletion","declaration":"waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/waitForResourceCompletion","returnType":"ContainerResourcePromise","summary":"Waits for the dependency resource to enter the Exited or Finished state before starting the resource.","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder for the dependency resource."},{"name":"exitCode","type":"number","optional":true,"summary":"The exit code which is interpreted as successful."}]},{"id":"method:ContainerResource.withHealthCheck","kind":"method","name":"withHealthCheck","declaration":"withHealthCheck(key: string): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withHealthCheck","returnType":"ContainerResourcePromise","summary":"Adds a health check by key","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key for the health check."}]},{"id":"method:ContainerResource.withHttpHealthCheck","kind":"method","name":"withHttpHealthCheck","declaration":"withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withHttpHealthCheck","returnType":"ContainerResourcePromise","summary":"Adds a health check to the resource which is mapped to a specific endpoint.","parameters":[{"name":"path","type":"string","optional":true,"summary":"The relative path to test."},{"name":"statusCode","type":"number","optional":true,"summary":"The result code to interpret as healthy."},{"name":"endpointName","type":"string","optional":true,"summary":"The name of the endpoint to derive the base address from."}]},{"id":"method:ContainerResource.withCommand","kind":"method","name":"withCommand","declaration":"withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withCommand","returnType":"ContainerResourcePromise","summary":"Adds a resource command","remarks":"The \u0060WithCommand\u0060 method is used to add commands to the resource. Commands are displayed in the dashboard\nand can be executed by a user using the dashboard UI.\nWhen a command is executed, the \u0060executeCommand\u0060 callback is called and is run inside the Aspire host.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the command. The name uniquely identifies the command."},{"name":"displayName","type":"string","optional":false,"summary":"The display name visible in UI."},{"name":"executeCommand","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E","optional":false,"summary":"A callback that is executed when the command is executed. The callback is run inside the Aspire host. The callback result is used to indicate success or failure in the UI."},{"name":"commandOptions","type":"CommandOptions","optional":true,"summary":"Optional configuration for the command."}]},{"id":"method:ContainerResource.withProcessCommand","kind":"method","name":"withProcessCommand","declaration":"withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommand","returnType":"ContainerResourcePromise","summary":"Adds a command to the resource that starts a local process when invoked.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"ProcessCommandExportOptions","optional":false}]},{"id":"method:ContainerResource.withProcessCommandFactory","kind":"method","name":"withProcessCommandFactory","declaration":"withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommandFactory","returnType":"ContainerResourcePromise","summary":"Adds a command to the resource that starts a local process created by a callback when invoked.","deprecated":"Use withProcessCommand with createProcessSpec in the options object instead.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"createProcessSpec","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E","optional":false},{"name":"options","type":"ProcessCommandResultExportOptions","optional":true}]},{"id":"method:ContainerResource.withHttpCommand","kind":"method","name":"withHttpCommand","declaration":"withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withHttpCommand","returnType":"ContainerResourcePromise","summary":"Adds an HTTP resource command","parameters":[{"name":"path","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"HttpCommandExportOptions","optional":true}]},{"id":"method:ContainerResource.withDeveloperCertificateTrust","kind":"method","name":"withDeveloperCertificateTrust","declaration":"withDeveloperCertificateTrust(trust: boolean): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withDeveloperCertificateTrust","returnType":"ContainerResourcePromise","summary":"Indicates whether developer certificates should be treated as trusted certificate authorities for the resource at run time. Currently this indicates trust for the ASP.NET Core developer certificate. The developer certificate will only be trusted when running in local development scenarios; in publish mode resources will use their default certificate trust.","remarks":"Disable trust for app host managed developer certificate(s) for a container resource.\n\u0060\u0060\u0060\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithDeveloperCertificateTrust(false);\n\u0060\u0060\u0060\nDisable automatic trust for app host managed developer certificate(s), but explicitly enable it for a specific resource.\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(new DistributedApplicationOptions()\n{\nArgs = args,\nTrustDeveloperCertificate = false,\n});\nvar project = builder.AddProject\u003CMyService\u003E(\u0022my-service\u0022)\n.WithDeveloperCertificateTrust(true);\n\u0060\u0060\u0060","parameters":[{"name":"trust","type":"boolean","optional":false,"summary":"Indicates whether the developer certificate should be treated as trusted."}]},{"id":"method:ContainerResource.withCertificateTrustScope","kind":"method","name":"withCertificateTrustScope","declaration":"withCertificateTrustScope(scope: CertificateTrustScope): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withCertificateTrustScope","returnType":"ContainerResourcePromise","summary":"Sets the certificate trust scope","remarks":"The default scope if not overridden is \u0060Append\u0060 which means that custom certificate\nauthorities should be appended to the default trusted certificate authorities for the resource. Setting the scope to\n\u0060Override\u0060 indicates the set of certificates in referenced\n\u0060CertificateAuthorityCollection\u0060 (and optionally Aspire developer certificiates) should be used as the\nexclusive source of trust for a resource.\nIn all cases, this is a best effort implementation as not all resources support full customization of certificate\ntrust.\nSet the scope for custom certificate authorities to override the default trusted certificate authorities for a container resource.\n\u0060\u0060\u0060\nvar caCollection = builder.AddCertificateAuthorityCollection(\u0022my-cas\u0022)\n.WithCertificate(new X509Certificate2(\u0022my-ca.pem\u0022));\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithCertificateAuthorityCollection(caCollection)\n.WithCertificateTrustScope(CertificateTrustScope.Override);\n\u0060\u0060\u0060","parameters":[{"name":"scope","type":"CertificateTrustScope","optional":false,"summary":"The scope to apply to custom certificate authorities associated with the resource."}]},{"id":"method:ContainerResource.withHttpsDeveloperCertificate","kind":"method","name":"withHttpsDeveloperCertificate","declaration":"withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withParameterHttpsDeveloperCertificate","returnType":"ContainerResourcePromise","summary":"Indicates that a resource should use the developer certificate key pair for HTTPS endpoints at run time. Currently this indicates use of the ASP.NET Core developer certificate. The developer certificate will only be used when running in local development scenarios; in publish mode resources will use their default certificate configuration.","remarks":"Use the developer certificate for HTTPS/TLS endpoints on a container resource:\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsDeveloperCertificate()\n\u0060\u0060\u0060","parameters":[{"name":"password","type":"Awaitable\u003CParameterResource\u003E","optional":true,"summary":"A parameter specifying the password used to encrypt the certificate private key."}]},{"id":"method:ContainerResource.withoutHttpsCertificate","kind":"method","name":"withoutHttpsCertificate","declaration":"withoutHttpsCertificate(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withoutHttpsCertificate","returnType":"ContainerResourcePromise","summary":"Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied.","remarks":"Disable HTTPS certificate configuration for a Redis resource:\n\u0060\u0060\u0060\nvar redis = builder.AddRedis(\u0022cache\u0022)\n.WithoutHttpsCertificate();\n\u0060\u0060\u0060"},{"id":"method:ContainerResource.withHttpsCertificateConfiguration","kind":"method","name":"withHttpsCertificateConfiguration","declaration":"withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withHttpsCertificateConfiguration","returnType":"ContainerResourcePromise","summary":"Adds a callback that allows configuring the resource to use a specific HTTPS/TLS certificate key pair for server authentication.","remarks":"Pass the path to the PFX certificate file to the container arguments.\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsCertificateConfiguration(ctx =\u003E\n{\nctx.Arguments.Add(\u0022--https-certificate-path\u0022);\nctx.Arguments.Add(ctx.PfxPath);\nreturn Task.CompletedTask;\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to configure the resource to use a certificate key pair."}]},{"id":"method:ContainerResource.subscribeHttpsEndpointsUpdate","kind":"method","name":"subscribeHttpsEndpointsUpdate","declaration":"subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/subscribeHttpsEndpointsUpdate","returnType":"ContainerResourcePromise","summary":"Subscribes to the \u0060BeforeStartEvent\u0060 and invokes the specified callback when an HTTPS certificate is determined to be available for the resource. This is used to conditionally update endpoint URI schemes or perform other HTTPS-related configuration at startup.","remarks":"The callback is invoked when either:\n-\n-\nSwitch an endpoint to HTTPS when a certificate is available:\n\u0060\u0060\u0060\nbuilder.SubscribeHttpsEndpointsUpdate(ctx =\u003E\n{\nbuilder.WithEndpoint(\u0022http\u0022, ep =\u003E ep.UriScheme = \u0022https\u0022);\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when HTTPS is enabled. Receives an \u0060HttpsEndpointUpdateCallbackContext\u0060 providing access to the service provider, resource, and application model."}]},{"id":"method:ContainerResource.withRelationship","kind":"method","name":"withRelationship","declaration":"withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withBuilderRelationship","returnType":"ContainerResourcePromise","summary":"Adds a relationship to another resource using its builder.","parameters":[{"name":"resourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder that the relationship is to."},{"name":"type","type":"string","optional":false,"summary":"The relationship type."}]},{"id":"method:ContainerResource.withParentRelationship","kind":"method","name":"withParentRelationship","declaration":"withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withBuilderParentRelationship","returnType":"ContainerResourcePromise","summary":"Sets the parent relationship","parameters":[{"name":"parent","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The parent of \u0060builder\u0060."}]},{"id":"method:ContainerResource.withChildRelationship","kind":"method","name":"withChildRelationship","declaration":"withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withBuilderChildRelationship","returnType":"ContainerResourcePromise","summary":"Sets a child relationship","parameters":[{"name":"child","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The child of \u0060builder\u0060."}]},{"id":"method:ContainerResource.withIconName","kind":"method","name":"withIconName","declaration":"withIconName(iconName: string, options?: WithIconNameOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withIconName","returnType":"ContainerResourcePromise","summary":"Specifies the icon to use when displaying the resource in the dashboard.","parameters":[{"name":"iconName","type":"string","optional":false,"summary":"The name of the FluentUI icon to use. See https://aka.ms/fluentui-system-icons for available icons."},{"name":"iconVariant","type":"IconVariant","optional":true,"summary":"The variant of the icon (Regular or Filled). Defaults to Filled."}]},{"id":"method:ContainerResource.withComputeEnvironment","kind":"method","name":"withComputeEnvironment","declaration":"withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withComputeEnvironment","returnType":"ContainerResourcePromise","summary":"Configures the compute environment for the compute resource.","remarks":"This method allows associating a specific compute environment with the compute resource.","parameters":[{"name":"computeEnvironmentResource","type":"Awaitable\u003CComputeEnvironmentResource\u003E","optional":false,"summary":"The compute environment resource to associate with the compute resource."}]},{"id":"method:ContainerResource.withHttpProbe","kind":"method","name":"withHttpProbe","declaration":"withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withHttpProbe","returnType":"ContainerResourcePromise","summary":"Adds an HTTP health probe to the resource","parameters":[{"name":"probeType","type":"ProbeType","optional":false},{"name":"path","type":"string","optional":true},{"name":"initialDelaySeconds","type":"number","optional":true},{"name":"periodSeconds","type":"number","optional":true},{"name":"timeoutSeconds","type":"number","optional":true},{"name":"failureThreshold","type":"number","optional":true},{"name":"successThreshold","type":"number","optional":true},{"name":"endpointName","type":"string","optional":true}]},{"id":"method:ContainerResource.excludeFromMcp","kind":"method","name":"excludeFromMcp","declaration":"excludeFromMcp(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/excludeFromMcp","returnType":"ContainerResourcePromise","summary":"Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry."},{"id":"method:ContainerResource.withHidden","kind":"method","name":"withHidden","declaration":"withHidden(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withHidden","returnType":"ContainerResourcePromise","summary":"Hides the resource from default resource lists","remarks":"Use this method to hide resources that are implementation details and should never be displayed by default.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI."},{"id":"method:ContainerResource.withHiddenOnCompletion","kind":"method","name":"withHiddenOnCompletion","declaration":"withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withHiddenOnCompletion","returnType":"ContainerResourcePromise","summary":"Hides the resource from default resource lists after successful completion","remarks":"This method is useful for one-off resources such as setup scripts, migrations, or build steps that should remain visible while running\nand then be hidden after successful completion.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI.","parameters":[{"name":"exitCode","type":"number","optional":true,"summary":"The completion exit code to treat as successful. Defaults to \u00600\u0060."},{"name":"exitCodes","type":"number[]","optional":true,"summary":"Completion exit codes to treat as successful. If no values are provided, \u00600\u0060 is used."}]},{"id":"method:ContainerResource.withImagePushOptions","kind":"method","name":"withImagePushOptions","declaration":"withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withImagePushOptions","returnType":"ContainerResourcePromise","summary":"Adds an asynchronous callback to configure container image push options for the resource.","remarks":"This method allows customization of how container images are named and tagged when pushed to a registry using an asynchronous callback.\nUse this overload when the callback needs to perform asynchronous operations such as retrieving configuration values from external sources.\nThe callback receives a \u0060ContainerImagePushOptionsCallbackContext\u0060 that provides access to the resource\nand the \u0060ContainerImagePushOptions\u0060 that can be modified.\nMultiple callbacks can be registered on the same resource, and they will be invoked in the order they were added.","parameters":[{"name":"callback","type":"(arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The asynchronous callback to configure push options."}]},{"id":"method:ContainerResource.withRemoteImageName","kind":"method","name":"withRemoteImageName","declaration":"withRemoteImageName(remoteImageName: string): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageName","returnType":"ContainerResourcePromise","summary":"Sets the remote image name (without registry endpoint or tag) for container push operations.","remarks":"Use this with \u0060withRemoteImageTag\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageName","type":"string","optional":false,"summary":"The remote image name (e.g., \u0022myapp\u0022 or \u0022myorg/myapp\u0022)."}]},{"id":"method:ContainerResource.withRemoteImageTag","kind":"method","name":"withRemoteImageTag","declaration":"withRemoteImageTag(remoteImageTag: string): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageTag","returnType":"ContainerResourcePromise","summary":"Sets the remote image tag for container push operations.","remarks":"Use this with \u0060withRemoteImageName\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageTag","type":"string","optional":false,"summary":"The remote image tag (e.g., \u0022latest\u0022, \u0022v1.0.0\u0022)."}]},{"id":"method:ContainerResource.withTerminal","kind":"method","name":"withTerminal","declaration":"withTerminal(): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withTerminal","returnType":"ContainerResourcePromise","summary":"Adds an interactive terminal session to a resource using the default terminal options."},{"id":"method:ContainerResource.withPipelineStepFactory","kind":"method","name":"withPipelineStepFactory","declaration":"withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withPipelineStepFactory","returnType":"ContainerResourcePromise","summary":"Adds a pipeline step to the resource that will be executed during deployment.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The unique name of the pipeline step."},{"name":"callback","type":"(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to execute when the step runs."},{"name":"dependsOn","type":"string[]","optional":true,"summary":"Optional step names that this step depends on."},{"name":"requiredBy","type":"string[]","optional":true,"summary":"Optional step names that require this step."},{"name":"tags","type":"string[]","optional":true,"summary":"Optional tags that categorize this step."},{"name":"description","type":"string","optional":true,"summary":"An optional human-readable description of the step."}]},{"id":"method:ContainerResource.withPipelineConfiguration","kind":"method","name":"withPipelineConfiguration","declaration":"withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withPipelineConfiguration","returnType":"ContainerResourcePromise","summary":"Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.","parameters":[{"name":"callback","type":"(obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback function to execute during the configuration phase."}]},{"id":"method:ContainerResource.withVolume","kind":"method","name":"withVolume","declaration":"withVolume(target: string, options?: WithVolumeOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withVolume","returnType":"ContainerResourcePromise","summary":"Adds a volume to a container resource.","remarks":"Volumes persist data across container restarts. Named volumes are managed\nby Docker/Podman and stored in a system-managed location.\nWhy this wrapper exists: The original \u0060ContainerResourceBuilderExtensions.WithVolume\u0060\nhas parameter order \u0060(name?, target, isReadOnly)\u0060 where the optional \u0060name\u0060 comes first.\nThis wrapper reorders parameters to \u0060(target, name?, isReadOnly)\u0060 so the required \u0060target\u0060\nparameter comes first, providing a better API for polyglot consumers.","parameters":[{"name":"target","type":"string","optional":false,"summary":"The mount path inside the container."},{"name":"name","type":"string","optional":true,"summary":"The volume name. If null, an anonymous volume is created."},{"name":"isReadOnly","type":"boolean","optional":true,"summary":"Whether the volume is read-only."}]},{"id":"method:ContainerResource.getResourceName","kind":"method","name":"getResourceName","declaration":"getResourceName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getResourceName","returnType":"Promise\u003Cstring\u003E","summary":"Gets the name of the resource from a builder.","remarks":"Why this wrapper exists: This capability accesses a nested property\n(\u0060resource.Resource.Name\u0060) which requires a wrapper method. There is no single\n.NET method that returns just the resource name that could be annotated directly."},{"id":"method:ContainerResource.onBeforeResourceStarted","kind":"method","name":"onBeforeResourceStarted","declaration":"onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/onBeforeResourceStarted","returnType":"ContainerResourcePromise","summary":"Subscribes to the BeforeResourceStarted event.","parameters":[{"name":"callback","type":"(arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ContainerResource.onResourceStopped","kind":"method","name":"onResourceStopped","declaration":"onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/onResourceStopped","returnType":"ContainerResourcePromise","summary":"Subscribes to the ResourceStopped event.","parameters":[{"name":"callback","type":"(arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ContainerResource.onInitializeResource","kind":"method","name":"onInitializeResource","declaration":"onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/onInitializeResource","returnType":"ContainerResourcePromise","summary":"Subscribes to the InitializeResource event.","parameters":[{"name":"callback","type":"(arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ContainerResource.onResourceEndpointsAllocated","kind":"method","name":"onResourceEndpointsAllocated","declaration":"onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/onResourceEndpointsAllocated","returnType":"ContainerResourcePromise","summary":"Subscribes to the ResourceEndpointsAllocated event.","parameters":[{"name":"callback","type":"(arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ContainerResource.onResourceReady","kind":"method","name":"onResourceReady","declaration":"onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/onResourceReady","returnType":"ContainerResourcePromise","summary":"Subscribes to the ResourceReady event.","parameters":[{"name":"callback","type":"(arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ContainerResource.createExecutionConfiguration","kind":"method","name":"createExecutionConfiguration","declaration":"createExecutionConfiguration(): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/createExecutionConfiguration","returnType":"ExecutionConfigurationBuilderPromise","summary":"Creates an execution configuration builder for the specified resource."},{"id":"method:ContainerResource.withContainerBuildOptions","kind":"method","name":"withContainerBuildOptions","declaration":"withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise","capabilityId":"Aspire.Hosting/withContainerBuildOptions","returnType":"ContainerResourcePromise","summary":"Configures container build options for a compute resource using an async callback.","parameters":[{"name":"callback","type":"(arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"An async callback to configure container build options."}]}]},{"id":"interface:DistributedApplication","kind":"interface","name":"DistributedApplication","typeId":"Aspire.Hosting/Aspire.Hosting.DistributedApplication","owningAssembly":"Aspire.Hosting","declaration":"export interface DistributedApplication","summary":"Represents a distributed application that implements the {@ats-ref type:IHost} and {@ats-ref type:IAsyncDisposable} interfaces.","members":[{"id":"method:DistributedApplication.run","kind":"method","name":"run","declaration":"run(options?: RunOptions): DistributedApplicationPromise","capabilityId":"Aspire.Hosting/run","returnType":"DistributedApplicationPromise","summary":"Runs the distributed application","remarks":"When the Aspire app host is launched via \u0060RunAsync\u0060 there are\ntwo possible modes that it is running in:\n-\n-\nDevelopers extending the Aspire application model should consider the lifetime\nof \u0060IHostedService\u0060 instances which are added to the dependency injection\ncontainer. For more information on determining the mode that the app host is running\nin refer to \u0060DistributedApplicationExecutionContext\u0060.","parameters":[{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true,"summary":"The token to trigger shutdown."}]}]},{"id":"interface:DistributedApplicationBuilder","kind":"interface","name":"DistributedApplicationBuilder","typeId":"Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder","owningAssembly":"Aspire.Hosting","declaration":"export interface DistributedApplicationBuilder","summary":"A builder for creating instances of {@ats-ref type:DistributedApplication}.","members":[{"id":"property:DistributedApplicationBuilder.appHostDirectory","kind":"property","name":"appHostDirectory","declaration":"appHostDirectory(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/IDistributedApplicationBuilder.appHostDirectory","summary":"Directory of the project where the app host is located. Defaults to the content root if there\u0027s no project."},{"id":"property:DistributedApplicationBuilder.environment","kind":"property","name":"environment","declaration":"environment(): HostEnvironmentPromise","capabilityId":"Aspire.Hosting/IDistributedApplicationBuilder.environment"},{"id":"property:DistributedApplicationBuilder.eventing","kind":"property","name":"eventing","declaration":"eventing(): DistributedApplicationEventingPromise","capabilityId":"Aspire.Hosting/IDistributedApplicationBuilder.eventing","summary":"Eventing infrastructure for AppHost lifecycle."},{"id":"property:DistributedApplicationBuilder.executionContext","kind":"property","name":"executionContext","declaration":"executionContext(): DistributedApplicationExecutionContextPromise","capabilityId":"Aspire.Hosting/IDistributedApplicationBuilder.executionContext","summary":"Execution context for this invocation of the AppHost.","remarks":"Use this property to determine whether the app host is running locally or publishing\ndeployment artifacts, and adjust the application model accordingly."},{"id":"property:DistributedApplicationBuilder.pipeline","kind":"property","name":"pipeline","declaration":"pipeline(): DistributedApplicationPipelinePromise","capabilityId":"Aspire.Hosting/IDistributedApplicationBuilder.pipeline","summary":"Gets the deployment pipeline for this distributed application.","remarks":"The pipeline allows adding custom deployment steps that execute during the deploy process.\nSteps can declare dependencies on other steps to control execution order."},{"id":"property:DistributedApplicationBuilder.userSecretsManager","kind":"property","name":"userSecretsManager","declaration":"userSecretsManager(): UserSecretsManagerPromise","capabilityId":"Aspire.Hosting/IDistributedApplicationBuilder.userSecretsManager","summary":"Gets the service for managing user secrets.","remarks":"The \u0060UserSecretsManager\u0060 provides a centralized way to manage user secrets\nused by Aspire, enabling testability and consistent secret management."},{"id":"method:DistributedApplicationBuilder.addContainerRegistry","kind":"method","name":"addContainerRegistry","declaration":"addContainerRegistry(name: string, endpoint: string | ParameterResource | Awaitable\u003CParameterResource\u003E, options?: AddContainerRegistryOptions): ContainerRegistryResourcePromise","capabilityId":"Aspire.Hosting/addContainerRegistry","returnType":"ContainerRegistryResourcePromise","summary":"Adds a container registry resource","parameters":[{"name":"name","type":"string","optional":false},{"name":"endpoint","type":"string | ParameterResource | Awaitable\u003CParameterResource\u003E","optional":false},{"name":"repository","type":"string | ParameterResource | Awaitable\u003CParameterResource\u003E","optional":true}]},{"id":"method:DistributedApplicationBuilder.addContainer","kind":"method","name":"addContainer","declaration":"addContainer(name: string, image: string | AddContainerOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/addContainer","returnType":"ContainerResourcePromise","summary":"Adds a container resource to the application.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the resource."},{"name":"image","type":"string | AddContainerOptions","optional":false,"summary":"The image name or image options for the container."}]},{"id":"method:DistributedApplicationBuilder.addDockerfile","kind":"method","name":"addDockerfile","declaration":"addDockerfile(name: string, contextPath: string, options?: AddDockerfileOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/addDockerfile","returnType":"ContainerResourcePromise","summary":"Adds a Dockerfile to the application model that can be treated like a container resource.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the resource."},{"name":"contextPath","type":"string","optional":false,"summary":"Path to be used as the context for the container image build."},{"name":"dockerfilePath","type":"string","optional":true,"summary":"Path to the Dockerfile relative to the \u0060contextPath\u0060. Defaults to \u0022Dockerfile\u0022 if not specified."},{"name":"stage","type":"string","optional":true,"summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"method:DistributedApplicationBuilder.addDockerfileFactory","kind":"method","name":"addDockerfileFactory","declaration":"addDockerfileFactory(name: string, contextPath: string, dockerfileFactory: (arg: DockerfileFactoryContext) =\u003E Promise\u003Cstring\u003E, options?: AddDockerfileFactoryOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/addDockerfileFactory","returnType":"ContainerResourcePromise","summary":"Adds a Dockerfile to the application model that can be treated like a container resource, with the Dockerfile content generated by an asynchronous factory function.","remarks":"The \u0060contextPath\u0060 is relative to the AppHost directory unless it is fully qualified.\nThe factory function is invoked once during the build process to generate the Dockerfile content.\nThe output is trusted and not validated.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the resource."},{"name":"contextPath","type":"string","optional":false,"summary":"Path to be used as the context for the container image build."},{"name":"dockerfileFactory","type":"(arg: DockerfileFactoryContext) =\u003E Promise\u003Cstring\u003E","optional":false,"summary":"An asynchronous function that returns the Dockerfile content as a string."},{"name":"stage","type":"string","optional":true,"summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"method:DistributedApplicationBuilder.addDockerfileBuilder","kind":"method","name":"addDockerfileBuilder","declaration":"addDockerfileBuilder(name: string, contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E, options?: AddDockerfileBuilderOptions): ContainerResourcePromise","capabilityId":"Aspire.Hosting/addDockerfileBuilder","returnType":"ContainerResourcePromise","summary":"Adds a container resource built from a programmatically generated Dockerfile","remarks":"This method provides a programmatic way to build Dockerfiles using the \u0060DockerfileBuilder\u0060 API\ninstead of string manipulation.\nThe \u0060contextPath\u0060 is relative to the AppHost directory unless it is fully qualified.\nCreates a container with a programmatically built Dockerfile:\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddDockerfileBuilder(\u0022mycontainer\u0022, \u0022path/to/context\u0022, context =\u003E\n{\ncontext.Builder.From(\u0022alpine:latest\u0022)\n.WorkDir(\u0022/app\u0022)\n.Copy(\u0022.\u0022, \u0022.\u0022)\n.Cmd([\u0022./myapp\u0022]);\nreturn Task.CompletedTask;\n});\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the resource."},{"name":"contextPath","type":"string","optional":false,"summary":"Path to be used as the context for the container image build."},{"name":"callback","type":"(arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that uses the \u0060DockerfileBuilder\u0060 API to construct the Dockerfile."},{"name":"stage","type":"string","optional":true,"summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"method:DistributedApplicationBuilder.addDotnetTool","kind":"method","name":"addDotnetTool","declaration":"addDotnetTool(name: string, packageId: string): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/addDotnetTool","returnType":"DotnetToolResourcePromise","summary":"Adds a .NET tool resource to the application model.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the resource."},{"name":"packageId","type":"string","optional":false,"summary":"The package id of the tool."}]},{"id":"method:DistributedApplicationBuilder.addExecutable","kind":"method","name":"addExecutable","declaration":"addExecutable(name: string, command: string, workingDirectory: string, args: string[]): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/addExecutable","returnType":"ExecutableResourcePromise","summary":"Adds an executable resource to the application model.","remarks":"You can run any executable command using its full path.\nAs a security feature, Aspire doesn\u0027t run executable unless the command is located in a path listed in the PATH environment variable.\nTo run an executable file that\u0027s in the current directory, specify the full path or use the relative path \u0060./\u0060 to represent the current directory.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the resource."},{"name":"command","type":"string","optional":false,"summary":"The executable path. This can be a fully qualified path or a executable to run from the shell/command line."},{"name":"workingDirectory","type":"string","optional":false,"summary":"The working directory of the executable."},{"name":"args","type":"string[]","optional":false,"summary":"The arguments to the executable."}]},{"id":"method:DistributedApplicationBuilder.addExternalService","kind":"method","name":"addExternalService","declaration":"addExternalService(name: string, url: string | ParameterResource | Awaitable\u003CParameterResource\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/addExternalService","returnType":"ExternalServiceResourcePromise","summary":"Adds an external service resource","parameters":[{"name":"name","type":"string","optional":false},{"name":"url","type":"string | ParameterResource | Awaitable\u003CParameterResource\u003E","optional":false}]},{"id":"method:DistributedApplicationBuilder.build","kind":"method","name":"build","declaration":"build(): DistributedApplicationPromise","capabilityId":"Aspire.Hosting/build","returnType":"DistributedApplicationPromise","summary":"Builds the distributed application","remarks":"Callers of the \u0060Build\u0060 method should only call it once. are responsible for the lifecycle of the\n\u0060DistributedApplication\u0060 instance that is returned. Note that the \u0060DistributedApplication\u0060\ntype implements \u0060IDisposable\u0060 and should be disposed of when it is no longer needed. Note that in\nmany templates and samples Dispose is omitted for brevity because in those cases the instance is destroyed\nwhen the process exists."},{"id":"method:DistributedApplicationBuilder.addParameter","kind":"method","name":"addParameter","declaration":"addParameter(name: string, options?: AddParameterOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/addParameter","returnType":"ParameterResourcePromise","summary":"Adds a parameter resource","parameters":[{"name":"name","type":"string","optional":false},{"name":"value","type":"string","optional":true},{"name":"publishValueAsDefault","type":"boolean","optional":true},{"name":"secret","type":"boolean","optional":true}]},{"id":"method:DistributedApplicationBuilder.addParameterFromConfiguration","kind":"method","name":"addParameterFromConfiguration","declaration":"addParameterFromConfiguration(name: string, configurationKey: string, options?: AddParameterFromConfigurationOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/addParameterFromConfiguration","returnType":"ParameterResourcePromise","summary":"Adds a parameter resource to the application, with a value coming from configuration.","parameters":[{"name":"name","type":"string","optional":false,"summary":"Name of parameter resource"},{"name":"configurationKey","type":"string","optional":false,"summary":"Configuration key used to get the value of the parameter"},{"name":"secret","type":"boolean","optional":true,"summary":"Optional flag indicating whether the parameter should be regarded as secret."}]},{"id":"method:DistributedApplicationBuilder.addParameterWithGeneratedValue","kind":"method","name":"addParameterWithGeneratedValue","declaration":"addParameterWithGeneratedValue(name: string, value: GenerateParameterDefault, options?: AddParameterWithGeneratedValueOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/addParameterWithGeneratedValue","returnType":"ParameterResourcePromise","summary":"Adds a parameter with a generated default value","parameters":[{"name":"name","type":"string","optional":false},{"name":"value","type":"GenerateParameterDefault","optional":false},{"name":"secret","type":"boolean","optional":true},{"name":"persist","type":"boolean","optional":true}]},{"id":"method:DistributedApplicationBuilder.addConnectionString","kind":"method","name":"addConnectionString","declaration":"addConnectionString(name: string, options?: AddConnectionStringOptions): ResourceWithConnectionStringPromise","capabilityId":"Aspire.Hosting/addConnectionString","returnType":"ResourceWithConnectionStringPromise","summary":"Adds a connection string resource","parameters":[{"name":"name","type":"string","optional":false},{"name":"environmentVariableNameOrExpression","type":"string | ReferenceExpression","optional":true}]},{"id":"method:DistributedApplicationBuilder.addProject","kind":"method","name":"addProject","declaration":"addProject(name: string, projectPath: string, options?: AddProjectOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/addProject","returnType":"ProjectResourcePromise","summary":"Adds a .NET project resource","parameters":[{"name":"name","type":"string","optional":false},{"name":"projectPath","type":"string","optional":false},{"name":"launchProfileOrOptions","type":"string | ProjectResourceOptions | Awaitable\u003CProjectResourceOptions\u003E","optional":true}]},{"id":"method:DistributedApplicationBuilder.addCSharpApp","kind":"method","name":"addCSharpApp","declaration":"addCSharpApp(name: string, path: string, options?: AddCSharpAppOptions): CSharpAppResourcePromise","capabilityId":"Aspire.Hosting/addCSharpApp","returnType":"CSharpAppResourcePromise","summary":"Adds a C# application resource","parameters":[{"name":"name","type":"string","optional":false},{"name":"path","type":"string","optional":false},{"name":"options","type":"Awaitable\u003CProjectResourceOptions\u003E","optional":true}]},{"id":"method:DistributedApplicationBuilder.getConfiguration","kind":"method","name":"getConfiguration","declaration":"getConfiguration(): ConfigurationPromise","capabilityId":"Aspire.Hosting/getConfiguration","returnType":"ConfigurationPromise","summary":"Gets the application configuration."},{"id":"method:DistributedApplicationBuilder.subscribeBeforeStart","kind":"method","name":"subscribeBeforeStart","declaration":"subscribeBeforeStart(callback: (arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","capabilityId":"Aspire.Hosting/subscribeBeforeStart","returnType":"Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","summary":"Subscribes to the BeforeStart event, which fires before the application starts.","remarks":"This event provides access to the service provider and distributed application model,\nallowing you to perform final configuration or validation before resources start.","parameters":[{"name":"callback","type":"(arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that receives the exported event when the event fires."}]},{"id":"method:DistributedApplicationBuilder.subscribeBeforePublish","kind":"method","name":"subscribeBeforePublish","declaration":"subscribeBeforePublish(callback: (arg: BeforePublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","capabilityId":"Aspire.Hosting/subscribeBeforePublish","returnType":"Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","summary":"Subscribes to the BeforePublish event, which fires before the application is published.","remarks":"This event provides access to the service provider and distributed application model,\nallowing you to perform final configuration or validation before publish pipeline steps run.","parameters":[{"name":"callback","type":"(arg: BeforePublishEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that receives the exported event when the event fires."}]},{"id":"method:DistributedApplicationBuilder.subscribeAfterPublish","kind":"method","name":"subscribeAfterPublish","declaration":"subscribeAfterPublish(callback: (arg: AfterPublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","capabilityId":"Aspire.Hosting/subscribeAfterPublish","returnType":"Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","summary":"Subscribes to the AfterPublish event, which fires after the application is published.","remarks":"This event provides access to the service provider and distributed application model,\nallowing you to inspect the model after publish pipeline steps complete.","parameters":[{"name":"callback","type":"(arg: AfterPublishEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that receives the exported event when the event fires."}]},{"id":"method:DistributedApplicationBuilder.subscribeAfterResourcesCreated","kind":"method","name":"subscribeAfterResourcesCreated","declaration":"subscribeAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","capabilityId":"Aspire.Hosting/subscribeAfterResourcesCreated","returnType":"Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","summary":"Subscribes to the AfterResourcesCreated event, which fires after all resources are created.","remarks":"At this point, all resources have been instantiated but may not yet be running.\nThis is useful for performing cross-resource configuration.","parameters":[{"name":"callback","type":"(arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that receives the exported event when the event fires."}]},{"id":"method:DistributedApplicationBuilder.addEventingSubscriber","kind":"method","name":"addEventingSubscriber","declaration":"addEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationBuilderPromise","capabilityId":"Aspire.Hosting/addEventingSubscriber","returnType":"DistributedApplicationBuilderPromise","summary":"Adds an ATS-friendly eventing subscriber callback to the distributed-application builder.","parameters":[{"name":"subscribe","type":"(arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that registers the event subscriptions."}]},{"id":"method:DistributedApplicationBuilder.tryAddEventingSubscriber","kind":"method","name":"tryAddEventingSubscriber","declaration":"tryAddEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationBuilderPromise","capabilityId":"Aspire.Hosting/tryAddEventingSubscriber","returnType":"DistributedApplicationBuilderPromise","summary":"Attempts to add an ATS-friendly eventing subscriber callback to the distributed-application builder.","parameters":[{"name":"subscribe","type":"(arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that registers the event subscriptions."}]},{"id":"method:DistributedApplicationBuilder.addHealthCheck","kind":"method","name":"addHealthCheck","declaration":"addHealthCheck(name: string, check: () =\u003E Promise\u003CHealthCheckResult\u003E): DistributedApplicationBuilderPromise","capabilityId":"Aspire.Hosting/addHealthCheck","returnType":"DistributedApplicationBuilderPromise","summary":"Adds a custom health check callback to the distributed-application builder.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The health check registration name."},{"name":"check","type":"() =\u003E Promise\u003CHealthCheckResult\u003E","optional":false,"summary":"The callback that evaluates the health check."}]}]},{"id":"interface:DistributedApplicationEventing","kind":"interface","name":"DistributedApplicationEventing","typeId":"Aspire.Hosting/Aspire.Hosting.Eventing.IDistributedApplicationEventing","owningAssembly":"Aspire.Hosting","declaration":"export interface DistributedApplicationEventing","summary":"Supports publishing and subscribing to events which are executed during the AppHost lifecycle.","members":[{"id":"method:DistributedApplicationEventing.unsubscribe","kind":"method","name":"unsubscribe","declaration":"unsubscribe(subscription: DistributedApplicationEventSubscriptionHandle): DistributedApplicationEventingPromise","capabilityId":"Aspire.Hosting.Eventing/IDistributedApplicationEventing.unsubscribe","returnType":"DistributedApplicationEventingPromise","summary":"Unsubscribe from an event.","parameters":[{"name":"subscription","type":"DistributedApplicationEventSubscriptionHandle","optional":false,"summary":"The specific subscription to unsubscribe."}]}]},{"id":"interface:DistributedApplicationExecutionContext","kind":"interface","name":"DistributedApplicationExecutionContext","typeId":"Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext","owningAssembly":"Aspire.Hosting","declaration":"export interface DistributedApplicationExecutionContext","summary":"Exposes the global contextual information for this invocation of the AppHost.","members":[{"id":"property:DistributedApplicationExecutionContext.publisherName","kind":"property","name":"publisherName","declaration":"publisherName: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting/DistributedApplicationExecutionContext.publisherName","summary":"The name of the publisher that is being used if \u0060Operation\u0060 is set to \u0060Publish\u0060."},{"id":"property:DistributedApplicationExecutionContext.operation","kind":"property","name":"operation","declaration":"operation(): Promise\u003CDistributedApplicationOperation\u003E","capabilityId":"Aspire.Hosting/DistributedApplicationExecutionContext.operation","summary":"The operation currently being performed by the AppHost."},{"id":"property:DistributedApplicationExecutionContext.runConfiguration","kind":"property","name":"runConfiguration","declaration":"runConfiguration(): Promise\u003CRunConfiguration\u003E","capabilityId":"Aspire.Hosting/DistributedApplicationExecutionContext.runConfiguration","summary":"Describes how the AppHost is being run. Only meaningful when \u0060Operation\u0060 is \u0060Run\u0060; otherwise every aspect holds its default value."},{"id":"property:DistributedApplicationExecutionContext.serviceProvider","kind":"property","name":"serviceProvider","declaration":"serviceProvider(): ServiceProviderPromise","capabilityId":"Aspire.Hosting/DistributedApplicationExecutionContext.serviceProvider","summary":"The \u0060IServiceProvider\u0060 for the AppHost."},{"id":"property:DistributedApplicationExecutionContext.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting/DistributedApplicationExecutionContext.services","summary":"The \u0060IServiceProvider\u0060 for the AppHost."},{"id":"property:DistributedApplicationExecutionContext.isPublishMode","kind":"property","name":"isPublishMode","declaration":"isPublishMode(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting/DistributedApplicationExecutionContext.isPublishMode","summary":"Returns true if the current operation is publishing."},{"id":"property:DistributedApplicationExecutionContext.isRunMode","kind":"property","name":"isRunMode","declaration":"isRunMode(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting/DistributedApplicationExecutionContext.isRunMode","summary":"Returns true if the current operation is running."}]},{"id":"interface:DistributedApplicationModel","kind":"interface","name":"DistributedApplicationModel","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel","owningAssembly":"Aspire.Hosting","declaration":"export interface DistributedApplicationModel","summary":"Represents a distributed application.","members":[{"id":"method:DistributedApplicationModel.getResources","kind":"method","name":"getResources","declaration":"getResources(): Promise\u003CResource[]\u003E","capabilityId":"Aspire.Hosting/getResources","returnType":"Promise\u003CResource[]\u003E","summary":"Gets all resources in the distributed application model."},{"id":"method:DistributedApplicationModel.findResourceByName","kind":"method","name":"findResourceByName","declaration":"findResourceByName(name: string): ResourcePromise","capabilityId":"Aspire.Hosting/findResourceByName","returnType":"ResourcePromise","summary":"Finds a resource by name.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The resource name."}]}]},{"id":"interface:DistributedApplicationPipeline","kind":"interface","name":"DistributedApplicationPipeline","typeId":"Aspire.Hosting/Aspire.Hosting.Pipelines.IDistributedApplicationPipeline","owningAssembly":"Aspire.Hosting","declaration":"export interface DistributedApplicationPipeline","summary":"Represents a pipeline for executing deployment steps in a distributed application.","members":[{"id":"method:DistributedApplicationPipeline.disableBuildOnlyContainerValidation","kind":"method","name":"disableBuildOnlyContainerValidation","declaration":"disableBuildOnlyContainerValidation(): DistributedApplicationPipelinePromise","capabilityId":"Aspire.Hosting/disableBuildOnlyContainerValidation","returnType":"DistributedApplicationPipelinePromise","summary":"Disables the publish and deploy validation that requires build-only containers to be consumed by another resource.","remarks":"This is an application-wide escape hatch for scenarios where the build-only container validation is too restrictive\nfor a particular app. Prefer wiring build-only containers through \u0060PublishWithContainerFiles\u0060 or\n\u0060PublishWithStaticFiles\u0060 when possible."},{"id":"method:DistributedApplicationPipeline.addStep","kind":"method","name":"addStep","declaration":"addStep(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: AddStepOptions): DistributedApplicationPipelinePromise","capabilityId":"Aspire.Hosting/addStep","returnType":"DistributedApplicationPipelinePromise","summary":"Adds an application-level pipeline step in a TypeScript-friendly shape.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The unique name of the pipeline step."},{"name":"callback","type":"(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to execute when the step runs."},{"name":"dependsOn","type":"string[]","optional":true,"summary":"Optional step names that this step depends on."},{"name":"requiredBy","type":"string[]","optional":true,"summary":"Optional step names that require this step."}]},{"id":"method:DistributedApplicationPipeline.configure","kind":"method","name":"configure","declaration":"configure(callback: (arg: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationPipelinePromise","capabilityId":"Aspire.Hosting/configure","returnType":"DistributedApplicationPipelinePromise","summary":"Registers a pipeline configuration callback in a TypeScript-friendly shape.","parameters":[{"name":"callback","type":"(arg: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to execute during pipeline configuration."}]}]},{"id":"interface:DockerfileBuilder","kind":"interface","name":"DockerfileBuilder","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.Docker.DockerfileBuilder","owningAssembly":"Aspire.Hosting","declaration":"export interface DockerfileBuilder","summary":"Builder for creating Dockerfiles programmatically.","members":[{"id":"method:DockerfileBuilder.arg","kind":"method","name":"arg","declaration":"arg(name: string, options?: ArgOptions): DockerfileBuilderPromise","capabilityId":"Aspire.Hosting/dockerfileBuilderArg","returnType":"DockerfileBuilderPromise","summary":"Adds a global ARG statement to the Dockerfile","parameters":[{"name":"name","type":"string","optional":false},{"name":"defaultValue","type":"string","optional":true}]},{"id":"method:DockerfileBuilder.from","kind":"method","name":"from","declaration":"from(image: string, options?: FromOptions): DockerfileStagePromise","capabilityId":"Aspire.Hosting/dockerfileBuilderFrom","returnType":"DockerfileStagePromise","summary":"Adds a FROM statement to start a Dockerfile stage","parameters":[{"name":"image","type":"string","optional":false},{"name":"stageName","type":"string","optional":true}]},{"id":"method:DockerfileBuilder.addContainerFilesStages","kind":"method","name":"addContainerFilesStages","declaration":"addContainerFilesStages(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: AddContainerFilesStagesOptions): DockerfileBuilderPromise","capabilityId":"Aspire.Hosting/dockerfileBuilderAddContainerFilesStages","returnType":"DockerfileBuilderPromise","summary":"Adds Dockerfile stages for published container files","parameters":[{"name":"resource","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"logger","type":"Awaitable\u003CLogger\u003E","optional":true}]}]},{"id":"interface:DockerfileBuilderCallbackContext","kind":"interface","name":"DockerfileBuilderCallbackContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.DockerfileBuilderCallbackContext","owningAssembly":"Aspire.Hosting","declaration":"export interface DockerfileBuilderCallbackContext","summary":"Provides context information for Dockerfile build callbacks.","members":[{"id":"property:DockerfileBuilderCallbackContext.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.resource","summary":"Gets the resource being built."},{"id":"property:DockerfileBuilderCallbackContext.builder","kind":"property","name":"builder","declaration":"builder(): DockerfileBuilderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.builder","summary":"Gets the Dockerfile builder instance."},{"id":"property:DockerfileBuilderCallbackContext.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.services","summary":"Gets the service provider for dependency injection."},{"id":"property:DockerfileBuilderCallbackContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.cancellationToken","summary":"Gets the cancellation token to observe while waiting for the task to complete."}]},{"id":"interface:DockerfileFactoryContext","kind":"interface","name":"DockerfileFactoryContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.DockerfileFactoryContext","owningAssembly":"Aspire.Hosting","declaration":"export interface DockerfileFactoryContext","summary":"Provides context for Dockerfile factory functions.","members":[{"id":"property:DockerfileFactoryContext.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/DockerfileFactoryContext.resource","summary":"Gets the resource for which the Dockerfile is being generated. This allows factory functions to query resource annotations and properties to customize the generated Dockerfile. \u0060\u0060\u0060 var containerAnnotation = context.Resource.Annotations.OfType\u003CContainerImageAnnotation\u003E().FirstOrDefault(); var baseImage = containerAnnotation?.Image ?? \u0022alpine:latest\u0022; \u0060\u0060\u0060"}]},{"id":"interface:DockerfileStage","kind":"interface","name":"DockerfileStage","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.Docker.DockerfileStage","owningAssembly":"Aspire.Hosting","declaration":"export interface DockerfileStage","summary":"Represents a stage within a multi-stage Dockerfile.","members":[{"id":"method:DockerfileStage.arg","kind":"method","name":"arg","declaration":"arg(name: string, options?: ArgOptions): DockerfileStagePromise","capabilityId":"Aspire.Hosting/dockerfileStageArg","returnType":"DockerfileStagePromise","summary":"Adds an ARG statement to a Dockerfile stage","parameters":[{"name":"name","type":"string","optional":false},{"name":"defaultValue","type":"string","optional":true}]},{"id":"method:DockerfileStage.workDir","kind":"method","name":"workDir","declaration":"workDir(path: string): DockerfileStagePromise","capabilityId":"Aspire.Hosting/workDir","returnType":"DockerfileStagePromise","summary":"Adds a WORKDIR statement to a Dockerfile stage","parameters":[{"name":"path","type":"string","optional":false}]},{"id":"method:DockerfileStage.run","kind":"method","name":"run","declaration":"run(command: string): DockerfileStagePromise","capabilityId":"Aspire.Hosting/dockerfileStageRun","returnType":"DockerfileStagePromise","summary":"Adds a RUN statement to a Dockerfile stage","parameters":[{"name":"command","type":"string","optional":false}]},{"id":"method:DockerfileStage.copy","kind":"method","name":"copy","declaration":"copy(source: string, destination: string, options?: CopyOptions): DockerfileStagePromise","capabilityId":"Aspire.Hosting/dockerfileStageCopy","returnType":"DockerfileStagePromise","summary":"Adds a COPY statement to a Dockerfile stage","parameters":[{"name":"source","type":"string","optional":false},{"name":"destination","type":"string","optional":false},{"name":"chown","type":"string","optional":true}]},{"id":"method:DockerfileStage.copyFrom","kind":"method","name":"copyFrom","declaration":"copyFrom(from: string, source: string, destination: string, options?: CopyFromOptions): DockerfileStagePromise","capabilityId":"Aspire.Hosting/dockerfileStageCopyFrom","returnType":"DockerfileStagePromise","summary":"Adds a COPY --from statement to a Dockerfile stage","parameters":[{"name":"from","type":"string","optional":false},{"name":"source","type":"string","optional":false},{"name":"destination","type":"string","optional":false},{"name":"chown","type":"string","optional":true}]},{"id":"method:DockerfileStage.env","kind":"method","name":"env","declaration":"env(name: string, value: string): DockerfileStagePromise","capabilityId":"Aspire.Hosting/env","returnType":"DockerfileStagePromise","summary":"Adds an ENV statement to a Dockerfile stage","parameters":[{"name":"name","type":"string","optional":false},{"name":"value","type":"string","optional":false}]},{"id":"method:DockerfileStage.expose","kind":"method","name":"expose","declaration":"expose(port: number): DockerfileStagePromise","capabilityId":"Aspire.Hosting/expose","returnType":"DockerfileStagePromise","summary":"Adds an EXPOSE statement to a Dockerfile stage","parameters":[{"name":"port","type":"number","optional":false}]},{"id":"method:DockerfileStage.cmd","kind":"method","name":"cmd","declaration":"cmd(command: string[]): DockerfileStagePromise","capabilityId":"Aspire.Hosting/cmd","returnType":"DockerfileStagePromise","summary":"Adds a CMD statement to a Dockerfile stage","parameters":[{"name":"command","type":"string[]","optional":false}]},{"id":"method:DockerfileStage.entrypoint","kind":"method","name":"entrypoint","declaration":"entrypoint(command: string[]): DockerfileStagePromise","capabilityId":"Aspire.Hosting/entrypoint","returnType":"DockerfileStagePromise","summary":"Adds an ENTRYPOINT statement to a Dockerfile stage","parameters":[{"name":"command","type":"string[]","optional":false}]},{"id":"method:DockerfileStage.runWithMounts","kind":"method","name":"runWithMounts","declaration":"runWithMounts(command: string, mounts: string[]): DockerfileStagePromise","capabilityId":"Aspire.Hosting/runWithMounts","returnType":"DockerfileStagePromise","summary":"Adds a RUN statement with mounts to a Dockerfile stage","parameters":[{"name":"command","type":"string","optional":false},{"name":"mounts","type":"string[]","optional":false}]},{"id":"method:DockerfileStage.user","kind":"method","name":"user","declaration":"user(user: string): DockerfileStagePromise","capabilityId":"Aspire.Hosting/user","returnType":"DockerfileStagePromise","summary":"Adds a USER statement to a Dockerfile stage","parameters":[{"name":"user","type":"string","optional":false}]},{"id":"method:DockerfileStage.emptyLine","kind":"method","name":"emptyLine","declaration":"emptyLine(): DockerfileStagePromise","capabilityId":"Aspire.Hosting/emptyLine","returnType":"DockerfileStagePromise","summary":"Adds an empty line to a Dockerfile stage"},{"id":"method:DockerfileStage.comment","kind":"method","name":"comment","declaration":"comment(comment: string): DockerfileStagePromise","capabilityId":"Aspire.Hosting/comment","returnType":"DockerfileStagePromise","summary":"Adds a comment to a Dockerfile stage","parameters":[{"name":"comment","type":"string","optional":false}]},{"id":"method:DockerfileStage.addContainerFiles","kind":"method","name":"addContainerFiles","declaration":"addContainerFiles(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, rootDestinationPath: string, options?: AddContainerFilesOptions): DockerfileStagePromise","capabilityId":"Aspire.Hosting/dockerfileStageAddContainerFiles","returnType":"DockerfileStagePromise","summary":"Adds COPY --from statements for published container files","parameters":[{"name":"resource","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"rootDestinationPath","type":"string","optional":false},{"name":"logger","type":"Awaitable\u003CLogger\u003E","optional":true}]}]},{"id":"interface:DotnetToolResource","kind":"interface","name":"DotnetToolResource","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.DotnetToolResource","owningAssembly":"Aspire.Hosting","declaration":"export interface DotnetToolResource extends ResourceBuilderBase","extends":["ResourceBuilderBase"],"members":[{"id":"method:DotnetToolResource.withContainerRegistry","kind":"method","name":"withContainerRegistry","declaration":"withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withContainerRegistry","returnType":"DotnetToolResourcePromise","summary":"Configures the resource to use the specified container registry for container image operations.","remarks":"This method adds a \u0060ContainerRegistryReferenceAnnotation\u0060 to the resource,\nindicating that the resource should use the specified container registry for container image operations.","parameters":[{"name":"registry","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The container registry resource builder."}]},{"id":"method:DotnetToolResource.withDockerfileBaseImage","kind":"method","name":"withDockerfileBaseImage","declaration":"withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withDockerfileBaseImage","returnType":"DotnetToolResourcePromise","summary":"Configures custom base images for generated Dockerfiles.","remarks":"This extension method allows customization of the base images used in generated Dockerfiles.\nFor multi-stage Dockerfiles (e.g., Python with UV), you can specify separate build and runtime images.\nSpecify custom base images for a Python application:\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddPythonApp(\u0022myapp\u0022, \u0022path/to/app\u0022, \u0022main.py\u0022)\n.WithDockerfileBaseImage(\nbuildImage: \u0022ghcr.io/astral-sh/uv:python3.12-bookworm-slim\u0022,\nruntimeImage: \u0022python:3.12-slim-bookworm\u0022);\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"buildImage","type":"string","optional":true,"summary":"The base image to use for the build stage. If null, uses the default build image."},{"name":"runtimeImage","type":"string","optional":true,"summary":"The base image to use for the runtime stage. If null, uses the default runtime image."}]},{"id":"method:DotnetToolResource.withToolPackage","kind":"method","name":"withToolPackage","declaration":"withToolPackage(packageId: string): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withToolPackage","returnType":"DotnetToolResourcePromise","summary":"Sets the package identifier for the tool configuration associated with the resource builder.","parameters":[{"name":"packageId","type":"string","optional":false,"summary":"The package identifier to assign to the tool configuration. Cannot be null."}]},{"id":"method:DotnetToolResource.withToolVersion","kind":"method","name":"withToolVersion","declaration":"withToolVersion(version: string): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withToolVersion","returnType":"DotnetToolResourcePromise","summary":"Sets the package version for a tool to use.","parameters":[{"name":"version","type":"string","optional":false,"summary":"The package version to use"}]},{"id":"method:DotnetToolResource.withToolPrerelease","kind":"method","name":"withToolPrerelease","declaration":"withToolPrerelease(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withToolPrerelease","returnType":"DotnetToolResourcePromise","summary":"Allows prerelease versions of the tool to be used"},{"id":"method:DotnetToolResource.withToolSource","kind":"method","name":"withToolSource","declaration":"withToolSource(source: string): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withToolSource","returnType":"DotnetToolResourcePromise","summary":"Adds a NuGet package source for tool acquisition.","parameters":[{"name":"source","type":"string","optional":false,"summary":"The source to add."}]},{"id":"method:DotnetToolResource.withToolIgnoreExistingFeeds","kind":"method","name":"withToolIgnoreExistingFeeds","declaration":"withToolIgnoreExistingFeeds(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withToolIgnoreExistingFeeds","returnType":"DotnetToolResourcePromise","summary":"Configures the tool to use only the specified package sources, ignoring existing NuGet configuration."},{"id":"method:DotnetToolResource.withToolIgnoreFailedSources","kind":"method","name":"withToolIgnoreFailedSources","declaration":"withToolIgnoreFailedSources(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withToolIgnoreFailedSources","returnType":"DotnetToolResourcePromise","summary":"Configures the resource to treat package source failures as warnings."},{"id":"method:DotnetToolResource.publishAsDockerFile","kind":"method","name":"publishAsDockerFile","declaration":"publishAsDockerFile(configure: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/publishAsDockerFile","returnType":"DotnetToolResourcePromise","summary":"Publishes an executable as a Docker file","remarks":"When the executable resource is converted to a container resource, the arguments to the executable\nare not used. This is because arguments to the executable often contain physical paths that are not valid\nin the container. The container can be set up with the correct arguments using the \u0060configure\u0060 action.","parameters":[{"name":"configure","type":"(obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"Optional action to configure the container resource"}]},{"id":"method:DotnetToolResource.withExecutableCommand","kind":"method","name":"withExecutableCommand","declaration":"withExecutableCommand(command: string): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withExecutableCommand","returnType":"DotnetToolResourcePromise","summary":"Sets the command for the executable resource.","parameters":[{"name":"command","type":"string","optional":false,"summary":"Command."}]},{"id":"method:DotnetToolResource.withWorkingDirectory","kind":"method","name":"withWorkingDirectory","declaration":"withWorkingDirectory(workingDirectory: string): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withWorkingDirectory","returnType":"DotnetToolResourcePromise","summary":"Sets the working directory for the executable resource.","parameters":[{"name":"workingDirectory","type":"string","optional":false,"summary":"Working directory."}]},{"id":"method:DotnetToolResource.withMcpServer","kind":"method","name":"withMcpServer","declaration":"withMcpServer(options?: WithMcpServerOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withMcpServer","returnType":"DotnetToolResourcePromise","summary":"Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint.","remarks":"This method adds an \u0060McpServerEndpointAnnotation\u0060 to the resource, enabling the Aspire tooling\nto discover and proxy the MCP server exposed by the resource.","parameters":[{"name":"path","type":"string","optional":true,"summary":"An optional path to append to the endpoint URL when forming the MCP server address. Defaults to \u0060\u0022/mcp\u0022\u0060."},{"name":"endpointName","type":"string","optional":true,"summary":"An optional name of the endpoint that hosts the MCP server. If not specified, defaults to the first HTTPS or HTTP endpoint."}]},{"id":"method:DotnetToolResource.withOtlpExporter","kind":"method","name":"withOtlpExporter","declaration":"withOtlpExporter(options?: WithOtlpExporterOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withOtlpExporter","returnType":"DotnetToolResourcePromise","summary":"Configures OTLP telemetry export","parameters":[{"name":"protocol","type":"OtlpProtocol","optional":true}]},{"id":"method:DotnetToolResource.withRequiredCommand","kind":"method","name":"withRequiredCommand","declaration":"withRequiredCommand(command: string, options?: WithRequiredCommandOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommand","returnType":"DotnetToolResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start.","remarks":"The command is considered valid if either:\n1. It is an absolute or relative path (contains a directory separator) that points to an existing file, or\n2. It is discoverable on the current process PATH (respecting PATHEXT on Windows).\nIf the command is not found, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing."}]},{"id":"method:DotnetToolResource.withRequiredCommandValidation","kind":"method","name":"withRequiredCommandValidation","declaration":"withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommandValidation","returnType":"DotnetToolResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start, with custom validation logic.","remarks":"The command is first resolved to a full path. If found, the validation callback is invoked with the context containing the resolved path and service provider.\nThe callback should return a \u0060RequiredCommandValidationResult\u0060 indicating whether the command is valid,\nwhich can be created via \u0060Success\u0060 or \u0060Failure\u0060.\nIf the command is not found or fails validation, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"validationCallback","type":"(arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E","optional":false,"summary":"A callback that validates the resolved command path. Receives a \u0060RequiredCommandValidationContext\u0060 and returns a \u0060RequiredCommandValidationResult\u0060."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing or fails validation."}]},{"id":"method:DotnetToolResource.withSessionLifetime","kind":"method","name":"withSessionLifetime","declaration":"withSessionLifetime(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withSessionLifetime","returnType":"DotnetToolResourcePromise","summary":"Configures a resource to use a session lifetime."},{"id":"method:DotnetToolResource.withPersistentLifetime","kind":"method","name":"withPersistentLifetime","declaration":"withPersistentLifetime(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withPersistentLifetime","returnType":"DotnetToolResourcePromise","summary":"Configures a resource to use a persistent lifetime."},{"id":"method:DotnetToolResource.withLifetimeOf","kind":"method","name":"withLifetimeOf","declaration":"withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withLifetimeOf","returnType":"DotnetToolResourcePromise","summary":"Configures a resource to match the lifetime of another resource.","remarks":"The resource lifetime is evaluated from \u0060sourceBuilder\u0060 when the application model is prepared, so later lifetime\nchanges to the source resource are reflected by this resource.","parameters":[{"name":"sourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder whose lifetime should be used."}]},{"id":"method:DotnetToolResource.withParentProcessLifetime","kind":"method","name":"withParentProcessLifetime","declaration":"withParentProcessLifetime(parentProcessId: number): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withParentProcessLifetime","returnType":"DotnetToolResourcePromise","summary":"Configures a resource to use a persistent lifetime that ends when a parent process exits.","parameters":[{"name":"parentProcessId","type":"number","optional":false,"summary":"The ID of the parent process to monitor."}]},{"id":"method:DotnetToolResource.withEnvironment","kind":"method","name":"withEnvironment","declaration":"withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withEnvironment","returnType":"DotnetToolResourcePromise","summary":"Sets an environment variable","parameters":[{"name":"name","type":"string","optional":false},{"name":"value","type":"string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E","optional":false}]},{"id":"method:DotnetToolResource.withEnvironmentCallback","kind":"method","name":"withEnvironmentCallback","declaration":"withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withEnvironmentCallback","returnType":"DotnetToolResourcePromise","summary":"Allows for the population of environment variables on a resource.","parameters":[{"name":"callback","type":"(arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing many environment variables. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]},{"id":"method:DotnetToolResource.withArgs","kind":"method","name":"withArgs","declaration":"withArgs(args: string[]): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withArgs","returnType":"DotnetToolResourcePromise","summary":"Adds arguments to be passed to a resource that supports arguments when it is launched.","parameters":[{"name":"args","type":"string[]","optional":false,"summary":"The arguments to be passed to the resource when it is started."}]},{"id":"method:DotnetToolResource.withArgsCallback","kind":"method","name":"withArgsCallback","declaration":"withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withArgsCallback","returnType":"DotnetToolResourcePromise","summary":"Adds a callback to be executed with a list of command-line arguments when a resource is started.","parameters":[{"name":"callback","type":"(obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing arguments. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]},{"id":"method:DotnetToolResource.withReferenceEnvironment","kind":"method","name":"withReferenceEnvironment","declaration":"withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withReferenceEnvironment","returnType":"DotnetToolResourcePromise","summary":"Configures how information is injected into environment variables when the resource references other resources.","parameters":[{"name":"options","type":"ReferenceEnvironmentInjectionOptions","optional":false,"summary":"Options controlling which reference information is emitted."}]},{"id":"method:DotnetToolResource.withReference","kind":"method","name":"withReference","declaration":"withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withReference","returnType":"DotnetToolResourcePromise","summary":"Adds a reference to another resource","parameters":[{"name":"source","type":"CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E","optional":false},{"name":"connectionName","type":"string","optional":true},{"name":"optional","type":"boolean","optional":true},{"name":"name","type":"string","optional":true}]},{"id":"method:DotnetToolResource.withEndpointCallback","kind":"method","name":"withEndpointCallback","declaration":"withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withEndpointCallback","returnType":"DotnetToolResourcePromise","summary":"Updates a named endpoint via callback","parameters":[{"name":"endpointName","type":"string","optional":false},{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:DotnetToolResource.withHttpEndpointCallback","kind":"method","name":"withHttpEndpointCallback","declaration":"withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withHttpEndpointCallback","returnType":"DotnetToolResourcePromise","summary":"Updates an HTTP endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:DotnetToolResource.withHttpsEndpointCallback","kind":"method","name":"withHttpsEndpointCallback","declaration":"withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withHttpsEndpointCallback","returnType":"DotnetToolResourcePromise","summary":"Updates an HTTPS endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:DotnetToolResource.withEndpoint","kind":"method","name":"withEndpoint","declaration":"withEndpoint(options?: WithEndpointOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withEndpoint","returnType":"DotnetToolResourcePromise","summary":"Adds a network endpoint","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"scheme","type":"string","optional":true,"summary":"An optional scheme e.g. (http/https). Defaults to the \u0060protocol\u0060 argument if it is defined or \u0022tcp\u0022 otherwise."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to the scheme name if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable that will be used to inject the \u0060targetPort\u0060. If the target port is null one will be dynamically generated and assigned to the environment variable."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."},{"name":"isExternal","type":"boolean","optional":true,"summary":"Indicates that this endpoint should be exposed externally at publish time."},{"name":"protocol","type":"ProtocolType","optional":true,"summary":"Network protocol: TCP or UDP are supported today, others possibly in future."}]},{"id":"method:DotnetToolResource.withEndpointProxySupport","kind":"method","name":"withEndpointProxySupport","declaration":"withEndpointProxySupport(proxyEnabled: boolean): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withEndpointProxySupport","returnType":"DotnetToolResourcePromise","summary":"Set whether a resource can use proxied endpoints or whether they should be disabled for all endpoints belonging to the resource. If set to \u0060false\u0060, endpoints belonging to the resource will ignore the configured proxy settings and run proxy-less.","remarks":"This method is intended to support scenarios with persistent lifetime resources where it is desirable for the resource to be accessible over the same\nport whether the Aspire application is running or not. Proxied endpoints bind ports that are only accessible while the Aspire application is running.\nThe user needs to be careful to ensure that endpoints are using unique ports when disabling proxy support as by default for proxy-less\nendpoints, Aspire will allocate the target port as the host port, which will increase the chance of port conflicts.","parameters":[{"name":"proxyEnabled","type":"boolean","optional":false,"summary":"Should endpoints for the resource support using a proxy?"}]},{"id":"method:DotnetToolResource.withHttpEndpoint","kind":"method","name":"withHttpEndpoint","declaration":"withHttpEndpoint(options?: WithHttpEndpointOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withHttpEndpoint","returnType":"DotnetToolResourcePromise","summary":"Adds an HTTP endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022http\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:DotnetToolResource.withHttpsEndpoint","kind":"method","name":"withHttpsEndpoint","declaration":"withHttpsEndpoint(options?: WithHttpsEndpointOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withHttpsEndpoint","returnType":"DotnetToolResourcePromise","summary":"Adds an HTTPS endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional host port."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022https\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:DotnetToolResource.withExternalHttpEndpoints","kind":"method","name":"withExternalHttpEndpoints","declaration":"withExternalHttpEndpoints(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withExternalHttpEndpoints","returnType":"DotnetToolResourcePromise","summary":"Marks existing http or https endpoints on a resource as external."},{"id":"method:DotnetToolResource.getEndpoint","kind":"method","name":"getEndpoint","declaration":"getEndpoint(name: string): EndpointReferencePromise","capabilityId":"Aspire.Hosting/getEndpoint","returnType":"EndpointReferencePromise","summary":"Gets an endpoint reference","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the endpoint."}]},{"id":"method:DotnetToolResource.asHttp2Service","kind":"method","name":"asHttp2Service","declaration":"asHttp2Service(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/asHttp2Service","returnType":"DotnetToolResourcePromise","summary":"Configures a resource to mark all endpoints\u0027 transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge."},{"id":"method:DotnetToolResource.withUrls","kind":"method","name":"withUrls","declaration":"withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withUrls","returnType":"DotnetToolResourcePromise","summary":"Registers a callback to customize the URLs displayed for the resource.","parameters":[{"name":"callback","type":"(obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize URLs for the resource."}]},{"id":"method:DotnetToolResource.withUrl","kind":"method","name":"withUrl","declaration":"withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withUrl","returnType":"DotnetToolResourcePromise","summary":"Adds or modifies displayed URLs","parameters":[{"name":"url","type":"string | ReferenceExpression","optional":false},{"name":"displayText","type":"string","optional":true}]},{"id":"method:DotnetToolResource.withUrlForEndpoint","kind":"method","name":"withUrlForEndpoint","declaration":"withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withUrlForEndpoint","returnType":"DotnetToolResourcePromise","summary":"Registers a callback to update the URL displayed for the endpoint with the specified name.","parameters":[{"name":"endpointName","type":"string","optional":false,"summary":"The name of the endpoint to customize the URL for."},{"name":"callback","type":"(obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize the URL."}]},{"id":"method:DotnetToolResource.excludeFromManifest","kind":"method","name":"excludeFromManifest","declaration":"excludeFromManifest(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/excludeFromManifest","returnType":"DotnetToolResourcePromise","summary":"Excludes a resource from being published to the manifest."},{"id":"method:DotnetToolResource.waitFor","kind":"method","name":"waitFor","declaration":"waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/waitFor","returnType":"DotnetToolResourcePromise","summary":"Waits for another resource to be ready","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:DotnetToolResource.waitForStart","kind":"method","name":"waitForStart","declaration":"waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/waitForStart","returnType":"DotnetToolResourcePromise","summary":"Waits for another resource to start","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:DotnetToolResource.withExplicitStart","kind":"method","name":"withExplicitStart","declaration":"withExplicitStart(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withExplicitStart","returnType":"DotnetToolResourcePromise","summary":"Prevents resource from starting automatically"},{"id":"method:DotnetToolResource.waitForCompletion","kind":"method","name":"waitForCompletion","declaration":"waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/waitForResourceCompletion","returnType":"DotnetToolResourcePromise","summary":"Waits for the dependency resource to enter the Exited or Finished state before starting the resource.","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder for the dependency resource."},{"name":"exitCode","type":"number","optional":true,"summary":"The exit code which is interpreted as successful."}]},{"id":"method:DotnetToolResource.withHealthCheck","kind":"method","name":"withHealthCheck","declaration":"withHealthCheck(key: string): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withHealthCheck","returnType":"DotnetToolResourcePromise","summary":"Adds a health check by key","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key for the health check."}]},{"id":"method:DotnetToolResource.withHttpHealthCheck","kind":"method","name":"withHttpHealthCheck","declaration":"withHttpHealthCheck(options?: WithHttpHealthCheckOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withHttpHealthCheck","returnType":"DotnetToolResourcePromise","summary":"Adds a health check to the resource which is mapped to a specific endpoint.","parameters":[{"name":"path","type":"string","optional":true,"summary":"The relative path to test."},{"name":"statusCode","type":"number","optional":true,"summary":"The result code to interpret as healthy."},{"name":"endpointName","type":"string","optional":true,"summary":"The name of the endpoint to derive the base address from."}]},{"id":"method:DotnetToolResource.withCommand","kind":"method","name":"withCommand","declaration":"withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withCommand","returnType":"DotnetToolResourcePromise","summary":"Adds a resource command","remarks":"The \u0060WithCommand\u0060 method is used to add commands to the resource. Commands are displayed in the dashboard\nand can be executed by a user using the dashboard UI.\nWhen a command is executed, the \u0060executeCommand\u0060 callback is called and is run inside the Aspire host.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the command. The name uniquely identifies the command."},{"name":"displayName","type":"string","optional":false,"summary":"The display name visible in UI."},{"name":"executeCommand","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E","optional":false,"summary":"A callback that is executed when the command is executed. The callback is run inside the Aspire host. The callback result is used to indicate success or failure in the UI."},{"name":"commandOptions","type":"CommandOptions","optional":true,"summary":"Optional configuration for the command."}]},{"id":"method:DotnetToolResource.withProcessCommand","kind":"method","name":"withProcessCommand","declaration":"withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommand","returnType":"DotnetToolResourcePromise","summary":"Adds a command to the resource that starts a local process when invoked.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"ProcessCommandExportOptions","optional":false}]},{"id":"method:DotnetToolResource.withProcessCommandFactory","kind":"method","name":"withProcessCommandFactory","declaration":"withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommandFactory","returnType":"DotnetToolResourcePromise","summary":"Adds a command to the resource that starts a local process created by a callback when invoked.","deprecated":"Use withProcessCommand with createProcessSpec in the options object instead.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"createProcessSpec","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E","optional":false},{"name":"options","type":"ProcessCommandResultExportOptions","optional":true}]},{"id":"method:DotnetToolResource.withHttpCommand","kind":"method","name":"withHttpCommand","declaration":"withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withHttpCommand","returnType":"DotnetToolResourcePromise","summary":"Adds an HTTP resource command","parameters":[{"name":"path","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"HttpCommandExportOptions","optional":true}]},{"id":"method:DotnetToolResource.withDeveloperCertificateTrust","kind":"method","name":"withDeveloperCertificateTrust","declaration":"withDeveloperCertificateTrust(trust: boolean): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withDeveloperCertificateTrust","returnType":"DotnetToolResourcePromise","summary":"Indicates whether developer certificates should be treated as trusted certificate authorities for the resource at run time. Currently this indicates trust for the ASP.NET Core developer certificate. The developer certificate will only be trusted when running in local development scenarios; in publish mode resources will use their default certificate trust.","remarks":"Disable trust for app host managed developer certificate(s) for a container resource.\n\u0060\u0060\u0060\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithDeveloperCertificateTrust(false);\n\u0060\u0060\u0060\nDisable automatic trust for app host managed developer certificate(s), but explicitly enable it for a specific resource.\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(new DistributedApplicationOptions()\n{\nArgs = args,\nTrustDeveloperCertificate = false,\n});\nvar project = builder.AddProject\u003CMyService\u003E(\u0022my-service\u0022)\n.WithDeveloperCertificateTrust(true);\n\u0060\u0060\u0060","parameters":[{"name":"trust","type":"boolean","optional":false,"summary":"Indicates whether the developer certificate should be treated as trusted."}]},{"id":"method:DotnetToolResource.withCertificateTrustScope","kind":"method","name":"withCertificateTrustScope","declaration":"withCertificateTrustScope(scope: CertificateTrustScope): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withCertificateTrustScope","returnType":"DotnetToolResourcePromise","summary":"Sets the certificate trust scope","remarks":"The default scope if not overridden is \u0060Append\u0060 which means that custom certificate\nauthorities should be appended to the default trusted certificate authorities for the resource. Setting the scope to\n\u0060Override\u0060 indicates the set of certificates in referenced\n\u0060CertificateAuthorityCollection\u0060 (and optionally Aspire developer certificiates) should be used as the\nexclusive source of trust for a resource.\nIn all cases, this is a best effort implementation as not all resources support full customization of certificate\ntrust.\nSet the scope for custom certificate authorities to override the default trusted certificate authorities for a container resource.\n\u0060\u0060\u0060\nvar caCollection = builder.AddCertificateAuthorityCollection(\u0022my-cas\u0022)\n.WithCertificate(new X509Certificate2(\u0022my-ca.pem\u0022));\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithCertificateAuthorityCollection(caCollection)\n.WithCertificateTrustScope(CertificateTrustScope.Override);\n\u0060\u0060\u0060","parameters":[{"name":"scope","type":"CertificateTrustScope","optional":false,"summary":"The scope to apply to custom certificate authorities associated with the resource."}]},{"id":"method:DotnetToolResource.withHttpsDeveloperCertificate","kind":"method","name":"withHttpsDeveloperCertificate","declaration":"withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withParameterHttpsDeveloperCertificate","returnType":"DotnetToolResourcePromise","summary":"Indicates that a resource should use the developer certificate key pair for HTTPS endpoints at run time. Currently this indicates use of the ASP.NET Core developer certificate. The developer certificate will only be used when running in local development scenarios; in publish mode resources will use their default certificate configuration.","remarks":"Use the developer certificate for HTTPS/TLS endpoints on a container resource:\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsDeveloperCertificate()\n\u0060\u0060\u0060","parameters":[{"name":"password","type":"Awaitable\u003CParameterResource\u003E","optional":true,"summary":"A parameter specifying the password used to encrypt the certificate private key."}]},{"id":"method:DotnetToolResource.withoutHttpsCertificate","kind":"method","name":"withoutHttpsCertificate","declaration":"withoutHttpsCertificate(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withoutHttpsCertificate","returnType":"DotnetToolResourcePromise","summary":"Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied.","remarks":"Disable HTTPS certificate configuration for a Redis resource:\n\u0060\u0060\u0060\nvar redis = builder.AddRedis(\u0022cache\u0022)\n.WithoutHttpsCertificate();\n\u0060\u0060\u0060"},{"id":"method:DotnetToolResource.withHttpsCertificateConfiguration","kind":"method","name":"withHttpsCertificateConfiguration","declaration":"withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withHttpsCertificateConfiguration","returnType":"DotnetToolResourcePromise","summary":"Adds a callback that allows configuring the resource to use a specific HTTPS/TLS certificate key pair for server authentication.","remarks":"Pass the path to the PFX certificate file to the container arguments.\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsCertificateConfiguration(ctx =\u003E\n{\nctx.Arguments.Add(\u0022--https-certificate-path\u0022);\nctx.Arguments.Add(ctx.PfxPath);\nreturn Task.CompletedTask;\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to configure the resource to use a certificate key pair."}]},{"id":"method:DotnetToolResource.subscribeHttpsEndpointsUpdate","kind":"method","name":"subscribeHttpsEndpointsUpdate","declaration":"subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/subscribeHttpsEndpointsUpdate","returnType":"DotnetToolResourcePromise","summary":"Subscribes to the \u0060BeforeStartEvent\u0060 and invokes the specified callback when an HTTPS certificate is determined to be available for the resource. This is used to conditionally update endpoint URI schemes or perform other HTTPS-related configuration at startup.","remarks":"The callback is invoked when either:\n-\n-\nSwitch an endpoint to HTTPS when a certificate is available:\n\u0060\u0060\u0060\nbuilder.SubscribeHttpsEndpointsUpdate(ctx =\u003E\n{\nbuilder.WithEndpoint(\u0022http\u0022, ep =\u003E ep.UriScheme = \u0022https\u0022);\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when HTTPS is enabled. Receives an \u0060HttpsEndpointUpdateCallbackContext\u0060 providing access to the service provider, resource, and application model."}]},{"id":"method:DotnetToolResource.withRelationship","kind":"method","name":"withRelationship","declaration":"withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withBuilderRelationship","returnType":"DotnetToolResourcePromise","summary":"Adds a relationship to another resource using its builder.","parameters":[{"name":"resourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder that the relationship is to."},{"name":"type","type":"string","optional":false,"summary":"The relationship type."}]},{"id":"method:DotnetToolResource.withParentRelationship","kind":"method","name":"withParentRelationship","declaration":"withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withBuilderParentRelationship","returnType":"DotnetToolResourcePromise","summary":"Sets the parent relationship","parameters":[{"name":"parent","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The parent of \u0060builder\u0060."}]},{"id":"method:DotnetToolResource.withChildRelationship","kind":"method","name":"withChildRelationship","declaration":"withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withBuilderChildRelationship","returnType":"DotnetToolResourcePromise","summary":"Sets a child relationship","parameters":[{"name":"child","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The child of \u0060builder\u0060."}]},{"id":"method:DotnetToolResource.withIconName","kind":"method","name":"withIconName","declaration":"withIconName(iconName: string, options?: WithIconNameOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withIconName","returnType":"DotnetToolResourcePromise","summary":"Specifies the icon to use when displaying the resource in the dashboard.","parameters":[{"name":"iconName","type":"string","optional":false,"summary":"The name of the FluentUI icon to use. See https://aka.ms/fluentui-system-icons for available icons."},{"name":"iconVariant","type":"IconVariant","optional":true,"summary":"The variant of the icon (Regular or Filled). Defaults to Filled."}]},{"id":"method:DotnetToolResource.withComputeEnvironment","kind":"method","name":"withComputeEnvironment","declaration":"withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withComputeEnvironment","returnType":"DotnetToolResourcePromise","summary":"Configures the compute environment for the compute resource.","remarks":"This method allows associating a specific compute environment with the compute resource.","parameters":[{"name":"computeEnvironmentResource","type":"Awaitable\u003CComputeEnvironmentResource\u003E","optional":false,"summary":"The compute environment resource to associate with the compute resource."}]},{"id":"method:DotnetToolResource.withHttpProbe","kind":"method","name":"withHttpProbe","declaration":"withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withHttpProbe","returnType":"DotnetToolResourcePromise","summary":"Adds an HTTP health probe to the resource","parameters":[{"name":"probeType","type":"ProbeType","optional":false},{"name":"path","type":"string","optional":true},{"name":"initialDelaySeconds","type":"number","optional":true},{"name":"periodSeconds","type":"number","optional":true},{"name":"timeoutSeconds","type":"number","optional":true},{"name":"failureThreshold","type":"number","optional":true},{"name":"successThreshold","type":"number","optional":true},{"name":"endpointName","type":"string","optional":true}]},{"id":"method:DotnetToolResource.excludeFromMcp","kind":"method","name":"excludeFromMcp","declaration":"excludeFromMcp(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/excludeFromMcp","returnType":"DotnetToolResourcePromise","summary":"Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry."},{"id":"method:DotnetToolResource.withHidden","kind":"method","name":"withHidden","declaration":"withHidden(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withHidden","returnType":"DotnetToolResourcePromise","summary":"Hides the resource from default resource lists","remarks":"Use this method to hide resources that are implementation details and should never be displayed by default.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI."},{"id":"method:DotnetToolResource.withHiddenOnCompletion","kind":"method","name":"withHiddenOnCompletion","declaration":"withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withHiddenOnCompletion","returnType":"DotnetToolResourcePromise","summary":"Hides the resource from default resource lists after successful completion","remarks":"This method is useful for one-off resources such as setup scripts, migrations, or build steps that should remain visible while running\nand then be hidden after successful completion.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI.","parameters":[{"name":"exitCode","type":"number","optional":true,"summary":"The completion exit code to treat as successful. Defaults to \u00600\u0060."},{"name":"exitCodes","type":"number[]","optional":true,"summary":"Completion exit codes to treat as successful. If no values are provided, \u00600\u0060 is used."}]},{"id":"method:DotnetToolResource.withImagePushOptions","kind":"method","name":"withImagePushOptions","declaration":"withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withImagePushOptions","returnType":"DotnetToolResourcePromise","summary":"Adds an asynchronous callback to configure container image push options for the resource.","remarks":"This method allows customization of how container images are named and tagged when pushed to a registry using an asynchronous callback.\nUse this overload when the callback needs to perform asynchronous operations such as retrieving configuration values from external sources.\nThe callback receives a \u0060ContainerImagePushOptionsCallbackContext\u0060 that provides access to the resource\nand the \u0060ContainerImagePushOptions\u0060 that can be modified.\nMultiple callbacks can be registered on the same resource, and they will be invoked in the order they were added.","parameters":[{"name":"callback","type":"(arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The asynchronous callback to configure push options."}]},{"id":"method:DotnetToolResource.withRemoteImageName","kind":"method","name":"withRemoteImageName","declaration":"withRemoteImageName(remoteImageName: string): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageName","returnType":"DotnetToolResourcePromise","summary":"Sets the remote image name (without registry endpoint or tag) for container push operations.","remarks":"Use this with \u0060withRemoteImageTag\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageName","type":"string","optional":false,"summary":"The remote image name (e.g., \u0022myapp\u0022 or \u0022myorg/myapp\u0022)."}]},{"id":"method:DotnetToolResource.withRemoteImageTag","kind":"method","name":"withRemoteImageTag","declaration":"withRemoteImageTag(remoteImageTag: string): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageTag","returnType":"DotnetToolResourcePromise","summary":"Sets the remote image tag for container push operations.","remarks":"Use this with \u0060withRemoteImageName\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageTag","type":"string","optional":false,"summary":"The remote image tag (e.g., \u0022latest\u0022, \u0022v1.0.0\u0022)."}]},{"id":"method:DotnetToolResource.withTerminal","kind":"method","name":"withTerminal","declaration":"withTerminal(): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withTerminal","returnType":"DotnetToolResourcePromise","summary":"Adds an interactive terminal session to a resource using the default terminal options."},{"id":"method:DotnetToolResource.withPipelineStepFactory","kind":"method","name":"withPipelineStepFactory","declaration":"withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withPipelineStepFactory","returnType":"DotnetToolResourcePromise","summary":"Adds a pipeline step to the resource that will be executed during deployment.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The unique name of the pipeline step."},{"name":"callback","type":"(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to execute when the step runs."},{"name":"dependsOn","type":"string[]","optional":true,"summary":"Optional step names that this step depends on."},{"name":"requiredBy","type":"string[]","optional":true,"summary":"Optional step names that require this step."},{"name":"tags","type":"string[]","optional":true,"summary":"Optional tags that categorize this step."},{"name":"description","type":"string","optional":true,"summary":"An optional human-readable description of the step."}]},{"id":"method:DotnetToolResource.withPipelineConfiguration","kind":"method","name":"withPipelineConfiguration","declaration":"withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withPipelineConfiguration","returnType":"DotnetToolResourcePromise","summary":"Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.","parameters":[{"name":"callback","type":"(obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback function to execute during the configuration phase."}]},{"id":"method:DotnetToolResource.getResourceName","kind":"method","name":"getResourceName","declaration":"getResourceName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getResourceName","returnType":"Promise\u003Cstring\u003E","summary":"Gets the name of the resource from a builder.","remarks":"Why this wrapper exists: This capability accesses a nested property\n(\u0060resource.Resource.Name\u0060) which requires a wrapper method. There is no single\n.NET method that returns just the resource name that could be annotated directly."},{"id":"method:DotnetToolResource.onBeforeResourceStarted","kind":"method","name":"onBeforeResourceStarted","declaration":"onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/onBeforeResourceStarted","returnType":"DotnetToolResourcePromise","summary":"Subscribes to the BeforeResourceStarted event.","parameters":[{"name":"callback","type":"(arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:DotnetToolResource.onResourceStopped","kind":"method","name":"onResourceStopped","declaration":"onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/onResourceStopped","returnType":"DotnetToolResourcePromise","summary":"Subscribes to the ResourceStopped event.","parameters":[{"name":"callback","type":"(arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:DotnetToolResource.onInitializeResource","kind":"method","name":"onInitializeResource","declaration":"onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/onInitializeResource","returnType":"DotnetToolResourcePromise","summary":"Subscribes to the InitializeResource event.","parameters":[{"name":"callback","type":"(arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:DotnetToolResource.onResourceEndpointsAllocated","kind":"method","name":"onResourceEndpointsAllocated","declaration":"onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/onResourceEndpointsAllocated","returnType":"DotnetToolResourcePromise","summary":"Subscribes to the ResourceEndpointsAllocated event.","parameters":[{"name":"callback","type":"(arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:DotnetToolResource.onResourceReady","kind":"method","name":"onResourceReady","declaration":"onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/onResourceReady","returnType":"DotnetToolResourcePromise","summary":"Subscribes to the ResourceReady event.","parameters":[{"name":"callback","type":"(arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:DotnetToolResource.createExecutionConfiguration","kind":"method","name":"createExecutionConfiguration","declaration":"createExecutionConfiguration(): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/createExecutionConfiguration","returnType":"ExecutionConfigurationBuilderPromise","summary":"Creates an execution configuration builder for the specified resource."},{"id":"method:DotnetToolResource.withContainerBuildOptions","kind":"method","name":"withContainerBuildOptions","declaration":"withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise","capabilityId":"Aspire.Hosting/withContainerBuildOptions","returnType":"DotnetToolResourcePromise","summary":"Configures container build options for a compute resource using an async callback.","parameters":[{"name":"callback","type":"(arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"An async callback to configure container build options."}]}]},{"id":"interface:EndpointReference","kind":"interface","name":"EndpointReference","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference","owningAssembly":"Aspire.Hosting","declaration":"export interface EndpointReference","summary":"Represents an endpoint reference for a resource with endpoints.","members":[{"id":"property:EndpointReference.resource","kind":"property","name":"resource","declaration":"resource(): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.resource","summary":"Gets the resource owner of the endpoint reference."},{"id":"property:EndpointReference.endpointName","kind":"property","name":"endpointName","declaration":"endpointName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.endpointName","summary":"Gets the name of the endpoint associated with the endpoint reference."},{"id":"property:EndpointReference.errorMessage","kind":"property","name":"errorMessage","declaration":"errorMessage(): Promise\u003Cstring | null\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.errorMessage","summary":"Gets or sets a custom error message to be thrown when the endpoint annotation is not found."},{"id":"property:EndpointReference.isAllocated","kind":"property","name":"isAllocated","declaration":"isAllocated(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.isAllocated","summary":"Gets a value indicating whether the endpoint is allocated."},{"id":"property:EndpointReference.exists","kind":"property","name":"exists","declaration":"exists(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.exists","summary":"Gets a value indicating whether the endpoint exists."},{"id":"property:EndpointReference.isHttp","kind":"property","name":"isHttp","declaration":"isHttp(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.isHttp","summary":"Gets a value indicating whether the endpoint uses HTTP scheme."},{"id":"property:EndpointReference.isHttps","kind":"property","name":"isHttps","declaration":"isHttps(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.isHttps","summary":"Gets a value indicating whether the endpoint uses HTTPS scheme."},{"id":"property:EndpointReference.tlsEnabled","kind":"property","name":"tlsEnabled","declaration":"tlsEnabled(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.tlsEnabled","summary":"Gets a value indicating whether TLS is enabled for this endpoint.","remarks":"Returns \u0060false\u0060 if the endpoint annotation has not been added to the resource yet.\nOnce the annotation exists, this property delegates to \u0060TlsEnabled\u0060."},{"id":"property:EndpointReference.isHttpSchemeNamedEndpoint","kind":"property","name":"isHttpSchemeNamedEndpoint","declaration":"isHttpSchemeNamedEndpoint(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.isHttpSchemeNamedEndpoint","summary":"Gets a value indicating whether the endpoint name is \u0022http\u0022 or \u0022https\u0022, ignoring case. This is a convention used to identify endpoints that will be resolved based on the scheme of the endpoint in service discovery rather than by the specific endpoint name. This is done to allow http endpoints that are dynamically updated to https to be mapped correctly despite the endpoint name no longer matching the scheme."},{"id":"property:EndpointReference.excludeReferenceEndpoint","kind":"property","name":"excludeReferenceEndpoint","declaration":"excludeReferenceEndpoint(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.excludeReferenceEndpoint","summary":"Gets a value indicating whether this endpoint is excluded from the default set when referencing the resource\u0027s endpoints.","remarks":"Returns \u0060false\u0060 if the endpoint annotation has not been added to the resource yet.\nOnce the annotation exists, this property delegates to \u0060ExcludeReferenceEndpoint\u0060."},{"id":"property:EndpointReference.port","kind":"property","name":"port","declaration":"port(): Promise\u003Cnumber\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.port","summary":"Gets the port for this endpoint."},{"id":"property:EndpointReference.targetPort","kind":"property","name":"targetPort","declaration":"targetPort(): Promise\u003Cnumber | null\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.targetPort","summary":"Gets the target port for this endpoint. If the port is dynamically allocated, this will return \u0060null\u0060."},{"id":"property:EndpointReference.host","kind":"property","name":"host","declaration":"host(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.host","summary":"Gets the host for this endpoint."},{"id":"property:EndpointReference.scheme","kind":"property","name":"scheme","declaration":"scheme(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.scheme","summary":"Gets the scheme for this endpoint."},{"id":"property:EndpointReference.url","kind":"property","name":"url","declaration":"url(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.url","summary":"Gets the URL for this endpoint."},{"id":"method:EndpointReference.getValueAsync","kind":"method","name":"getValueAsync","declaration":"getValueAsync(options?: GetValueAsyncOptions): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.getValueAsync","returnType":"Promise\u003Cstring\u003E","summary":"Gets the URL of the endpoint asynchronously. Waits for the endpoint to be allocated if necessary.","parameters":[{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true,"summary":"The cancellation token."}]},{"id":"method:EndpointReference.property","kind":"method","name":"property","declaration":"property(property: EndpointProperty): EndpointReferenceExpressionPromise","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.property","returnType":"EndpointReferenceExpressionPromise","summary":"Gets the specified property expression of the endpoint.","parameters":[{"name":"property","type":"EndpointProperty","optional":false,"summary":"The \u0060EndpointProperty\u0060 enum value to use in the reference."}]},{"id":"method:EndpointReference.getTlsValue","kind":"method","name":"getTlsValue","declaration":"getTlsValue(enabledValue: ReferenceExpression, disabledValue: ReferenceExpression): Promise\u003CReferenceExpression\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReference.getTlsValue","returnType":"Promise\u003CReferenceExpression\u003E","summary":"Gets a conditional expression that resolves to the enabledValue when TLS is enabled on the endpoint, or to the disabledValue otherwise.","remarks":"The returned expression evaluates the TLS state lazily each time its value is resolved, making it\nsafe to embed in a \u0060ReferenceExpression\u0060 that is built before TLS is configured\n(e.g., before \u0060BeforeStartEvent\u0060 fires). Because the condition and branches are declarative,\npolyglot code generators can translate this into native conditional constructs in any target language.","parameters":[{"name":"enabledValue","type":"ReferenceExpression","optional":false,"summary":"The expression to evaluate when TLS is enabled (e.g., \u0060\u0022,ssl=true\u0022\u0060)."},{"name":"disabledValue","type":"ReferenceExpression","optional":false,"summary":"The expression to evaluate when TLS is not enabled."}]}]},{"id":"interface:EndpointReferenceExpression","kind":"interface","name":"EndpointReferenceExpression","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReferenceExpression","owningAssembly":"Aspire.Hosting","declaration":"export interface EndpointReferenceExpression","summary":"Represents a property expression for an endpoint reference.","members":[{"id":"property:EndpointReferenceExpression.endpoint","kind":"property","name":"endpoint","declaration":"endpoint(): EndpointReferencePromise","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReferenceExpression.endpoint","summary":"Gets the \u0060EndpointReference\u0060."},{"id":"property:EndpointReferenceExpression.property","kind":"property","name":"property","declaration":"property(): Promise\u003CEndpointProperty\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReferenceExpression.property","summary":"Gets the \u0060EndpointProperty\u0060 for the property expression."},{"id":"property:EndpointReferenceExpression.valueExpression","kind":"property","name":"valueExpression","declaration":"valueExpression(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointReferenceExpression.valueExpression","summary":"Gets the expression of the property of the endpoint."}]},{"id":"interface:EndpointUpdateContext","kind":"interface","name":"EndpointUpdateContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointUpdateContext","owningAssembly":"Aspire.Hosting","declaration":"export interface EndpointUpdateContext","summary":"Provides a mutable callback context for updating an endpoint in polyglot app hosts.","members":[{"id":"property:EndpointUpdateContext.name","kind":"property","name":"name","declaration":"name(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointUpdateContext.name","summary":"Gets the endpoint name."},{"id":"property:EndpointUpdateContext.protocol","kind":"property","name":"protocol","declaration":"protocol: { get: () =\u003E Promise\u003CProtocolType\u003E; set: (value: ProtocolType) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointUpdateContext.protocol","summary":"Gets or sets the network protocol."},{"id":"property:EndpointUpdateContext.port","kind":"property","name":"port","declaration":"port: { get: () =\u003E Promise\u003Cnumber | null\u003E; set: (value: number | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointUpdateContext.port","summary":"Gets or sets the desired host port."},{"id":"property:EndpointUpdateContext.targetPort","kind":"property","name":"targetPort","declaration":"targetPort: { get: () =\u003E Promise\u003Cnumber | null\u003E; set: (value: number | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointUpdateContext.targetPort","summary":"Gets or sets the target port."},{"id":"property:EndpointUpdateContext.uriScheme","kind":"property","name":"uriScheme","declaration":"uriScheme: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointUpdateContext.uriScheme","summary":"Gets or sets the URI scheme."},{"id":"property:EndpointUpdateContext.targetHost","kind":"property","name":"targetHost","declaration":"targetHost: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointUpdateContext.targetHost","summary":"Gets or sets the target host."},{"id":"property:EndpointUpdateContext.transport","kind":"property","name":"transport","declaration":"transport: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointUpdateContext.transport","summary":"Gets or sets the transport."},{"id":"property:EndpointUpdateContext.isExternal","kind":"property","name":"isExternal","declaration":"isExternal: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointUpdateContext.isExternal","summary":"Gets or sets a value indicating whether the endpoint is external."},{"id":"property:EndpointUpdateContext.isProxied","kind":"property","name":"isProxied","declaration":"isProxied: { get: () =\u003E Promise\u003Cboolean | null\u003E; set: (value: boolean | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointUpdateContext.isProxied","summary":"Gets or sets a value indicating whether the endpoint is proxied."},{"id":"property:EndpointUpdateContext.excludeReferenceEndpoint","kind":"property","name":"excludeReferenceEndpoint","declaration":"excludeReferenceEndpoint: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointUpdateContext.excludeReferenceEndpoint","summary":"Gets or sets a value indicating whether the endpoint is excluded from the default reference set."},{"id":"property:EndpointUpdateContext.tlsEnabled","kind":"property","name":"tlsEnabled","declaration":"tlsEnabled: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.ApplicationModel/EndpointUpdateContext.tlsEnabled","summary":"Gets or sets a value indicating whether TLS is enabled."}]},{"id":"interface:EnvironmentCallbackContext","kind":"interface","name":"EnvironmentCallbackContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext","owningAssembly":"Aspire.Hosting","declaration":"export interface EnvironmentCallbackContext","summary":"Represents a callback context for environment variables associated with a publisher.","members":[{"id":"property:EnvironmentCallbackContext.environment","kind":"property","name":"environment","declaration":"environment(): EnvironmentEditorPromise","capabilityId":"Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.environment","summary":"Gets the editor used to set environment variables in polyglot callbacks."},{"id":"property:EnvironmentCallbackContext.log","kind":"property","name":"log","declaration":"log(): LogFacadePromise","capabilityId":"Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.log","summary":"Gets the logger facade used by polyglot callbacks."},{"id":"property:EnvironmentCallbackContext.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.resource","summary":"The resource associated with this callback context.","remarks":"This will be set to the resource in all cases where Aspire invokes the callback."},{"id":"property:EnvironmentCallbackContext.executionContext","kind":"property","name":"executionContext","declaration":"executionContext(): DistributedApplicationExecutionContextPromise","capabilityId":"Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.executionContext","summary":"Gets the execution context associated with this invocation of the AppHost."}]},{"id":"interface:EnvironmentEditor","kind":"interface","name":"EnvironmentEditor","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentEditor","owningAssembly":"Aspire.Hosting","declaration":"export interface EnvironmentEditor","summary":"Provides an ATS-first editor for environment variables within polyglot callbacks.","members":[{"id":"method:EnvironmentEditor.set","kind":"method","name":"set","declaration":"set(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): EnvironmentEditorPromise","capabilityId":"Aspire.Hosting.ApplicationModel/set","returnType":"EnvironmentEditorPromise","summary":"Sets an environment variable.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the environment variable."},{"name":"value","type":"string | ReferenceExpression | EndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E","optional":false,"summary":"The value to assign to the environment variable."}]}]},{"id":"interface:EventingSubscriberRegistrationContext","kind":"interface","name":"EventingSubscriberRegistrationContext","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.EventingSubscriberRegistrationContext","owningAssembly":"Aspire.Hosting","declaration":"export interface EventingSubscriberRegistrationContext","summary":"Context passed to ATS-friendly eventing subscriber registrations.","members":[{"id":"property:EventingSubscriberRegistrationContext.executionContext","kind":"property","name":"executionContext","declaration":"executionContext(): DistributedApplicationExecutionContextPromise","capabilityId":"Aspire.Hosting.Ats/EventingSubscriberRegistrationContext.executionContext","summary":"The execution context for the AppHost invocation."},{"id":"property:EventingSubscriberRegistrationContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting.Ats/EventingSubscriberRegistrationContext.cancellationToken","summary":"The cancellation token associated with the subscriber registration."},{"id":"method:EventingSubscriberRegistrationContext.onBeforeStart","kind":"method","name":"onBeforeStart","declaration":"onBeforeStart(callback: (arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","capabilityId":"Aspire.Hosting/eventingSubscriberOnBeforeStart","returnType":"Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","summary":"Subscribes to the BeforeStart event from an eventing subscriber registration context.","parameters":[{"name":"callback","type":"(arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:EventingSubscriberRegistrationContext.onBeforePublish","kind":"method","name":"onBeforePublish","declaration":"onBeforePublish(callback: (arg: BeforePublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","capabilityId":"Aspire.Hosting/eventingSubscriberOnBeforePublish","returnType":"Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","summary":"Subscribes to the BeforePublish event from an eventing subscriber registration context.","parameters":[{"name":"callback","type":"(arg: BeforePublishEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:EventingSubscriberRegistrationContext.onAfterPublish","kind":"method","name":"onAfterPublish","declaration":"onAfterPublish(callback: (arg: AfterPublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","capabilityId":"Aspire.Hosting/eventingSubscriberOnAfterPublish","returnType":"Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","summary":"Subscribes to the AfterPublish event from an eventing subscriber registration context.","parameters":[{"name":"callback","type":"(arg: AfterPublishEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:EventingSubscriberRegistrationContext.onAfterResourcesCreated","kind":"method","name":"onAfterResourcesCreated","declaration":"onAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","capabilityId":"Aspire.Hosting/eventingSubscriberOnAfterResourcesCreated","returnType":"Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E","summary":"Subscribes to the AfterResourcesCreated event from an eventing subscriber registration context.","parameters":[{"name":"callback","type":"(arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]}]},{"id":"interface:ExecutableResource","kind":"interface","name":"ExecutableResource","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecutableResource","owningAssembly":"Aspire.Hosting","declaration":"export interface ExecutableResource extends ResourceBuilderBase","summary":"A resource that represents a specified executable process.","remarks":"You can run any executable command using its full path.\nAs a security feature, Aspire doesn\u0027t run executable unless the command is located in a path listed in the PATH environment variable.\nTo run an executable file that\u0027s in the current directory, specify the full path or use the relative path \u0060./\u0060 to represent the current directory.","extends":["ResourceBuilderBase"],"members":[{"id":"method:ExecutableResource.withContainerRegistry","kind":"method","name":"withContainerRegistry","declaration":"withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withContainerRegistry","returnType":"ExecutableResourcePromise","summary":"Configures the resource to use the specified container registry for container image operations.","remarks":"This method adds a \u0060ContainerRegistryReferenceAnnotation\u0060 to the resource,\nindicating that the resource should use the specified container registry for container image operations.","parameters":[{"name":"registry","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The container registry resource builder."}]},{"id":"method:ExecutableResource.withDockerfileBaseImage","kind":"method","name":"withDockerfileBaseImage","declaration":"withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withDockerfileBaseImage","returnType":"ExecutableResourcePromise","summary":"Configures custom base images for generated Dockerfiles.","remarks":"This extension method allows customization of the base images used in generated Dockerfiles.\nFor multi-stage Dockerfiles (e.g., Python with UV), you can specify separate build and runtime images.\nSpecify custom base images for a Python application:\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddPythonApp(\u0022myapp\u0022, \u0022path/to/app\u0022, \u0022main.py\u0022)\n.WithDockerfileBaseImage(\nbuildImage: \u0022ghcr.io/astral-sh/uv:python3.12-bookworm-slim\u0022,\nruntimeImage: \u0022python:3.12-slim-bookworm\u0022);\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"buildImage","type":"string","optional":true,"summary":"The base image to use for the build stage. If null, uses the default build image."},{"name":"runtimeImage","type":"string","optional":true,"summary":"The base image to use for the runtime stage. If null, uses the default runtime image."}]},{"id":"method:ExecutableResource.publishAsDockerFile","kind":"method","name":"publishAsDockerFile","declaration":"publishAsDockerFile(configure: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/publishAsDockerFile","returnType":"ExecutableResourcePromise","summary":"Publishes an executable as a Docker file","remarks":"When the executable resource is converted to a container resource, the arguments to the executable\nare not used. This is because arguments to the executable often contain physical paths that are not valid\nin the container. The container can be set up with the correct arguments using the \u0060configure\u0060 action.","parameters":[{"name":"configure","type":"(obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"Optional action to configure the container resource"}]},{"id":"method:ExecutableResource.withExecutableCommand","kind":"method","name":"withExecutableCommand","declaration":"withExecutableCommand(command: string): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withExecutableCommand","returnType":"ExecutableResourcePromise","summary":"Sets the command for the executable resource.","parameters":[{"name":"command","type":"string","optional":false,"summary":"Command."}]},{"id":"method:ExecutableResource.withWorkingDirectory","kind":"method","name":"withWorkingDirectory","declaration":"withWorkingDirectory(workingDirectory: string): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withWorkingDirectory","returnType":"ExecutableResourcePromise","summary":"Sets the working directory for the executable resource.","parameters":[{"name":"workingDirectory","type":"string","optional":false,"summary":"Working directory."}]},{"id":"method:ExecutableResource.withMcpServer","kind":"method","name":"withMcpServer","declaration":"withMcpServer(options?: WithMcpServerOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withMcpServer","returnType":"ExecutableResourcePromise","summary":"Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint.","remarks":"This method adds an \u0060McpServerEndpointAnnotation\u0060 to the resource, enabling the Aspire tooling\nto discover and proxy the MCP server exposed by the resource.","parameters":[{"name":"path","type":"string","optional":true,"summary":"An optional path to append to the endpoint URL when forming the MCP server address. Defaults to \u0060\u0022/mcp\u0022\u0060."},{"name":"endpointName","type":"string","optional":true,"summary":"An optional name of the endpoint that hosts the MCP server. If not specified, defaults to the first HTTPS or HTTP endpoint."}]},{"id":"method:ExecutableResource.withOtlpExporter","kind":"method","name":"withOtlpExporter","declaration":"withOtlpExporter(options?: WithOtlpExporterOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withOtlpExporter","returnType":"ExecutableResourcePromise","summary":"Configures OTLP telemetry export","parameters":[{"name":"protocol","type":"OtlpProtocol","optional":true}]},{"id":"method:ExecutableResource.withRequiredCommand","kind":"method","name":"withRequiredCommand","declaration":"withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommand","returnType":"ExecutableResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start.","remarks":"The command is considered valid if either:\n1. It is an absolute or relative path (contains a directory separator) that points to an existing file, or\n2. It is discoverable on the current process PATH (respecting PATHEXT on Windows).\nIf the command is not found, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing."}]},{"id":"method:ExecutableResource.withRequiredCommandValidation","kind":"method","name":"withRequiredCommandValidation","declaration":"withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommandValidation","returnType":"ExecutableResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start, with custom validation logic.","remarks":"The command is first resolved to a full path. If found, the validation callback is invoked with the context containing the resolved path and service provider.\nThe callback should return a \u0060RequiredCommandValidationResult\u0060 indicating whether the command is valid,\nwhich can be created via \u0060Success\u0060 or \u0060Failure\u0060.\nIf the command is not found or fails validation, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"validationCallback","type":"(arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E","optional":false,"summary":"A callback that validates the resolved command path. Receives a \u0060RequiredCommandValidationContext\u0060 and returns a \u0060RequiredCommandValidationResult\u0060."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing or fails validation."}]},{"id":"method:ExecutableResource.withSessionLifetime","kind":"method","name":"withSessionLifetime","declaration":"withSessionLifetime(): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withSessionLifetime","returnType":"ExecutableResourcePromise","summary":"Configures a resource to use a session lifetime."},{"id":"method:ExecutableResource.withPersistentLifetime","kind":"method","name":"withPersistentLifetime","declaration":"withPersistentLifetime(): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withPersistentLifetime","returnType":"ExecutableResourcePromise","summary":"Configures a resource to use a persistent lifetime."},{"id":"method:ExecutableResource.withLifetimeOf","kind":"method","name":"withLifetimeOf","declaration":"withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withLifetimeOf","returnType":"ExecutableResourcePromise","summary":"Configures a resource to match the lifetime of another resource.","remarks":"The resource lifetime is evaluated from \u0060sourceBuilder\u0060 when the application model is prepared, so later lifetime\nchanges to the source resource are reflected by this resource.","parameters":[{"name":"sourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder whose lifetime should be used."}]},{"id":"method:ExecutableResource.withParentProcessLifetime","kind":"method","name":"withParentProcessLifetime","declaration":"withParentProcessLifetime(parentProcessId: number): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withParentProcessLifetime","returnType":"ExecutableResourcePromise","summary":"Configures a resource to use a persistent lifetime that ends when a parent process exits.","parameters":[{"name":"parentProcessId","type":"number","optional":false,"summary":"The ID of the parent process to monitor."}]},{"id":"method:ExecutableResource.withEnvironment","kind":"method","name":"withEnvironment","declaration":"withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withEnvironment","returnType":"ExecutableResourcePromise","summary":"Sets an environment variable","parameters":[{"name":"name","type":"string","optional":false},{"name":"value","type":"string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E","optional":false}]},{"id":"method:ExecutableResource.withEnvironmentCallback","kind":"method","name":"withEnvironmentCallback","declaration":"withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withEnvironmentCallback","returnType":"ExecutableResourcePromise","summary":"Allows for the population of environment variables on a resource.","parameters":[{"name":"callback","type":"(arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing many environment variables. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]},{"id":"method:ExecutableResource.withArgs","kind":"method","name":"withArgs","declaration":"withArgs(args: string[]): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withArgs","returnType":"ExecutableResourcePromise","summary":"Adds arguments to be passed to a resource that supports arguments when it is launched.","parameters":[{"name":"args","type":"string[]","optional":false,"summary":"The arguments to be passed to the resource when it is started."}]},{"id":"method:ExecutableResource.withArgsCallback","kind":"method","name":"withArgsCallback","declaration":"withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withArgsCallback","returnType":"ExecutableResourcePromise","summary":"Adds a callback to be executed with a list of command-line arguments when a resource is started.","parameters":[{"name":"callback","type":"(obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing arguments. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]},{"id":"method:ExecutableResource.withReferenceEnvironment","kind":"method","name":"withReferenceEnvironment","declaration":"withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withReferenceEnvironment","returnType":"ExecutableResourcePromise","summary":"Configures how information is injected into environment variables when the resource references other resources.","parameters":[{"name":"options","type":"ReferenceEnvironmentInjectionOptions","optional":false,"summary":"Options controlling which reference information is emitted."}]},{"id":"method:ExecutableResource.withReference","kind":"method","name":"withReference","declaration":"withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withReference","returnType":"ExecutableResourcePromise","summary":"Adds a reference to another resource","parameters":[{"name":"source","type":"CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E","optional":false},{"name":"connectionName","type":"string","optional":true},{"name":"optional","type":"boolean","optional":true},{"name":"name","type":"string","optional":true}]},{"id":"method:ExecutableResource.withEndpointCallback","kind":"method","name":"withEndpointCallback","declaration":"withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withEndpointCallback","returnType":"ExecutableResourcePromise","summary":"Updates a named endpoint via callback","parameters":[{"name":"endpointName","type":"string","optional":false},{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ExecutableResource.withHttpEndpointCallback","kind":"method","name":"withHttpEndpointCallback","declaration":"withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withHttpEndpointCallback","returnType":"ExecutableResourcePromise","summary":"Updates an HTTP endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ExecutableResource.withHttpsEndpointCallback","kind":"method","name":"withHttpsEndpointCallback","declaration":"withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withHttpsEndpointCallback","returnType":"ExecutableResourcePromise","summary":"Updates an HTTPS endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ExecutableResource.withEndpoint","kind":"method","name":"withEndpoint","declaration":"withEndpoint(options?: WithEndpointOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withEndpoint","returnType":"ExecutableResourcePromise","summary":"Adds a network endpoint","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"scheme","type":"string","optional":true,"summary":"An optional scheme e.g. (http/https). Defaults to the \u0060protocol\u0060 argument if it is defined or \u0022tcp\u0022 otherwise."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to the scheme name if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable that will be used to inject the \u0060targetPort\u0060. If the target port is null one will be dynamically generated and assigned to the environment variable."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."},{"name":"isExternal","type":"boolean","optional":true,"summary":"Indicates that this endpoint should be exposed externally at publish time."},{"name":"protocol","type":"ProtocolType","optional":true,"summary":"Network protocol: TCP or UDP are supported today, others possibly in future."}]},{"id":"method:ExecutableResource.withEndpointProxySupport","kind":"method","name":"withEndpointProxySupport","declaration":"withEndpointProxySupport(proxyEnabled: boolean): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withEndpointProxySupport","returnType":"ExecutableResourcePromise","summary":"Set whether a resource can use proxied endpoints or whether they should be disabled for all endpoints belonging to the resource. If set to \u0060false\u0060, endpoints belonging to the resource will ignore the configured proxy settings and run proxy-less.","remarks":"This method is intended to support scenarios with persistent lifetime resources where it is desirable for the resource to be accessible over the same\nport whether the Aspire application is running or not. Proxied endpoints bind ports that are only accessible while the Aspire application is running.\nThe user needs to be careful to ensure that endpoints are using unique ports when disabling proxy support as by default for proxy-less\nendpoints, Aspire will allocate the target port as the host port, which will increase the chance of port conflicts.","parameters":[{"name":"proxyEnabled","type":"boolean","optional":false,"summary":"Should endpoints for the resource support using a proxy?"}]},{"id":"method:ExecutableResource.withHttpEndpoint","kind":"method","name":"withHttpEndpoint","declaration":"withHttpEndpoint(options?: WithHttpEndpointOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withHttpEndpoint","returnType":"ExecutableResourcePromise","summary":"Adds an HTTP endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022http\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:ExecutableResource.withHttpsEndpoint","kind":"method","name":"withHttpsEndpoint","declaration":"withHttpsEndpoint(options?: WithHttpsEndpointOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withHttpsEndpoint","returnType":"ExecutableResourcePromise","summary":"Adds an HTTPS endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional host port."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022https\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:ExecutableResource.withExternalHttpEndpoints","kind":"method","name":"withExternalHttpEndpoints","declaration":"withExternalHttpEndpoints(): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withExternalHttpEndpoints","returnType":"ExecutableResourcePromise","summary":"Marks existing http or https endpoints on a resource as external."},{"id":"method:ExecutableResource.getEndpoint","kind":"method","name":"getEndpoint","declaration":"getEndpoint(name: string): EndpointReferencePromise","capabilityId":"Aspire.Hosting/getEndpoint","returnType":"EndpointReferencePromise","summary":"Gets an endpoint reference","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the endpoint."}]},{"id":"method:ExecutableResource.asHttp2Service","kind":"method","name":"asHttp2Service","declaration":"asHttp2Service(): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/asHttp2Service","returnType":"ExecutableResourcePromise","summary":"Configures a resource to mark all endpoints\u0027 transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge."},{"id":"method:ExecutableResource.withUrls","kind":"method","name":"withUrls","declaration":"withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withUrls","returnType":"ExecutableResourcePromise","summary":"Registers a callback to customize the URLs displayed for the resource.","parameters":[{"name":"callback","type":"(obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize URLs for the resource."}]},{"id":"method:ExecutableResource.withUrl","kind":"method","name":"withUrl","declaration":"withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withUrl","returnType":"ExecutableResourcePromise","summary":"Adds or modifies displayed URLs","parameters":[{"name":"url","type":"string | ReferenceExpression","optional":false},{"name":"displayText","type":"string","optional":true}]},{"id":"method:ExecutableResource.withUrlForEndpoint","kind":"method","name":"withUrlForEndpoint","declaration":"withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withUrlForEndpoint","returnType":"ExecutableResourcePromise","summary":"Registers a callback to update the URL displayed for the endpoint with the specified name.","parameters":[{"name":"endpointName","type":"string","optional":false,"summary":"The name of the endpoint to customize the URL for."},{"name":"callback","type":"(obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize the URL."}]},{"id":"method:ExecutableResource.excludeFromManifest","kind":"method","name":"excludeFromManifest","declaration":"excludeFromManifest(): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/excludeFromManifest","returnType":"ExecutableResourcePromise","summary":"Excludes a resource from being published to the manifest."},{"id":"method:ExecutableResource.waitFor","kind":"method","name":"waitFor","declaration":"waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/waitFor","returnType":"ExecutableResourcePromise","summary":"Waits for another resource to be ready","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:ExecutableResource.waitForStart","kind":"method","name":"waitForStart","declaration":"waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/waitForStart","returnType":"ExecutableResourcePromise","summary":"Waits for another resource to start","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:ExecutableResource.withExplicitStart","kind":"method","name":"withExplicitStart","declaration":"withExplicitStart(): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withExplicitStart","returnType":"ExecutableResourcePromise","summary":"Prevents resource from starting automatically"},{"id":"method:ExecutableResource.waitForCompletion","kind":"method","name":"waitForCompletion","declaration":"waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/waitForResourceCompletion","returnType":"ExecutableResourcePromise","summary":"Waits for the dependency resource to enter the Exited or Finished state before starting the resource.","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder for the dependency resource."},{"name":"exitCode","type":"number","optional":true,"summary":"The exit code which is interpreted as successful."}]},{"id":"method:ExecutableResource.withHealthCheck","kind":"method","name":"withHealthCheck","declaration":"withHealthCheck(key: string): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withHealthCheck","returnType":"ExecutableResourcePromise","summary":"Adds a health check by key","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key for the health check."}]},{"id":"method:ExecutableResource.withHttpHealthCheck","kind":"method","name":"withHttpHealthCheck","declaration":"withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withHttpHealthCheck","returnType":"ExecutableResourcePromise","summary":"Adds a health check to the resource which is mapped to a specific endpoint.","parameters":[{"name":"path","type":"string","optional":true,"summary":"The relative path to test."},{"name":"statusCode","type":"number","optional":true,"summary":"The result code to interpret as healthy."},{"name":"endpointName","type":"string","optional":true,"summary":"The name of the endpoint to derive the base address from."}]},{"id":"method:ExecutableResource.withCommand","kind":"method","name":"withCommand","declaration":"withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withCommand","returnType":"ExecutableResourcePromise","summary":"Adds a resource command","remarks":"The \u0060WithCommand\u0060 method is used to add commands to the resource. Commands are displayed in the dashboard\nand can be executed by a user using the dashboard UI.\nWhen a command is executed, the \u0060executeCommand\u0060 callback is called and is run inside the Aspire host.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the command. The name uniquely identifies the command."},{"name":"displayName","type":"string","optional":false,"summary":"The display name visible in UI."},{"name":"executeCommand","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E","optional":false,"summary":"A callback that is executed when the command is executed. The callback is run inside the Aspire host. The callback result is used to indicate success or failure in the UI."},{"name":"commandOptions","type":"CommandOptions","optional":true,"summary":"Optional configuration for the command."}]},{"id":"method:ExecutableResource.withProcessCommand","kind":"method","name":"withProcessCommand","declaration":"withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommand","returnType":"ExecutableResourcePromise","summary":"Adds a command to the resource that starts a local process when invoked.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"ProcessCommandExportOptions","optional":false}]},{"id":"method:ExecutableResource.withProcessCommandFactory","kind":"method","name":"withProcessCommandFactory","declaration":"withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommandFactory","returnType":"ExecutableResourcePromise","summary":"Adds a command to the resource that starts a local process created by a callback when invoked.","deprecated":"Use withProcessCommand with createProcessSpec in the options object instead.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"createProcessSpec","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E","optional":false},{"name":"options","type":"ProcessCommandResultExportOptions","optional":true}]},{"id":"method:ExecutableResource.withHttpCommand","kind":"method","name":"withHttpCommand","declaration":"withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withHttpCommand","returnType":"ExecutableResourcePromise","summary":"Adds an HTTP resource command","parameters":[{"name":"path","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"HttpCommandExportOptions","optional":true}]},{"id":"method:ExecutableResource.withDeveloperCertificateTrust","kind":"method","name":"withDeveloperCertificateTrust","declaration":"withDeveloperCertificateTrust(trust: boolean): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withDeveloperCertificateTrust","returnType":"ExecutableResourcePromise","summary":"Indicates whether developer certificates should be treated as trusted certificate authorities for the resource at run time. Currently this indicates trust for the ASP.NET Core developer certificate. The developer certificate will only be trusted when running in local development scenarios; in publish mode resources will use their default certificate trust.","remarks":"Disable trust for app host managed developer certificate(s) for a container resource.\n\u0060\u0060\u0060\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithDeveloperCertificateTrust(false);\n\u0060\u0060\u0060\nDisable automatic trust for app host managed developer certificate(s), but explicitly enable it for a specific resource.\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(new DistributedApplicationOptions()\n{\nArgs = args,\nTrustDeveloperCertificate = false,\n});\nvar project = builder.AddProject\u003CMyService\u003E(\u0022my-service\u0022)\n.WithDeveloperCertificateTrust(true);\n\u0060\u0060\u0060","parameters":[{"name":"trust","type":"boolean","optional":false,"summary":"Indicates whether the developer certificate should be treated as trusted."}]},{"id":"method:ExecutableResource.withCertificateTrustScope","kind":"method","name":"withCertificateTrustScope","declaration":"withCertificateTrustScope(scope: CertificateTrustScope): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withCertificateTrustScope","returnType":"ExecutableResourcePromise","summary":"Sets the certificate trust scope","remarks":"The default scope if not overridden is \u0060Append\u0060 which means that custom certificate\nauthorities should be appended to the default trusted certificate authorities for the resource. Setting the scope to\n\u0060Override\u0060 indicates the set of certificates in referenced\n\u0060CertificateAuthorityCollection\u0060 (and optionally Aspire developer certificiates) should be used as the\nexclusive source of trust for a resource.\nIn all cases, this is a best effort implementation as not all resources support full customization of certificate\ntrust.\nSet the scope for custom certificate authorities to override the default trusted certificate authorities for a container resource.\n\u0060\u0060\u0060\nvar caCollection = builder.AddCertificateAuthorityCollection(\u0022my-cas\u0022)\n.WithCertificate(new X509Certificate2(\u0022my-ca.pem\u0022));\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithCertificateAuthorityCollection(caCollection)\n.WithCertificateTrustScope(CertificateTrustScope.Override);\n\u0060\u0060\u0060","parameters":[{"name":"scope","type":"CertificateTrustScope","optional":false,"summary":"The scope to apply to custom certificate authorities associated with the resource."}]},{"id":"method:ExecutableResource.withHttpsDeveloperCertificate","kind":"method","name":"withHttpsDeveloperCertificate","declaration":"withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withParameterHttpsDeveloperCertificate","returnType":"ExecutableResourcePromise","summary":"Indicates that a resource should use the developer certificate key pair for HTTPS endpoints at run time. Currently this indicates use of the ASP.NET Core developer certificate. The developer certificate will only be used when running in local development scenarios; in publish mode resources will use their default certificate configuration.","remarks":"Use the developer certificate for HTTPS/TLS endpoints on a container resource:\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsDeveloperCertificate()\n\u0060\u0060\u0060","parameters":[{"name":"password","type":"Awaitable\u003CParameterResource\u003E","optional":true,"summary":"A parameter specifying the password used to encrypt the certificate private key."}]},{"id":"method:ExecutableResource.withoutHttpsCertificate","kind":"method","name":"withoutHttpsCertificate","declaration":"withoutHttpsCertificate(): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withoutHttpsCertificate","returnType":"ExecutableResourcePromise","summary":"Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied.","remarks":"Disable HTTPS certificate configuration for a Redis resource:\n\u0060\u0060\u0060\nvar redis = builder.AddRedis(\u0022cache\u0022)\n.WithoutHttpsCertificate();\n\u0060\u0060\u0060"},{"id":"method:ExecutableResource.withHttpsCertificateConfiguration","kind":"method","name":"withHttpsCertificateConfiguration","declaration":"withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withHttpsCertificateConfiguration","returnType":"ExecutableResourcePromise","summary":"Adds a callback that allows configuring the resource to use a specific HTTPS/TLS certificate key pair for server authentication.","remarks":"Pass the path to the PFX certificate file to the container arguments.\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsCertificateConfiguration(ctx =\u003E\n{\nctx.Arguments.Add(\u0022--https-certificate-path\u0022);\nctx.Arguments.Add(ctx.PfxPath);\nreturn Task.CompletedTask;\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to configure the resource to use a certificate key pair."}]},{"id":"method:ExecutableResource.subscribeHttpsEndpointsUpdate","kind":"method","name":"subscribeHttpsEndpointsUpdate","declaration":"subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/subscribeHttpsEndpointsUpdate","returnType":"ExecutableResourcePromise","summary":"Subscribes to the \u0060BeforeStartEvent\u0060 and invokes the specified callback when an HTTPS certificate is determined to be available for the resource. This is used to conditionally update endpoint URI schemes or perform other HTTPS-related configuration at startup.","remarks":"The callback is invoked when either:\n-\n-\nSwitch an endpoint to HTTPS when a certificate is available:\n\u0060\u0060\u0060\nbuilder.SubscribeHttpsEndpointsUpdate(ctx =\u003E\n{\nbuilder.WithEndpoint(\u0022http\u0022, ep =\u003E ep.UriScheme = \u0022https\u0022);\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when HTTPS is enabled. Receives an \u0060HttpsEndpointUpdateCallbackContext\u0060 providing access to the service provider, resource, and application model."}]},{"id":"method:ExecutableResource.withRelationship","kind":"method","name":"withRelationship","declaration":"withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withBuilderRelationship","returnType":"ExecutableResourcePromise","summary":"Adds a relationship to another resource using its builder.","parameters":[{"name":"resourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder that the relationship is to."},{"name":"type","type":"string","optional":false,"summary":"The relationship type."}]},{"id":"method:ExecutableResource.withParentRelationship","kind":"method","name":"withParentRelationship","declaration":"withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withBuilderParentRelationship","returnType":"ExecutableResourcePromise","summary":"Sets the parent relationship","parameters":[{"name":"parent","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The parent of \u0060builder\u0060."}]},{"id":"method:ExecutableResource.withChildRelationship","kind":"method","name":"withChildRelationship","declaration":"withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withBuilderChildRelationship","returnType":"ExecutableResourcePromise","summary":"Sets a child relationship","parameters":[{"name":"child","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The child of \u0060builder\u0060."}]},{"id":"method:ExecutableResource.withIconName","kind":"method","name":"withIconName","declaration":"withIconName(iconName: string, options?: WithIconNameOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withIconName","returnType":"ExecutableResourcePromise","summary":"Specifies the icon to use when displaying the resource in the dashboard.","parameters":[{"name":"iconName","type":"string","optional":false,"summary":"The name of the FluentUI icon to use. See https://aka.ms/fluentui-system-icons for available icons."},{"name":"iconVariant","type":"IconVariant","optional":true,"summary":"The variant of the icon (Regular or Filled). Defaults to Filled."}]},{"id":"method:ExecutableResource.withComputeEnvironment","kind":"method","name":"withComputeEnvironment","declaration":"withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withComputeEnvironment","returnType":"ExecutableResourcePromise","summary":"Configures the compute environment for the compute resource.","remarks":"This method allows associating a specific compute environment with the compute resource.","parameters":[{"name":"computeEnvironmentResource","type":"Awaitable\u003CComputeEnvironmentResource\u003E","optional":false,"summary":"The compute environment resource to associate with the compute resource."}]},{"id":"method:ExecutableResource.withHttpProbe","kind":"method","name":"withHttpProbe","declaration":"withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withHttpProbe","returnType":"ExecutableResourcePromise","summary":"Adds an HTTP health probe to the resource","parameters":[{"name":"probeType","type":"ProbeType","optional":false},{"name":"path","type":"string","optional":true},{"name":"initialDelaySeconds","type":"number","optional":true},{"name":"periodSeconds","type":"number","optional":true},{"name":"timeoutSeconds","type":"number","optional":true},{"name":"failureThreshold","type":"number","optional":true},{"name":"successThreshold","type":"number","optional":true},{"name":"endpointName","type":"string","optional":true}]},{"id":"method:ExecutableResource.excludeFromMcp","kind":"method","name":"excludeFromMcp","declaration":"excludeFromMcp(): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/excludeFromMcp","returnType":"ExecutableResourcePromise","summary":"Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry."},{"id":"method:ExecutableResource.withHidden","kind":"method","name":"withHidden","declaration":"withHidden(): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withHidden","returnType":"ExecutableResourcePromise","summary":"Hides the resource from default resource lists","remarks":"Use this method to hide resources that are implementation details and should never be displayed by default.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI."},{"id":"method:ExecutableResource.withHiddenOnCompletion","kind":"method","name":"withHiddenOnCompletion","declaration":"withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withHiddenOnCompletion","returnType":"ExecutableResourcePromise","summary":"Hides the resource from default resource lists after successful completion","remarks":"This method is useful for one-off resources such as setup scripts, migrations, or build steps that should remain visible while running\nand then be hidden after successful completion.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI.","parameters":[{"name":"exitCode","type":"number","optional":true,"summary":"The completion exit code to treat as successful. Defaults to \u00600\u0060."},{"name":"exitCodes","type":"number[]","optional":true,"summary":"Completion exit codes to treat as successful. If no values are provided, \u00600\u0060 is used."}]},{"id":"method:ExecutableResource.withImagePushOptions","kind":"method","name":"withImagePushOptions","declaration":"withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withImagePushOptions","returnType":"ExecutableResourcePromise","summary":"Adds an asynchronous callback to configure container image push options for the resource.","remarks":"This method allows customization of how container images are named and tagged when pushed to a registry using an asynchronous callback.\nUse this overload when the callback needs to perform asynchronous operations such as retrieving configuration values from external sources.\nThe callback receives a \u0060ContainerImagePushOptionsCallbackContext\u0060 that provides access to the resource\nand the \u0060ContainerImagePushOptions\u0060 that can be modified.\nMultiple callbacks can be registered on the same resource, and they will be invoked in the order they were added.","parameters":[{"name":"callback","type":"(arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The asynchronous callback to configure push options."}]},{"id":"method:ExecutableResource.withRemoteImageName","kind":"method","name":"withRemoteImageName","declaration":"withRemoteImageName(remoteImageName: string): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageName","returnType":"ExecutableResourcePromise","summary":"Sets the remote image name (without registry endpoint or tag) for container push operations.","remarks":"Use this with \u0060withRemoteImageTag\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageName","type":"string","optional":false,"summary":"The remote image name (e.g., \u0022myapp\u0022 or \u0022myorg/myapp\u0022)."}]},{"id":"method:ExecutableResource.withRemoteImageTag","kind":"method","name":"withRemoteImageTag","declaration":"withRemoteImageTag(remoteImageTag: string): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageTag","returnType":"ExecutableResourcePromise","summary":"Sets the remote image tag for container push operations.","remarks":"Use this with \u0060withRemoteImageName\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageTag","type":"string","optional":false,"summary":"The remote image tag (e.g., \u0022latest\u0022, \u0022v1.0.0\u0022)."}]},{"id":"method:ExecutableResource.withTerminal","kind":"method","name":"withTerminal","declaration":"withTerminal(): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withTerminal","returnType":"ExecutableResourcePromise","summary":"Adds an interactive terminal session to a resource using the default terminal options."},{"id":"method:ExecutableResource.withPipelineStepFactory","kind":"method","name":"withPipelineStepFactory","declaration":"withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withPipelineStepFactory","returnType":"ExecutableResourcePromise","summary":"Adds a pipeline step to the resource that will be executed during deployment.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The unique name of the pipeline step."},{"name":"callback","type":"(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to execute when the step runs."},{"name":"dependsOn","type":"string[]","optional":true,"summary":"Optional step names that this step depends on."},{"name":"requiredBy","type":"string[]","optional":true,"summary":"Optional step names that require this step."},{"name":"tags","type":"string[]","optional":true,"summary":"Optional tags that categorize this step."},{"name":"description","type":"string","optional":true,"summary":"An optional human-readable description of the step."}]},{"id":"method:ExecutableResource.withPipelineConfiguration","kind":"method","name":"withPipelineConfiguration","declaration":"withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withPipelineConfiguration","returnType":"ExecutableResourcePromise","summary":"Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.","parameters":[{"name":"callback","type":"(obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback function to execute during the configuration phase."}]},{"id":"method:ExecutableResource.getResourceName","kind":"method","name":"getResourceName","declaration":"getResourceName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getResourceName","returnType":"Promise\u003Cstring\u003E","summary":"Gets the name of the resource from a builder.","remarks":"Why this wrapper exists: This capability accesses a nested property\n(\u0060resource.Resource.Name\u0060) which requires a wrapper method. There is no single\n.NET method that returns just the resource name that could be annotated directly."},{"id":"method:ExecutableResource.onBeforeResourceStarted","kind":"method","name":"onBeforeResourceStarted","declaration":"onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/onBeforeResourceStarted","returnType":"ExecutableResourcePromise","summary":"Subscribes to the BeforeResourceStarted event.","parameters":[{"name":"callback","type":"(arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ExecutableResource.onResourceStopped","kind":"method","name":"onResourceStopped","declaration":"onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/onResourceStopped","returnType":"ExecutableResourcePromise","summary":"Subscribes to the ResourceStopped event.","parameters":[{"name":"callback","type":"(arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ExecutableResource.onInitializeResource","kind":"method","name":"onInitializeResource","declaration":"onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/onInitializeResource","returnType":"ExecutableResourcePromise","summary":"Subscribes to the InitializeResource event.","parameters":[{"name":"callback","type":"(arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ExecutableResource.onResourceEndpointsAllocated","kind":"method","name":"onResourceEndpointsAllocated","declaration":"onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/onResourceEndpointsAllocated","returnType":"ExecutableResourcePromise","summary":"Subscribes to the ResourceEndpointsAllocated event.","parameters":[{"name":"callback","type":"(arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ExecutableResource.onResourceReady","kind":"method","name":"onResourceReady","declaration":"onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/onResourceReady","returnType":"ExecutableResourcePromise","summary":"Subscribes to the ResourceReady event.","parameters":[{"name":"callback","type":"(arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ExecutableResource.createExecutionConfiguration","kind":"method","name":"createExecutionConfiguration","declaration":"createExecutionConfiguration(): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/createExecutionConfiguration","returnType":"ExecutionConfigurationBuilderPromise","summary":"Creates an execution configuration builder for the specified resource."},{"id":"method:ExecutableResource.withContainerBuildOptions","kind":"method","name":"withContainerBuildOptions","declaration":"withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise","capabilityId":"Aspire.Hosting/withContainerBuildOptions","returnType":"ExecutableResourcePromise","summary":"Configures container build options for a compute resource using an async callback.","parameters":[{"name":"callback","type":"(arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"An async callback to configure container build options."}]}]},{"id":"interface:ExecuteCommandContext","kind":"interface","name":"ExecuteCommandContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext","owningAssembly":"Aspire.Hosting","declaration":"export interface ExecuteCommandContext","summary":"Context for {@ats-ref method:ResourceCommandAnnotation.ExecuteCommand}.","members":[{"id":"property:ExecuteCommandContext.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ExecuteCommandContext.services","summary":"The service provider."},{"id":"property:ExecuteCommandContext.resourceName","kind":"property","name":"resourceName","declaration":"resourceName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ExecuteCommandContext.resourceName","summary":"The resource name."},{"id":"property:ExecuteCommandContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ExecuteCommandContext.cancellationToken","summary":"The cancellation token."},{"id":"property:ExecuteCommandContext.logger","kind":"property","name":"logger","declaration":"logger(): LoggerPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ExecuteCommandContext.logger","summary":"The logger for the resource."},{"id":"property:ExecuteCommandContext.arguments","kind":"property","name":"arguments","declaration":"arguments(): InteractionInputCollectionPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ExecuteCommandContext.arguments","summary":"Gets the invocation arguments supplied by the client when the command is executed.","remarks":"The collection contains the arguments described by \u0060Arguments\u0060 with their\nsubmitted values populated. CLI positional arguments are mapped by declaration order. Dashboard, MCP, and other\nnamed-payload clients are mapped by \u0060Name\u0060."}]},{"id":"interface:ExecutionConfigurationBuilder","kind":"interface","name":"ExecutionConfigurationBuilder","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExecutionConfigurationBuilder","owningAssembly":"Aspire.Hosting","declaration":"export interface ExecutionConfigurationBuilder","summary":"Builder for gathering and resolving the execution configuration (arguments and environment variables) for a specific resource.","members":[{"id":"method:ExecutionConfigurationBuilder.build","kind":"method","name":"build","declaration":"build(executionContext: Awaitable\u003CDistributedApplicationExecutionContext\u003E, options?: BuildOptions): ExecutionConfigurationResultPromise","capabilityId":"Aspire.Hosting/buildExecutionConfiguration","returnType":"ExecutionConfigurationResultPromise","summary":"Builds the execution configuration for the specified builder.","parameters":[{"name":"executionContext","type":"Awaitable\u003CDistributedApplicationExecutionContext\u003E","optional":false,"summary":"The execution context used while building the configuration."},{"name":"resourceLogger","type":"Awaitable\u003CLogger\u003E","optional":true,"summary":"The logger used while resolving values."},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true,"summary":"A cancellation token."}]},{"id":"method:ExecutionConfigurationBuilder.withHttpsCertificateConfig","kind":"method","name":"withHttpsCertificateConfig","declaration":"withHttpsCertificateConfig(configContextFactory: (arg: HttpsCertificateInfo) =\u003E Promise\u003CHttpsCertificateExecutionConfigurationContext\u003E): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/withHttpsCertificateConfigExport","returnType":"ExecutionConfigurationBuilderPromise","summary":"Adds an HTTPS certificate configuration gatherer using certificate metadata instead of a raw X509 certificate.","parameters":[{"name":"configContextFactory","type":"(arg: HttpsCertificateInfo) =\u003E Promise\u003CHttpsCertificateExecutionConfigurationContext\u003E","optional":false,"summary":"The factory that creates the HTTPS certificate configuration context."}]},{"id":"method:ExecutionConfigurationBuilder.withArgumentsConfig","kind":"method","name":"withArgumentsConfig","declaration":"withArgumentsConfig(): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/withArgumentsConfig","returnType":"ExecutionConfigurationBuilderPromise","summary":"Adds a command line arguments configuration gatherer to the builder."},{"id":"method:ExecutionConfigurationBuilder.withEnvironmentVariablesConfig","kind":"method","name":"withEnvironmentVariablesConfig","declaration":"withEnvironmentVariablesConfig(): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/withEnvironmentVariablesConfig","returnType":"ExecutionConfigurationBuilderPromise","summary":"Adds an environment variables configuration gatherer to the builder."},{"id":"method:ExecutionConfigurationBuilder.withCertificateTrustConfig","kind":"method","name":"withCertificateTrustConfig","declaration":"withCertificateTrustConfig(configContextFactory: (arg: CertificateTrustScope) =\u003E Promise\u003CCertificateTrustExecutionConfigurationContext\u003E): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/withCertificateTrustConfig","returnType":"ExecutionConfigurationBuilderPromise","summary":"Adds a certificate trust configuration gatherer to the builder.","parameters":[{"name":"configContextFactory","type":"(arg: CertificateTrustScope) =\u003E Promise\u003CCertificateTrustExecutionConfigurationContext\u003E","optional":false,"summary":"A factory function to create the configuration context."}]}]},{"id":"interface:ExecutionConfigurationResult","kind":"interface","name":"ExecutionConfigurationResult","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExecutionConfigurationResult","owningAssembly":"Aspire.Hosting","declaration":"export interface ExecutionConfigurationResult","summary":"Configuration (arguments and environment variables) to apply to a specific resource.","members":[{"id":"method:ExecutionConfigurationResult.getCertificateTrustData","kind":"method","name":"getCertificateTrustData","declaration":"getCertificateTrustData(): Promise\u003CCertificateTrustExecutionConfigurationExportData\u003E","capabilityId":"Aspire.Hosting/getCertificateTrustData","returnType":"Promise\u003CCertificateTrustExecutionConfigurationExportData\u003E","summary":"Gets certificate trust execution-configuration data when present."},{"id":"method:ExecutionConfigurationResult.getHttpsCertificateData","kind":"method","name":"getHttpsCertificateData","declaration":"getHttpsCertificateData(): Promise\u003CHttpsCertificateExecutionConfigurationExportData\u003E","capabilityId":"Aspire.Hosting/getHttpsCertificateData","returnType":"Promise\u003CHttpsCertificateExecutionConfigurationExportData\u003E","summary":"Gets HTTPS certificate execution-configuration data when present."}]},{"id":"interface:ExternalServiceResource","kind":"interface","name":"ExternalServiceResource","typeId":"Aspire.Hosting/Aspire.Hosting.ExternalServiceResource","owningAssembly":"Aspire.Hosting","declaration":"export interface ExternalServiceResource extends ResourceBuilderBase","extends":["ResourceBuilderBase"],"members":[{"id":"method:ExternalServiceResource.withContainerRegistry","kind":"method","name":"withContainerRegistry","declaration":"withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withContainerRegistry","returnType":"ExternalServiceResourcePromise","summary":"Configures the resource to use the specified container registry for container image operations.","remarks":"This method adds a \u0060ContainerRegistryReferenceAnnotation\u0060 to the resource,\nindicating that the resource should use the specified container registry for container image operations.","parameters":[{"name":"registry","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The container registry resource builder."}]},{"id":"method:ExternalServiceResource.withDockerfileBaseImage","kind":"method","name":"withDockerfileBaseImage","declaration":"withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withDockerfileBaseImage","returnType":"ExternalServiceResourcePromise","summary":"Configures custom base images for generated Dockerfiles.","remarks":"This extension method allows customization of the base images used in generated Dockerfiles.\nFor multi-stage Dockerfiles (e.g., Python with UV), you can specify separate build and runtime images.\nSpecify custom base images for a Python application:\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddPythonApp(\u0022myapp\u0022, \u0022path/to/app\u0022, \u0022main.py\u0022)\n.WithDockerfileBaseImage(\nbuildImage: \u0022ghcr.io/astral-sh/uv:python3.12-bookworm-slim\u0022,\nruntimeImage: \u0022python:3.12-slim-bookworm\u0022);\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"buildImage","type":"string","optional":true,"summary":"The base image to use for the build stage. If null, uses the default build image."},{"name":"runtimeImage","type":"string","optional":true,"summary":"The base image to use for the runtime stage. If null, uses the default runtime image."}]},{"id":"method:ExternalServiceResource.withHttpHealthCheck","kind":"method","name":"withHttpHealthCheck","declaration":"withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withExternalServiceHttpHealthCheck","returnType":"ExternalServiceResourcePromise","summary":"Adds an HTTP health check to the external service for polyglot app hosts.","parameters":[{"name":"path","type":"string","optional":true},{"name":"statusCode","type":"number","optional":true},{"name":"endpointName","type":"string","optional":true}]},{"id":"method:ExternalServiceResource.withRequiredCommand","kind":"method","name":"withRequiredCommand","declaration":"withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommand","returnType":"ExternalServiceResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start.","remarks":"The command is considered valid if either:\n1. It is an absolute or relative path (contains a directory separator) that points to an existing file, or\n2. It is discoverable on the current process PATH (respecting PATHEXT on Windows).\nIf the command is not found, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing."}]},{"id":"method:ExternalServiceResource.withRequiredCommandValidation","kind":"method","name":"withRequiredCommandValidation","declaration":"withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommandValidation","returnType":"ExternalServiceResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start, with custom validation logic.","remarks":"The command is first resolved to a full path. If found, the validation callback is invoked with the context containing the resolved path and service provider.\nThe callback should return a \u0060RequiredCommandValidationResult\u0060 indicating whether the command is valid,\nwhich can be created via \u0060Success\u0060 or \u0060Failure\u0060.\nIf the command is not found or fails validation, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"validationCallback","type":"(arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E","optional":false,"summary":"A callback that validates the resolved command path. Receives a \u0060RequiredCommandValidationContext\u0060 and returns a \u0060RequiredCommandValidationResult\u0060."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing or fails validation."}]},{"id":"method:ExternalServiceResource.withSessionLifetime","kind":"method","name":"withSessionLifetime","declaration":"withSessionLifetime(): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withSessionLifetime","returnType":"ExternalServiceResourcePromise","summary":"Configures a resource to use a session lifetime."},{"id":"method:ExternalServiceResource.withPersistentLifetime","kind":"method","name":"withPersistentLifetime","declaration":"withPersistentLifetime(): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withPersistentLifetime","returnType":"ExternalServiceResourcePromise","summary":"Configures a resource to use a persistent lifetime."},{"id":"method:ExternalServiceResource.withLifetimeOf","kind":"method","name":"withLifetimeOf","declaration":"withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withLifetimeOf","returnType":"ExternalServiceResourcePromise","summary":"Configures a resource to match the lifetime of another resource.","remarks":"The resource lifetime is evaluated from \u0060sourceBuilder\u0060 when the application model is prepared, so later lifetime\nchanges to the source resource are reflected by this resource.","parameters":[{"name":"sourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder whose lifetime should be used."}]},{"id":"method:ExternalServiceResource.withParentProcessLifetime","kind":"method","name":"withParentProcessLifetime","declaration":"withParentProcessLifetime(parentProcessId: number): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withParentProcessLifetime","returnType":"ExternalServiceResourcePromise","summary":"Configures a resource to use a persistent lifetime that ends when a parent process exits.","parameters":[{"name":"parentProcessId","type":"number","optional":false,"summary":"The ID of the parent process to monitor."}]},{"id":"method:ExternalServiceResource.withUrls","kind":"method","name":"withUrls","declaration":"withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withUrls","returnType":"ExternalServiceResourcePromise","summary":"Registers a callback to customize the URLs displayed for the resource.","parameters":[{"name":"callback","type":"(obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize URLs for the resource."}]},{"id":"method:ExternalServiceResource.withUrl","kind":"method","name":"withUrl","declaration":"withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withUrl","returnType":"ExternalServiceResourcePromise","summary":"Adds or modifies displayed URLs","parameters":[{"name":"url","type":"string | ReferenceExpression","optional":false},{"name":"displayText","type":"string","optional":true}]},{"id":"method:ExternalServiceResource.withUrlForEndpoint","kind":"method","name":"withUrlForEndpoint","declaration":"withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withUrlForEndpoint","returnType":"ExternalServiceResourcePromise","summary":"Registers a callback to update the URL displayed for the endpoint with the specified name.","parameters":[{"name":"endpointName","type":"string","optional":false,"summary":"The name of the endpoint to customize the URL for."},{"name":"callback","type":"(obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize the URL."}]},{"id":"method:ExternalServiceResource.excludeFromManifest","kind":"method","name":"excludeFromManifest","declaration":"excludeFromManifest(): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/excludeFromManifest","returnType":"ExternalServiceResourcePromise","summary":"Excludes a resource from being published to the manifest."},{"id":"method:ExternalServiceResource.withExplicitStart","kind":"method","name":"withExplicitStart","declaration":"withExplicitStart(): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withExplicitStart","returnType":"ExternalServiceResourcePromise","summary":"Prevents resource from starting automatically"},{"id":"method:ExternalServiceResource.withHealthCheck","kind":"method","name":"withHealthCheck","declaration":"withHealthCheck(key: string): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withHealthCheck","returnType":"ExternalServiceResourcePromise","summary":"Adds a health check by key","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key for the health check."}]},{"id":"method:ExternalServiceResource.withCommand","kind":"method","name":"withCommand","declaration":"withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withCommand","returnType":"ExternalServiceResourcePromise","summary":"Adds a resource command","remarks":"The \u0060WithCommand\u0060 method is used to add commands to the resource. Commands are displayed in the dashboard\nand can be executed by a user using the dashboard UI.\nWhen a command is executed, the \u0060executeCommand\u0060 callback is called and is run inside the Aspire host.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the command. The name uniquely identifies the command."},{"name":"displayName","type":"string","optional":false,"summary":"The display name visible in UI."},{"name":"executeCommand","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E","optional":false,"summary":"A callback that is executed when the command is executed. The callback is run inside the Aspire host. The callback result is used to indicate success or failure in the UI."},{"name":"commandOptions","type":"CommandOptions","optional":true,"summary":"Optional configuration for the command."}]},{"id":"method:ExternalServiceResource.withProcessCommand","kind":"method","name":"withProcessCommand","declaration":"withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommand","returnType":"ExternalServiceResourcePromise","summary":"Adds a command to the resource that starts a local process when invoked.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"ProcessCommandExportOptions","optional":false}]},{"id":"method:ExternalServiceResource.withProcessCommandFactory","kind":"method","name":"withProcessCommandFactory","declaration":"withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommandFactory","returnType":"ExternalServiceResourcePromise","summary":"Adds a command to the resource that starts a local process created by a callback when invoked.","deprecated":"Use withProcessCommand with createProcessSpec in the options object instead.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"createProcessSpec","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E","optional":false},{"name":"options","type":"ProcessCommandResultExportOptions","optional":true}]},{"id":"method:ExternalServiceResource.subscribeHttpsEndpointsUpdate","kind":"method","name":"subscribeHttpsEndpointsUpdate","declaration":"subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/subscribeHttpsEndpointsUpdate","returnType":"ExternalServiceResourcePromise","summary":"Subscribes to the \u0060BeforeStartEvent\u0060 and invokes the specified callback when an HTTPS certificate is determined to be available for the resource. This is used to conditionally update endpoint URI schemes or perform other HTTPS-related configuration at startup.","remarks":"The callback is invoked when either:\n-\n-\nSwitch an endpoint to HTTPS when a certificate is available:\n\u0060\u0060\u0060\nbuilder.SubscribeHttpsEndpointsUpdate(ctx =\u003E\n{\nbuilder.WithEndpoint(\u0022http\u0022, ep =\u003E ep.UriScheme = \u0022https\u0022);\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when HTTPS is enabled. Receives an \u0060HttpsEndpointUpdateCallbackContext\u0060 providing access to the service provider, resource, and application model."}]},{"id":"method:ExternalServiceResource.withRelationship","kind":"method","name":"withRelationship","declaration":"withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withBuilderRelationship","returnType":"ExternalServiceResourcePromise","summary":"Adds a relationship to another resource using its builder.","parameters":[{"name":"resourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder that the relationship is to."},{"name":"type","type":"string","optional":false,"summary":"The relationship type."}]},{"id":"method:ExternalServiceResource.withParentRelationship","kind":"method","name":"withParentRelationship","declaration":"withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withBuilderParentRelationship","returnType":"ExternalServiceResourcePromise","summary":"Sets the parent relationship","parameters":[{"name":"parent","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The parent of \u0060builder\u0060."}]},{"id":"method:ExternalServiceResource.withChildRelationship","kind":"method","name":"withChildRelationship","declaration":"withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withBuilderChildRelationship","returnType":"ExternalServiceResourcePromise","summary":"Sets a child relationship","parameters":[{"name":"child","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The child of \u0060builder\u0060."}]},{"id":"method:ExternalServiceResource.withIconName","kind":"method","name":"withIconName","declaration":"withIconName(iconName: string, options?: WithIconNameOptions): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withIconName","returnType":"ExternalServiceResourcePromise","summary":"Specifies the icon to use when displaying the resource in the dashboard.","parameters":[{"name":"iconName","type":"string","optional":false,"summary":"The name of the FluentUI icon to use. See https://aka.ms/fluentui-system-icons for available icons."},{"name":"iconVariant","type":"IconVariant","optional":true,"summary":"The variant of the icon (Regular or Filled). Defaults to Filled."}]},{"id":"method:ExternalServiceResource.excludeFromMcp","kind":"method","name":"excludeFromMcp","declaration":"excludeFromMcp(): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/excludeFromMcp","returnType":"ExternalServiceResourcePromise","summary":"Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry."},{"id":"method:ExternalServiceResource.withHidden","kind":"method","name":"withHidden","declaration":"withHidden(): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withHidden","returnType":"ExternalServiceResourcePromise","summary":"Hides the resource from default resource lists","remarks":"Use this method to hide resources that are implementation details and should never be displayed by default.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI."},{"id":"method:ExternalServiceResource.withHiddenOnCompletion","kind":"method","name":"withHiddenOnCompletion","declaration":"withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withHiddenOnCompletion","returnType":"ExternalServiceResourcePromise","summary":"Hides the resource from default resource lists after successful completion","remarks":"This method is useful for one-off resources such as setup scripts, migrations, or build steps that should remain visible while running\nand then be hidden after successful completion.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI.","parameters":[{"name":"exitCode","type":"number","optional":true,"summary":"The completion exit code to treat as successful. Defaults to \u00600\u0060."},{"name":"exitCodes","type":"number[]","optional":true,"summary":"Completion exit codes to treat as successful. If no values are provided, \u00600\u0060 is used."}]},{"id":"method:ExternalServiceResource.withTerminal","kind":"method","name":"withTerminal","declaration":"withTerminal(): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withTerminal","returnType":"ExternalServiceResourcePromise","summary":"Adds an interactive terminal session to a resource using the default terminal options."},{"id":"method:ExternalServiceResource.withPipelineStepFactory","kind":"method","name":"withPipelineStepFactory","declaration":"withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withPipelineStepFactory","returnType":"ExternalServiceResourcePromise","summary":"Adds a pipeline step to the resource that will be executed during deployment.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The unique name of the pipeline step."},{"name":"callback","type":"(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to execute when the step runs."},{"name":"dependsOn","type":"string[]","optional":true,"summary":"Optional step names that this step depends on."},{"name":"requiredBy","type":"string[]","optional":true,"summary":"Optional step names that require this step."},{"name":"tags","type":"string[]","optional":true,"summary":"Optional tags that categorize this step."},{"name":"description","type":"string","optional":true,"summary":"An optional human-readable description of the step."}]},{"id":"method:ExternalServiceResource.withPipelineConfiguration","kind":"method","name":"withPipelineConfiguration","declaration":"withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withPipelineConfiguration","returnType":"ExternalServiceResourcePromise","summary":"Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.","parameters":[{"name":"callback","type":"(obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback function to execute during the configuration phase."}]},{"id":"method:ExternalServiceResource.getResourceName","kind":"method","name":"getResourceName","declaration":"getResourceName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getResourceName","returnType":"Promise\u003Cstring\u003E","summary":"Gets the name of the resource from a builder.","remarks":"Why this wrapper exists: This capability accesses a nested property\n(\u0060resource.Resource.Name\u0060) which requires a wrapper method. There is no single\n.NET method that returns just the resource name that could be annotated directly."},{"id":"method:ExternalServiceResource.onBeforeResourceStarted","kind":"method","name":"onBeforeResourceStarted","declaration":"onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/onBeforeResourceStarted","returnType":"ExternalServiceResourcePromise","summary":"Subscribes to the BeforeResourceStarted event.","parameters":[{"name":"callback","type":"(arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ExternalServiceResource.onResourceStopped","kind":"method","name":"onResourceStopped","declaration":"onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/onResourceStopped","returnType":"ExternalServiceResourcePromise","summary":"Subscribes to the ResourceStopped event.","parameters":[{"name":"callback","type":"(arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ExternalServiceResource.onInitializeResource","kind":"method","name":"onInitializeResource","declaration":"onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/onInitializeResource","returnType":"ExternalServiceResourcePromise","summary":"Subscribes to the InitializeResource event.","parameters":[{"name":"callback","type":"(arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ExternalServiceResource.onResourceReady","kind":"method","name":"onResourceReady","declaration":"onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/onResourceReady","returnType":"ExternalServiceResourcePromise","summary":"Subscribes to the ResourceReady event.","parameters":[{"name":"callback","type":"(arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ExternalServiceResource.createExecutionConfiguration","kind":"method","name":"createExecutionConfiguration","declaration":"createExecutionConfiguration(): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/createExecutionConfiguration","returnType":"ExecutionConfigurationBuilderPromise","summary":"Creates an execution configuration builder for the specified resource."},{"id":"method:ExternalServiceResource.withContainerBuildOptions","kind":"method","name":"withContainerBuildOptions","declaration":"withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise","capabilityId":"Aspire.Hosting/withContainerBuildOptions","returnType":"ExternalServiceResourcePromise","summary":"Configures container build options for a compute resource using an async callback.","parameters":[{"name":"callback","type":"(arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"An async callback to configure container build options."}]}]},{"id":"interface:HttpCommandPrepareRequestContext","kind":"interface","name":"HttpCommandPrepareRequestContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.HttpCommandPrepareRequestContext","owningAssembly":"Aspire.Hosting","declaration":"export interface HttpCommandPrepareRequestContext","summary":"Provides context for HTTP command prepare-request callbacks in polyglot app hosts.","members":[{"id":"property:HttpCommandPrepareRequestContext.resourceName","kind":"property","name":"resourceName","declaration":"resourceName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/HttpCommandPrepareRequestContext.resourceName","summary":"The name of the resource the command was configured on."},{"id":"property:HttpCommandPrepareRequestContext.endpoint","kind":"property","name":"endpoint","declaration":"endpoint(): EndpointReferencePromise","capabilityId":"Aspire.Hosting.ApplicationModel/HttpCommandPrepareRequestContext.endpoint","summary":"The endpoint the request is targeting."},{"id":"property:HttpCommandPrepareRequestContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/HttpCommandPrepareRequestContext.cancellationToken","summary":"The cancellation token."},{"id":"property:HttpCommandPrepareRequestContext.arguments","kind":"property","name":"arguments","declaration":"arguments(): InteractionInputCollectionPromise","capabilityId":"Aspire.Hosting.ApplicationModel/HttpCommandPrepareRequestContext.arguments","summary":"Gets the invocation arguments supplied by the client when the command is executed."}]},{"id":"interface:HttpsCertificateConfigurationCallbackAnnotationContext","kind":"interface","name":"HttpsCertificateConfigurationCallbackAnnotationContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.HttpsCertificateConfigurationCallbackAnnotationContext","owningAssembly":"Aspire.Hosting","declaration":"export interface HttpsCertificateConfigurationCallbackAnnotationContext","summary":"Context provided to a \u0060HttpsCertificateConfigurationCallbackAnnotation\u0060 callback.","members":[{"id":"property:HttpsCertificateConfigurationCallbackAnnotationContext.executionContext","kind":"property","name":"executionContext","declaration":"executionContext(): DistributedApplicationExecutionContextPromise","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsCertificateConfigurationCallbackAnnotationContext.executionContext","summary":"Gets the \u0060DistributedApplicationExecutionContext\u0060 for this session."},{"id":"property:HttpsCertificateConfigurationCallbackAnnotationContext.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsCertificateConfigurationCallbackAnnotationContext.resource","summary":"Gets the resource to which the annotation is applied."},{"id":"property:HttpsCertificateConfigurationCallbackAnnotationContext.certificatePath","kind":"property","name":"certificatePath","declaration":"certificatePath(): Promise\u003CReferenceExpression\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsCertificateConfigurationCallbackAnnotationContext.certificatePath","summary":"A value provider that will resolve to a path to the certificate file."},{"id":"property:HttpsCertificateConfigurationCallbackAnnotationContext.keyPath","kind":"property","name":"keyPath","declaration":"keyPath(): Promise\u003CReferenceExpression\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsCertificateConfigurationCallbackAnnotationContext.keyPath","summary":"A value provider that will resolve to a path to the private key for the certificate."},{"id":"property:HttpsCertificateConfigurationCallbackAnnotationContext.certificateWithKeyPath","kind":"property","name":"certificateWithKeyPath","declaration":"certificateWithKeyPath(): Promise\u003CReferenceExpression\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsCertificateConfigurationCallbackAnnotationContext.certificateWithKeyPath","summary":"A value provider that will resolve to a path to the certificate and key concatenated together in PEM format."},{"id":"property:HttpsCertificateConfigurationCallbackAnnotationContext.pfxPath","kind":"property","name":"pfxPath","declaration":"pfxPath(): Promise\u003CReferenceExpression\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsCertificateConfigurationCallbackAnnotationContext.pfxPath","summary":"A value provider that will resolve to a path to a PFX file for the key pair."},{"id":"property:HttpsCertificateConfigurationCallbackAnnotationContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsCertificateConfigurationCallbackAnnotationContext.cancellationToken","summary":"Gets the \u0060CancellationToken\u0060 that can be used to cancel the operation."},{"id":"property:HttpsCertificateConfigurationCallbackAnnotationContext.arguments","kind":"property","name":"arguments","declaration":"arguments(): CommandLineArgsEditorPromise","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsCertificateConfigurationCallbackAnnotationContext.arguments","summary":"Gets the editor used to manipulate the command-line arguments in polyglot callbacks."},{"id":"property:HttpsCertificateConfigurationCallbackAnnotationContext.environment","kind":"property","name":"environment","declaration":"environment(): EnvironmentEditorPromise","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsCertificateConfigurationCallbackAnnotationContext.environment","summary":"Gets the editor used to set environment variables in polyglot callbacks."}]},{"id":"interface:HttpsEndpointUpdateCallbackContext","kind":"interface","name":"HttpsEndpointUpdateCallbackContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.HttpsEndpointUpdateCallbackContext","owningAssembly":"Aspire.Hosting","declaration":"export interface HttpsEndpointUpdateCallbackContext","summary":"Context provided to the callback of \u0060SubscribeHttpsEndpointsUpdate\u0060\u00601\u0060 when an HTTPS certificate is determined to be available for the resource.","members":[{"id":"property:HttpsEndpointUpdateCallbackContext.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsEndpointUpdateCallbackContext.services","summary":"Gets the \u0060IServiceProvider\u0060 instance from the application."},{"id":"property:HttpsEndpointUpdateCallbackContext.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsEndpointUpdateCallbackContext.resource","summary":"Gets the \u0060IResource\u0060 that is being configured for HTTPS."},{"id":"property:HttpsEndpointUpdateCallbackContext.model","kind":"property","name":"model","declaration":"model(): DistributedApplicationModelPromise","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsEndpointUpdateCallbackContext.model","summary":"Gets the \u0060DistributedApplicationModel\u0060 instance."},{"id":"property:HttpsEndpointUpdateCallbackContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/HttpsEndpointUpdateCallbackContext.cancellationToken","summary":"Gets the \u0060CancellationToken\u0060 for the operation."}]},{"id":"interface:InitializeResourceEvent","kind":"interface","name":"InitializeResourceEvent","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent","owningAssembly":"Aspire.Hosting","declaration":"export interface InitializeResourceEvent","summary":"This event is raised by orchestrators to signal to resources that they should initialize themselves.","remarks":"Custom resources can subscribe to this event to perform initialization tasks, including starting background tasks\nthat manage the resource\u0027s lifecycle.","members":[{"id":"property:InitializeResourceEvent.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/InitializeResourceEvent.resource"},{"id":"property:InitializeResourceEvent.eventing","kind":"property","name":"eventing","declaration":"eventing(): DistributedApplicationEventingPromise","capabilityId":"Aspire.Hosting.ApplicationModel/InitializeResourceEvent.eventing","summary":"The \u0060IDistributedApplicationEventing\u0060 service for the app host."},{"id":"property:InitializeResourceEvent.logger","kind":"property","name":"logger","declaration":"logger(): LoggerPromise","capabilityId":"Aspire.Hosting.ApplicationModel/InitializeResourceEvent.logger","summary":"An instance of \u0060ILogger\u0060 that can be used to log messages for the resource."},{"id":"property:InitializeResourceEvent.notifications","kind":"property","name":"notifications","declaration":"notifications(): ResourceNotificationServicePromise","capabilityId":"Aspire.Hosting.ApplicationModel/InitializeResourceEvent.notifications","summary":"The \u0060ResourceNotificationService\u0060 for the app host."},{"id":"property:InitializeResourceEvent.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/InitializeResourceEvent.services","summary":"The \u0060IServiceProvider\u0060 for the app host."}]},{"id":"interface:InputsDialogValidationContext","kind":"interface","name":"InputsDialogValidationContext","typeId":"Aspire.Hosting/Aspire.Hosting.InputsDialogValidationContext","owningAssembly":"Aspire.Hosting","declaration":"export interface InputsDialogValidationContext","summary":"Represents the context for validating inputs in an inputs dialog interaction.","members":[{"id":"property:InputsDialogValidationContext.inputs","kind":"property","name":"inputs","declaration":"inputs(): InteractionInputCollectionPromise","capabilityId":"Aspire.Hosting/InputsDialogValidationContext.inputs","summary":"Gets the inputs that are being validated."},{"id":"property:InputsDialogValidationContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting/InputsDialogValidationContext.cancellationToken","summary":"Gets the cancellation token for the validation operation."},{"id":"property:InputsDialogValidationContext.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting/InputsDialogValidationContext.services","summary":"Gets the service provider for resolving services during validation."},{"id":"method:InputsDialogValidationContext.addValidationError","kind":"method","name":"addValidationError","declaration":"addValidationError(inputName: string, errorMessage: string): InputsDialogValidationContextPromise","capabilityId":"Aspire.Hosting/InputsDialogValidationContext.addValidationError","returnType":"InputsDialogValidationContextPromise","summary":"Adds a validation error for the input with the specified name.","parameters":[{"name":"inputName","type":"string","optional":false,"summary":"The name of the input to add a validation error for."},{"name":"errorMessage","type":"string","optional":false,"summary":"The error message to add."}]}]},{"id":"interface:InputsInteractionResult","kind":"interface","name":"InputsInteractionResult","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.InputsInteractionResult","owningAssembly":"Aspire.Hosting","declaration":"export interface InputsInteractionResult","summary":"The result of a multi-input interaction prompt.","remarks":"Modeled as a handle (not a by-value DTO) so the returned inputs are surfaced as the\n\u0060InteractionInputCollection\u0060 handle. That lets polyglot callers reuse the same name-based\naccessors (for example \u0060result.inputs().value(\u0022color\u0022)\u0060) that the validation and command-argument\ncollections already expose, instead of having to scan a serialized array by hand.","members":[{"id":"property:InputsInteractionResult.canceled","kind":"property","name":"canceled","declaration":"canceled(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.Ats/InputsInteractionResult.canceled","summary":"Gets a value indicating whether the interaction was canceled by the user."},{"id":"property:InputsInteractionResult.inputs","kind":"property","name":"inputs","declaration":"inputs(): InteractionInputCollectionPromise","capabilityId":"Aspire.Hosting.Ats/InputsInteractionResult.inputs","summary":"Gets the inputs returned from the interaction. Empty when \u0060Canceled\u0060 is \u0060true\u0060."}]},{"id":"interface:InteractionInputBuilder","kind":"interface","name":"InteractionInputBuilder","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.InteractionInputBuilder","owningAssembly":"Aspire.Hosting","declaration":"export interface InteractionInputBuilder","summary":"An opaque, server-side builder for an \u0060InteractionInput\u0060 used by polyglot app hosts.","remarks":"The builder owns the live \u0060InteractionInput\u0060 instance. Dynamic-loading callbacks mutate this same\ninstance through \u0060InteractionInputLoadContext\u0060, which is why the input is modeled as a handle here\ninstead of the by-value \u0060InteractionInput\u0060 DTO.","members":[{"id":"method:InteractionInputBuilder.withChoiceOptions","kind":"method","name":"withChoiceOptions","declaration":"withChoiceOptions(choices: InteractionChoiceOption[]): InteractionInputBuilderPromise","capabilityId":"Aspire.Hosting.Ats/withChoiceOptions","returnType":"InteractionInputBuilderPromise","summary":"Sets the choice options for the input.","parameters":[{"name":"choices","type":"InteractionChoiceOption[]","optional":false,"summary":"The available choices, in display order. Each option pairs a submitted value with a display label."}]},{"id":"method:InteractionInputBuilder.withValue","kind":"method","name":"withValue","declaration":"withValue(value: string): InteractionInputBuilderPromise","capabilityId":"Aspire.Hosting.Ats/withValue","returnType":"InteractionInputBuilderPromise","summary":"Sets the value of the input.","parameters":[{"name":"value","type":"string","optional":false,"summary":"The value to assign."}]},{"id":"method:InteractionInputBuilder.withDynamicLoading","kind":"method","name":"withDynamicLoading","declaration":"withDynamicLoading(callback: (arg: InteractionInputLoadContext) =\u003E Promise\u003Cvoid\u003E, options?: DynamicLoadingOptions): InteractionInputBuilderPromise","capabilityId":"Aspire.Hosting.Ats/withDynamicLoading","returnType":"InteractionInputBuilderPromise","summary":"Attaches a callback that dynamically loads or updates the input after the prompt starts.","parameters":[{"name":"callback","type":"(arg: InteractionInputLoadContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback invoked to load the input. Use the supplied context to read other inputs and update this input."},{"name":"options","type":"DynamicLoadingOptions","optional":true,"summary":"Optional configuration that controls when the callback runs."}]}]},{"id":"interface:InteractionInputLoadContext","kind":"interface","name":"InteractionInputLoadContext","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.InteractionInputLoadContext","owningAssembly":"Aspire.Hosting","declaration":"export interface InteractionInputLoadContext","summary":"The context passed to a polyglot dynamic-loading callback. Exposes the loading input as a handle and provides read access to the other inputs in the prompt.","members":[{"id":"property:InteractionInputLoadContext.inputs","kind":"property","name":"inputs","declaration":"inputs(): InteractionInputCollectionPromise","capabilityId":"Aspire.Hosting.Ats/InteractionInputLoadContext.inputs","summary":"Gets all inputs in the prompt, including the one currently loading.","remarks":"Mirrors the native \u0060LoadInputContext.AllInputs\u0060. Use the collection\u0027s by-name accessors (for example\n\u0060value\u0060 or \u0060requiredValue\u0060) to read the dependency inputs declared via\n\u0060DependsOnInputs\u0060. This is the same \u0060InteractionInputCollection\u0060\nidiom used by the validation callback and prompt results, so reading inputs by name is consistent across every\ncallback context. This is exposed as a property (rather than a method) so it routes through the generated\ncollection accessor, matching the other contexts that surface an \u0060InteractionInputCollection\u0060."},{"id":"method:InteractionInputLoadContext.input","kind":"method","name":"input","declaration":"input(): InteractionLoadingInputPromise","capabilityId":"Aspire.Hosting.Ats/input","returnType":"InteractionLoadingInputPromise","summary":"Gets a handle to the input that is loading. Mutate the input through this handle.","remarks":"Mirrors the native \u0060LoadInputContext.Input\u0060: the callback updates the live input it is loading, rather than\nthe context itself. The input is a handle (not a by-value DTO) so guarded setters route back to the server-side\ninput across the ATS boundary."}]},{"id":"interface:InteractionLoadingInput","kind":"interface","name":"InteractionLoadingInput","typeId":"Aspire.Hosting/Aspire.Hosting.Ats.InteractionLoadingInput","owningAssembly":"Aspire.Hosting","declaration":"export interface InteractionLoadingInput","summary":"A handle to the input currently being loaded by a dynamic-loading callback. Mirrors the native \u0060LoadInputContext.Input\u0060 by letting callbacks update the live input directly.","remarks":"The handle owns the live \u0060InteractionInput\u0060 for the duration of the load callback. Setters are routed\nback to the server-side input across the ATS boundary, which is why this is a handle rather than the by-value\n\u0060InteractionInput\u0060 DTO.","members":[{"id":"method:InteractionLoadingInput.getName","kind":"method","name":"getName","declaration":"getName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.Ats/getName","returnType":"Promise\u003Cstring\u003E","summary":"Gets the name of the input."},{"id":"method:InteractionLoadingInput.setChoiceOptions","kind":"method","name":"setChoiceOptions","declaration":"setChoiceOptions(choices: InteractionChoiceOption[]): InteractionLoadingInputPromise","capabilityId":"Aspire.Hosting.Ats/setChoiceOptions","returnType":"InteractionLoadingInputPromise","summary":"Sets the choice options for the input.","parameters":[{"name":"choices","type":"InteractionChoiceOption[]","optional":false,"summary":"The available choices, in display order. Each option pairs a submitted value with a display label."}]},{"id":"method:InteractionLoadingInput.setValue","kind":"method","name":"setValue","declaration":"setValue(value: string): InteractionLoadingInputPromise","capabilityId":"Aspire.Hosting.Ats/setValue","returnType":"InteractionLoadingInputPromise","summary":"Sets the value of the input.","parameters":[{"name":"value","type":"string","optional":false,"summary":"The value to assign."}]}]},{"id":"interface:InteractionService","kind":"interface","name":"InteractionService","typeId":"Aspire.Hosting/Aspire.Hosting.IInteractionService","owningAssembly":"Aspire.Hosting","declaration":"export interface InteractionService","summary":"A service to interact with the current development environment.","members":[{"id":"method:InteractionService.isAvailable","kind":"method","name":"isAvailable","declaration":"isAvailable(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting/isAvailable","returnType":"Promise\u003Cboolean\u003E","summary":"Gets a value indicating whether the interaction service is available to prompt the user."},{"id":"method:InteractionService.promptConfirmation","kind":"method","name":"promptConfirmation","declaration":"promptConfirmation(title: string, message: string, options?: InteractionMessageBoxOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CBoolInteractionResult\u003E","capabilityId":"Aspire.Hosting/promptConfirmation","returnType":"Promise\u003CBoolInteractionResult\u003E","summary":"Prompts the user for confirmation with an OK/Cancel dialog.","parameters":[{"name":"title","type":"string","optional":false},{"name":"message","type":"string","optional":false},{"name":"options","type":"InteractionMessageBoxOptions","optional":true},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:InteractionService.promptMessageBox","kind":"method","name":"promptMessageBox","declaration":"promptMessageBox(title: string, message: string, options?: InteractionMessageBoxOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CBoolInteractionResult\u003E","capabilityId":"Aspire.Hosting/promptMessageBox","returnType":"Promise\u003CBoolInteractionResult\u003E","summary":"Prompts the user with a message box dialog.","parameters":[{"name":"title","type":"string","optional":false},{"name":"message","type":"string","optional":false},{"name":"options","type":"InteractionMessageBoxOptions","optional":true},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:InteractionService.promptNotification","kind":"method","name":"promptNotification","declaration":"promptNotification(title: string, message: string, options?: InteractionNotificationOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CBoolInteractionResult\u003E","capabilityId":"Aspire.Hosting/promptNotification","returnType":"Promise\u003CBoolInteractionResult\u003E","summary":"Prompts the user with a notification.","parameters":[{"name":"title","type":"string","optional":false},{"name":"message","type":"string","optional":false},{"name":"options","type":"InteractionNotificationOptions","optional":true},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:InteractionService.promptProgress","kind":"method","name":"promptProgress","declaration":"promptProgress(message: string, options?: PromptProgressOptions): Promise\u003CBoolInteractionResult\u003E","capabilityId":"Aspire.Hosting/promptProgress","returnType":"Promise\u003CBoolInteractionResult\u003E","summary":"Displays a progress dialog with an indeterminate progress indicator.","parameters":[{"name":"message","type":"string","optional":false},{"name":"title","type":"string","optional":true},{"name":"options","type":"InteractionProgressOptions","optional":true},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:InteractionService.promptInput","kind":"method","name":"promptInput","declaration":"promptInput(title: string, message: string, input: Awaitable\u003CInteractionInputBuilder\u003E, options?: InteractionInputsDialogOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CInputInteractionResult\u003E","capabilityId":"Aspire.Hosting/promptInput","returnType":"Promise\u003CInputInteractionResult\u003E","summary":"Prompts the user for a single input.","parameters":[{"name":"title","type":"string","optional":false},{"name":"message","type":"string","optional":false},{"name":"input","type":"Awaitable\u003CInteractionInputBuilder\u003E","optional":false},{"name":"options","type":"InteractionInputsDialogOptions","optional":true},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:InteractionService.promptInputs","kind":"method","name":"promptInputs","declaration":"promptInputs(title: string, message: string, inputs: InteractionInputBuilder[], options?: InteractionInputsDialogOptions, cancellationToken?: AbortSignal | CancellationToken): InputsInteractionResultPromise","capabilityId":"Aspire.Hosting/promptInputs","returnType":"InputsInteractionResultPromise","summary":"Prompts the user for multiple inputs.","parameters":[{"name":"title","type":"string","optional":false},{"name":"message","type":"string","optional":false},{"name":"inputs","type":"InteractionInputBuilder[]","optional":false},{"name":"options","type":"InteractionInputsDialogOptions","optional":true},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:InteractionService.createTextInput","kind":"method","name":"createTextInput","declaration":"createTextInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise","capabilityId":"Aspire.Hosting/createTextInput","returnType":"InteractionInputBuilderPromise","summary":"Creates a single-line text input.","parameters":[{"name":"name","type":"string","optional":false},{"name":"options","type":"CreateInteractionInputOptions","optional":true}]},{"id":"method:InteractionService.createSecretInput","kind":"method","name":"createSecretInput","declaration":"createSecretInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise","capabilityId":"Aspire.Hosting/createSecretInput","returnType":"InteractionInputBuilderPromise","summary":"Creates a secret (masked) text input.","parameters":[{"name":"name","type":"string","optional":false},{"name":"options","type":"CreateInteractionInputOptions","optional":true}]},{"id":"method:InteractionService.createBooleanInput","kind":"method","name":"createBooleanInput","declaration":"createBooleanInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise","capabilityId":"Aspire.Hosting/createBooleanInput","returnType":"InteractionInputBuilderPromise","summary":"Creates a boolean (checkbox) input.","parameters":[{"name":"name","type":"string","optional":false},{"name":"options","type":"CreateInteractionInputOptions","optional":true}]},{"id":"method:InteractionService.createNumberInput","kind":"method","name":"createNumberInput","declaration":"createNumberInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise","capabilityId":"Aspire.Hosting/createNumberInput","returnType":"InteractionInputBuilderPromise","summary":"Creates a numeric input.","parameters":[{"name":"name","type":"string","optional":false},{"name":"options","type":"CreateInteractionInputOptions","optional":true}]},{"id":"method:InteractionService.createFileInput","kind":"method","name":"createFileInput","declaration":"createFileInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise","capabilityId":"Aspire.Hosting/createFileInput","returnType":"InteractionInputBuilderPromise","summary":"Creates a file input.","parameters":[{"name":"name","type":"string","optional":false},{"name":"options","type":"CreateInteractionInputOptions","optional":true}]},{"id":"method:InteractionService.createChoiceInput","kind":"method","name":"createChoiceInput","declaration":"createChoiceInput(name: string, options?: CreateChoiceInputOptions): InteractionInputBuilderPromise","capabilityId":"Aspire.Hosting/createChoiceInput","returnType":"InteractionInputBuilderPromise","summary":"Creates a choice input that selects from a list of options.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the input."},{"name":"choices","type":"InteractionChoiceOption[]","optional":true,"summary":"The available choices, in display order. Each option pairs a submitted value with a display label."},{"name":"options","type":"CreateInteractionInputOptions","optional":true,"summary":"Optional configuration for the input."}]}]},{"id":"interface:LogFacade","kind":"interface","name":"LogFacade","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.LogFacade","owningAssembly":"Aspire.Hosting","declaration":"export interface LogFacade","summary":"Provides a narrow logging surface for polyglot callback contexts.","members":[{"id":"method:LogFacade.info","kind":"method","name":"info","declaration":"info(message: string): LogFacadePromise","capabilityId":"Aspire.Hosting.ApplicationModel/info","returnType":"LogFacadePromise","summary":"Writes an informational log message.","parameters":[{"name":"message","type":"string","optional":false,"summary":"The message to write."}]},{"id":"method:LogFacade.warning","kind":"method","name":"warning","declaration":"warning(message: string): LogFacadePromise","capabilityId":"Aspire.Hosting.ApplicationModel/warning","returnType":"LogFacadePromise","summary":"Writes a warning log message.","parameters":[{"name":"message","type":"string","optional":false,"summary":"The message to write."}]},{"id":"method:LogFacade.error","kind":"method","name":"error","declaration":"error(message: string): LogFacadePromise","capabilityId":"Aspire.Hosting.ApplicationModel/error","returnType":"LogFacadePromise","summary":"Writes an error log message.","parameters":[{"name":"message","type":"string","optional":false,"summary":"The message to write."}]},{"id":"method:LogFacade.debug","kind":"method","name":"debug","declaration":"debug(message: string): LogFacadePromise","capabilityId":"Aspire.Hosting.ApplicationModel/debug","returnType":"LogFacadePromise","summary":"Writes a debug log message.","parameters":[{"name":"message","type":"string","optional":false,"summary":"The message to write."}]}]},{"id":"interface:ParameterResource","kind":"interface","name":"ParameterResource","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource","owningAssembly":"Aspire.Hosting","declaration":"export interface ParameterResource extends ResourceBuilderBase","summary":"Represents a parameter resource.","extends":["ResourceBuilderBase"],"members":[{"id":"method:ParameterResource.withContainerRegistry","kind":"method","name":"withContainerRegistry","declaration":"withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withContainerRegistry","returnType":"ParameterResourcePromise","summary":"Configures the resource to use the specified container registry for container image operations.","remarks":"This method adds a \u0060ContainerRegistryReferenceAnnotation\u0060 to the resource,\nindicating that the resource should use the specified container registry for container image operations.","parameters":[{"name":"registry","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The container registry resource builder."}]},{"id":"method:ParameterResource.withDockerfileBaseImage","kind":"method","name":"withDockerfileBaseImage","declaration":"withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withDockerfileBaseImage","returnType":"ParameterResourcePromise","summary":"Configures custom base images for generated Dockerfiles.","remarks":"This extension method allows customization of the base images used in generated Dockerfiles.\nFor multi-stage Dockerfiles (e.g., Python with UV), you can specify separate build and runtime images.\nSpecify custom base images for a Python application:\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddPythonApp(\u0022myapp\u0022, \u0022path/to/app\u0022, \u0022main.py\u0022)\n.WithDockerfileBaseImage(\nbuildImage: \u0022ghcr.io/astral-sh/uv:python3.12-bookworm-slim\u0022,\nruntimeImage: \u0022python:3.12-slim-bookworm\u0022);\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"buildImage","type":"string","optional":true,"summary":"The base image to use for the build stage. If null, uses the default build image."},{"name":"runtimeImage","type":"string","optional":true,"summary":"The base image to use for the runtime stage. If null, uses the default runtime image."}]},{"id":"method:ParameterResource.withDescription","kind":"method","name":"withDescription","declaration":"withDescription(description: string, options?: WithDescriptionOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withDescription","returnType":"ParameterResourcePromise","summary":"Sets the description of the parameter resource.","parameters":[{"name":"description","type":"string","optional":false,"summary":"The parameter description."},{"name":"enableMarkdown","type":"boolean","optional":true,"summary":"A value indicating whether the description should be rendered as Markdown. \u0060true\u0060 allows the description to contain Markdown elements such as links, text decoration and lists."}]},{"id":"method:ParameterResource.withCustomInput","kind":"method","name":"withCustomInput","declaration":"withCustomInput(options: ParameterCustomInputOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withCustomInput","returnType":"ParameterResourcePromise","summary":"Sets a custom input for the parameter resource from a polyglot app host.","parameters":[{"name":"options","type":"ParameterCustomInputOptions","optional":false,"summary":"Options used to customize the input for the parameter."}]},{"id":"method:ParameterResource.withRequiredCommand","kind":"method","name":"withRequiredCommand","declaration":"withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommand","returnType":"ParameterResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start.","remarks":"The command is considered valid if either:\n1. It is an absolute or relative path (contains a directory separator) that points to an existing file, or\n2. It is discoverable on the current process PATH (respecting PATHEXT on Windows).\nIf the command is not found, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing."}]},{"id":"method:ParameterResource.withRequiredCommandValidation","kind":"method","name":"withRequiredCommandValidation","declaration":"withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommandValidation","returnType":"ParameterResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start, with custom validation logic.","remarks":"The command is first resolved to a full path. If found, the validation callback is invoked with the context containing the resolved path and service provider.\nThe callback should return a \u0060RequiredCommandValidationResult\u0060 indicating whether the command is valid,\nwhich can be created via \u0060Success\u0060 or \u0060Failure\u0060.\nIf the command is not found or fails validation, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"validationCallback","type":"(arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E","optional":false,"summary":"A callback that validates the resolved command path. Receives a \u0060RequiredCommandValidationContext\u0060 and returns a \u0060RequiredCommandValidationResult\u0060."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing or fails validation."}]},{"id":"method:ParameterResource.withSessionLifetime","kind":"method","name":"withSessionLifetime","declaration":"withSessionLifetime(): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withSessionLifetime","returnType":"ParameterResourcePromise","summary":"Configures a resource to use a session lifetime."},{"id":"method:ParameterResource.withPersistentLifetime","kind":"method","name":"withPersistentLifetime","declaration":"withPersistentLifetime(): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withPersistentLifetime","returnType":"ParameterResourcePromise","summary":"Configures a resource to use a persistent lifetime."},{"id":"method:ParameterResource.withLifetimeOf","kind":"method","name":"withLifetimeOf","declaration":"withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withLifetimeOf","returnType":"ParameterResourcePromise","summary":"Configures a resource to match the lifetime of another resource.","remarks":"The resource lifetime is evaluated from \u0060sourceBuilder\u0060 when the application model is prepared, so later lifetime\nchanges to the source resource are reflected by this resource.","parameters":[{"name":"sourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder whose lifetime should be used."}]},{"id":"method:ParameterResource.withParentProcessLifetime","kind":"method","name":"withParentProcessLifetime","declaration":"withParentProcessLifetime(parentProcessId: number): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withParentProcessLifetime","returnType":"ParameterResourcePromise","summary":"Configures a resource to use a persistent lifetime that ends when a parent process exits.","parameters":[{"name":"parentProcessId","type":"number","optional":false,"summary":"The ID of the parent process to monitor."}]},{"id":"method:ParameterResource.withUrls","kind":"method","name":"withUrls","declaration":"withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withUrls","returnType":"ParameterResourcePromise","summary":"Registers a callback to customize the URLs displayed for the resource.","parameters":[{"name":"callback","type":"(obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize URLs for the resource."}]},{"id":"method:ParameterResource.withUrl","kind":"method","name":"withUrl","declaration":"withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withUrl","returnType":"ParameterResourcePromise","summary":"Adds or modifies displayed URLs","parameters":[{"name":"url","type":"string | ReferenceExpression","optional":false},{"name":"displayText","type":"string","optional":true}]},{"id":"method:ParameterResource.withUrlForEndpoint","kind":"method","name":"withUrlForEndpoint","declaration":"withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withUrlForEndpoint","returnType":"ParameterResourcePromise","summary":"Registers a callback to update the URL displayed for the endpoint with the specified name.","parameters":[{"name":"endpointName","type":"string","optional":false,"summary":"The name of the endpoint to customize the URL for."},{"name":"callback","type":"(obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize the URL."}]},{"id":"method:ParameterResource.excludeFromManifest","kind":"method","name":"excludeFromManifest","declaration":"excludeFromManifest(): ParameterResourcePromise","capabilityId":"Aspire.Hosting/excludeFromManifest","returnType":"ParameterResourcePromise","summary":"Excludes a resource from being published to the manifest."},{"id":"method:ParameterResource.withExplicitStart","kind":"method","name":"withExplicitStart","declaration":"withExplicitStart(): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withExplicitStart","returnType":"ParameterResourcePromise","summary":"Prevents resource from starting automatically"},{"id":"method:ParameterResource.withHealthCheck","kind":"method","name":"withHealthCheck","declaration":"withHealthCheck(key: string): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withHealthCheck","returnType":"ParameterResourcePromise","summary":"Adds a health check by key","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key for the health check."}]},{"id":"method:ParameterResource.withCommand","kind":"method","name":"withCommand","declaration":"withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withCommand","returnType":"ParameterResourcePromise","summary":"Adds a resource command","remarks":"The \u0060WithCommand\u0060 method is used to add commands to the resource. Commands are displayed in the dashboard\nand can be executed by a user using the dashboard UI.\nWhen a command is executed, the \u0060executeCommand\u0060 callback is called and is run inside the Aspire host.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the command. The name uniquely identifies the command."},{"name":"displayName","type":"string","optional":false,"summary":"The display name visible in UI."},{"name":"executeCommand","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E","optional":false,"summary":"A callback that is executed when the command is executed. The callback is run inside the Aspire host. The callback result is used to indicate success or failure in the UI."},{"name":"commandOptions","type":"CommandOptions","optional":true,"summary":"Optional configuration for the command."}]},{"id":"method:ParameterResource.withProcessCommand","kind":"method","name":"withProcessCommand","declaration":"withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommand","returnType":"ParameterResourcePromise","summary":"Adds a command to the resource that starts a local process when invoked.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"ProcessCommandExportOptions","optional":false}]},{"id":"method:ParameterResource.withProcessCommandFactory","kind":"method","name":"withProcessCommandFactory","declaration":"withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommandFactory","returnType":"ParameterResourcePromise","summary":"Adds a command to the resource that starts a local process created by a callback when invoked.","deprecated":"Use withProcessCommand with createProcessSpec in the options object instead.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"createProcessSpec","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E","optional":false},{"name":"options","type":"ProcessCommandResultExportOptions","optional":true}]},{"id":"method:ParameterResource.subscribeHttpsEndpointsUpdate","kind":"method","name":"subscribeHttpsEndpointsUpdate","declaration":"subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/subscribeHttpsEndpointsUpdate","returnType":"ParameterResourcePromise","summary":"Subscribes to the \u0060BeforeStartEvent\u0060 and invokes the specified callback when an HTTPS certificate is determined to be available for the resource. This is used to conditionally update endpoint URI schemes or perform other HTTPS-related configuration at startup.","remarks":"The callback is invoked when either:\n-\n-\nSwitch an endpoint to HTTPS when a certificate is available:\n\u0060\u0060\u0060\nbuilder.SubscribeHttpsEndpointsUpdate(ctx =\u003E\n{\nbuilder.WithEndpoint(\u0022http\u0022, ep =\u003E ep.UriScheme = \u0022https\u0022);\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when HTTPS is enabled. Receives an \u0060HttpsEndpointUpdateCallbackContext\u0060 providing access to the service provider, resource, and application model."}]},{"id":"method:ParameterResource.withRelationship","kind":"method","name":"withRelationship","declaration":"withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withBuilderRelationship","returnType":"ParameterResourcePromise","summary":"Adds a relationship to another resource using its builder.","parameters":[{"name":"resourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder that the relationship is to."},{"name":"type","type":"string","optional":false,"summary":"The relationship type."}]},{"id":"method:ParameterResource.withParentRelationship","kind":"method","name":"withParentRelationship","declaration":"withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withBuilderParentRelationship","returnType":"ParameterResourcePromise","summary":"Sets the parent relationship","parameters":[{"name":"parent","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The parent of \u0060builder\u0060."}]},{"id":"method:ParameterResource.withChildRelationship","kind":"method","name":"withChildRelationship","declaration":"withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withBuilderChildRelationship","returnType":"ParameterResourcePromise","summary":"Sets a child relationship","parameters":[{"name":"child","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The child of \u0060builder\u0060."}]},{"id":"method:ParameterResource.withIconName","kind":"method","name":"withIconName","declaration":"withIconName(iconName: string, options?: WithIconNameOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withIconName","returnType":"ParameterResourcePromise","summary":"Specifies the icon to use when displaying the resource in the dashboard.","parameters":[{"name":"iconName","type":"string","optional":false,"summary":"The name of the FluentUI icon to use. See https://aka.ms/fluentui-system-icons for available icons."},{"name":"iconVariant","type":"IconVariant","optional":true,"summary":"The variant of the icon (Regular or Filled). Defaults to Filled."}]},{"id":"method:ParameterResource.excludeFromMcp","kind":"method","name":"excludeFromMcp","declaration":"excludeFromMcp(): ParameterResourcePromise","capabilityId":"Aspire.Hosting/excludeFromMcp","returnType":"ParameterResourcePromise","summary":"Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry."},{"id":"method:ParameterResource.withHidden","kind":"method","name":"withHidden","declaration":"withHidden(): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withHidden","returnType":"ParameterResourcePromise","summary":"Hides the resource from default resource lists","remarks":"Use this method to hide resources that are implementation details and should never be displayed by default.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI."},{"id":"method:ParameterResource.withHiddenOnCompletion","kind":"method","name":"withHiddenOnCompletion","declaration":"withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withHiddenOnCompletion","returnType":"ParameterResourcePromise","summary":"Hides the resource from default resource lists after successful completion","remarks":"This method is useful for one-off resources such as setup scripts, migrations, or build steps that should remain visible while running\nand then be hidden after successful completion.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI.","parameters":[{"name":"exitCode","type":"number","optional":true,"summary":"The completion exit code to treat as successful. Defaults to \u00600\u0060."},{"name":"exitCodes","type":"number[]","optional":true,"summary":"Completion exit codes to treat as successful. If no values are provided, \u00600\u0060 is used."}]},{"id":"method:ParameterResource.withTerminal","kind":"method","name":"withTerminal","declaration":"withTerminal(): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withTerminal","returnType":"ParameterResourcePromise","summary":"Adds an interactive terminal session to a resource using the default terminal options."},{"id":"method:ParameterResource.withPipelineStepFactory","kind":"method","name":"withPipelineStepFactory","declaration":"withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withPipelineStepFactory","returnType":"ParameterResourcePromise","summary":"Adds a pipeline step to the resource that will be executed during deployment.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The unique name of the pipeline step."},{"name":"callback","type":"(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to execute when the step runs."},{"name":"dependsOn","type":"string[]","optional":true,"summary":"Optional step names that this step depends on."},{"name":"requiredBy","type":"string[]","optional":true,"summary":"Optional step names that require this step."},{"name":"tags","type":"string[]","optional":true,"summary":"Optional tags that categorize this step."},{"name":"description","type":"string","optional":true,"summary":"An optional human-readable description of the step."}]},{"id":"method:ParameterResource.withPipelineConfiguration","kind":"method","name":"withPipelineConfiguration","declaration":"withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withPipelineConfiguration","returnType":"ParameterResourcePromise","summary":"Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.","parameters":[{"name":"callback","type":"(obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback function to execute during the configuration phase."}]},{"id":"method:ParameterResource.getResourceName","kind":"method","name":"getResourceName","declaration":"getResourceName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getResourceName","returnType":"Promise\u003Cstring\u003E","summary":"Gets the name of the resource from a builder.","remarks":"Why this wrapper exists: This capability accesses a nested property\n(\u0060resource.Resource.Name\u0060) which requires a wrapper method. There is no single\n.NET method that returns just the resource name that could be annotated directly."},{"id":"method:ParameterResource.onBeforeResourceStarted","kind":"method","name":"onBeforeResourceStarted","declaration":"onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/onBeforeResourceStarted","returnType":"ParameterResourcePromise","summary":"Subscribes to the BeforeResourceStarted event.","parameters":[{"name":"callback","type":"(arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ParameterResource.onResourceStopped","kind":"method","name":"onResourceStopped","declaration":"onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/onResourceStopped","returnType":"ParameterResourcePromise","summary":"Subscribes to the ResourceStopped event.","parameters":[{"name":"callback","type":"(arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ParameterResource.onInitializeResource","kind":"method","name":"onInitializeResource","declaration":"onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/onInitializeResource","returnType":"ParameterResourcePromise","summary":"Subscribes to the InitializeResource event.","parameters":[{"name":"callback","type":"(arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ParameterResource.onResourceReady","kind":"method","name":"onResourceReady","declaration":"onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/onResourceReady","returnType":"ParameterResourcePromise","summary":"Subscribes to the ResourceReady event.","parameters":[{"name":"callback","type":"(arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ParameterResource.createExecutionConfiguration","kind":"method","name":"createExecutionConfiguration","declaration":"createExecutionConfiguration(): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/createExecutionConfiguration","returnType":"ExecutionConfigurationBuilderPromise","summary":"Creates an execution configuration builder for the specified resource."},{"id":"method:ParameterResource.withContainerBuildOptions","kind":"method","name":"withContainerBuildOptions","declaration":"withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise","capabilityId":"Aspire.Hosting/withContainerBuildOptions","returnType":"ParameterResourcePromise","summary":"Configures container build options for a compute resource using an async callback.","parameters":[{"name":"callback","type":"(arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"An async callback to configure container build options."}]}]},{"id":"interface:PipelineConfigurationContext","kind":"interface","name":"PipelineConfigurationContext","typeId":"Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext","owningAssembly":"Aspire.Hosting","declaration":"export interface PipelineConfigurationContext","summary":"Provides contextual information for pipeline configuration callbacks.","members":[{"id":"property:PipelineConfigurationContext.pipeline","kind":"property","name":"pipeline","declaration":"pipeline(): PipelineEditorPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineConfigurationContext.pipeline","summary":"Gets the pipeline editor used by polyglot callbacks."},{"id":"property:PipelineConfigurationContext.log","kind":"property","name":"log","declaration":"log(): LogFacadePromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineConfigurationContext.log","summary":"Gets the logger facade used by polyglot callbacks."},{"id":"method:PipelineConfigurationContext.getSteps","kind":"method","name":"getSteps","declaration":"getSteps(tag: string): Promise\u003CPipelineStep[]\u003E","capabilityId":"Aspire.Hosting.Pipelines/getSteps","returnType":"Promise\u003CPipelineStep[]\u003E","summary":"Gets all pipeline steps with the specified tag.","parameters":[{"name":"tag","type":"string","optional":false,"summary":"The tag to search for."}]}]},{"id":"interface:PipelineContext","kind":"interface","name":"PipelineContext","typeId":"Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext","owningAssembly":"Aspire.Hosting","declaration":"export interface PipelineContext","summary":"Provides contextual information and services for the pipeline execution process of a distributed application.","members":[{"id":"property:PipelineContext.model","kind":"property","name":"model","declaration":"model(): DistributedApplicationModelPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineContext.model","summary":"Gets the distributed application model to be deployed."},{"id":"property:PipelineContext.executionContext","kind":"property","name":"executionContext","declaration":"executionContext(): DistributedApplicationExecutionContextPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineContext.executionContext","summary":"Gets the execution context for the distributed application."},{"id":"property:PipelineContext.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineContext.services","summary":"Gets the service provider for dependency resolution."},{"id":"property:PipelineContext.logger","kind":"property","name":"logger","declaration":"logger(): LoggerPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineContext.logger","summary":"Gets the logger for pipeline operations."},{"id":"property:PipelineContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken: { get: () =\u003E Promise\u003CCancellationToken\u003E; set: (value: AbortSignal | CancellationToken) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting.Pipelines/PipelineContext.cancellationToken","summary":"Gets the cancellation token for the pipeline operation."},{"id":"property:PipelineContext.summary","kind":"property","name":"summary","declaration":"summary(): PipelineSummaryPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineContext.summary","summary":"Gets the pipeline summary that steps can add information to. The summary will be displayed to users after pipeline execution completes.","remarks":"Pipeline steps can add key-value pairs to the summary to provide useful information\nabout the pipeline execution, such as deployment targets, resource names, URLs, etc."}]},{"id":"interface:PipelineEditor","kind":"interface","name":"PipelineEditor","typeId":"Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineEditor","owningAssembly":"Aspire.Hosting","declaration":"export interface PipelineEditor","summary":"Provides an ATS-first editor for pipeline configuration callbacks.","members":[{"id":"method:PipelineEditor.steps","kind":"method","name":"steps","declaration":"steps(): Promise\u003CPipelineStep[]\u003E","capabilityId":"Aspire.Hosting.Pipelines/steps","returnType":"Promise\u003CPipelineStep[]\u003E","summary":"Gets all configured pipeline steps."},{"id":"method:PipelineEditor.stepsByTag","kind":"method","name":"stepsByTag","declaration":"stepsByTag(tag: string): Promise\u003CPipelineStep[]\u003E","capabilityId":"Aspire.Hosting.Pipelines/stepsByTag","returnType":"Promise\u003CPipelineStep[]\u003E","summary":"Gets all pipeline steps that have the specified tag.","parameters":[{"name":"tag","type":"string","optional":false,"summary":"The tag to search for."}]}]},{"id":"interface:PipelineStep","kind":"interface","name":"PipelineStep","typeId":"Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep","owningAssembly":"Aspire.Hosting","declaration":"export interface PipelineStep","summary":"Represents a step in the deployment pipeline.","members":[{"id":"property:PipelineStep.name","kind":"property","name":"name","declaration":"name(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.Pipelines/PipelineStep.name","summary":"Gets or initializes the unique name of the step."},{"id":"property:PipelineStep.description","kind":"property","name":"description","declaration":"description(): Promise\u003Cstring | null\u003E","capabilityId":"Aspire.Hosting.Pipelines/PipelineStep.description","summary":"Gets or initializes the description of the step.","remarks":"The description provides human-readable context about what the step does,\nhelping users and tools understand the purpose of the step."},{"id":"property:PipelineStep.dependsOnSteps","kind":"property","name":"dependsOnSteps","declaration":"dependsOnSteps(): Promise\u003CAspireList\u003Cstring\u003E\u003E","capabilityId":"Aspire.Hosting.Pipelines/PipelineStep.dependsOnSteps","summary":"Gets or initializes the list of step names that this step depends on."},{"id":"property:PipelineStep.requiredBySteps","kind":"property","name":"requiredBySteps","declaration":"requiredBySteps(): Promise\u003CAspireList\u003Cstring\u003E\u003E","capabilityId":"Aspire.Hosting.Pipelines/PipelineStep.requiredBySteps","summary":"Gets or initializes the list of step names that require this step to complete before they can finish. This is used internally during pipeline construction and is converted to DependsOn relationships."},{"id":"property:PipelineStep.tags","kind":"property","name":"tags","declaration":"tags(): Promise\u003CAspireList\u003Cstring\u003E\u003E","capabilityId":"Aspire.Hosting.Pipelines/PipelineStep.tags","summary":"Gets or initializes the list of tags that categorize this step."},{"id":"method:PipelineStep.dependsOn","kind":"method","name":"dependsOn","declaration":"dependsOn(stepName: string): PipelineStepPromise","capabilityId":"Aspire.Hosting.Pipelines/dependsOn","returnType":"PipelineStepPromise","summary":"Adds a dependency on another step.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The name of the step to depend on."}]},{"id":"method:PipelineStep.requiredBy","kind":"method","name":"requiredBy","declaration":"requiredBy(stepName: string): PipelineStepPromise","capabilityId":"Aspire.Hosting.Pipelines/requiredBy","returnType":"PipelineStepPromise","summary":"Specifies that this step is required by another step. This creates the inverse relationship where the other step will depend on this step.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The name of the step that requires this step."}]},{"id":"method:PipelineStep.addTag","kind":"method","name":"addTag","declaration":"addTag(tag: string): PipelineStepPromise","capabilityId":"Aspire.Hosting.Pipelines/addTag","returnType":"PipelineStepPromise","summary":"Adds a tag to the step.","parameters":[{"name":"tag","type":"string","optional":false,"summary":"The tag to add."}]}]},{"id":"interface:PipelineStepContext","kind":"interface","name":"PipelineStepContext","typeId":"Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext","owningAssembly":"Aspire.Hosting","declaration":"export interface PipelineStepContext","summary":"Provides contextual information for a specific pipeline step execution.","remarks":"This context combines the shared pipeline context with a step-specific publishing step,\nallowing each step to track its own tasks and completion state independently.","members":[{"id":"property:PipelineStepContext.pipelineContext","kind":"property","name":"pipelineContext","declaration":"pipelineContext(): PipelineContextPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineStepContext.pipelineContext","summary":"Gets the pipeline context shared across all steps."},{"id":"property:PipelineStepContext.reportingStep","kind":"property","name":"reportingStep","declaration":"reportingStep(): ReportingStepPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineStepContext.reportingStep","summary":"Gets the publishing step associated with this specific step execution."},{"id":"property:PipelineStepContext.model","kind":"property","name":"model","declaration":"model(): DistributedApplicationModelPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineStepContext.model","summary":"Gets the distributed application model to be deployed."},{"id":"property:PipelineStepContext.executionContext","kind":"property","name":"executionContext","declaration":"executionContext(): DistributedApplicationExecutionContextPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineStepContext.executionContext","summary":"Gets the execution context for the distributed application."},{"id":"property:PipelineStepContext.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineStepContext.services","summary":"Gets the service provider for dependency resolution."},{"id":"property:PipelineStepContext.logger","kind":"property","name":"logger","declaration":"logger(): LoggerPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineStepContext.logger","summary":"Gets the logger for pipeline operations that writes to both the pipeline logger and the step logger."},{"id":"property:PipelineStepContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting.Pipelines/PipelineStepContext.cancellationToken","summary":"Gets the cancellation token for the pipeline operation."},{"id":"property:PipelineStepContext.summary","kind":"property","name":"summary","declaration":"summary(): PipelineSummaryPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineStepContext.summary","summary":"Gets the pipeline summary that steps can add information to. The summary will be displayed to users after pipeline execution completes.","remarks":"Pipeline steps can add key-value pairs to the summary to provide useful information\nabout the pipeline execution, such as deployment targets, resource names, URLs, etc."}]},{"id":"interface:PipelineStepFactoryContext","kind":"interface","name":"PipelineStepFactoryContext","typeId":"Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext","owningAssembly":"Aspire.Hosting","declaration":"export interface PipelineStepFactoryContext","summary":"Provides contextual information for creating pipeline steps from a {@ats-ref type:PipelineStepAnnotation}.","members":[{"id":"property:PipelineStepFactoryContext.pipelineContext","kind":"property","name":"pipelineContext","declaration":"pipelineContext(): PipelineContextPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineStepFactoryContext.pipelineContext","summary":"Gets the pipeline context that has the model and other properties."},{"id":"property:PipelineStepFactoryContext.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineStepFactoryContext.resource","summary":"Gets the resource that this factory is associated with."}]},{"id":"interface:PipelineSummary","kind":"interface","name":"PipelineSummary","typeId":"Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineSummary","owningAssembly":"Aspire.Hosting","declaration":"export interface PipelineSummary","summary":"Represents pipeline summary information to be displayed after pipeline completion. This is a general-purpose key-value collection that pipeline steps can contribute to.","remarks":"This class provides a flexible way for any pipeline step to contribute\ninformation to be displayed after pipeline execution. The data is stored as\nkey-value pairs that will be formatted as a table or list in the CLI output.\nPipeline steps can add any relevant information such as resource group names,\nsubscription IDs, URLs, namespaces, cluster names, or any other details.\nValues can be plain text or Markdown-formatted by using \u0060MarkdownString\u0060.\nThe summary is available via the \u0060Summary\u0060\nproperty and can be accessed from any pipeline step.","members":[{"id":"method:PipelineSummary.add","kind":"method","name":"add","declaration":"add(key: string, value: string): PipelineSummaryPromise","capabilityId":"Aspire.Hosting.Pipelines/PipelineSummary.add","returnType":"PipelineSummaryPromise","summary":"Adds a key-value pair to the pipeline summary with a plain-text value.","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key or label for the item (e.g., \u0022Namespace\u0022, \u0022URL\u0022)."},{"name":"value","type":"string","optional":false,"summary":"The plain-text value for the item."}]},{"id":"method:PipelineSummary.addMarkdown","kind":"method","name":"addMarkdown","declaration":"addMarkdown(key: string, markdownString: string): PipelineSummaryPromise","capabilityId":"Aspire.Hosting/addMarkdown","returnType":"PipelineSummaryPromise","summary":"Adds a key-value pair to the pipeline summary with a Markdown-formatted value.","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key or label for the item."},{"name":"markdownString","type":"string","optional":false,"summary":"The Markdown-formatted value for the item."}]}]},{"id":"interface:ProgressContext","kind":"interface","name":"ProgressContext","typeId":"Aspire.Hosting/Aspire.Hosting.ProgressContext","owningAssembly":"Aspire.Hosting","declaration":"export interface ProgressContext","summary":"Provides context to the work callback of a progress interaction.","members":[{"id":"property:ProgressContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting/ProgressContext.cancellationToken","summary":"Gets the \u0060CancellationToken\u0060 that is triggered when the user clicks the cancel button or the operation is externally canceled."}]},{"id":"interface:ProjectResource","kind":"interface","name":"ProjectResource","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProjectResource","owningAssembly":"Aspire.Hosting","declaration":"export interface ProjectResource extends ResourceBuilderBase","summary":"A resource that represents a specified .NET project.","extends":["ResourceBuilderBase"],"members":[{"id":"method:ProjectResource.withContainerRegistry","kind":"method","name":"withContainerRegistry","declaration":"withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withContainerRegistry","returnType":"ProjectResourcePromise","summary":"Configures the resource to use the specified container registry for container image operations.","remarks":"This method adds a \u0060ContainerRegistryReferenceAnnotation\u0060 to the resource,\nindicating that the resource should use the specified container registry for container image operations.","parameters":[{"name":"registry","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The container registry resource builder."}]},{"id":"method:ProjectResource.withDockerfileBaseImage","kind":"method","name":"withDockerfileBaseImage","declaration":"withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withDockerfileBaseImage","returnType":"ProjectResourcePromise","summary":"Configures custom base images for generated Dockerfiles.","remarks":"This extension method allows customization of the base images used in generated Dockerfiles.\nFor multi-stage Dockerfiles (e.g., Python with UV), you can specify separate build and runtime images.\nSpecify custom base images for a Python application:\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddPythonApp(\u0022myapp\u0022, \u0022path/to/app\u0022, \u0022main.py\u0022)\n.WithDockerfileBaseImage(\nbuildImage: \u0022ghcr.io/astral-sh/uv:python3.12-bookworm-slim\u0022,\nruntimeImage: \u0022python:3.12-slim-bookworm\u0022);\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"buildImage","type":"string","optional":true,"summary":"The base image to use for the build stage. If null, uses the default build image."},{"name":"runtimeImage","type":"string","optional":true,"summary":"The base image to use for the runtime stage. If null, uses the default runtime image."}]},{"id":"method:ProjectResource.withMcpServer","kind":"method","name":"withMcpServer","declaration":"withMcpServer(options?: WithMcpServerOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withMcpServer","returnType":"ProjectResourcePromise","summary":"Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint.","remarks":"This method adds an \u0060McpServerEndpointAnnotation\u0060 to the resource, enabling the Aspire tooling\nto discover and proxy the MCP server exposed by the resource.","parameters":[{"name":"path","type":"string","optional":true,"summary":"An optional path to append to the endpoint URL when forming the MCP server address. Defaults to \u0060\u0022/mcp\u0022\u0060."},{"name":"endpointName","type":"string","optional":true,"summary":"An optional name of the endpoint that hosts the MCP server. If not specified, defaults to the first HTTPS or HTTP endpoint."}]},{"id":"method:ProjectResource.withOtlpExporter","kind":"method","name":"withOtlpExporter","declaration":"withOtlpExporter(options?: WithOtlpExporterOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withOtlpExporter","returnType":"ProjectResourcePromise","summary":"Configures OTLP telemetry export","parameters":[{"name":"protocol","type":"OtlpProtocol","optional":true}]},{"id":"method:ProjectResource.withReplicas","kind":"method","name":"withReplicas","declaration":"withReplicas(replicas: number): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withReplicas","returnType":"ProjectResourcePromise","summary":"Configures how many replicas of the project should be created for the project.","parameters":[{"name":"replicas","type":"number","optional":false,"summary":"The number of replicas."}]},{"id":"method:ProjectResource.disableForwardedHeaders","kind":"method","name":"disableForwardedHeaders","declaration":"disableForwardedHeaders(): ProjectResourcePromise","capabilityId":"Aspire.Hosting/disableForwardedHeaders","returnType":"ProjectResourcePromise","summary":"Configures the project to disable forwarded headers when being published."},{"id":"method:ProjectResource.publishAsDockerFile","kind":"method","name":"publishAsDockerFile","declaration":"publishAsDockerFile(options?: PublishAsDockerFileOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/publishProjectAsDockerFileWithConfigure","returnType":"ProjectResourcePromise","summary":"Publishes a project as a Docker file with optional container configuration","remarks":"When the executable resource is converted to a container resource, the arguments to the executable\nare not used. This is because arguments to the project often contain physical paths that are not valid\nin the container. The container can be set up with the correct arguments using the \u0060configure\u0060 action.","parameters":[{"name":"configure","type":"(obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E","optional":true,"summary":"Optional action to configure the container resource"}]},{"id":"method:ProjectResource.withRequiredCommand","kind":"method","name":"withRequiredCommand","declaration":"withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommand","returnType":"ProjectResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start.","remarks":"The command is considered valid if either:\n1. It is an absolute or relative path (contains a directory separator) that points to an existing file, or\n2. It is discoverable on the current process PATH (respecting PATHEXT on Windows).\nIf the command is not found, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing."}]},{"id":"method:ProjectResource.withRequiredCommandValidation","kind":"method","name":"withRequiredCommandValidation","declaration":"withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommandValidation","returnType":"ProjectResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start, with custom validation logic.","remarks":"The command is first resolved to a full path. If found, the validation callback is invoked with the context containing the resolved path and service provider.\nThe callback should return a \u0060RequiredCommandValidationResult\u0060 indicating whether the command is valid,\nwhich can be created via \u0060Success\u0060 or \u0060Failure\u0060.\nIf the command is not found or fails validation, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"validationCallback","type":"(arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E","optional":false,"summary":"A callback that validates the resolved command path. Receives a \u0060RequiredCommandValidationContext\u0060 and returns a \u0060RequiredCommandValidationResult\u0060."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing or fails validation."}]},{"id":"method:ProjectResource.withSessionLifetime","kind":"method","name":"withSessionLifetime","declaration":"withSessionLifetime(): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withSessionLifetime","returnType":"ProjectResourcePromise","summary":"Configures a resource to use a session lifetime."},{"id":"method:ProjectResource.withPersistentLifetime","kind":"method","name":"withPersistentLifetime","declaration":"withPersistentLifetime(): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withPersistentLifetime","returnType":"ProjectResourcePromise","summary":"Configures a resource to use a persistent lifetime."},{"id":"method:ProjectResource.withLifetimeOf","kind":"method","name":"withLifetimeOf","declaration":"withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withLifetimeOf","returnType":"ProjectResourcePromise","summary":"Configures a resource to match the lifetime of another resource.","remarks":"The resource lifetime is evaluated from \u0060sourceBuilder\u0060 when the application model is prepared, so later lifetime\nchanges to the source resource are reflected by this resource.","parameters":[{"name":"sourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder whose lifetime should be used."}]},{"id":"method:ProjectResource.withParentProcessLifetime","kind":"method","name":"withParentProcessLifetime","declaration":"withParentProcessLifetime(parentProcessId: number): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withParentProcessLifetime","returnType":"ProjectResourcePromise","summary":"Configures a resource to use a persistent lifetime that ends when a parent process exits.","parameters":[{"name":"parentProcessId","type":"number","optional":false,"summary":"The ID of the parent process to monitor."}]},{"id":"method:ProjectResource.withEnvironment","kind":"method","name":"withEnvironment","declaration":"withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withEnvironment","returnType":"ProjectResourcePromise","summary":"Sets an environment variable","parameters":[{"name":"name","type":"string","optional":false},{"name":"value","type":"string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E","optional":false}]},{"id":"method:ProjectResource.withEnvironmentCallback","kind":"method","name":"withEnvironmentCallback","declaration":"withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withEnvironmentCallback","returnType":"ProjectResourcePromise","summary":"Allows for the population of environment variables on a resource.","parameters":[{"name":"callback","type":"(arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing many environment variables. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]},{"id":"method:ProjectResource.withArgs","kind":"method","name":"withArgs","declaration":"withArgs(args: string[]): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withArgs","returnType":"ProjectResourcePromise","summary":"Adds arguments to be passed to a resource that supports arguments when it is launched.","parameters":[{"name":"args","type":"string[]","optional":false,"summary":"The arguments to be passed to the resource when it is started."}]},{"id":"method:ProjectResource.withArgsCallback","kind":"method","name":"withArgsCallback","declaration":"withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withArgsCallback","returnType":"ProjectResourcePromise","summary":"Adds a callback to be executed with a list of command-line arguments when a resource is started.","parameters":[{"name":"callback","type":"(obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing arguments. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]},{"id":"method:ProjectResource.withReferenceEnvironment","kind":"method","name":"withReferenceEnvironment","declaration":"withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withReferenceEnvironment","returnType":"ProjectResourcePromise","summary":"Configures how information is injected into environment variables when the resource references other resources.","parameters":[{"name":"options","type":"ReferenceEnvironmentInjectionOptions","optional":false,"summary":"Options controlling which reference information is emitted."}]},{"id":"method:ProjectResource.withReference","kind":"method","name":"withReference","declaration":"withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withReference","returnType":"ProjectResourcePromise","summary":"Adds a reference to another resource","parameters":[{"name":"source","type":"CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E","optional":false},{"name":"connectionName","type":"string","optional":true},{"name":"optional","type":"boolean","optional":true},{"name":"name","type":"string","optional":true}]},{"id":"method:ProjectResource.withEndpointCallback","kind":"method","name":"withEndpointCallback","declaration":"withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withEndpointCallback","returnType":"ProjectResourcePromise","summary":"Updates a named endpoint via callback","parameters":[{"name":"endpointName","type":"string","optional":false},{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ProjectResource.withHttpEndpointCallback","kind":"method","name":"withHttpEndpointCallback","declaration":"withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withHttpEndpointCallback","returnType":"ProjectResourcePromise","summary":"Updates an HTTP endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ProjectResource.withHttpsEndpointCallback","kind":"method","name":"withHttpsEndpointCallback","declaration":"withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withHttpsEndpointCallback","returnType":"ProjectResourcePromise","summary":"Updates an HTTPS endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ProjectResource.withEndpoint","kind":"method","name":"withEndpoint","declaration":"withEndpoint(options?: WithEndpointOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withEndpoint","returnType":"ProjectResourcePromise","summary":"Adds a network endpoint","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"scheme","type":"string","optional":true,"summary":"An optional scheme e.g. (http/https). Defaults to the \u0060protocol\u0060 argument if it is defined or \u0022tcp\u0022 otherwise."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to the scheme name if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable that will be used to inject the \u0060targetPort\u0060. If the target port is null one will be dynamically generated and assigned to the environment variable."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."},{"name":"isExternal","type":"boolean","optional":true,"summary":"Indicates that this endpoint should be exposed externally at publish time."},{"name":"protocol","type":"ProtocolType","optional":true,"summary":"Network protocol: TCP or UDP are supported today, others possibly in future."}]},{"id":"method:ProjectResource.withEndpointProxySupport","kind":"method","name":"withEndpointProxySupport","declaration":"withEndpointProxySupport(proxyEnabled: boolean): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withEndpointProxySupport","returnType":"ProjectResourcePromise","summary":"Set whether a resource can use proxied endpoints or whether they should be disabled for all endpoints belonging to the resource. If set to \u0060false\u0060, endpoints belonging to the resource will ignore the configured proxy settings and run proxy-less.","remarks":"This method is intended to support scenarios with persistent lifetime resources where it is desirable for the resource to be accessible over the same\nport whether the Aspire application is running or not. Proxied endpoints bind ports that are only accessible while the Aspire application is running.\nThe user needs to be careful to ensure that endpoints are using unique ports when disabling proxy support as by default for proxy-less\nendpoints, Aspire will allocate the target port as the host port, which will increase the chance of port conflicts.","parameters":[{"name":"proxyEnabled","type":"boolean","optional":false,"summary":"Should endpoints for the resource support using a proxy?"}]},{"id":"method:ProjectResource.withHttpEndpoint","kind":"method","name":"withHttpEndpoint","declaration":"withHttpEndpoint(options?: WithHttpEndpointOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withHttpEndpoint","returnType":"ProjectResourcePromise","summary":"Adds an HTTP endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022http\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:ProjectResource.withHttpsEndpoint","kind":"method","name":"withHttpsEndpoint","declaration":"withHttpsEndpoint(options?: WithHttpsEndpointOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withHttpsEndpoint","returnType":"ProjectResourcePromise","summary":"Adds an HTTPS endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional host port."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022https\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:ProjectResource.withExternalHttpEndpoints","kind":"method","name":"withExternalHttpEndpoints","declaration":"withExternalHttpEndpoints(): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withExternalHttpEndpoints","returnType":"ProjectResourcePromise","summary":"Marks existing http or https endpoints on a resource as external."},{"id":"method:ProjectResource.getEndpoint","kind":"method","name":"getEndpoint","declaration":"getEndpoint(name: string): EndpointReferencePromise","capabilityId":"Aspire.Hosting/getEndpoint","returnType":"EndpointReferencePromise","summary":"Gets an endpoint reference","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the endpoint."}]},{"id":"method:ProjectResource.asHttp2Service","kind":"method","name":"asHttp2Service","declaration":"asHttp2Service(): ProjectResourcePromise","capabilityId":"Aspire.Hosting/asHttp2Service","returnType":"ProjectResourcePromise","summary":"Configures a resource to mark all endpoints\u0027 transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge."},{"id":"method:ProjectResource.withUrls","kind":"method","name":"withUrls","declaration":"withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withUrls","returnType":"ProjectResourcePromise","summary":"Registers a callback to customize the URLs displayed for the resource.","parameters":[{"name":"callback","type":"(obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize URLs for the resource."}]},{"id":"method:ProjectResource.withUrl","kind":"method","name":"withUrl","declaration":"withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withUrl","returnType":"ProjectResourcePromise","summary":"Adds or modifies displayed URLs","parameters":[{"name":"url","type":"string | ReferenceExpression","optional":false},{"name":"displayText","type":"string","optional":true}]},{"id":"method:ProjectResource.withUrlForEndpoint","kind":"method","name":"withUrlForEndpoint","declaration":"withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withUrlForEndpoint","returnType":"ProjectResourcePromise","summary":"Registers a callback to update the URL displayed for the endpoint with the specified name.","parameters":[{"name":"endpointName","type":"string","optional":false,"summary":"The name of the endpoint to customize the URL for."},{"name":"callback","type":"(obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize the URL."}]},{"id":"method:ProjectResource.publishWithContainerFiles","kind":"method","name":"publishWithContainerFiles","declaration":"publishWithContainerFiles(source: Awaitable\u003CResourceWithContainerFiles\u003E, destinationPath: string): ProjectResourcePromise","capabilityId":"Aspire.Hosting/publishWithContainerFilesFromResource","returnType":"ProjectResourcePromise","summary":"Configures the resource to copy container files from the specified source resource during publishing.","parameters":[{"name":"source","type":"Awaitable\u003CResourceWithContainerFiles\u003E","optional":false,"summary":"The resource which contains the container files to be copied."},{"name":"destinationPath","type":"string","optional":false,"summary":"The destination path within the resource\u0027s container where the files will be copied."}]},{"id":"method:ProjectResource.excludeFromManifest","kind":"method","name":"excludeFromManifest","declaration":"excludeFromManifest(): ProjectResourcePromise","capabilityId":"Aspire.Hosting/excludeFromManifest","returnType":"ProjectResourcePromise","summary":"Excludes a resource from being published to the manifest."},{"id":"method:ProjectResource.waitFor","kind":"method","name":"waitFor","declaration":"waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/waitFor","returnType":"ProjectResourcePromise","summary":"Waits for another resource to be ready","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:ProjectResource.waitForStart","kind":"method","name":"waitForStart","declaration":"waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/waitForStart","returnType":"ProjectResourcePromise","summary":"Waits for another resource to start","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:ProjectResource.withExplicitStart","kind":"method","name":"withExplicitStart","declaration":"withExplicitStart(): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withExplicitStart","returnType":"ProjectResourcePromise","summary":"Prevents resource from starting automatically"},{"id":"method:ProjectResource.waitForCompletion","kind":"method","name":"waitForCompletion","declaration":"waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/waitForResourceCompletion","returnType":"ProjectResourcePromise","summary":"Waits for the dependency resource to enter the Exited or Finished state before starting the resource.","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder for the dependency resource."},{"name":"exitCode","type":"number","optional":true,"summary":"The exit code which is interpreted as successful."}]},{"id":"method:ProjectResource.withHealthCheck","kind":"method","name":"withHealthCheck","declaration":"withHealthCheck(key: string): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withHealthCheck","returnType":"ProjectResourcePromise","summary":"Adds a health check by key","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key for the health check."}]},{"id":"method:ProjectResource.withHttpHealthCheck","kind":"method","name":"withHttpHealthCheck","declaration":"withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withHttpHealthCheck","returnType":"ProjectResourcePromise","summary":"Adds a health check to the resource which is mapped to a specific endpoint.","parameters":[{"name":"path","type":"string","optional":true,"summary":"The relative path to test."},{"name":"statusCode","type":"number","optional":true,"summary":"The result code to interpret as healthy."},{"name":"endpointName","type":"string","optional":true,"summary":"The name of the endpoint to derive the base address from."}]},{"id":"method:ProjectResource.withCommand","kind":"method","name":"withCommand","declaration":"withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withCommand","returnType":"ProjectResourcePromise","summary":"Adds a resource command","remarks":"The \u0060WithCommand\u0060 method is used to add commands to the resource. Commands are displayed in the dashboard\nand can be executed by a user using the dashboard UI.\nWhen a command is executed, the \u0060executeCommand\u0060 callback is called and is run inside the Aspire host.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the command. The name uniquely identifies the command."},{"name":"displayName","type":"string","optional":false,"summary":"The display name visible in UI."},{"name":"executeCommand","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E","optional":false,"summary":"A callback that is executed when the command is executed. The callback is run inside the Aspire host. The callback result is used to indicate success or failure in the UI."},{"name":"commandOptions","type":"CommandOptions","optional":true,"summary":"Optional configuration for the command."}]},{"id":"method:ProjectResource.withProcessCommand","kind":"method","name":"withProcessCommand","declaration":"withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommand","returnType":"ProjectResourcePromise","summary":"Adds a command to the resource that starts a local process when invoked.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"ProcessCommandExportOptions","optional":false}]},{"id":"method:ProjectResource.withProcessCommandFactory","kind":"method","name":"withProcessCommandFactory","declaration":"withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommandFactory","returnType":"ProjectResourcePromise","summary":"Adds a command to the resource that starts a local process created by a callback when invoked.","deprecated":"Use withProcessCommand with createProcessSpec in the options object instead.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"createProcessSpec","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E","optional":false},{"name":"options","type":"ProcessCommandResultExportOptions","optional":true}]},{"id":"method:ProjectResource.withHttpCommand","kind":"method","name":"withHttpCommand","declaration":"withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withHttpCommand","returnType":"ProjectResourcePromise","summary":"Adds an HTTP resource command","parameters":[{"name":"path","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"HttpCommandExportOptions","optional":true}]},{"id":"method:ProjectResource.withDeveloperCertificateTrust","kind":"method","name":"withDeveloperCertificateTrust","declaration":"withDeveloperCertificateTrust(trust: boolean): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withDeveloperCertificateTrust","returnType":"ProjectResourcePromise","summary":"Indicates whether developer certificates should be treated as trusted certificate authorities for the resource at run time. Currently this indicates trust for the ASP.NET Core developer certificate. The developer certificate will only be trusted when running in local development scenarios; in publish mode resources will use their default certificate trust.","remarks":"Disable trust for app host managed developer certificate(s) for a container resource.\n\u0060\u0060\u0060\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithDeveloperCertificateTrust(false);\n\u0060\u0060\u0060\nDisable automatic trust for app host managed developer certificate(s), but explicitly enable it for a specific resource.\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(new DistributedApplicationOptions()\n{\nArgs = args,\nTrustDeveloperCertificate = false,\n});\nvar project = builder.AddProject\u003CMyService\u003E(\u0022my-service\u0022)\n.WithDeveloperCertificateTrust(true);\n\u0060\u0060\u0060","parameters":[{"name":"trust","type":"boolean","optional":false,"summary":"Indicates whether the developer certificate should be treated as trusted."}]},{"id":"method:ProjectResource.withCertificateTrustScope","kind":"method","name":"withCertificateTrustScope","declaration":"withCertificateTrustScope(scope: CertificateTrustScope): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withCertificateTrustScope","returnType":"ProjectResourcePromise","summary":"Sets the certificate trust scope","remarks":"The default scope if not overridden is \u0060Append\u0060 which means that custom certificate\nauthorities should be appended to the default trusted certificate authorities for the resource. Setting the scope to\n\u0060Override\u0060 indicates the set of certificates in referenced\n\u0060CertificateAuthorityCollection\u0060 (and optionally Aspire developer certificiates) should be used as the\nexclusive source of trust for a resource.\nIn all cases, this is a best effort implementation as not all resources support full customization of certificate\ntrust.\nSet the scope for custom certificate authorities to override the default trusted certificate authorities for a container resource.\n\u0060\u0060\u0060\nvar caCollection = builder.AddCertificateAuthorityCollection(\u0022my-cas\u0022)\n.WithCertificate(new X509Certificate2(\u0022my-ca.pem\u0022));\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithCertificateAuthorityCollection(caCollection)\n.WithCertificateTrustScope(CertificateTrustScope.Override);\n\u0060\u0060\u0060","parameters":[{"name":"scope","type":"CertificateTrustScope","optional":false,"summary":"The scope to apply to custom certificate authorities associated with the resource."}]},{"id":"method:ProjectResource.withHttpsDeveloperCertificate","kind":"method","name":"withHttpsDeveloperCertificate","declaration":"withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withParameterHttpsDeveloperCertificate","returnType":"ProjectResourcePromise","summary":"Indicates that a resource should use the developer certificate key pair for HTTPS endpoints at run time. Currently this indicates use of the ASP.NET Core developer certificate. The developer certificate will only be used when running in local development scenarios; in publish mode resources will use their default certificate configuration.","remarks":"Use the developer certificate for HTTPS/TLS endpoints on a container resource:\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsDeveloperCertificate()\n\u0060\u0060\u0060","parameters":[{"name":"password","type":"Awaitable\u003CParameterResource\u003E","optional":true,"summary":"A parameter specifying the password used to encrypt the certificate private key."}]},{"id":"method:ProjectResource.withoutHttpsCertificate","kind":"method","name":"withoutHttpsCertificate","declaration":"withoutHttpsCertificate(): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withoutHttpsCertificate","returnType":"ProjectResourcePromise","summary":"Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied.","remarks":"Disable HTTPS certificate configuration for a Redis resource:\n\u0060\u0060\u0060\nvar redis = builder.AddRedis(\u0022cache\u0022)\n.WithoutHttpsCertificate();\n\u0060\u0060\u0060"},{"id":"method:ProjectResource.withHttpsCertificateConfiguration","kind":"method","name":"withHttpsCertificateConfiguration","declaration":"withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withHttpsCertificateConfiguration","returnType":"ProjectResourcePromise","summary":"Adds a callback that allows configuring the resource to use a specific HTTPS/TLS certificate key pair for server authentication.","remarks":"Pass the path to the PFX certificate file to the container arguments.\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsCertificateConfiguration(ctx =\u003E\n{\nctx.Arguments.Add(\u0022--https-certificate-path\u0022);\nctx.Arguments.Add(ctx.PfxPath);\nreturn Task.CompletedTask;\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to configure the resource to use a certificate key pair."}]},{"id":"method:ProjectResource.subscribeHttpsEndpointsUpdate","kind":"method","name":"subscribeHttpsEndpointsUpdate","declaration":"subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/subscribeHttpsEndpointsUpdate","returnType":"ProjectResourcePromise","summary":"Subscribes to the \u0060BeforeStartEvent\u0060 and invokes the specified callback when an HTTPS certificate is determined to be available for the resource. This is used to conditionally update endpoint URI schemes or perform other HTTPS-related configuration at startup.","remarks":"The callback is invoked when either:\n-\n-\nSwitch an endpoint to HTTPS when a certificate is available:\n\u0060\u0060\u0060\nbuilder.SubscribeHttpsEndpointsUpdate(ctx =\u003E\n{\nbuilder.WithEndpoint(\u0022http\u0022, ep =\u003E ep.UriScheme = \u0022https\u0022);\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when HTTPS is enabled. Receives an \u0060HttpsEndpointUpdateCallbackContext\u0060 providing access to the service provider, resource, and application model."}]},{"id":"method:ProjectResource.withRelationship","kind":"method","name":"withRelationship","declaration":"withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withBuilderRelationship","returnType":"ProjectResourcePromise","summary":"Adds a relationship to another resource using its builder.","parameters":[{"name":"resourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder that the relationship is to."},{"name":"type","type":"string","optional":false,"summary":"The relationship type."}]},{"id":"method:ProjectResource.withParentRelationship","kind":"method","name":"withParentRelationship","declaration":"withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withBuilderParentRelationship","returnType":"ProjectResourcePromise","summary":"Sets the parent relationship","parameters":[{"name":"parent","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The parent of \u0060builder\u0060."}]},{"id":"method:ProjectResource.withChildRelationship","kind":"method","name":"withChildRelationship","declaration":"withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withBuilderChildRelationship","returnType":"ProjectResourcePromise","summary":"Sets a child relationship","parameters":[{"name":"child","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The child of \u0060builder\u0060."}]},{"id":"method:ProjectResource.withIconName","kind":"method","name":"withIconName","declaration":"withIconName(iconName: string, options?: WithIconNameOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withIconName","returnType":"ProjectResourcePromise","summary":"Specifies the icon to use when displaying the resource in the dashboard.","parameters":[{"name":"iconName","type":"string","optional":false,"summary":"The name of the FluentUI icon to use. See https://aka.ms/fluentui-system-icons for available icons."},{"name":"iconVariant","type":"IconVariant","optional":true,"summary":"The variant of the icon (Regular or Filled). Defaults to Filled."}]},{"id":"method:ProjectResource.withComputeEnvironment","kind":"method","name":"withComputeEnvironment","declaration":"withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withComputeEnvironment","returnType":"ProjectResourcePromise","summary":"Configures the compute environment for the compute resource.","remarks":"This method allows associating a specific compute environment with the compute resource.","parameters":[{"name":"computeEnvironmentResource","type":"Awaitable\u003CComputeEnvironmentResource\u003E","optional":false,"summary":"The compute environment resource to associate with the compute resource."}]},{"id":"method:ProjectResource.withHttpProbe","kind":"method","name":"withHttpProbe","declaration":"withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withHttpProbe","returnType":"ProjectResourcePromise","summary":"Adds an HTTP health probe to the resource","parameters":[{"name":"probeType","type":"ProbeType","optional":false},{"name":"path","type":"string","optional":true},{"name":"initialDelaySeconds","type":"number","optional":true},{"name":"periodSeconds","type":"number","optional":true},{"name":"timeoutSeconds","type":"number","optional":true},{"name":"failureThreshold","type":"number","optional":true},{"name":"successThreshold","type":"number","optional":true},{"name":"endpointName","type":"string","optional":true}]},{"id":"method:ProjectResource.excludeFromMcp","kind":"method","name":"excludeFromMcp","declaration":"excludeFromMcp(): ProjectResourcePromise","capabilityId":"Aspire.Hosting/excludeFromMcp","returnType":"ProjectResourcePromise","summary":"Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry."},{"id":"method:ProjectResource.withHidden","kind":"method","name":"withHidden","declaration":"withHidden(): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withHidden","returnType":"ProjectResourcePromise","summary":"Hides the resource from default resource lists","remarks":"Use this method to hide resources that are implementation details and should never be displayed by default.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI."},{"id":"method:ProjectResource.withHiddenOnCompletion","kind":"method","name":"withHiddenOnCompletion","declaration":"withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withHiddenOnCompletion","returnType":"ProjectResourcePromise","summary":"Hides the resource from default resource lists after successful completion","remarks":"This method is useful for one-off resources such as setup scripts, migrations, or build steps that should remain visible while running\nand then be hidden after successful completion.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI.","parameters":[{"name":"exitCode","type":"number","optional":true,"summary":"The completion exit code to treat as successful. Defaults to \u00600\u0060."},{"name":"exitCodes","type":"number[]","optional":true,"summary":"Completion exit codes to treat as successful. If no values are provided, \u00600\u0060 is used."}]},{"id":"method:ProjectResource.withImagePushOptions","kind":"method","name":"withImagePushOptions","declaration":"withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withImagePushOptions","returnType":"ProjectResourcePromise","summary":"Adds an asynchronous callback to configure container image push options for the resource.","remarks":"This method allows customization of how container images are named and tagged when pushed to a registry using an asynchronous callback.\nUse this overload when the callback needs to perform asynchronous operations such as retrieving configuration values from external sources.\nThe callback receives a \u0060ContainerImagePushOptionsCallbackContext\u0060 that provides access to the resource\nand the \u0060ContainerImagePushOptions\u0060 that can be modified.\nMultiple callbacks can be registered on the same resource, and they will be invoked in the order they were added.","parameters":[{"name":"callback","type":"(arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The asynchronous callback to configure push options."}]},{"id":"method:ProjectResource.withRemoteImageName","kind":"method","name":"withRemoteImageName","declaration":"withRemoteImageName(remoteImageName: string): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageName","returnType":"ProjectResourcePromise","summary":"Sets the remote image name (without registry endpoint or tag) for container push operations.","remarks":"Use this with \u0060withRemoteImageTag\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageName","type":"string","optional":false,"summary":"The remote image name (e.g., \u0022myapp\u0022 or \u0022myorg/myapp\u0022)."}]},{"id":"method:ProjectResource.withRemoteImageTag","kind":"method","name":"withRemoteImageTag","declaration":"withRemoteImageTag(remoteImageTag: string): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withRemoteImageTag","returnType":"ProjectResourcePromise","summary":"Sets the remote image tag for container push operations.","remarks":"Use this with \u0060withRemoteImageName\u0060 to fully customize the image reference used for container push operations.","parameters":[{"name":"remoteImageTag","type":"string","optional":false,"summary":"The remote image tag (e.g., \u0022latest\u0022, \u0022v1.0.0\u0022)."}]},{"id":"method:ProjectResource.withTerminal","kind":"method","name":"withTerminal","declaration":"withTerminal(): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withTerminal","returnType":"ProjectResourcePromise","summary":"Adds an interactive terminal session to a resource using the default terminal options."},{"id":"method:ProjectResource.withPipelineStepFactory","kind":"method","name":"withPipelineStepFactory","declaration":"withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withPipelineStepFactory","returnType":"ProjectResourcePromise","summary":"Adds a pipeline step to the resource that will be executed during deployment.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The unique name of the pipeline step."},{"name":"callback","type":"(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to execute when the step runs."},{"name":"dependsOn","type":"string[]","optional":true,"summary":"Optional step names that this step depends on."},{"name":"requiredBy","type":"string[]","optional":true,"summary":"Optional step names that require this step."},{"name":"tags","type":"string[]","optional":true,"summary":"Optional tags that categorize this step."},{"name":"description","type":"string","optional":true,"summary":"An optional human-readable description of the step."}]},{"id":"method:ProjectResource.withPipelineConfiguration","kind":"method","name":"withPipelineConfiguration","declaration":"withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withPipelineConfiguration","returnType":"ProjectResourcePromise","summary":"Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.","parameters":[{"name":"callback","type":"(obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback function to execute during the configuration phase."}]},{"id":"method:ProjectResource.getResourceName","kind":"method","name":"getResourceName","declaration":"getResourceName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getResourceName","returnType":"Promise\u003Cstring\u003E","summary":"Gets the name of the resource from a builder.","remarks":"Why this wrapper exists: This capability accesses a nested property\n(\u0060resource.Resource.Name\u0060) which requires a wrapper method. There is no single\n.NET method that returns just the resource name that could be annotated directly."},{"id":"method:ProjectResource.withEndpointsInEnvironment","kind":"method","name":"withEndpointsInEnvironment","declaration":"withEndpointsInEnvironment(endpointNames: string[]): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withEndpointsInEnvironment","returnType":"ProjectResourcePromise","summary":"Includes only the specified project endpoint names in environment-variable injection.","parameters":[{"name":"endpointNames","type":"string[]","optional":false,"summary":"The endpoint names to include in environment variables."}]},{"id":"method:ProjectResource.onBeforeResourceStarted","kind":"method","name":"onBeforeResourceStarted","declaration":"onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/onBeforeResourceStarted","returnType":"ProjectResourcePromise","summary":"Subscribes to the BeforeResourceStarted event.","parameters":[{"name":"callback","type":"(arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ProjectResource.onResourceStopped","kind":"method","name":"onResourceStopped","declaration":"onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/onResourceStopped","returnType":"ProjectResourcePromise","summary":"Subscribes to the ResourceStopped event.","parameters":[{"name":"callback","type":"(arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ProjectResource.onInitializeResource","kind":"method","name":"onInitializeResource","declaration":"onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/onInitializeResource","returnType":"ProjectResourcePromise","summary":"Subscribes to the InitializeResource event.","parameters":[{"name":"callback","type":"(arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ProjectResource.onResourceEndpointsAllocated","kind":"method","name":"onResourceEndpointsAllocated","declaration":"onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/onResourceEndpointsAllocated","returnType":"ProjectResourcePromise","summary":"Subscribes to the ResourceEndpointsAllocated event.","parameters":[{"name":"callback","type":"(arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ProjectResource.onResourceReady","kind":"method","name":"onResourceReady","declaration":"onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/onResourceReady","returnType":"ProjectResourcePromise","summary":"Subscribes to the ResourceReady event.","parameters":[{"name":"callback","type":"(arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:ProjectResource.createExecutionConfiguration","kind":"method","name":"createExecutionConfiguration","declaration":"createExecutionConfiguration(): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/createExecutionConfiguration","returnType":"ExecutionConfigurationBuilderPromise","summary":"Creates an execution configuration builder for the specified resource."},{"id":"method:ProjectResource.withContainerBuildOptions","kind":"method","name":"withContainerBuildOptions","declaration":"withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise","capabilityId":"Aspire.Hosting/withContainerBuildOptions","returnType":"ProjectResourcePromise","summary":"Configures container build options for a compute resource using an async callback.","parameters":[{"name":"callback","type":"(arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"An async callback to configure container build options."}]}]},{"id":"interface:ProjectResourceOptions","kind":"interface","name":"ProjectResourceOptions","typeId":"Aspire.Hosting/Aspire.Hosting.ProjectResourceOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface ProjectResourceOptions","summary":"Various properties to modify the behavior of the project resource.","members":[{"id":"property:ProjectResourceOptions.launchProfileName","kind":"property","name":"launchProfileName","declaration":"launchProfileName: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting/ProjectResourceOptions.launchProfileName","summary":"The launch profile to use. If \u0060null\u0060 then the default launch profile will be used."},{"id":"property:ProjectResourceOptions.excludeLaunchProfile","kind":"property","name":"excludeLaunchProfile","declaration":"excludeLaunchProfile: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting/ProjectResourceOptions.excludeLaunchProfile","summary":"If set, no launch profile will be used, and LaunchProfileName will be ignored."},{"id":"property:ProjectResourceOptions.excludeKestrelEndpoints","kind":"property","name":"excludeKestrelEndpoints","declaration":"excludeKestrelEndpoints: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E }","capabilityId":"Aspire.Hosting/ProjectResourceOptions.excludeKestrelEndpoints","summary":"If set, ignore endpoints coming from Kestrel configuration."}]},{"id":"interface:ReferenceExpressionBuilder","kind":"interface","name":"ReferenceExpressionBuilder","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder","owningAssembly":"Aspire.Hosting","declaration":"export interface ReferenceExpressionBuilder","summary":"A builder for creating {@ats-ref type:ReferenceExpression} instances.","members":[{"id":"property:ReferenceExpressionBuilder.isEmpty","kind":"property","name":"isEmpty","declaration":"isEmpty(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/ReferenceExpressionBuilder.isEmpty","summary":"Indicates whether the expression is empty."},{"id":"method:ReferenceExpressionBuilder.appendLiteral","kind":"method","name":"appendLiteral","declaration":"appendLiteral(value: string): ReferenceExpressionBuilderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/appendLiteral","returnType":"ReferenceExpressionBuilderPromise","summary":"Appends a literal value to the expression.","parameters":[{"name":"value","type":"string","optional":false,"summary":"The literal string value to be appended to the interpolated string."}]},{"id":"method:ReferenceExpressionBuilder.appendFormatted","kind":"method","name":"appendFormatted","declaration":"appendFormatted(value: string, options?: AppendFormattedOptions): ReferenceExpressionBuilderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/appendFormatted","returnType":"ReferenceExpressionBuilderPromise","summary":"Appends a formatted value to the expression.","parameters":[{"name":"value","type":"string","optional":false,"summary":"The formatted string to be appended to the interpolated string."},{"name":"format","type":"string","optional":true,"summary":"The format to be applied to the value. e.g., \u0022uri\u0022"}]},{"id":"method:ReferenceExpressionBuilder.appendValueProvider","kind":"method","name":"appendValueProvider","declaration":"appendValueProvider(valueProvider: any, options?: AppendValueProviderOptions): ReferenceExpressionBuilderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/appendValueProvider","returnType":"ReferenceExpressionBuilderPromise","summary":"Appends a value provider to the reference expression","parameters":[{"name":"valueProvider","type":"any","optional":false,"summary":"The value provider to append."},{"name":"format","type":"string","optional":true,"summary":"Optional format specifier."}]},{"id":"method:ReferenceExpressionBuilder.build","kind":"method","name":"build","declaration":"build(): Promise\u003CReferenceExpression\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/build","returnType":"Promise\u003CReferenceExpression\u003E","summary":"Builds the reference expression"}]},{"id":"interface:ReportingStep","kind":"interface","name":"ReportingStep","typeId":"Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingStep","owningAssembly":"Aspire.Hosting","declaration":"export interface ReportingStep","summary":"Represents a publishing step, which can contain multiple tasks.","members":[{"id":"method:ReportingStep.createTask","kind":"method","name":"createTask","declaration":"createTask(statusText: string, options?: CreateTaskOptions): ReportingTaskPromise","capabilityId":"Aspire.Hosting/createTask","returnType":"ReportingTaskPromise","summary":"Creates a reporting task with plain-text status text.","parameters":[{"name":"statusText","type":"string","optional":false},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:ReportingStep.createMarkdownTask","kind":"method","name":"createMarkdownTask","declaration":"createMarkdownTask(markdownString: string, options?: CreateMarkdownTaskOptions): ReportingTaskPromise","capabilityId":"Aspire.Hosting/createMarkdownTask","returnType":"ReportingTaskPromise","summary":"Creates a reporting task with Markdown-formatted status text.","parameters":[{"name":"markdownString","type":"string","optional":false},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:ReportingStep.logStep","kind":"method","name":"logStep","declaration":"logStep(level: string, message: string): ReportingStepPromise","capabilityId":"Aspire.Hosting/logStep","returnType":"ReportingStepPromise","summary":"Logs a plain-text message for the reporting step.","parameters":[{"name":"level","type":"string","optional":false},{"name":"message","type":"string","optional":false}]},{"id":"method:ReportingStep.logStepMarkdown","kind":"method","name":"logStepMarkdown","declaration":"logStepMarkdown(level: string, markdownString: string): ReportingStepPromise","capabilityId":"Aspire.Hosting/logStepMarkdown","returnType":"ReportingStepPromise","summary":"Logs a Markdown-formatted message for the reporting step.","parameters":[{"name":"level","type":"string","optional":false},{"name":"markdownString","type":"string","optional":false}]},{"id":"method:ReportingStep.completeStep","kind":"method","name":"completeStep","declaration":"completeStep(completionText: string, options?: CompleteStepOptions): ReportingStepPromise","capabilityId":"Aspire.Hosting/completeStep","returnType":"ReportingStepPromise","summary":"Completes the reporting step with plain-text completion text.","parameters":[{"name":"completionText","type":"string","optional":false},{"name":"completionState","type":"string","optional":true},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:ReportingStep.completeStepMarkdown","kind":"method","name":"completeStepMarkdown","declaration":"completeStepMarkdown(markdownString: string, options?: CompleteStepMarkdownOptions): ReportingStepPromise","capabilityId":"Aspire.Hosting/completeStepMarkdown","returnType":"ReportingStepPromise","summary":"Completes the reporting step with Markdown-formatted completion text.","parameters":[{"name":"markdownString","type":"string","optional":false},{"name":"completionState","type":"string","optional":true},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]}]},{"id":"interface:ReportingTask","kind":"interface","name":"ReportingTask","typeId":"Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingTask","owningAssembly":"Aspire.Hosting","declaration":"export interface ReportingTask","summary":"Represents a publishing task, which belongs to a step.","members":[{"id":"method:ReportingTask.updateTask","kind":"method","name":"updateTask","declaration":"updateTask(statusText: string, options?: UpdateTaskOptions): ReportingTaskPromise","capabilityId":"Aspire.Hosting/updateTask","returnType":"ReportingTaskPromise","summary":"Updates the reporting task with plain-text status text.","parameters":[{"name":"statusText","type":"string","optional":false},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:ReportingTask.updateTaskMarkdown","kind":"method","name":"updateTaskMarkdown","declaration":"updateTaskMarkdown(markdownString: string, options?: UpdateTaskMarkdownOptions): ReportingTaskPromise","capabilityId":"Aspire.Hosting/updateTaskMarkdown","returnType":"ReportingTaskPromise","summary":"Updates the reporting task with Markdown-formatted status text.","parameters":[{"name":"markdownString","type":"string","optional":false},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:ReportingTask.completeTask","kind":"method","name":"completeTask","declaration":"completeTask(options?: CompleteTaskOptions): ReportingTaskPromise","capabilityId":"Aspire.Hosting/completeTask","returnType":"ReportingTaskPromise","summary":"Completes the reporting task with plain-text completion text.","parameters":[{"name":"completionMessage","type":"string","optional":true},{"name":"completionState","type":"string","optional":true},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]},{"id":"method:ReportingTask.completeTaskMarkdown","kind":"method","name":"completeTaskMarkdown","declaration":"completeTaskMarkdown(markdownString: string, options?: CompleteTaskMarkdownOptions): ReportingTaskPromise","capabilityId":"Aspire.Hosting/completeTaskMarkdown","returnType":"ReportingTaskPromise","summary":"Completes the reporting task with Markdown-formatted completion text.","parameters":[{"name":"markdownString","type":"string","optional":false},{"name":"completionState","type":"string","optional":true},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true}]}]},{"id":"interface:RequiredCommandValidationContext","kind":"interface","name":"RequiredCommandValidationContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.RequiredCommandValidationContext","owningAssembly":"Aspire.Hosting","declaration":"export interface RequiredCommandValidationContext","summary":"Provides context for validating a required command.","members":[{"id":"property:RequiredCommandValidationContext.resolvedPath","kind":"property","name":"resolvedPath","declaration":"resolvedPath(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/RequiredCommandValidationContext.resolvedPath","summary":"Gets the resolved full path to the command executable."},{"id":"property:RequiredCommandValidationContext.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/RequiredCommandValidationContext.services","summary":"Gets the service provider for accessing application services."},{"id":"property:RequiredCommandValidationContext.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken(): Promise\u003CCancellationToken\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/RequiredCommandValidationContext.cancellationToken","summary":"Gets a cancellation token that can be used to cancel the validation."},{"id":"method:RequiredCommandValidationContext.success","kind":"method","name":"success","declaration":"success(): RequiredCommandValidationResultPromise","capabilityId":"Aspire.Hosting.ApplicationModel/RequiredCommandValidationContext.success","returnType":"RequiredCommandValidationResultPromise","summary":"Creates a successful validation result."},{"id":"method:RequiredCommandValidationContext.failure","kind":"method","name":"failure","declaration":"failure(validationMessage: string): RequiredCommandValidationResultPromise","capabilityId":"Aspire.Hosting.ApplicationModel/RequiredCommandValidationContext.failure","returnType":"RequiredCommandValidationResultPromise","summary":"Creates a failed validation result with the specified message.","parameters":[{"name":"validationMessage","type":"string","optional":false,"summary":"A message describing why validation failed."}]}]},{"id":"interface:RequiredCommandValidationResult","kind":"interface","name":"RequiredCommandValidationResult","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.RequiredCommandValidationResult","owningAssembly":"Aspire.Hosting","declaration":"export interface RequiredCommandValidationResult","summary":"Represents the result of validating a required command.","members":[{"id":"property:RequiredCommandValidationResult.isValid","kind":"property","name":"isValid","declaration":"isValid(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/RequiredCommandValidationResult.isValid","summary":"Gets a value indicating whether the command validation succeeded."},{"id":"property:RequiredCommandValidationResult.validationMessage","kind":"property","name":"validationMessage","declaration":"validationMessage(): Promise\u003Cstring | null\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/RequiredCommandValidationResult.validationMessage","summary":"Gets an optional validation message describing why validation failed."}]},{"id":"interface:Resource","kind":"interface","name":"Resource","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource","owningAssembly":"Aspire.Hosting","declaration":"export interface Resource extends ResourceBuilderBase","summary":"Represents a resource that can be hosted by an application.","extends":["ResourceBuilderBase"],"members":[{"id":"method:Resource.withContainerRegistry","kind":"method","name":"withContainerRegistry","declaration":"withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/withContainerRegistry","returnType":"ResourcePromise","summary":"Configures the resource to use the specified container registry for container image operations.","remarks":"This method adds a \u0060ContainerRegistryReferenceAnnotation\u0060 to the resource,\nindicating that the resource should use the specified container registry for container image operations.","parameters":[{"name":"registry","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The container registry resource builder."}]},{"id":"method:Resource.withDockerfileBaseImage","kind":"method","name":"withDockerfileBaseImage","declaration":"withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ResourcePromise","capabilityId":"Aspire.Hosting/withDockerfileBaseImage","returnType":"ResourcePromise","summary":"Configures custom base images for generated Dockerfiles.","remarks":"This extension method allows customization of the base images used in generated Dockerfiles.\nFor multi-stage Dockerfiles (e.g., Python with UV), you can specify separate build and runtime images.\nSpecify custom base images for a Python application:\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddPythonApp(\u0022myapp\u0022, \u0022path/to/app\u0022, \u0022main.py\u0022)\n.WithDockerfileBaseImage(\nbuildImage: \u0022ghcr.io/astral-sh/uv:python3.12-bookworm-slim\u0022,\nruntimeImage: \u0022python:3.12-slim-bookworm\u0022);\nbuilder.Build().Run();\n\u0060\u0060\u0060","parameters":[{"name":"buildImage","type":"string","optional":true,"summary":"The base image to use for the build stage. If null, uses the default build image."},{"name":"runtimeImage","type":"string","optional":true,"summary":"The base image to use for the runtime stage. If null, uses the default runtime image."}]},{"id":"method:Resource.withRequiredCommand","kind":"method","name":"withRequiredCommand","declaration":"withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommand","returnType":"ResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start.","remarks":"The command is considered valid if either:\n1. It is an absolute or relative path (contains a directory separator) that points to an existing file, or\n2. It is discoverable on the current process PATH (respecting PATHEXT on Windows).\nIf the command is not found, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing."}]},{"id":"method:Resource.withRequiredCommandValidation","kind":"method","name":"withRequiredCommandValidation","declaration":"withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ResourcePromise","capabilityId":"Aspire.Hosting/withRequiredCommandValidation","returnType":"ResourcePromise","summary":"Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start, with custom validation logic.","remarks":"The command is first resolved to a full path. If found, the validation callback is invoked with the context containing the resolved path and service provider.\nThe callback should return a \u0060RequiredCommandValidationResult\u0060 indicating whether the command is valid,\nwhich can be created via \u0060Success\u0060 or \u0060Failure\u0060.\nIf the command is not found or fails validation, a warning message will be logged but the resource will be allowed to attempt to start.","parameters":[{"name":"command","type":"string","optional":false,"summary":"The command string (file name or path) that should be validated."},{"name":"validationCallback","type":"(arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E","optional":false,"summary":"A callback that validates the resolved command path. Receives a \u0060RequiredCommandValidationContext\u0060 and returns a \u0060RequiredCommandValidationResult\u0060."},{"name":"helpLink","type":"string","optional":true,"summary":"An optional help link URL to guide users when the command is missing or fails validation."}]},{"id":"method:Resource.withSessionLifetime","kind":"method","name":"withSessionLifetime","declaration":"withSessionLifetime(): ResourcePromise","capabilityId":"Aspire.Hosting/withSessionLifetime","returnType":"ResourcePromise","summary":"Configures a resource to use a session lifetime."},{"id":"method:Resource.withPersistentLifetime","kind":"method","name":"withPersistentLifetime","declaration":"withPersistentLifetime(): ResourcePromise","capabilityId":"Aspire.Hosting/withPersistentLifetime","returnType":"ResourcePromise","summary":"Configures a resource to use a persistent lifetime."},{"id":"method:Resource.withLifetimeOf","kind":"method","name":"withLifetimeOf","declaration":"withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/withLifetimeOf","returnType":"ResourcePromise","summary":"Configures a resource to match the lifetime of another resource.","remarks":"The resource lifetime is evaluated from \u0060sourceBuilder\u0060 when the application model is prepared, so later lifetime\nchanges to the source resource are reflected by this resource.","parameters":[{"name":"sourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder whose lifetime should be used."}]},{"id":"method:Resource.withParentProcessLifetime","kind":"method","name":"withParentProcessLifetime","declaration":"withParentProcessLifetime(parentProcessId: number): ResourcePromise","capabilityId":"Aspire.Hosting/withParentProcessLifetime","returnType":"ResourcePromise","summary":"Configures a resource to use a persistent lifetime that ends when a parent process exits.","parameters":[{"name":"parentProcessId","type":"number","optional":false,"summary":"The ID of the parent process to monitor."}]},{"id":"method:Resource.withUrls","kind":"method","name":"withUrls","declaration":"withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/withUrls","returnType":"ResourcePromise","summary":"Registers a callback to customize the URLs displayed for the resource.","parameters":[{"name":"callback","type":"(obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize URLs for the resource."}]},{"id":"method:Resource.withUrl","kind":"method","name":"withUrl","declaration":"withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ResourcePromise","capabilityId":"Aspire.Hosting/withUrl","returnType":"ResourcePromise","summary":"Adds or modifies displayed URLs","parameters":[{"name":"url","type":"string | ReferenceExpression","optional":false},{"name":"displayText","type":"string","optional":true}]},{"id":"method:Resource.withUrlForEndpoint","kind":"method","name":"withUrlForEndpoint","declaration":"withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/withUrlForEndpoint","returnType":"ResourcePromise","summary":"Registers a callback to update the URL displayed for the endpoint with the specified name.","parameters":[{"name":"endpointName","type":"string","optional":false,"summary":"The name of the endpoint to customize the URL for."},{"name":"callback","type":"(obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback that will customize the URL."}]},{"id":"method:Resource.excludeFromManifest","kind":"method","name":"excludeFromManifest","declaration":"excludeFromManifest(): ResourcePromise","capabilityId":"Aspire.Hosting/excludeFromManifest","returnType":"ResourcePromise","summary":"Excludes a resource from being published to the manifest."},{"id":"method:Resource.withExplicitStart","kind":"method","name":"withExplicitStart","declaration":"withExplicitStart(): ResourcePromise","capabilityId":"Aspire.Hosting/withExplicitStart","returnType":"ResourcePromise","summary":"Prevents resource from starting automatically"},{"id":"method:Resource.withHealthCheck","kind":"method","name":"withHealthCheck","declaration":"withHealthCheck(key: string): ResourcePromise","capabilityId":"Aspire.Hosting/withHealthCheck","returnType":"ResourcePromise","summary":"Adds a health check by key","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key for the health check."}]},{"id":"method:Resource.withCommand","kind":"method","name":"withCommand","declaration":"withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ResourcePromise","capabilityId":"Aspire.Hosting/withCommand","returnType":"ResourcePromise","summary":"Adds a resource command","remarks":"The \u0060WithCommand\u0060 method is used to add commands to the resource. Commands are displayed in the dashboard\nand can be executed by a user using the dashboard UI.\nWhen a command is executed, the \u0060executeCommand\u0060 callback is called and is run inside the Aspire host.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the command. The name uniquely identifies the command."},{"name":"displayName","type":"string","optional":false,"summary":"The display name visible in UI."},{"name":"executeCommand","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E","optional":false,"summary":"A callback that is executed when the command is executed. The callback is run inside the Aspire host. The callback result is used to indicate success or failure in the UI."},{"name":"commandOptions","type":"CommandOptions","optional":true,"summary":"Optional configuration for the command."}]},{"id":"method:Resource.withProcessCommand","kind":"method","name":"withProcessCommand","declaration":"withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommand","returnType":"ResourcePromise","summary":"Adds a command to the resource that starts a local process when invoked.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"ProcessCommandExportOptions","optional":false}]},{"id":"method:Resource.withProcessCommandFactory","kind":"method","name":"withProcessCommandFactory","declaration":"withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ResourcePromise","capabilityId":"Aspire.Hosting/withProcessCommandFactory","returnType":"ResourcePromise","summary":"Adds a command to the resource that starts a local process created by a callback when invoked.","deprecated":"Use withProcessCommand with createProcessSpec in the options object instead.","parameters":[{"name":"commandName","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"createProcessSpec","type":"(arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E","optional":false},{"name":"options","type":"ProcessCommandResultExportOptions","optional":true}]},{"id":"method:Resource.subscribeHttpsEndpointsUpdate","kind":"method","name":"subscribeHttpsEndpointsUpdate","declaration":"subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/subscribeHttpsEndpointsUpdate","returnType":"ResourcePromise","summary":"Subscribes to the \u0060BeforeStartEvent\u0060 and invokes the specified callback when an HTTPS certificate is determined to be available for the resource. This is used to conditionally update endpoint URI schemes or perform other HTTPS-related configuration at startup.","remarks":"The callback is invoked when either:\n-\n-\nSwitch an endpoint to HTTPS when a certificate is available:\n\u0060\u0060\u0060\nbuilder.SubscribeHttpsEndpointsUpdate(ctx =\u003E\n{\nbuilder.WithEndpoint(\u0022http\u0022, ep =\u003E ep.UriScheme = \u0022https\u0022);\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when HTTPS is enabled. Receives an \u0060HttpsEndpointUpdateCallbackContext\u0060 providing access to the service provider, resource, and application model."}]},{"id":"method:Resource.withRelationship","kind":"method","name":"withRelationship","declaration":"withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ResourcePromise","capabilityId":"Aspire.Hosting/withBuilderRelationship","returnType":"ResourcePromise","summary":"Adds a relationship to another resource using its builder.","parameters":[{"name":"resourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder that the relationship is to."},{"name":"type","type":"string","optional":false,"summary":"The relationship type."}]},{"id":"method:Resource.withParentRelationship","kind":"method","name":"withParentRelationship","declaration":"withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/withBuilderParentRelationship","returnType":"ResourcePromise","summary":"Sets the parent relationship","parameters":[{"name":"parent","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The parent of \u0060builder\u0060."}]},{"id":"method:Resource.withChildRelationship","kind":"method","name":"withChildRelationship","declaration":"withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/withBuilderChildRelationship","returnType":"ResourcePromise","summary":"Sets a child relationship","parameters":[{"name":"child","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The child of \u0060builder\u0060."}]},{"id":"method:Resource.withIconName","kind":"method","name":"withIconName","declaration":"withIconName(iconName: string, options?: WithIconNameOptions): ResourcePromise","capabilityId":"Aspire.Hosting/withIconName","returnType":"ResourcePromise","summary":"Specifies the icon to use when displaying the resource in the dashboard.","parameters":[{"name":"iconName","type":"string","optional":false,"summary":"The name of the FluentUI icon to use. See https://aka.ms/fluentui-system-icons for available icons."},{"name":"iconVariant","type":"IconVariant","optional":true,"summary":"The variant of the icon (Regular or Filled). Defaults to Filled."}]},{"id":"method:Resource.excludeFromMcp","kind":"method","name":"excludeFromMcp","declaration":"excludeFromMcp(): ResourcePromise","capabilityId":"Aspire.Hosting/excludeFromMcp","returnType":"ResourcePromise","summary":"Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry."},{"id":"method:Resource.withHidden","kind":"method","name":"withHidden","declaration":"withHidden(): ResourcePromise","capabilityId":"Aspire.Hosting/withHidden","returnType":"ResourcePromise","summary":"Hides the resource from default resource lists","remarks":"Use this method to hide resources that are implementation details and should never be displayed by default.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI."},{"id":"method:Resource.withHiddenOnCompletion","kind":"method","name":"withHiddenOnCompletion","declaration":"withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ResourcePromise","capabilityId":"Aspire.Hosting/withHiddenOnCompletion","returnType":"ResourcePromise","summary":"Hides the resource from default resource lists after successful completion","remarks":"This method is useful for one-off resources such as setup scripts, migrations, or build steps that should remain visible while running\nand then be hidden after successful completion.\nHidden resources can still be accessed directly by their name, by using \u0060Show hidden resources\u0060 toggle in the dashboard or by using \u0060aspire describe --include-hidden\u0060 from the CLI.","parameters":[{"name":"exitCode","type":"number","optional":true,"summary":"The completion exit code to treat as successful. Defaults to \u00600\u0060."},{"name":"exitCodes","type":"number[]","optional":true,"summary":"Completion exit codes to treat as successful. If no values are provided, \u00600\u0060 is used."}]},{"id":"method:Resource.withTerminal","kind":"method","name":"withTerminal","declaration":"withTerminal(): ResourcePromise","capabilityId":"Aspire.Hosting/withTerminal","returnType":"ResourcePromise","summary":"Adds an interactive terminal session to a resource using the default terminal options."},{"id":"method:Resource.withPipelineStepFactory","kind":"method","name":"withPipelineStepFactory","declaration":"withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ResourcePromise","capabilityId":"Aspire.Hosting/withPipelineStepFactory","returnType":"ResourcePromise","summary":"Adds a pipeline step to the resource that will be executed during deployment.","parameters":[{"name":"stepName","type":"string","optional":false,"summary":"The unique name of the pipeline step."},{"name":"callback","type":"(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to execute when the step runs."},{"name":"dependsOn","type":"string[]","optional":true,"summary":"Optional step names that this step depends on."},{"name":"requiredBy","type":"string[]","optional":true,"summary":"Optional step names that require this step."},{"name":"tags","type":"string[]","optional":true,"summary":"Optional tags that categorize this step."},{"name":"description","type":"string","optional":true,"summary":"An optional human-readable description of the step."}]},{"id":"method:Resource.withPipelineConfiguration","kind":"method","name":"withPipelineConfiguration","declaration":"withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/withPipelineConfiguration","returnType":"ResourcePromise","summary":"Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.","parameters":[{"name":"callback","type":"(obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback function to execute during the configuration phase."}]},{"id":"method:Resource.getResourceName","kind":"method","name":"getResourceName","declaration":"getResourceName(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/getResourceName","returnType":"Promise\u003Cstring\u003E","summary":"Gets the name of the resource from a builder.","remarks":"Why this wrapper exists: This capability accesses a nested property\n(\u0060resource.Resource.Name\u0060) which requires a wrapper method. There is no single\n.NET method that returns just the resource name that could be annotated directly."},{"id":"method:Resource.onBeforeResourceStarted","kind":"method","name":"onBeforeResourceStarted","declaration":"onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/onBeforeResourceStarted","returnType":"ResourcePromise","summary":"Subscribes to the BeforeResourceStarted event.","parameters":[{"name":"callback","type":"(arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:Resource.onResourceStopped","kind":"method","name":"onResourceStopped","declaration":"onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/onResourceStopped","returnType":"ResourcePromise","summary":"Subscribes to the ResourceStopped event.","parameters":[{"name":"callback","type":"(arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:Resource.onInitializeResource","kind":"method","name":"onInitializeResource","declaration":"onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/onInitializeResource","returnType":"ResourcePromise","summary":"Subscribes to the InitializeResource event.","parameters":[{"name":"callback","type":"(arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:Resource.onResourceReady","kind":"method","name":"onResourceReady","declaration":"onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/onResourceReady","returnType":"ResourcePromise","summary":"Subscribes to the ResourceReady event.","parameters":[{"name":"callback","type":"(arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]},{"id":"method:Resource.createExecutionConfiguration","kind":"method","name":"createExecutionConfiguration","declaration":"createExecutionConfiguration(): ExecutionConfigurationBuilderPromise","capabilityId":"Aspire.Hosting/createExecutionConfiguration","returnType":"ExecutionConfigurationBuilderPromise","summary":"Creates an execution configuration builder for the specified resource."},{"id":"method:Resource.withContainerBuildOptions","kind":"method","name":"withContainerBuildOptions","declaration":"withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise","capabilityId":"Aspire.Hosting/withContainerBuildOptions","returnType":"ResourcePromise","summary":"Configures container build options for a compute resource using an async callback.","parameters":[{"name":"callback","type":"(arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"An async callback to configure container build options."}]}]},{"id":"interface:ResourceCommandService","kind":"interface","name":"ResourceCommandService","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceCommandService","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceCommandService","summary":"A service to execute resource commands.","members":[{"id":"method:ResourceCommandService.executeCommandAsync","kind":"method","name":"executeCommandAsync","declaration":"executeCommandAsync(resource: string | CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, commandName: string, options?: ExecuteCommandAsyncOptions): Promise\u003CExecuteCommandResult\u003E","capabilityId":"Aspire.Hosting/executeResourceCommand","returnType":"Promise\u003CExecuteCommandResult\u003E","summary":"Executes a command for the specified resource.","parameters":[{"name":"resource","type":"string | CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource id or resource handle. A resource id can either exactly match the unique id of the resource or the displayed resource name if the resource name doesn\u0027t have duplicates."},{"name":"commandName","type":"string","optional":false,"summary":"The command name."},{"name":"arguments","type":"Record\u003Cstring, string\u003E","optional":true,"summary":"The optional invocation arguments supplied to the command callback."},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true,"summary":"The cancellation token."}]}]},{"id":"interface:ResourceEndpointsAllocatedEvent","kind":"interface","name":"ResourceEndpointsAllocatedEvent","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceEndpointsAllocatedEvent","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceEndpointsAllocatedEvent","summary":"This event is raised by orchestrators to signal to resources that their endpoints have been allocated.","remarks":"Any resources that customize their URLs via a \u0060ResourceUrlsCallbackAnnotation\u0060 will have their callbacks invoked during this event.","members":[{"id":"property:ResourceEndpointsAllocatedEvent.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceEndpointsAllocatedEvent.resource"},{"id":"property:ResourceEndpointsAllocatedEvent.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceEndpointsAllocatedEvent.services"}]},{"id":"interface:ResourceLoggerService","kind":"interface","name":"ResourceLoggerService","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceLoggerService","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceLoggerService","summary":"A service that provides loggers for resources to write to.","members":[{"id":"method:ResourceLoggerService.completeLog","kind":"method","name":"completeLog","declaration":"completeLog(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourceLoggerServicePromise","capabilityId":"Aspire.Hosting/completeLog","returnType":"ResourceLoggerServicePromise","summary":"Completes the log stream for a resource.","parameters":[{"name":"resource","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false}]},{"id":"method:ResourceLoggerService.completeLogByName","kind":"method","name":"completeLogByName","declaration":"completeLogByName(resourceName: string): ResourceLoggerServicePromise","capabilityId":"Aspire.Hosting/completeLogByName","returnType":"ResourceLoggerServicePromise","summary":"Completes the log stream by resource name.","parameters":[{"name":"resourceName","type":"string","optional":false}]}]},{"id":"interface:ResourceNotificationService","kind":"interface","name":"ResourceNotificationService","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceNotificationService","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceNotificationService","summary":"A service that allows publishing and subscribing to changes in the state of a resource.","members":[{"id":"method:ResourceNotificationService.waitForResourceState","kind":"method","name":"waitForResourceState","declaration":"waitForResourceState(resourceName: string, options?: WaitForResourceStateOptions): ResourceNotificationServicePromise","capabilityId":"Aspire.Hosting/waitForResourceState","returnType":"ResourceNotificationServicePromise","summary":"Waits for a resource to reach a specified state.","parameters":[{"name":"resourceName","type":"string","optional":false},{"name":"targetState","type":"string","optional":true}]},{"id":"method:ResourceNotificationService.waitForResourceStates","kind":"method","name":"waitForResourceStates","declaration":"waitForResourceStates(resourceName: string, targetStates: string[]): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/waitForResourceStates","returnType":"Promise\u003Cstring\u003E","summary":"Waits for a resource to reach one of the specified states.","parameters":[{"name":"resourceName","type":"string","optional":false},{"name":"targetStates","type":"string[]","optional":false}]},{"id":"method:ResourceNotificationService.waitForResourceHealthy","kind":"method","name":"waitForResourceHealthy","declaration":"waitForResourceHealthy(resourceName: string): Promise\u003CResourceEventDto\u003E","capabilityId":"Aspire.Hosting/waitForResourceHealthy","returnType":"Promise\u003CResourceEventDto\u003E","summary":"Waits for a resource to become healthy.","parameters":[{"name":"resourceName","type":"string","optional":false}]},{"id":"method:ResourceNotificationService.waitForDependencies","kind":"method","name":"waitForDependencies","declaration":"waitForDependencies(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourceNotificationServicePromise","capabilityId":"Aspire.Hosting/waitForDependencies","returnType":"ResourceNotificationServicePromise","summary":"Waits for all dependencies of a resource to be ready.","parameters":[{"name":"resource","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false}]},{"id":"method:ResourceNotificationService.tryGetResourceState","kind":"method","name":"tryGetResourceState","declaration":"tryGetResourceState(resourceName: string): Promise\u003CResourceEventDto\u003E","capabilityId":"Aspire.Hosting/tryGetResourceState","returnType":"Promise\u003CResourceEventDto\u003E","summary":"Tries to get the current state of a resource.","parameters":[{"name":"resourceName","type":"string","optional":false}]},{"id":"method:ResourceNotificationService.publishResourceUpdate","kind":"method","name":"publishResourceUpdate","declaration":"publishResourceUpdate(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: PublishResourceUpdateOptions): ResourceNotificationServicePromise","capabilityId":"Aspire.Hosting/publishResourceUpdate","returnType":"ResourceNotificationServicePromise","summary":"Publishes an update for a resource\u0027s state.","parameters":[{"name":"resource","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"state","type":"string","optional":true},{"name":"stateStyle","type":"string","optional":true}]}]},{"id":"interface:ResourceReadyEvent","kind":"interface","name":"ResourceReadyEvent","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceReadyEvent","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceReadyEvent","summary":"Event that is raised when a resource initially transitions to a ready state.","remarks":"This event is only fired the first time a resource transitions to a ready state after starting.","members":[{"id":"property:ResourceReadyEvent.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceReadyEvent.resource","summary":"The resource that is in a healthy state."},{"id":"property:ResourceReadyEvent.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceReadyEvent.services"}]},{"id":"interface:ResourceStoppedEvent","kind":"interface","name":"ResourceStoppedEvent","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceStoppedEvent","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceStoppedEvent","summary":"This event is raised after a resource has stopped.","remarks":"This event allows for cleanup or unregistration logic when a resource is stopped by an orchestrator.","members":[{"id":"property:ResourceStoppedEvent.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceStoppedEvent.resource"},{"id":"property:ResourceStoppedEvent.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceStoppedEvent.services"}]},{"id":"interface:ResourceUrlsCallbackContext","kind":"interface","name":"ResourceUrlsCallbackContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceUrlsCallbackContext","summary":"Represents a callback context for resource URLs.","members":[{"id":"property:ResourceUrlsCallbackContext.resource","kind":"property","name":"resource","declaration":"resource(): ResourcePromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.resource","summary":"Gets the resource this the URLs are associated with."},{"id":"property:ResourceUrlsCallbackContext.urls","kind":"property","name":"urls","declaration":"urls(): ResourceUrlsEditorPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.urls","summary":"Gets the editor used to manipulate displayed URLs in polyglot callbacks."},{"id":"property:ResourceUrlsCallbackContext.log","kind":"property","name":"log","declaration":"log(): LogFacadePromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.log","summary":"Gets the logger facade used by polyglot callbacks."},{"id":"property:ResourceUrlsCallbackContext.executionContext","kind":"property","name":"executionContext","declaration":"executionContext(): DistributedApplicationExecutionContextPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.executionContext","summary":"Gets the execution context associated with this invocation of the AppHost."},{"id":"method:ResourceUrlsCallbackContext.getEndpoint","kind":"method","name":"getEndpoint","declaration":"getEndpoint(name: string): EndpointReferencePromise","capabilityId":"Aspire.Hosting.ApplicationModel/getEndpoint","returnType":"EndpointReferencePromise","summary":"Gets an endpoint reference from the associated resource","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the endpoint."}]}]},{"id":"interface:ResourceUrlsEditor","kind":"interface","name":"ResourceUrlsEditor","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsEditor","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceUrlsEditor","summary":"Provides an ATS-first editor for resource URLs within polyglot callbacks.","members":[{"id":"property:ResourceUrlsEditor.executionContext","kind":"property","name":"executionContext","declaration":"executionContext(): DistributedApplicationExecutionContextPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceUrlsEditor.executionContext","summary":"Gets the execution context associated with this editor."},{"id":"method:ResourceUrlsEditor.add","kind":"method","name":"add","declaration":"add(url: string | ReferenceExpression, options?: AddOptions): ResourceUrlsEditorPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceUrlsEditor.add","returnType":"ResourceUrlsEditorPromise","summary":"Adds a displayed URL.","parameters":[{"name":"url","type":"string | ReferenceExpression","optional":false,"summary":"The URL to add, specified as a string or reference expression."},{"name":"displayText","type":"string","optional":true,"summary":"The optional display text to show for the URL."}]},{"id":"method:ResourceUrlsEditor.addForEndpoint","kind":"method","name":"addForEndpoint","declaration":"addForEndpoint(endpoint: Awaitable\u003CEndpointReference\u003E, url: string | ReferenceExpression, options?: AddForEndpointOptions): ResourceUrlsEditorPromise","capabilityId":"Aspire.Hosting.ApplicationModel/ResourceUrlsEditor.addForEndpoint","returnType":"ResourceUrlsEditorPromise","summary":"Adds a displayed URL for a specific endpoint.","parameters":[{"name":"endpoint","type":"Awaitable\u003CEndpointReference\u003E","optional":false,"summary":"The endpoint the URL is associated with."},{"name":"url","type":"string | ReferenceExpression","optional":false,"summary":"The URL to add, specified as a string or reference expression."},{"name":"displayText","type":"string","optional":true,"summary":"The optional display text to show for the URL."}]}]},{"id":"interface:ResourceWithArgs","kind":"interface","name":"ResourceWithArgs","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithArgs","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceWithArgs extends ResourceBuilderBase","summary":"Represents a resource that is associated with commandline arguments.","extends":["ResourceBuilderBase"],"members":[{"id":"method:ResourceWithArgs.withArgs","kind":"method","name":"withArgs","declaration":"withArgs(args: string[]): ResourceWithArgsPromise","capabilityId":"Aspire.Hosting/withArgs","returnType":"ResourceWithArgsPromise","summary":"Adds arguments to be passed to a resource that supports arguments when it is launched.","parameters":[{"name":"args","type":"string[]","optional":false,"summary":"The arguments to be passed to the resource when it is started."}]},{"id":"method:ResourceWithArgs.withArgsCallback","kind":"method","name":"withArgsCallback","declaration":"withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourceWithArgsPromise","capabilityId":"Aspire.Hosting/withArgsCallback","returnType":"ResourceWithArgsPromise","summary":"Adds a callback to be executed with a list of command-line arguments when a resource is started.","parameters":[{"name":"callback","type":"(obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing arguments. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]}]},{"id":"interface:ResourceWithConnectionString","kind":"interface","name":"ResourceWithConnectionString","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithConnectionString","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceWithConnectionString extends ResourceBuilderBase","summary":"Represents a resource that has a connection string associated with it.","extends":["ResourceBuilderBase"],"members":[{"id":"method:ResourceWithConnectionString.withConnectionProperty","kind":"method","name":"withConnectionProperty","declaration":"withConnectionProperty(name: string, value: string | ReferenceExpression): ResourceWithConnectionStringPromise","capabilityId":"Aspire.Hosting/withConnectionProperty","returnType":"ResourceWithConnectionStringPromise","summary":"Adds a connection property annotation to the resource being built.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the connection property to add."},{"name":"value","type":"string | ReferenceExpression","optional":false,"summary":"The value to assign to the connection property, specified as a string or reference expression."}]},{"id":"method:ResourceWithConnectionString.getConnectionProperty","kind":"method","name":"getConnectionProperty","declaration":"getConnectionProperty(key: string): Promise\u003CReferenceExpression\u003E","capabilityId":"Aspire.Hosting/getConnectionProperty","returnType":"Promise\u003CReferenceExpression\u003E","summary":"Retrieves the value of a specified connection property from the resource\u0027s connection properties.","remarks":"Throws a KeyNotFoundException if the specified key does not exist in the resource\u0027s\nconnection properties.","parameters":[{"name":"key","type":"string","optional":false,"summary":"The key of the connection property to retrieve. Cannot be null."}]},{"id":"method:ResourceWithConnectionString.onConnectionStringAvailable","kind":"method","name":"onConnectionStringAvailable","declaration":"onConnectionStringAvailable(callback: (arg: ConnectionStringAvailableEvent) =\u003E Promise\u003Cvoid\u003E): ResourceWithConnectionStringPromise","capabilityId":"Aspire.Hosting/onConnectionStringAvailable","returnType":"ResourceWithConnectionStringPromise","summary":"Subscribes to the ConnectionStringAvailable event.","parameters":[{"name":"callback","type":"(arg: ConnectionStringAvailableEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]}]},{"id":"interface:ResourceWithContainerFiles","kind":"interface","name":"ResourceWithContainerFiles","typeId":"Aspire.Hosting/Aspire.Hosting.IResourceWithContainerFiles","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceWithContainerFiles extends ResourceBuilderBase","extends":["ResourceBuilderBase"],"members":[{"id":"method:ResourceWithContainerFiles.withContainerFilesSource","kind":"method","name":"withContainerFilesSource","declaration":"withContainerFilesSource(sourcePath: string): ResourceWithContainerFilesPromise","capabilityId":"Aspire.Hosting/withContainerFilesSource","returnType":"ResourceWithContainerFilesPromise","summary":"Adds a container files source annotation to the resource being built, specifying the path to the container files source.","parameters":[{"name":"sourcePath","type":"string","optional":false,"summary":"The path to the container files source to associate with the resource. Cannot be null."}]},{"id":"method:ResourceWithContainerFiles.clearContainerFilesSources","kind":"method","name":"clearContainerFilesSources","declaration":"clearContainerFilesSources(): ResourceWithContainerFilesPromise","capabilityId":"Aspire.Hosting/clearContainerFilesSources","returnType":"ResourceWithContainerFilesPromise","summary":"Removes any container files source annotation from the resource being built."}]},{"id":"interface:ResourceWithEndpoints","kind":"interface","name":"ResourceWithEndpoints","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceWithEndpoints extends ResourceBuilderBase","summary":"Represents a resource that has endpoints associated with it.","extends":["ResourceBuilderBase"],"members":[{"id":"method:ResourceWithEndpoints.withMcpServer","kind":"method","name":"withMcpServer","declaration":"withMcpServer(options?: WithMcpServerOptions): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withMcpServer","returnType":"ResourceWithEndpointsPromise","summary":"Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint.","remarks":"This method adds an \u0060McpServerEndpointAnnotation\u0060 to the resource, enabling the Aspire tooling\nto discover and proxy the MCP server exposed by the resource.","parameters":[{"name":"path","type":"string","optional":true,"summary":"An optional path to append to the endpoint URL when forming the MCP server address. Defaults to \u0060\u0022/mcp\u0022\u0060."},{"name":"endpointName","type":"string","optional":true,"summary":"An optional name of the endpoint that hosts the MCP server. If not specified, defaults to the first HTTPS or HTTP endpoint."}]},{"id":"method:ResourceWithEndpoints.withEndpointCallback","kind":"method","name":"withEndpointCallback","declaration":"withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withEndpointCallback","returnType":"ResourceWithEndpointsPromise","summary":"Updates a named endpoint via callback","parameters":[{"name":"endpointName","type":"string","optional":false},{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ResourceWithEndpoints.withHttpEndpointCallback","kind":"method","name":"withHttpEndpointCallback","declaration":"withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withHttpEndpointCallback","returnType":"ResourceWithEndpointsPromise","summary":"Updates an HTTP endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ResourceWithEndpoints.withHttpsEndpointCallback","kind":"method","name":"withHttpsEndpointCallback","declaration":"withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withHttpsEndpointCallback","returnType":"ResourceWithEndpointsPromise","summary":"Updates an HTTPS endpoint via callback","parameters":[{"name":"callback","type":"(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E","optional":false},{"name":"name","type":"string","optional":true},{"name":"createIfNotExists","type":"boolean","optional":true}]},{"id":"method:ResourceWithEndpoints.withEndpoint","kind":"method","name":"withEndpoint","declaration":"withEndpoint(options?: WithEndpointOptions): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withEndpoint","returnType":"ResourceWithEndpointsPromise","summary":"Adds a network endpoint","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"scheme","type":"string","optional":true,"summary":"An optional scheme e.g. (http/https). Defaults to the \u0060protocol\u0060 argument if it is defined or \u0022tcp\u0022 otherwise."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to the scheme name if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable that will be used to inject the \u0060targetPort\u0060. If the target port is null one will be dynamically generated and assigned to the environment variable."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."},{"name":"isExternal","type":"boolean","optional":true,"summary":"Indicates that this endpoint should be exposed externally at publish time."},{"name":"protocol","type":"ProtocolType","optional":true,"summary":"Network protocol: TCP or UDP are supported today, others possibly in future."}]},{"id":"method:ResourceWithEndpoints.withEndpointProxySupport","kind":"method","name":"withEndpointProxySupport","declaration":"withEndpointProxySupport(proxyEnabled: boolean): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withEndpointProxySupport","returnType":"ResourceWithEndpointsPromise","summary":"Set whether a resource can use proxied endpoints or whether they should be disabled for all endpoints belonging to the resource. If set to \u0060false\u0060, endpoints belonging to the resource will ignore the configured proxy settings and run proxy-less.","remarks":"This method is intended to support scenarios with persistent lifetime resources where it is desirable for the resource to be accessible over the same\nport whether the Aspire application is running or not. Proxied endpoints bind ports that are only accessible while the Aspire application is running.\nThe user needs to be careful to ensure that endpoints are using unique ports when disabling proxy support as by default for proxy-less\nendpoints, Aspire will allocate the target port as the host port, which will increase the chance of port conflicts.","parameters":[{"name":"proxyEnabled","type":"boolean","optional":false,"summary":"Should endpoints for the resource support using a proxy?"}]},{"id":"method:ResourceWithEndpoints.withHttpEndpoint","kind":"method","name":"withHttpEndpoint","declaration":"withHttpEndpoint(options?: WithHttpEndpointOptions): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withHttpEndpoint","returnType":"ResourceWithEndpointsPromise","summary":"Adds an HTTP endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022http\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:ResourceWithEndpoints.withHttpsEndpoint","kind":"method","name":"withHttpsEndpoint","declaration":"withHttpsEndpoint(options?: WithHttpsEndpointOptions): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withHttpsEndpoint","returnType":"ResourceWithEndpointsPromise","summary":"Adds an HTTPS endpoint","remarks":"If an endpoint with the same name already exists on the resource, the existing endpoint is updated\nwith any non-null parameter values. Parameters left as \u0060null\u0060 will not modify the existing endpoint\u0027s values.","parameters":[{"name":"port","type":"number","optional":true,"summary":"An optional host port."},{"name":"targetPort","type":"number","optional":true,"summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"name":"name","type":"string","optional":true,"summary":"An optional name of the endpoint. Defaults to \u0022https\u0022 if not specified."},{"name":"env","type":"string","optional":true,"summary":"An optional name of the environment variable to inject."},{"name":"isProxied","type":"boolean","optional":true,"summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"method:ResourceWithEndpoints.withExternalHttpEndpoints","kind":"method","name":"withExternalHttpEndpoints","declaration":"withExternalHttpEndpoints(): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withExternalHttpEndpoints","returnType":"ResourceWithEndpointsPromise","summary":"Marks existing http or https endpoints on a resource as external."},{"id":"method:ResourceWithEndpoints.getEndpoint","kind":"method","name":"getEndpoint","declaration":"getEndpoint(name: string): EndpointReferencePromise","capabilityId":"Aspire.Hosting/getEndpoint","returnType":"EndpointReferencePromise","summary":"Gets an endpoint reference","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the endpoint."}]},{"id":"method:ResourceWithEndpoints.asHttp2Service","kind":"method","name":"asHttp2Service","declaration":"asHttp2Service(): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/asHttp2Service","returnType":"ResourceWithEndpointsPromise","summary":"Configures a resource to mark all endpoints\u0027 transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge."},{"id":"method:ResourceWithEndpoints.withHttpHealthCheck","kind":"method","name":"withHttpHealthCheck","declaration":"withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withHttpHealthCheck","returnType":"ResourceWithEndpointsPromise","summary":"Adds a health check to the resource which is mapped to a specific endpoint.","parameters":[{"name":"path","type":"string","optional":true,"summary":"The relative path to test."},{"name":"statusCode","type":"number","optional":true,"summary":"The result code to interpret as healthy."},{"name":"endpointName","type":"string","optional":true,"summary":"The name of the endpoint to derive the base address from."}]},{"id":"method:ResourceWithEndpoints.withHttpCommand","kind":"method","name":"withHttpCommand","declaration":"withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withHttpCommand","returnType":"ResourceWithEndpointsPromise","summary":"Adds an HTTP resource command","parameters":[{"name":"path","type":"string","optional":false},{"name":"displayName","type":"string","optional":false},{"name":"options","type":"HttpCommandExportOptions","optional":true}]},{"id":"method:ResourceWithEndpoints.withHttpProbe","kind":"method","name":"withHttpProbe","declaration":"withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/withHttpProbe","returnType":"ResourceWithEndpointsPromise","summary":"Adds an HTTP health probe to the resource","parameters":[{"name":"probeType","type":"ProbeType","optional":false},{"name":"path","type":"string","optional":true},{"name":"initialDelaySeconds","type":"number","optional":true},{"name":"periodSeconds","type":"number","optional":true},{"name":"timeoutSeconds","type":"number","optional":true},{"name":"failureThreshold","type":"number","optional":true},{"name":"successThreshold","type":"number","optional":true},{"name":"endpointName","type":"string","optional":true}]},{"id":"method:ResourceWithEndpoints.onResourceEndpointsAllocated","kind":"method","name":"onResourceEndpointsAllocated","declaration":"onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ResourceWithEndpointsPromise","capabilityId":"Aspire.Hosting/onResourceEndpointsAllocated","returnType":"ResourceWithEndpointsPromise","summary":"Subscribes to the ResourceEndpointsAllocated event.","parameters":[{"name":"callback","type":"(arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to invoke when the event fires."}]}]},{"id":"interface:ResourceWithEnvironment","kind":"interface","name":"ResourceWithEnvironment","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceWithEnvironment extends ResourceBuilderBase","summary":"Represents a resource that is associated with an environment.","extends":["ResourceBuilderBase"],"members":[{"id":"method:ResourceWithEnvironment.withOtlpExporter","kind":"method","name":"withOtlpExporter","declaration":"withOtlpExporter(options?: WithOtlpExporterOptions): ResourceWithEnvironmentPromise","capabilityId":"Aspire.Hosting/withOtlpExporter","returnType":"ResourceWithEnvironmentPromise","summary":"Configures OTLP telemetry export","parameters":[{"name":"protocol","type":"OtlpProtocol","optional":true}]},{"id":"method:ResourceWithEnvironment.withEnvironment","kind":"method","name":"withEnvironment","declaration":"withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ResourceWithEnvironmentPromise","capabilityId":"Aspire.Hosting/withEnvironment","returnType":"ResourceWithEnvironmentPromise","summary":"Sets an environment variable","parameters":[{"name":"name","type":"string","optional":false},{"name":"value","type":"string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E","optional":false}]},{"id":"method:ResourceWithEnvironment.withEnvironmentCallback","kind":"method","name":"withEnvironmentCallback","declaration":"withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourceWithEnvironmentPromise","capabilityId":"Aspire.Hosting/withEnvironmentCallback","returnType":"ResourceWithEnvironmentPromise","summary":"Allows for the population of environment variables on a resource.","parameters":[{"name":"callback","type":"(arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"A callback that allows for deferred execution for computing many environment variables. This runs after resources have been allocated by the orchestrator and allows access to other resources to resolve computed data, e.g. connection strings, ports."}]},{"id":"method:ResourceWithEnvironment.withReferenceEnvironment","kind":"method","name":"withReferenceEnvironment","declaration":"withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ResourceWithEnvironmentPromise","capabilityId":"Aspire.Hosting/withReferenceEnvironment","returnType":"ResourceWithEnvironmentPromise","summary":"Configures how information is injected into environment variables when the resource references other resources.","parameters":[{"name":"options","type":"ReferenceEnvironmentInjectionOptions","optional":false,"summary":"Options controlling which reference information is emitted."}]},{"id":"method:ResourceWithEnvironment.withReference","kind":"method","name":"withReference","declaration":"withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ResourceWithEnvironmentPromise","capabilityId":"Aspire.Hosting/withReference","returnType":"ResourceWithEnvironmentPromise","summary":"Adds a reference to another resource","parameters":[{"name":"source","type":"CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E","optional":false},{"name":"connectionName","type":"string","optional":true},{"name":"optional","type":"boolean","optional":true},{"name":"name","type":"string","optional":true}]},{"id":"method:ResourceWithEnvironment.withDeveloperCertificateTrust","kind":"method","name":"withDeveloperCertificateTrust","declaration":"withDeveloperCertificateTrust(trust: boolean): ResourceWithEnvironmentPromise","capabilityId":"Aspire.Hosting/withDeveloperCertificateTrust","returnType":"ResourceWithEnvironmentPromise","summary":"Indicates whether developer certificates should be treated as trusted certificate authorities for the resource at run time. Currently this indicates trust for the ASP.NET Core developer certificate. The developer certificate will only be trusted when running in local development scenarios; in publish mode resources will use their default certificate trust.","remarks":"Disable trust for app host managed developer certificate(s) for a container resource.\n\u0060\u0060\u0060\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithDeveloperCertificateTrust(false);\n\u0060\u0060\u0060\nDisable automatic trust for app host managed developer certificate(s), but explicitly enable it for a specific resource.\n\u0060\u0060\u0060\nvar builder = DistributedApplication.CreateBuilder(new DistributedApplicationOptions()\n{\nArgs = args,\nTrustDeveloperCertificate = false,\n});\nvar project = builder.AddProject\u003CMyService\u003E(\u0022my-service\u0022)\n.WithDeveloperCertificateTrust(true);\n\u0060\u0060\u0060","parameters":[{"name":"trust","type":"boolean","optional":false,"summary":"Indicates whether the developer certificate should be treated as trusted."}]},{"id":"method:ResourceWithEnvironment.withCertificateTrustScope","kind":"method","name":"withCertificateTrustScope","declaration":"withCertificateTrustScope(scope: CertificateTrustScope): ResourceWithEnvironmentPromise","capabilityId":"Aspire.Hosting/withCertificateTrustScope","returnType":"ResourceWithEnvironmentPromise","summary":"Sets the certificate trust scope","remarks":"The default scope if not overridden is \u0060Append\u0060 which means that custom certificate\nauthorities should be appended to the default trusted certificate authorities for the resource. Setting the scope to\n\u0060Override\u0060 indicates the set of certificates in referenced\n\u0060CertificateAuthorityCollection\u0060 (and optionally Aspire developer certificiates) should be used as the\nexclusive source of trust for a resource.\nIn all cases, this is a best effort implementation as not all resources support full customization of certificate\ntrust.\nSet the scope for custom certificate authorities to override the default trusted certificate authorities for a container resource.\n\u0060\u0060\u0060\nvar caCollection = builder.AddCertificateAuthorityCollection(\u0022my-cas\u0022)\n.WithCertificate(new X509Certificate2(\u0022my-ca.pem\u0022));\nvar container = builder.AddContainer(\u0022my-service\u0022, \u0022my-service:latest\u0022)\n.WithCertificateAuthorityCollection(caCollection)\n.WithCertificateTrustScope(CertificateTrustScope.Override);\n\u0060\u0060\u0060","parameters":[{"name":"scope","type":"CertificateTrustScope","optional":false,"summary":"The scope to apply to custom certificate authorities associated with the resource."}]},{"id":"method:ResourceWithEnvironment.withHttpsDeveloperCertificate","kind":"method","name":"withHttpsDeveloperCertificate","declaration":"withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ResourceWithEnvironmentPromise","capabilityId":"Aspire.Hosting/withParameterHttpsDeveloperCertificate","returnType":"ResourceWithEnvironmentPromise","summary":"Indicates that a resource should use the developer certificate key pair for HTTPS endpoints at run time. Currently this indicates use of the ASP.NET Core developer certificate. The developer certificate will only be used when running in local development scenarios; in publish mode resources will use their default certificate configuration.","remarks":"Use the developer certificate for HTTPS/TLS endpoints on a container resource:\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsDeveloperCertificate()\n\u0060\u0060\u0060","parameters":[{"name":"password","type":"Awaitable\u003CParameterResource\u003E","optional":true,"summary":"A parameter specifying the password used to encrypt the certificate private key."}]},{"id":"method:ResourceWithEnvironment.withoutHttpsCertificate","kind":"method","name":"withoutHttpsCertificate","declaration":"withoutHttpsCertificate(): ResourceWithEnvironmentPromise","capabilityId":"Aspire.Hosting/withoutHttpsCertificate","returnType":"ResourceWithEnvironmentPromise","summary":"Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied.","remarks":"Disable HTTPS certificate configuration for a Redis resource:\n\u0060\u0060\u0060\nvar redis = builder.AddRedis(\u0022cache\u0022)\n.WithoutHttpsCertificate();\n\u0060\u0060\u0060"},{"id":"method:ResourceWithEnvironment.withHttpsCertificateConfiguration","kind":"method","name":"withHttpsCertificateConfiguration","declaration":"withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ResourceWithEnvironmentPromise","capabilityId":"Aspire.Hosting/withHttpsCertificateConfiguration","returnType":"ResourceWithEnvironmentPromise","summary":"Adds a callback that allows configuring the resource to use a specific HTTPS/TLS certificate key pair for server authentication.","remarks":"Pass the path to the PFX certificate file to the container arguments.\n\u0060\u0060\u0060\nbuilder.AddContainer(\u0022my-service\u0022, \u0022my-image\u0022)\n.WithHttpsCertificateConfiguration(ctx =\u003E\n{\nctx.Arguments.Add(\u0022--https-certificate-path\u0022);\nctx.Arguments.Add(ctx.PfxPath);\nreturn Task.CompletedTask;\n});\n\u0060\u0060\u0060","parameters":[{"name":"callback","type":"(arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E","optional":false,"summary":"The callback to configure the resource to use a certificate key pair."}]}]},{"id":"interface:ResourceWithWaitSupport","kind":"interface","name":"ResourceWithWaitSupport","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport","owningAssembly":"Aspire.Hosting","declaration":"export interface ResourceWithWaitSupport extends ResourceBuilderBase","summary":"Represents a resource that can wait for other resources to be running, health, and/or completed.","extends":["ResourceBuilderBase"],"members":[{"id":"method:ResourceWithWaitSupport.waitFor","kind":"method","name":"waitFor","declaration":"waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ResourceWithWaitSupportPromise","capabilityId":"Aspire.Hosting/waitFor","returnType":"ResourceWithWaitSupportPromise","summary":"Waits for another resource to be ready","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:ResourceWithWaitSupport.waitForStart","kind":"method","name":"waitForStart","declaration":"waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ResourceWithWaitSupportPromise","capabilityId":"Aspire.Hosting/waitForStart","returnType":"ResourceWithWaitSupportPromise","summary":"Waits for another resource to start","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false},{"name":"waitBehavior","type":"WaitBehavior","optional":true}]},{"id":"method:ResourceWithWaitSupport.waitForCompletion","kind":"method","name":"waitForCompletion","declaration":"waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ResourceWithWaitSupportPromise","capabilityId":"Aspire.Hosting/waitForResourceCompletion","returnType":"ResourceWithWaitSupportPromise","summary":"Waits for the dependency resource to enter the Exited or Finished state before starting the resource.","parameters":[{"name":"dependency","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"The resource builder for the dependency resource."},{"name":"exitCode","type":"number","optional":true,"summary":"The exit code which is interpreted as successful."}]}]},{"id":"interface:UpdateCommandStateContext","kind":"interface","name":"UpdateCommandStateContext","typeId":"Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext","owningAssembly":"Aspire.Hosting","declaration":"export interface UpdateCommandStateContext","summary":"Context for {@ats-ref method:ResourceCommandAnnotation.UpdateState}.","members":[{"id":"property:UpdateCommandStateContext.resourceSnapshot","kind":"property","name":"resourceSnapshot","declaration":"resourceSnapshot(): Promise\u003CUpdateCommandStateResourceSnapshot\u003E","capabilityId":"Aspire.Hosting.ApplicationModel/UpdateCommandStateContext.resourceSnapshot","summary":"Gets the resource snapshot data available to polyglot command state callbacks."},{"id":"property:UpdateCommandStateContext.services","kind":"property","name":"services","declaration":"services(): ServiceProviderPromise","capabilityId":"Aspire.Hosting.ApplicationModel/UpdateCommandStateContext.services","summary":"The service provider."}]},{"id":"interface:UserSecretsManager","kind":"interface","name":"UserSecretsManager","typeId":"Aspire.Hosting/Aspire.Hosting.IUserSecretsManager","owningAssembly":"Aspire.Hosting","declaration":"export interface UserSecretsManager","summary":"Defines an interface for managing user secrets with support for read and write operations.","members":[{"id":"property:UserSecretsManager.isAvailable","kind":"property","name":"isAvailable","declaration":"isAvailable(): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting/IUserSecretsManager.isAvailable","summary":"Gets a value indicating whether user secrets are available.","remarks":"Returns \u0060true\u0060 if the project has a user secrets ID configured; otherwise, \u0060false\u0060."},{"id":"property:UserSecretsManager.filePath","kind":"property","name":"filePath","declaration":"filePath(): Promise\u003Cstring\u003E","capabilityId":"Aspire.Hosting/IUserSecretsManager.filePath","summary":"Gets the path to the user secrets file."},{"id":"method:UserSecretsManager.trySetSecret","kind":"method","name":"trySetSecret","declaration":"trySetSecret(name: string, value: string): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting/IUserSecretsManager.trySetSecret","returnType":"Promise\u003Cboolean\u003E","summary":"Attempts to set a user secret value synchronously.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the secret."},{"name":"value","type":"string","optional":false,"summary":"The value of the secret."}]},{"id":"method:UserSecretsManager.tryDeleteSecret","kind":"method","name":"tryDeleteSecret","declaration":"tryDeleteSecret(name: string): Promise\u003Cboolean\u003E","capabilityId":"Aspire.Hosting/IUserSecretsManager.tryDeleteSecret","returnType":"Promise\u003Cboolean\u003E","summary":"Attempts to delete a user secret value synchronously.","remarks":"The default implementation returns \u0060false\u0060 so existing implementations remain compatible.","parameters":[{"name":"name","type":"string","optional":false,"summary":"The name of the secret."}]},{"id":"method:UserSecretsManager.saveStateJson","kind":"method","name":"saveStateJson","declaration":"saveStateJson(json: string, options?: SaveStateJsonOptions): UserSecretsManagerPromise","capabilityId":"Aspire.Hosting/saveStateJson","returnType":"UserSecretsManagerPromise","summary":"Saves state to user secrets from a JSON string.","parameters":[{"name":"json","type":"string","optional":false,"summary":"The JSON object payload to persist."},{"name":"cancellationToken","type":"AbortSignal | CancellationToken","optional":true,"summary":"The cancellation token."}]},{"id":"method:UserSecretsManager.getOrSetSecret","kind":"method","name":"getOrSetSecret","declaration":"getOrSetSecret(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, name: string, value: string): UserSecretsManagerPromise","capabilityId":"Aspire.Hosting/getOrSetSecret","returnType":"UserSecretsManagerPromise","summary":"Gets a secret value if it exists in configuration, or sets it to the provided value if it does not.","parameters":[{"name":"resourceBuilder","type":"Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E","optional":false,"summary":"A resource builder from the target application."},{"name":"name","type":"string","optional":false,"summary":"The secret name."},{"name":"value","type":"string","optional":false,"summary":"The value to persist when the secret is missing."}]}]},{"id":"options:AddCSharpAppOptions","kind":"options","name":"AddCSharpAppOptions","typeId":"Aspire.Hosting/AddCSharpAppOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddCSharpAppOptions","members":[{"id":"property:AddCSharpAppOptions.options","kind":"property","name":"options","declaration":"options?: Awaitable\u003CProjectResourceOptions\u003E"}]},{"id":"options:AddConnectionStringOptions","kind":"options","name":"AddConnectionStringOptions","typeId":"Aspire.Hosting/AddConnectionStringOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddConnectionStringOptions","members":[{"id":"property:AddConnectionStringOptions.environmentVariableNameOrExpression","kind":"property","name":"environmentVariableNameOrExpression","declaration":"environmentVariableNameOrExpression?: string | ReferenceExpression"}]},{"id":"options:AddContainerFilesOptions","kind":"options","name":"AddContainerFilesOptions","typeId":"Aspire.Hosting/AddContainerFilesOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddContainerFilesOptions","members":[{"id":"property:AddContainerFilesOptions.logger","kind":"property","name":"logger","declaration":"logger?: Awaitable\u003CLogger\u003E"}]},{"id":"options:AddContainerFilesStagesOptions","kind":"options","name":"AddContainerFilesStagesOptions","typeId":"Aspire.Hosting/AddContainerFilesStagesOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddContainerFilesStagesOptions","members":[{"id":"property:AddContainerFilesStagesOptions.logger","kind":"property","name":"logger","declaration":"logger?: Awaitable\u003CLogger\u003E"}]},{"id":"options:AddContainerRegistryOptions","kind":"options","name":"AddContainerRegistryOptions","typeId":"Aspire.Hosting/AddContainerRegistryOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddContainerRegistryOptions","members":[{"id":"property:AddContainerRegistryOptions.repository","kind":"property","name":"repository","declaration":"repository?: string | ParameterResource | Awaitable\u003CParameterResource\u003E"}]},{"id":"options:AddDockerfileBuilderOptions","kind":"options","name":"AddDockerfileBuilderOptions","typeId":"Aspire.Hosting/AddDockerfileBuilderOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddDockerfileBuilderOptions","members":[{"id":"property:AddDockerfileBuilderOptions.stage","kind":"property","name":"stage","declaration":"stage?: string","summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"options:AddDockerfileFactoryOptions","kind":"options","name":"AddDockerfileFactoryOptions","typeId":"Aspire.Hosting/AddDockerfileFactoryOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddDockerfileFactoryOptions","members":[{"id":"property:AddDockerfileFactoryOptions.stage","kind":"property","name":"stage","declaration":"stage?: string","summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"options:AddDockerfileOptions","kind":"options","name":"AddDockerfileOptions","typeId":"Aspire.Hosting/AddDockerfileOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddDockerfileOptions","members":[{"id":"property:AddDockerfileOptions.dockerfilePath","kind":"property","name":"dockerfilePath","declaration":"dockerfilePath?: string","summary":"Path to the Dockerfile relative to the \u0060contextPath\u0060. Defaults to \u0022Dockerfile\u0022 if not specified."},{"id":"property:AddDockerfileOptions.stage","kind":"property","name":"stage","declaration":"stage?: string","summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"options:AddForEndpointOptions","kind":"options","name":"AddForEndpointOptions","typeId":"Aspire.Hosting/AddForEndpointOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddForEndpointOptions","members":[{"id":"property:AddForEndpointOptions.displayText","kind":"property","name":"displayText","declaration":"displayText?: string","summary":"The optional display text to show for the URL."}]},{"id":"options:AddOptions","kind":"options","name":"AddOptions","typeId":"Aspire.Hosting/AddOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddOptions","members":[{"id":"property:AddOptions.displayText","kind":"property","name":"displayText","declaration":"displayText?: string","summary":"The optional display text to show for the URL."}]},{"id":"options:AddParameterFromConfigurationOptions","kind":"options","name":"AddParameterFromConfigurationOptions","typeId":"Aspire.Hosting/AddParameterFromConfigurationOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddParameterFromConfigurationOptions","members":[{"id":"property:AddParameterFromConfigurationOptions.secret","kind":"property","name":"secret","declaration":"secret?: boolean","summary":"Optional flag indicating whether the parameter should be regarded as secret."}]},{"id":"options:AddParameterOptions","kind":"options","name":"AddParameterOptions","typeId":"Aspire.Hosting/AddParameterOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddParameterOptions","members":[{"id":"property:AddParameterOptions.value","kind":"property","name":"value","declaration":"value?: string"},{"id":"property:AddParameterOptions.publishValueAsDefault","kind":"property","name":"publishValueAsDefault","declaration":"publishValueAsDefault?: boolean"},{"id":"property:AddParameterOptions.secret","kind":"property","name":"secret","declaration":"secret?: boolean"}]},{"id":"options:AddParameterWithGeneratedValueOptions","kind":"options","name":"AddParameterWithGeneratedValueOptions","typeId":"Aspire.Hosting/AddParameterWithGeneratedValueOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddParameterWithGeneratedValueOptions","members":[{"id":"property:AddParameterWithGeneratedValueOptions.secret","kind":"property","name":"secret","declaration":"secret?: boolean"},{"id":"property:AddParameterWithGeneratedValueOptions.persist","kind":"property","name":"persist","declaration":"persist?: boolean"}]},{"id":"options:AddProjectOptions","kind":"options","name":"AddProjectOptions","typeId":"Aspire.Hosting/AddProjectOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddProjectOptions","members":[{"id":"property:AddProjectOptions.launchProfileOrOptions","kind":"property","name":"launchProfileOrOptions","declaration":"launchProfileOrOptions?: string | ProjectResourceOptions | Awaitable\u003CProjectResourceOptions\u003E"}]},{"id":"options:AddStepOptions","kind":"options","name":"AddStepOptions","typeId":"Aspire.Hosting/AddStepOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AddStepOptions","members":[{"id":"property:AddStepOptions.dependsOn","kind":"property","name":"dependsOn","declaration":"dependsOn?: string[]","summary":"Optional step names that this step depends on."},{"id":"property:AddStepOptions.requiredBy","kind":"property","name":"requiredBy","declaration":"requiredBy?: string[]","summary":"Optional step names that require this step."}]},{"id":"options:AppendFormattedOptions","kind":"options","name":"AppendFormattedOptions","typeId":"Aspire.Hosting/AppendFormattedOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AppendFormattedOptions","members":[{"id":"property:AppendFormattedOptions.format","kind":"property","name":"format","declaration":"format?: string","summary":"The format to be applied to the value. e.g., \u0022uri\u0022"}]},{"id":"options:AppendValueProviderOptions","kind":"options","name":"AppendValueProviderOptions","typeId":"Aspire.Hosting/AppendValueProviderOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface AppendValueProviderOptions","members":[{"id":"property:AppendValueProviderOptions.format","kind":"property","name":"format","declaration":"format?: string","summary":"Optional format specifier."}]},{"id":"options:ArgOptions","kind":"options","name":"ArgOptions","typeId":"Aspire.Hosting/ArgOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface ArgOptions","members":[{"id":"property:ArgOptions.defaultValue","kind":"property","name":"defaultValue","declaration":"defaultValue?: string"}]},{"id":"options:BuildOptions","kind":"options","name":"BuildOptions","typeId":"Aspire.Hosting/BuildOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface BuildOptions","members":[{"id":"property:BuildOptions.resourceLogger","kind":"property","name":"resourceLogger","declaration":"resourceLogger?: Awaitable\u003CLogger\u003E","summary":"The logger used while resolving values."},{"id":"property:BuildOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken","summary":"A cancellation token."}]},{"id":"options:CompleteStepMarkdownOptions","kind":"options","name":"CompleteStepMarkdownOptions","typeId":"Aspire.Hosting/CompleteStepMarkdownOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CompleteStepMarkdownOptions","members":[{"id":"property:CompleteStepMarkdownOptions.completionState","kind":"property","name":"completionState","declaration":"completionState?: string"},{"id":"property:CompleteStepMarkdownOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken"}]},{"id":"options:CompleteStepOptions","kind":"options","name":"CompleteStepOptions","typeId":"Aspire.Hosting/CompleteStepOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CompleteStepOptions","members":[{"id":"property:CompleteStepOptions.completionState","kind":"property","name":"completionState","declaration":"completionState?: string"},{"id":"property:CompleteStepOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken"}]},{"id":"options:CompleteTaskMarkdownOptions","kind":"options","name":"CompleteTaskMarkdownOptions","typeId":"Aspire.Hosting/CompleteTaskMarkdownOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CompleteTaskMarkdownOptions","members":[{"id":"property:CompleteTaskMarkdownOptions.completionState","kind":"property","name":"completionState","declaration":"completionState?: string"},{"id":"property:CompleteTaskMarkdownOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken"}]},{"id":"options:CompleteTaskOptions","kind":"options","name":"CompleteTaskOptions","typeId":"Aspire.Hosting/CompleteTaskOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CompleteTaskOptions","members":[{"id":"property:CompleteTaskOptions.completionMessage","kind":"property","name":"completionMessage","declaration":"completionMessage?: string"},{"id":"property:CompleteTaskOptions.completionState","kind":"property","name":"completionState","declaration":"completionState?: string"},{"id":"property:CompleteTaskOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken"}]},{"id":"options:CopyFromOptions","kind":"options","name":"CopyFromOptions","typeId":"Aspire.Hosting/CopyFromOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CopyFromOptions","members":[{"id":"property:CopyFromOptions.chown","kind":"property","name":"chown","declaration":"chown?: string"}]},{"id":"options:CopyOptions","kind":"options","name":"CopyOptions","typeId":"Aspire.Hosting/CopyOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CopyOptions","members":[{"id":"property:CopyOptions.chown","kind":"property","name":"chown","declaration":"chown?: string"}]},{"id":"options:CreateCertificateFileOptions","kind":"options","name":"CreateCertificateFileOptions","typeId":"Aspire.Hosting/CreateCertificateFileOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CreateCertificateFileOptions","members":[{"id":"property:CreateCertificateFileOptions.contents","kind":"property","name":"contents","declaration":"contents?: string","summary":"The inline PEM-encoded contents of the certificate. Mutually exclusive with \u0060sourcePath\u0060."},{"id":"property:CreateCertificateFileOptions.sourcePath","kind":"property","name":"sourcePath","declaration":"sourcePath?: string","summary":"An absolute path to a PEM file on the host to copy. Mutually exclusive with \u0060contents\u0060."},{"id":"property:CreateCertificateFileOptions.owner","kind":"property","name":"owner","declaration":"owner?: number","summary":"The owner UID, or \u0060null\u0060 to inherit."},{"id":"property:CreateCertificateFileOptions.group","kind":"property","name":"group","declaration":"group?: number","summary":"The group GID, or \u0060null\u0060 to inherit."},{"id":"property:CreateCertificateFileOptions.mode","kind":"property","name":"mode","declaration":"mode?: number","summary":"The Unix file mode as an integer (for example \u00600o644\u0060), or \u0060null\u0060 to inherit."},{"id":"property:CreateCertificateFileOptions.continueOnError","kind":"property","name":"continueOnError","declaration":"continueOnError?: boolean","summary":"Whether to ignore errors creating this file."}]},{"id":"options:CreateChoiceInputOptions","kind":"options","name":"CreateChoiceInputOptions","typeId":"Aspire.Hosting/CreateChoiceInputOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CreateChoiceInputOptions","members":[{"id":"property:CreateChoiceInputOptions.choices","kind":"property","name":"choices","declaration":"choices?: InteractionChoiceOption[]","summary":"The available choices, in display order. Each option pairs a submitted value with a display label."},{"id":"property:CreateChoiceInputOptions.options","kind":"property","name":"options","declaration":"options?: CreateInteractionInputOptions","summary":"Optional configuration for the input."}]},{"id":"options:CreateDirectoryOptions","kind":"options","name":"CreateDirectoryOptions","typeId":"Aspire.Hosting/CreateDirectoryOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CreateDirectoryOptions","members":[{"id":"property:CreateDirectoryOptions.owner","kind":"property","name":"owner","declaration":"owner?: number","summary":"The owner UID, or \u0060null\u0060 to inherit."},{"id":"property:CreateDirectoryOptions.group","kind":"property","name":"group","declaration":"group?: number","summary":"The group GID, or \u0060null\u0060 to inherit."},{"id":"property:CreateDirectoryOptions.mode","kind":"property","name":"mode","declaration":"mode?: number","summary":"The Unix file mode as an integer (for example \u00600o755\u0060), or \u0060null\u0060 to inherit."}]},{"id":"options:CreateFileOptions","kind":"options","name":"CreateFileOptions","typeId":"Aspire.Hosting/CreateFileOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CreateFileOptions","members":[{"id":"property:CreateFileOptions.contents","kind":"property","name":"contents","declaration":"contents?: string","summary":"The inline UTF-8 contents of the file. Mutually exclusive with \u0060sourcePath\u0060."},{"id":"property:CreateFileOptions.sourcePath","kind":"property","name":"sourcePath","declaration":"sourcePath?: string","summary":"An absolute path to a file on the host to copy. Mutually exclusive with \u0060contents\u0060."},{"id":"property:CreateFileOptions.owner","kind":"property","name":"owner","declaration":"owner?: number","summary":"The owner UID, or \u0060null\u0060 to inherit."},{"id":"property:CreateFileOptions.group","kind":"property","name":"group","declaration":"group?: number","summary":"The group GID, or \u0060null\u0060 to inherit."},{"id":"property:CreateFileOptions.mode","kind":"property","name":"mode","declaration":"mode?: number","summary":"The Unix file mode as an integer (for example \u00600o644\u0060), or \u0060null\u0060 to inherit."},{"id":"property:CreateFileOptions.continueOnError","kind":"property","name":"continueOnError","declaration":"continueOnError?: boolean","summary":"Whether to ignore errors creating this file."}]},{"id":"options:CreateMarkdownTaskOptions","kind":"options","name":"CreateMarkdownTaskOptions","typeId":"Aspire.Hosting/CreateMarkdownTaskOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CreateMarkdownTaskOptions","members":[{"id":"property:CreateMarkdownTaskOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken"}]},{"id":"options:CreateTaskOptions","kind":"options","name":"CreateTaskOptions","typeId":"Aspire.Hosting/CreateTaskOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface CreateTaskOptions","members":[{"id":"property:CreateTaskOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken"}]},{"id":"options:ExecuteCommandAsyncOptions","kind":"options","name":"ExecuteCommandAsyncOptions","typeId":"Aspire.Hosting/ExecuteCommandAsyncOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface ExecuteCommandAsyncOptions","members":[{"id":"property:ExecuteCommandAsyncOptions.arguments","kind":"property","name":"arguments","declaration":"arguments?: Record\u003Cstring, string\u003E","summary":"The optional invocation arguments supplied to the command callback."},{"id":"property:ExecuteCommandAsyncOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken","summary":"The cancellation token."}]},{"id":"options:FromOptions","kind":"options","name":"FromOptions","typeId":"Aspire.Hosting/FromOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface FromOptions","members":[{"id":"property:FromOptions.stageName","kind":"property","name":"stageName","declaration":"stageName?: string"}]},{"id":"options:GetValueAsyncOptions","kind":"options","name":"GetValueAsyncOptions","typeId":"Aspire.Hosting/GetValueAsyncOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface GetValueAsyncOptions","members":[{"id":"property:GetValueAsyncOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken","summary":"The cancellation token."}]},{"id":"options:PromptProgressOptions","kind":"options","name":"PromptProgressOptions","typeId":"Aspire.Hosting/PromptProgressOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface PromptProgressOptions","members":[{"id":"property:PromptProgressOptions.title","kind":"property","name":"title","declaration":"title?: string"},{"id":"property:PromptProgressOptions.options","kind":"property","name":"options","declaration":"options?: InteractionProgressOptions"},{"id":"property:PromptProgressOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken"}]},{"id":"options:PublishAsDockerFileOptions","kind":"options","name":"PublishAsDockerFileOptions","typeId":"Aspire.Hosting/PublishAsDockerFileOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface PublishAsDockerFileOptions","members":[{"id":"property:PublishAsDockerFileOptions.configure","kind":"property","name":"configure","declaration":"configure?: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E","summary":"Optional action to configure the container resource"}]},{"id":"options:PublishResourceUpdateOptions","kind":"options","name":"PublishResourceUpdateOptions","typeId":"Aspire.Hosting/PublishResourceUpdateOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface PublishResourceUpdateOptions","members":[{"id":"property:PublishResourceUpdateOptions.state","kind":"property","name":"state","declaration":"state?: string"},{"id":"property:PublishResourceUpdateOptions.stateStyle","kind":"property","name":"stateStyle","declaration":"stateStyle?: string"}]},{"id":"options:RunOptions","kind":"options","name":"RunOptions","typeId":"Aspire.Hosting/RunOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface RunOptions","members":[{"id":"property:RunOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken","summary":"The token to trigger shutdown."}]},{"id":"options:SaveStateJsonOptions","kind":"options","name":"SaveStateJsonOptions","typeId":"Aspire.Hosting/SaveStateJsonOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface SaveStateJsonOptions","members":[{"id":"property:SaveStateJsonOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken","summary":"The cancellation token."}]},{"id":"options:UpdateTaskMarkdownOptions","kind":"options","name":"UpdateTaskMarkdownOptions","typeId":"Aspire.Hosting/UpdateTaskMarkdownOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface UpdateTaskMarkdownOptions","members":[{"id":"property:UpdateTaskMarkdownOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken"}]},{"id":"options:UpdateTaskOptions","kind":"options","name":"UpdateTaskOptions","typeId":"Aspire.Hosting/UpdateTaskOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface UpdateTaskOptions","members":[{"id":"property:UpdateTaskOptions.cancellationToken","kind":"property","name":"cancellationToken","declaration":"cancellationToken?: AbortSignal | CancellationToken"}]},{"id":"options:WaitForCompletionOptions","kind":"options","name":"WaitForCompletionOptions","typeId":"Aspire.Hosting/WaitForCompletionOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WaitForCompletionOptions","members":[{"id":"property:WaitForCompletionOptions.exitCode","kind":"property","name":"exitCode","declaration":"exitCode?: number","summary":"The exit code which is interpreted as successful."}]},{"id":"options:WaitForOptions","kind":"options","name":"WaitForOptions","typeId":"Aspire.Hosting/WaitForOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WaitForOptions","members":[{"id":"property:WaitForOptions.waitBehavior","kind":"property","name":"waitBehavior","declaration":"waitBehavior?: WaitBehavior"}]},{"id":"options:WaitForResourceStateOptions","kind":"options","name":"WaitForResourceStateOptions","typeId":"Aspire.Hosting/WaitForResourceStateOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WaitForResourceStateOptions","members":[{"id":"property:WaitForResourceStateOptions.targetState","kind":"property","name":"targetState","declaration":"targetState?: string"}]},{"id":"options:WaitForStartOptions","kind":"options","name":"WaitForStartOptions","typeId":"Aspire.Hosting/WaitForStartOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WaitForStartOptions","members":[{"id":"property:WaitForStartOptions.waitBehavior","kind":"property","name":"waitBehavior","declaration":"waitBehavior?: WaitBehavior"}]},{"id":"options:WithBindMountOptions","kind":"options","name":"WithBindMountOptions","typeId":"Aspire.Hosting/WithBindMountOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithBindMountOptions","members":[{"id":"property:WithBindMountOptions.isReadOnly","kind":"property","name":"isReadOnly","declaration":"isReadOnly?: boolean","summary":"A flag that indicates if this is a read-only mount."}]},{"id":"options:WithCommandOptions","kind":"options","name":"WithCommandOptions","typeId":"Aspire.Hosting/WithCommandOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithCommandOptions","members":[{"id":"property:WithCommandOptions.commandOptions","kind":"property","name":"commandOptions","declaration":"commandOptions?: CommandOptions","summary":"Optional configuration for the command."}]},{"id":"options:WithContainerCertificatePathsOptions","kind":"options","name":"WithContainerCertificatePathsOptions","typeId":"Aspire.Hosting/WithContainerCertificatePathsOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithContainerCertificatePathsOptions","members":[{"id":"property:WithContainerCertificatePathsOptions.customCertificatesDestination","kind":"property","name":"customCertificatesDestination","declaration":"customCertificatesDestination?: string","summary":"The destination path in the container where custom certificates will be copied."},{"id":"property:WithContainerCertificatePathsOptions.defaultCertificateBundlePaths","kind":"property","name":"defaultCertificateBundlePaths","declaration":"defaultCertificateBundlePaths?: string[]","summary":"Default certificate bundle paths in the container that will be replaced."},{"id":"property:WithContainerCertificatePathsOptions.defaultCertificateDirectoryPaths","kind":"property","name":"defaultCertificateDirectoryPaths","declaration":"defaultCertificateDirectoryPaths?: string[]","summary":"Default certificate directory paths in the container that may be appended."}]},{"id":"options:WithDescriptionOptions","kind":"options","name":"WithDescriptionOptions","typeId":"Aspire.Hosting/WithDescriptionOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithDescriptionOptions","members":[{"id":"property:WithDescriptionOptions.enableMarkdown","kind":"property","name":"enableMarkdown","declaration":"enableMarkdown?: boolean","summary":"A value indicating whether the description should be rendered as Markdown. \u0060true\u0060 allows the description to contain Markdown elements such as links, text decoration and lists."}]},{"id":"options:WithDockerfileBaseImageOptions","kind":"options","name":"WithDockerfileBaseImageOptions","typeId":"Aspire.Hosting/WithDockerfileBaseImageOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithDockerfileBaseImageOptions","members":[{"id":"property:WithDockerfileBaseImageOptions.buildImage","kind":"property","name":"buildImage","declaration":"buildImage?: string","summary":"The base image to use for the build stage. If null, uses the default build image."},{"id":"property:WithDockerfileBaseImageOptions.runtimeImage","kind":"property","name":"runtimeImage","declaration":"runtimeImage?: string","summary":"The base image to use for the runtime stage. If null, uses the default runtime image."}]},{"id":"options:WithDockerfileBuilderOptions","kind":"options","name":"WithDockerfileBuilderOptions","typeId":"Aspire.Hosting/WithDockerfileBuilderOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithDockerfileBuilderOptions","members":[{"id":"property:WithDockerfileBuilderOptions.stage","kind":"property","name":"stage","declaration":"stage?: string","summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"options:WithDockerfileFactoryOptions","kind":"options","name":"WithDockerfileFactoryOptions","typeId":"Aspire.Hosting/WithDockerfileFactoryOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithDockerfileFactoryOptions","members":[{"id":"property:WithDockerfileFactoryOptions.stage","kind":"property","name":"stage","declaration":"stage?: string","summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"options:WithDockerfileOptions","kind":"options","name":"WithDockerfileOptions","typeId":"Aspire.Hosting/WithDockerfileOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithDockerfileOptions","members":[{"id":"property:WithDockerfileOptions.dockerfilePath","kind":"property","name":"dockerfilePath","declaration":"dockerfilePath?: string","summary":"Path to the Dockerfile relative to the \u0060contextPath\u0060. Defaults to \u0022Dockerfile\u0022 if not specified."},{"id":"property:WithDockerfileOptions.stage","kind":"property","name":"stage","declaration":"stage?: string","summary":"The stage representing the image to be published in a multi-stage Dockerfile."}]},{"id":"options:WithEndpointCallbackOptions","kind":"options","name":"WithEndpointCallbackOptions","typeId":"Aspire.Hosting/WithEndpointCallbackOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithEndpointCallbackOptions","members":[{"id":"property:WithEndpointCallbackOptions.createIfNotExists","kind":"property","name":"createIfNotExists","declaration":"createIfNotExists?: boolean"}]},{"id":"options:WithEndpointOptions","kind":"options","name":"WithEndpointOptions","typeId":"Aspire.Hosting/WithEndpointOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithEndpointOptions","members":[{"id":"property:WithEndpointOptions.port","kind":"property","name":"port","declaration":"port?: number","summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"id":"property:WithEndpointOptions.targetPort","kind":"property","name":"targetPort","declaration":"targetPort?: number","summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"id":"property:WithEndpointOptions.scheme","kind":"property","name":"scheme","declaration":"scheme?: string","summary":"An optional scheme e.g. (http/https). Defaults to the \u0060protocol\u0060 argument if it is defined or \u0022tcp\u0022 otherwise."},{"id":"property:WithEndpointOptions.name","kind":"property","name":"name","declaration":"name?: string","summary":"An optional name of the endpoint. Defaults to the scheme name if not specified."},{"id":"property:WithEndpointOptions.env","kind":"property","name":"env","declaration":"env?: string","summary":"An optional name of the environment variable that will be used to inject the \u0060targetPort\u0060. If the target port is null one will be dynamically generated and assigned to the environment variable."},{"id":"property:WithEndpointOptions.isProxied","kind":"property","name":"isProxied","declaration":"isProxied?: boolean","summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."},{"id":"property:WithEndpointOptions.isExternal","kind":"property","name":"isExternal","declaration":"isExternal?: boolean","summary":"Indicates that this endpoint should be exposed externally at publish time."},{"id":"property:WithEndpointOptions.protocol","kind":"property","name":"protocol","declaration":"protocol?: ProtocolType","summary":"Network protocol: TCP or UDP are supported today, others possibly in future."}]},{"id":"options:WithHiddenOnCompletionOptions","kind":"options","name":"WithHiddenOnCompletionOptions","typeId":"Aspire.Hosting/WithHiddenOnCompletionOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithHiddenOnCompletionOptions","members":[{"id":"property:WithHiddenOnCompletionOptions.exitCode","kind":"property","name":"exitCode","declaration":"exitCode?: number","summary":"The completion exit code to treat as successful. Defaults to \u00600\u0060."},{"id":"property:WithHiddenOnCompletionOptions.exitCodes","kind":"property","name":"exitCodes","declaration":"exitCodes?: number[]","summary":"Completion exit codes to treat as successful. If no values are provided, \u00600\u0060 is used."}]},{"id":"options:WithHttpEndpointCallbackOptions","kind":"options","name":"WithHttpEndpointCallbackOptions","typeId":"Aspire.Hosting/WithHttpEndpointCallbackOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithHttpEndpointCallbackOptions","members":[{"id":"property:WithHttpEndpointCallbackOptions.name","kind":"property","name":"name","declaration":"name?: string"},{"id":"property:WithHttpEndpointCallbackOptions.createIfNotExists","kind":"property","name":"createIfNotExists","declaration":"createIfNotExists?: boolean"}]},{"id":"options:WithHttpEndpointOptions","kind":"options","name":"WithHttpEndpointOptions","typeId":"Aspire.Hosting/WithHttpEndpointOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithHttpEndpointOptions","members":[{"id":"property:WithHttpEndpointOptions.port","kind":"property","name":"port","declaration":"port?: number","summary":"An optional port. This is the port that will be given to other resource to communicate with this resource."},{"id":"property:WithHttpEndpointOptions.targetPort","kind":"property","name":"targetPort","declaration":"targetPort?: number","summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"id":"property:WithHttpEndpointOptions.name","kind":"property","name":"name","declaration":"name?: string","summary":"An optional name of the endpoint. Defaults to \u0022http\u0022 if not specified."},{"id":"property:WithHttpEndpointOptions.env","kind":"property","name":"env","declaration":"env?: string","summary":"An optional name of the environment variable to inject."},{"id":"property:WithHttpEndpointOptions.isProxied","kind":"property","name":"isProxied","declaration":"isProxied?: boolean","summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"options:WithHttpHealthCheckOptions","kind":"options","name":"WithHttpHealthCheckOptions","typeId":"Aspire.Hosting/WithHttpHealthCheckOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithHttpHealthCheckOptions","members":[{"id":"property:WithHttpHealthCheckOptions.path","kind":"property","name":"path","declaration":"path?: string","summary":"The relative path to test."},{"id":"property:WithHttpHealthCheckOptions.statusCode","kind":"property","name":"statusCode","declaration":"statusCode?: number","summary":"The result code to interpret as healthy."},{"id":"property:WithHttpHealthCheckOptions.endpointName","kind":"property","name":"endpointName","declaration":"endpointName?: string","summary":"The name of the endpoint to derive the base address from."}]},{"id":"options:WithHttpProbeOptions","kind":"options","name":"WithHttpProbeOptions","typeId":"Aspire.Hosting/WithHttpProbeOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithHttpProbeOptions","members":[{"id":"property:WithHttpProbeOptions.path","kind":"property","name":"path","declaration":"path?: string"},{"id":"property:WithHttpProbeOptions.initialDelaySeconds","kind":"property","name":"initialDelaySeconds","declaration":"initialDelaySeconds?: number"},{"id":"property:WithHttpProbeOptions.periodSeconds","kind":"property","name":"periodSeconds","declaration":"periodSeconds?: number"},{"id":"property:WithHttpProbeOptions.timeoutSeconds","kind":"property","name":"timeoutSeconds","declaration":"timeoutSeconds?: number"},{"id":"property:WithHttpProbeOptions.failureThreshold","kind":"property","name":"failureThreshold","declaration":"failureThreshold?: number"},{"id":"property:WithHttpProbeOptions.successThreshold","kind":"property","name":"successThreshold","declaration":"successThreshold?: number"},{"id":"property:WithHttpProbeOptions.endpointName","kind":"property","name":"endpointName","declaration":"endpointName?: string"}]},{"id":"options:WithHttpsDeveloperCertificateOptions","kind":"options","name":"WithHttpsDeveloperCertificateOptions","typeId":"Aspire.Hosting/WithHttpsDeveloperCertificateOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithHttpsDeveloperCertificateOptions","members":[{"id":"property:WithHttpsDeveloperCertificateOptions.password","kind":"property","name":"password","declaration":"password?: Awaitable\u003CParameterResource\u003E","summary":"A parameter specifying the password used to encrypt the certificate private key."}]},{"id":"options:WithHttpsEndpointCallbackOptions","kind":"options","name":"WithHttpsEndpointCallbackOptions","typeId":"Aspire.Hosting/WithHttpsEndpointCallbackOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithHttpsEndpointCallbackOptions","members":[{"id":"property:WithHttpsEndpointCallbackOptions.name","kind":"property","name":"name","declaration":"name?: string"},{"id":"property:WithHttpsEndpointCallbackOptions.createIfNotExists","kind":"property","name":"createIfNotExists","declaration":"createIfNotExists?: boolean"}]},{"id":"options:WithHttpsEndpointOptions","kind":"options","name":"WithHttpsEndpointOptions","typeId":"Aspire.Hosting/WithHttpsEndpointOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithHttpsEndpointOptions","members":[{"id":"property:WithHttpsEndpointOptions.port","kind":"property","name":"port","declaration":"port?: number","summary":"An optional host port."},{"id":"property:WithHttpsEndpointOptions.targetPort","kind":"property","name":"targetPort","declaration":"targetPort?: number","summary":"This is the port the resource is listening on. If the endpoint is used for the container, it is the container port."},{"id":"property:WithHttpsEndpointOptions.name","kind":"property","name":"name","declaration":"name?: string","summary":"An optional name of the endpoint. Defaults to \u0022https\u0022 if not specified."},{"id":"property:WithHttpsEndpointOptions.env","kind":"property","name":"env","declaration":"env?: string","summary":"An optional name of the environment variable to inject."},{"id":"property:WithHttpsEndpointOptions.isProxied","kind":"property","name":"isProxied","declaration":"isProxied?: boolean","summary":"Specifies if the endpoint will be proxied by DCP. Defaults to \u0060null\u0060."}]},{"id":"options:WithIconNameOptions","kind":"options","name":"WithIconNameOptions","typeId":"Aspire.Hosting/WithIconNameOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithIconNameOptions","members":[{"id":"property:WithIconNameOptions.iconVariant","kind":"property","name":"iconVariant","declaration":"iconVariant?: IconVariant","summary":"The variant of the icon (Regular or Filled). Defaults to Filled."}]},{"id":"options:WithImageOptions","kind":"options","name":"WithImageOptions","typeId":"Aspire.Hosting/WithImageOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithImageOptions","members":[{"id":"property:WithImageOptions.tag","kind":"property","name":"tag","declaration":"tag?: string","summary":"Tag value."}]},{"id":"options:WithMcpServerOptions","kind":"options","name":"WithMcpServerOptions","typeId":"Aspire.Hosting/WithMcpServerOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithMcpServerOptions","members":[{"id":"property:WithMcpServerOptions.path","kind":"property","name":"path","declaration":"path?: string","summary":"An optional path to append to the endpoint URL when forming the MCP server address. Defaults to \u0060\u0022/mcp\u0022\u0060."},{"id":"property:WithMcpServerOptions.endpointName","kind":"property","name":"endpointName","declaration":"endpointName?: string","summary":"An optional name of the endpoint that hosts the MCP server. If not specified, defaults to the first HTTPS or HTTP endpoint."}]},{"id":"options:WithOtlpExporterOptions","kind":"options","name":"WithOtlpExporterOptions","typeId":"Aspire.Hosting/WithOtlpExporterOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithOtlpExporterOptions","members":[{"id":"property:WithOtlpExporterOptions.protocol","kind":"property","name":"protocol","declaration":"protocol?: OtlpProtocol"}]},{"id":"options:WithPipelineStepFactoryOptions","kind":"options","name":"WithPipelineStepFactoryOptions","typeId":"Aspire.Hosting/WithPipelineStepFactoryOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithPipelineStepFactoryOptions","members":[{"id":"property:WithPipelineStepFactoryOptions.dependsOn","kind":"property","name":"dependsOn","declaration":"dependsOn?: string[]","summary":"Optional step names that this step depends on."},{"id":"property:WithPipelineStepFactoryOptions.requiredBy","kind":"property","name":"requiredBy","declaration":"requiredBy?: string[]","summary":"Optional step names that require this step."},{"id":"property:WithPipelineStepFactoryOptions.tags","kind":"property","name":"tags","declaration":"tags?: string[]","summary":"Optional tags that categorize this step."},{"id":"property:WithPipelineStepFactoryOptions.description","kind":"property","name":"description","declaration":"description?: string","summary":"An optional human-readable description of the step."}]},{"id":"options:WithReferenceOptions","kind":"options","name":"WithReferenceOptions","typeId":"Aspire.Hosting/WithReferenceOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithReferenceOptions","members":[{"id":"property:WithReferenceOptions.connectionName","kind":"property","name":"connectionName","declaration":"connectionName?: string"},{"id":"property:WithReferenceOptions.optional","kind":"property","name":"optional","declaration":"optional?: boolean"},{"id":"property:WithReferenceOptions.name","kind":"property","name":"name","declaration":"name?: string"}]},{"id":"options:WithRequiredCommandOptions","kind":"options","name":"WithRequiredCommandOptions","typeId":"Aspire.Hosting/WithRequiredCommandOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithRequiredCommandOptions","members":[{"id":"property:WithRequiredCommandOptions.helpLink","kind":"property","name":"helpLink","declaration":"helpLink?: string","summary":"An optional help link URL to guide users when the command is missing."}]},{"id":"options:WithRequiredCommandValidationOptions","kind":"options","name":"WithRequiredCommandValidationOptions","typeId":"Aspire.Hosting/WithRequiredCommandValidationOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithRequiredCommandValidationOptions","members":[{"id":"property:WithRequiredCommandValidationOptions.helpLink","kind":"property","name":"helpLink","declaration":"helpLink?: string","summary":"An optional help link URL to guide users when the command is missing or fails validation."}]},{"id":"options:WithUrlOptions","kind":"options","name":"WithUrlOptions","typeId":"Aspire.Hosting/WithUrlOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithUrlOptions","members":[{"id":"property:WithUrlOptions.displayText","kind":"property","name":"displayText","declaration":"displayText?: string"}]},{"id":"options:WithVolumeOptions","kind":"options","name":"WithVolumeOptions","typeId":"Aspire.Hosting/WithVolumeOptions","owningAssembly":"Aspire.Hosting","declaration":"export interface WithVolumeOptions","members":[{"id":"property:WithVolumeOptions.name","kind":"property","name":"name","declaration":"name?: string","summary":"The volume name. If null, an anonymous volume is created."},{"id":"property:WithVolumeOptions.isReadOnly","kind":"property","name":"isReadOnly","declaration":"isReadOnly?: boolean","summary":"Whether the volume is read-only."}]}]}],"declarations":[{"id":"Aspire.Hosting:augment:Configuration","owningAssembly":"Aspire.Hosting","content":"export interface Configuration {\n getConfigValue(key: string): Promise\u003Cstring\u003E;\n getConnectionString(name: string): Promise\u003Cstring\u003E;\n getSection(key: string): Promise\u003CIConfigurationSectionHandle\u003E;\n getChildren(): Promise\u003CIConfigurationSectionHandle[]\u003E;\n exists(key: string): Promise\u003Cboolean\u003E;\n}"},{"id":"Aspire.Hosting:augment:ConfigurationPromise","owningAssembly":"Aspire.Hosting","content":"export interface ConfigurationPromise {\n getConfigValue(key: string): Promise\u003Cstring\u003E;\n getConnectionString(name: string): Promise\u003Cstring\u003E;\n getSection(key: string): Promise\u003CIConfigurationSectionHandle\u003E;\n getChildren(): Promise\u003CIConfigurationSectionHandle[]\u003E;\n exists(key: string): Promise\u003Cboolean\u003E;\n}"},{"id":"Aspire.Hosting:augment:HostEnvironment","owningAssembly":"Aspire.Hosting","content":"export interface HostEnvironment {\n isDevelopment(): Promise\u003Cboolean\u003E;\n isProduction(): Promise\u003Cboolean\u003E;\n isStaging(): Promise\u003Cboolean\u003E;\n isEnvironment(environmentName: string): Promise\u003Cboolean\u003E;\n}"},{"id":"Aspire.Hosting:augment:HostEnvironmentPromise","owningAssembly":"Aspire.Hosting","content":"export interface HostEnvironmentPromise {\n isDevelopment(): Promise\u003Cboolean\u003E;\n isProduction(): Promise\u003Cboolean\u003E;\n isStaging(): Promise\u003Cboolean\u003E;\n isEnvironment(environmentName: string): Promise\u003Cboolean\u003E;\n}"},{"id":"Aspire.Hosting:augment:Logger","owningAssembly":"Aspire.Hosting","content":"export interface Logger {\n logInformation(message: string): LoggerPromise;\n logWarning(message: string): LoggerPromise;\n logError(message: string): LoggerPromise;\n logDebug(message: string): LoggerPromise;\n log(level: string, message: string): LoggerPromise;\n}"},{"id":"Aspire.Hosting:augment:LoggerFactory","owningAssembly":"Aspire.Hosting","content":"export interface LoggerFactory {\n createLogger(categoryName: string): LoggerPromise;\n}"},{"id":"Aspire.Hosting:augment:LoggerFactoryPromise","owningAssembly":"Aspire.Hosting","content":"export interface LoggerFactoryPromise {\n createLogger(categoryName: string): LoggerPromise;\n}"},{"id":"Aspire.Hosting:augment:LoggerPromise","owningAssembly":"Aspire.Hosting","content":"export interface LoggerPromise {\n logInformation(message: string): LoggerPromise;\n logWarning(message: string): LoggerPromise;\n logError(message: string): LoggerPromise;\n logDebug(message: string): LoggerPromise;\n log(level: string, message: string): LoggerPromise;\n}"},{"id":"Aspire.Hosting:augment:ServiceProvider","owningAssembly":"Aspire.Hosting","content":"export interface ServiceProvider {\n getAspireStore(): AspireStorePromise;\n getEventing(): DistributedApplicationEventingPromise;\n getInteractionService(): InteractionServicePromise;\n getLoggerFactory(): LoggerFactoryPromise;\n getResourceLoggerService(): ResourceLoggerServicePromise;\n getDistributedApplicationModel(): DistributedApplicationModelPromise;\n getResourceNotificationService(): ResourceNotificationServicePromise;\n getResourceCommandService(): ResourceCommandServicePromise;\n getUserSecretsManager(): UserSecretsManagerPromise;\n}"},{"id":"Aspire.Hosting:augment:ServiceProviderPromise","owningAssembly":"Aspire.Hosting","content":"export interface ServiceProviderPromise {\n getAspireStore(): AspireStorePromise;\n getEventing(): DistributedApplicationEventingPromise;\n getInteractionService(): InteractionServicePromise;\n getLoggerFactory(): LoggerFactoryPromise;\n getResourceLoggerService(): ResourceLoggerServicePromise;\n getDistributedApplicationModel(): DistributedApplicationModelPromise;\n getResourceNotificationService(): ResourceNotificationServicePromise;\n getResourceCommandService(): ResourceCommandServicePromise;\n getUserSecretsManager(): UserSecretsManagerPromise;\n}"},{"id":"Aspire.Hosting:dto:AddContainerOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddContainerOptions {\n image?: string;\n tag?: string | null;\n}"},{"id":"Aspire.Hosting:dto:BoolInteractionResult","owningAssembly":"Aspire.Hosting","content":"export interface BoolInteractionResult {\n canceled?: boolean;\n value?: boolean;\n}"},{"id":"Aspire.Hosting:dto:CertificateTrustExecutionConfigurationContext","owningAssembly":"Aspire.Hosting","content":"export interface CertificateTrustExecutionConfigurationContext {\n certificateBundlePath?: ReferenceExpression;\n certificateDirectoriesPath?: ReferenceExpression;\n rootCertificatesPath?: string;\n isContainer?: boolean;\n}"},{"id":"Aspire.Hosting:dto:CertificateTrustExecutionConfigurationExportData","owningAssembly":"Aspire.Hosting","content":"export interface CertificateTrustExecutionConfigurationExportData {\n scope?: CertificateTrustScope;\n certificateSubjects?: string[];\n customBundlePaths?: string[];\n}"},{"id":"Aspire.Hosting:dto:CommandOptions","owningAssembly":"Aspire.Hosting","content":"export interface CommandOptions {\n description?: string | null;\n parameter?: any;\n arguments?: InteractionInput[];\n validateArguments?: (arg: InputsDialogValidationContext) =\u003E Promise\u003Cvoid\u003E;\n visibility?: ResourceCommandVisibility;\n confirmationMessage?: string | null;\n iconName?: string | null;\n iconVariant?: IconVariant | null;\n isHighlighted?: boolean;\n updateState?: (arg: UpdateCommandStateContext) =\u003E Promise\u003CResourceCommandState\u003E;\n progress?: CommandProgressOptions;\n}"},{"id":"Aspire.Hosting:dto:CommandProgressOptions","owningAssembly":"Aspire.Hosting","content":"export interface CommandProgressOptions {\n message?: string | null;\n title?: string | null;\n hideCancelButton?: boolean;\n}"},{"id":"Aspire.Hosting:dto:CommandResultData","owningAssembly":"Aspire.Hosting","content":"export interface CommandResultData {\n value?: string;\n format?: CommandResultFormat;\n displayImmediately?: boolean;\n}"},{"id":"Aspire.Hosting:dto:ContainerFilesOptions","owningAssembly":"Aspire.Hosting","content":"export interface ContainerFilesOptions {\n defaultOwner?: number | null;\n defaultGroup?: number | null;\n umask?: number | null;\n}"},{"id":"Aspire.Hosting:dto:CreateBuilderOptions","owningAssembly":"Aspire.Hosting","content":"export interface CreateBuilderOptions {\n args?: string[];\n projectDirectory?: string | null;\n appHostFilePath?: string | null;\n containerRegistryOverride?: string | null;\n disableDashboard?: boolean;\n dashboardApplicationName?: string | null;\n allowUnsecuredTransport?: boolean;\n enableResourceLogging?: boolean;\n throwOnPendingRejections?: boolean;\n}"},{"id":"Aspire.Hosting:dto:CreateInteractionInputOptions","owningAssembly":"Aspire.Hosting","content":"export interface CreateInteractionInputOptions {\n label?: string | null;\n description?: string | null;\n enableDescriptionMarkdown?: boolean | null;\n required?: boolean | null;\n placeholder?: string | null;\n value?: string | null;\n allowCustomChoice?: boolean | null;\n disabled?: boolean | null;\n maxLength?: number | null;\n maxFileSize?: number | null;\n allowMultipleFiles?: boolean | null;\n fileFilter?: string | null;\n}"},{"id":"Aspire.Hosting:dto:DynamicLoadingOptions","owningAssembly":"Aspire.Hosting","content":"export interface DynamicLoadingOptions {\n alwaysLoadOnStart?: boolean | null;\n dependsOnInputs?: string[];\n}"},{"id":"Aspire.Hosting:dto:ExecuteCommandResult","owningAssembly":"Aspire.Hosting","content":"export interface ExecuteCommandResult {\n success?: boolean;\n canceled?: boolean;\n errorMessage?: string | null;\n message?: string | null;\n data?: CommandResultData;\n}"},{"id":"Aspire.Hosting:dto:GenerateParameterDefault","owningAssembly":"Aspire.Hosting","content":"export interface GenerateParameterDefault {\n minLength?: number;\n lower?: boolean;\n upper?: boolean;\n numeric?: boolean;\n special?: boolean;\n minLower?: number;\n minUpper?: number;\n minNumeric?: number;\n minSpecial?: number;\n}"},{"id":"Aspire.Hosting:dto:HealthCheckResult","owningAssembly":"Aspire.Hosting","content":"export interface HealthCheckResult {\n status?: HealthStatus;\n description?: string | null;\n data?: Record\u003Cstring, string\u003E;\n}"},{"id":"Aspire.Hosting:dto:HttpCommandExportOptions","owningAssembly":"Aspire.Hosting","content":"export interface HttpCommandExportOptions {\n commandOptions?: CommandOptions;\n description?: string | null;\n confirmationMessage?: string | null;\n iconName?: string | null;\n iconVariant?: IconVariant | null;\n isHighlighted?: boolean;\n commandName?: string | null;\n endpointName?: string | null;\n methodName?: string | null;\n prepareRequest?: (arg: HttpCommandPrepareRequestContext) =\u003E Promise\u003CHttpCommandRequestExportData\u003E;\n resultMode?: HttpCommandResultMode;\n}"},{"id":"Aspire.Hosting:dto:HttpCommandRequestExportData","owningAssembly":"Aspire.Hosting","content":"export interface HttpCommandRequestExportData {\n methodName?: string | null;\n headers?: Record\u003Cstring, string\u003E;\n content?: string | null;\n contentType?: string | null;\n}"},{"id":"Aspire.Hosting:dto:HttpsCertificateExecutionConfigurationContext","owningAssembly":"Aspire.Hosting","content":"export interface HttpsCertificateExecutionConfigurationContext {\n certificatePath?: ReferenceExpression;\n keyPath?: ReferenceExpression;\n certificateWithKeyPath?: ReferenceExpression;\n pfxPath?: ReferenceExpression;\n}"},{"id":"Aspire.Hosting:dto:HttpsCertificateExecutionConfigurationExportData","owningAssembly":"Aspire.Hosting","content":"export interface HttpsCertificateExecutionConfigurationExportData {\n subject?: string;\n thumbprint?: string | null;\n keyPathExpression?: string;\n pfxPathExpression?: string;\n isKeyPathReferenced?: boolean;\n isCertificateWithKeyPathReferenced?: boolean;\n isPfxPathReferenced?: boolean;\n password?: string | null;\n}"},{"id":"Aspire.Hosting:dto:HttpsCertificateInfo","owningAssembly":"Aspire.Hosting","content":"export interface HttpsCertificateInfo {\n subject?: string;\n issuer?: string;\n thumbprint?: string | null;\n}"},{"id":"Aspire.Hosting:dto:InputInteractionResult","owningAssembly":"Aspire.Hosting","content":"export interface InputInteractionResult {\n canceled?: boolean;\n input?: InteractionInput;\n}"},{"id":"Aspire.Hosting:dto:InteractionChoiceOption","owningAssembly":"Aspire.Hosting","content":"export interface InteractionChoiceOption {\n value?: string;\n label?: string;\n}"},{"id":"Aspire.Hosting:dto:InteractionInputsDialogOptions","owningAssembly":"Aspire.Hosting","content":"export interface InteractionInputsDialogOptions {\n primaryButtonText?: string | null;\n secondaryButtonText?: string | null;\n showSecondaryButton?: boolean | null;\n showDismiss?: boolean | null;\n enableMessageMarkdown?: boolean | null;\n validationCallback?: (arg: InputsDialogValidationContext) =\u003E Promise\u003Cvoid\u003E;\n}"},{"id":"Aspire.Hosting:dto:InteractionMessageBoxOptions","owningAssembly":"Aspire.Hosting","content":"export interface InteractionMessageBoxOptions {\n primaryButtonText?: string | null;\n secondaryButtonText?: string | null;\n showSecondaryButton?: boolean | null;\n showDismiss?: boolean | null;\n enableMessageMarkdown?: boolean | null;\n intent?: MessageIntent | null;\n}"},{"id":"Aspire.Hosting:dto:InteractionNotificationOptions","owningAssembly":"Aspire.Hosting","content":"export interface InteractionNotificationOptions {\n primaryButtonText?: string | null;\n secondaryButtonText?: string | null;\n showSecondaryButton?: boolean | null;\n showDismiss?: boolean | null;\n enableMessageMarkdown?: boolean | null;\n intent?: MessageIntent | null;\n linkText?: string | null;\n linkUrl?: string | null;\n}"},{"id":"Aspire.Hosting:dto:InteractionProgressOptions","owningAssembly":"Aspire.Hosting","content":"export interface InteractionProgressOptions {\n primaryButtonText?: string | null;\n enableMessageMarkdown?: boolean | null;\n work?: (arg: ProgressContext) =\u003E Promise\u003Cvoid\u003E;\n}"},{"id":"Aspire.Hosting:dto:ParameterCustomInputOptions","owningAssembly":"Aspire.Hosting","content":"export interface ParameterCustomInputOptions {\n inputType?: InputType;\n label?: string | null;\n description?: string | null;\n enableDescriptionMarkdown?: boolean | null;\n options?: Record\u003Cstring, string\u003E;\n value?: string | null;\n placeholder?: string | null;\n allowCustomChoice?: boolean | null;\n disabled?: boolean | null;\n maxLength?: number | null;\n}"},{"id":"Aspire.Hosting:dto:ProcessCommandExportOptions","owningAssembly":"Aspire.Hosting","content":"export interface ProcessCommandExportOptions {\n executablePath?: string | null;\n arguments?: string[];\n workingDirectory?: string | null;\n environmentVariables?: Record\u003Cstring, string\u003E;\n inheritEnvironmentVariables?: boolean | null;\n standardInputContent?: string | null;\n killEntireProcessTree?: boolean | null;\n createProcessSpec?: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E;\n commandOptions?: CommandOptions;\n maxOutputLineCount?: number | null;\n displayImmediately?: boolean | null;\n successExitCodes?: number[];\n}"},{"id":"Aspire.Hosting:dto:ProcessCommandResultExportOptions","owningAssembly":"Aspire.Hosting","content":"export interface ProcessCommandResultExportOptions {\n commandOptions?: CommandOptions;\n maxOutputLineCount?: number | null;\n displayImmediately?: boolean | null;\n successExitCodes?: number[];\n}"},{"id":"Aspire.Hosting:dto:ProcessCommandSpecExportData","owningAssembly":"Aspire.Hosting","content":"export interface ProcessCommandSpecExportData {\n executablePath?: string | null;\n arguments?: string[];\n workingDirectory?: string | null;\n environmentVariables?: Record\u003Cstring, string\u003E;\n inheritEnvironmentVariables?: boolean | null;\n standardInputContent?: string | null;\n killEntireProcessTree?: boolean | null;\n}"},{"id":"Aspire.Hosting:dto:ReferenceEnvironmentInjectionOptions","owningAssembly":"Aspire.Hosting","content":"export interface ReferenceEnvironmentInjectionOptions {\n connectionString?: boolean;\n connectionProperties?: boolean;\n serviceDiscovery?: boolean;\n endpoints?: boolean;\n}"},{"id":"Aspire.Hosting:dto:ResourceEventDto","owningAssembly":"Aspire.Hosting","content":"export interface ResourceEventDto {\n resourceName?: string;\n resourceId?: string;\n state?: string | null;\n stateStyle?: string | null;\n healthStatus?: string | null;\n exitCode?: number | null;\n}"},{"id":"Aspire.Hosting:dto:ResourceUrlAnnotation","owningAssembly":"Aspire.Hosting","content":"export interface ResourceUrlAnnotation {\n url?: string;\n displayText?: string | null;\n endpoint?: EndpointReference;\n displayLocation?: UrlDisplayLocation;\n}"},{"id":"Aspire.Hosting:dto:RunConfiguration","owningAssembly":"Aspire.Hosting","content":"export interface RunConfiguration {\n watchEnabled?: boolean;\n}"},{"id":"Aspire.Hosting:dto:UpdateCommandStateResourceSnapshot","owningAssembly":"Aspire.Hosting","content":"export interface UpdateCommandStateResourceSnapshot {\n resourceType?: string;\n state?: string | null;\n stateStyle?: string | null;\n healthStatus?: HealthStatus | null;\n exitCode?: number | null;\n}"},{"id":"Aspire.Hosting:enum:CertificateTrustScope","owningAssembly":"Aspire.Hosting","content":"export enum CertificateTrustScope {\n None = \u0022None\u0022,\n Append = \u0022Append\u0022,\n Override = \u0022Override\u0022,\n System = \u0022System\u0022,\n}"},{"id":"Aspire.Hosting:enum:CommandResultFormat","owningAssembly":"Aspire.Hosting","content":"export enum CommandResultFormat {\n Text = \u0022Text\u0022,\n Json = \u0022Json\u0022,\n Markdown = \u0022Markdown\u0022,\n}"},{"id":"Aspire.Hosting:enum:ContainerImageDestination","owningAssembly":"Aspire.Hosting","content":"export enum ContainerImageDestination {\n Registry = \u0022Registry\u0022,\n Archive = \u0022Archive\u0022,\n}"},{"id":"Aspire.Hosting:enum:ContainerImageFormat","owningAssembly":"Aspire.Hosting","content":"export enum ContainerImageFormat {\n Docker = \u0022Docker\u0022,\n Oci = \u0022Oci\u0022,\n}"},{"id":"Aspire.Hosting:enum:ContainerLifetime","owningAssembly":"Aspire.Hosting","content":"export enum ContainerLifetime {\n Session = \u0022Session\u0022,\n Persistent = \u0022Persistent\u0022,\n}"},{"id":"Aspire.Hosting:enum:ContainerMountType","owningAssembly":"Aspire.Hosting","content":"export enum ContainerMountType {\n BindMount = \u0022BindMount\u0022,\n Volume = \u0022Volume\u0022,\n}"},{"id":"Aspire.Hosting:enum:ContainerTargetPlatform","owningAssembly":"Aspire.Hosting","content":"export enum ContainerTargetPlatform {\n LinuxAmd64 = \u0022LinuxAmd64\u0022,\n LinuxArm64 = \u0022LinuxArm64\u0022,\n AllLinux = \u0022AllLinux\u0022,\n LinuxArm = \u0022LinuxArm\u0022,\n Linux386 = \u0022Linux386\u0022,\n WindowsAmd64 = \u0022WindowsAmd64\u0022,\n WindowsArm64 = \u0022WindowsArm64\u0022,\n}"},{"id":"Aspire.Hosting:enum:DistributedApplicationOperation","owningAssembly":"Aspire.Hosting","content":"export enum DistributedApplicationOperation {\n Run = \u0022Run\u0022,\n Publish = \u0022Publish\u0022,\n}"},{"id":"Aspire.Hosting:enum:EndpointProperty","owningAssembly":"Aspire.Hosting","content":"export enum EndpointProperty {\n Url = \u0022Url\u0022,\n Host = \u0022Host\u0022,\n IPV4Host = \u0022IPV4Host\u0022,\n Port = \u0022Port\u0022,\n Scheme = \u0022Scheme\u0022,\n TargetPort = \u0022TargetPort\u0022,\n HostAndPort = \u0022HostAndPort\u0022,\n TlsEnabled = \u0022TlsEnabled\u0022,\n}"},{"id":"Aspire.Hosting:enum:HttpCommandResultMode","owningAssembly":"Aspire.Hosting","content":"export enum HttpCommandResultMode {\n None = \u0022None\u0022,\n Auto = \u0022Auto\u0022,\n Json = \u0022Json\u0022,\n Text = \u0022Text\u0022,\n}"},{"id":"Aspire.Hosting:enum:IconVariant","owningAssembly":"Aspire.Hosting","content":"export enum IconVariant {\n Regular = \u0022Regular\u0022,\n Filled = \u0022Filled\u0022,\n}"},{"id":"Aspire.Hosting:enum:ImagePullPolicy","owningAssembly":"Aspire.Hosting","content":"export enum ImagePullPolicy {\n Default = \u0022Default\u0022,\n Always = \u0022Always\u0022,\n Missing = \u0022Missing\u0022,\n Never = \u0022Never\u0022,\n}"},{"id":"Aspire.Hosting:enum:MessageIntent","owningAssembly":"Aspire.Hosting","content":"export enum MessageIntent {\n None = \u0022None\u0022,\n Success = \u0022Success\u0022,\n Warning = \u0022Warning\u0022,\n Error = \u0022Error\u0022,\n Information = \u0022Information\u0022,\n Confirmation = \u0022Confirmation\u0022,\n}"},{"id":"Aspire.Hosting:enum:OtlpProtocol","owningAssembly":"Aspire.Hosting","content":"export enum OtlpProtocol {\n Grpc = \u0022Grpc\u0022,\n HttpProtobuf = \u0022HttpProtobuf\u0022,\n HttpJson = \u0022HttpJson\u0022,\n}"},{"id":"Aspire.Hosting:enum:ProbeType","owningAssembly":"Aspire.Hosting","content":"export enum ProbeType {\n Startup = \u0022Startup\u0022,\n Readiness = \u0022Readiness\u0022,\n Liveness = \u0022Liveness\u0022,\n}"},{"id":"Aspire.Hosting:enum:ResourceCommandState","owningAssembly":"Aspire.Hosting","content":"export enum ResourceCommandState {\n Enabled = \u0022Enabled\u0022,\n Disabled = \u0022Disabled\u0022,\n Hidden = \u0022Hidden\u0022,\n}"},{"id":"Aspire.Hosting:enum:ResourceCommandVisibility","owningAssembly":"Aspire.Hosting","content":"export enum ResourceCommandVisibility {\n None = \u0022None\u0022,\n UI = \u0022UI\u0022,\n Api = \u0022Api\u0022,\n}"},{"id":"Aspire.Hosting:enum:UrlDisplayLocation","owningAssembly":"Aspire.Hosting","content":"export enum UrlDisplayLocation {\n SummaryAndDetails = \u0022SummaryAndDetails\u0022,\n DetailsOnly = \u0022DetailsOnly\u0022,\n}"},{"id":"Aspire.Hosting:enum:WaitBehavior","owningAssembly":"Aspire.Hosting","content":"export enum WaitBehavior {\n WaitOnResourceUnavailable = \u0022WaitOnResourceUnavailable\u0022,\n StopOnResourceUnavailable = \u0022StopOnResourceUnavailable\u0022,\n}"},{"id":"Aspire.Hosting:handle:ContainerFileSystemItemHandle","owningAssembly":"Aspire.Hosting","content":"export type ContainerFileSystemItemHandle = Handle\u003C\u0027Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerFileSystemItem\u0027\u003E;"},{"id":"Aspire.Hosting:handle:DistributedApplicationEventSubscriptionHandle","owningAssembly":"Aspire.Hosting","content":"export type DistributedApplicationEventSubscriptionHandle = Handle\u003C\u0027Aspire.Hosting/Aspire.Hosting.Eventing.DistributedApplicationEventSubscription\u0027\u003E;"},{"id":"Aspire.Hosting:handle:IExpressionValueHandle","owningAssembly":"Aspire.Hosting","content":"export type IExpressionValueHandle = Handle\u003C\u0027Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue\u0027\u003E;"},{"id":"Aspire.Hosting:handle:InteractionInputCollectionHandle","owningAssembly":"Aspire.Hosting","content":"export type InteractionInputCollectionHandle = Handle\u003C\u0027Aspire.Hosting/Aspire.Hosting.InteractionInputCollection\u0027\u003E;"},{"id":"Aspire.Hosting:handle:ReferenceExpressionHandle","owningAssembly":"Aspire.Hosting","content":"export type ReferenceExpressionHandle = Handle\u003C\u0027Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression\u0027\u003E;"},{"id":"Aspire.Hosting:interface:AfterPublishEvent","owningAssembly":"Aspire.Hosting","content":"export interface AfterPublishEvent {\n toJSON(): MarshalledHandle;\n services(): ServiceProviderPromise;\n model(): DistributedApplicationModelPromise;\n}"},{"id":"Aspire.Hosting:interface:AfterPublishEventPromise","owningAssembly":"Aspire.Hosting","content":"export interface AfterPublishEventPromise extends PromiseLike\u003CAfterPublishEvent\u003E {\n services(): ServiceProviderPromise;\n model(): DistributedApplicationModelPromise;\n}"},{"id":"Aspire.Hosting:interface:AfterResourcesCreatedEvent","owningAssembly":"Aspire.Hosting","content":"export interface AfterResourcesCreatedEvent {\n toJSON(): MarshalledHandle;\n services(): ServiceProviderPromise;\n model(): DistributedApplicationModelPromise;\n}"},{"id":"Aspire.Hosting:interface:AfterResourcesCreatedEventPromise","owningAssembly":"Aspire.Hosting","content":"export interface AfterResourcesCreatedEventPromise extends PromiseLike\u003CAfterResourcesCreatedEvent\u003E {\n services(): ServiceProviderPromise;\n model(): DistributedApplicationModelPromise;\n}"},{"id":"Aspire.Hosting:interface:AspireStore","owningAssembly":"Aspire.Hosting","content":"export interface AspireStore {\n toJSON(): MarshalledHandle;\n basePath(): Promise\u003Cstring\u003E;\n getFileNameWithContent(filenameTemplate: string, sourceFilename: string): Promise\u003Cstring\u003E;\n}"},{"id":"Aspire.Hosting:interface:AspireStorePromise","owningAssembly":"Aspire.Hosting","content":"export interface AspireStorePromise extends PromiseLike\u003CAspireStore\u003E {\n basePath(): Promise\u003Cstring\u003E;\n getFileNameWithContent(filenameTemplate: string, sourceFilename: string): Promise\u003Cstring\u003E;\n}"},{"id":"Aspire.Hosting:interface:BeforePublishEvent","owningAssembly":"Aspire.Hosting","content":"export interface BeforePublishEvent {\n toJSON(): MarshalledHandle;\n services(): ServiceProviderPromise;\n model(): DistributedApplicationModelPromise;\n}"},{"id":"Aspire.Hosting:interface:BeforePublishEventPromise","owningAssembly":"Aspire.Hosting","content":"export interface BeforePublishEventPromise extends PromiseLike\u003CBeforePublishEvent\u003E {\n services(): ServiceProviderPromise;\n model(): DistributedApplicationModelPromise;\n}"},{"id":"Aspire.Hosting:interface:BeforeResourceStartedEvent","owningAssembly":"Aspire.Hosting","content":"export interface BeforeResourceStartedEvent {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:BeforeResourceStartedEventPromise","owningAssembly":"Aspire.Hosting","content":"export interface BeforeResourceStartedEventPromise extends PromiseLike\u003CBeforeResourceStartedEvent\u003E {\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:BeforeStartEvent","owningAssembly":"Aspire.Hosting","content":"export interface BeforeStartEvent {\n toJSON(): MarshalledHandle;\n services(): ServiceProviderPromise;\n model(): DistributedApplicationModelPromise;\n}"},{"id":"Aspire.Hosting:interface:BeforeStartEventPromise","owningAssembly":"Aspire.Hosting","content":"export interface BeforeStartEventPromise extends PromiseLike\u003CBeforeStartEvent\u003E {\n services(): ServiceProviderPromise;\n model(): DistributedApplicationModelPromise;\n}"},{"id":"Aspire.Hosting:interface:CSharpAppResource","owningAssembly":"Aspire.Hosting","content":"export interface CSharpAppResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): CSharpAppResourcePromise;\n withMcpServer(options?: WithMcpServerOptions): CSharpAppResourcePromise;\n withOtlpExporter(options?: WithOtlpExporterOptions): CSharpAppResourcePromise;\n withReplicas(replicas: number): CSharpAppResourcePromise;\n disableForwardedHeaders(): CSharpAppResourcePromise;\n publishAsDockerFile(options?: PublishAsDockerFileOptions): CSharpAppResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): CSharpAppResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): CSharpAppResourcePromise;\n withSessionLifetime(): CSharpAppResourcePromise;\n withPersistentLifetime(): CSharpAppResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise;\n withParentProcessLifetime(parentProcessId: number): CSharpAppResourcePromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): CSharpAppResourcePromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n withArgs(args: string[]): CSharpAppResourcePromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): CSharpAppResourcePromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): CSharpAppResourcePromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): CSharpAppResourcePromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): CSharpAppResourcePromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): CSharpAppResourcePromise;\n withEndpoint(options?: WithEndpointOptions): CSharpAppResourcePromise;\n withEndpointProxySupport(proxyEnabled: boolean): CSharpAppResourcePromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): CSharpAppResourcePromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): CSharpAppResourcePromise;\n withExternalHttpEndpoints(): CSharpAppResourcePromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): CSharpAppResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): CSharpAppResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n publishWithContainerFiles(source: Awaitable\u003CResourceWithContainerFiles\u003E, destinationPath: string): CSharpAppResourcePromise;\n excludeFromManifest(): CSharpAppResourcePromise;\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): CSharpAppResourcePromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): CSharpAppResourcePromise;\n withExplicitStart(): CSharpAppResourcePromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): CSharpAppResourcePromise;\n withHealthCheck(key: string): CSharpAppResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): CSharpAppResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): CSharpAppResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): CSharpAppResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): CSharpAppResourcePromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): CSharpAppResourcePromise;\n withDeveloperCertificateTrust(trust: boolean): CSharpAppResourcePromise;\n withCertificateTrustScope(scope: CertificateTrustScope): CSharpAppResourcePromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): CSharpAppResourcePromise;\n withoutHttpsCertificate(): CSharpAppResourcePromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): CSharpAppResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): CSharpAppResourcePromise;\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): CSharpAppResourcePromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): CSharpAppResourcePromise;\n excludeFromMcp(): CSharpAppResourcePromise;\n withHidden(): CSharpAppResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): CSharpAppResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n withRemoteImageName(remoteImageName: string): CSharpAppResourcePromise;\n withRemoteImageTag(remoteImageTag: string): CSharpAppResourcePromise;\n withTerminal(): CSharpAppResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): CSharpAppResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n withEndpointsInEnvironment(endpointNames: string[]): CSharpAppResourcePromise;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:CSharpAppResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface CSharpAppResourcePromise extends PromiseLike\u003CCSharpAppResource\u003E {\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): CSharpAppResourcePromise;\n withMcpServer(options?: WithMcpServerOptions): CSharpAppResourcePromise;\n withOtlpExporter(options?: WithOtlpExporterOptions): CSharpAppResourcePromise;\n withReplicas(replicas: number): CSharpAppResourcePromise;\n disableForwardedHeaders(): CSharpAppResourcePromise;\n publishAsDockerFile(options?: PublishAsDockerFileOptions): CSharpAppResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): CSharpAppResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): CSharpAppResourcePromise;\n withSessionLifetime(): CSharpAppResourcePromise;\n withPersistentLifetime(): CSharpAppResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise;\n withParentProcessLifetime(parentProcessId: number): CSharpAppResourcePromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): CSharpAppResourcePromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n withArgs(args: string[]): CSharpAppResourcePromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): CSharpAppResourcePromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): CSharpAppResourcePromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): CSharpAppResourcePromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): CSharpAppResourcePromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): CSharpAppResourcePromise;\n withEndpoint(options?: WithEndpointOptions): CSharpAppResourcePromise;\n withEndpointProxySupport(proxyEnabled: boolean): CSharpAppResourcePromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): CSharpAppResourcePromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): CSharpAppResourcePromise;\n withExternalHttpEndpoints(): CSharpAppResourcePromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): CSharpAppResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): CSharpAppResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n publishWithContainerFiles(source: Awaitable\u003CResourceWithContainerFiles\u003E, destinationPath: string): CSharpAppResourcePromise;\n excludeFromManifest(): CSharpAppResourcePromise;\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): CSharpAppResourcePromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): CSharpAppResourcePromise;\n withExplicitStart(): CSharpAppResourcePromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): CSharpAppResourcePromise;\n withHealthCheck(key: string): CSharpAppResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): CSharpAppResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): CSharpAppResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): CSharpAppResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): CSharpAppResourcePromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): CSharpAppResourcePromise;\n withDeveloperCertificateTrust(trust: boolean): CSharpAppResourcePromise;\n withCertificateTrustScope(scope: CertificateTrustScope): CSharpAppResourcePromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): CSharpAppResourcePromise;\n withoutHttpsCertificate(): CSharpAppResourcePromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): CSharpAppResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): CSharpAppResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): CSharpAppResourcePromise;\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): CSharpAppResourcePromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): CSharpAppResourcePromise;\n excludeFromMcp(): CSharpAppResourcePromise;\n withHidden(): CSharpAppResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): CSharpAppResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n withRemoteImageName(remoteImageName: string): CSharpAppResourcePromise;\n withRemoteImageTag(remoteImageTag: string): CSharpAppResourcePromise;\n withTerminal(): CSharpAppResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): CSharpAppResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n withEndpointsInEnvironment(endpointNames: string[]): CSharpAppResourcePromise;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): CSharpAppResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:CommandLineArgsCallbackContext","owningAssembly":"Aspire.Hosting","content":"export interface CommandLineArgsCallbackContext {\n toJSON(): MarshalledHandle;\n args(): CommandLineArgsEditorPromise;\n log(): LogFacadePromise;\n resource(): ResourcePromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n}"},{"id":"Aspire.Hosting:interface:CommandLineArgsCallbackContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface CommandLineArgsCallbackContextPromise extends PromiseLike\u003CCommandLineArgsCallbackContext\u003E {\n args(): CommandLineArgsEditorPromise;\n log(): LogFacadePromise;\n resource(): ResourcePromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n}"},{"id":"Aspire.Hosting:interface:CommandLineArgsEditor","owningAssembly":"Aspire.Hosting","content":"export interface CommandLineArgsEditor {\n toJSON(): MarshalledHandle;\n add(value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): CommandLineArgsEditorPromise;\n}"},{"id":"Aspire.Hosting:interface:CommandLineArgsEditorPromise","owningAssembly":"Aspire.Hosting","content":"export interface CommandLineArgsEditorPromise extends PromiseLike\u003CCommandLineArgsEditor\u003E {\n add(value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): CommandLineArgsEditorPromise;\n}"},{"id":"Aspire.Hosting:interface:ComputeEnvironmentResource","owningAssembly":"Aspire.Hosting","content":"export interface ComputeEnvironmentResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n}"},{"id":"Aspire.Hosting:interface:ComputeEnvironmentResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface ComputeEnvironmentResourcePromise extends PromiseLike\u003CComputeEnvironmentResource\u003E {\n}"},{"id":"Aspire.Hosting:interface:ComputeResource","owningAssembly":"Aspire.Hosting","content":"export interface ComputeResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ComputeResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ComputeResourcePromise;\n withRemoteImageName(remoteImageName: string): ComputeResourcePromise;\n withRemoteImageTag(remoteImageTag: string): ComputeResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ComputeResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface ComputeResourcePromise extends PromiseLike\u003CComputeResource\u003E {\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ComputeResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ComputeResourcePromise;\n withRemoteImageName(remoteImageName: string): ComputeResourcePromise;\n withRemoteImageTag(remoteImageTag: string): ComputeResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ConnectionStringAvailableEvent","owningAssembly":"Aspire.Hosting","content":"export interface ConnectionStringAvailableEvent {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:ConnectionStringAvailableEventPromise","owningAssembly":"Aspire.Hosting","content":"export interface ConnectionStringAvailableEventPromise extends PromiseLike\u003CConnectionStringAvailableEvent\u003E {\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:ContainerBuildOptionsCallbackContext","owningAssembly":"Aspire.Hosting","content":"export interface ContainerBuildOptionsCallbackContext {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n logger(): LoggerPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n executionContext(): DistributedApplicationExecutionContextPromise;\n destination: { get: () =\u003E Promise\u003CContainerImageDestination | null\u003E; set: (value: ContainerImageDestination | null) =\u003E Promise\u003Cvoid\u003E };\n outputPath: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E };\n imageFormat: { get: () =\u003E Promise\u003CContainerImageFormat | null\u003E; set: (value: ContainerImageFormat | null) =\u003E Promise\u003Cvoid\u003E };\n targetPlatform: { get: () =\u003E Promise\u003CContainerTargetPlatform | null\u003E; set: (value: ContainerTargetPlatform | null) =\u003E Promise\u003Cvoid\u003E };\n localImageName: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E };\n localImageTag: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E };\n}"},{"id":"Aspire.Hosting:interface:ContainerBuildOptionsCallbackContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface ContainerBuildOptionsCallbackContextPromise extends PromiseLike\u003CContainerBuildOptionsCallbackContext\u003E {\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n logger(): LoggerPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n executionContext(): DistributedApplicationExecutionContextPromise;\n destination: { get: () =\u003E Promise\u003CContainerImageDestination | null\u003E; set: (value: ContainerImageDestination | null) =\u003E Promise\u003Cvoid\u003E };\n outputPath: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E };\n imageFormat: { get: () =\u003E Promise\u003CContainerImageFormat | null\u003E; set: (value: ContainerImageFormat | null) =\u003E Promise\u003Cvoid\u003E };\n targetPlatform: { get: () =\u003E Promise\u003CContainerTargetPlatform | null\u003E; set: (value: ContainerTargetPlatform | null) =\u003E Promise\u003Cvoid\u003E };\n localImageName: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E };\n localImageTag: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E };\n}"},{"id":"Aspire.Hosting:interface:ContainerFileSystemCallbackContext","owningAssembly":"Aspire.Hosting","content":"export interface ContainerFileSystemCallbackContext {\n toJSON(): MarshalledHandle;\n services(): ServiceProviderPromise;\n model(): ResourcePromise;\n createFile(name: string, options?: CreateFileOptions): Promise\u003CContainerFileSystemItemHandle\u003E;\n createCertificateFile(name: string, options?: CreateCertificateFileOptions): Promise\u003CContainerFileSystemItemHandle\u003E;\n createDirectory(name: string, entries: ContainerFileSystemItemHandle[], options?: CreateDirectoryOptions): Promise\u003CContainerFileSystemItemHandle\u003E;\n}"},{"id":"Aspire.Hosting:interface:ContainerFileSystemCallbackContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface ContainerFileSystemCallbackContextPromise extends PromiseLike\u003CContainerFileSystemCallbackContext\u003E {\n services(): ServiceProviderPromise;\n model(): ResourcePromise;\n createFile(name: string, options?: CreateFileOptions): Promise\u003CContainerFileSystemItemHandle\u003E;\n createCertificateFile(name: string, options?: CreateCertificateFileOptions): Promise\u003CContainerFileSystemItemHandle\u003E;\n createDirectory(name: string, entries: ContainerFileSystemItemHandle[], options?: CreateDirectoryOptions): Promise\u003CContainerFileSystemItemHandle\u003E;\n}"},{"id":"Aspire.Hosting:interface:ContainerFilesDestinationResource","owningAssembly":"Aspire.Hosting","content":"export interface ContainerFilesDestinationResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n publishWithContainerFiles(source: Awaitable\u003CResourceWithContainerFiles\u003E, destinationPath: string): ContainerFilesDestinationResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ContainerFilesDestinationResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface ContainerFilesDestinationResourcePromise extends PromiseLike\u003CContainerFilesDestinationResource\u003E {\n publishWithContainerFiles(source: Awaitable\u003CResourceWithContainerFiles\u003E, destinationPath: string): ContainerFilesDestinationResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ContainerImagePushOptions","owningAssembly":"Aspire.Hosting","content":"export interface ContainerImagePushOptions {\n toJSON(): MarshalledHandle;\n remoteImageName: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E };\n remoteImageTag: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E };\n}"},{"id":"Aspire.Hosting:interface:ContainerImagePushOptionsCallbackContext","owningAssembly":"Aspire.Hosting","content":"export interface ContainerImagePushOptionsCallbackContext {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n options(): Promise\u003CContainerImagePushOptions\u003E;\n}"},{"id":"Aspire.Hosting:interface:ContainerImagePushOptionsCallbackContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface ContainerImagePushOptionsCallbackContextPromise extends PromiseLike\u003CContainerImagePushOptionsCallbackContext\u003E {\n resource(): ResourcePromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n options(): Promise\u003CContainerImagePushOptions\u003E;\n}"},{"id":"Aspire.Hosting:interface:ContainerImageReference","owningAssembly":"Aspire.Hosting","content":"export interface ContainerImageReference {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n valueExpression(): Promise\u003Cstring\u003E;\n}"},{"id":"Aspire.Hosting:interface:ContainerImageReferencePromise","owningAssembly":"Aspire.Hosting","content":"export interface ContainerImageReferencePromise extends PromiseLike\u003CContainerImageReference\u003E {\n resource(): ResourcePromise;\n valueExpression(): Promise\u003Cstring\u003E;\n}"},{"id":"Aspire.Hosting:interface:ContainerMountAnnotation","owningAssembly":"Aspire.Hosting","content":"export interface ContainerMountAnnotation {\n toJSON(): MarshalledHandle;\n source(): Promise\u003Cstring | null\u003E;\n target(): Promise\u003Cstring\u003E;\n type(): Promise\u003CContainerMountType\u003E;\n isReadOnly(): Promise\u003Cboolean\u003E;\n}"},{"id":"Aspire.Hosting:interface:ContainerMountAnnotationPromise","owningAssembly":"Aspire.Hosting","content":"export interface ContainerMountAnnotationPromise extends PromiseLike\u003CContainerMountAnnotation\u003E {\n source(): Promise\u003Cstring | null\u003E;\n target(): Promise\u003Cstring\u003E;\n type(): Promise\u003CContainerMountType\u003E;\n isReadOnly(): Promise\u003Cboolean\u003E;\n}"},{"id":"Aspire.Hosting:interface:ContainerPortReference","owningAssembly":"Aspire.Hosting","content":"export interface ContainerPortReference {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n valueExpression(): Promise\u003Cstring\u003E;\n}"},{"id":"Aspire.Hosting:interface:ContainerPortReferencePromise","owningAssembly":"Aspire.Hosting","content":"export interface ContainerPortReferencePromise extends PromiseLike\u003CContainerPortReference\u003E {\n resource(): ResourcePromise;\n valueExpression(): Promise\u003Cstring\u003E;\n}"},{"id":"Aspire.Hosting:interface:ContainerRegistryResource","owningAssembly":"Aspire.Hosting","content":"export interface ContainerRegistryResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ContainerRegistryResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ContainerRegistryResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ContainerRegistryResourcePromise;\n withSessionLifetime(): ContainerRegistryResourcePromise;\n withPersistentLifetime(): ContainerRegistryResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ContainerRegistryResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ContainerRegistryResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n excludeFromManifest(): ContainerRegistryResourcePromise;\n withExplicitStart(): ContainerRegistryResourcePromise;\n withHealthCheck(key: string): ContainerRegistryResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ContainerRegistryResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ContainerRegistryResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ContainerRegistryResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ContainerRegistryResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ContainerRegistryResourcePromise;\n excludeFromMcp(): ContainerRegistryResourcePromise;\n withHidden(): ContainerRegistryResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ContainerRegistryResourcePromise;\n withTerminal(): ContainerRegistryResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ContainerRegistryResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ContainerRegistryResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface ContainerRegistryResourcePromise extends PromiseLike\u003CContainerRegistryResource\u003E {\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ContainerRegistryResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ContainerRegistryResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ContainerRegistryResourcePromise;\n withSessionLifetime(): ContainerRegistryResourcePromise;\n withPersistentLifetime(): ContainerRegistryResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ContainerRegistryResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ContainerRegistryResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n excludeFromManifest(): ContainerRegistryResourcePromise;\n withExplicitStart(): ContainerRegistryResourcePromise;\n withHealthCheck(key: string): ContainerRegistryResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ContainerRegistryResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ContainerRegistryResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ContainerRegistryResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ContainerRegistryResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerRegistryResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ContainerRegistryResourcePromise;\n excludeFromMcp(): ContainerRegistryResourcePromise;\n withHidden(): ContainerRegistryResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ContainerRegistryResourcePromise;\n withTerminal(): ContainerRegistryResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ContainerRegistryResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerRegistryResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ContainerResource","owningAssembly":"Aspire.Hosting","content":"export interface ContainerResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise;\n withBindMount(source: string, target: string, options?: WithBindMountOptions): ContainerResourcePromise;\n withEntrypoint(entrypoint: string): ContainerResourcePromise;\n withImageTag(tag: string): ContainerResourcePromise;\n withImageRegistry(registry: string): ContainerResourcePromise;\n withImage(image: string, options?: WithImageOptions): ContainerResourcePromise;\n withImageSHA256(sha256: string): ContainerResourcePromise;\n withContainerRuntimeArgs(args: string[]): ContainerResourcePromise;\n withLifetime(lifetime: ContainerLifetime): ContainerResourcePromise;\n withImagePullPolicy(pullPolicy: ImagePullPolicy): ContainerResourcePromise;\n publishAsContainer(): ContainerResourcePromise;\n withDockerfile(contextPath: string, options?: WithDockerfileOptions): ContainerResourcePromise;\n withDockerfileFactory(contextPath: string, dockerfileFactory: (arg: DockerfileFactoryContext) =\u003E Promise\u003Cstring\u003E, options?: WithDockerfileFactoryOptions): ContainerResourcePromise;\n withContainerName(name: string): ContainerResourcePromise;\n withBuildArg(name: string, value: string | ParameterResource | Awaitable\u003CParameterResource\u003E): ContainerResourcePromise;\n withBuildSecret(name: string, value: Awaitable\u003CParameterResource\u003E): ContainerResourcePromise;\n withContainerCertificatePaths(options?: WithContainerCertificatePathsOptions): ContainerResourcePromise;\n withContainerFiles(destinationPath: string, sourcePath: string, options?: ContainerFilesOptions): ContainerResourcePromise;\n withContainerFilesCallback(destinationPath: string, callback: (arg1: ContainerFileSystemCallbackContext, arg2: CancellationToken) =\u003E Promise\u003CContainerFileSystemItemHandle[]\u003E, options?: ContainerFilesOptions): ContainerResourcePromise;\n withDockerfileBuilder(contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E, options?: WithDockerfileBuilderOptions): ContainerResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ContainerResourcePromise;\n withContainerNetworkAlias(alias: string): ContainerResourcePromise;\n withMcpServer(options?: WithMcpServerOptions): ContainerResourcePromise;\n withOtlpExporter(options?: WithOtlpExporterOptions): ContainerResourcePromise;\n publishAsConnectionString(): ContainerResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ContainerResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ContainerResourcePromise;\n withSessionLifetime(): ContainerResourcePromise;\n withPersistentLifetime(): ContainerResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ContainerResourcePromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ContainerResourcePromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withArgs(args: string[]): ContainerResourcePromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ContainerResourcePromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ContainerResourcePromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ContainerResourcePromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ContainerResourcePromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ContainerResourcePromise;\n withEndpoint(options?: WithEndpointOptions): ContainerResourcePromise;\n withEndpointProxySupport(proxyEnabled: boolean): ContainerResourcePromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): ContainerResourcePromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): ContainerResourcePromise;\n withExternalHttpEndpoints(): ContainerResourcePromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): ContainerResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ContainerResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n excludeFromManifest(): ContainerResourcePromise;\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ContainerResourcePromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ContainerResourcePromise;\n withExplicitStart(): ContainerResourcePromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ContainerResourcePromise;\n withHealthCheck(key: string): ContainerResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ContainerResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ContainerResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ContainerResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ContainerResourcePromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ContainerResourcePromise;\n withDeveloperCertificateTrust(trust: boolean): ContainerResourcePromise;\n withCertificateTrustScope(scope: CertificateTrustScope): ContainerResourcePromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ContainerResourcePromise;\n withoutHttpsCertificate(): ContainerResourcePromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ContainerResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ContainerResourcePromise;\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ContainerResourcePromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ContainerResourcePromise;\n excludeFromMcp(): ContainerResourcePromise;\n withHidden(): ContainerResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ContainerResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withRemoteImageName(remoteImageName: string): ContainerResourcePromise;\n withRemoteImageTag(remoteImageTag: string): ContainerResourcePromise;\n withTerminal(): ContainerResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ContainerResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withVolume(target: string, options?: WithVolumeOptions): ContainerResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ContainerResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface ContainerResourcePromise extends PromiseLike\u003CContainerResource\u003E {\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise;\n withBindMount(source: string, target: string, options?: WithBindMountOptions): ContainerResourcePromise;\n withEntrypoint(entrypoint: string): ContainerResourcePromise;\n withImageTag(tag: string): ContainerResourcePromise;\n withImageRegistry(registry: string): ContainerResourcePromise;\n withImage(image: string, options?: WithImageOptions): ContainerResourcePromise;\n withImageSHA256(sha256: string): ContainerResourcePromise;\n withContainerRuntimeArgs(args: string[]): ContainerResourcePromise;\n withLifetime(lifetime: ContainerLifetime): ContainerResourcePromise;\n withImagePullPolicy(pullPolicy: ImagePullPolicy): ContainerResourcePromise;\n publishAsContainer(): ContainerResourcePromise;\n withDockerfile(contextPath: string, options?: WithDockerfileOptions): ContainerResourcePromise;\n withDockerfileFactory(contextPath: string, dockerfileFactory: (arg: DockerfileFactoryContext) =\u003E Promise\u003Cstring\u003E, options?: WithDockerfileFactoryOptions): ContainerResourcePromise;\n withContainerName(name: string): ContainerResourcePromise;\n withBuildArg(name: string, value: string | ParameterResource | Awaitable\u003CParameterResource\u003E): ContainerResourcePromise;\n withBuildSecret(name: string, value: Awaitable\u003CParameterResource\u003E): ContainerResourcePromise;\n withContainerCertificatePaths(options?: WithContainerCertificatePathsOptions): ContainerResourcePromise;\n withContainerFiles(destinationPath: string, sourcePath: string, options?: ContainerFilesOptions): ContainerResourcePromise;\n withContainerFilesCallback(destinationPath: string, callback: (arg1: ContainerFileSystemCallbackContext, arg2: CancellationToken) =\u003E Promise\u003CContainerFileSystemItemHandle[]\u003E, options?: ContainerFilesOptions): ContainerResourcePromise;\n withDockerfileBuilder(contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E, options?: WithDockerfileBuilderOptions): ContainerResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ContainerResourcePromise;\n withContainerNetworkAlias(alias: string): ContainerResourcePromise;\n withMcpServer(options?: WithMcpServerOptions): ContainerResourcePromise;\n withOtlpExporter(options?: WithOtlpExporterOptions): ContainerResourcePromise;\n publishAsConnectionString(): ContainerResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ContainerResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ContainerResourcePromise;\n withSessionLifetime(): ContainerResourcePromise;\n withPersistentLifetime(): ContainerResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ContainerResourcePromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ContainerResourcePromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withArgs(args: string[]): ContainerResourcePromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ContainerResourcePromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ContainerResourcePromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ContainerResourcePromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ContainerResourcePromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ContainerResourcePromise;\n withEndpoint(options?: WithEndpointOptions): ContainerResourcePromise;\n withEndpointProxySupport(proxyEnabled: boolean): ContainerResourcePromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): ContainerResourcePromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): ContainerResourcePromise;\n withExternalHttpEndpoints(): ContainerResourcePromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): ContainerResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ContainerResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n excludeFromManifest(): ContainerResourcePromise;\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ContainerResourcePromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ContainerResourcePromise;\n withExplicitStart(): ContainerResourcePromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ContainerResourcePromise;\n withHealthCheck(key: string): ContainerResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ContainerResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ContainerResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ContainerResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ContainerResourcePromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ContainerResourcePromise;\n withDeveloperCertificateTrust(trust: boolean): ContainerResourcePromise;\n withCertificateTrustScope(scope: CertificateTrustScope): ContainerResourcePromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ContainerResourcePromise;\n withoutHttpsCertificate(): ContainerResourcePromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ContainerResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ContainerResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ContainerResourcePromise;\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ContainerResourcePromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ContainerResourcePromise;\n excludeFromMcp(): ContainerResourcePromise;\n withHidden(): ContainerResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ContainerResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withRemoteImageName(remoteImageName: string): ContainerResourcePromise;\n withRemoteImageTag(remoteImageTag: string): ContainerResourcePromise;\n withTerminal(): ContainerResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ContainerResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n withVolume(target: string, options?: WithVolumeOptions): ContainerResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ContainerResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplication","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplication {\n toJSON(): MarshalledHandle;\n run(options?: RunOptions): DistributedApplicationPromise;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplicationBuilder","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationBuilder {\n toJSON(): MarshalledHandle;\n appHostDirectory(): Promise\u003Cstring\u003E;\n environment(): HostEnvironmentPromise;\n eventing(): DistributedApplicationEventingPromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n pipeline(): DistributedApplicationPipelinePromise;\n userSecretsManager(): UserSecretsManagerPromise;\n addContainerRegistry(name: string, endpoint: string | ParameterResource | Awaitable\u003CParameterResource\u003E, options?: AddContainerRegistryOptions): ContainerRegistryResourcePromise;\n addContainer(name: string, image: string | AddContainerOptions): ContainerResourcePromise;\n addDockerfile(name: string, contextPath: string, options?: AddDockerfileOptions): ContainerResourcePromise;\n addDockerfileFactory(name: string, contextPath: string, dockerfileFactory: (arg: DockerfileFactoryContext) =\u003E Promise\u003Cstring\u003E, options?: AddDockerfileFactoryOptions): ContainerResourcePromise;\n addDockerfileBuilder(name: string, contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E, options?: AddDockerfileBuilderOptions): ContainerResourcePromise;\n addDotnetTool(name: string, packageId: string): DotnetToolResourcePromise;\n addExecutable(name: string, command: string, workingDirectory: string, args: string[]): ExecutableResourcePromise;\n addExternalService(name: string, url: string | ParameterResource | Awaitable\u003CParameterResource\u003E): ExternalServiceResourcePromise;\n build(): DistributedApplicationPromise;\n addParameter(name: string, options?: AddParameterOptions): ParameterResourcePromise;\n addParameterFromConfiguration(name: string, configurationKey: string, options?: AddParameterFromConfigurationOptions): ParameterResourcePromise;\n addParameterWithGeneratedValue(name: string, value: GenerateParameterDefault, options?: AddParameterWithGeneratedValueOptions): ParameterResourcePromise;\n addConnectionString(name: string, options?: AddConnectionStringOptions): ResourceWithConnectionStringPromise;\n addProject(name: string, projectPath: string, options?: AddProjectOptions): ProjectResourcePromise;\n addCSharpApp(name: string, path: string, options?: AddCSharpAppOptions): CSharpAppResourcePromise;\n getConfiguration(): ConfigurationPromise;\n subscribeBeforeStart(callback: (arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n subscribeBeforePublish(callback: (arg: BeforePublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n subscribeAfterPublish(callback: (arg: AfterPublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n subscribeAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n addEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationBuilderPromise;\n tryAddEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationBuilderPromise;\n addHealthCheck(name: string, check: () =\u003E Promise\u003CHealthCheckResult\u003E): DistributedApplicationBuilderPromise;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplicationBuilderPromise","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationBuilderPromise extends PromiseLike\u003CDistributedApplicationBuilder\u003E {\n appHostDirectory(): Promise\u003Cstring\u003E;\n environment(): HostEnvironmentPromise;\n eventing(): DistributedApplicationEventingPromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n pipeline(): DistributedApplicationPipelinePromise;\n userSecretsManager(): UserSecretsManagerPromise;\n addContainerRegistry(name: string, endpoint: string | ParameterResource | Awaitable\u003CParameterResource\u003E, options?: AddContainerRegistryOptions): ContainerRegistryResourcePromise;\n addContainer(name: string, image: string | AddContainerOptions): ContainerResourcePromise;\n addDockerfile(name: string, contextPath: string, options?: AddDockerfileOptions): ContainerResourcePromise;\n addDockerfileFactory(name: string, contextPath: string, dockerfileFactory: (arg: DockerfileFactoryContext) =\u003E Promise\u003Cstring\u003E, options?: AddDockerfileFactoryOptions): ContainerResourcePromise;\n addDockerfileBuilder(name: string, contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E, options?: AddDockerfileBuilderOptions): ContainerResourcePromise;\n addDotnetTool(name: string, packageId: string): DotnetToolResourcePromise;\n addExecutable(name: string, command: string, workingDirectory: string, args: string[]): ExecutableResourcePromise;\n addExternalService(name: string, url: string | ParameterResource | Awaitable\u003CParameterResource\u003E): ExternalServiceResourcePromise;\n build(): DistributedApplicationPromise;\n addParameter(name: string, options?: AddParameterOptions): ParameterResourcePromise;\n addParameterFromConfiguration(name: string, configurationKey: string, options?: AddParameterFromConfigurationOptions): ParameterResourcePromise;\n addParameterWithGeneratedValue(name: string, value: GenerateParameterDefault, options?: AddParameterWithGeneratedValueOptions): ParameterResourcePromise;\n addConnectionString(name: string, options?: AddConnectionStringOptions): ResourceWithConnectionStringPromise;\n addProject(name: string, projectPath: string, options?: AddProjectOptions): ProjectResourcePromise;\n addCSharpApp(name: string, path: string, options?: AddCSharpAppOptions): CSharpAppResourcePromise;\n getConfiguration(): ConfigurationPromise;\n subscribeBeforeStart(callback: (arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n subscribeBeforePublish(callback: (arg: BeforePublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n subscribeAfterPublish(callback: (arg: AfterPublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n subscribeAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n addEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationBuilderPromise;\n tryAddEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationBuilderPromise;\n addHealthCheck(name: string, check: () =\u003E Promise\u003CHealthCheckResult\u003E): DistributedApplicationBuilderPromise;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplicationEventing","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationEventing {\n toJSON(): MarshalledHandle;\n unsubscribe(subscription: DistributedApplicationEventSubscriptionHandle): DistributedApplicationEventingPromise;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplicationEventingPromise","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationEventingPromise extends PromiseLike\u003CDistributedApplicationEventing\u003E {\n unsubscribe(subscription: DistributedApplicationEventSubscriptionHandle): DistributedApplicationEventingPromise;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplicationExecutionContext","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationExecutionContext {\n toJSON(): MarshalledHandle;\n publisherName: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E };\n operation(): Promise\u003CDistributedApplicationOperation\u003E;\n runConfiguration(): Promise\u003CRunConfiguration\u003E;\n serviceProvider(): ServiceProviderPromise;\n services(): ServiceProviderPromise;\n isPublishMode(): Promise\u003Cboolean\u003E;\n isRunMode(): Promise\u003Cboolean\u003E;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplicationExecutionContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationExecutionContextPromise extends PromiseLike\u003CDistributedApplicationExecutionContext\u003E {\n publisherName: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E };\n operation(): Promise\u003CDistributedApplicationOperation\u003E;\n runConfiguration(): Promise\u003CRunConfiguration\u003E;\n serviceProvider(): ServiceProviderPromise;\n services(): ServiceProviderPromise;\n isPublishMode(): Promise\u003Cboolean\u003E;\n isRunMode(): Promise\u003Cboolean\u003E;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplicationModel","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationModel {\n toJSON(): MarshalledHandle;\n getResources(): Promise\u003CResource[]\u003E;\n findResourceByName(name: string): ResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplicationModelPromise","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationModelPromise extends PromiseLike\u003CDistributedApplicationModel\u003E {\n getResources(): Promise\u003CResource[]\u003E;\n findResourceByName(name: string): ResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplicationPipeline","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationPipeline {\n toJSON(): MarshalledHandle;\n disableBuildOnlyContainerValidation(): DistributedApplicationPipelinePromise;\n addStep(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: AddStepOptions): DistributedApplicationPipelinePromise;\n configure(callback: (arg: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationPipelinePromise;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplicationPipelinePromise","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationPipelinePromise extends PromiseLike\u003CDistributedApplicationPipeline\u003E {\n disableBuildOnlyContainerValidation(): DistributedApplicationPipelinePromise;\n addStep(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: AddStepOptions): DistributedApplicationPipelinePromise;\n configure(callback: (arg: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationPipelinePromise;\n}"},{"id":"Aspire.Hosting:interface:DistributedApplicationPromise","owningAssembly":"Aspire.Hosting","content":"export interface DistributedApplicationPromise extends PromiseLike\u003CDistributedApplication\u003E {\n run(options?: RunOptions): DistributedApplicationPromise;\n}"},{"id":"Aspire.Hosting:interface:DockerfileBuilder","owningAssembly":"Aspire.Hosting","content":"export interface DockerfileBuilder {\n toJSON(): MarshalledHandle;\n arg(name: string, options?: ArgOptions): DockerfileBuilderPromise;\n from(image: string, options?: FromOptions): DockerfileStagePromise;\n addContainerFilesStages(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: AddContainerFilesStagesOptions): DockerfileBuilderPromise;\n}"},{"id":"Aspire.Hosting:interface:DockerfileBuilderCallbackContext","owningAssembly":"Aspire.Hosting","content":"export interface DockerfileBuilderCallbackContext {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n builder(): DockerfileBuilderPromise;\n services(): ServiceProviderPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n}"},{"id":"Aspire.Hosting:interface:DockerfileBuilderCallbackContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface DockerfileBuilderCallbackContextPromise extends PromiseLike\u003CDockerfileBuilderCallbackContext\u003E {\n resource(): ResourcePromise;\n builder(): DockerfileBuilderPromise;\n services(): ServiceProviderPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n}"},{"id":"Aspire.Hosting:interface:DockerfileBuilderPromise","owningAssembly":"Aspire.Hosting","content":"export interface DockerfileBuilderPromise extends PromiseLike\u003CDockerfileBuilder\u003E {\n arg(name: string, options?: ArgOptions): DockerfileBuilderPromise;\n from(image: string, options?: FromOptions): DockerfileStagePromise;\n addContainerFilesStages(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: AddContainerFilesStagesOptions): DockerfileBuilderPromise;\n}"},{"id":"Aspire.Hosting:interface:DockerfileFactoryContext","owningAssembly":"Aspire.Hosting","content":"export interface DockerfileFactoryContext {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:DockerfileFactoryContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface DockerfileFactoryContextPromise extends PromiseLike\u003CDockerfileFactoryContext\u003E {\n resource(): ResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:DockerfileStage","owningAssembly":"Aspire.Hosting","content":"export interface DockerfileStage {\n toJSON(): MarshalledHandle;\n arg(name: string, options?: ArgOptions): DockerfileStagePromise;\n workDir(path: string): DockerfileStagePromise;\n run(command: string): DockerfileStagePromise;\n copy(source: string, destination: string, options?: CopyOptions): DockerfileStagePromise;\n copyFrom(from: string, source: string, destination: string, options?: CopyFromOptions): DockerfileStagePromise;\n env(name: string, value: string): DockerfileStagePromise;\n expose(port: number): DockerfileStagePromise;\n cmd(command: string[]): DockerfileStagePromise;\n entrypoint(command: string[]): DockerfileStagePromise;\n runWithMounts(command: string, mounts: string[]): DockerfileStagePromise;\n user(user: string): DockerfileStagePromise;\n emptyLine(): DockerfileStagePromise;\n comment(comment: string): DockerfileStagePromise;\n addContainerFiles(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, rootDestinationPath: string, options?: AddContainerFilesOptions): DockerfileStagePromise;\n}"},{"id":"Aspire.Hosting:interface:DockerfileStagePromise","owningAssembly":"Aspire.Hosting","content":"export interface DockerfileStagePromise extends PromiseLike\u003CDockerfileStage\u003E {\n arg(name: string, options?: ArgOptions): DockerfileStagePromise;\n workDir(path: string): DockerfileStagePromise;\n run(command: string): DockerfileStagePromise;\n copy(source: string, destination: string, options?: CopyOptions): DockerfileStagePromise;\n copyFrom(from: string, source: string, destination: string, options?: CopyFromOptions): DockerfileStagePromise;\n env(name: string, value: string): DockerfileStagePromise;\n expose(port: number): DockerfileStagePromise;\n cmd(command: string[]): DockerfileStagePromise;\n entrypoint(command: string[]): DockerfileStagePromise;\n runWithMounts(command: string, mounts: string[]): DockerfileStagePromise;\n user(user: string): DockerfileStagePromise;\n emptyLine(): DockerfileStagePromise;\n comment(comment: string): DockerfileStagePromise;\n addContainerFiles(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, rootDestinationPath: string, options?: AddContainerFilesOptions): DockerfileStagePromise;\n}"},{"id":"Aspire.Hosting:interface:DotnetToolResource","owningAssembly":"Aspire.Hosting","content":"export interface DotnetToolResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): DotnetToolResourcePromise;\n withToolPackage(packageId: string): DotnetToolResourcePromise;\n withToolVersion(version: string): DotnetToolResourcePromise;\n withToolPrerelease(): DotnetToolResourcePromise;\n withToolSource(source: string): DotnetToolResourcePromise;\n withToolIgnoreExistingFeeds(): DotnetToolResourcePromise;\n withToolIgnoreFailedSources(): DotnetToolResourcePromise;\n publishAsDockerFile(configure: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withExecutableCommand(command: string): DotnetToolResourcePromise;\n withWorkingDirectory(workingDirectory: string): DotnetToolResourcePromise;\n withMcpServer(options?: WithMcpServerOptions): DotnetToolResourcePromise;\n withOtlpExporter(options?: WithOtlpExporterOptions): DotnetToolResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): DotnetToolResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): DotnetToolResourcePromise;\n withSessionLifetime(): DotnetToolResourcePromise;\n withPersistentLifetime(): DotnetToolResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise;\n withParentProcessLifetime(parentProcessId: number): DotnetToolResourcePromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): DotnetToolResourcePromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withArgs(args: string[]): DotnetToolResourcePromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): DotnetToolResourcePromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): DotnetToolResourcePromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): DotnetToolResourcePromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): DotnetToolResourcePromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): DotnetToolResourcePromise;\n withEndpoint(options?: WithEndpointOptions): DotnetToolResourcePromise;\n withEndpointProxySupport(proxyEnabled: boolean): DotnetToolResourcePromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): DotnetToolResourcePromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): DotnetToolResourcePromise;\n withExternalHttpEndpoints(): DotnetToolResourcePromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): DotnetToolResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): DotnetToolResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n excludeFromManifest(): DotnetToolResourcePromise;\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): DotnetToolResourcePromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): DotnetToolResourcePromise;\n withExplicitStart(): DotnetToolResourcePromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): DotnetToolResourcePromise;\n withHealthCheck(key: string): DotnetToolResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): DotnetToolResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): DotnetToolResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): DotnetToolResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): DotnetToolResourcePromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): DotnetToolResourcePromise;\n withDeveloperCertificateTrust(trust: boolean): DotnetToolResourcePromise;\n withCertificateTrustScope(scope: CertificateTrustScope): DotnetToolResourcePromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): DotnetToolResourcePromise;\n withoutHttpsCertificate(): DotnetToolResourcePromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): DotnetToolResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): DotnetToolResourcePromise;\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): DotnetToolResourcePromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): DotnetToolResourcePromise;\n excludeFromMcp(): DotnetToolResourcePromise;\n withHidden(): DotnetToolResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): DotnetToolResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withRemoteImageName(remoteImageName: string): DotnetToolResourcePromise;\n withRemoteImageTag(remoteImageTag: string): DotnetToolResourcePromise;\n withTerminal(): DotnetToolResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): DotnetToolResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:DotnetToolResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface DotnetToolResourcePromise extends PromiseLike\u003CDotnetToolResource\u003E {\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): DotnetToolResourcePromise;\n withToolPackage(packageId: string): DotnetToolResourcePromise;\n withToolVersion(version: string): DotnetToolResourcePromise;\n withToolPrerelease(): DotnetToolResourcePromise;\n withToolSource(source: string): DotnetToolResourcePromise;\n withToolIgnoreExistingFeeds(): DotnetToolResourcePromise;\n withToolIgnoreFailedSources(): DotnetToolResourcePromise;\n publishAsDockerFile(configure: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withExecutableCommand(command: string): DotnetToolResourcePromise;\n withWorkingDirectory(workingDirectory: string): DotnetToolResourcePromise;\n withMcpServer(options?: WithMcpServerOptions): DotnetToolResourcePromise;\n withOtlpExporter(options?: WithOtlpExporterOptions): DotnetToolResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): DotnetToolResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): DotnetToolResourcePromise;\n withSessionLifetime(): DotnetToolResourcePromise;\n withPersistentLifetime(): DotnetToolResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise;\n withParentProcessLifetime(parentProcessId: number): DotnetToolResourcePromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): DotnetToolResourcePromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withArgs(args: string[]): DotnetToolResourcePromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): DotnetToolResourcePromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): DotnetToolResourcePromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): DotnetToolResourcePromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): DotnetToolResourcePromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): DotnetToolResourcePromise;\n withEndpoint(options?: WithEndpointOptions): DotnetToolResourcePromise;\n withEndpointProxySupport(proxyEnabled: boolean): DotnetToolResourcePromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): DotnetToolResourcePromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): DotnetToolResourcePromise;\n withExternalHttpEndpoints(): DotnetToolResourcePromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): DotnetToolResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): DotnetToolResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n excludeFromManifest(): DotnetToolResourcePromise;\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): DotnetToolResourcePromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): DotnetToolResourcePromise;\n withExplicitStart(): DotnetToolResourcePromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): DotnetToolResourcePromise;\n withHealthCheck(key: string): DotnetToolResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): DotnetToolResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): DotnetToolResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): DotnetToolResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): DotnetToolResourcePromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): DotnetToolResourcePromise;\n withDeveloperCertificateTrust(trust: boolean): DotnetToolResourcePromise;\n withCertificateTrustScope(scope: CertificateTrustScope): DotnetToolResourcePromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): DotnetToolResourcePromise;\n withoutHttpsCertificate(): DotnetToolResourcePromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): DotnetToolResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): DotnetToolResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): DotnetToolResourcePromise;\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): DotnetToolResourcePromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): DotnetToolResourcePromise;\n excludeFromMcp(): DotnetToolResourcePromise;\n withHidden(): DotnetToolResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): DotnetToolResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n withRemoteImageName(remoteImageName: string): DotnetToolResourcePromise;\n withRemoteImageTag(remoteImageTag: string): DotnetToolResourcePromise;\n withTerminal(): DotnetToolResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): DotnetToolResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): DotnetToolResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:EndpointReference","owningAssembly":"Aspire.Hosting","content":"export interface EndpointReference {\n toJSON(): MarshalledHandle;\n resource(): ResourceWithEndpointsPromise;\n endpointName(): Promise\u003Cstring\u003E;\n errorMessage(): Promise\u003Cstring | null\u003E;\n isAllocated(): Promise\u003Cboolean\u003E;\n exists(): Promise\u003Cboolean\u003E;\n isHttp(): Promise\u003Cboolean\u003E;\n isHttps(): Promise\u003Cboolean\u003E;\n tlsEnabled(): Promise\u003Cboolean\u003E;\n isHttpSchemeNamedEndpoint(): Promise\u003Cboolean\u003E;\n excludeReferenceEndpoint(): Promise\u003Cboolean\u003E;\n port(): Promise\u003Cnumber\u003E;\n targetPort(): Promise\u003Cnumber | null\u003E;\n host(): Promise\u003Cstring\u003E;\n scheme(): Promise\u003Cstring\u003E;\n url(): Promise\u003Cstring\u003E;\n getValueAsync(options?: GetValueAsyncOptions): Promise\u003Cstring\u003E;\n property(property: EndpointProperty): EndpointReferenceExpressionPromise;\n getTlsValue(enabledValue: ReferenceExpression, disabledValue: ReferenceExpression): Promise\u003CReferenceExpression\u003E;\n}"},{"id":"Aspire.Hosting:interface:EndpointReferenceExpression","owningAssembly":"Aspire.Hosting","content":"export interface EndpointReferenceExpression {\n toJSON(): MarshalledHandle;\n endpoint(): EndpointReferencePromise;\n property(): Promise\u003CEndpointProperty\u003E;\n valueExpression(): Promise\u003Cstring\u003E;\n}"},{"id":"Aspire.Hosting:interface:EndpointReferenceExpressionPromise","owningAssembly":"Aspire.Hosting","content":"export interface EndpointReferenceExpressionPromise extends PromiseLike\u003CEndpointReferenceExpression\u003E {\n endpoint(): EndpointReferencePromise;\n property(): Promise\u003CEndpointProperty\u003E;\n valueExpression(): Promise\u003Cstring\u003E;\n}"},{"id":"Aspire.Hosting:interface:EndpointReferencePromise","owningAssembly":"Aspire.Hosting","content":"export interface EndpointReferencePromise extends PromiseLike\u003CEndpointReference\u003E {\n resource(): ResourceWithEndpointsPromise;\n endpointName(): Promise\u003Cstring\u003E;\n errorMessage(): Promise\u003Cstring | null\u003E;\n isAllocated(): Promise\u003Cboolean\u003E;\n exists(): Promise\u003Cboolean\u003E;\n isHttp(): Promise\u003Cboolean\u003E;\n isHttps(): Promise\u003Cboolean\u003E;\n tlsEnabled(): Promise\u003Cboolean\u003E;\n isHttpSchemeNamedEndpoint(): Promise\u003Cboolean\u003E;\n excludeReferenceEndpoint(): Promise\u003Cboolean\u003E;\n port(): Promise\u003Cnumber\u003E;\n targetPort(): Promise\u003Cnumber | null\u003E;\n host(): Promise\u003Cstring\u003E;\n scheme(): Promise\u003Cstring\u003E;\n url(): Promise\u003Cstring\u003E;\n getValueAsync(options?: GetValueAsyncOptions): Promise\u003Cstring\u003E;\n property(property: EndpointProperty): EndpointReferenceExpressionPromise;\n getTlsValue(enabledValue: ReferenceExpression, disabledValue: ReferenceExpression): Promise\u003CReferenceExpression\u003E;\n}"},{"id":"Aspire.Hosting:interface:EndpointUpdateContext","owningAssembly":"Aspire.Hosting","content":"export interface EndpointUpdateContext {\n toJSON(): MarshalledHandle;\n name(): Promise\u003Cstring\u003E;\n protocol: { get: () =\u003E Promise\u003CProtocolType\u003E; set: (value: ProtocolType) =\u003E Promise\u003Cvoid\u003E };\n port: { get: () =\u003E Promise\u003Cnumber | null\u003E; set: (value: number | null) =\u003E Promise\u003Cvoid\u003E };\n targetPort: { get: () =\u003E Promise\u003Cnumber | null\u003E; set: (value: number | null) =\u003E Promise\u003Cvoid\u003E };\n uriScheme: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E };\n targetHost: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E };\n transport: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E };\n isExternal: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E };\n isProxied: { get: () =\u003E Promise\u003Cboolean | null\u003E; set: (value: boolean | null) =\u003E Promise\u003Cvoid\u003E };\n excludeReferenceEndpoint: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E };\n tlsEnabled: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E };\n}"},{"id":"Aspire.Hosting:interface:EndpointUpdateContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface EndpointUpdateContextPromise extends PromiseLike\u003CEndpointUpdateContext\u003E {\n name(): Promise\u003Cstring\u003E;\n protocol: { get: () =\u003E Promise\u003CProtocolType\u003E; set: (value: ProtocolType) =\u003E Promise\u003Cvoid\u003E };\n port: { get: () =\u003E Promise\u003Cnumber | null\u003E; set: (value: number | null) =\u003E Promise\u003Cvoid\u003E };\n targetPort: { get: () =\u003E Promise\u003Cnumber | null\u003E; set: (value: number | null) =\u003E Promise\u003Cvoid\u003E };\n uriScheme: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E };\n targetHost: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E };\n transport: { get: () =\u003E Promise\u003Cstring\u003E; set: (value: string) =\u003E Promise\u003Cvoid\u003E };\n isExternal: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E };\n isProxied: { get: () =\u003E Promise\u003Cboolean | null\u003E; set: (value: boolean | null) =\u003E Promise\u003Cvoid\u003E };\n excludeReferenceEndpoint: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E };\n tlsEnabled: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E };\n}"},{"id":"Aspire.Hosting:interface:EnvironmentCallbackContext","owningAssembly":"Aspire.Hosting","content":"export interface EnvironmentCallbackContext {\n toJSON(): MarshalledHandle;\n environment(): EnvironmentEditorPromise;\n log(): LogFacadePromise;\n resource(): ResourcePromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n}"},{"id":"Aspire.Hosting:interface:EnvironmentCallbackContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface EnvironmentCallbackContextPromise extends PromiseLike\u003CEnvironmentCallbackContext\u003E {\n environment(): EnvironmentEditorPromise;\n log(): LogFacadePromise;\n resource(): ResourcePromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n}"},{"id":"Aspire.Hosting:interface:EnvironmentEditor","owningAssembly":"Aspire.Hosting","content":"export interface EnvironmentEditor {\n toJSON(): MarshalledHandle;\n set(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): EnvironmentEditorPromise;\n}"},{"id":"Aspire.Hosting:interface:EnvironmentEditorPromise","owningAssembly":"Aspire.Hosting","content":"export interface EnvironmentEditorPromise extends PromiseLike\u003CEnvironmentEditor\u003E {\n set(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): EnvironmentEditorPromise;\n}"},{"id":"Aspire.Hosting:interface:EventingSubscriberRegistrationContext","owningAssembly":"Aspire.Hosting","content":"export interface EventingSubscriberRegistrationContext {\n toJSON(): MarshalledHandle;\n executionContext(): DistributedApplicationExecutionContextPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n onBeforeStart(callback: (arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n onBeforePublish(callback: (arg: BeforePublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n onAfterPublish(callback: (arg: AfterPublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n onAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n}"},{"id":"Aspire.Hosting:interface:EventingSubscriberRegistrationContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface EventingSubscriberRegistrationContextPromise extends PromiseLike\u003CEventingSubscriberRegistrationContext\u003E {\n executionContext(): DistributedApplicationExecutionContextPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n onBeforeStart(callback: (arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n onBeforePublish(callback: (arg: BeforePublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n onAfterPublish(callback: (arg: AfterPublishEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n onAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E): Promise\u003CDistributedApplicationEventSubscriptionHandle\u003E;\n}"},{"id":"Aspire.Hosting:interface:ExecutableResource","owningAssembly":"Aspire.Hosting","content":"export interface ExecutableResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ExecutableResourcePromise;\n publishAsDockerFile(configure: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withExecutableCommand(command: string): ExecutableResourcePromise;\n withWorkingDirectory(workingDirectory: string): ExecutableResourcePromise;\n withMcpServer(options?: WithMcpServerOptions): ExecutableResourcePromise;\n withOtlpExporter(options?: WithOtlpExporterOptions): ExecutableResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ExecutableResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ExecutableResourcePromise;\n withSessionLifetime(): ExecutableResourcePromise;\n withPersistentLifetime(): ExecutableResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ExecutableResourcePromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ExecutableResourcePromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withArgs(args: string[]): ExecutableResourcePromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ExecutableResourcePromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ExecutableResourcePromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ExecutableResourcePromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ExecutableResourcePromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ExecutableResourcePromise;\n withEndpoint(options?: WithEndpointOptions): ExecutableResourcePromise;\n withEndpointProxySupport(proxyEnabled: boolean): ExecutableResourcePromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): ExecutableResourcePromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): ExecutableResourcePromise;\n withExternalHttpEndpoints(): ExecutableResourcePromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): ExecutableResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ExecutableResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n excludeFromManifest(): ExecutableResourcePromise;\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ExecutableResourcePromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ExecutableResourcePromise;\n withExplicitStart(): ExecutableResourcePromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ExecutableResourcePromise;\n withHealthCheck(key: string): ExecutableResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ExecutableResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ExecutableResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ExecutableResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ExecutableResourcePromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ExecutableResourcePromise;\n withDeveloperCertificateTrust(trust: boolean): ExecutableResourcePromise;\n withCertificateTrustScope(scope: CertificateTrustScope): ExecutableResourcePromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ExecutableResourcePromise;\n withoutHttpsCertificate(): ExecutableResourcePromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ExecutableResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ExecutableResourcePromise;\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ExecutableResourcePromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ExecutableResourcePromise;\n excludeFromMcp(): ExecutableResourcePromise;\n withHidden(): ExecutableResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ExecutableResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withRemoteImageName(remoteImageName: string): ExecutableResourcePromise;\n withRemoteImageTag(remoteImageTag: string): ExecutableResourcePromise;\n withTerminal(): ExecutableResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ExecutableResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ExecutableResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface ExecutableResourcePromise extends PromiseLike\u003CExecutableResource\u003E {\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ExecutableResourcePromise;\n publishAsDockerFile(configure: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withExecutableCommand(command: string): ExecutableResourcePromise;\n withWorkingDirectory(workingDirectory: string): ExecutableResourcePromise;\n withMcpServer(options?: WithMcpServerOptions): ExecutableResourcePromise;\n withOtlpExporter(options?: WithOtlpExporterOptions): ExecutableResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ExecutableResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ExecutableResourcePromise;\n withSessionLifetime(): ExecutableResourcePromise;\n withPersistentLifetime(): ExecutableResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ExecutableResourcePromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ExecutableResourcePromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withArgs(args: string[]): ExecutableResourcePromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ExecutableResourcePromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ExecutableResourcePromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ExecutableResourcePromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ExecutableResourcePromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ExecutableResourcePromise;\n withEndpoint(options?: WithEndpointOptions): ExecutableResourcePromise;\n withEndpointProxySupport(proxyEnabled: boolean): ExecutableResourcePromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): ExecutableResourcePromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): ExecutableResourcePromise;\n withExternalHttpEndpoints(): ExecutableResourcePromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): ExecutableResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ExecutableResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n excludeFromManifest(): ExecutableResourcePromise;\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ExecutableResourcePromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ExecutableResourcePromise;\n withExplicitStart(): ExecutableResourcePromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ExecutableResourcePromise;\n withHealthCheck(key: string): ExecutableResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ExecutableResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ExecutableResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ExecutableResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ExecutableResourcePromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ExecutableResourcePromise;\n withDeveloperCertificateTrust(trust: boolean): ExecutableResourcePromise;\n withCertificateTrustScope(scope: CertificateTrustScope): ExecutableResourcePromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ExecutableResourcePromise;\n withoutHttpsCertificate(): ExecutableResourcePromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ExecutableResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExecutableResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ExecutableResourcePromise;\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ExecutableResourcePromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ExecutableResourcePromise;\n excludeFromMcp(): ExecutableResourcePromise;\n withHidden(): ExecutableResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ExecutableResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n withRemoteImageName(remoteImageName: string): ExecutableResourcePromise;\n withRemoteImageTag(remoteImageTag: string): ExecutableResourcePromise;\n withTerminal(): ExecutableResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ExecutableResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExecutableResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ExecuteCommandContext","owningAssembly":"Aspire.Hosting","content":"export interface ExecuteCommandContext {\n toJSON(): MarshalledHandle;\n services(): ServiceProviderPromise;\n resourceName(): Promise\u003Cstring\u003E;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n logger(): LoggerPromise;\n arguments(): InteractionInputCollectionPromise;\n}"},{"id":"Aspire.Hosting:interface:ExecuteCommandContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface ExecuteCommandContextPromise extends PromiseLike\u003CExecuteCommandContext\u003E {\n services(): ServiceProviderPromise;\n resourceName(): Promise\u003Cstring\u003E;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n logger(): LoggerPromise;\n arguments(): InteractionInputCollectionPromise;\n}"},{"id":"Aspire.Hosting:interface:ExecutionConfigurationBuilder","owningAssembly":"Aspire.Hosting","content":"export interface ExecutionConfigurationBuilder {\n toJSON(): MarshalledHandle;\n build(executionContext: Awaitable\u003CDistributedApplicationExecutionContext\u003E, options?: BuildOptions): ExecutionConfigurationResultPromise;\n withHttpsCertificateConfig(configContextFactory: (arg: HttpsCertificateInfo) =\u003E Promise\u003CHttpsCertificateExecutionConfigurationContext\u003E): ExecutionConfigurationBuilderPromise;\n withArgumentsConfig(): ExecutionConfigurationBuilderPromise;\n withEnvironmentVariablesConfig(): ExecutionConfigurationBuilderPromise;\n withCertificateTrustConfig(configContextFactory: (arg: CertificateTrustScope) =\u003E Promise\u003CCertificateTrustExecutionConfigurationContext\u003E): ExecutionConfigurationBuilderPromise;\n}"},{"id":"Aspire.Hosting:interface:ExecutionConfigurationBuilderPromise","owningAssembly":"Aspire.Hosting","content":"export interface ExecutionConfigurationBuilderPromise extends PromiseLike\u003CExecutionConfigurationBuilder\u003E {\n build(executionContext: Awaitable\u003CDistributedApplicationExecutionContext\u003E, options?: BuildOptions): ExecutionConfigurationResultPromise;\n withHttpsCertificateConfig(configContextFactory: (arg: HttpsCertificateInfo) =\u003E Promise\u003CHttpsCertificateExecutionConfigurationContext\u003E): ExecutionConfigurationBuilderPromise;\n withArgumentsConfig(): ExecutionConfigurationBuilderPromise;\n withEnvironmentVariablesConfig(): ExecutionConfigurationBuilderPromise;\n withCertificateTrustConfig(configContextFactory: (arg: CertificateTrustScope) =\u003E Promise\u003CCertificateTrustExecutionConfigurationContext\u003E): ExecutionConfigurationBuilderPromise;\n}"},{"id":"Aspire.Hosting:interface:ExecutionConfigurationResult","owningAssembly":"Aspire.Hosting","content":"export interface ExecutionConfigurationResult {\n toJSON(): MarshalledHandle;\n getCertificateTrustData(): Promise\u003CCertificateTrustExecutionConfigurationExportData\u003E;\n getHttpsCertificateData(): Promise\u003CHttpsCertificateExecutionConfigurationExportData\u003E;\n}"},{"id":"Aspire.Hosting:interface:ExecutionConfigurationResultPromise","owningAssembly":"Aspire.Hosting","content":"export interface ExecutionConfigurationResultPromise extends PromiseLike\u003CExecutionConfigurationResult\u003E {\n getCertificateTrustData(): Promise\u003CCertificateTrustExecutionConfigurationExportData\u003E;\n getHttpsCertificateData(): Promise\u003CHttpsCertificateExecutionConfigurationExportData\u003E;\n}"},{"id":"Aspire.Hosting:interface:ExternalServiceResource","owningAssembly":"Aspire.Hosting","content":"export interface ExternalServiceResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ExternalServiceResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ExternalServiceResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ExternalServiceResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ExternalServiceResourcePromise;\n withSessionLifetime(): ExternalServiceResourcePromise;\n withPersistentLifetime(): ExternalServiceResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ExternalServiceResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ExternalServiceResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n excludeFromManifest(): ExternalServiceResourcePromise;\n withExplicitStart(): ExternalServiceResourcePromise;\n withHealthCheck(key: string): ExternalServiceResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ExternalServiceResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ExternalServiceResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ExternalServiceResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ExternalServiceResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ExternalServiceResourcePromise;\n excludeFromMcp(): ExternalServiceResourcePromise;\n withHidden(): ExternalServiceResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ExternalServiceResourcePromise;\n withTerminal(): ExternalServiceResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ExternalServiceResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ExternalServiceResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface ExternalServiceResourcePromise extends PromiseLike\u003CExternalServiceResource\u003E {\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ExternalServiceResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ExternalServiceResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ExternalServiceResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ExternalServiceResourcePromise;\n withSessionLifetime(): ExternalServiceResourcePromise;\n withPersistentLifetime(): ExternalServiceResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ExternalServiceResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ExternalServiceResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n excludeFromManifest(): ExternalServiceResourcePromise;\n withExplicitStart(): ExternalServiceResourcePromise;\n withHealthCheck(key: string): ExternalServiceResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ExternalServiceResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ExternalServiceResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ExternalServiceResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ExternalServiceResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ExternalServiceResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ExternalServiceResourcePromise;\n excludeFromMcp(): ExternalServiceResourcePromise;\n withHidden(): ExternalServiceResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ExternalServiceResourcePromise;\n withTerminal(): ExternalServiceResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ExternalServiceResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ExternalServiceResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:HttpCommandPrepareRequestContext","owningAssembly":"Aspire.Hosting","content":"export interface HttpCommandPrepareRequestContext {\n toJSON(): MarshalledHandle;\n resourceName(): Promise\u003Cstring\u003E;\n endpoint(): EndpointReferencePromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n arguments(): InteractionInputCollectionPromise;\n}"},{"id":"Aspire.Hosting:interface:HttpCommandPrepareRequestContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface HttpCommandPrepareRequestContextPromise extends PromiseLike\u003CHttpCommandPrepareRequestContext\u003E {\n resourceName(): Promise\u003Cstring\u003E;\n endpoint(): EndpointReferencePromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n arguments(): InteractionInputCollectionPromise;\n}"},{"id":"Aspire.Hosting:interface:HttpsCertificateConfigurationCallbackAnnotationContext","owningAssembly":"Aspire.Hosting","content":"export interface HttpsCertificateConfigurationCallbackAnnotationContext {\n toJSON(): MarshalledHandle;\n executionContext(): DistributedApplicationExecutionContextPromise;\n resource(): ResourcePromise;\n certificatePath(): Promise\u003CReferenceExpression\u003E;\n keyPath(): Promise\u003CReferenceExpression\u003E;\n certificateWithKeyPath(): Promise\u003CReferenceExpression\u003E;\n pfxPath(): Promise\u003CReferenceExpression\u003E;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n arguments(): CommandLineArgsEditorPromise;\n environment(): EnvironmentEditorPromise;\n}"},{"id":"Aspire.Hosting:interface:HttpsCertificateConfigurationCallbackAnnotationContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface HttpsCertificateConfigurationCallbackAnnotationContextPromise extends PromiseLike\u003CHttpsCertificateConfigurationCallbackAnnotationContext\u003E {\n executionContext(): DistributedApplicationExecutionContextPromise;\n resource(): ResourcePromise;\n certificatePath(): Promise\u003CReferenceExpression\u003E;\n keyPath(): Promise\u003CReferenceExpression\u003E;\n certificateWithKeyPath(): Promise\u003CReferenceExpression\u003E;\n pfxPath(): Promise\u003CReferenceExpression\u003E;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n arguments(): CommandLineArgsEditorPromise;\n environment(): EnvironmentEditorPromise;\n}"},{"id":"Aspire.Hosting:interface:HttpsEndpointUpdateCallbackContext","owningAssembly":"Aspire.Hosting","content":"export interface HttpsEndpointUpdateCallbackContext {\n toJSON(): MarshalledHandle;\n services(): ServiceProviderPromise;\n resource(): ResourcePromise;\n model(): DistributedApplicationModelPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n}"},{"id":"Aspire.Hosting:interface:HttpsEndpointUpdateCallbackContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface HttpsEndpointUpdateCallbackContextPromise extends PromiseLike\u003CHttpsEndpointUpdateCallbackContext\u003E {\n services(): ServiceProviderPromise;\n resource(): ResourcePromise;\n model(): DistributedApplicationModelPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n}"},{"id":"Aspire.Hosting:interface:InitializeResourceEvent","owningAssembly":"Aspire.Hosting","content":"export interface InitializeResourceEvent {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n eventing(): DistributedApplicationEventingPromise;\n logger(): LoggerPromise;\n notifications(): ResourceNotificationServicePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:InitializeResourceEventPromise","owningAssembly":"Aspire.Hosting","content":"export interface InitializeResourceEventPromise extends PromiseLike\u003CInitializeResourceEvent\u003E {\n resource(): ResourcePromise;\n eventing(): DistributedApplicationEventingPromise;\n logger(): LoggerPromise;\n notifications(): ResourceNotificationServicePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:InputsDialogValidationContext","owningAssembly":"Aspire.Hosting","content":"export interface InputsDialogValidationContext {\n toJSON(): MarshalledHandle;\n inputs(): InteractionInputCollectionPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n services(): ServiceProviderPromise;\n addValidationError(inputName: string, errorMessage: string): InputsDialogValidationContextPromise;\n}"},{"id":"Aspire.Hosting:interface:InputsDialogValidationContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface InputsDialogValidationContextPromise extends PromiseLike\u003CInputsDialogValidationContext\u003E {\n inputs(): InteractionInputCollectionPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n services(): ServiceProviderPromise;\n addValidationError(inputName: string, errorMessage: string): InputsDialogValidationContextPromise;\n}"},{"id":"Aspire.Hosting:interface:InputsInteractionResult","owningAssembly":"Aspire.Hosting","content":"export interface InputsInteractionResult {\n toJSON(): MarshalledHandle;\n canceled(): Promise\u003Cboolean\u003E;\n inputs(): InteractionInputCollectionPromise;\n}"},{"id":"Aspire.Hosting:interface:InputsInteractionResultPromise","owningAssembly":"Aspire.Hosting","content":"export interface InputsInteractionResultPromise extends PromiseLike\u003CInputsInteractionResult\u003E {\n canceled(): Promise\u003Cboolean\u003E;\n inputs(): InteractionInputCollectionPromise;\n}"},{"id":"Aspire.Hosting:interface:InteractionInputBuilder","owningAssembly":"Aspire.Hosting","content":"export interface InteractionInputBuilder {\n toJSON(): MarshalledHandle;\n withChoiceOptions(choices: InteractionChoiceOption[]): InteractionInputBuilderPromise;\n withValue(value: string): InteractionInputBuilderPromise;\n withDynamicLoading(callback: (arg: InteractionInputLoadContext) =\u003E Promise\u003Cvoid\u003E, options?: DynamicLoadingOptions): InteractionInputBuilderPromise;\n}"},{"id":"Aspire.Hosting:interface:InteractionInputBuilderPromise","owningAssembly":"Aspire.Hosting","content":"export interface InteractionInputBuilderPromise extends PromiseLike\u003CInteractionInputBuilder\u003E {\n withChoiceOptions(choices: InteractionChoiceOption[]): InteractionInputBuilderPromise;\n withValue(value: string): InteractionInputBuilderPromise;\n withDynamicLoading(callback: (arg: InteractionInputLoadContext) =\u003E Promise\u003Cvoid\u003E, options?: DynamicLoadingOptions): InteractionInputBuilderPromise;\n}"},{"id":"Aspire.Hosting:interface:InteractionInputLoadContext","owningAssembly":"Aspire.Hosting","content":"export interface InteractionInputLoadContext {\n toJSON(): MarshalledHandle;\n inputs(): InteractionInputCollectionPromise;\n input(): InteractionLoadingInputPromise;\n}"},{"id":"Aspire.Hosting:interface:InteractionInputLoadContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface InteractionInputLoadContextPromise extends PromiseLike\u003CInteractionInputLoadContext\u003E {\n inputs(): InteractionInputCollectionPromise;\n input(): InteractionLoadingInputPromise;\n}"},{"id":"Aspire.Hosting:interface:InteractionLoadingInput","owningAssembly":"Aspire.Hosting","content":"export interface InteractionLoadingInput {\n toJSON(): MarshalledHandle;\n getName(): Promise\u003Cstring\u003E;\n setChoiceOptions(choices: InteractionChoiceOption[]): InteractionLoadingInputPromise;\n setValue(value: string): InteractionLoadingInputPromise;\n}"},{"id":"Aspire.Hosting:interface:InteractionLoadingInputPromise","owningAssembly":"Aspire.Hosting","content":"export interface InteractionLoadingInputPromise extends PromiseLike\u003CInteractionLoadingInput\u003E {\n getName(): Promise\u003Cstring\u003E;\n setChoiceOptions(choices: InteractionChoiceOption[]): InteractionLoadingInputPromise;\n setValue(value: string): InteractionLoadingInputPromise;\n}"},{"id":"Aspire.Hosting:interface:InteractionService","owningAssembly":"Aspire.Hosting","content":"export interface InteractionService {\n toJSON(): MarshalledHandle;\n isAvailable(): Promise\u003Cboolean\u003E;\n promptConfirmation(title: string, message: string, options?: InteractionMessageBoxOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CBoolInteractionResult\u003E;\n promptMessageBox(title: string, message: string, options?: InteractionMessageBoxOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CBoolInteractionResult\u003E;\n promptNotification(title: string, message: string, options?: InteractionNotificationOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CBoolInteractionResult\u003E;\n promptProgress(message: string, options?: PromptProgressOptions): Promise\u003CBoolInteractionResult\u003E;\n promptInput(title: string, message: string, input: Awaitable\u003CInteractionInputBuilder\u003E, options?: InteractionInputsDialogOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CInputInteractionResult\u003E;\n promptInputs(title: string, message: string, inputs: InteractionInputBuilder[], options?: InteractionInputsDialogOptions, cancellationToken?: AbortSignal | CancellationToken): InputsInteractionResultPromise;\n createTextInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise;\n createSecretInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise;\n createBooleanInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise;\n createNumberInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise;\n createFileInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise;\n createChoiceInput(name: string, options?: CreateChoiceInputOptions): InteractionInputBuilderPromise;\n}"},{"id":"Aspire.Hosting:interface:InteractionServicePromise","owningAssembly":"Aspire.Hosting","content":"export interface InteractionServicePromise extends PromiseLike\u003CInteractionService\u003E {\n isAvailable(): Promise\u003Cboolean\u003E;\n promptConfirmation(title: string, message: string, options?: InteractionMessageBoxOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CBoolInteractionResult\u003E;\n promptMessageBox(title: string, message: string, options?: InteractionMessageBoxOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CBoolInteractionResult\u003E;\n promptNotification(title: string, message: string, options?: InteractionNotificationOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CBoolInteractionResult\u003E;\n promptProgress(message: string, options?: PromptProgressOptions): Promise\u003CBoolInteractionResult\u003E;\n promptInput(title: string, message: string, input: Awaitable\u003CInteractionInputBuilder\u003E, options?: InteractionInputsDialogOptions, cancellationToken?: AbortSignal | CancellationToken): Promise\u003CInputInteractionResult\u003E;\n promptInputs(title: string, message: string, inputs: InteractionInputBuilder[], options?: InteractionInputsDialogOptions, cancellationToken?: AbortSignal | CancellationToken): InputsInteractionResultPromise;\n createTextInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise;\n createSecretInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise;\n createBooleanInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise;\n createNumberInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise;\n createFileInput(name: string, options?: CreateInteractionInputOptions): InteractionInputBuilderPromise;\n createChoiceInput(name: string, options?: CreateChoiceInputOptions): InteractionInputBuilderPromise;\n}"},{"id":"Aspire.Hosting:interface:LogFacade","owningAssembly":"Aspire.Hosting","content":"export interface LogFacade {\n toJSON(): MarshalledHandle;\n info(message: string): LogFacadePromise;\n warning(message: string): LogFacadePromise;\n error(message: string): LogFacadePromise;\n debug(message: string): LogFacadePromise;\n}"},{"id":"Aspire.Hosting:interface:LogFacadePromise","owningAssembly":"Aspire.Hosting","content":"export interface LogFacadePromise extends PromiseLike\u003CLogFacade\u003E {\n info(message: string): LogFacadePromise;\n warning(message: string): LogFacadePromise;\n error(message: string): LogFacadePromise;\n debug(message: string): LogFacadePromise;\n}"},{"id":"Aspire.Hosting:interface:ParameterResource","owningAssembly":"Aspire.Hosting","content":"export interface ParameterResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ParameterResourcePromise;\n withDescription(description: string, options?: WithDescriptionOptions): ParameterResourcePromise;\n withCustomInput(options: ParameterCustomInputOptions): ParameterResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ParameterResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ParameterResourcePromise;\n withSessionLifetime(): ParameterResourcePromise;\n withPersistentLifetime(): ParameterResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ParameterResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ParameterResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n excludeFromManifest(): ParameterResourcePromise;\n withExplicitStart(): ParameterResourcePromise;\n withHealthCheck(key: string): ParameterResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ParameterResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ParameterResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ParameterResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ParameterResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ParameterResourcePromise;\n excludeFromMcp(): ParameterResourcePromise;\n withHidden(): ParameterResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ParameterResourcePromise;\n withTerminal(): ParameterResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ParameterResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ParameterResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface ParameterResourcePromise extends PromiseLike\u003CParameterResource\u003E {\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ParameterResourcePromise;\n withDescription(description: string, options?: WithDescriptionOptions): ParameterResourcePromise;\n withCustomInput(options: ParameterCustomInputOptions): ParameterResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ParameterResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ParameterResourcePromise;\n withSessionLifetime(): ParameterResourcePromise;\n withPersistentLifetime(): ParameterResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ParameterResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ParameterResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n excludeFromManifest(): ParameterResourcePromise;\n withExplicitStart(): ParameterResourcePromise;\n withHealthCheck(key: string): ParameterResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ParameterResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ParameterResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ParameterResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ParameterResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ParameterResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ParameterResourcePromise;\n excludeFromMcp(): ParameterResourcePromise;\n withHidden(): ParameterResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ParameterResourcePromise;\n withTerminal(): ParameterResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ParameterResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ParameterResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:PipelineConfigurationContext","owningAssembly":"Aspire.Hosting","content":"export interface PipelineConfigurationContext {\n toJSON(): MarshalledHandle;\n pipeline(): PipelineEditorPromise;\n log(): LogFacadePromise;\n getSteps(tag: string): Promise\u003CPipelineStep[]\u003E;\n}"},{"id":"Aspire.Hosting:interface:PipelineConfigurationContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface PipelineConfigurationContextPromise extends PromiseLike\u003CPipelineConfigurationContext\u003E {\n pipeline(): PipelineEditorPromise;\n log(): LogFacadePromise;\n getSteps(tag: string): Promise\u003CPipelineStep[]\u003E;\n}"},{"id":"Aspire.Hosting:interface:PipelineContext","owningAssembly":"Aspire.Hosting","content":"export interface PipelineContext {\n toJSON(): MarshalledHandle;\n model(): DistributedApplicationModelPromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n services(): ServiceProviderPromise;\n logger(): LoggerPromise;\n cancellationToken: { get: () =\u003E Promise\u003CCancellationToken\u003E; set: (value: AbortSignal | CancellationToken) =\u003E Promise\u003Cvoid\u003E };\n summary(): PipelineSummaryPromise;\n}"},{"id":"Aspire.Hosting:interface:PipelineContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface PipelineContextPromise extends PromiseLike\u003CPipelineContext\u003E {\n model(): DistributedApplicationModelPromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n services(): ServiceProviderPromise;\n logger(): LoggerPromise;\n cancellationToken: { get: () =\u003E Promise\u003CCancellationToken\u003E; set: (value: AbortSignal | CancellationToken) =\u003E Promise\u003Cvoid\u003E };\n summary(): PipelineSummaryPromise;\n}"},{"id":"Aspire.Hosting:interface:PipelineEditor","owningAssembly":"Aspire.Hosting","content":"export interface PipelineEditor {\n toJSON(): MarshalledHandle;\n steps(): Promise\u003CPipelineStep[]\u003E;\n stepsByTag(tag: string): Promise\u003CPipelineStep[]\u003E;\n}"},{"id":"Aspire.Hosting:interface:PipelineEditorPromise","owningAssembly":"Aspire.Hosting","content":"export interface PipelineEditorPromise extends PromiseLike\u003CPipelineEditor\u003E {\n steps(): Promise\u003CPipelineStep[]\u003E;\n stepsByTag(tag: string): Promise\u003CPipelineStep[]\u003E;\n}"},{"id":"Aspire.Hosting:interface:PipelineStep","owningAssembly":"Aspire.Hosting","content":"export interface PipelineStep {\n toJSON(): MarshalledHandle;\n name(): Promise\u003Cstring\u003E;\n description(): Promise\u003Cstring | null\u003E;\n dependsOnSteps(): Promise\u003CAspireList\u003Cstring\u003E\u003E;\n requiredBySteps(): Promise\u003CAspireList\u003Cstring\u003E\u003E;\n tags(): Promise\u003CAspireList\u003Cstring\u003E\u003E;\n dependsOn(stepName: string): PipelineStepPromise;\n requiredBy(stepName: string): PipelineStepPromise;\n addTag(tag: string): PipelineStepPromise;\n}"},{"id":"Aspire.Hosting:interface:PipelineStepContext","owningAssembly":"Aspire.Hosting","content":"export interface PipelineStepContext {\n toJSON(): MarshalledHandle;\n pipelineContext(): PipelineContextPromise;\n reportingStep(): ReportingStepPromise;\n model(): DistributedApplicationModelPromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n services(): ServiceProviderPromise;\n logger(): LoggerPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n summary(): PipelineSummaryPromise;\n}"},{"id":"Aspire.Hosting:interface:PipelineStepContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface PipelineStepContextPromise extends PromiseLike\u003CPipelineStepContext\u003E {\n pipelineContext(): PipelineContextPromise;\n reportingStep(): ReportingStepPromise;\n model(): DistributedApplicationModelPromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n services(): ServiceProviderPromise;\n logger(): LoggerPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n summary(): PipelineSummaryPromise;\n}"},{"id":"Aspire.Hosting:interface:PipelineStepFactoryContext","owningAssembly":"Aspire.Hosting","content":"export interface PipelineStepFactoryContext {\n toJSON(): MarshalledHandle;\n pipelineContext(): PipelineContextPromise;\n resource(): ResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:PipelineStepFactoryContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface PipelineStepFactoryContextPromise extends PromiseLike\u003CPipelineStepFactoryContext\u003E {\n pipelineContext(): PipelineContextPromise;\n resource(): ResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:PipelineStepPromise","owningAssembly":"Aspire.Hosting","content":"export interface PipelineStepPromise extends PromiseLike\u003CPipelineStep\u003E {\n name(): Promise\u003Cstring\u003E;\n description(): Promise\u003Cstring | null\u003E;\n dependsOnSteps(): Promise\u003CAspireList\u003Cstring\u003E\u003E;\n requiredBySteps(): Promise\u003CAspireList\u003Cstring\u003E\u003E;\n tags(): Promise\u003CAspireList\u003Cstring\u003E\u003E;\n dependsOn(stepName: string): PipelineStepPromise;\n requiredBy(stepName: string): PipelineStepPromise;\n addTag(tag: string): PipelineStepPromise;\n}"},{"id":"Aspire.Hosting:interface:PipelineSummary","owningAssembly":"Aspire.Hosting","content":"export interface PipelineSummary {\n toJSON(): MarshalledHandle;\n add(key: string, value: string): PipelineSummaryPromise;\n addMarkdown(key: string, markdownString: string): PipelineSummaryPromise;\n}"},{"id":"Aspire.Hosting:interface:PipelineSummaryPromise","owningAssembly":"Aspire.Hosting","content":"export interface PipelineSummaryPromise extends PromiseLike\u003CPipelineSummary\u003E {\n add(key: string, value: string): PipelineSummaryPromise;\n addMarkdown(key: string, markdownString: string): PipelineSummaryPromise;\n}"},{"id":"Aspire.Hosting:interface:ProgressContext","owningAssembly":"Aspire.Hosting","content":"export interface ProgressContext {\n toJSON(): MarshalledHandle;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n}"},{"id":"Aspire.Hosting:interface:ProgressContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface ProgressContextPromise extends PromiseLike\u003CProgressContext\u003E {\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n}"},{"id":"Aspire.Hosting:interface:ProjectResource","owningAssembly":"Aspire.Hosting","content":"export interface ProjectResource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ProjectResourcePromise;\n withMcpServer(options?: WithMcpServerOptions): ProjectResourcePromise;\n withOtlpExporter(options?: WithOtlpExporterOptions): ProjectResourcePromise;\n withReplicas(replicas: number): ProjectResourcePromise;\n disableForwardedHeaders(): ProjectResourcePromise;\n publishAsDockerFile(options?: PublishAsDockerFileOptions): ProjectResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ProjectResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ProjectResourcePromise;\n withSessionLifetime(): ProjectResourcePromise;\n withPersistentLifetime(): ProjectResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ProjectResourcePromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ProjectResourcePromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n withArgs(args: string[]): ProjectResourcePromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ProjectResourcePromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ProjectResourcePromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ProjectResourcePromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ProjectResourcePromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ProjectResourcePromise;\n withEndpoint(options?: WithEndpointOptions): ProjectResourcePromise;\n withEndpointProxySupport(proxyEnabled: boolean): ProjectResourcePromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): ProjectResourcePromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): ProjectResourcePromise;\n withExternalHttpEndpoints(): ProjectResourcePromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): ProjectResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ProjectResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n publishWithContainerFiles(source: Awaitable\u003CResourceWithContainerFiles\u003E, destinationPath: string): ProjectResourcePromise;\n excludeFromManifest(): ProjectResourcePromise;\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ProjectResourcePromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ProjectResourcePromise;\n withExplicitStart(): ProjectResourcePromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ProjectResourcePromise;\n withHealthCheck(key: string): ProjectResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ProjectResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ProjectResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ProjectResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ProjectResourcePromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ProjectResourcePromise;\n withDeveloperCertificateTrust(trust: boolean): ProjectResourcePromise;\n withCertificateTrustScope(scope: CertificateTrustScope): ProjectResourcePromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ProjectResourcePromise;\n withoutHttpsCertificate(): ProjectResourcePromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ProjectResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ProjectResourcePromise;\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ProjectResourcePromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ProjectResourcePromise;\n excludeFromMcp(): ProjectResourcePromise;\n withHidden(): ProjectResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ProjectResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n withRemoteImageName(remoteImageName: string): ProjectResourcePromise;\n withRemoteImageTag(remoteImageTag: string): ProjectResourcePromise;\n withTerminal(): ProjectResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ProjectResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n withEndpointsInEnvironment(endpointNames: string[]): ProjectResourcePromise;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ProjectResourceOptions","owningAssembly":"Aspire.Hosting","content":"export interface ProjectResourceOptions {\n toJSON(): MarshalledHandle;\n launchProfileName: { get: () =\u003E Promise\u003Cstring | null\u003E; set: (value: string | null) =\u003E Promise\u003Cvoid\u003E };\n excludeLaunchProfile: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E };\n excludeKestrelEndpoints: { get: () =\u003E Promise\u003Cboolean\u003E; set: (value: boolean) =\u003E Promise\u003Cvoid\u003E };\n}"},{"id":"Aspire.Hosting:interface:ProjectResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface ProjectResourcePromise extends PromiseLike\u003CProjectResource\u003E {\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ProjectResourcePromise;\n withMcpServer(options?: WithMcpServerOptions): ProjectResourcePromise;\n withOtlpExporter(options?: WithOtlpExporterOptions): ProjectResourcePromise;\n withReplicas(replicas: number): ProjectResourcePromise;\n disableForwardedHeaders(): ProjectResourcePromise;\n publishAsDockerFile(options?: PublishAsDockerFileOptions): ProjectResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ProjectResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ProjectResourcePromise;\n withSessionLifetime(): ProjectResourcePromise;\n withPersistentLifetime(): ProjectResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ProjectResourcePromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ProjectResourcePromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n withArgs(args: string[]): ProjectResourcePromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ProjectResourcePromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ProjectResourcePromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ProjectResourcePromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ProjectResourcePromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ProjectResourcePromise;\n withEndpoint(options?: WithEndpointOptions): ProjectResourcePromise;\n withEndpointProxySupport(proxyEnabled: boolean): ProjectResourcePromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): ProjectResourcePromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): ProjectResourcePromise;\n withExternalHttpEndpoints(): ProjectResourcePromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): ProjectResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ProjectResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n publishWithContainerFiles(source: Awaitable\u003CResourceWithContainerFiles\u003E, destinationPath: string): ProjectResourcePromise;\n excludeFromManifest(): ProjectResourcePromise;\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ProjectResourcePromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ProjectResourcePromise;\n withExplicitStart(): ProjectResourcePromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ProjectResourcePromise;\n withHealthCheck(key: string): ProjectResourcePromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ProjectResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ProjectResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ProjectResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ProjectResourcePromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ProjectResourcePromise;\n withDeveloperCertificateTrust(trust: boolean): ProjectResourcePromise;\n withCertificateTrustScope(scope: CertificateTrustScope): ProjectResourcePromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ProjectResourcePromise;\n withoutHttpsCertificate(): ProjectResourcePromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ProjectResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ProjectResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ProjectResourcePromise;\n withComputeEnvironment(computeEnvironmentResource: Awaitable\u003CComputeEnvironmentResource\u003E): ProjectResourcePromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ProjectResourcePromise;\n excludeFromMcp(): ProjectResourcePromise;\n withHidden(): ProjectResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ProjectResourcePromise;\n withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n withRemoteImageName(remoteImageName: string): ProjectResourcePromise;\n withRemoteImageTag(remoteImageTag: string): ProjectResourcePromise;\n withTerminal(): ProjectResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ProjectResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n withEndpointsInEnvironment(endpointNames: string[]): ProjectResourcePromise;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ProjectResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ReferenceExpressionBuilder","owningAssembly":"Aspire.Hosting","content":"export interface ReferenceExpressionBuilder {\n toJSON(): MarshalledHandle;\n isEmpty(): Promise\u003Cboolean\u003E;\n appendLiteral(value: string): ReferenceExpressionBuilderPromise;\n appendFormatted(value: string, options?: AppendFormattedOptions): ReferenceExpressionBuilderPromise;\n appendValueProvider(valueProvider: any, options?: AppendValueProviderOptions): ReferenceExpressionBuilderPromise;\n build(): Promise\u003CReferenceExpression\u003E;\n}"},{"id":"Aspire.Hosting:interface:ReferenceExpressionBuilderPromise","owningAssembly":"Aspire.Hosting","content":"export interface ReferenceExpressionBuilderPromise extends PromiseLike\u003CReferenceExpressionBuilder\u003E {\n isEmpty(): Promise\u003Cboolean\u003E;\n appendLiteral(value: string): ReferenceExpressionBuilderPromise;\n appendFormatted(value: string, options?: AppendFormattedOptions): ReferenceExpressionBuilderPromise;\n appendValueProvider(valueProvider: any, options?: AppendValueProviderOptions): ReferenceExpressionBuilderPromise;\n build(): Promise\u003CReferenceExpression\u003E;\n}"},{"id":"Aspire.Hosting:interface:ReportingStep","owningAssembly":"Aspire.Hosting","content":"export interface ReportingStep {\n toJSON(): MarshalledHandle;\n createTask(statusText: string, options?: CreateTaskOptions): ReportingTaskPromise;\n createMarkdownTask(markdownString: string, options?: CreateMarkdownTaskOptions): ReportingTaskPromise;\n logStep(level: string, message: string): ReportingStepPromise;\n logStepMarkdown(level: string, markdownString: string): ReportingStepPromise;\n completeStep(completionText: string, options?: CompleteStepOptions): ReportingStepPromise;\n completeStepMarkdown(markdownString: string, options?: CompleteStepMarkdownOptions): ReportingStepPromise;\n}"},{"id":"Aspire.Hosting:interface:ReportingStepPromise","owningAssembly":"Aspire.Hosting","content":"export interface ReportingStepPromise extends PromiseLike\u003CReportingStep\u003E {\n createTask(statusText: string, options?: CreateTaskOptions): ReportingTaskPromise;\n createMarkdownTask(markdownString: string, options?: CreateMarkdownTaskOptions): ReportingTaskPromise;\n logStep(level: string, message: string): ReportingStepPromise;\n logStepMarkdown(level: string, markdownString: string): ReportingStepPromise;\n completeStep(completionText: string, options?: CompleteStepOptions): ReportingStepPromise;\n completeStepMarkdown(markdownString: string, options?: CompleteStepMarkdownOptions): ReportingStepPromise;\n}"},{"id":"Aspire.Hosting:interface:ReportingTask","owningAssembly":"Aspire.Hosting","content":"export interface ReportingTask {\n toJSON(): MarshalledHandle;\n updateTask(statusText: string, options?: UpdateTaskOptions): ReportingTaskPromise;\n updateTaskMarkdown(markdownString: string, options?: UpdateTaskMarkdownOptions): ReportingTaskPromise;\n completeTask(options?: CompleteTaskOptions): ReportingTaskPromise;\n completeTaskMarkdown(markdownString: string, options?: CompleteTaskMarkdownOptions): ReportingTaskPromise;\n}"},{"id":"Aspire.Hosting:interface:ReportingTaskPromise","owningAssembly":"Aspire.Hosting","content":"export interface ReportingTaskPromise extends PromiseLike\u003CReportingTask\u003E {\n updateTask(statusText: string, options?: UpdateTaskOptions): ReportingTaskPromise;\n updateTaskMarkdown(markdownString: string, options?: UpdateTaskMarkdownOptions): ReportingTaskPromise;\n completeTask(options?: CompleteTaskOptions): ReportingTaskPromise;\n completeTaskMarkdown(markdownString: string, options?: CompleteTaskMarkdownOptions): ReportingTaskPromise;\n}"},{"id":"Aspire.Hosting:interface:RequiredCommandValidationContext","owningAssembly":"Aspire.Hosting","content":"export interface RequiredCommandValidationContext {\n toJSON(): MarshalledHandle;\n resolvedPath(): Promise\u003Cstring\u003E;\n services(): ServiceProviderPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n success(): RequiredCommandValidationResultPromise;\n failure(validationMessage: string): RequiredCommandValidationResultPromise;\n}"},{"id":"Aspire.Hosting:interface:RequiredCommandValidationContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface RequiredCommandValidationContextPromise extends PromiseLike\u003CRequiredCommandValidationContext\u003E {\n resolvedPath(): Promise\u003Cstring\u003E;\n services(): ServiceProviderPromise;\n cancellationToken(): Promise\u003CCancellationToken\u003E;\n success(): RequiredCommandValidationResultPromise;\n failure(validationMessage: string): RequiredCommandValidationResultPromise;\n}"},{"id":"Aspire.Hosting:interface:RequiredCommandValidationResult","owningAssembly":"Aspire.Hosting","content":"export interface RequiredCommandValidationResult {\n toJSON(): MarshalledHandle;\n isValid(): Promise\u003Cboolean\u003E;\n validationMessage(): Promise\u003Cstring | null\u003E;\n}"},{"id":"Aspire.Hosting:interface:RequiredCommandValidationResultPromise","owningAssembly":"Aspire.Hosting","content":"export interface RequiredCommandValidationResultPromise extends PromiseLike\u003CRequiredCommandValidationResult\u003E {\n isValid(): Promise\u003Cboolean\u003E;\n validationMessage(): Promise\u003Cstring | null\u003E;\n}"},{"id":"Aspire.Hosting:interface:Resource","owningAssembly":"Aspire.Hosting","content":"export interface Resource extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ResourcePromise;\n withSessionLifetime(): ResourcePromise;\n withPersistentLifetime(): ResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n excludeFromManifest(): ResourcePromise;\n withExplicitStart(): ResourcePromise;\n withHealthCheck(key: string): ResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ResourcePromise;\n excludeFromMcp(): ResourcePromise;\n withHidden(): ResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ResourcePromise;\n withTerminal(): ResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceCommandService","owningAssembly":"Aspire.Hosting","content":"export interface ResourceCommandService {\n toJSON(): MarshalledHandle;\n executeCommandAsync(resource: string | CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, commandName: string, options?: ExecuteCommandAsyncOptions): Promise\u003CExecuteCommandResult\u003E;\n}"},{"id":"Aspire.Hosting:interface:ResourceCommandServicePromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceCommandServicePromise extends PromiseLike\u003CResourceCommandService\u003E {\n executeCommandAsync(resource: string | CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, commandName: string, options?: ExecuteCommandAsyncOptions): Promise\u003CExecuteCommandResult\u003E;\n}"},{"id":"Aspire.Hosting:interface:ResourceEndpointsAllocatedEvent","owningAssembly":"Aspire.Hosting","content":"export interface ResourceEndpointsAllocatedEvent {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceEndpointsAllocatedEventPromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceEndpointsAllocatedEventPromise extends PromiseLike\u003CResourceEndpointsAllocatedEvent\u003E {\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceLoggerService","owningAssembly":"Aspire.Hosting","content":"export interface ResourceLoggerService {\n toJSON(): MarshalledHandle;\n completeLog(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourceLoggerServicePromise;\n completeLogByName(resourceName: string): ResourceLoggerServicePromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceLoggerServicePromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceLoggerServicePromise extends PromiseLike\u003CResourceLoggerService\u003E {\n completeLog(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourceLoggerServicePromise;\n completeLogByName(resourceName: string): ResourceLoggerServicePromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceNotificationService","owningAssembly":"Aspire.Hosting","content":"export interface ResourceNotificationService {\n toJSON(): MarshalledHandle;\n waitForResourceState(resourceName: string, options?: WaitForResourceStateOptions): ResourceNotificationServicePromise;\n waitForResourceStates(resourceName: string, targetStates: string[]): Promise\u003Cstring\u003E;\n waitForResourceHealthy(resourceName: string): Promise\u003CResourceEventDto\u003E;\n waitForDependencies(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourceNotificationServicePromise;\n tryGetResourceState(resourceName: string): Promise\u003CResourceEventDto\u003E;\n publishResourceUpdate(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: PublishResourceUpdateOptions): ResourceNotificationServicePromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceNotificationServicePromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceNotificationServicePromise extends PromiseLike\u003CResourceNotificationService\u003E {\n waitForResourceState(resourceName: string, options?: WaitForResourceStateOptions): ResourceNotificationServicePromise;\n waitForResourceStates(resourceName: string, targetStates: string[]): Promise\u003Cstring\u003E;\n waitForResourceHealthy(resourceName: string): Promise\u003CResourceEventDto\u003E;\n waitForDependencies(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourceNotificationServicePromise;\n tryGetResourceState(resourceName: string): Promise\u003CResourceEventDto\u003E;\n publishResourceUpdate(resource: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: PublishResourceUpdateOptions): ResourceNotificationServicePromise;\n}"},{"id":"Aspire.Hosting:interface:ResourcePromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourcePromise extends PromiseLike\u003CResource\u003E {\n withContainerRegistry(registry: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise;\n withDockerfileBaseImage(options?: WithDockerfileBaseImageOptions): ResourcePromise;\n withRequiredCommand(command: string, options?: WithRequiredCommandOptions): ResourcePromise;\n withRequiredCommandValidation(command: string, validationCallback: (arg: RequiredCommandValidationContext) =\u003E Promise\u003CRequiredCommandValidationResult\u003E, options?: WithRequiredCommandValidationOptions): ResourcePromise;\n withSessionLifetime(): ResourcePromise;\n withPersistentLifetime(): ResourcePromise;\n withLifetimeOf(sourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise;\n withParentProcessLifetime(parentProcessId: number): ResourcePromise;\n withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n withUrl(url: string | ReferenceExpression, options?: WithUrlOptions): ResourcePromise;\n withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n excludeFromManifest(): ResourcePromise;\n withExplicitStart(): ResourcePromise;\n withHealthCheck(key: string): ResourcePromise;\n withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, options?: WithCommandOptions): ResourcePromise;\n withProcessCommand(commandName: string, displayName: string, options: ProcessCommandExportOptions): ResourcePromise;\n withProcessCommandFactory(commandName: string, displayName: string, createProcessSpec: (arg: ExecuteCommandContext) =\u003E Promise\u003CProcessCommandSpecExportData\u003E, options?: ProcessCommandResultExportOptions): ResourcePromise;\n subscribeHttpsEndpointsUpdate(callback: (obj: HttpsEndpointUpdateCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n withRelationship(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, type: string): ResourcePromise;\n withParentRelationship(parent: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise;\n withChildRelationship(child: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E): ResourcePromise;\n withIconName(iconName: string, options?: WithIconNameOptions): ResourcePromise;\n excludeFromMcp(): ResourcePromise;\n withHidden(): ResourcePromise;\n withHiddenOnCompletion(options?: WithHiddenOnCompletionOptions): ResourcePromise;\n withTerminal(): ResourcePromise;\n withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, options?: WithPipelineStepFactoryOptions): ResourcePromise;\n withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n getResourceName(): Promise\u003Cstring\u003E;\n onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n createExecutionConfiguration(): ExecutionConfigurationBuilderPromise;\n withContainerBuildOptions(callback: (arg: ContainerBuildOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourcePromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceReadyEvent","owningAssembly":"Aspire.Hosting","content":"export interface ResourceReadyEvent {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceReadyEventPromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceReadyEventPromise extends PromiseLike\u003CResourceReadyEvent\u003E {\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceStoppedEvent","owningAssembly":"Aspire.Hosting","content":"export interface ResourceStoppedEvent {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceStoppedEventPromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceStoppedEventPromise extends PromiseLike\u003CResourceStoppedEvent\u003E {\n resource(): ResourcePromise;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceUrlsCallbackContext","owningAssembly":"Aspire.Hosting","content":"export interface ResourceUrlsCallbackContext {\n toJSON(): MarshalledHandle;\n resource(): ResourcePromise;\n urls(): ResourceUrlsEditorPromise;\n log(): LogFacadePromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n getEndpoint(name: string): EndpointReferencePromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceUrlsCallbackContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceUrlsCallbackContextPromise extends PromiseLike\u003CResourceUrlsCallbackContext\u003E {\n resource(): ResourcePromise;\n urls(): ResourceUrlsEditorPromise;\n log(): LogFacadePromise;\n executionContext(): DistributedApplicationExecutionContextPromise;\n getEndpoint(name: string): EndpointReferencePromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceUrlsEditor","owningAssembly":"Aspire.Hosting","content":"export interface ResourceUrlsEditor {\n toJSON(): MarshalledHandle;\n executionContext(): DistributedApplicationExecutionContextPromise;\n add(url: string | ReferenceExpression, options?: AddOptions): ResourceUrlsEditorPromise;\n addForEndpoint(endpoint: Awaitable\u003CEndpointReference\u003E, url: string | ReferenceExpression, options?: AddForEndpointOptions): ResourceUrlsEditorPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceUrlsEditorPromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceUrlsEditorPromise extends PromiseLike\u003CResourceUrlsEditor\u003E {\n executionContext(): DistributedApplicationExecutionContextPromise;\n add(url: string | ReferenceExpression, options?: AddOptions): ResourceUrlsEditorPromise;\n addForEndpoint(endpoint: Awaitable\u003CEndpointReference\u003E, url: string | ReferenceExpression, options?: AddForEndpointOptions): ResourceUrlsEditorPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithArgs","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithArgs extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withArgs(args: string[]): ResourceWithArgsPromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourceWithArgsPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithArgsPromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithArgsPromise extends PromiseLike\u003CResourceWithArgs\u003E {\n withArgs(args: string[]): ResourceWithArgsPromise;\n withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourceWithArgsPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithConnectionString","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithConnectionString extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withConnectionProperty(name: string, value: string | ReferenceExpression): ResourceWithConnectionStringPromise;\n getConnectionProperty(key: string): Promise\u003CReferenceExpression\u003E;\n onConnectionStringAvailable(callback: (arg: ConnectionStringAvailableEvent) =\u003E Promise\u003Cvoid\u003E): ResourceWithConnectionStringPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithConnectionStringPromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithConnectionStringPromise extends PromiseLike\u003CResourceWithConnectionString\u003E {\n withConnectionProperty(name: string, value: string | ReferenceExpression): ResourceWithConnectionStringPromise;\n getConnectionProperty(key: string): Promise\u003CReferenceExpression\u003E;\n onConnectionStringAvailable(callback: (arg: ConnectionStringAvailableEvent) =\u003E Promise\u003Cvoid\u003E): ResourceWithConnectionStringPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithContainerFiles","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithContainerFiles extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withContainerFilesSource(sourcePath: string): ResourceWithContainerFilesPromise;\n clearContainerFilesSources(): ResourceWithContainerFilesPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithContainerFilesPromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithContainerFilesPromise extends PromiseLike\u003CResourceWithContainerFiles\u003E {\n withContainerFilesSource(sourcePath: string): ResourceWithContainerFilesPromise;\n clearContainerFilesSources(): ResourceWithContainerFilesPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithEndpoints","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithEndpoints extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withMcpServer(options?: WithMcpServerOptions): ResourceWithEndpointsPromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ResourceWithEndpointsPromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ResourceWithEndpointsPromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ResourceWithEndpointsPromise;\n withEndpoint(options?: WithEndpointOptions): ResourceWithEndpointsPromise;\n withEndpointProxySupport(proxyEnabled: boolean): ResourceWithEndpointsPromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): ResourceWithEndpointsPromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): ResourceWithEndpointsPromise;\n withExternalHttpEndpoints(): ResourceWithEndpointsPromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): ResourceWithEndpointsPromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ResourceWithEndpointsPromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ResourceWithEndpointsPromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ResourceWithEndpointsPromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ResourceWithEndpointsPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithEndpointsPromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithEndpointsPromise extends PromiseLike\u003CResourceWithEndpoints\u003E {\n withMcpServer(options?: WithMcpServerOptions): ResourceWithEndpointsPromise;\n withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithEndpointCallbackOptions): ResourceWithEndpointsPromise;\n withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpEndpointCallbackOptions): ResourceWithEndpointsPromise;\n withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, options?: WithHttpsEndpointCallbackOptions): ResourceWithEndpointsPromise;\n withEndpoint(options?: WithEndpointOptions): ResourceWithEndpointsPromise;\n withEndpointProxySupport(proxyEnabled: boolean): ResourceWithEndpointsPromise;\n withHttpEndpoint(options?: WithHttpEndpointOptions): ResourceWithEndpointsPromise;\n withHttpsEndpoint(options?: WithHttpsEndpointOptions): ResourceWithEndpointsPromise;\n withExternalHttpEndpoints(): ResourceWithEndpointsPromise;\n getEndpoint(name: string): EndpointReferencePromise;\n asHttp2Service(): ResourceWithEndpointsPromise;\n withHttpHealthCheck(options?: WithHttpHealthCheckOptions): ResourceWithEndpointsPromise;\n withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): ResourceWithEndpointsPromise;\n withHttpProbe(probeType: ProbeType, options?: WithHttpProbeOptions): ResourceWithEndpointsPromise;\n onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): ResourceWithEndpointsPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithEnvironment","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithEnvironment extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n withOtlpExporter(options?: WithOtlpExporterOptions): ResourceWithEnvironmentPromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ResourceWithEnvironmentPromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourceWithEnvironmentPromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ResourceWithEnvironmentPromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ResourceWithEnvironmentPromise;\n withDeveloperCertificateTrust(trust: boolean): ResourceWithEnvironmentPromise;\n withCertificateTrustScope(scope: CertificateTrustScope): ResourceWithEnvironmentPromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ResourceWithEnvironmentPromise;\n withoutHttpsCertificate(): ResourceWithEnvironmentPromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ResourceWithEnvironmentPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithEnvironmentPromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithEnvironmentPromise extends PromiseLike\u003CResourceWithEnvironment\u003E {\n withOtlpExporter(options?: WithOtlpExporterOptions): ResourceWithEnvironmentPromise;\n withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression | Awaitable\u003CEndpointReference | ParameterResource | ExternalServiceResource | ResourceWithConnectionString | EndpointReferenceExpression\u003E): ResourceWithEnvironmentPromise;\n withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): ResourceWithEnvironmentPromise;\n withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): ResourceWithEnvironmentPromise;\n withReference(source: CSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference | string | Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport | EndpointReference\u003E, options?: WithReferenceOptions): ResourceWithEnvironmentPromise;\n withDeveloperCertificateTrust(trust: boolean): ResourceWithEnvironmentPromise;\n withCertificateTrustScope(scope: CertificateTrustScope): ResourceWithEnvironmentPromise;\n withHttpsDeveloperCertificate(options?: WithHttpsDeveloperCertificateOptions): ResourceWithEnvironmentPromise;\n withoutHttpsCertificate(): ResourceWithEnvironmentPromise;\n withHttpsCertificateConfiguration(callback: (arg: HttpsCertificateConfigurationCallbackAnnotationContext) =\u003E Promise\u003Cvoid\u003E): ResourceWithEnvironmentPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithWaitSupport","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithWaitSupport extends ResourceBuilderBase {\n toJSON(): MarshalledHandle;\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ResourceWithWaitSupportPromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ResourceWithWaitSupportPromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ResourceWithWaitSupportPromise;\n}"},{"id":"Aspire.Hosting:interface:ResourceWithWaitSupportPromise","owningAssembly":"Aspire.Hosting","content":"export interface ResourceWithWaitSupportPromise extends PromiseLike\u003CResourceWithWaitSupport\u003E {\n waitFor(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForOptions): ResourceWithWaitSupportPromise;\n waitForStart(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForStartOptions): ResourceWithWaitSupportPromise;\n waitForCompletion(dependency: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, options?: WaitForCompletionOptions): ResourceWithWaitSupportPromise;\n}"},{"id":"Aspire.Hosting:interface:UpdateCommandStateContext","owningAssembly":"Aspire.Hosting","content":"export interface UpdateCommandStateContext {\n toJSON(): MarshalledHandle;\n resourceSnapshot(): Promise\u003CUpdateCommandStateResourceSnapshot\u003E;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:UpdateCommandStateContextPromise","owningAssembly":"Aspire.Hosting","content":"export interface UpdateCommandStateContextPromise extends PromiseLike\u003CUpdateCommandStateContext\u003E {\n resourceSnapshot(): Promise\u003CUpdateCommandStateResourceSnapshot\u003E;\n services(): ServiceProviderPromise;\n}"},{"id":"Aspire.Hosting:interface:UserSecretsManager","owningAssembly":"Aspire.Hosting","content":"export interface UserSecretsManager {\n toJSON(): MarshalledHandle;\n isAvailable(): Promise\u003Cboolean\u003E;\n filePath(): Promise\u003Cstring\u003E;\n trySetSecret(name: string, value: string): Promise\u003Cboolean\u003E;\n tryDeleteSecret(name: string): Promise\u003Cboolean\u003E;\n saveStateJson(json: string, options?: SaveStateJsonOptions): UserSecretsManagerPromise;\n getOrSetSecret(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, name: string, value: string): UserSecretsManagerPromise;\n}"},{"id":"Aspire.Hosting:interface:UserSecretsManagerPromise","owningAssembly":"Aspire.Hosting","content":"export interface UserSecretsManagerPromise extends PromiseLike\u003CUserSecretsManager\u003E {\n isAvailable(): Promise\u003Cboolean\u003E;\n filePath(): Promise\u003Cstring\u003E;\n trySetSecret(name: string, value: string): Promise\u003Cboolean\u003E;\n tryDeleteSecret(name: string): Promise\u003Cboolean\u003E;\n saveStateJson(json: string, options?: SaveStateJsonOptions): UserSecretsManagerPromise;\n getOrSetSecret(resourceBuilder: Awaitable\u003CCSharpAppResource | ComputeEnvironmentResource | ComputeResource | ContainerFilesDestinationResource | ContainerRegistryResource | ContainerResource | DotnetToolResource | ExecutableResource | ExternalServiceResource | ParameterResource | ProjectResource | Resource | ResourceWithArgs | ResourceWithConnectionString | ResourceWithContainerFiles | ResourceWithEndpoints | ResourceWithEnvironment | ResourceWithWaitSupport\u003E, name: string, value: string): UserSecretsManagerPromise;\n}"},{"id":"Aspire.Hosting:options:AddCSharpAppOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddCSharpAppOptions {\n options?: Awaitable\u003CProjectResourceOptions\u003E;\n}"},{"id":"Aspire.Hosting:options:AddConnectionStringOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddConnectionStringOptions {\n environmentVariableNameOrExpression?: string | ReferenceExpression;\n}"},{"id":"Aspire.Hosting:options:AddContainerFilesOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddContainerFilesOptions {\n logger?: Awaitable\u003CLogger\u003E;\n}"},{"id":"Aspire.Hosting:options:AddContainerFilesStagesOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddContainerFilesStagesOptions {\n logger?: Awaitable\u003CLogger\u003E;\n}"},{"id":"Aspire.Hosting:options:AddContainerRegistryOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddContainerRegistryOptions {\n repository?: string | ParameterResource | Awaitable\u003CParameterResource\u003E;\n}"},{"id":"Aspire.Hosting:options:AddDockerfileBuilderOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddDockerfileBuilderOptions {\n stage?: string;\n}"},{"id":"Aspire.Hosting:options:AddDockerfileFactoryOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddDockerfileFactoryOptions {\n stage?: string;\n}"},{"id":"Aspire.Hosting:options:AddDockerfileOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddDockerfileOptions {\n dockerfilePath?: string;\n stage?: string;\n}"},{"id":"Aspire.Hosting:options:AddForEndpointOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddForEndpointOptions {\n displayText?: string;\n}"},{"id":"Aspire.Hosting:options:AddOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddOptions {\n displayText?: string;\n}"},{"id":"Aspire.Hosting:options:AddParameterFromConfigurationOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddParameterFromConfigurationOptions {\n secret?: boolean;\n}"},{"id":"Aspire.Hosting:options:AddParameterOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddParameterOptions {\n value?: string;\n publishValueAsDefault?: boolean;\n secret?: boolean;\n}"},{"id":"Aspire.Hosting:options:AddParameterWithGeneratedValueOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddParameterWithGeneratedValueOptions {\n secret?: boolean;\n persist?: boolean;\n}"},{"id":"Aspire.Hosting:options:AddProjectOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddProjectOptions {\n launchProfileOrOptions?: string | ProjectResourceOptions | Awaitable\u003CProjectResourceOptions\u003E;\n}"},{"id":"Aspire.Hosting:options:AddStepOptions","owningAssembly":"Aspire.Hosting","content":"export interface AddStepOptions {\n dependsOn?: string[];\n requiredBy?: string[];\n}"},{"id":"Aspire.Hosting:options:AppendFormattedOptions","owningAssembly":"Aspire.Hosting","content":"export interface AppendFormattedOptions {\n format?: string;\n}"},{"id":"Aspire.Hosting:options:AppendValueProviderOptions","owningAssembly":"Aspire.Hosting","content":"export interface AppendValueProviderOptions {\n format?: string;\n}"},{"id":"Aspire.Hosting:options:ArgOptions","owningAssembly":"Aspire.Hosting","content":"export interface ArgOptions {\n defaultValue?: string;\n}"},{"id":"Aspire.Hosting:options:BuildOptions","owningAssembly":"Aspire.Hosting","content":"export interface BuildOptions {\n resourceLogger?: Awaitable\u003CLogger\u003E;\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:CompleteStepMarkdownOptions","owningAssembly":"Aspire.Hosting","content":"export interface CompleteStepMarkdownOptions {\n completionState?: string;\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:CompleteStepOptions","owningAssembly":"Aspire.Hosting","content":"export interface CompleteStepOptions {\n completionState?: string;\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:CompleteTaskMarkdownOptions","owningAssembly":"Aspire.Hosting","content":"export interface CompleteTaskMarkdownOptions {\n completionState?: string;\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:CompleteTaskOptions","owningAssembly":"Aspire.Hosting","content":"export interface CompleteTaskOptions {\n completionMessage?: string;\n completionState?: string;\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:CopyFromOptions","owningAssembly":"Aspire.Hosting","content":"export interface CopyFromOptions {\n chown?: string;\n}"},{"id":"Aspire.Hosting:options:CopyOptions","owningAssembly":"Aspire.Hosting","content":"export interface CopyOptions {\n chown?: string;\n}"},{"id":"Aspire.Hosting:options:CreateCertificateFileOptions","owningAssembly":"Aspire.Hosting","content":"export interface CreateCertificateFileOptions {\n contents?: string;\n sourcePath?: string;\n owner?: number;\n group?: number;\n mode?: number;\n continueOnError?: boolean;\n}"},{"id":"Aspire.Hosting:options:CreateChoiceInputOptions","owningAssembly":"Aspire.Hosting","content":"export interface CreateChoiceInputOptions {\n choices?: InteractionChoiceOption[];\n options?: CreateInteractionInputOptions;\n}"},{"id":"Aspire.Hosting:options:CreateDirectoryOptions","owningAssembly":"Aspire.Hosting","content":"export interface CreateDirectoryOptions {\n owner?: number;\n group?: number;\n mode?: number;\n}"},{"id":"Aspire.Hosting:options:CreateFileOptions","owningAssembly":"Aspire.Hosting","content":"export interface CreateFileOptions {\n contents?: string;\n sourcePath?: string;\n owner?: number;\n group?: number;\n mode?: number;\n continueOnError?: boolean;\n}"},{"id":"Aspire.Hosting:options:CreateMarkdownTaskOptions","owningAssembly":"Aspire.Hosting","content":"export interface CreateMarkdownTaskOptions {\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:CreateTaskOptions","owningAssembly":"Aspire.Hosting","content":"export interface CreateTaskOptions {\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:ExecuteCommandAsyncOptions","owningAssembly":"Aspire.Hosting","content":"export interface ExecuteCommandAsyncOptions {\n arguments?: Record\u003Cstring, string\u003E;\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:FromOptions","owningAssembly":"Aspire.Hosting","content":"export interface FromOptions {\n stageName?: string;\n}"},{"id":"Aspire.Hosting:options:GetValueAsyncOptions","owningAssembly":"Aspire.Hosting","content":"export interface GetValueAsyncOptions {\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:PromptProgressOptions","owningAssembly":"Aspire.Hosting","content":"export interface PromptProgressOptions {\n title?: string;\n options?: InteractionProgressOptions;\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:PublishAsDockerFileOptions","owningAssembly":"Aspire.Hosting","content":"export interface PublishAsDockerFileOptions {\n configure?: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E;\n}"},{"id":"Aspire.Hosting:options:PublishResourceUpdateOptions","owningAssembly":"Aspire.Hosting","content":"export interface PublishResourceUpdateOptions {\n state?: string;\n stateStyle?: string;\n}"},{"id":"Aspire.Hosting:options:RunOptions","owningAssembly":"Aspire.Hosting","content":"export interface RunOptions {\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:SaveStateJsonOptions","owningAssembly":"Aspire.Hosting","content":"export interface SaveStateJsonOptions {\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:UpdateTaskMarkdownOptions","owningAssembly":"Aspire.Hosting","content":"export interface UpdateTaskMarkdownOptions {\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:UpdateTaskOptions","owningAssembly":"Aspire.Hosting","content":"export interface UpdateTaskOptions {\n cancellationToken?: AbortSignal | CancellationToken;\n}"},{"id":"Aspire.Hosting:options:WaitForCompletionOptions","owningAssembly":"Aspire.Hosting","content":"export interface WaitForCompletionOptions {\n exitCode?: number;\n}"},{"id":"Aspire.Hosting:options:WaitForOptions","owningAssembly":"Aspire.Hosting","content":"export interface WaitForOptions {\n waitBehavior?: WaitBehavior;\n}"},{"id":"Aspire.Hosting:options:WaitForResourceStateOptions","owningAssembly":"Aspire.Hosting","content":"export interface WaitForResourceStateOptions {\n targetState?: string;\n}"},{"id":"Aspire.Hosting:options:WaitForStartOptions","owningAssembly":"Aspire.Hosting","content":"export interface WaitForStartOptions {\n waitBehavior?: WaitBehavior;\n}"},{"id":"Aspire.Hosting:options:WithBindMountOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithBindMountOptions {\n isReadOnly?: boolean;\n}"},{"id":"Aspire.Hosting:options:WithCommandOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithCommandOptions {\n commandOptions?: CommandOptions;\n}"},{"id":"Aspire.Hosting:options:WithContainerCertificatePathsOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithContainerCertificatePathsOptions {\n customCertificatesDestination?: string;\n defaultCertificateBundlePaths?: string[];\n defaultCertificateDirectoryPaths?: string[];\n}"},{"id":"Aspire.Hosting:options:WithDescriptionOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithDescriptionOptions {\n enableMarkdown?: boolean;\n}"},{"id":"Aspire.Hosting:options:WithDockerfileBaseImageOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithDockerfileBaseImageOptions {\n buildImage?: string;\n runtimeImage?: string;\n}"},{"id":"Aspire.Hosting:options:WithDockerfileBuilderOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithDockerfileBuilderOptions {\n stage?: string;\n}"},{"id":"Aspire.Hosting:options:WithDockerfileFactoryOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithDockerfileFactoryOptions {\n stage?: string;\n}"},{"id":"Aspire.Hosting:options:WithDockerfileOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithDockerfileOptions {\n dockerfilePath?: string;\n stage?: string;\n}"},{"id":"Aspire.Hosting:options:WithEndpointCallbackOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithEndpointCallbackOptions {\n createIfNotExists?: boolean;\n}"},{"id":"Aspire.Hosting:options:WithEndpointOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithEndpointOptions {\n port?: number;\n targetPort?: number;\n scheme?: string;\n name?: string;\n env?: string;\n isProxied?: boolean;\n isExternal?: boolean;\n protocol?: ProtocolType;\n}"},{"id":"Aspire.Hosting:options:WithHiddenOnCompletionOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithHiddenOnCompletionOptions {\n exitCode?: number;\n exitCodes?: number[];\n}"},{"id":"Aspire.Hosting:options:WithHttpEndpointCallbackOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithHttpEndpointCallbackOptions {\n name?: string;\n createIfNotExists?: boolean;\n}"},{"id":"Aspire.Hosting:options:WithHttpEndpointOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithHttpEndpointOptions {\n port?: number;\n targetPort?: number;\n name?: string;\n env?: string;\n isProxied?: boolean;\n}"},{"id":"Aspire.Hosting:options:WithHttpHealthCheckOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithHttpHealthCheckOptions {\n path?: string;\n statusCode?: number;\n endpointName?: string;\n}"},{"id":"Aspire.Hosting:options:WithHttpProbeOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithHttpProbeOptions {\n path?: string;\n initialDelaySeconds?: number;\n periodSeconds?: number;\n timeoutSeconds?: number;\n failureThreshold?: number;\n successThreshold?: number;\n endpointName?: string;\n}"},{"id":"Aspire.Hosting:options:WithHttpsDeveloperCertificateOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithHttpsDeveloperCertificateOptions {\n password?: Awaitable\u003CParameterResource\u003E;\n}"},{"id":"Aspire.Hosting:options:WithHttpsEndpointCallbackOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithHttpsEndpointCallbackOptions {\n name?: string;\n createIfNotExists?: boolean;\n}"},{"id":"Aspire.Hosting:options:WithHttpsEndpointOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithHttpsEndpointOptions {\n port?: number;\n targetPort?: number;\n name?: string;\n env?: string;\n isProxied?: boolean;\n}"},{"id":"Aspire.Hosting:options:WithIconNameOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithIconNameOptions {\n iconVariant?: IconVariant;\n}"},{"id":"Aspire.Hosting:options:WithImageOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithImageOptions {\n tag?: string;\n}"},{"id":"Aspire.Hosting:options:WithMcpServerOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithMcpServerOptions {\n path?: string;\n endpointName?: string;\n}"},{"id":"Aspire.Hosting:options:WithOtlpExporterOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithOtlpExporterOptions {\n protocol?: OtlpProtocol;\n}"},{"id":"Aspire.Hosting:options:WithPipelineStepFactoryOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithPipelineStepFactoryOptions {\n dependsOn?: string[];\n requiredBy?: string[];\n tags?: string[];\n description?: string;\n}"},{"id":"Aspire.Hosting:options:WithReferenceOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithReferenceOptions {\n connectionName?: string;\n optional?: boolean;\n name?: string;\n}"},{"id":"Aspire.Hosting:options:WithRequiredCommandOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithRequiredCommandOptions {\n helpLink?: string;\n}"},{"id":"Aspire.Hosting:options:WithRequiredCommandValidationOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithRequiredCommandValidationOptions {\n helpLink?: string;\n}"},{"id":"Aspire.Hosting:options:WithUrlOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithUrlOptions {\n displayText?: string;\n}"},{"id":"Aspire.Hosting:options:WithVolumeOptions","owningAssembly":"Aspire.Hosting","content":"export interface WithVolumeOptions {\n name?: string;\n isReadOnly?: boolean;\n}"},{"id":"Microsoft.Extensions.Configuration.Abstractions:handle:IConfigurationSectionHandle","owningAssembly":"Microsoft.Extensions.Configuration.Abstractions","content":"export type IConfigurationSectionHandle = Handle\u003C\u0027Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfigurationSection\u0027\u003E;"},{"id":"Microsoft.Extensions.Configuration.Abstractions:opaque:Configuration","owningAssembly":"Microsoft.Extensions.Configuration.Abstractions","content":"export interface Configuration extends HandleReference {}"},{"id":"Microsoft.Extensions.Configuration.Abstractions:opaque:ConfigurationPromise","owningAssembly":"Microsoft.Extensions.Configuration.Abstractions","content":"export interface ConfigurationPromise extends PromiseLike\u003CConfiguration\u003E {}"},{"id":"Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions:enum:HealthStatus","owningAssembly":"Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions","content":"export enum HealthStatus {\n Unhealthy = \u0022Unhealthy\u0022,\n Degraded = \u0022Degraded\u0022,\n Healthy = \u0022Healthy\u0022,\n}"},{"id":"Microsoft.Extensions.Hosting.Abstractions:opaque:HostEnvironment","owningAssembly":"Microsoft.Extensions.Hosting.Abstractions","content":"export interface HostEnvironment extends HandleReference {}"},{"id":"Microsoft.Extensions.Hosting.Abstractions:opaque:HostEnvironmentPromise","owningAssembly":"Microsoft.Extensions.Hosting.Abstractions","content":"export interface HostEnvironmentPromise extends PromiseLike\u003CHostEnvironment\u003E {}"},{"id":"Microsoft.Extensions.Logging.Abstractions:opaque:Logger","owningAssembly":"Microsoft.Extensions.Logging.Abstractions","content":"export interface Logger extends HandleReference {}"},{"id":"Microsoft.Extensions.Logging.Abstractions:opaque:LoggerFactory","owningAssembly":"Microsoft.Extensions.Logging.Abstractions","content":"export interface LoggerFactory extends HandleReference {}"},{"id":"Microsoft.Extensions.Logging.Abstractions:opaque:LoggerFactoryPromise","owningAssembly":"Microsoft.Extensions.Logging.Abstractions","content":"export interface LoggerFactoryPromise extends PromiseLike\u003CLoggerFactory\u003E {}"},{"id":"Microsoft.Extensions.Logging.Abstractions:opaque:LoggerPromise","owningAssembly":"Microsoft.Extensions.Logging.Abstractions","content":"export interface LoggerPromise extends PromiseLike\u003CLogger\u003E {}"},{"id":"System.ComponentModel:opaque:ServiceProvider","owningAssembly":"System.ComponentModel","content":"export interface ServiceProvider extends HandleReference {}"},{"id":"System.ComponentModel:opaque:ServiceProviderPromise","owningAssembly":"System.ComponentModel","content":"export interface ServiceProviderPromise extends PromiseLike\u003CServiceProvider\u003E {}"},{"id":"System.Net.Sockets:enum:ProtocolType","owningAssembly":"System.Net.Sockets","content":"export enum ProtocolType {\n IP = \u0022IP\u0022,\n IPv6HopByHopOptions = \u0022IPv6HopByHopOptions\u0022,\n Unspecified = \u0022Unspecified\u0022,\n Icmp = \u0022Icmp\u0022,\n Igmp = \u0022Igmp\u0022,\n Ggp = \u0022Ggp\u0022,\n IPv4 = \u0022IPv4\u0022,\n Tcp = \u0022Tcp\u0022,\n Pup = \u0022Pup\u0022,\n Udp = \u0022Udp\u0022,\n Idp = \u0022Idp\u0022,\n IPv6 = \u0022IPv6\u0022,\n IPv6RoutingHeader = \u0022IPv6RoutingHeader\u0022,\n IPv6FragmentHeader = \u0022IPv6FragmentHeader\u0022,\n IPSecEncapsulatingSecurityPayload = \u0022IPSecEncapsulatingSecurityPayload\u0022,\n IPSecAuthenticationHeader = \u0022IPSecAuthenticationHeader\u0022,\n IcmpV6 = \u0022IcmpV6\u0022,\n IPv6NoNextHeader = \u0022IPv6NoNextHeader\u0022,\n IPv6DestinationOptions = \u0022IPv6DestinationOptions\u0022,\n ND = \u0022ND\u0022,\n Raw = \u0022Raw\u0022,\n Ipx = \u0022Ipx\u0022,\n Spx = \u0022Spx\u0022,\n SpxII = \u0022SpxII\u0022,\n Unknown = \u0022Unknown\u0022,\n}"},{"id":"aspire:runtime:base","owningAssembly":"Aspire.Hosting","content":"export type Awaitable\u003CT\u003E = T | PromiseLike\u003CT\u003E;\nexport interface MarshalledHandle { $handle: string; $type: string; }\nexport interface Handle\u003CT extends string = string\u003E { readonly $handle: string; readonly $type: T; toJSON(): MarshalledHandle; }\nexport interface HandleReference { toJSON(): MarshalledHandle; }\nexport interface AbortSignal { readonly aborted: boolean; }\nexport interface CancellationToken { readonly aborted: boolean; }\nexport enum InputType { Text = \u0027Text\u0027, SecretText = \u0027SecretText\u0027, Choice = \u0027Choice\u0027, Boolean = \u0027Boolean\u0027, Number = \u0027Number\u0027 }\nexport interface ReferenceExpression { readonly value: Promise\u003Cstring\u003E; }\nexport interface AspireList\u003CT\u003E extends HandleReference { get(index: number): Promise\u003CT\u003E; }\nexport interface AspireDict\u003CTKey, TValue\u003E extends HandleReference { get(key: TKey): Promise\u003CTValue\u003E; }\nexport interface ResourceBuilderBase extends HandleReference {}\nexport interface InteractionInput { readonly name: string; }\nexport interface InteractionInputCollection extends HandleReference {}\nexport interface InteractionInputCollectionPromise extends PromiseLike\u003CInteractionInputCollection\u003E {}"}]} diff --git a/src/frontend/tests/unit/typescript-api-export.vitest.test.ts b/src/frontend/tests/unit/typescript-api-export.vitest.test.ts new file mode 100644 index 000000000..fd5c1da52 --- /dev/null +++ b/src/frontend/tests/unit/typescript-api-export.vitest.test.ts @@ -0,0 +1,262 @@ +import { execFileSync } from 'node:child_process'; +import { mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { afterAll, describe, expect, it } from 'vitest'; + +import { + loadTypeScriptApiExport, + parseTypeScriptApiExport, + concatenateDeclarations, + TypeScriptApiExportError, + type TypeScriptApiExport, +} from '../../src/schemas/typescript-api-export'; + +const fixtureDir = fileURLToPath(new URL('../fixtures/typescript-api-export/', import.meta.url)); + +const corePath = join(fixtureDir, 'Aspire.Hosting.api.json'); +const integrationPath = join(fixtureDir, 'Aspire.Hosting.Redis.api.json'); + +const core = loadTypeScriptApiExport(corePath); +const integration = loadTypeScriptApiExport(integrationPath); + +/** + * Produces a structurally valid export document that individual tests mutate to prove the + * validator rejects a specific defect. Cloning the real core fixture would make every failure + * message enormous, so this stays deliberately tiny. + */ +function validDocument(): TypeScriptApiExport { + return { + schemaVersion: 1, + language: 'typescript', + package: { name: 'Aspire.Hosting.Redis', version: '13.5.0' }, + modules: [ + { + name: 'Aspire.Hosting.Redis', + items: [ + { + id: 'interface:RedisResource', + typeId: 'Aspire.Hosting.Redis/Aspire.Hosting.Redis.RedisResource', + kind: 'interface', + name: 'RedisResource', + declaration: 'export interface RedisResource extends ResourceBuilderBase', + owningAssembly: 'Aspire.Hosting.Redis', + }, + ], + }, + ], + declarations: [ + { + id: 'Aspire.Hosting.Redis:interface:RedisResource', + content: 'export interface RedisResource extends ResourceBuilderBase {}', + owningAssembly: 'Aspire.Hosting.Redis', + }, + ], + }; +} + +function expectRejected(mutate: (document: TypeScriptApiExport) => void, message: RegExp) { + const document = validDocument(); + mutate(document); + + expect(() => parseTypeScriptApiExport(document, 'test-document')).toThrowError( + TypeScriptApiExportError, + ); + expect(() => parseTypeScriptApiExport(document, 'test-document')).toThrowError(message); +} + +describe('typescript-api-export schema version 1', () => { + it('accepts the canonical fixtures produced by aspire sdk export', () => { + expect(core.schemaVersion).toBe(1); + expect(core.language).toBe('typescript'); + expect(core.package.name).toBe('Aspire.Hosting'); + expect(core.package.version.length).toBeGreaterThan(0); + + expect(integration.package.name).toBe('Aspire.Hosting.Redis'); + expect(integration.modules.length).toBeGreaterThan(0); + }); + + it('rejects an unknown schema version', () => { + expectRejected((document) => { + (document as { schemaVersion: number }).schemaVersion = 2; + }, /schema version/i); + }); + + it('rejects a document for another language', () => { + expectRejected((document) => { + (document as { language: string }).language = 'python'; + }, /language/i); + }); + + it('rejects missing package identity', () => { + expectRejected((document) => { + document.package.version = ''; + }, /package/i); + }); + + it('rejects duplicate stable item IDs', () => { + expectRejected((document) => { + const [item] = document.modules[0].items; + document.modules[0].items.push({ ...item }); + }, /duplicate/i); + }); + + it('rejects duplicate declaration IDs that disagree on content', () => { + expectRejected((document) => { + const [declaration] = document.declarations; + document.declarations.push({ ...declaration, content: 'export interface RedisResource {}' }); + }, /duplicate/i); + }); + + it('rejects a non-final signature', () => { + expectRejected((document) => { + document.modules[0].items[0].declaration = ''; + }, /declaration/i); + }); + + it('rejects an item whose members carry no final declaration', () => { + expectRejected((document) => { + document.modules[0].items[0].members = [{ id: 'method:withHostPort', kind: 'method', name: 'withHostPort', declaration: '' }]; + }, /declaration/i); + }); +}); + +describe('two-package manifests', () => { + it('does not duplicate core-owned documentation pages in the integration package', () => { + const coreItemIds = new Set(core.modules.flatMap((module) => module.items.map((item) => item.id))); + const integrationItemIds = integration.modules.flatMap((module) => module.items.map((item) => item.id)); + + expect(integrationItemIds.length).toBeGreaterThan(0); + expect(integrationItemIds.filter((id) => coreItemIds.has(id))).toEqual([]); + }); + + it('documents only package-owned symbols while referenced types stay in declarations', () => { + const items = integration.modules.flatMap((module) => module.items); + + const ownedItemOwners = new Set( + items.filter((item) => item.kind !== 'augmentation').map((item) => item.owningAssembly), + ); + expect([...ownedItemOwners]).toEqual(['Aspire.Hosting.Redis']); + + // The closure still has to supply the core types the integration's signatures name, otherwise + // the concatenated declarations could not type-check. + const declarationOwners = new Set( + integration.declarations.map((declaration) => declaration.owningAssembly), + ); + expect(declarationOwners.has('Aspire.Hosting')).toBe(true); + }); + + it('exposes extension methods as augmentations of the owning package\'s type', () => { + const augmentations = integration.modules + .flatMap((module) => module.items) + .filter((item) => item.kind === 'augmentation'); + + expect(augmentations.length).toBeGreaterThan(0); + + for (const augmentation of augmentations) { + // The owning package publishes the page for the type; this item only carries the members this + // package contributes, so it must point back at the real owner and never reuse its item ID. + // The contributing package is part of the ID too, because every integration that extends + // DistributedApplicationBuilder augments the same interface name. + expect(augmentation.owningAssembly).not.toBe(integration.package.name); + expect(augmentation.id.startsWith(`augmentation:${integration.package.name}:`)).toBe(true); + expect(augmentation.members?.length ?? 0).toBeGreaterThan(0); + } + + const addRedis = augmentations + .flatMap((item) => item.members ?? []) + .find((member) => member.name === 'addRedis'); + expect(addRedis?.declaration).toContain('addRedis('); + }); + + it('keeps item IDs unique across a multi-package manifest', () => { + // We key pages off item IDs, so a collision between two packages silently drops one of them. + // An earlier build emitted `interface:DistributedApplicationBuilder` from every integration. + const ids = [core, integration] + .flatMap((document) => document.modules) + .flatMap((module) => module.items) + .map((item) => item.id); + + expect(new Set(ids).size).toBe(ids.length); + }); + + it('resolves every declaration ID referenced across the manifest exactly once', () => { + const combined = concatenateDeclarations([core, integration]); + const ids = combined.declarations.map((declaration) => declaration.id); + + expect(new Set(ids).size).toBe(ids.length); + expect(ids).toEqual([...ids].sort()); + }); +}); + +const typecheckDir = mkdtempSync(join(tmpdir(), 'ts-api-export-')); + +afterAll(() => { + rmSync(typecheckDir, { recursive: true, force: true }); +}); + +describe('combined declaration fragments', () => { + it('type-checks with noEmit and skipLibCheck disabled', () => { + const { text } = concatenateDeclarations([core, integration]); + + const entry = join(typecheckDir, 'declarations.ts'); + const tsconfig = join(typecheckDir, 'tsconfig.json'); + + writeFileSync(entry, text, 'utf8'); + writeFileSync( + tsconfig, + JSON.stringify({ + compilerOptions: { + noEmit: true, + strict: true, + skipLibCheck: false, + target: 'ES2022', + lib: ['ES2022'], + types: [], + }, + files: ['declarations.ts'], + }), + 'utf8', + ); + + const tsc = fileURLToPath(new URL('../../node_modules/typescript/bin/tsc', import.meta.url)); + + let output = ''; + try { + execFileSync(process.execPath, [tsc, '--project', tsconfig], { encoding: 'utf8' }); + } catch (error) { + output = (error as { stdout?: string }).stdout ?? String(error); + } + + expect(output).toBe(''); + }); + + it('writes fragments the site can consume without authoring shims', () => { + const { text } = concatenateDeclarations([core, integration]); + + // A shim would show up as a declaration the export never produced, so the concatenation must be + // byte-identical to the fragments themselves. + const fragments = [...core.declarations, ...integration.declarations]; + for (const fragment of fragments) { + expect(text).toContain(fragment.content); + } + }); +}); + +describe('loader', () => { + it('reports the file that failed validation', () => { + const broken = join(typecheckDir, 'broken.json'); + writeFileSync(broken, JSON.stringify({ schemaVersion: 99 }), 'utf8'); + + expect(() => loadTypeScriptApiExport(broken)).toThrowError(/broken\.json/); + }); + + it('rejects stdout that is not exactly one export document', () => { + const document = JSON.parse(readFileSync(integrationPath, 'utf8')); + + expect(() => parseTypeScriptApiExport([document], 'stdout')).toThrowError( + TypeScriptApiExportError, + ); + }); +});