diff --git a/.github/agents/community-toolkit-integration-doc-writer.agent.md b/.github/agents/community-toolkit-integration-doc-writer.agent.md index ab1a52b26..5f9b54f70 100644 --- a/.github/agents/community-toolkit-integration-doc-writer.agent.md +++ b/.github/agents/community-toolkit-integration-doc-writer.agent.md @@ -162,7 +162,7 @@ This step ensures that the documentation you've created is properly indexed and ### AppHost language parity - Follow the `doc-writer` skill's AppHost language parity guidance for all AppHost and hosting-integration examples. -- Always show both C# AppHost (`AppHost.cs`) and TypeScript AppHost (`apphost.ts`) variants inside synced `Tabs` (with `syncKey='aspire-lang'`) unless the feature is genuinely language-specific or TypeScript AppHost support does not exist yet. +- Always show both C# AppHost (`AppHost.cs`) and TypeScript AppHost (`apphost.mts`) variants inside synced `Tabs` (with `syncKey='aspire-lang'`) unless the feature is genuinely language-specific or TypeScript AppHost support does not exist yet. - Before writing a TypeScript AppHost example, verify the API exists in the TypeScript AppHost SDK. Do not invent TypeScript samples. - If TypeScript AppHost support is not available, show only the C# example without language tabs and add a note that TypeScript AppHost support for the integration is not yet available. - Use language-neutral prose around AppHost examples, such as "Add a resource to your AppHost" instead of C#-specific method instructions. diff --git a/.github/skills/aspire/SKILL.md b/.github/skills/aspire/SKILL.md index bbdc8be52..2efe9d826 100644 --- a/.github/skills/aspire/SKILL.md +++ b/.github/skills/aspire/SKILL.md @@ -5,7 +5,7 @@ description: "Orchestrates Aspire distributed applications using the Aspire CLI # Aspire Skill -This repository uses Aspire to orchestrate its distributed application. Resources are defined in the AppHost project (`apphost.cs` or `apphost.ts`). +This repository uses Aspire to orchestrate its distributed application. Resources are defined in the AppHost project (`apphost.cs` or `apphost.mts`). ## CLI command reference diff --git a/.github/skills/doc-writer/SKILL.md b/.github/skills/doc-writer/SKILL.md index 0b782d768..3e3719734 100644 --- a/.github/skills/doc-writer/SKILL.md +++ b/.github/skills/doc-writer/SKILL.md @@ -73,8 +73,36 @@ description: A brief summary of the page content (required for SEO) Optional frontmatter fields: - `next: false` - Disable "Next page" link for terminal pages +- `seoTitle` - Override the page's `og:title` / `twitter:title` only, + without touching the visible H1 or sidebar label. Use this **only** + when the natural H1 must stay short (commands, terse labels). When + set, the value is emitted verbatim — no `· Aspire` suffix is appended. - Custom metadata as needed by Starlight theme +#### SEO length targets + +The site uses Open Graph metadata to render social cards and feed SEO +tooling. To keep previews scannable on every social network and to +avoid the "title too short / description too long" lints that surface +on Yoast, LinkedIn, and the search-console reports, follow these +length targets when authoring frontmatter: + +| Field | Composed length target | Hard limit | +| ------------- | ---------------------: | ---------: | +| `title` | 41-51 characters | 70 characters | +| `seoTitle` | 50-60 characters | 70 characters | +| `description` | 110-160 characters | 200 characters (auto-truncated) | + +`title` becomes `og:title` composed as `${title} · Aspire`, so the +target window leaves room for the 9-character suffix. `seoTitle` +overrides the composition outright — write the full string yourself. + +Surface keywords from the article body itself in the description +(verbs, integration names, API surfaces). The CI guard at +`tests/unit/seo-lengths.vitest.test.ts` fails when any English page +strays outside the wider 30-65 / 80-200 character guard ranges, so a +draft can land slightly off-target and tighten in follow-ups. + ### Required Imports Import Starlight components at the top of your MDX file: @@ -368,8 +396,8 @@ builder.Build().Run(); ```` ````mdx -```typescript title="apphost.ts" -import { createBuilder } from "./.modules/aspire.js"; +```typescript title="apphost.mts" +import { createBuilder } from "./.aspire/modules/aspire.mjs"; const builder = await createBuilder(); @@ -407,7 +435,7 @@ For client/library packages: ## AppHost Language Parity (C# and TypeScript) -Aspire supports both **C# AppHosts** (`AppHost.cs`) and **TypeScript AppHosts** (`apphost.ts`). Documentation must treat both languages as first-class citizens. **Always show both C# and TypeScript code samples for AppHost code unless the feature is genuinely language-specific or TypeScript support does not exist yet.** Never write AppHost or hosting-integration documentation with a C#-only bias. +Aspire supports both **C# AppHosts** (`AppHost.cs`) and **TypeScript AppHosts** (`apphost.mts`). Documentation must treat both languages as first-class citizens. **Always show both C# and TypeScript code samples for AppHost code unless the feature is genuinely language-specific or TypeScript support does not exist yet.** Never write AppHost or hosting-integration documentation with a C#-only bias. ### Core Principles @@ -440,8 +468,8 @@ builder.Build().Run(); -```typescript title="apphost.ts" -import { createBuilder } from "./.modules/aspire.js"; +```typescript title="apphost.mts" +import { createBuilder } from "./.aspire/modules/aspire.mjs"; const builder = await createBuilder(); @@ -467,10 +495,10 @@ If a section heading should appear in the **On this page** table of contents, ke | Aspect | C# | TypeScript | | ---------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -| File title | `title="AppHost.cs"` | `title="apphost.ts"` | +| File title | `title="AppHost.cs"` | `title="apphost.mts"` | | Tab wrapper | Shared `` container | Shared `` container | | Tab item | `` | `` | -| Builder creation | `DistributedApplication.CreateBuilder(args)` | `import { createBuilder } from './.modules/aspire.js';` then newline for space followed by `await createBuilder();` | +| Builder creation | `DistributedApplication.CreateBuilder(args)` | `import { createBuilder } from './.aspire/modules/aspire.mjs';` then newline for space followed by `await createBuilder();` | | Method casing | PascalCase (`AddRedis`) | camelCase (`addRedis`) | | Async pattern | Synchronous fluent calls | `await` each builder call | | Build & run | `builder.Build().Run()` | `await builder.build().run()` | @@ -565,8 +593,8 @@ builder.Build().Run(); -```typescript title="apphost.ts" -import { createBuilder } from "./.modules/aspire.js"; +```typescript title="apphost.mts" +import { createBuilder } from "./.aspire/modules/aspire.mjs"; const builder = await createBuilder(); @@ -616,8 +644,8 @@ builder.Build().Run(); -```typescript title="apphost.ts" -import { createBuilder } from "./.modules/aspire.js"; +```typescript title="apphost.mts" +import { createBuilder } from "./.aspire/modules/aspire.mjs"; const builder = await createBuilder(); diff --git a/src/frontend/astro.config.mjs b/src/frontend/astro.config.mjs index cccd546a6..8e2867f77 100644 --- a/src/frontend/astro.config.mjs +++ b/src/frontend/astro.config.mjs @@ -125,7 +125,7 @@ export default defineConfig({ starlightLinksValidator({ errorOnRelativeLinks: false, errorOnFallbackPages: false, - exclude: ['/i18n/'], + exclude: ['/i18n/', '/reference/api', '/reference/api/**'], }), starlightScrollToTop({ // https://frostybee.github.io/starlight-scroll-to-top/svg-paths/ diff --git a/src/frontend/config/redirects.mjs b/src/frontend/config/redirects.mjs index 43726d99c..2424fd380 100644 --- a/src/frontend/config/redirects.mjs +++ b/src/frontend/config/redirects.mjs @@ -175,6 +175,9 @@ export const redirects = { '/integrations/devtools/flagd/': '/integrations/devtools/flagd/flagd-get-started/', '/integrations/devtools/goff/': '/integrations/devtools/goff/goff-get-started/', '/integrations/devtools/mailpit/': '/integrations/devtools/mailpit/mailpit-get-started/', + '/integrations/frameworks/go/': '/integrations/frameworks/go/go-get-started/', + '/integrations/frameworks/go-apps/': '/integrations/frameworks/go/go-get-started/', + '/ja/integrations/frameworks/go-apps/': '/integrations/frameworks/go/go-get-started/', '/integrations/frameworks/csharp-file-based-apps/': '/integrations/dotnet/csharp-file-based-apps/', '/integrations/frameworks/maui/': '/integrations/dotnet/maui/', '/fundamentals/service-defaults/': '/get-started/csharp-service-defaults/', diff --git a/src/frontend/config/sidebar/docs.topics.ts b/src/frontend/config/sidebar/docs.topics.ts index 419aa2e62..02565d14d 100644 --- a/src/frontend/config/sidebar/docs.topics.ts +++ b/src/frontend/config/sidebar/docs.topics.ts @@ -90,6 +90,10 @@ export const docsTopics: StarlightSidebarTopicsUserConfig = { label: "What's new", collapsed: true, items: [ + { + label: 'Aspire 13.4', + slug: 'whats-new/aspire-13-4', + }, { label: 'Aspire 13.3', slug: 'whats-new/aspire-13-3', diff --git a/src/frontend/config/sidebar/integrations.topics.ts b/src/frontend/config/sidebar/integrations.topics.ts index 6a845b82b..9dc395801 100644 --- a/src/frontend/config/sidebar/integrations.topics.ts +++ b/src/frontend/config/sidebar/integrations.topics.ts @@ -1248,7 +1248,7 @@ export const integrationTopics: StarlightSidebarTopicsUserConfig = { }, ], }, - { + { label: 'SQLite', collapsed: true, items: [ @@ -1332,13 +1332,35 @@ export const integrationTopics: StarlightSidebarTopicsUserConfig = { { label: 'C# file-based apps', slug: 'integrations/dotnet/csharp-file-based-apps' }, { label: 'Launch profiles', slug: 'integrations/dotnet/launch-profiles' }, { label: '.NET tool resources', slug: 'integrations/dotnet/dotnet-tool-resources' }, + { + label: 'Blazor', + collapsed: true, + items: [ + { label: 'Get started', slug: 'integrations/dotnet/blazor-get-started' }, + { label: 'Set up Blazor hosting in the AppHost', slug: 'integrations/dotnet/blazor-hosting' }, + { label: 'Connect Blazor apps and APIs', slug: 'integrations/dotnet/blazor-connect' }, + ], + }, { label: '.NET MAUI', slug: 'integrations/dotnet/maui' }, { label: 'WPF and Windows Forms', slug: 'integrations/frameworks/wpf-winforms' }, { label: 'Orleans', slug: 'integrations/frameworks/orleans' }, ], }, { label: 'Dapr', slug: 'integrations/frameworks/dapr' }, - { label: 'Go', slug: 'integrations/frameworks/go-apps' }, + { + label: 'Go', + collapsed: true, + items: [ + { + label: 'Get started', + slug: 'integrations/frameworks/go/go-get-started', + }, + { + label: 'Set up Go apps in the AppHost', + slug: 'integrations/frameworks/go/go-host', + }, + ], + }, { label: 'Java', slug: 'integrations/frameworks/java' }, { label: 'JavaScript and Node.js', diff --git a/src/frontend/config/sidebar/reference.topics.ts b/src/frontend/config/sidebar/reference.topics.ts index 91ec7435f..bfd5985cd 100644 --- a/src/frontend/config/sidebar/reference.topics.ts +++ b/src/frontend/config/sidebar/reference.topics.ts @@ -602,6 +602,10 @@ export const referenceTopics: StarlightSidebarTopicsUserConfig[number] = { label: 'ASPIREEXPORT013', link: '/diagnostics/aspireexport013', }, + { + label: 'ASPIREEXPORT016', + link: '/diagnostics/aspireexport016', + }, { label: 'ASPIRECERTIFICATES001', link: '/diagnostics/aspirecertificates001', @@ -666,6 +670,10 @@ export const referenceTopics: StarlightSidebarTopicsUserConfig[number] = { label: 'ASPIREPOSTGRES001', link: '/diagnostics/aspirepostgres001', }, + { + label: 'ASPIREPROCESSCOMMAND001', + link: '/diagnostics/aspireprocesscommand001', + }, { label: 'ASPIREUSERSECRETS001', link: '/diagnostics/aspireusersecrets001', @@ -708,6 +716,10 @@ export const referenceTopics: StarlightSidebarTopicsUserConfig[number] = { label: 'ASPIREEXPORT004', link: '/diagnostics/aspireexport004', }, + { + label: 'ASPIREEXPORT015', + link: '/diagnostics/aspireexport015', + }, { label: 'ASPIREHOSTINGPYTHON001', link: '/diagnostics/aspirehostingpython001', diff --git a/src/frontend/config/twoslash.config.mjs b/src/frontend/config/twoslash.config.mjs index 0d1f09879..0ab1c1ac5 100644 --- a/src/frontend/config/twoslash.config.mjs +++ b/src/frontend/config/twoslash.config.mjs @@ -41,7 +41,8 @@ export const TWOSLASH_ENABLED = true; * `typescript` package from `ec.config.mjs`). * * - `moduleResolution: 100` → `ts.ModuleResolutionKind.Bundler` so - * `./.modules/aspire.js` falls through to the virtual `.modules/aspire.ts`. + * `./.aspire/modules/aspire.mjs` falls through to the virtual + * `.aspire/modules/aspire.mts`. * - `module: 99` → `ts.ModuleKind.ESNext` (paired with bundler resolution). * - `target: 99` → `ts.ScriptTarget.ESNext` so `lib.esnext.full.d.ts` is the * default `lib`, pulling in `Date`, `URL`, DOM, and friends via TS's @@ -79,12 +80,12 @@ export function readAspireTypes() { /** * Returns the `extraFiles` map twoslash should mount in its VFS. Returns an * empty object when the SDK bundle is missing so twoslash can still compile - * blocks that don't import from `./.modules/aspire.js` (they'll just see + * blocks that don't import from `./.aspire/modules/aspire.mjs` (they'll just see * `any` for the missing module — same fallback `ec.config.mjs` had inline). */ export function getTwoslashExtraFiles() { const { source } = readAspireTypes(); - return source ? { '.modules/aspire.ts': source } : {}; + return source ? { '.aspire/modules/aspire.mts': source } : {}; } /** diff --git a/src/frontend/scripts/generate-twoslash-types.ts b/src/frontend/scripts/generate-twoslash-types.ts index d5575b795..3474e7e51 100644 --- a/src/frontend/scripts/generate-twoslash-types.ts +++ b/src/frontend/scripts/generate-twoslash-types.ts @@ -105,13 +105,10 @@ function cleanType(raw: string | undefined): string { // Collapse fully-qualified namespaced identifiers (with '.' and/or '/' separators) // to their trailing simple-name segment, in-place — so occurrences inside generic // args are handled without swallowing surrounding brackets. - s = s.replace( - /[A-Za-z_][A-Za-z0-9_]*(?:[./][A-Za-z_][A-Za-z0-9_]*)+/g, - (m) => { - const afterSlash = m.includes('/') ? m.slice(m.lastIndexOf('/') + 1) : m; - return lastDotted(afterSlash); - } - ); + s = s.replace(/[A-Za-z_][A-Za-z0-9_]*(?:[./][A-Za-z_][A-Za-z0-9_]*)+/g, (m) => { + const afterSlash = m.includes('/') ? m.slice(m.lastIndexOf('/') + 1) : m; + return lastDotted(afterSlash); + }); // recover from known junk produced by the upstream generator (stray `]]`) s = s.replace(/\]\]+/g, ''); return s || 'unknown'; @@ -130,8 +127,22 @@ function camelCase(name: string): string { function sanitizeIdentifier(name: string): string { // JS reserved words we might collide with when a param is named e.g. 'default' const reserved = new Set([ - 'default', 'function', 'class', 'new', 'return', 'delete', 'enum', 'package', - 'private', 'protected', 'public', 'static', 'interface', 'in', 'of', 'as' + 'default', + 'function', + 'class', + 'new', + 'return', + 'delete', + 'enum', + 'package', + 'private', + 'protected', + 'public', + 'static', + 'interface', + 'in', + 'of', + 'as', ]); return reserved.has(name) ? `_${name}` : name; } @@ -156,9 +167,19 @@ function formatParams(params: Parameter[]): string { // Primitive types we're safe to collapse into an options-object overload. If any // param uses a richer type (resource/handle/enum) we keep the positional form. const PRIMITIVE_TYPES = new Set([ - 'string', 'number', 'boolean', 'bigint', 'symbol', 'unknown', 'any', - 'string[]', 'number[]', 'boolean[]', - 'Array', 'Array', 'Array', + 'string', + 'number', + 'boolean', + 'bigint', + 'symbol', + 'unknown', + 'any', + 'string[]', + 'number[]', + 'boolean[]', + 'Array', + 'Array', + 'Array', ]); function isPrimitiveParamType(t: string): boolean { @@ -193,6 +214,14 @@ const PARAM_TYPE_OVERRIDES: Record> = { name: 'string | ParameterResource', resourceGroup: 'string | ParameterResource', }, + // Current Aspire TS SDKs accept connection-string resources as wait + // dependencies; the 13.3 ts-modules snapshot still reports IResource only. + waitFor: { + dependency: 'IResource | IResourceWithConnectionString', + }, + waitForStart: { + dependency: 'IResource | IResourceWithConnectionString', + }, }; // Global "broaden this type wherever it appears as a parameter" rules. The @@ -330,6 +359,91 @@ const genericArity = new Map(); const FREE_FUNCTION_NAMES = new Set(['createBuilder', 'createBuilderWithOptions']); +// Confirmed Aspire 13.4 API surface that may be absent from the checked-in +// 13.3 ts-modules snapshot until package data is refreshed. Keep these shims +// narrow and remove them when update-ts-api brings the APIs into +// src/data/ts-modules. +const POST_SNAPSHOT_FREE_FUNCTIONS = [ + `/** + * Creates a reference expression from a tagged template literal + */ +export declare function refExpr(strings: TemplateStringsArray, ...values: unknown[]): ReferenceExpression;`, +]; + +const POST_SNAPSHOT_DECLARATIONS = [ + `/** + * Enum Aspire.Hosting.ApplicationModel.InputType + */ +export type InputType = "Text" | "Number" | "Choice" | "SecretText"; +export declare const InputType: { + readonly Text: "Text"; + readonly Number: "Number"; + readonly Choice: "Choice"; + readonly SecretText: "SecretText"; +};`, + `export interface ParameterCustomInputOptions { + inputType?: InputType; + label?: string; + placeholder?: string; + options?: Record; +}`, + `export interface BeforePublishEvent extends IDistributedApplicationEvent { + model: PropertyAccessor; + services: PropertyAccessor; +}`, + `export interface AfterPublishEvent extends IDistributedApplicationEvent { + model: PropertyAccessor; + services: PropertyAccessor; +}`, +]; + +const POST_SNAPSHOT_AUGMENTATIONS = [ + `export interface IDistributedApplicationBuilder { + /** + * Subscribes to the BeforePublish event + */ + subscribeBeforePublish(callback: (arg: BeforePublishEvent) => Promise): DistributedApplicationEventSubscription; + /** + * Subscribes to the AfterPublish event + */ + subscribeAfterPublish(callback: (arg: AfterPublishEvent) => Promise): DistributedApplicationEventSubscription; +}`, + `export interface EventingSubscriberRegistrationContext { + /** + * Subscribes an eventing subscriber to the BeforePublish event + */ + onBeforePublish(callback: (arg: BeforePublishEvent) => Promise): DistributedApplicationEventSubscription; + /** + * Subscribes an eventing subscriber to the AfterPublish event + */ + onAfterPublish(callback: (arg: AfterPublishEvent) => Promise): DistributedApplicationEventSubscription; +}`, + `export interface IResource { + /** + * Assigns Microsoft Foundry roles for this resource + */ + withFoundryRoleAssignments(target: FoundryResource, roles: FoundryRole[]): this; +}`, + `export interface ParameterResource { + /** + * Customizes the parameter input shown by the dashboard + */ + withCustomInput(options: ParameterCustomInputOptions): this; +}`, + `export interface ComposeFile { + /** + * Adds a top-level Docker Compose volume + */ + addVolume(name: string, options?: { driver?: string; configure?: (volume: Volume) => Promise }): Promise; +}`, + `export interface Service { + /** + * Adds a Docker Compose volume mount to a service + */ + addVolume(source: string, target: string, options?: { isReadOnly?: boolean }): Promise; +}`, +]; + // Built-in generic container types the ATS tool emits as pseudo-targets — these // aren't useful in user-facing docs samples (Dict is already modeled as Record, // List as Array), so we skip them when assigning methods to target interfaces. @@ -388,9 +502,8 @@ for (const mod of modules) { function visitFn(fn: FunctionEntry): void { extractTypeIdentifiers(cleanType(fn.returnType), referencedTypes); for (const p of fn.parameters) { - const t = p.isCallback && p.callbackSignature - ? cleanType(p.callbackSignature) - : cleanType(p.type); + const t = + p.isCallback && p.callbackSignature ? cleanType(p.callbackSignature) : cleanType(p.type); extractTypeIdentifiers(t, referencedTypes); // track generic arity: look for Name<...> and count top-level commas const match = t.match(/([A-Za-z_][A-Za-z0-9_]*)<([^<>]*(?:<[^<>]*>[^<>]*)*)>/g); @@ -448,13 +561,40 @@ for (const fn of freeFunctions) scanExprForGenerics(cleanType(fn.returnType)); // ---------- emit ---------- const BUILT_IN = new Set([ - 'string', 'number', 'boolean', 'any', 'unknown', 'void', 'never', 'null', 'undefined', - 'object', 'true', 'false', 'this', 'symbol', 'bigint', + 'string', + 'number', + 'boolean', + 'any', + 'unknown', + 'void', + 'never', + 'null', + 'undefined', + 'object', + 'true', + 'false', + 'this', + 'symbol', + 'bigint', // JS globals we pass through - 'Promise', 'Array', 'Map', 'Set', 'Date', 'Error', 'RegExp', 'Record', 'Partial', - 'Readonly', 'Required', 'Pick', 'Omit', 'Exclude', 'Extract', + 'Promise', + 'Array', + 'Map', + 'Set', + 'Date', + 'Error', + 'RegExp', + 'Record', + 'Partial', + 'Readonly', + 'Required', + 'Pick', + 'Omit', + 'Exclude', + 'Extract', // Our utility aliases / internal helpers declared at the top of the file - 'Dict', 'PropertyAccessor', + 'Dict', + 'PropertyAccessor', ]); const declaredTypes = new Set([ @@ -467,7 +607,7 @@ const declaredTypes = new Set([ const parts: string[] = []; parts.push(`// Auto-generated by scripts/generate-twoslash-types.ts — do not edit.`); parts.push(`// This file is consumed by expressive-code-twoslash to provide hover tooltips`); -parts.push(`// for TypeScript code samples in the docs that import './.modules/aspire.js'.`); +parts.push(`// for TypeScript code samples in the docs that import './.aspire/modules/aspire.mjs'.`); parts.push(``); parts.push(`declare global {`); parts.push(` type Dict = Record;`); @@ -481,7 +621,9 @@ parts.push(`// \`builder.executionContext.isRunMode\` — nested direct parts.push(`// Model as an intersection covering all three. For object T we include`); parts.push(`// T directly so nested-property access resolves; for primitives we only`); parts.push(`// need the callable + accessor surface (primitive intersections collapse).`); -parts.push(`export type PropertyAccessor = (T extends object ? T : unknown) & (() => Promise) & {`); +parts.push( + `export type PropertyAccessor = (T extends object ? T : unknown) & (() => Promise) & {` +); parts.push(` get(): Promise;`); parts.push(` set(value: T): Promise;`); parts.push(` // Dict-valued accessors are sometimes set entry-wise in docs`); @@ -490,6 +632,10 @@ parts.push(` set(key: string, value: unknown): Promise;`); parts.push(`};`); parts.push(``); parts.push(`// ---- enums ----`); +for (const declaration of POST_SNAPSHOT_DECLARATIONS) { + parts.push(declaration); + parts.push(''); +} for (const en of enumTypes) { parts.push(jsdoc([`Enum ${en.fullName}`])); const members = en.members.map((m) => JSON.stringify(m)).join(' | ') || 'string'; @@ -499,9 +645,7 @@ for (const en of enumTypes) { // upstream dump only gives us string-valued members, which matches how the // generated SDK surfaces .NET enums to TS. if (en.members.length > 0) { - const fields = en.members - .map((m) => ` readonly ${m}: ${JSON.stringify(m)};`) - .join('\n'); + const fields = en.members.map((m) => ` readonly ${m}: ${JSON.stringify(m)};`).join('\n'); parts.push(`export declare const ${en.name}: {\n${fields}\n};`); } parts.push(''); @@ -547,9 +691,7 @@ function isContainerBacked(h: HandleType): boolean { if (NON_CONTAINER_HANDLES.has(h.name)) return false; const pkg = handlePackage.get(h.name); if (pkg && NON_CONTAINER_PACKAGES.has(pkg)) return false; - const ifaces = new Set( - (h.implementedInterfaces ?? []).map((i) => lastDotted(i).split('<')[0]) - ); + const ifaces = new Set((h.implementedInterfaces ?? []).map((i) => lastDotted(i).split('<')[0])); return ( ifaces.has('IComputeResource') && ifaces.has('IResourceWithArgs') && @@ -581,8 +723,7 @@ for (const h of handleTypes) { } ancestor = classBaseByName.get(ancestor); } - const implementsClause = - uniqueParents.length > 0 ? ` extends ${uniqueParents.join(', ')}` : ''; + const implementsClause = uniqueParents.length > 0 ? ` extends ${uniqueParents.join(', ')}` : ''; for (const i of uniqueParents) referencedTypes.add(i); parts.push(jsdoc([`Handle ${h.fullName}`])); parts.push(`export interface ${h.name}${implementsClause} {`); @@ -658,8 +799,7 @@ function emitMember(fn: FunctionEntry, indent: string, out: string[]): void { // polymorphic `this` so the type flows through. Applies to any method // flagged `returnsBuilder` that isn't actually creating a new resource. const isFluentPrefix = /^(with|wait|on|publish)[A-Z0-9]/.test(memberName); - const ret = - fn.returnsBuilder && isFluentPrefix ? 'this' : declaredRet; + const ret = fn.returnsBuilder && isFluentPrefix ? 'this' : declaredRet; const effectiveParams = applyParamOverrides(memberName, fn.parameters); // Record referenced types from overridden param types too, so the stubber sees them. for (const p of effectiveParams) extractTypeIdentifiers(paramType(p), referencedTypes); @@ -704,6 +844,16 @@ for (const fn of freeFunctions) { parts.push(`export declare function ${fn.name}(${formatParams(effectiveParams)}): ${ret};`); parts.push(''); } +for (const declaration of POST_SNAPSHOT_FREE_FUNCTIONS) { + parts.push(declaration); + parts.push(''); +} + +parts.push(`// ---- confirmed post-snapshot API augmentations ----`); +for (const declaration of POST_SNAPSHOT_AUGMENTATIONS) { + parts.push(declaration); + parts.push(''); +} // ---- stubs for referenced-but-undeclared types ---- const missing: string[] = []; @@ -727,7 +877,9 @@ for (const name of missing) { const extendsClause = /^IResourceWith/.test(name) && name !== 'IResource' ? ' extends IResource' : ''; if (arity > 0) { - const generics = Array.from({ length: arity }, (_, i) => `T${i === 0 ? '' : i} = unknown`).join(', '); + const generics = Array.from({ length: arity }, (_, i) => `T${i === 0 ? '' : i} = unknown`).join( + ', ' + ); parts.push(`export interface ${name}<${generics}>${extendsClause} {}`); } else { parts.push(`export interface ${name}${extendsClause} {}`); @@ -740,6 +892,10 @@ parts.push(`export {};`); mkdirSync(OUTPUT_DIR, { recursive: true }); writeFileSync(OUTPUT_FILE, parts.join('\n'), 'utf8'); console.log(`✅ Wrote ${OUTPUT_FILE}`); -console.log(` - ${dtoTypes.length} DTOs, ${enumTypes.length} enums, ${handleTypes.length} handle types`); -console.log(` - ${methodsByTarget.size} target interfaces, ${freeFunctions.length} free functions`); +console.log( + ` - ${dtoTypes.length} DTOs, ${enumTypes.length} enums, ${handleTypes.length} handle types` +); +console.log( + ` - ${methodsByTarget.size} target interfaces, ${freeFunctions.length} free functions` +); console.log(` - ${missing.length} stub interfaces for referenced SDK types`); diff --git a/src/frontend/scripts/update-integrations.ts b/src/frontend/scripts/update-integrations.ts index 193046c8a..14963e432 100644 --- a/src/frontend/scripts/update-integrations.ts +++ b/src/frontend/scripts/update-integrations.ts @@ -22,6 +22,7 @@ const EXCLUDED_PACKAGES = [ 'Aspire.RabbitMQ.Client.v7', 'CommunityToolkit.Aspire.Hosting.Azure.StaticWebApps', 'CommunityToolkit.Aspire.Hosting.EventStore', + 'CommunityToolkit.Aspire.Hosting.Golang', 'CommunityToolkit.Aspire.EventStore', ]; const OUTPUT_PATH = './src/data/aspire-integrations.json'; diff --git a/src/frontend/src/components/AppHostBuilder.astro b/src/frontend/src/components/AppHostBuilder.astro index 1f5a00098..404a17370 100644 --- a/src/frontend/src/components/AppHostBuilder.astro +++ b/src/frontend/src/components/AppHostBuilder.astro @@ -445,7 +445,7 @@ builder.Build().Run();`, // Define all possible code combinations — TypeScript const tsCodes: Record = { - empty: `import { createBuilder } from './.modules/aspire.js'; + empty: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -455,7 +455,7 @@ const builder = await createBuilder(); await builder.build().run();`, - frontend: `import { createBuilder } from './.modules/aspire.js'; + frontend: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -466,7 +466,7 @@ const frontend = await builder await builder.build().run();`, - frontendContainer: `import { createBuilder } from './.modules/aspire.js'; + frontendContainer: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -482,7 +482,7 @@ const customContainer = await builder await builder.build().run();`, - databaseFrontend: `import { createBuilder } from './.modules/aspire.js'; + databaseFrontend: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -498,7 +498,7 @@ const frontend = await builder await builder.build().run();`, - databaseFrontendContainer: `import { createBuilder } from './.modules/aspire.js'; + databaseFrontendContainer: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -519,7 +519,7 @@ const customContainer = await builder await builder.build().run();`, - apiFrontend: `import { createBuilder } from './.modules/aspire.js'; + apiFrontend: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -536,7 +536,7 @@ const frontend = await builder await builder.build().run();`, - apiFrontendContainer: `import { createBuilder } from './.modules/aspire.js'; + apiFrontendContainer: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -558,7 +558,7 @@ const customContainer = await builder await builder.build().run();`, - databaseApiFrontend: `import { createBuilder } from './.modules/aspire.js'; + databaseApiFrontend: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -581,7 +581,7 @@ const frontend = await builder await builder.build().run();`, - databaseApiFrontendContainer: `import { createBuilder } from './.modules/aspire.js'; + databaseApiFrontendContainer: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -609,7 +609,7 @@ const customContainer = await builder await builder.build().run();`, - database: `import { createBuilder } from './.modules/aspire.js'; + database: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -620,7 +620,7 @@ const postgres = await builder await builder.build().run();`, - databaseContainer: `import { createBuilder } from './.modules/aspire.js'; + databaseContainer: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -636,7 +636,7 @@ const customContainer = await builder await builder.build().run();`, - api: `import { createBuilder } from './.modules/aspire.js'; + api: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -647,7 +647,7 @@ const api = await builder await builder.build().run();`, - apiContainer: `import { createBuilder } from './.modules/aspire.js'; + apiContainer: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -663,7 +663,7 @@ const customContainer = await builder await builder.build().run();`, - databaseApi: `import { createBuilder } from './.modules/aspire.js'; + databaseApi: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -680,7 +680,7 @@ const api = await builder await builder.build().run();`, - databaseApiContainer: `import { createBuilder } from './.modules/aspire.js'; + databaseApiContainer: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -702,7 +702,7 @@ const customContainer = await builder await builder.build().run();`, - container: `import { createBuilder } from './.modules/aspire.js'; + container: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -713,7 +713,7 @@ const customContainer = await builder await builder.build().run();`, - frontendDeployment: `import { createBuilder } from './.modules/aspire.js'; + frontendDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -726,7 +726,7 @@ const frontend = await builder await builder.build().run();`, - frontendContainerDeployment: `import { createBuilder } from './.modules/aspire.js'; + frontendContainerDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -745,7 +745,7 @@ const customContainer = await builder await builder.build().run();`, - databaseFrontendDeployment: `import { createBuilder } from './.modules/aspire.js'; + databaseFrontendDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -765,7 +765,7 @@ const frontend = await builder await builder.build().run();`, - databaseFrontendContainerDeployment: `import { createBuilder } from './.modules/aspire.js'; + databaseFrontendContainerDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -791,7 +791,7 @@ const customContainer = await builder await builder.build().run();`, - apiFrontendDeployment: `import { createBuilder } from './.modules/aspire.js'; + apiFrontendDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -811,7 +811,7 @@ const frontend = await builder await builder.build().run();`, - apiFrontendContainerDeployment: `import { createBuilder } from './.modules/aspire.js'; + apiFrontendContainerDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -837,7 +837,7 @@ const customContainer = await builder await builder.build().run();`, - databaseApiFrontendDeployment: `import { createBuilder } from './.modules/aspire.js'; + databaseApiFrontendDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -866,7 +866,7 @@ const frontend = await builder await builder.build().run();`, - databaseApiFrontendContainerDeployment: `import { createBuilder } from './.modules/aspire.js'; + databaseApiFrontendContainerDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -901,7 +901,7 @@ const customContainer = await builder await builder.build().run();`, - databaseDeployment: `import { createBuilder } from './.modules/aspire.js'; + databaseDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -914,7 +914,7 @@ const postgres = await builder await builder.build().run();`, - databaseContainerDeployment: `import { createBuilder } from './.modules/aspire.js'; + databaseContainerDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -933,7 +933,7 @@ const customContainer = await builder await builder.build().run();`, - apiDeployment: `import { createBuilder } from './.modules/aspire.js'; + apiDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -945,7 +945,7 @@ const api = await builder await builder.build().run();`, - apiContainerDeployment: `import { createBuilder } from './.modules/aspire.js'; + apiContainerDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -963,7 +963,7 @@ const customContainer = await builder await builder.build().run();`, - databaseApiDeployment: `import { createBuilder } from './.modules/aspire.js'; + databaseApiDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -984,7 +984,7 @@ const api = await builder await builder.build().run();`, - databaseApiContainerDeployment: `import { createBuilder } from './.modules/aspire.js'; + databaseApiContainerDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -1011,7 +1011,7 @@ const customContainer = await builder await builder.build().run();`, - containerDeployment: `import { createBuilder } from './.modules/aspire.js'; + containerDeployment: `import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -1215,7 +1215,7 @@ await builder.build().run();`, data-variant={key} style={key === 'frontend' ? '' : 'display: none;'} > - + )) } diff --git a/src/frontend/src/components/SimpleAppHostCode.shared.ts b/src/frontend/src/components/SimpleAppHostCode.shared.ts index fac55e695..e50a97b20 100644 --- a/src/frontend/src/components/SimpleAppHostCode.shared.ts +++ b/src/frontend/src/components/SimpleAppHostCode.shared.ts @@ -184,7 +184,7 @@ builder.Build().Run(); `; const csharpTypeScript = ` -import { createBuilder } from './.modules/aspire.js'; +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -207,7 +207,7 @@ await builder.build().run(); `; const pythonTypeScript = ` -import { createBuilder } from './.modules/aspire.js'; +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -231,7 +231,7 @@ await builder.build().run(); `; const nodejsTypeScript = ` -import { createBuilder } from './.modules/aspire.js'; +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); diff --git a/src/frontend/src/content.config.ts b/src/frontend/src/content.config.ts index 9bd2819f9..34c8b58bb 100644 --- a/src/frontend/src/content.config.ts +++ b/src/frontend/src/content.config.ts @@ -31,6 +31,18 @@ export const collections = { * site-wide `og-image.png` is used in social cards instead. */ og: z.boolean().optional(), + /** + * SEO-only title override. Used **verbatim** as the page's + * `og:title` and `twitter:title` (no `· Aspire` suffix is + * appended) so authors can tune the social-card title to the + * 50–60 character optimal range without bloating the visible + * `

` or sidebar label. Falls back to `title` when unset. + * + * Prefer rewriting the visible `title` when the natural H1 can + * accommodate the longer string. Use `seoTitle` only when the + * sidebar/H1 must stay short (commands, terse labels, etc.). + */ + seoTitle: z.string().optional(), /** * The date the release was published to NuGet. Used on What's New * pages to display the release date near the top of the page. diff --git a/src/frontend/src/content/docs/app-host/certificate-configuration.mdx b/src/frontend/src/content/docs/app-host/certificate-configuration.mdx index 57385d665..85ecdd4ec 100644 --- a/src/frontend/src/content/docs/app-host/certificate-configuration.mdx +++ b/src/frontend/src/content/docs/app-host/certificate-configuration.mdx @@ -1,6 +1,7 @@ --- title: Certificate configuration -description: Learn how to configure HTTPS endpoints and certificate trust for resources in Aspire to enable secure communication. +seoTitle: Aspire HTTPS certificate configuration for AppHost +description: Configure HTTPS endpoints and certificate trust for Aspire resources to enable secure local development, container-to-container TLS, and trusted browser connections. --- import { Aside, Tabs, TabItem } from '@astrojs/starlight/components'; @@ -72,11 +73,13 @@ aspire certs trust You may need to reload your profile or start a new terminal session for the change to take effect. -### Developer certificate for DCP communication (Windows) +### Developer certificate for DCP communication -By default, Aspire's internal Developer Control Plane (DCP) server uses an ephemeral localhost certificate it generates itself for TLS. On Windows, you can opt in to using your trusted Aspire developer certificate for DCP communication instead, which avoids trust issues caused by the ephemeral certificate not being in the system trust store. +By default, Aspire uses the ASP.NET Core developer certificate to secure communication with its internal Developer Control Plane (DCP) server. This replaces the ephemeral localhost certificate that DCP would otherwise generate itself, and avoids certificate trust errors caused by that certificate not being in the system trust store. -Set the `ASPIRE_DCP_USE_DEVELOPER_CERTIFICATE` environment variable to `true` in your AppHost's `launchSettings.json` or as a system/user environment variable: +If no trusted developer certificate is found, Aspire automatically falls back to DCP's ephemeral certificate. + +To opt out and use DCP's default ephemeral certificate instead, set `ASPIRE_DCP_USE_DEVELOPER_CERTIFICATE` to `false` in your AppHost's `launchSettings.json` or as an environment variable: ```json title="Properties/launchSettings.json" { @@ -84,23 +87,17 @@ Set the `ASPIRE_DCP_USE_DEVELOPER_CERTIFICATE` environment variable to `true` in "https": { "commandName": "Project", "environmentVariables": { - "ASPIRE_DCP_USE_DEVELOPER_CERTIFICATE": "true" + "ASPIRE_DCP_USE_DEVELOPER_CERTIFICATE": "false" } } } } ``` -When this setting is enabled: - -- Aspire checks for a trusted developer certificate. -- If a trusted certificate is found, it is used to secure the DCP server. -- If no trusted certificate is found, Aspire falls back to the DCP-generated ephemeral certificate. -- This setting is only supported on Windows. On other platforms, a warning is logged and DCP falls back to its default ephemeral certificate. - ## HTTPS endpoint configuration @@ -135,8 +132,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -217,8 +214,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -333,8 +330,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -416,8 +413,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder, CertificateTrustScope } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder, CertificateTrustScope } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -473,8 +470,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder, CertificateTrustScope } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder, CertificateTrustScope } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -504,8 +501,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder, CertificateTrustScope } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder, CertificateTrustScope } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -621,8 +618,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -687,8 +684,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -723,8 +720,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder, CertificateTrustScope } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder, CertificateTrustScope } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); diff --git a/src/frontend/src/content/docs/app-host/configuration.mdx b/src/frontend/src/content/docs/app-host/configuration.mdx index 4d665aef4..c66c3dc32 100644 --- a/src/frontend/src/content/docs/app-host/configuration.mdx +++ b/src/frontend/src/content/docs/app-host/configuration.mdx @@ -1,6 +1,7 @@ --- title: AppHost configuration -description: Learn about the Aspire AppHost configuration options. +seoTitle: Aspire AppHost configuration reference and overview +description: Configure the Aspire AppHost — environment variables, launch profiles, network ports, container runtime selection, and the options that change orchestration behavior. --- import { Aside, Steps, Tabs, TabItem } from '@astrojs/starlight/components'; @@ -51,7 +52,7 @@ In TypeScript AppHosts, profiles live in `aspire.config.json`: ```json title="aspire.config.json" { "appHost": { - "path": "apphost.ts", + "path": "apphost.mts", "language": "typescript/nodejs" }, "profiles": { @@ -79,7 +80,7 @@ In TypeScript AppHosts, profiles live in `aspire.config.json`: | ---------------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `ASPIRE_ALLOW_UNSECURED_TRANSPORT` | `false` | Allows communication with the AppHost without https. `ASPNETCORE_URLS` (dashboard address) and `ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL` (AppHost resource service address) must be secured with HTTPS unless true. | | `ASPIRE_CONTAINER_RUNTIME` | `docker` | Allows the user of alternative container runtimes for resources backed by containers. Possible values are `docker` (default) or `podman`. | -| `ASPIRE_DCP_USE_DEVELOPER_CERTIFICATE` | `false` | When set to `true`, Aspire uses its trusted developer certificate to secure the internal DCP server instead of an ephemeral certificate generated by DCP. This can help avoid certificate trust issues when the dev cert is already trusted. If no trusted developer certificate is found, Aspire falls back to the DCP-generated ephemeral certificate. Only supported on Windows. For more information, see [Certificate configuration](/app-host/certificate-configuration/). | +| `ASPIRE_DCP_USE_DEVELOPER_CERTIFICATE` | `true` | When `true` (the default), Aspire uses the ASP.NET Core developer certificate to secure the internal DCP server instead of an ephemeral certificate generated by DCP. On Windows, Aspire passes the certificate thumbprint to DCP. On macOS and Linux, Aspire passes the certificate and private key file paths (plus the thumbprint) so DCP can verify the loaded certificate. Set to `false` to opt out and use DCP's default ephemeral certificate. If no trusted developer certificate is found, Aspire automatically falls back to the ephemeral certificate. For more information, see [Certificate configuration](/app-host/certificate-configuration/). | | `ASPIRE_ENVIRONMENT` | `null` | Configures the AppHost environment when no higher-priority environment source is set. If no environment is configured, the AppHost uses `Production`. | | `ASPIRE_VERSION_CHECK_DISABLED` | `false` | When set to `true`, Aspire doesn't check for newer versions on startup. | diff --git a/src/frontend/src/content/docs/app-host/container-files.mdx b/src/frontend/src/content/docs/app-host/container-files.mdx index ea2186027..8d841a49d 100644 --- a/src/frontend/src/content/docs/app-host/container-files.mdx +++ b/src/frontend/src/content/docs/app-host/container-files.mdx @@ -1,6 +1,7 @@ --- title: Container files -description: Learn how to inject files and directories into containers at development time and publish time using the container file APIs in Aspire. +seoTitle: Inject container files in your Aspire AppHost project +description: Inject files and directories into Aspire container resources at development and publish time using WithContainerFiles, with options for source paths and permissions. --- import { Aside, Tabs, TabItem } from '@astrojs/starlight/components'; @@ -346,8 +347,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -385,8 +386,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); diff --git a/src/frontend/src/content/docs/app-host/container-registry.mdx b/src/frontend/src/content/docs/app-host/container-registry.mdx index f93eefb79..3a8efc658 100644 --- a/src/frontend/src/content/docs/app-host/container-registry.mdx +++ b/src/frontend/src/content/docs/app-host/container-registry.mdx @@ -1,6 +1,7 @@ --- title: Container registry configuration -description: Learn how to configure container registries for your Aspire applications, including generic registries and Azure Container Registry. +seoTitle: Configure container registries for your Aspire AppHost +description: Configure container registries for Aspire — generic registries, Docker Hub, Azure Container Registry, GitHub Container Registry, and per-resource image tagging. --- import { Aside, Steps, Tabs, TabItem } from '@astrojs/starlight/components'; @@ -45,8 +46,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -84,8 +85,8 @@ var api = builder.AddProject("api") ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -113,8 +114,8 @@ var api = builder.AddProject("api") ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -144,8 +145,8 @@ var api = builder.AddProject("api") ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -185,8 +186,8 @@ var api = builder.AddProject("api") ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -270,8 +271,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -323,8 +324,8 @@ var api = builder.AddProject("api") ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -426,8 +427,8 @@ var internalApi = builder.AddProject("internal-api") ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -472,8 +473,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -543,8 +544,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); diff --git a/src/frontend/src/content/docs/app-host/docker-compose-to-apphost-reference.mdx b/src/frontend/src/content/docs/app-host/docker-compose-to-apphost-reference.mdx index 999e63780..fa440161d 100644 --- a/src/frontend/src/content/docs/app-host/docker-compose-to-apphost-reference.mdx +++ b/src/frontend/src/content/docs/app-host/docker-compose-to-apphost-reference.mdx @@ -1,6 +1,6 @@ --- -title: Docker Compose to Aspire AppHost -description: Quick reference for converting Docker Compose YAML syntax to Aspire AppHost API calls. +title: Docker Compose to Aspire AppHost reference +description: Quick reference for converting Docker Compose YAML syntax to Aspire AppHost API calls — services, networks, volumes, environment variables, and health checks. --- import LearnMore from '@components/LearnMore.astro'; diff --git a/src/frontend/src/content/docs/app-host/eventing.mdx b/src/frontend/src/content/docs/app-host/eventing.mdx index deaae65d9..7afd6e2c8 100644 --- a/src/frontend/src/content/docs/app-host/eventing.mdx +++ b/src/frontend/src/content/docs/app-host/eventing.mdx @@ -1,6 +1,7 @@ --- title: AppHost eventing APIs -description: Learn how to use the Aspire AppHost eventing features for lifecycle events, custom event publishing, and event-driven resource orchestration. +seoTitle: AppHost eventing APIs in your Aspire AppHost project +description: Use the Aspire AppHost eventing APIs for lifecycle events, custom event publishing, and reactive integrations that respond to resource state transitions at runtime. --- import { Aside, Steps, Tabs, TabItem } from '@astrojs/starlight/components'; @@ -16,7 +17,7 @@ The following events are available in the AppHost and occur in the following ord 1. `BeforeStartEvent`: This event is raised before the AppHost starts. 1. `ResourceEndpointsAllocatedEvent`: This event is raised per resource after its endpoints are allocated. -1. `AfterResourcesCreatedEvent`: This event is raised after the AppHost created resources. +1. `AfterResourcesCreatedEvent`: This event is raised after resources are created. @@ -24,8 +25,9 @@ The following events are available in the AppHost and occur in the following ord To subscribe to built-in AppHost events, use the convenience extension methods directly on the builder. These methods return the same `IDistributedApplicationBuilder` instance so calls can be chained: - - + + + ```csharp title="AppHost.cs" using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -39,16 +41,46 @@ builder.OnBeforeStart(static (@event, cancellationToken) => return Task.CompletedTask; }); +builder.OnAfterResourcesCreated(static (@event, cancellationToken) => +{ + var logger = @event.Services.GetRequiredService>(); + logger.LogInformation("AfterResourcesCreatedEvent"); + return Task.CompletedTask; +}); + builder.Build().Run(); ``` + + + +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; + +const builder = await createBuilder(); + +await builder.subscribeBeforeStart(async () => { + console.log('BeforeStartEvent'); +}); + +await builder.subscribeAfterResourcesCreated(async () => { + console.log('AfterResourcesCreatedEvent'); +}); + +await builder.build().run(); +``` + + + + The following builder-level extension methods are available for AppHost events: -| Method | Event | -|--------|-------| -| `OnBeforeStart` | `BeforeStartEvent` — raised before the AppHost starts | -| `OnBeforePublish` | `BeforePublishEvent` — raised before manifest publishing begins | -| `OnAfterPublish` | `AfterPublishEvent` — raised after manifest publishing completes | +| Method | Event | +| ------------------------- | ----------------------------------------------------------------- | +| `OnBeforeStart` | `BeforeStartEvent` — raised before the AppHost starts | +| `OnAfterResourcesCreated` | `AfterResourcesCreatedEvent` — raised after resources are created | +| `OnBeforePublish` | `BeforePublishEvent` — raised before manifest publishing begins | +| `OnAfterPublish` | `AfterPublishEvent` — raised after manifest publishing completes | If you need to subscribe via `IDistributedApplicationEventing` directly (for example, inside an `IDistributedApplicationEventingSubscriber`), you can use the lower-level `Eventing.Subscribe()` API: @@ -67,61 +99,39 @@ builder.Eventing.Subscribe( var logger = @event.Services.GetRequiredService>(); logger.LogInformation("AfterResourcesCreatedEvent"); return Task.CompletedTask; - -builder.Build().Run(); + }); ``` - - -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; - -const builder = await createBuilder(); -const cache = await builder.addRedis("cache"); - -await builder.subscribeBeforeStart(async (event) => { - console.log("BeforeStartEvent"); -}); - -await builder.subscribeAfterResourcesCreated(async (event) => { - console.log("AfterResourcesCreatedEvent"); -}); - -await builder.build().run(); -``` - - + When the AppHost is run, by the time the Aspire dashboard is displayed, you should see the following log output in the console: -```plaintext {2,10,12,14,16,22} data-disable-copy +```plaintext {2,12} data-disable-copy info: Program[0] - 1. BeforeStartEvent + BeforeStartEvent info: Aspire.Hosting.DistributedApplication[0] Aspire version: 13.1.0 info: Aspire.Hosting.DistributedApplication[0] Distributed application starting. info: Aspire.Hosting.DistributedApplication[0] Application host directory is: ../AspireApp/AspireApp.AppHost -info: Program[0] - 2. "cache" ResourceEndpointsAllocatedEvent -info: Program[0] - 2. "apiservice" ResourceEndpointsAllocatedEvent -info: Program[0] - 2. "webfrontend" ResourceEndpointsAllocatedEvent -info: Program[0] - 2. "aspire-dashboard" ResourceEndpointsAllocatedEvent info: Aspire.Hosting.DistributedApplication[0] Now listening on: https://localhost:17178 info: Aspire.Hosting.DistributedApplication[0] Login to the dashboard at https://localhost:17178/login?t= info: Program[0] - 3. AfterResourcesCreatedEvent + AfterResourcesCreatedEvent info: Aspire.Hosting.DistributedApplication[0] Distributed application started. Press Ctrl+C to shut down. ``` -The log output confirms that event handlers are executed in the order of the AppHost life cycle events. The subscription order doesn't affect execution order. The `BeforeStartEvent` is triggered first, followed by each resource's `ResourceEndpointsAllocatedEvent`, and finally `AfterResourcesCreatedEvent`. +The log output confirms that event handlers are executed in the order of the AppHost life cycle events. The subscription order doesn't affect execution order. The `BeforeStartEvent` is triggered before the AppHost starts, and `AfterResourcesCreatedEvent` is triggered after resources are created. ## Resource eventing @@ -139,7 +149,10 @@ In addition to the AppHost events, you can also subscribe to resource events. Re ### Subscribe to resource events -To subscribe to resource events, use the convenience-based extension methods—`On*`. After you have a distributed application builder instance, and a resource builder, walk up to the instance and chain a call to the desired `On*` event API. Consider the following sample _AppHost.cs_ file: +To subscribe to resource events, use the convenience-based extension methods. After you have a distributed application builder instance, and a resource builder, walk up to the instance and chain a call to the desired event API: + + + ```csharp title="AppHost.cs" using Microsoft.Extensions.DependencyInjection; @@ -206,13 +219,58 @@ builder.AddProject("webfrontend") builder.Build().Run(); ``` -The preceding code subscribes to the `InitializeResourceEvent`, `ResourceReadyEvent`, `ResourceEndpointsAllocatedEvent`, `ConnectionStringAvailableEvent`, and `BeforeResourceStartedEvent` events on the `cache` resource. When `AddRedis` is called, it returns an `IResourceBuilder` where `T` is a `RedisResource`. Chain calls to the `On*` methods to subscribe to the events. The `On*` methods return the same `IResourceBuilder` instance, so you can chain multiple calls: + + -- `OnInitializeResource`: Subscribes to the `InitializeResourceEvent`. -- `OnResourceEndpointsAllocated`: Subscribes to the `ResourceEndpointsAllocatedEvent` event. -- `OnConnectionStringAvailable`: Subscribes to the `ConnectionStringAvailableEvent` event. -- `OnBeforeResourceStarted`: Subscribes to the `BeforeResourceStartedEvent` event. -- `OnResourceReady`: Subscribes to the `ResourceReadyEvent` event. +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; + +const builder = await createBuilder(); + +const cache = await builder.addRedis('cache'); + +await cache.onInitializeResource(async () => { + console.log('1. onInitializeResource'); +}); + +await cache.onResourceEndpointsAllocated(async (event) => { + const resource = await event.resource(); + console.log(`2. endpoints allocated for ${resource.getResourceName()}`); +}); + +await cache.onConnectionStringAvailable(async (event) => { + const resource = await event.resource(); + console.log( + `3. connection string available for ${resource.getResourceName()}` + ); +}); + +await cache.onBeforeResourceStarted(async () => { + console.log('4. onBeforeResourceStarted'); +}); + +await cache.onResourceReady(async () => { + console.log('5. onResourceReady'); +}); + +await builder.build().run(); +``` + + + + +The preceding code subscribes to the `InitializeResourceEvent`, `ResourceReadyEvent`, `ResourceEndpointsAllocatedEvent`, `ConnectionStringAvailableEvent`, and `BeforeResourceStartedEvent` events on the `cache` resource. Chain calls to the event methods to subscribe to multiple events on the same resource. + + + +- `OnInitializeResource` / `onInitializeResource`: Subscribes to the `InitializeResourceEvent`. +- `OnResourceEndpointsAllocated` / `onResourceEndpointsAllocated`: Subscribes to the `ResourceEndpointsAllocatedEvent` event. +- `OnConnectionStringAvailable` / `onConnectionStringAvailable`: Subscribes to the `ConnectionStringAvailableEvent` event. +- `OnBeforeResourceStarted` / `onBeforeResourceStarted`: Subscribes to the `BeforeResourceStartedEvent` event. +- `OnResourceReady` / `onResourceReady`: Subscribes to the `ResourceReadyEvent` event. When the AppHost is run, by the time the Aspire dashboard is displayed, you should see the following log output in the console: @@ -242,7 +300,11 @@ info: Aspire.Hosting.DistributedApplication[0] ``` ## Publish events @@ -312,6 +374,30 @@ internal sealed class LifecycleLoggerSubscriber(ILogger + C# eventing subscriber service classes are specific to the C# AppHost hosting + model. TypeScript AppHosts can register callback-based subscribers with + `addEventingSubscriber` or `tryAddEventingSubscriber`. + + +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; + +const builder = await createBuilder(); + +builder.addEventingSubscriber(async (events) => { + events.onBeforeStart(async () => { + console.log('1. BeforeStartEvent'); + }); + + events.onAfterResourcesCreated(async () => { + console.log('3. AfterResourcesCreatedEvent'); + }); +}); + +await builder.build().run(); +``` + The subscriber approach keeps builder code minimal while still letting you respond to the same lifecycle moments as inline subscriptions: - `AddEventingSubscriber()` (or `TryAddEventingSubscriber()`) ensures the subscriber participates whenever the AppHost starts. @@ -324,12 +410,12 @@ Use this pattern whenever you previously relied on `IDistributedApplicationLifec If you're migrating from the deprecated `IDistributedApplicationLifecycleHook` interface, use the following mapping: -| Old pattern (deprecated) | New pattern | -|--------------------------|-------------| -| `BeforeStartAsync()` | Subscribe to `BeforeStartEvent` | +| Old pattern (deprecated) | New pattern | +| -------------------------------- | ---------------------------------------------- | +| `BeforeStartAsync()` | Subscribe to `BeforeStartEvent` | | `AfterEndpointsAllocatedAsync()` | Subscribe to `ResourceEndpointsAllocatedEvent` | -| `AfterResourcesCreatedAsync()` | Subscribe to `AfterResourcesCreatedEvent` | -| `TryAddLifecycleHook()` | `TryAddEventingSubscriber()` | +| `AfterResourcesCreatedAsync()` | Subscribe to `AfterResourcesCreatedEvent` | +| `TryAddLifecycleHook()` | `TryAddEventingSubscriber()` | **Before (deprecated):** @@ -374,7 +460,9 @@ builder.Services.TryAddEventingSubscriber(); ``` ## Additional events @@ -385,10 +473,13 @@ Beyond the core lifecycle events, Aspire provides additional events for specific When publishing your application (generating deployment manifests), these events are raised: -| Event | When raised | Purpose | -|-------|-------------|---------| -| `BeforePublishEvent` | Before publishing begins | Validate or modify resources before manifest generation | -| `AfterPublishEvent` | After publishing completes | Perform cleanup or post-publish actions | +| Event | When raised | Purpose | +| -------------------- | -------------------------- | ------------------------------------------------------- | +| `BeforePublishEvent` | Before publishing begins | Validate or modify resources before manifest generation | +| `AfterPublishEvent` | After publishing completes | Perform cleanup or post-publish actions | + + + ```csharp title="AppHost.cs" builder.OnBeforePublish((@event, ct) => @@ -404,14 +495,40 @@ builder.OnAfterPublish((@event, ct) => }); ``` + + + +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; + +const builder = await createBuilder(); + +await builder.subscribeBeforePublish(async (event) => { + const model = await event.model(); + console.log(`Publishing ${model.getResources().length} resources`); +}); + +await builder.subscribeAfterPublish(async (event) => { + const services = await event.services(); + console.log('Publish completed', services); +}); +``` + + + + -For details on what happens during publishing, see [Publishing and deployment overview](/deployment/deploy-with-aspire/). + For details on what happens during publishing, see [Publishing and deployment + overview](/deployment/deploy-with-aspire/). ### Resource stopped event The `ResourceStoppedEvent` is raised when a resource stops execution: + + + ```csharp title="AppHost.cs" builder.Eventing.Subscribe( cache, @@ -422,8 +539,29 @@ builder.Eventing.Subscribe( }); ``` + + + +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; + +const builder = await createBuilder(); + +const cache = await builder.addRedis('cache'); + +await cache.onResourceStopped(async (event) => { + const resource = await event.resource(); + console.log(`Resource ${resource.getResourceName()} stopped`); +}); +``` + + + + ## See also diff --git a/src/frontend/src/content/docs/app-host/executable-resources.mdx b/src/frontend/src/content/docs/app-host/executable-resources.mdx index 036fec721..505629e87 100644 --- a/src/frontend/src/content/docs/app-host/executable-resources.mdx +++ b/src/frontend/src/content/docs/app-host/executable-resources.mdx @@ -1,6 +1,6 @@ --- title: Host external executables in Aspire -description: Learn how to host external executable applications in your Aspire AppHost using AddExecutable. +description: Host external executable applications in your Aspire AppHost using AddExecutable — model CLI tools, daemons, and language runtimes alongside containers and projects. --- import { Aside, Steps, Tabs, TabItem } from '@astrojs/starlight/components'; @@ -43,8 +43,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -78,8 +78,8 @@ var app = builder.AddExecutable( ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -107,8 +107,8 @@ var app = builder.AddExecutable("worker", "python", ".", "worker.py") ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -146,8 +146,8 @@ var app = builder.AddExecutable("app", "node", ".", "app.js") ``` -```typescript title="apphost.ts" twoslash -import { createBuilder, EndpointProperty } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder, EndpointProperty } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -187,8 +187,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -225,8 +225,8 @@ var e2eTests = builder.AddExecutable("playwright", "npx", ".", "playwright", "te ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -261,8 +261,8 @@ var app = builder.AddExecutable( ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -289,8 +289,8 @@ var app = builder.AddExecutable( ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -328,8 +328,8 @@ var app = builder.AddExecutable("frontend", "npm", ".", "start") ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); diff --git a/src/frontend/src/content/docs/app-host/hot-reload-and-watch.mdx b/src/frontend/src/content/docs/app-host/hot-reload-and-watch.mdx index cee1742e2..8b65e3886 100644 --- a/src/frontend/src/content/docs/app-host/hot-reload-and-watch.mdx +++ b/src/frontend/src/content/docs/app-host/hot-reload-and-watch.mdx @@ -1,6 +1,7 @@ --- title: Hot Reload and watch -description: Learn how hot reload works in Aspire. +seoTitle: Aspire AppHost hot reload and aspire watch overview +description: "Learn how hot reload works in Aspire and how `aspire watch` rebuilds and restarts resources automatically when project files change during development." --- import { Tabs, TabItem } from '@astrojs/starlight/components'; @@ -78,7 +79,7 @@ TypeScript AppHost watch doesn't automatically provide hot reload for every reso Use this workflow when changes affect: -- The AppHost model in `apphost.ts`. +- The AppHost model in `apphost.mts`. - Resource configuration, endpoints, parameters, or integration setup. - Multiple services that need to be restarted together under Aspire orchestration. diff --git a/src/frontend/src/content/docs/app-host/migrate-from-docker-compose.mdx b/src/frontend/src/content/docs/app-host/migrate-from-docker-compose.mdx index cb8b862ea..79f109372 100644 --- a/src/frontend/src/content/docs/app-host/migrate-from-docker-compose.mdx +++ b/src/frontend/src/content/docs/app-host/migrate-from-docker-compose.mdx @@ -1,6 +1,6 @@ --- title: Migrate from Docker Compose to Aspire -description: Learn how to migrate your Docker Compose applications to Aspire and understand the key conceptual differences. +description: Migrate your Docker Compose applications to Aspire — map services, volumes, networks, and environment variables to AppHost APIs and modernize your developer workflow. --- import { Aside, Steps, Tabs, TabItem } from '@astrojs/starlight/components'; @@ -124,8 +124,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -238,8 +238,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -329,8 +329,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -382,7 +382,7 @@ var app = builder.AddContainer("app", "myapp", "latest") ``` -```typescript title="apphost.ts" +```typescript title="apphost.mts" const dbPassword = builder.addParameter("dbPassword", { secret: true }); const db = (await builder.addPostgres("db", { password: dbPassword })) @@ -440,8 +440,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -578,7 +578,7 @@ var app = builder.AddContainer("app", "myapp", "latest") ``` -```typescript title="apphost.ts" +```typescript title="apphost.mts" const dbPassword = builder.addParameter("dbPassword", { secret: true }); const postgres = (await builder.addPostgres("db", { password: dbPassword })) @@ -607,7 +607,7 @@ var api = builder.AddProject("api") ``` -```typescript title="apphost.ts" +```typescript title="apphost.mts" const api = await builder.addProject("api", "./Api/Api.csproj", "https") .withReference(database) // Service discovery .waitFor(database); // Startup ordering @@ -635,7 +635,7 @@ var redis = builder.AddRedis("cache") ``` -```typescript title="apphost.ts" +```typescript title="apphost.mts" const redis = await builder.addRedis("cache") .withHostPort(6379); ``` @@ -656,7 +656,7 @@ var api = builder.AddProject("api") ``` -```typescript title="apphost.ts" +```typescript title="apphost.mts" const api = await builder.addProject("api", "./Api/Api.csproj", "https") .withHttpHealthCheck("/health"); ``` @@ -685,7 +685,7 @@ var app = builder.AddProject("app") ``` -```typescript title="apphost.ts" +```typescript title="apphost.mts" const rabbit = await builder.addContainer("rabbitmq", "rabbitmq", "4.1.4-management-alpine") .withHealthCheck("rabbitmq-health"); diff --git a/src/frontend/src/content/docs/app-host/persistent-containers.mdx b/src/frontend/src/content/docs/app-host/persistent-containers.mdx index ed4f97630..22a702ac4 100644 --- a/src/frontend/src/content/docs/app-host/persistent-containers.mdx +++ b/src/frontend/src/content/docs/app-host/persistent-containers.mdx @@ -1,6 +1,7 @@ --- title: Persistent container lifetimes -description: Learn how to configure containers to persist and be re-used between Aspire AppHost runs. +seoTitle: Persistent container lifetimes in your Aspire AppHost +description: Configure Aspire containers to persist and be re-used between AppHost runs so databases, caches, and message brokers keep their data and accelerate the inner loop. --- import { Aside, Tabs, TabItem } from '@astrojs/starlight/components'; @@ -38,8 +39,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder, ContainerLifetime } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder, ContainerLifetime } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -109,8 +110,8 @@ builder.Build().Run(); ``` -```typescript title="apphost.ts" twoslash -import { createBuilder, ContainerLifetime } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder, ContainerLifetime } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -176,7 +177,7 @@ var postgres = builder.AddPostgres("postgres") ``` -```typescript title="apphost.ts" +```typescript title="apphost.mts" const postgres = await builder.addPostgres("postgres") .withLifetime(ContainerLifetime.Persistent) .withDataVolume(); diff --git a/src/frontend/src/content/docs/app-host/typescript-apphost.mdx b/src/frontend/src/content/docs/app-host/typescript-apphost.mdx index 37009fc3b..dc936b3fa 100644 --- a/src/frontend/src/content/docs/app-host/typescript-apphost.mdx +++ b/src/frontend/src/content/docs/app-host/typescript-apphost.mdx @@ -1,24 +1,43 @@ --- title: TypeScript AppHost project structure -description: Learn about the files and configuration that make up a TypeScript AppHost project. +seoTitle: Aspire TypeScript AppHost project structure overview +description: Learn the files and configuration that make up a TypeScript AppHost project — entry point, package manifest, dependencies, and how the AppHost runs Aspire resources. --- import { Aside, FileTree, Steps, Tabs, TabItem } from '@astrojs/starlight/components'; import LearnMore from '@components/LearnMore.astro'; -When you create a TypeScript AppHost with `aspire new` or `aspire init --language typescript`, the CLI scaffolds a project with the following structure: +When you create a TypeScript AppHost with `aspire new`, the CLI scaffolds a project with the following structure: - my-apphost/ - - .modules/ Generated TypeScript SDK (do not edit) - - aspire.ts - - base.ts - - transport.ts - - apphost.ts Your AppHost entry point + - .aspire/modules/ Generated TypeScript SDK (do not edit) + - aspire.mts + - base.mts + - transport.mts + - apphost.mts Your AppHost entry point - aspire.config.json Aspire configuration - package.json - - tsconfig.json + - tsconfig.apphost.json + + + +When you run `aspire init --language typescript` in an existing JavaScript or TypeScript app that already has a root `package.json`, Aspire creates the AppHost in a nested `aspire-apphost/` package. The root `aspire.config.json` points to `aspire-apphost/apphost.mts`, and the root `package.json` gets Aspire delegate scripts so the existing app package keeps its own module and toolchain settings: + + + +- my-existing-app/ + - aspire-apphost/ + - .aspire/modules/ Generated TypeScript SDK (do not edit) + - aspire.mts + - base.mts + - transport.mts + - apphost.mts Your AppHost entry point + - package.json + - tsconfig.apphost.json + - aspire.config.json Aspire configuration + - package.json Existing app package with Aspire delegate scripts @@ -29,7 +48,7 @@ The `aspire.config.json` file is the central configuration for your AppHost. It ```json title="aspire.config.json" { "appHost": { - "path": "apphost.ts", + "path": "apphost.mts", "language": "typescript/nodejs" }, "packages": { @@ -51,20 +70,20 @@ The `aspire.config.json` file is the central configuration for your AppHost. It | Section | Description | |---------|-------------| -| `appHost.path` | Path to your AppHost entry point (`apphost.ts`) | +| `appHost.path` | Path to your AppHost entry point (`apphost.mts`) | | `appHost.language` | Language runtime (`typescript/nodejs`) | | `packages` | Hosting integration packages and their versions. Added automatically by `aspire add`. | | `profiles` | Launch profiles with dashboard URLs and environment variables | -### Adding integrations +### Add and restore integrations -When you run `aspire add`, the CLI adds the package to the `packages` section and regenerates the TypeScript SDK: +Use `aspire add` from the AppHost root to add hosting integrations. The CLI adds the package to the `packages` section, restores AppHost dependencies, and regenerates the TypeScript SDK in `.aspire/modules/`: ```bash title="Add an integration" aspire add redis ``` -This updates `aspire.config.json`: +This updates `aspire.config.json` so the package is restored the next time the AppHost runs: ```json title="aspire.config.json" ins={4} { @@ -75,6 +94,12 @@ This updates `aspire.config.json`: } ``` +Run `aspire restore` when you want to regenerate `.aspire/modules/` without starting the AppHost, such as after switching branches, updating package versions, or preparing a CI job: + +```bash title="Restore a TypeScript AppHost" +aspire restore +``` + ### Project references for local development You can reference a local hosting integration project by using a `.csproj` path instead of a version: @@ -91,15 +116,15 @@ You can reference a local hosting integration project by using a `.csproj` path See [Multi-language integrations](/extensibility/multi-language-integration-authoring/) for details on building hosting integrations that work with TypeScript AppHosts. -## .modules/ directory +## .aspire/modules/ directory -The `.modules/` directory contains the generated TypeScript SDK. It's created and updated automatically by the Aspire CLI — **do not edit these files**. +The `.aspire/modules/` directory under the AppHost root contains the generated TypeScript SDK. It's created and updated automatically by the Aspire CLI — **do not edit these files**. | File | Purpose | |------|---------| -| `aspire.ts` | Generated typed API for all your installed integrations | -| `base.ts` | Base types and handle infrastructure | -| `transport.ts` | JSON-RPC transport layer | +| `aspire.mts` | Generated typed API for all your installed integrations | +| `base.mts` | Base types and handle infrastructure | +| `transport.mts` | JSON-RPC transport layer | The SDK regenerates when: @@ -107,22 +132,22 @@ The SDK regenerates when: - You run `aspire run` or `aspire start` and the package list has changed - You run `aspire restore` to manually regenerate -Your `apphost.ts` imports from this SDK: +Your `apphost.mts` imports from this SDK: -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; ``` -## apphost.ts +## apphost.mts The entry point for your AppHost. This is where you define your application's resources and their relationships: -```typescript title="apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -136,23 +161,124 @@ const api = await builder await builder.build().run(); ``` +## Legacy `apphost.ts` projects (pre-13.4) + +TypeScript AppHosts scaffolded by Aspire CLI versions earlier than 13.4 use a slightly different layout: the entry point was `apphost.ts` (not `apphost.mts`), and the generated TypeScript SDK lives in `./.modules/` (not `./.aspire/modules/`): + + + +- my-apphost/ + - .modules/ Generated TypeScript SDK (do not edit) + - aspire.ts + - base.ts + - transport.ts + - apphost.ts Your AppHost entry point + - aspire.config.json Aspire configuration + - package.json + - tsconfig.apphost.json + + + +The pre-13.4 entry point imports the SDK with the `.js` extension: + +```typescript title="apphost.ts (pre-13.4)" +import { createBuilder } from './.modules/aspire.js'; +``` + +### Compatibility in 13.4 + +The 13.4 Aspire CLI keeps these projects working without any changes: + +- When the CLI sees an `apphost.ts` file with no `apphost.mts` alongside it — either because `aspire.config.json` sets `appHost.path` to `apphost.ts`, or because a disk scan finds `apphost.ts` and no `apphost.mts` — it switches to the legacy output layout for that project. +- Generated SDK files are written to `./.modules/` instead of `./.aspire/modules/`. +- Generated files are rewritten from `.mts`/`.mjs` to `.ts`/`.js`, including the inter-module import specifiers inside the SDK, so the existing `./.modules/aspire.js` import in your `apphost.ts` continues to resolve. + +`aspire add`, `aspire restore`, `aspire run`, and `aspire start` all continue to work against an existing `apphost.ts` project with no edits required. + + + +### Migrating to the new `apphost.mts` layout + +If you'd like to move an existing project to the new default layout, the migration is mechanical. The steps below assume an AppHost root with `apphost.ts`, `./.modules/`, and the legacy `appHost.path` value: + + + +1. **Rename the entry point file.** + + ```bash + git mv apphost.ts apphost.mts + ``` + +2. **Update the SDK import** in `apphost.mts` to use the new folder and the `.mjs` extension: + + ```typescript title="apphost.mts" del={1} ins={2} + import { createBuilder } from './.modules/aspire.js'; + import { createBuilder } from './.aspire/modules/aspire.mjs'; + ``` + +3. **Update `appHost.path`** in `aspire.config.json`: + + ```json title="aspire.config.json" del={3} ins={4} + { + "appHost": { + "path": "apphost.ts", + "path": "apphost.mts", + "language": "typescript/nodejs" + } + } + ``` + +4. **Update `tsconfig.apphost.json`** so its `include` (and any related glob) entries point at the new file and folder. Replace references to `apphost.ts` with `apphost.mts`, and references to `.modules/` with `.aspire/modules/`. For example: + + ```json title="tsconfig.apphost.json" del={4,5} ins={6,7} + { + "compilerOptions": { /* ... */ }, + "include": [ + "apphost.ts", + ".modules/**/*.ts", + "apphost.mts", + ".aspire/modules/**/*.mts" + ] + } + ``` + +5. **Delete the old generated SDK folder and regenerate.** The CLI now writes the SDK under `./.aspire/modules/`, so the old folder is no longer used: + + ```bash + rm -rf .modules + aspire restore + ``` + + If your `.gitignore` ignores `.modules/`, replace that entry with `.aspire/` (or `.aspire/modules/`) to match the new location. + + + +After migrating, `aspire run` behaves exactly the same as before — the CLI now uses the modern output path because `apphost.mts` is present. + ## Package managers -The Aspire CLI automatically detects which package manager your TypeScript AppHost uses by inspecting lock files and the `packageManager` field in `package.json`. The following package managers are supported: +The Aspire CLI supports the following package managers at the **AppHost root** — the directory that contains your `apphost.mts` and `aspire.config.json`. The CLI selects between them by inspecting package manager signals, including the `packageManager` field in `package.json`, lock files, and package manager configuration in the AppHost root. -| Package manager | Lock file detected | Notes | +| Package manager | Detection signals | Version expectation | |---|---|---| -| npm | `package-lock.json` | Default; no extra setup required | -| pnpm | `pnpm-lock.yaml` | | -| Yarn (v4+) | `yarn.lock` | Must be Yarn 4 or later (Berry) | -| Bun | `bun.lock` / `bun.lockb` | | +| npm | `packageManager`, `package-lock.json`, or no other signal | npm 10 or later; npm is the default | +| pnpm | `packageManager` or `pnpm-lock.yaml` | pnpm 10 or later | +| Yarn | `packageManager`, `yarn.lock`, `.yarnrc.yml`, or `.yarn/` | Yarn 4 or later (Berry) | +| Bun | `packageManager`, `bun.lock`, or `bun.lockb` | Bun 1.2 or later | +| Yarn Classic (v1) | `yarn.lock` with `# yarn lockfile v1` or `packageManager` with `yarn@1.x` | Not supported | + +This policy governs the **AppHost root only**. Apps the AppHost orchestrates — for example, a Node.js service added with `addNodeApp`, a Bun guest app, or a workspace package — can use any package manager their own tooling requires; they are independent of the AppHost-root toolchain. + +Aspire end-to-end tests cover TypeScript AppHosts with representative `packageManager` pins such as `npm@10.0.0`, `pnpm@10.0.0`, `yarn@4.14.1`, and `bun@1.2.0`. These tested versions are representative points within the supported ranges, not the only versions you can use. +### Command arguments as named options + +When a resource command defines arguments, those arguments are passed as **named options** on the command line. Named options make it easier to supply only the arguments you need, skip optional ones, and pass values in any order. + +To see what arguments a specific command accepts, use the command-specific `--help` flag: + +```bash title="Aspire CLI" +aspire resource --help +``` + +The help output lists each argument with its type, whether it's required, its default value (if any), and the set of allowed values for choice arguments. For example: + +```console +Echo a message with text, number, boolean, choice, and secret command arguments. + +Usage: + aspire resource [command-options] [options] + aspire resource -- [command-options] + +Command options: + --message Text value to echo. Required. + --repeat How many times to echo the message. Default: 1. + --shout Uppercase the echoed message. Default: false. + --flavor The message flavor. Allowed values: vanilla, chocolate, strawberry. Default: vanilla. + --secret Secret text command argument. The command only returns its length. + +Options: + --apphost The path to the Aspire AppHost file or a directory to search + -?, -h, --help Show help and usage information +``` + +#### Handling option name collisions + +If a command argument name conflicts with an Aspire CLI option (such as `--apphost`), use `--` to separate Aspire CLI options from command-specific options: + +```bash title="Aspire CLI" +aspire resource --apphost './MyApp.AppHost.cs' -- --apphost myvalue +``` + +Everything after `--` is treated as command argument options and is not parsed as Aspire CLI flags. + +### Discovering available resource commands + +Running `aspire resource --help` with a specific resource name queries the running AppHost and appends an **Available resource commands** section to the help output. This lets you discover what commands a resource supports without opening the dashboard. + +```text title="Example output" +Available resource commands: + restart Restart the resource. + start Start the resource. + stop Stop the resource. +``` + +If no single in-scope AppHost can be determined without an explicit `--apphost`, the resource-scoped help is shown without the commands section rather than prompting for AppHost selection. + +To pass `--help` as an argument to the resource command itself (rather than as a CLI help flag), separate it with `--`: + +```bash title="Aspire CLI" +aspire resource myresource mycommand -- --help +``` + +### AppHost selection + When executed without the `--apphost` option, the command: @@ -55,10 +118,16 @@ When executed without the `--apphost` option, the command: The following options are available: -- +- **`--apphost `** + + The path to the Aspire AppHost file or a directory to search. - +- **`--include-hidden`** + + Includes resource commands that are marked as hidden. By default, hidden commands are not shown in help output or executed. Use this option to expose and run commands that are intentionally hidden from the default command listing. + - - @@ -83,10 +152,58 @@ The following options are available: aspire resource worker stop ``` -- Target a specific AppHost project: +- Target a specific AppHost file: + + ```bash title="Aspire CLI" + # C# AppHost + aspire resource api restart --apphost './apphost.cs' + + # TypeScript AppHost + aspire resource api restart --apphost './apphost.mts' + ``` + +- List available commands for a specific resource: + + ```bash title="Aspire CLI" + # C# AppHost + aspire resource myapi --help --apphost './apphost.cs' + + # TypeScript AppHost + aspire resource myapi --help --apphost './apphost.mts' + ``` + +- Include hidden commands when listing available commands: + + ```bash title="Aspire CLI" + # C# AppHost + aspire resource myapi --help --include-hidden --apphost './apphost.cs' + + # TypeScript AppHost + aspire resource myapi --help --include-hidden --apphost './apphost.mts' + ``` + +- Show command-specific help for a resource command with arguments: + + ```bash title="Aspire CLI" + aspire resource my-resource echo-message --help + ``` + +- Execute a resource command with named arguments: + + ```bash title="Aspire CLI" + aspire resource my-resource echo-message --message "hello" --repeat 3 --shout true + ``` + +- Supply only some optional command arguments (skipping others): + + ```bash title="Aspire CLI" + aspire resource my-resource echo-message --message "hello" --flavor chocolate + ``` + +- Use `--` to avoid conflict with an Aspire CLI option named `--apphost`: ```bash title="Aspire CLI" - aspire resource api restart --apphost './src/MyApp.AppHost/MyApp.AppHost.csproj' + aspire resource my-resource custom-cmd --apphost './apphost.mts' -- --apphost myvalue ``` ## See also diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-restore.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-restore.mdx index d05341a55..74ec200a2 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-restore.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-restore.mdx @@ -17,7 +17,9 @@ aspire restore [options] ## Description -The `aspire restore` command restores the AppHost project and generates the SDK code that Aspire uses for resources, integrations, and tooling. Use it when you want to make restore an explicit step in automation or validate that the AppHost can restore cleanly without starting it. +The `aspire restore` command restores the AppHost and generates the SDK code that Aspire uses for resources, integrations, and tooling. Use it when you want to make restore an explicit step in automation or validate that the AppHost can restore cleanly without starting it. + +For TypeScript AppHosts, restore reads the `packages` section in `aspire.config.json`, restores those hosting integration packages, and regenerates the `.aspire/modules/` TypeScript SDK imported by `apphost.mts`. This is useful after running `aspire add`, switching branches, updating pinned package versions, or restoring dependencies in CI before `aspire run`, `aspire publish`, or deployment workflows. @@ -55,6 +57,12 @@ The following options are available: aspire restore --apphost './src/MyApp.AppHost/MyApp.AppHost.csproj' ``` +- Restore a specific TypeScript AppHost and regenerate `.aspire/modules/`: + + ```bash title="Aspire CLI" + aspire restore --apphost './apphost.mts' + ``` + ## See also - [aspire run](../aspire-run/) diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-run.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-run.mdx index 66d7e81d3..09df61a78 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-run.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-run.mdx @@ -1,6 +1,7 @@ --- title: aspire run command -description: Learn about the aspire run command and its usage. This command runs an Aspire AppHost. +seoTitle: aspire run command reference for the Aspire CLI +description: Learn about the aspire run command, which builds and runs an Aspire AppHost project locally and streams logs and telemetry to your terminal. --- import AsciinemaPlayer from '@components/AsciinemaPlayer.astro'; diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-start.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-start.mdx index 69af3fcb6..e06665335 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-start.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-start.mdx @@ -1,5 +1,6 @@ --- title: aspire start command +seoTitle: aspire start command reference for the Aspire CLI description: Learn about the aspire start command and its usage. This command starts an apphost in the background. --- diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-stop.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-stop.mdx index 38e3622f1..17a431cff 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-stop.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-stop.mdx @@ -1,6 +1,7 @@ --- title: aspire stop command -description: Learn about the aspire stop command which stops a running Aspire AppHost process. +seoTitle: aspire stop command reference for the Aspire CLI +description: Learn about the aspire stop command, which gracefully stops a running Aspire AppHost process so resources are torn down in the correct order. --- import AsciinemaPlayer from '@components/AsciinemaPlayer.astro'; diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-update.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-update.mdx index 9bde62a00..ab848ffc9 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-update.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-update.mdx @@ -33,9 +33,43 @@ The command performs the following: - Detects outdated Aspire NuGet packages in your project - Respects your configured Aspire channel (preview, stable, etc.) - Resolves diamond dependencies to avoid duplicate updates -- Validates package compatibility before applying changes +- Applies all package version edits before running a single final `dotnet restore`, so channel switches that add NuGet source mappings don't cause restore failures mid-update - Provides colorized output with detailed summary of changes +### Non-interactive usage + +When you use `--non-interactive`, also pass `--yes` to explicitly confirm the update operation. Omitting `--yes` when using `--non-interactive` is an error: + +```bash title="Aspire CLI" +aspire update --yes --non-interactive +``` + +If you specify `--non-interactive` without `--yes`, the command exits with an error: + +```text title="Output" +The update command requires --yes when the --non-interactive option is specified. +``` + +### Updating guest AppHost projects + +When updating a guest AppHost project, such as a TypeScript AppHost, `aspire update` checks the selected Aspire SDK version before modifying files. If the selected SDK is newer than the running Aspire CLI, the command prompts you to update the CLI first: + +```text title="Output" +The selected Aspire SDK is newer than this Aspire CLI. Update the Aspire CLI now and re-run `aspire update` to update this project? +``` + +If you confirm, the CLI updates itself and skips the project update. When the CLI is installed as a .NET tool, the command prints the `dotnet tool update` command to run manually instead: + +```text title="Output" +Project update skipped. Update the Aspire CLI, then re-run `aspire update`. +``` + +After updating the CLI, re-run `aspire update` to complete the project update. This check helps prevent a guest AppHost project from being left in a broken state when the CLI's bundled code generator doesn't support the selected SDK version. + +:::tip +To update the CLI without being prompted, run `aspire update --self` before running `aspire update` on a guest AppHost project. +::: + ## Options The following options are available: @@ -48,7 +82,7 @@ The following options are available: - **`--channel`** - Channel to update to (`stable`, `staging`, `daily`). + Channel to update to (`stable`, `staging`, `daily`). When switching channels, `aspire update` applies all package version edits to your project first and then runs a single `dotnet restore`, ensuring that NuGet source mappings added for the target channel are in place before any restore is attempted. - **`-y, --yes`** @@ -95,3 +129,9 @@ The following options are available: ```bash title="Aspire CLI" aspire update --nuget-config-dir './config' ``` + +- Update packages to the daily preview channel: + + ```bash title="Aspire CLI" + aspire update --channel daily + ``` diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-wait.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-wait.mdx index 26982b6d1..8cf64842a 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-wait.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-wait.mdx @@ -1,5 +1,6 @@ --- title: aspire wait command +seoTitle: aspire wait command reference for the Aspire CLI description: Learn about the aspire wait command which blocks until a named resource reaches a target status, with a configurable timeout. --- diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire.mdx index 887c5e34c..e112cf6cc 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire.mdx @@ -1,6 +1,7 @@ --- title: aspire command -description: Learn about the aspire command (the generic driver for the Aspire CLI) and its usage. +seoTitle: aspire root command reference for the Aspire CLI +description: Learn about the aspire command, the generic driver for the Aspire CLI used to run, deploy, and manage AppHost projects from the terminal. --- import Include from '@components/Include.astro'; diff --git a/src/frontend/src/content/docs/reference/cli/configuration.mdx b/src/frontend/src/content/docs/reference/cli/configuration.mdx index d48928542..9dbc489cc 100644 --- a/src/frontend/src/content/docs/reference/cli/configuration.mdx +++ b/src/frontend/src/content/docs/reference/cli/configuration.mdx @@ -26,7 +26,7 @@ focuses on the settings surfaced through `aspire config`. { "$schema": "https://aspire.dev/reference/cli/configuration/schema.json", "appHost": { - "path": "./apphost.ts" + "path": "./apphost.mts" }, "channel": "staging", "features": { @@ -73,7 +73,7 @@ top-level `$schema` property: { "$schema": "https://aspire.dev/reference/cli/configuration/schema.json", "appHost": { - "path": "./apphost.ts" + "path": "./apphost.mts" } } ``` @@ -113,7 +113,7 @@ Use `appHost.path` to set the default AppHost entry point for the current configuration root: ```bash title="Set the local AppHost path" -aspire config set appHost.path ./apphost.ts +aspire config set appHost.path ./apphost.mts ``` The CLI writes this value to the local `aspire.config.json` file: @@ -121,13 +121,13 @@ The CLI writes this value to the local `aspire.config.json` file: ```json title="aspire.config.json" { "appHost": { - "path": "./apphost.ts" + "path": "./apphost.mts" } } ``` The AppHost path can point to the entry point used by your AppHost language, such -as `apphost.ts`, `Program.cs`, or an AppHost project file. The path is +as `apphost.mts`, `Program.cs`, or an AppHost project file. The path is project-specific and can't be configured globally. If a global settings file contains `appHost.path` or the legacy `appHostPath` key, the CLI ignores that value and warns that AppHost paths must be configured locally. The legacy diff --git a/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md b/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md index 219177173..a8a23dbf6 100644 --- a/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md +++ b/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md @@ -7,7 +7,6 @@ title: Config Settings Table | `appHost.path` | `appHost.path` | Project-scoped path to the default AppHost entry point. This setting must be configured in the local `aspire.config.json` file. | | `channel` | `channel` | Default Aspire channel used by channel-aware commands such as `aspire new`, `aspire init`, and `aspire update`. | | `features.defaultWatchEnabled` | `features.defaultWatchEnabled` | Enable or disable watch mode by default when running Aspire applications for automatic restarts on file changes. | -| `features.execCommandEnabled` | `features.execCommandEnabled` | Enable or disable the legacy `aspire exec` command for executing commands inside running resources. | | `features.experimentalPolyglot:go` | `features.experimentalPolyglot:go` | Enable or disable experimental Go language support for polyglot Aspire applications. | | `features.experimentalPolyglot:java` | `features.experimentalPolyglot:java` | Enable or disable experimental Java language support for polyglot Aspire applications. | | `features.experimentalPolyglot:python` | `features.experimentalPolyglot:python` | Enable or disable experimental Python language support for polyglot Aspire applications. | diff --git a/src/frontend/src/content/docs/reference/cli/includes/option-project.md b/src/frontend/src/content/docs/reference/cli/includes/option-project.md index 1acd4580f..4f5370f91 100644 --- a/src/frontend/src/content/docs/reference/cli/includes/option-project.md +++ b/src/frontend/src/content/docs/reference/cli/includes/option-project.md @@ -4,4 +4,4 @@ title: Option AppHost **`--apphost `** -The path to the Aspire AppHost project file. +The path to the Aspire AppHost file or project file, such as `apphost.mts`, `apphost.cs`, or an AppHost `.csproj`. diff --git a/src/frontend/src/content/docs/reference/cli/install-script.mdx b/src/frontend/src/content/docs/reference/cli/install-script.mdx index 51326bc66..9614eb4c8 100644 --- a/src/frontend/src/content/docs/reference/cli/install-script.mdx +++ b/src/frontend/src/content/docs/reference/cli/install-script.mdx @@ -1,5 +1,6 @@ --- title: Install script +seoTitle: Aspire CLI install script for Windows, macOS, and Linux description: Learn about the aspire-install scripts to install the Aspire CLI. Use the Aspire CLI to create, run, and manage Aspire solutions. --- diff --git a/src/frontend/src/content/docs/reference/cli/microsoft-collected-cli-telemetry.mdx b/src/frontend/src/content/docs/reference/cli/microsoft-collected-cli-telemetry.mdx index a04dfdd49..48c954dbd 100644 --- a/src/frontend/src/content/docs/reference/cli/microsoft-collected-cli-telemetry.mdx +++ b/src/frontend/src/content/docs/reference/cli/microsoft-collected-cli-telemetry.mdx @@ -1,6 +1,6 @@ --- title: Microsoft-collected CLI telemetry -description: Learn about what telemetry the Aspire CLI collects and how to opt out. +description: Learn what telemetry the Aspire CLI collects, how the data is used to improve the product, and how to opt out using environment variables or CLI configuration. --- import OsAwareTabs from '@components/OsAwareTabs.astro'; diff --git a/src/frontend/src/content/docs/reference/cli/overview.mdx b/src/frontend/src/content/docs/reference/cli/overview.mdx index d8e546f69..785944bcf 100644 --- a/src/frontend/src/content/docs/reference/cli/overview.mdx +++ b/src/frontend/src/content/docs/reference/cli/overview.mdx @@ -1,5 +1,7 @@ --- title: Aspire CLI overview +description: Overview of the Aspire CLI, the cross-platform terminal tool for creating, running, and deploying Aspire AppHost projects from your shell. +seoTitle: "Aspire CLI overview: commands, options, and workflows" --- import { Aside, CardGrid, LinkCard } from '@astrojs/starlight/components'; diff --git a/src/frontend/src/content/docs/reference/overview.mdx b/src/frontend/src/content/docs/reference/overview.mdx index e7b7eab1b..465e87c59 100644 --- a/src/frontend/src/content/docs/reference/overview.mdx +++ b/src/frontend/src/content/docs/reference/overview.mdx @@ -1,5 +1,6 @@ --- title: Aspire Reference +seoTitle: "Aspire reference: APIs, CLI, and packages" prev: link: /deployment/ label: Deployment diff --git a/src/frontend/src/content/docs/reference/samples.mdx b/src/frontend/src/content/docs/reference/samples.mdx index 957c4dbfe..bc796cf0b 100644 --- a/src/frontend/src/content/docs/reference/samples.mdx +++ b/src/frontend/src/content/docs/reference/samples.mdx @@ -1,5 +1,6 @@ --- title: Samples +seoTitle: Aspire samples and reference solutions description: Explore Aspire sample projects — fully functional apps demonstrating real-world patterns, integrations, and best practices. tableOfContents: false lastUpdated: false diff --git a/src/frontend/src/content/docs/ru/index.mdx b/src/frontend/src/content/docs/ru/index.mdx index c7c4b5b1b..84f4d90ec 100644 --- a/src/frontend/src/content/docs/ru/index.mdx +++ b/src/frontend/src/content/docs/ru/index.mdx @@ -11,7 +11,7 @@ prev: false next: false banner: content: | - 🚀 Aspire 13.3 выпущен!Что нового в Aspire 13.3. + 🚀 Aspire 13.4 выпущен!Что нового в Aspire 13.4. hero: tagline: Ваш стек, упрощён.

Оркестрируйте фронтенды, API, контейнеры и базы данных без усилий—без переписывания, без ограничений. Расширяйте Aspire для любого проекта.

image: diff --git a/src/frontend/src/content/docs/support.mdx b/src/frontend/src/content/docs/support.mdx index 01d6ce067..67fcb5574 100644 --- a/src/frontend/src/content/docs/support.mdx +++ b/src/frontend/src/content/docs/support.mdx @@ -1,8 +1,8 @@ --- -title: Aspire support policy +title: Aspire support policy and lifecycle prev: false next: false -description: Official support policy for Aspire - lifecycle, release cadence, and support guidelines. +description: "Review the official Aspire support policy: release cadence, lifecycle dates, and Microsoft Modern Lifecycle guidance for production deployments and upgrades." template: splash editUrl: false --- diff --git a/src/frontend/src/content/docs/testing/accessing-resources.mdx b/src/frontend/src/content/docs/testing/accessing-resources.mdx index e2034b235..e93608236 100644 --- a/src/frontend/src/content/docs/testing/accessing-resources.mdx +++ b/src/frontend/src/content/docs/testing/accessing-resources.mdx @@ -1,6 +1,7 @@ --- title: Access resources in tests -description: Learn how to access the resources from the Aspire AppHost in your tests. +seoTitle: Access Aspire resources from integration tests using xUnit +description: Resolve and inspect Aspire AppHost resources from your tests — connection strings, endpoints, HTTP clients, and service discovery URIs for integration scenarios. --- import { Aside } from '@astrojs/starlight/components'; diff --git a/src/frontend/src/content/docs/testing/advanced-scenarios.mdx b/src/frontend/src/content/docs/testing/advanced-scenarios.mdx index 0d88c6423..52fd7f033 100644 --- a/src/frontend/src/content/docs/testing/advanced-scenarios.mdx +++ b/src/frontend/src/content/docs/testing/advanced-scenarios.mdx @@ -1,6 +1,7 @@ --- title: Advanced testing scenarios -description: Learn advanced patterns for using DistributedApplicationTestingBuilder, including selectively disabling resources, overriding environment variables, and customizing the test AppHost. +seoTitle: Advanced Aspire integration testing scenarios for AppHost +description: Advanced patterns for DistributedApplicationTestingBuilder — selectively disabling resources, overriding configuration, and authoring resilient Aspire integration tests. --- import { Aside } from '@astrojs/starlight/components'; diff --git a/src/frontend/src/content/docs/testing/manage-app-host.mdx b/src/frontend/src/content/docs/testing/manage-app-host.mdx index d1bfae9d7..e43a5c9cc 100644 --- a/src/frontend/src/content/docs/testing/manage-app-host.mdx +++ b/src/frontend/src/content/docs/testing/manage-app-host.mdx @@ -1,6 +1,7 @@ --- title: Manage the AppHost in tests -description: Learn how to manage the AppHost in Aspire tests. +seoTitle: Manage the Aspire AppHost lifecycle in integration tests +description: Manage the Aspire AppHost lifecycle in your tests — start, dispose, and configure DistributedApplicationTestingBuilder for fast, repeatable integration runs. --- import { Aside, Steps } from '@astrojs/starlight/components'; diff --git a/src/frontend/src/content/docs/testing/overview.mdx b/src/frontend/src/content/docs/testing/overview.mdx index ea623d4d6..8fa306393 100644 --- a/src/frontend/src/content/docs/testing/overview.mdx +++ b/src/frontend/src/content/docs/testing/overview.mdx @@ -1,6 +1,7 @@ --- title: Testing overview -description: Learn how to write integration tests for your Aspire applications using the Aspire.Hosting.Testing package. +seoTitle: Aspire integration testing overview for distributed apps +description: Write integration tests for your Aspire applications using the Aspire.Hosting.Testing package — spin up the AppHost, resolve resources, and verify end-to-end behavior. --- import { Aside, Steps } from '@astrojs/starlight/components'; diff --git a/src/frontend/src/content/docs/testing/testing-in-ci.mdx b/src/frontend/src/content/docs/testing/testing-in-ci.mdx index 33cdc4a41..51ac4d3c5 100644 --- a/src/frontend/src/content/docs/testing/testing-in-ci.mdx +++ b/src/frontend/src/content/docs/testing/testing-in-ci.mdx @@ -1,6 +1,7 @@ --- title: Testing in CI/CD pipelines -description: Learn how to run Aspire integration tests reliably in CI/CD environments, such as GitHub Actions and Azure DevOps, covering timeout configuration, Azure authentication, and container requirements. +seoTitle: Test Aspire AppHost projects in CI/CD pipelines with xUnit +description: Run Aspire integration tests reliably in CI/CD — GitHub Actions, Azure DevOps, container runtimes, port allocation, and managing flaky distributed application tests. --- import { Aside, Tabs, TabItem } from '@astrojs/starlight/components'; diff --git a/src/frontend/src/content/docs/testing/write-your-first-test.mdx b/src/frontend/src/content/docs/testing/write-your-first-test.mdx index c8b2ef228..4c62a68e4 100644 --- a/src/frontend/src/content/docs/testing/write-your-first-test.mdx +++ b/src/frontend/src/content/docs/testing/write-your-first-test.mdx @@ -1,6 +1,7 @@ --- title: Write your first test -description: Learn how to test your Aspire solutions using xUnit.net, NUnit, and MSTest testing frameworks. +seoTitle: Write your first Aspire integration test with xUnit +description: Test your Aspire solutions using xUnit.net, NUnit, or MSTest — wire up DistributedApplicationTestingBuilder, start the AppHost, and assert on resources from your tests. --- import { Aside, Steps } from '@astrojs/starlight/components'; diff --git a/src/frontend/src/content/docs/tr/index.mdx b/src/frontend/src/content/docs/tr/index.mdx index 922ddcedd..8b5b18015 100644 --- a/src/frontend/src/content/docs/tr/index.mdx +++ b/src/frontend/src/content/docs/tr/index.mdx @@ -11,7 +11,7 @@ prev: false next: false banner: content: | - 🚀 Aspire 13.3 yayınlandı!Aspire 13.3'deki yeniliklere bakın. + 🚀 Aspire 13.4 yayınlandı!Aspire 13.4'deki yeniliklere bakın. hero: tagline: Yığınınız basitleştirildi.

Frontend'leri, API'leri, konteynerleri ve veritabanlarını zahmetsizce orkestre edin—yeniden yazma yok, sınır yok. Her projeyi güçlendirmek için Aspire'ı genişletin.

image: diff --git a/src/frontend/src/content/docs/uk/index.mdx b/src/frontend/src/content/docs/uk/index.mdx index 972b7a6e2..620584f46 100644 --- a/src/frontend/src/content/docs/uk/index.mdx +++ b/src/frontend/src/content/docs/uk/index.mdx @@ -11,7 +11,7 @@ prev: false next: false banner: content: | - 🚀 Aspire 13.3 випущено!Що нового в Aspire 13.3. + 🚀 Aspire 13.4 випущено!Що нового в Aspire 13.4. hero: tagline: Ваш стек спрощено.

Оркеструйте фронтенди, API, контейнери та бази даних без зусиль—без переписування, без обмежень. Розширюйте Aspire для будь-якого проєкту.

image: diff --git a/src/frontend/src/content/docs/whats-new/aspire-13-1.mdx b/src/frontend/src/content/docs/whats-new/aspire-13-1.mdx index 356d0a833..d469d62a3 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-13-1.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-13-1.mdx @@ -1,6 +1,6 @@ --- -title: What's new in Aspire 13.1 -description: Aspire 13.1 delivers comprehensive MCP support for AI coding agents, CLI enhancements with channel persistence, dashboard improvements, Azure Managed Redis, container registry support, and numerous bug fixes. +title: "What's new in Aspire 13.1" +description: "Explore Aspire 13.1: comprehensive MCP support for AI coding agents, CLI channel persistence, dashboard improvements, Azure Managed Redis, and container registry updates." sidebar: label: Aspire 13.1 order: 0 diff --git a/src/frontend/src/content/docs/whats-new/aspire-13-2.mdx b/src/frontend/src/content/docs/whats-new/aspire-13-2.mdx index 9a22a372f..3572b5afc 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-13-2.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-13-2.mdx @@ -352,7 +352,7 @@ Aspire now also prefers a single `aspire.config.json` file that combines apphost ```json title="JSON — aspire.config.json" { "appHost": { - "path": "apphost.ts", + "path": "apphost.mts", "language": "typescript/nodejs" }, "sdk": { @@ -454,8 +454,8 @@ One of the most anticipated features in Aspire 13.2 is support for writing your TypeScript apphosts use the same app model as C#—resources, references, integrations—expressed in idiomatic TypeScript via `createBuilder()`: -```typescript title="TypeScript — apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -471,7 +471,7 @@ Under the hood, this runs as a guest process alongside Aspire's .NET orchestrati ### Code generation -When you run `aspire add`, the CLI inspects the integration's .NET assembly and generates a TypeScript SDK into `.modules/`. Running `aspire restore` regenerates these SDKs—useful after upgrading or switching branches (this also runs automatically on `aspire run`). +When you run `aspire add`, the CLI inspects the integration's .NET assembly and generates a TypeScript SDK into `.aspire/modules/`. Running `aspire restore` regenerates these SDKs—useful after upgrading or switching branches (this also runs automatically on `aspire run`). In 13.2, the code generator gained AspireList support for richer collection handling and now covers Go, Java, and Rust test targets alongside TypeScript. @@ -594,8 +594,8 @@ builder.Build().Run();
-```typescript title="TypeScript — apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -647,8 +647,8 @@ builder.AddContainer("worker", "contoso/worker") -```typescript title="TypeScript — apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -821,8 +821,8 @@ builder.Build().Run(); -```typescript title="TypeScript — apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -864,8 +864,8 @@ builder.Build().Run(); -```typescript title="TypeScript — apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -1021,8 +1021,8 @@ api.WithReference(dataLake) -```typescript title="TypeScript — apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -1085,8 +1085,8 @@ builder.Build().Run(); -```typescript title="TypeScript — apphost.ts" twoslash -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" twoslash +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -1292,7 +1292,7 @@ Aspire 13.2.1 is a patch release focused on reliability fixes. ### Breaking changes in the TypeScript AppHost SDK -The following TypeScript AppHost APIs were renamed. Update any affected `apphost.ts` files accordingly: +The following TypeScript AppHost APIs were renamed. Update any affected `apphost.mts` files accordingly: | Previous name | New name | Notes | | --- | --- | --- | diff --git a/src/frontend/src/content/docs/whats-new/aspire-13-3.mdx b/src/frontend/src/content/docs/whats-new/aspire-13-3.mdx index 5ab930c59..74ceb4594 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-13-3.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-13-3.mdx @@ -1,6 +1,6 @@ --- -title: What's new in Aspire 13.3 -description: Aspire 13.3 brings the new aspire destroy command, browser console log and screenshot capture in the dashboard, end-to-end Helm-based Kubernetes deployment via aspire deploy, JavaScript publishing for Next.js/Vite/SSR frameworks, the container tunnel enabled by default, deeper TypeScript AppHost parity, and a refreshed Azure integration suite. +title: "What's new in Aspire 13.3" +description: "Explore Aspire 13.3: aspire destroy, Helm-based Kubernetes deploy, browser screenshot capture, JavaScript publishing, default container tunnel, and Azure updates." sidebar: label: Aspire 13.3 order: 0 @@ -345,10 +345,10 @@ builder.AddProject("api") ``` - + -```typescript title="TypeScript — apphost.ts" -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -396,10 +396,10 @@ ingress.WithRoute("/", api.GetEndpoint("http")); ``` - + ```typescript title="TypeScript — Ingress with cert-manager" -import { createBuilder } from './.modules/aspire.js'; +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -445,10 +445,10 @@ builder.AddContainer("netshoot", "nicolaka/netshoot") ``` - + ```typescript title="TypeScript — Privileged Docker Compose service" -import { createBuilder } from './.modules/aspire.js'; +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -495,10 +495,10 @@ builder.AddProject("api") ``` - + ```typescript title="TypeScript — HTTP command with result body" -import { createBuilder } from './.modules/aspire.js'; +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -546,7 +546,7 @@ builder.AddProject("myservice") ``` - + ```typescript title="TypeScript — Issue an access token from a resource command" import { @@ -554,7 +554,7 @@ import { CommandResultFormat, type ExecuteCommandContext, type ExecuteCommandResult, -} from './.modules/aspire.js'; +} from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -609,10 +609,10 @@ builder.SubscribeAfterResourcesCreated(async e => { /* ... */ }); ``` - + ```typescript title="TypeScript — Subscribe to lifecycle events" -import { createBuilder } from './.modules/aspire.js'; +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -653,10 +653,10 @@ builder.AddProject("api") ``` - + ```typescript title="TypeScript — Exclude an endpoint from withReference" -import { createBuilder } from './.modules/aspire.js'; +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -696,7 +696,7 @@ Aspire 13.3 closes most of the remaining functional gap between C# AppHosts and Aspire 13.3 introduces a unified `withEnvironment(name, value)` API for polyglot AppHosts (TypeScript, Java, Python, Go, Rust). Previously, environment variable injection required separate methods for each value kind (`withEnvironmentEndpoint`, `withEnvironmentParameter`, `withEnvironmentConnectionString`, and so on). Now, a single call handles all value types: -```typescript title="TypeScript — apphost.ts" +```typescript title="TypeScript — apphost.mts" const api = await builder.addProject('api', '../Api/Api.csproj'); await api .withEnvironment('SERVICE_URL', cache.primaryEndpoint) @@ -746,10 +746,10 @@ builder.Build().Run(); ``` - + -```typescript title="TypeScript — apphost.ts" -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -783,10 +783,10 @@ builder.Build().Run(); ``` - + -```typescript title="TypeScript — apphost.ts" -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -821,10 +821,10 @@ builder.Build().Run(); ``` - + -```typescript title="TypeScript — apphost.ts" -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -930,10 +930,10 @@ builder.AddViteApp("frontend") ``` - + -```typescript title="TypeScript — apphost.ts" -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -1013,10 +1013,10 @@ builder.AddAzureFrontDoor("frontdoor") ``` - + -```typescript title="TypeScript — apphost.ts" -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -1074,11 +1074,11 @@ var keyVault = builder.AddAzureKeyVault("kv") ``` - + -```typescript title="TypeScript — apphost.ts" -import { createBuilder } from './.modules/aspire.js'; -import { NetworkSecurityPerimeterAccessRuleDirection } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" +import { createBuilder } from './.aspire/modules/aspire.mjs'; +import { NetworkSecurityPerimeterAccessRuleDirection } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); @@ -1133,10 +1133,10 @@ builder.AddProject("api") ``` - + -```typescript title="TypeScript — apphost.ts" -import { createBuilder } from './.modules/aspire.js'; +```typescript title="TypeScript — apphost.mts" +import { createBuilder } from './.aspire/modules/aspire.mjs'; const builder = await createBuilder(); diff --git a/src/frontend/src/content/docs/whats-new/aspire-13-4.mdx b/src/frontend/src/content/docs/whats-new/aspire-13-4.mdx new file mode 100644 index 000000000..0cb20251e --- /dev/null +++ b/src/frontend/src/content/docs/whats-new/aspire-13-4.mdx @@ -0,0 +1,412 @@ +--- +title: "What's new in Aspire 13.4" +description: "Explore Aspire 13.4: GA TypeScript AppHost, richer Kubernetes and AKS deployment APIs, process resource commands, CLI integration discovery, and dashboard updates." +sidebar: + label: Aspire 13.4 + order: 0 +tableOfContents: + minHeadingLevel: 2 + maxHeadingLevel: 2 +--- + +import { + Steps, + Aside, + Icon, + Tabs, + TabItem, +} from '@astrojs/starlight/components'; +import LearnMore from '@components/LearnMore.astro'; +import OsAwareTabs from '@components/OsAwareTabs.astro'; + +Aspire 13.4 is here, with a release focused on broadening the app model and smoothing day-to-day operations — led by **TypeScript AppHost support reaching general availability**, a new set of **TypeScript samples**, **TypeScript documentation parity with C#**, expanded **Kubernetes and AKS deployment APIs**, **process-backed resource commands**, **integration discovery** from the CLI, server-side **log and telemetry search**, a dashboard **AI Agents** entry point, and a more capable Aspire extension for Visual Studio Code. + +We'd love to hear what you think. Drop by [ Discord](https://aka.ms/aspire-discord) to chat with the team and the community, or file feedback and issues on [ GitHub](https://github.com/microsoft/aspire/issues). + +This release introduces: + +- **TypeScript AppHost general availability** with stronger startup validation, more complete TypeScript SDK generation, new TypeScript samples, and documentation parity with C# AppHost examples. +- **Kubernetes and AKS deployment improvements** including [cert-manager integration, Gateway API and Azure Application Gateway for Containers (AGC) support](/deployment/kubernetes/aks/#expose-your-app-to-the-internet), Kubernetes manifest resources, external Helm charts, and consolidated Helm chart configuration. +- **Richer resource commands** with typed arguments, visibility controls, immediate result display, named CLI options, resource-scoped help, and the experimental `WithProcessCommand` API. +- **CLI discoverability and diagnostics** with `aspire integration list`, `aspire integration search`, `--search` for logs and telemetry, version checks in `aspire doctor`, better logs output, and more consistent command error handling. +- **Dashboard and editor updates** including the AI Agents dialog, resource state fixes, CodeLens actions that appear without opening the Aspire panel, and improved VS Code terminal/debug output integration. +- **Integration updates** for NATS, Azure Front Door, Foundry hosted agents, and more. +- …and much more. + +## 🆙 Upgrade to Aspire 13.4 + + +
+ + + + + + + +For general purpose upgrade guidance, see [Upgrade Aspire](/whats-new/upgrade-aspire/). + +The easiest way to upgrade to Aspire 13.4 is using the [`aspire update` command](/reference/cli/commands/aspire-update/): + + + +1. Update the Aspire CLI itself: + + ```bash title="Aspire CLI — Update the CLI" + aspire update --self + ``` + +1. Update your projects (run from the root of your repository): + + ```bash title="Aspire CLI — Update all Aspire packages" + aspire update + ``` + + + +Or install the CLI from scratch: + + + + + ```bash title="Aspire CLI — Install Aspire CLI" + curl -sSL https://aspire.dev/install.sh | bash + ``` + + + + + ```powershell title="Aspire CLI — Install Aspire CLI" + irm https://aspire.dev/install.ps1 | iex + ``` + + + + + + For more details on installing the Aspire CLI, see [Install the + CLI](/get-started/install-cli/). + + +## 🌐 TypeScript AppHost general availability + +TypeScript AppHost support is now generally available. You can author Aspire app models in `apphost.mts` as a first-class AppHost experience, with the same code-first orchestration model used by C# AppHosts and a generated TypeScript SDK for Aspire resources and integrations. + +Aspire 13.4 strengthens the TypeScript experience by validating TypeScript AppHosts before startup, so type-checking and compile errors fail early instead of surfacing after the application starts. New TypeScript AppHosts use the explicit ES module entry point `apphost.mts`, generated SDK modules are consolidated under `.aspire/modules/`, and `aspire init --language typescript` creates a nested `aspire-apphost/` package when run in an existing JavaScript or TypeScript app. The generated TypeScript SDK also includes fixes for name collisions, inherited resource type exports, Docker service config/secret/ulimit reference exports, exact-target export shadowing across integrations, and builder and callback generation. + +The documentation now treats TypeScript AppHosts as a first-class peer to C# AppHosts: AppHost-focused guides and integration pages include TypeScript examples alongside C# where the API is available. The release also adds a new set of TypeScript samples so you can start from working `apphost.mts` projects instead of translating from C#. + +Existing TypeScript AppHosts scaffolded by earlier CLI versions (using `apphost.ts` and `./.modules/aspire.js`) continue to work on 13.4 without changes — the CLI transparently routes generated SDK files to the legacy `./.modules/` folder and rewrites them to `.ts`/`.js` so existing imports resolve. See [Legacy `apphost.ts` projects (pre-13.4)](/app-host/typescript-apphost/#legacy-apphostts-projects-pre-134) for details and an opt-in migration to the new `apphost.mts` layout. + + + For setup details, see [TypeScript AppHosts](/app-host/typescript-apphost/). + To explore working examples, browse the [Aspire samples](/reference/samples/). + + +## 🛠️ CLI enhancements + +### Discover integrations from the CLI + +The new `aspire integration` command group helps you find available Aspire hosting integrations without modifying an AppHost project. Use `aspire integration list` to browse all integrations or `aspire integration search` to search by keyword. + +```bash title="Aspire CLI — Search integrations" +aspire integration list +aspire integration search redis +``` + +After you find the integration you need, use [`aspire add`](/reference/cli/commands/aspire-add/) to add it to your AppHost. + +### Search logs and telemetry + +`aspire logs` and the `aspire otel` commands now support `--search`, so you can filter logs and telemetry by keyword directly from the CLI. For console logs, Aspire searches the log message text and resource prefix. For structured logs, Aspire searches the message, attributes, scope name, event name, trace and span IDs, severity, and resource name. For spans and traces, Aspire searches span names, trace and span IDs, attributes, status, kind, scope, events, resource names, and trace names. Search, tail, and resource filters are applied before data is streamed back to the CLI, which keeps large log streams responsive. + +```bash title="Aspire CLI — Search logs" +aspire logs --search "failed" +aspire otel logs --search "checkout" +aspire otel traces --search "POST /orders" +``` + + + See [`aspire logs`](/reference/cli/commands/aspire-logs/) and [`aspire otel + logs`](/reference/cli/commands/aspire-otel-logs/) for telemetry CLI usage. + + +### Better environment diagnostics + +[`aspire doctor`](/reference/cli/commands/aspire-doctor/) now reports the current Aspire CLI version, shows an update notice when a newer version is available, and reports the AppHost SDK version when an AppHost is detected. This makes CLI/SDK version mismatches easier to spot before they become restore or runtime issues. + +### Resource command CLI improvements + +Resource command inputs are now passed as named CLI options instead of positional arguments. This makes optional inputs easier to skip and lets users supply values in any order. Running `aspire resource --help` also shows the commands available for that specific resource. + +```bash title="Aspire CLI — Resource command arguments" +aspire resource cache seed-data --dataset small --force true +aspire resource cache --help +``` + + + For more information, see [`aspire + resource`](/reference/cli/commands/aspire-resource/). + + +### CLI quality-of-life + +Aspire 13.4 includes a set of smaller CLI improvements and fixes: + +- CLI commands now use centralized error and cancellation handling, so cancellation and help output are quieter and more consistent. +- `aspire logs` dims timestamps for readability and shows `No logs found.` when there are no entries, while preserving JSON output for automation. +- Log file paths in CLI output are clickable terminal links when the terminal supports hyperlinks and degrade gracefully to plain text otherwise. +- Package-manager installs such as WinGet, Homebrew, and `dotnet tool` keep the CLI bundle beside the CLI binary, so uninstall and upgrade flows clean up the bundle correctly. +- `aspire update` now requires `--yes` in non-interactive mode, matching `aspire destroy`. +- `aspire stop --all` output includes the AppHost name and, when needed, the PID for clearer multi-instance shutdown output. +- `aspire new`, `aspire init`, `aspire run`, and `aspire update` include fixes for NuGet feed errors, output paths, generated files, disabled dashboards, detached shutdown, and AppHost package-reference cleanup. + +## 🧩 App model and AppHost + +### Resource command arguments, visibility, and results + +Custom resource commands can now declare typed input arguments with labels, descriptions, default values, required-state metadata, allowed values, and custom validation. Commands can also control where they appear with `ResourceCommandVisibility`, so you can expose a command to the dashboard UI, automation APIs and MCP tools, both, or neither. + +Command results can be configured to display immediately in the dashboard, making interactive commands easier to use when they return structured output or captured text. + + + For the full API surface, see [Custom resource + commands](/fundamentals/custom-resource-commands/). + + +### Process-backed resource commands + +Aspire 13.4 adds the experimental `WithProcessCommand` API for exposing local tools, scripts, and CLIs as resource commands. The helper starts a process on the AppHost machine, passes arguments without going through a shell, streams stdout and stderr to the command logger, captures bounded output, and maps process exit codes to resource command results. + + + + + + +```csharp title="AppHost.cs" +#pragma warning disable ASPIREPROCESSCOMMAND001 + +var builder = DistributedApplication.CreateBuilder(args); + +builder.AddRedis("cache") + .WithProcessCommand( + name: "dotnet-version", + displayName: "Show .NET version", + executablePath: "dotnet", + arguments: ["--version"]); + +builder.Build().Run(); +``` + + + + +```typescript title="apphost.mts" +import { createBuilder } from './.aspire/modules/aspire.mjs'; + +const builder = await createBuilder(); + +const cache = await builder.addRedis('cache'); + +await cache.withProcessCommand('node-version', 'Show Node.js version', { + executablePath: 'node', + arguments: ['--version'], +}); + +await builder.build().run(); +``` + + + + + + For static commands, dynamic process specs, stdin, environment variables, and + result options, see [Process-backed resource + commands](/fundamentals/custom-resource-commands/#process-backed-resource-commands). + + +### AppHost and runtime reliability + +Aspire 13.4 also improves the AppHost runtime: + +- The active container runtime (Docker or Podman) is propagated to project image builds through `PublishContainer`, keeping project builds aligned with the runtime used for container resources. +- YARP endpoint resolution is deferred until environment configuration generation, so late endpoint scheme changes are reflected in generated proxy configuration. +- Container resources can no longer use the reserved name `aspire`, which avoids conflicts with the container tunnel. +- Container tunnel errors include more diagnostic detail, and a startup deadlock for tunnel-dependent containers has been fixed. +- Foundry hosted agents validate environment variable names up front, avoiding deploy-time failures caused by unsupported characters. +- `AzureRoleAssignmentResource` is now public so deployment pipeline code can inspect Azure role assignments. + +### Aspire CLI bundle opt-in for C# AppHosts + +C# AppHost projects can opt in to using the installed Aspire CLI bundle as the source for DCP and Dashboard orchestration dependencies by setting `true`. This is a preview transition path for the upcoming shift where AppHost orchestration dependencies come from the CLI bundle by default, instead of being restored from platform-specific NuGet packages per AppHost project. + + + For setup details, see [Use the Aspire CLI bundle for orchestration + dependencies](/get-started/aspire-sdk/#use-the-aspire-cli-bundle-for-orchestration-dependencies) + in the Aspire SDK documentation. + + +## 🚢 Kubernetes, AKS, and Azure deployment + +### Cert-manager, Gateway API, and AGC support + +Kubernetes and AKS deployment continue to expand in 13.4. Kubernetes environments can now model cert-manager resources through typed APIs, including cert-manager installation, ClusterIssuers backed by Let's Encrypt or custom ACME servers, and TLS wiring for gateways. + +For AKS, `AddAzureKubernetesEnvironment` now wires Azure Application Gateway for Containers (AGC) into the deployment flow. When `AddLoadBalancer(...)` is used, Aspire provisions the AGC ingress profile on AKS, assigns the required Network Contributor role to the controller identity, and exposes Gateway API routing for the application. + + + For a complete walkthrough including custom domains, see [Deploy to AKS — Expose your app to the internet](/deployment/kubernetes/aks/#expose-your-app-to-the-internet). + + +### Kubernetes manifests and external Helm charts + +Aspire 13.4 adds a Kubernetes manifest resource API for arbitrary manifests and an `AddHelmChart` API for installing external Helm charts as deployment pipeline steps. These APIs make it possible to include Kubernetes-native resources, ingress controllers, monitoring stacks, and other third-party charts alongside the resources generated from your Aspire application model. + +### Ingress `WithRoute` renamed to `WithPath` + +The Kubernetes `Ingress` routing API has been renamed from `WithRoute(...)` to `WithPath(...)` to better reflect the Kubernetes Ingress path-rule terminology and to disambiguate it from the Gateway API. Update existing AppHosts that call `ingress.WithRoute(...)` to call `ingress.WithPath(...)` instead. The Gateway API equivalent (`gateway.WithRoute(...)`) is unchanged. + +### Consolidated Helm chart configuration + +Helm chart name, version, description, release name, and namespace are now configured through the `WithHelm(...)` extension method. This replaces the previous parallel property-based configuration surface on `KubernetesEnvironmentResource` with one fluent entry point. + + + For examples of `WithHelm(...)`, see the [Kubernetes + integration](/integrations/compute/kubernetes/#configure-helm-chart-options). + + +## 📊 Dashboard improvements + +### AI Agents dialog + +The dashboard header now includes an **AI Agents** dialog with guidance for connecting AI coding agents to your Aspire app. This builds on the Aspire CLI and MCP server workflow where agents can query resource status, structured logs, console logs, traces, and other dashboard data while they work in your codebase. + +Administrators can hide the header button with the `Dashboard:UI:DisableAgentHelp` setting. + + + For the agent workflow, see [Dashboard and AI coding + agents](/dashboard/ai-coding-agents/). For the dashboard setting, see + [Dashboard configuration](/dashboard/configuration/). + + +### Dashboard fixes + +Dashboard fixes in this release include: + +- `!=` and `not contains` filters on the Traces page now return the expected results. +- Static web assets are served correctly when running the dashboard from source outside the `Development` environment. +- The resource details panel now displays an `Unknown` state consistently when a resource has no state. +- Containers in `FailedToStart` state now show a more accurate state detail instead of suggesting the container previously ran. + +## 🧰 VS Code extension + +The Aspire extension for Visual Studio Code now shows AppHost CodeLens actions directly in the editor without requiring the Aspire panel to be open. In addition to **Run**, **Stop**, and **Restart**, new **Open Dashboard** and **View Logs** CodeLens actions make common AppHost operations available where you're editing code. + +The extension also uses VS Code terminal shell integration when sending Aspire CLI commands to the Aspire terminal, forwards debug adapter output to dashboard logs, shows AppHost errors in the debug console, reduces TypeScript and C# AppHost debug-console noise, disables automatic `dotnet restore` on startup by default, and fixes a sticky **Finding apphosts** notification. + + + Learn more about the [Aspire Visual Studio Code + extension](/get-started/aspire-vscode-extension/). + + +## 📦 Integration updates + +### Azure Front Door naming + +Azure Front Door CDN resources now use Azure.Provisioning's built-in name-generation algorithm instead of Aspire's custom logic. This removes Aspire's manual name-length cap and aligns generated resource names with Azure.Provisioning behavior. + + + + + For Front Door setup, see the [Azure Front Door + integration](/integrations/cloud/azure/azure-front-door/). + + +### NATS client updates + +`AddNatsClient` now also registers `INatsClient` and defaults the serializer registry to `NatsClientDefaultSerializerRegistry`. This enables typed publish/subscribe scenarios without requiring explicit serializer configuration. User-provided serializer registries still take precedence, and primitive/raw byte scenarios are unaffected. + + + For client setup, see [Connect to + NATS](/integrations/messaging/nats/nats-connect/). + + +### Foundry fixes + +Azure AI Foundry hosted agents also include deployment fixes: project endpoints now use the correct `customSubDomainName` format, the Foundry-created agent identity receives the Cognitive Services User role automatically, and the app identity is no longer incorrectly injected into the hosted-agent environment. + +## 🐛 Bug fixes and full changelog + +For the complete list of bug fixes and smaller changes in this release, see the [Aspire 13.4 release notes on GitHub](https://github.com/microsoft/aspire/releases/tag/v13.4.0). + +## 🙏 Community contributions + +Aspire is built in the open, and this release wouldn't be what it is without you. A huge thank you to all community contributors who helped make Aspire 13.4 possible — including [@mtmk](https://github.com/mtmk) for the NATS client update, [@ellahathaway](https://github.com/ellahathaway) for friendlier `aspire new` NuGet feed errors, [@Bertolossi](https://github.com/Bertolossi) for fixing an `aspire run` watch-mode hang, and [@arpitjain099](https://github.com/arpitjain099) for CI permission hardening. We're always excited to [see community contributions](/community/contributors/)! If you'd like to get involved, check out our [contributing guide](/community/contributor-guide/). + +## ⚠️ Breaking changes + + + +| Change | Migration | +| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| The experimental `aspire exec` command was removed. | Remove scripts or workflows that call `aspire exec`. For resource-specific actions, use [`aspire resource`](/reference/cli/commands/aspire-resource/) when the resource exposes a command. | +| Kubernetes Helm chart settings moved to `WithHelm(...)`. | Replace property-based configuration on `KubernetesEnvironmentResource` with the `WithHelm(...)` fluent builder. | +| Azure Front Door CDN resources use Azure.Provisioning name generation. | If an upgrade produces duplicate endpoint, origin group, or route names, remove and re-add the affected resource or set `Name` explicitly with `ConfigureInfrastructure`. | + +### Behavior changes to audit + +- `aspire update` now requires `--yes` in non-interactive mode. +- Resource command arguments are named options in the CLI instead of positional values. +- TypeScript AppHosts are validated before startup, so invalid TypeScript fails earlier. + +### Migration from Aspire 13.3 to 13.4 + + + +1. **Update the CLI** — run `aspire update --self`. This step is **required** for TypeScript AppHosts; running `aspire update` against a 13.3.x TypeScript project before updating the CLI fails with `No code generator found for language: TypeScript` and leaves the project in a partially-upgraded, unrunnable state (see [microsoft/aspire#17077](https://github.com/microsoft/aspire/issues/17077)). +2. **Update your projects** — run `aspire update` from the root of your repository. +3. **Run `aspire doctor`** to check your environment setup. +4. **Audit scripts and CI** for `aspire exec` and non-interactive `aspire update` calls. +5. **Update Kubernetes Helm configuration** to use `WithHelm(...)` if your AppHost set Helm chart properties directly. +6. **Review Azure Front Door deployments** and set explicit names if existing resources conflict with Azure.Provisioning name generation. + + + +**Build something amazing.** We'd love to hear about your experience with Aspire 13.4 — share what you're building on [GitHub](https://github.com/microsoft/aspire/issues) or come hang out with us on [Discord](https://aka.ms/aspire-discord). diff --git a/src/frontend/src/content/docs/whats-new/aspire-13.mdx b/src/frontend/src/content/docs/whats-new/aspire-13.mdx index 7544618d6..f813f603a 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-13.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-13.mdx @@ -1,6 +1,6 @@ --- -title: What's new in Aspire 13 -description: Aspire 13.0 introduces multi-language application development with first-class Python and JavaScript support, container-based builds, aspire do pipelines, VS Code extension, and modern CLI tooling updates and improvements. +title: "What's new in Aspire 13" +description: "Explore Aspire 13.0: multi-language app development with first-class Python and JavaScript support, container-based builds, aspire do pipelines, and VS Code extension." sidebar: label: Aspire 13.0 order: 2 diff --git a/src/frontend/src/content/docs/whats-new/aspire-9-1.mdx b/src/frontend/src/content/docs/whats-new/aspire-9-1.mdx index 59256a802..3434fe130 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-9-1.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-9-1.mdx @@ -1,6 +1,6 @@ --- -title: Aspire 9.1 -description: Learn what's new in Aspire 9.1. +title: "What's new in Aspire 9.1" +description: "Explore Aspire 9.1: parent and child resource grouping, dashboard language picker, telemetry filtering, console log downloads, and resource detail enhancements." tableOfContents: maxHeadingLevel: 2 publishDate: 2025-02-25 diff --git a/src/frontend/src/content/docs/whats-new/aspire-9-2.mdx b/src/frontend/src/content/docs/whats-new/aspire-9-2.mdx index f4ebc3ad7..6c99bfb9e 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-9-2.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-9-2.mdx @@ -1,6 +1,6 @@ --- -title: Aspire 9.2 -description: Learn what's new in the official general availability release of Aspire 9.2. +title: "What's new in Aspire 9.2" +description: "Explore Aspire 9.2: dashboard cardinality limits, UTC console logs, telemetry pause, resource icons, and broader app-host and integrations updates across the stack." tableOfContents: maxHeadingLevel: 2 publishDate: 2025-04-10 diff --git a/src/frontend/src/content/docs/whats-new/aspire-9-3.mdx b/src/frontend/src/content/docs/whats-new/aspire-9-3.mdx index bb4f42685..42578b971 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-9-3.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-9-3.mdx @@ -1,6 +1,6 @@ --- -title: What's new in Aspire 9.3 -description: Learn what's new in the official general availability release of Aspire 9.3. +title: "What's new in Aspire 9.3" +description: "Explore Aspire 9.3: GitHub Copilot in the dashboard, dashboard context menu, metric warnings, traces for uninstrumented resources, and dashboard filtering updates." tableOfContents: maxHeadingLevel: 2 publishDate: 2025-05-19 diff --git a/src/frontend/src/content/docs/whats-new/aspire-9-4.mdx b/src/frontend/src/content/docs/whats-new/aspire-9-4.mdx index 2e7633268..f508370b3 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-9-4.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-9-4.mdx @@ -1,6 +1,6 @@ --- -title: What's new in Aspire 9.4 -description: Learn what's new in the official general availability release of Aspire 9.4. +title: "What's new in Aspire 9.4" +description: "Explore Aspire 9.4: dashboard interaction service, hidden resources, connection-string display, tracing peers, console log wrapping, and parameter authoring updates." tableOfContents: maxHeadingLevel: 2 publishDate: 2025-07-29 diff --git a/src/frontend/src/content/docs/whats-new/aspire-9-5.mdx b/src/frontend/src/content/docs/whats-new/aspire-9-5.mdx index 684ad2aa1..f2d3200ec 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-9-5.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-9-5.mdx @@ -1,6 +1,6 @@ --- -title: What's new in Aspire 9.5 -description: Learn what's new in Aspire 9.5. +title: "What's new in Aspire 9.5" +description: "Explore Aspire 9.5: combined console logs view, GenAI trace visualizer, trace details, aspire update, richer property grids, and a refreshed dashboard." tableOfContents: maxHeadingLevel: 2 publishDate: 2025-09-25 diff --git a/src/frontend/src/content/docs/whats-new/aspire-9.mdx b/src/frontend/src/content/docs/whats-new/aspire-9.mdx index 5eff71a40..bf6115ed7 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-9.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-9.mdx @@ -1,6 +1,6 @@ --- -title: Aspire 9.0 -description: Learn what's new in Aspire 9.0. +title: "What's new in Aspire 9.0" +description: "Explore Aspire 9.0: ANSI console log formatting, browser telemetry, waiting-for-resource health gates, persistent containers, Redis Insight, and Azure Functions support." tableOfContents: maxHeadingLevel: 2 publishDate: 2024-11-12 diff --git a/src/frontend/src/content/docs/whats-new/upgrade-aspire.mdx b/src/frontend/src/content/docs/whats-new/upgrade-aspire.mdx index ee09ffefa..0d9b8b647 100644 --- a/src/frontend/src/content/docs/whats-new/upgrade-aspire.mdx +++ b/src/frontend/src/content/docs/whats-new/upgrade-aspire.mdx @@ -1,6 +1,6 @@ --- -title: Upgrade Aspire -description: Learn how to upgrade an Aspire app to the latest version. +title: Upgrade Aspire to the latest version +description: "Learn how to upgrade an existing Aspire app: update the Aspire CLI, run aspire update, refresh NuGet packages, and review breaking changes for each release." --- import { Aside, Steps } from '@astrojs/starlight/components'; diff --git a/src/frontend/src/content/docs/zh-cn/index.mdx b/src/frontend/src/content/docs/zh-cn/index.mdx index c25a097c8..224834e46 100644 --- a/src/frontend/src/content/docs/zh-cn/index.mdx +++ b/src/frontend/src/content/docs/zh-cn/index.mdx @@ -11,7 +11,7 @@ prev: false next: false banner: content: | - 🚀 Aspire 13.3 已发布!查看 Aspire 13.3 的新功能。 + 🚀 Aspire 13.4 已发布!查看 Aspire 13.4 的新功能。 hero: tagline: 精简你的技术栈。

轻松编排前端、API、容器和数据库—无需重写,无限可能。扩展 Aspire 为任何项目赋能。

image: diff --git a/src/frontend/src/data/aspire-integration-names.json b/src/frontend/src/data/aspire-integration-names.json index e03ac7b0f..bf9bd30e5 100644 --- a/src/frontend/src/data/aspire-integration-names.json +++ b/src/frontend/src/data/aspire-integration-names.json @@ -40,6 +40,7 @@ "Aspire.Hosting.Elasticsearch", "Aspire.Hosting.Garnet", "Aspire.Hosting.GitHub.Models", + "Aspire.Hosting.Go", "Aspire.Hosting.JavaScript", "Aspire.Hosting.Kafka", "Aspire.Hosting.Keycloak", diff --git a/src/frontend/src/data/integration-docs.json b/src/frontend/src/data/integration-docs.json index d9c9a0a2a..804b5311f 100644 --- a/src/frontend/src/data/integration-docs.json +++ b/src/frontend/src/data/integration-docs.json @@ -179,6 +179,10 @@ "match": "Aspire.Hosting.GitHub.Models", "href": "/integrations/ai/github-models/github-models-get-started/" }, + { + "match": "Aspire.Hosting.Go", + "href": "/integrations/frameworks/go/go-get-started/" + }, { "match": "Aspire.Hosting.JavaScript", "href": "/integrations/frameworks/javascript/" @@ -403,10 +407,6 @@ "match": "CommunityToolkit.Aspire.Hosting.GoFeatureFlag", "href": "/integrations/devtools/goff/goff-get-started/" }, - { - "match": "CommunityToolkit.Aspire.Hosting.Golang", - "href": "/integrations/frameworks/go-apps/" - }, { "match": "CommunityToolkit.Aspire.Hosting.Java", "href": "/integrations/frameworks/java/" diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.13.3.0.json index 5a1728840..af891b6b0 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.13.3.0.json @@ -35,17 +35,20 @@ "name": "addContainer", "capabilityId": "Aspire.Hosting/addContainer", "qualifiedName": "addContainer", - "description": "Adds a container resource", + "description": "Adds a container resource to the application.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "addContainer(name: string, image: AddContainerOptions): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "image", - "type": "AddContainerOptions" + "type": "AddContainerOptions", + "description": "The image name or image options for the container." } ], "returnType": "ContainerResource", @@ -169,27 +172,33 @@ "name": "addDockerfile", "capabilityId": "Aspire.Hosting/addDockerfile", "qualifiedName": "addDockerfile", - "description": "Adds a container resource built from a Dockerfile", + "description": "Adds a Dockerfile to the application model that can be treated like a container resource.", + "remarks": "The `contextPath` is relative to the AppHost directory unless it is a fully qualified path.\nThe `dockerfilePath` is relative to the `contextPath` unless it is a fully qualified path.\nIf the `dockerfilePath` is not provided, it defaults to \"Dockerfile\" in the `contextPath`.\nWhen generating the manifest for deployment tools, the `AddDockerfile`\nmethod results in an additional attribute being added to the `container.v1` resource type which contains the configuration\nnecessary to allow the deployment tool to build the container image prior to deployment.\nCreates a container called `mycontainer` based on a Dockerfile in the context path `path/to/context`.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddDockerfile(\"mycontainer\", \"path/to/context\");\nbuilder.Build().Run();\n```", + "returns": "A `IResourceBuilder`1`.", "kind": "Method", "signature": "addDockerfile(name: string, contextPath: string, dockerfilePath?: string, stage?: string): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "contextPath", - "type": "string" + "type": "string", + "description": "Path to be used as the context for the container image build." }, { "name": "dockerfilePath", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Path to the Dockerfile relative to the `contextPath`. Defaults to \"Dockerfile\" if not specified." }, { "name": "stage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The stage representing the image to be published in a multi-stage Dockerfile." } ], "returnType": "ContainerResource", @@ -203,28 +212,34 @@ "name": "addDockerfileBuilder", "capabilityId": "Aspire.Hosting/addDockerfileBuilder", "qualifiedName": "addDockerfileBuilder", - "description": "Adds a container resource built from a programmatically generated Dockerfile", + "description": "Adds a Dockerfile to the application model that can be treated like a container resource, with the Dockerfile generated programmatically using the `DockerfileBuilder` API.", + "remarks": "This method provides a programmatic way to build Dockerfiles using the `DockerfileBuilder` API\ninstead of string manipulation.\nThe `contextPath` is relative to the AppHost directory unless it is fully qualified.\nCreates a container with a programmatically built Dockerfile:\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddDockerfileBuilder(\"mycontainer\", \"path/to/context\", context =>\n{\ncontext.Builder.From(\"alpine:latest\")\n.WorkDir(\"/app\")\n.Copy(\".\", \".\")\n.Cmd([\"./myapp\"]);\nreturn Task.CompletedTask;\n});\nbuilder.Build().Run();\n```", + "returns": "A `IResourceBuilder`1`.", "kind": "Method", - "signature": "addDockerfileBuilder(name: string, contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E, stage?: string): ContainerResource", + "signature": "addDockerfileBuilder(name: string, contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) => Promise, stage?: string): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "contextPath", - "type": "string" + "type": "string", + "description": "Path to be used as the context for the container image build." }, { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: DockerfileBuilderCallbackContext) => Promise", + "description": "A callback that uses the `DockerfileBuilder` API to construct the Dockerfile." }, { "name": "stage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The stage representing the image to be published in a multi-stage Dockerfile." } ], "returnType": "ContainerResource", @@ -238,17 +253,20 @@ "name": "addDotnetTool", "capabilityId": "Aspire.Hosting/addDotnetTool", "qualifiedName": "addDotnetTool", - "description": "Adds a .NET tool resource", + "description": "Adds a .NET tool resource to the application model.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "addDotnetTool(name: string, packageId: string): DotnetToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "packageId", - "type": "string" + "type": "string", + "description": "The package id of the tool." } ], "returnType": "DotnetToolResource", @@ -262,15 +280,16 @@ "name": "addEventingSubscriber", "capabilityId": "Aspire.Hosting/addEventingSubscriber", "qualifiedName": "addEventingSubscriber", - "description": "Adds an eventing subscriber", + "description": "Adds an ATS-friendly eventing subscriber callback to the distributed-application builder.", "kind": "Method", - "signature": "addEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E): void", + "signature": "addEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) => Promise): void", "parameters": [ { "name": "subscribe", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: EventingSubscriberRegistrationContext) => Promise", + "description": "The callback that registers the event subscriptions." } ], "returnType": "void", @@ -283,25 +302,31 @@ "name": "addExecutable", "capabilityId": "Aspire.Hosting/addExecutable", "qualifiedName": "addExecutable", - "description": "Adds an executable resource", + "description": "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't run executable unless the command is located in a path listed in the PATH environment variable.\nTo run an executable file that's in the current directory, specify the full path or use the relative path `./` to represent the current directory.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "addExecutable(name: string, command: string, workingDirectory: string, args: string[]): ExecutableResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "command", - "type": "string" + "type": "string", + "description": "The executable path. This can be a fully qualified path or a executable to run from the shell/command line." }, { "name": "workingDirectory", - "type": "string" + "type": "string", + "description": "The working directory of the executable." }, { "name": "args", - "type": "string[]" + "type": "string[]", + "description": "The arguments to the executable." } ], "returnType": "ExecutableResource", @@ -339,17 +364,19 @@ "name": "addMarkdown", "capabilityId": "Aspire.Hosting/addMarkdown", "qualifiedName": "addMarkdown", - "description": "Adds a Markdown-formatted value to the pipeline summary", + "description": "Adds a key-value pair to the pipeline summary with a Markdown-formatted value.", "kind": "Method", "signature": "addMarkdown(key: string, markdownString: string): void", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The key or label for the item." }, { "name": "markdownString", - "type": "string" + "type": "string", + "description": "The Markdown-formatted value for the item." } ], "returnType": "void", @@ -399,23 +426,27 @@ "name": "addParameterFromConfiguration", "capabilityId": "Aspire.Hosting/addParameterFromConfiguration", "qualifiedName": "addParameterFromConfiguration", - "description": "Adds a parameter sourced from configuration", + "description": "Adds a parameter resource to the application, with a value coming from configuration.", + "returns": "Resource builder for the parameter.", "kind": "Method", "signature": "addParameterFromConfiguration(name: string, configurationKey: string, secret?: boolean): ParameterResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "Name of parameter resource" }, { "name": "configurationKey", - "type": "string" + "type": "string", + "description": "Configuration key used to get the value of the parameter" }, { "name": "secret", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "Optional flag indicating whether the parameter should be regarded as secret." } ], "returnType": "ParameterResource", @@ -494,29 +525,33 @@ "name": "addStep", "capabilityId": "Aspire.Hosting/addStep", "qualifiedName": "addStep", - "description": "Adds a pipeline step to the application", + "description": "Adds an application-level pipeline step in a TypeScript-friendly shape.", "kind": "Method", - "signature": "addStep(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, dependsOn?: string[], requiredBy?: string[]): void", + "signature": "addStep(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[]): void", "parameters": [ { "name": "stepName", - "type": "string" + "type": "string", + "description": "The unique name of the pipeline step." }, { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: PipelineStepContext) => Promise", + "description": "The callback to execute when the step runs." }, { "name": "dependsOn", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional step names that this step depends on." }, { "name": "requiredBy", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional step names that require this step." } ], "returnType": "void", @@ -529,7 +564,7 @@ "name": "model", "capabilityId": "Aspire.Hosting.ApplicationModel/AfterResourcesCreatedEvent.model", "qualifiedName": "AfterResourcesCreatedEvent.model", - "description": "Gets the Model property", + "description": "The `DistributedApplicationModel` instance.", "kind": "PropertyGetter", "signature": "model(): DistributedApplicationModel", "parameters": [], @@ -543,7 +578,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.ApplicationModel/AfterResourcesCreatedEvent.services", "qualifiedName": "AfterResourcesCreatedEvent.services", - "description": "Gets the Services property", + "description": "The `IServiceProvider` instance.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -605,7 +640,8 @@ "name": "asHttp2Service", "capabilityId": "Aspire.Hosting/asHttp2Service", "qualifiedName": "asHttp2Service", - "description": "Configures resource for HTTP/2", + "description": "Configures a resource to mark all endpoints' transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "asHttp2Service(): IResourceWithEndpoints", "parameters": [], @@ -652,7 +688,7 @@ "name": "model", "capabilityId": "Aspire.Hosting.ApplicationModel/BeforeStartEvent.model", "qualifiedName": "BeforeStartEvent.model", - "description": "Gets the Model property", + "description": "The `DistributedApplicationModel` instance.", "kind": "PropertyGetter", "signature": "model(): DistributedApplicationModel", "parameters": [], @@ -666,7 +702,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.ApplicationModel/BeforeStartEvent.services", "qualifiedName": "BeforeStartEvent.services", - "description": "Gets the Services property", + "description": "The `IServiceProvider` instance.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -680,23 +716,27 @@ "name": "build", "capabilityId": "Aspire.Hosting/buildExecutionConfiguration", "qualifiedName": "build", - "description": "Builds the execution configuration", + "description": "Builds the execution configuration for the specified builder.", + "returns": "The resolved execution configuration.", "kind": "Method", "signature": "build(executionContext: DistributedApplicationExecutionContext, resourceLogger?: ILogger, cancellationToken?: cancellationToken): IExecutionConfigurationResult", "parameters": [ { "name": "executionContext", - "type": "DistributedApplicationExecutionContext" + "type": "DistributedApplicationExecutionContext", + "description": "The execution context used while building the configuration." }, { "name": "resourceLogger", "type": "ILogger", - "isOptional": true + "isOptional": true, + "description": "The logger used while resolving values." }, { "name": "cancellationToken", "type": "cancellationToken", - "isOptional": true + "isOptional": true, + "description": "A cancellation token." } ], "returnType": "IExecutionConfigurationResult", @@ -709,7 +749,8 @@ "name": "clearContainerFilesSources", "capabilityId": "Aspire.Hosting/clearContainerFilesSources", "qualifiedName": "clearContainerFilesSources", - "description": "Clears all container file sources", + "description": "Removes any container files source annotation from the resource being built.", + "returns": "The resource builder instance with the container files source annotation applied.", "kind": "Method", "signature": "clearContainerFilesSources(): IResourceWithContainerFiles", "parameters": [], @@ -743,7 +784,7 @@ "name": "args", "capabilityId": "Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.args", "qualifiedName": "CommandLineArgsCallbackContext.args", - "description": "Gets the command-line argument editor", + "description": "Gets the editor used to manipulate command-line arguments in polyglot callbacks.", "kind": "PropertyGetter", "signature": "args(): CommandLineArgsEditor", "parameters": [], @@ -757,7 +798,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.executionContext", "qualifiedName": "CommandLineArgsCallbackContext.executionContext", - "description": "Gets the execution context for this callback invocation", + "description": "Gets the execution context associated with this callback.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -771,7 +812,7 @@ "name": "log", "capabilityId": "Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.log", "qualifiedName": "CommandLineArgsCallbackContext.log", - "description": "Gets the callback logger facade", + "description": "Gets the logger facade used by polyglot callbacks.", "kind": "PropertyGetter", "signature": "log(): LogFacade", "parameters": [], @@ -785,7 +826,8 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.resource", "qualifiedName": "CommandLineArgsCallbackContext.resource", - "description": "Gets the resource associated with this callback", + "description": "The resource associated with this callback context.", + "remarks": "This will be set to the resource in all cases where Aspire invokes the callback.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -799,13 +841,14 @@ "name": "add", "capabilityId": "Aspire.Hosting.ApplicationModel/add", "qualifiedName": "CommandLineArgsEditor.add", - "description": "Adds a command-line argument", + "description": "Adds a command-line argument.", "kind": "InstanceMethod", "signature": "add(value: IExpressionValue): void", "parameters": [ { "name": "value", - "type": "IExpressionValue" + "type": "IExpressionValue", + "description": "The argument to add." } ], "returnType": "void", @@ -837,7 +880,7 @@ "name": "completeLog", "capabilityId": "Aspire.Hosting/completeLog", "qualifiedName": "completeLog", - "description": "Completes the log stream for a resource", + "description": "Completes the log stream for a resource.", "kind": "Method", "signature": "completeLog(resource: IResource): void", "parameters": [ @@ -856,7 +899,7 @@ "name": "completeLogByName", "capabilityId": "Aspire.Hosting/completeLogByName", "qualifiedName": "completeLogByName", - "description": "Completes the log stream by resource name", + "description": "Completes the log stream by resource name.", "kind": "Method", "signature": "completeLogByName(resourceName: string): void", "parameters": [ @@ -875,7 +918,7 @@ "name": "completeStep", "capabilityId": "Aspire.Hosting/completeStep", "qualifiedName": "completeStep", - "description": "Completes the reporting step with plain-text completion text", + "description": "Completes the reporting step with plain-text completion text.", "kind": "Method", "signature": "completeStep(completionText: string, completionState?: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -905,7 +948,7 @@ "name": "completeStepMarkdown", "capabilityId": "Aspire.Hosting/completeStepMarkdown", "qualifiedName": "completeStepMarkdown", - "description": "Completes the reporting step with Markdown-formatted completion text", + "description": "Completes the reporting step with Markdown-formatted completion text.", "kind": "Method", "signature": "completeStepMarkdown(markdownString: string, completionState?: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -935,7 +978,7 @@ "name": "completeTask", "capabilityId": "Aspire.Hosting/completeTask", "qualifiedName": "completeTask", - "description": "Completes the reporting task with plain-text completion text", + "description": "Completes the reporting task with plain-text completion text.", "kind": "Method", "signature": "completeTask(completionMessage?: string, completionState?: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -966,7 +1009,7 @@ "name": "completeTaskMarkdown", "capabilityId": "Aspire.Hosting/completeTaskMarkdown", "qualifiedName": "completeTaskMarkdown", - "description": "Completes the reporting task with Markdown-formatted completion text", + "description": "Completes the reporting task with Markdown-formatted completion text.", "kind": "Method", "signature": "completeTaskMarkdown(markdownString: string, completionState?: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -996,15 +1039,16 @@ "name": "configure", "capabilityId": "Aspire.Hosting/configure", "qualifiedName": "configure", - "description": "Configures the application pipeline via a callback", + "description": "Registers a pipeline configuration callback in a TypeScript-friendly shape.", "kind": "Method", - "signature": "configure(callback: (arg: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): void", + "signature": "configure(callback: (arg: PipelineConfigurationContext) => Promise): void", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: PipelineConfigurationContext) => Promise", + "description": "The callback to execute during pipeline configuration." } ], "returnType": "void", @@ -1045,7 +1089,7 @@ "name": "remoteImageName", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptions.remoteImageName", "qualifiedName": "ContainerImagePushOptions.remoteImageName", - "description": "Gets the RemoteImageName property", + "description": "Gets or sets the remote image name (repository path without registry endpoint or tag).", "kind": "PropertyGetter", "signature": "remoteImageName(): string", "parameters": [], @@ -1059,7 +1103,7 @@ "name": "remoteImageTag", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptions.remoteImageTag", "qualifiedName": "ContainerImagePushOptions.remoteImageTag", - "description": "Gets the RemoteImageTag property", + "description": "Gets or sets the remote image tag.", "kind": "PropertyGetter", "signature": "remoteImageTag(): string", "parameters": [], @@ -1073,7 +1117,7 @@ "name": "setRemoteImageName", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptions.setRemoteImageName", "qualifiedName": "ContainerImagePushOptions.setRemoteImageName", - "description": "Sets the RemoteImageName property", + "description": "Gets or sets the remote image name (repository path without registry endpoint or tag).", "kind": "PropertySetter", "signature": "setRemoteImageName(value: string): ContainerImagePushOptions", "parameters": [ @@ -1092,7 +1136,7 @@ "name": "setRemoteImageTag", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptions.setRemoteImageTag", "qualifiedName": "ContainerImagePushOptions.setRemoteImageTag", - "description": "Sets the RemoteImageTag property", + "description": "Gets or sets the remote image tag.", "kind": "PropertySetter", "signature": "setRemoteImageTag(value: string): ContainerImagePushOptions", "parameters": [ @@ -1111,7 +1155,7 @@ "name": "cancellationToken", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.cancellationToken", "qualifiedName": "ContainerImagePushOptionsCallbackContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "Gets the cancellation token to observe while configuring image push options.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -1125,7 +1169,7 @@ "name": "options", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.options", "qualifiedName": "ContainerImagePushOptionsCallbackContext.options", - "description": "Gets the Options property", + "description": "Gets the container image push options that can be modified by the callback.", "kind": "PropertyGetter", "signature": "options(): ContainerImagePushOptions", "parameters": [], @@ -1139,7 +1183,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.resource", "qualifiedName": "ContainerImagePushOptionsCallbackContext.resource", - "description": "Gets the Resource property", + "description": "Gets the resource being configured for container image push operations.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -1149,63 +1193,6 @@ "Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext" ] }, - { - "name": "setCancellationToken", - "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.setCancellationToken", - "qualifiedName": "ContainerImagePushOptionsCallbackContext.setCancellationToken", - "description": "Sets the CancellationToken property", - "kind": "PropertySetter", - "signature": "setCancellationToken(value: cancellationToken): ContainerImagePushOptionsCallbackContext", - "parameters": [ - { - "name": "value", - "type": "cancellationToken" - } - ], - "returnType": "ContainerImagePushOptionsCallbackContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext" - ] - }, - { - "name": "setOptions", - "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.setOptions", - "qualifiedName": "ContainerImagePushOptionsCallbackContext.setOptions", - "description": "Sets the Options property", - "kind": "PropertySetter", - "signature": "setOptions(value: ContainerImagePushOptions): ContainerImagePushOptionsCallbackContext", - "parameters": [ - { - "name": "value", - "type": "ContainerImagePushOptions" - } - ], - "returnType": "ContainerImagePushOptionsCallbackContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext" - ] - }, - { - "name": "setResource", - "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.setResource", - "qualifiedName": "ContainerImagePushOptionsCallbackContext.setResource", - "description": "Sets the Resource property", - "kind": "PropertySetter", - "signature": "setResource(value: IResource): ContainerImagePushOptionsCallbackContext", - "parameters": [ - { - "name": "value", - "type": "IResource" - } - ], - "returnType": "ContainerImagePushOptionsCallbackContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext" - ] - }, { "name": "copy", "capabilityId": "Aspire.Hosting/dockerfileStageCopy", @@ -1284,7 +1271,8 @@ "name": "createExecutionConfiguration", "capabilityId": "Aspire.Hosting/createExecutionConfiguration", "qualifiedName": "createExecutionConfiguration", - "description": "Creates an execution configuration builder", + "description": "Creates an execution configuration builder for the specified resource.", + "returns": "The execution configuration builder.", "kind": "Method", "signature": "createExecutionConfiguration(): IExecutionConfigurationBuilder", "parameters": [], @@ -1305,13 +1293,15 @@ "name": "createLogger", "capabilityId": "Aspire.Hosting/createLogger", "qualifiedName": "createLogger", - "description": "Creates a logger for a category", + "description": "Creates a logger for the specified category name.", + "returns": "A logger handle.", "kind": "Method", "signature": "createLogger(categoryName: string): ILogger", "parameters": [ { "name": "categoryName", - "type": "string" + "type": "string", + "description": "The category name." } ], "returnType": "ILogger", @@ -1324,7 +1314,7 @@ "name": "createMarkdownTask", "capabilityId": "Aspire.Hosting/createMarkdownTask", "qualifiedName": "createMarkdownTask", - "description": "Creates a reporting task with Markdown-formatted status text", + "description": "Creates a reporting task with Markdown-formatted status text.", "kind": "Method", "signature": "createMarkdownTask(markdownString: string, cancellationToken?: cancellationToken): IReportingTask", "parameters": [ @@ -1348,7 +1338,7 @@ "name": "createTask", "capabilityId": "Aspire.Hosting/createTask", "qualifiedName": "createTask", - "description": "Creates a reporting task with plain-text status text", + "description": "Creates a reporting task with plain-text status text.", "kind": "Method", "signature": "createTask(statusText: string, cancellationToken?: cancellationToken): IReportingTask", "parameters": [ @@ -1372,157 +1362,171 @@ "name": "Dict.clear", "capabilityId": "Aspire.Hosting/Dict.clear", "qualifiedName": "Dict.clear", - "description": "Clears all entries from a dictionary", + "description": "Clears all entries from a dictionary.", "kind": "Method", "signature": "Dict.clear(): void", "parameters": [], "returnType": "void", - "targetTypeId": "Aspire.Hosting/Dict\u003Cstring,any\u003E", + "targetTypeId": "Aspire.Hosting/Dict", "expandedTargetTypes": [ - "Dict\u003Cstring,any\u003E" + "Dict" ] }, { "name": "Dict.count", "capabilityId": "Aspire.Hosting/Dict.count", "qualifiedName": "Dict.count", - "description": "Gets the number of entries in a dictionary", + "description": "Gets the number of entries in a dictionary.", + "returns": "The number of key-value pairs.", "kind": "Method", "signature": "Dict.count(): number", "parameters": [], "returnType": "number", - "targetTypeId": "Aspire.Hosting/Dict\u003Cstring,any\u003E", + "targetTypeId": "Aspire.Hosting/Dict", "expandedTargetTypes": [ - "Dict\u003Cstring,any\u003E" + "Dict" ] }, { "name": "Dict.get", "capabilityId": "Aspire.Hosting/Dict.get", "qualifiedName": "Dict.get", - "description": "Gets a value from a dictionary", + "description": "Gets a value from a dictionary by key.", + "returns": "The value, or null if not found.", "kind": "Method", "signature": "Dict.get(key: any): any", "parameters": [ { "name": "key", - "type": "any" + "type": "any", + "description": "The key to look up." } ], "returnType": "any", - "targetTypeId": "Aspire.Hosting/Dict\u003Cstring,any\u003E", + "targetTypeId": "Aspire.Hosting/Dict", "expandedTargetTypes": [ - "Dict\u003Cstring,any\u003E" + "Dict" ] }, { "name": "Dict.has", "capabilityId": "Aspire.Hosting/Dict.has", "qualifiedName": "Dict.has", - "description": "Checks if a dictionary contains a key", + "description": "Checks if a dictionary contains a key.", + "returns": "True if the key exists.", "kind": "Method", "signature": "Dict.has(key: any): boolean", "parameters": [ { "name": "key", - "type": "any" + "type": "any", + "description": "The key to check." } ], "returnType": "boolean", - "targetTypeId": "Aspire.Hosting/Dict\u003Cstring,any\u003E", + "targetTypeId": "Aspire.Hosting/Dict", "expandedTargetTypes": [ - "Dict\u003Cstring,any\u003E" + "Dict" ] }, { "name": "Dict.keys", "capabilityId": "Aspire.Hosting/Dict.keys", "qualifiedName": "Dict.keys", - "description": "Gets all keys from a dictionary", + "description": "Gets all keys from a dictionary.", + "returns": "An array of all keys.", "kind": "Method", "signature": "Dict.keys(): any[]", "parameters": [], "returnType": "any[]", - "targetTypeId": "Aspire.Hosting/Dict\u003Cstring,any\u003E", + "targetTypeId": "Aspire.Hosting/Dict", "expandedTargetTypes": [ - "Dict\u003Cstring,any\u003E" + "Dict" ] }, { "name": "Dict.remove", "capabilityId": "Aspire.Hosting/Dict.remove", "qualifiedName": "Dict.remove", - "description": "Removes a key from a dictionary", + "description": "Removes a key from a dictionary.", + "returns": "True if the key was removed, false if not found.", "kind": "Method", "signature": "Dict.remove(key: any): boolean", "parameters": [ { "name": "key", - "type": "any" + "type": "any", + "description": "The key to remove." } ], "returnType": "boolean", - "targetTypeId": "Aspire.Hosting/Dict\u003Cstring,any\u003E", + "targetTypeId": "Aspire.Hosting/Dict", "expandedTargetTypes": [ - "Dict\u003Cstring,any\u003E" + "Dict" ] }, { "name": "Dict.set", "capabilityId": "Aspire.Hosting/Dict.set", "qualifiedName": "Dict.set", - "description": "Sets a value in a dictionary", + "description": "Sets a value in a dictionary.", "kind": "Method", "signature": "Dict.set(key: any, value: any): void", "parameters": [ { "name": "key", - "type": "any" + "type": "any", + "description": "The key to set." }, { "name": "value", - "type": "any" + "type": "any", + "description": "The value to set." } ], "returnType": "void", - "targetTypeId": "Aspire.Hosting/Dict\u003Cstring,any\u003E", + "targetTypeId": "Aspire.Hosting/Dict", "expandedTargetTypes": [ - "Dict\u003Cstring,any\u003E" + "Dict" ] }, { "name": "Dict.toObject", "capabilityId": "Aspire.Hosting/Dict.toObject", "qualifiedName": "Dict.toObject", - "description": "Converts a dictionary to a plain object", + "description": "Converts the dictionary to a plain object (creates a copy).", + "returns": "A copy of the dictionary as an object.", "kind": "Method", - "signature": "Dict.toObject(): Dict\u003Cstring,any\u003E", + "signature": "Dict.toObject(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,any\u003E", - "targetTypeId": "Aspire.Hosting/Dict\u003Cstring,any\u003E", + "returnType": "Dict", + "targetTypeId": "Aspire.Hosting/Dict", "expandedTargetTypes": [ - "Dict\u003Cstring,any\u003E" + "Dict" ] }, { "name": "Dict.values", "capabilityId": "Aspire.Hosting/Dict.values", "qualifiedName": "Dict.values", - "description": "Gets all values from a dictionary", + "description": "Gets all values from a dictionary.", + "returns": "An array of all values.", "kind": "Method", "signature": "Dict.values(): any[]", "parameters": [], "returnType": "any[]", - "targetTypeId": "Aspire.Hosting/Dict\u003Cstring,any\u003E", + "targetTypeId": "Aspire.Hosting/Dict", "expandedTargetTypes": [ - "Dict\u003Cstring,any\u003E" + "Dict" ] }, { "name": "disableBuildOnlyContainerValidation", "capabilityId": "Aspire.Hosting/disableBuildOnlyContainerValidation", "qualifiedName": "disableBuildOnlyContainerValidation", - "description": "Disables publish and deploy validation for unconsumed build-only containers.", + "description": "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 `PublishWithContainerFiles` or\n`PublishWithStaticFiles` when possible.", + "returns": "The distributed application pipeline for chaining.", "kind": "Method", "signature": "disableBuildOnlyContainerValidation(): IDistributedApplicationPipeline", "parameters": [], @@ -1536,7 +1540,9 @@ "name": "disableForwardedHeaders", "capabilityId": "Aspire.Hosting/disableForwardedHeaders", "qualifiedName": "disableForwardedHeaders", - "description": "Disables forwarded headers for the project", + "description": "Configures the project to disable forwarded headers when being published.", + "remarks": "By default Aspire assumes that .NET applications which expose endpoints should be configured to\nuse forwarded headers. This is because most typical cloud native deployment scenarios involve a reverse\nproxy which translates an external endpoint hostname to an internal address.\nTo enable forwarded headers the `ASPNETCORE_FORWARDEDHEADERS_ENABLED` variable is injected\ninto the project and set to true. If the `DisableForwardedHeaders`\nextension is used this environment variable will not be set.\nDisable forwarded headers for a project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddProject(\"inventoryservice\")\n.DisableForwardedHeaders();\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "disableForwardedHeaders(): ProjectResource", "parameters": [], @@ -1552,14 +1558,17 @@ "name": "run", "capabilityId": "Aspire.Hosting/run", "qualifiedName": "DistributedApplication.run", - "description": "Runs the distributed application", + "description": "Runs an application and returns a Task that only completes when the token is triggered or shutdown is triggered and all `IHostedService` instances are stopped.", + "remarks": "When the Aspire app host is launched via `RunAsync` there are\ntwo possible modes that it is running in:\n-\n-\nDevelopers extending the Aspire application model should consider the lifetime\nof `IHostedService` 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 `DistributedApplicationExecutionContext`.", + "returns": "The `Task` that represents the asynchronous operation.", "kind": "InstanceMethod", "signature": "run(cancellationToken?: cancellationToken): void", "parameters": [ { "name": "cancellationToken", "type": "cancellationToken", - "isOptional": true + "isOptional": true, + "description": "The token to trigger shutdown." } ], "returnType": "void", @@ -1572,7 +1581,7 @@ "name": "isPublishMode", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.isPublishMode", "qualifiedName": "DistributedApplicationExecutionContext.isPublishMode", - "description": "Gets the IsPublishMode property", + "description": "Returns true if the current operation is publishing.", "kind": "PropertyGetter", "signature": "isPublishMode(): boolean", "parameters": [], @@ -1586,7 +1595,7 @@ "name": "isRunMode", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.isRunMode", "qualifiedName": "DistributedApplicationExecutionContext.isRunMode", - "description": "Gets the IsRunMode property", + "description": "Returns true if the current operation is running.", "kind": "PropertyGetter", "signature": "isRunMode(): boolean", "parameters": [], @@ -1600,7 +1609,7 @@ "name": "operation", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.operation", "qualifiedName": "DistributedApplicationExecutionContext.operation", - "description": "Gets the Operation property", + "description": "The operation currently being performed by the AppHost.", "kind": "PropertyGetter", "signature": "operation(): DistributedApplicationOperation", "parameters": [], @@ -1614,7 +1623,7 @@ "name": "publisherName", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.publisherName", "qualifiedName": "DistributedApplicationExecutionContext.publisherName", - "description": "Gets the PublisherName property", + "description": "The name of the publisher that is being used if `Operation` is set to `Publish`.", "kind": "PropertyGetter", "signature": "publisherName(): string", "parameters": [], @@ -1628,7 +1637,7 @@ "name": "serviceProvider", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.serviceProvider", "qualifiedName": "DistributedApplicationExecutionContext.serviceProvider", - "description": "Gets the ServiceProvider property", + "description": "The `IServiceProvider` for the AppHost.", "kind": "PropertyGetter", "signature": "serviceProvider(): IServiceProvider", "parameters": [], @@ -1642,7 +1651,7 @@ "name": "setPublisherName", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.setPublisherName", "qualifiedName": "DistributedApplicationExecutionContext.setPublisherName", - "description": "Sets the PublisherName property", + "description": "The name of the publisher that is being used if `Operation` is set to `Publish`.", "kind": "PropertySetter", "signature": "setPublisherName(value: string): DistributedApplicationExecutionContext", "parameters": [ @@ -1661,7 +1670,7 @@ "name": "builder", "capabilityId": "Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.builder", "qualifiedName": "DockerfileBuilderCallbackContext.builder", - "description": "Gets the Builder property", + "description": "Gets the Dockerfile builder instance.", "kind": "PropertyGetter", "signature": "builder(): DockerfileBuilder", "parameters": [], @@ -1675,7 +1684,7 @@ "name": "cancellationToken", "capabilityId": "Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.cancellationToken", "qualifiedName": "DockerfileBuilderCallbackContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "Gets the cancellation token to observe while waiting for the task to complete.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -1689,7 +1698,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.resource", "qualifiedName": "DockerfileBuilderCallbackContext.resource", - "description": "Gets the Resource property", + "description": "Gets the resource being built.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -1703,7 +1712,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.services", "qualifiedName": "DockerfileBuilderCallbackContext.services", - "description": "Gets the Services property", + "description": "Gets the service provider for dependency injection.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -1731,7 +1740,7 @@ "name": "endpointName", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.endpointName", "qualifiedName": "EndpointReference.endpointName", - "description": "Gets the EndpointName property", + "description": "Gets the name of the endpoint associated with the endpoint reference.", "kind": "PropertyGetter", "signature": "endpointName(): string", "parameters": [], @@ -1745,7 +1754,7 @@ "name": "errorMessage", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.errorMessage", "qualifiedName": "EndpointReference.errorMessage", - "description": "Gets the ErrorMessage property", + "description": "Gets or sets a custom error message to be thrown when the endpoint annotation is not found.", "kind": "PropertyGetter", "signature": "errorMessage(): string", "parameters": [], @@ -1759,7 +1768,8 @@ "name": "excludeReferenceEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.excludeReferenceEndpoint", "qualifiedName": "EndpointReference.excludeReferenceEndpoint", - "description": "Gets the ExcludeReferenceEndpoint property", + "description": "Gets a value indicating whether this endpoint is excluded from the default set when referencing the resource's endpoints.", + "remarks": "Returns `false` if the endpoint annotation has not been added to the resource yet.\nOnce the annotation exists, this property delegates to `ExcludeReferenceEndpoint`.", "kind": "PropertyGetter", "signature": "excludeReferenceEndpoint(): boolean", "parameters": [], @@ -1773,7 +1783,7 @@ "name": "exists", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.exists", "qualifiedName": "EndpointReference.exists", - "description": "Gets the Exists property", + "description": "Gets a value indicating whether the endpoint exists.", "kind": "PropertyGetter", "signature": "exists(): boolean", "parameters": [], @@ -1787,17 +1797,21 @@ "name": "getTlsValue", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.getTlsValue", "qualifiedName": "EndpointReference.getTlsValue", - "description": "Gets a conditional expression that resolves to the enabledValue when TLS is enabled on the endpoint, or to the disabledValue otherwise.", + "description": "Creates a conditional `ReferenceExpression` that resolves to `enabledValue` when `TlsEnabled` is `true` on this endpoint, or to `disabledValue` otherwise.", + "remarks": "The returned expression evaluates the TLS state lazily each time its value is resolved, making it\nsafe to embed in a `ReferenceExpression` that is built before TLS is configured\n(e.g., before `BeforeStartEvent` fires). Because the condition and branches are declarative,\npolyglot code generators can translate this into native conditional constructs in any target language.", + "returns": "A conditional `ReferenceExpression` whose value tracks the TLS state of this endpoint.", "kind": "InstanceMethod", "signature": "getTlsValue(enabledValue: ReferenceExpression, disabledValue: ReferenceExpression): ReferenceExpression", "parameters": [ { "name": "enabledValue", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The expression to evaluate when TLS is enabled (e.g., `\",ssl=true\"`)." }, { "name": "disabledValue", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The expression to evaluate when TLS is not enabled." } ], "returnType": "ReferenceExpression", @@ -1810,14 +1824,16 @@ "name": "getValueAsync", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.getValueAsync", "qualifiedName": "EndpointReference.getValueAsync", - "description": "Gets the URL of the endpoint asynchronously", + "description": "Gets the URL of the endpoint asynchronously. Waits for the endpoint to be allocated if necessary.", + "returns": "The URL of the endpoint.", "kind": "InstanceMethod", "signature": "getValueAsync(cancellationToken?: cancellationToken): string", "parameters": [ { "name": "cancellationToken", "type": "cancellationToken", - "isOptional": true + "isOptional": true, + "description": "The cancellation token." } ], "returnType": "string", @@ -1830,7 +1846,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.host", "qualifiedName": "EndpointReference.host", - "description": "Gets the Host property", + "description": "Gets the host for this endpoint.", "kind": "PropertyGetter", "signature": "host(): string", "parameters": [], @@ -1844,7 +1860,7 @@ "name": "isAllocated", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.isAllocated", "qualifiedName": "EndpointReference.isAllocated", - "description": "Gets the IsAllocated property", + "description": "Gets a value indicating whether the endpoint is allocated.", "kind": "PropertyGetter", "signature": "isAllocated(): boolean", "parameters": [], @@ -1858,7 +1874,7 @@ "name": "isHttp", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.isHttp", "qualifiedName": "EndpointReference.isHttp", - "description": "Gets the IsHttp property", + "description": "Gets a value indicating whether the endpoint uses HTTP scheme.", "kind": "PropertyGetter", "signature": "isHttp(): boolean", "parameters": [], @@ -1872,7 +1888,7 @@ "name": "isHttps", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.isHttps", "qualifiedName": "EndpointReference.isHttps", - "description": "Gets the IsHttps property", + "description": "Gets a value indicating whether the endpoint uses HTTPS scheme.", "kind": "PropertyGetter", "signature": "isHttps(): boolean", "parameters": [], @@ -1886,7 +1902,7 @@ "name": "isHttpSchemeNamedEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.isHttpSchemeNamedEndpoint", "qualifiedName": "EndpointReference.isHttpSchemeNamedEndpoint", - "description": "Gets the IsHttpSchemeNamedEndpoint property", + "description": "Gets a value indicating whether the endpoint name is \"http\" or \"https\", 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.", "kind": "PropertyGetter", "signature": "isHttpSchemeNamedEndpoint(): boolean", "parameters": [], @@ -1900,7 +1916,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.port", "qualifiedName": "EndpointReference.port", - "description": "Gets the Port property", + "description": "Gets the port for this endpoint.", "kind": "PropertyGetter", "signature": "port(): number", "parameters": [], @@ -1914,13 +1930,15 @@ "name": "property", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.property", "qualifiedName": "EndpointReference.property", - "description": "Gets the specified property expression of the endpoint", + "description": "Gets the specified property expression of the endpoint.", + "returns": "An `EndpointReferenceExpression` representing the specified `EndpointProperty`.", "kind": "InstanceMethod", "signature": "property(property: EndpointProperty): EndpointReferenceExpression", "parameters": [ { "name": "property", - "type": "EndpointProperty" + "type": "EndpointProperty", + "description": "The `EndpointProperty` enum value to use in the reference." } ], "returnType": "EndpointReferenceExpression", @@ -1933,7 +1951,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.resource", "qualifiedName": "EndpointReference.resource", - "description": "Gets the Resource property", + "description": "Gets the resource owner of the endpoint reference.", "kind": "PropertyGetter", "signature": "resource(): IResourceWithEndpoints", "parameters": [], @@ -1947,7 +1965,7 @@ "name": "scheme", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.scheme", "qualifiedName": "EndpointReference.scheme", - "description": "Gets the Scheme property", + "description": "Gets the scheme for this endpoint.", "kind": "PropertyGetter", "signature": "scheme(): string", "parameters": [], @@ -1957,30 +1975,11 @@ "Aspire.Hosting.ApplicationModel.EndpointReference" ] }, - { - "name": "setErrorMessage", - "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.setErrorMessage", - "qualifiedName": "EndpointReference.setErrorMessage", - "description": "Sets the ErrorMessage property", - "kind": "PropertySetter", - "signature": "setErrorMessage(value: string): EndpointReference", - "parameters": [ - { - "name": "value", - "type": "string" - } - ], - "returnType": "EndpointReference", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.EndpointReference" - ] - }, { "name": "targetPort", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.targetPort", "qualifiedName": "EndpointReference.targetPort", - "description": "Gets the TargetPort property", + "description": "Gets the target port for this endpoint. If the port is dynamically allocated, this will return `null`.", "kind": "PropertyGetter", "signature": "targetPort(): number", "parameters": [], @@ -1994,7 +1993,8 @@ "name": "tlsEnabled", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.tlsEnabled", "qualifiedName": "EndpointReference.tlsEnabled", - "description": "Gets the TlsEnabled property", + "description": "Gets a value indicating whether TLS is enabled for this endpoint.", + "remarks": "Returns `false` if the endpoint annotation has not been added to the resource yet.\nOnce the annotation exists, this property delegates to `TlsEnabled`.", "kind": "PropertyGetter", "signature": "tlsEnabled(): boolean", "parameters": [], @@ -2008,7 +2008,7 @@ "name": "url", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.url", "qualifiedName": "EndpointReference.url", - "description": "Gets the Url property", + "description": "Gets the URL for this endpoint.", "kind": "PropertyGetter", "signature": "url(): string", "parameters": [], @@ -2022,7 +2022,7 @@ "name": "endpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReferenceExpression.endpoint", "qualifiedName": "EndpointReferenceExpression.endpoint", - "description": "Gets the Endpoint property", + "description": "Gets the `EndpointReference`.", "kind": "PropertyGetter", "signature": "endpoint(): EndpointReference", "parameters": [], @@ -2036,7 +2036,7 @@ "name": "property", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReferenceExpression.property", "qualifiedName": "EndpointReferenceExpression.property", - "description": "Gets the Property property", + "description": "Gets the `EndpointProperty` for the property expression.", "kind": "PropertyGetter", "signature": "property(): EndpointProperty", "parameters": [], @@ -2050,7 +2050,7 @@ "name": "valueExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReferenceExpression.valueExpression", "qualifiedName": "EndpointReferenceExpression.valueExpression", - "description": "Gets the ValueExpression property", + "description": "Gets the expression of the property of the endpoint.", "kind": "PropertyGetter", "signature": "valueExpression(): string", "parameters": [], @@ -2064,7 +2064,7 @@ "name": "excludeReferenceEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.excludeReferenceEndpoint", "qualifiedName": "EndpointUpdateContext.excludeReferenceEndpoint", - "description": "Gets the ExcludeReferenceEndpoint property", + "description": "Gets or sets a value indicating whether the endpoint is excluded from the default reference set.", "kind": "PropertyGetter", "signature": "excludeReferenceEndpoint(): boolean", "parameters": [], @@ -2078,7 +2078,7 @@ "name": "isExternal", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.isExternal", "qualifiedName": "EndpointUpdateContext.isExternal", - "description": "Gets the IsExternal property", + "description": "Gets or sets a value indicating whether the endpoint is external.", "kind": "PropertyGetter", "signature": "isExternal(): boolean", "parameters": [], @@ -2092,7 +2092,7 @@ "name": "isProxied", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.isProxied", "qualifiedName": "EndpointUpdateContext.isProxied", - "description": "Gets the IsProxied property", + "description": "Gets or sets a value indicating whether the endpoint is proxied.", "kind": "PropertyGetter", "signature": "isProxied(): boolean", "parameters": [], @@ -2106,7 +2106,7 @@ "name": "name", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.name", "qualifiedName": "EndpointUpdateContext.name", - "description": "Gets the Name property", + "description": "Gets the endpoint name.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -2120,7 +2120,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.port", "qualifiedName": "EndpointUpdateContext.port", - "description": "Gets the Port property", + "description": "Gets or sets the desired host port.", "kind": "PropertyGetter", "signature": "port(): number", "parameters": [], @@ -2134,7 +2134,7 @@ "name": "protocol", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.protocol", "qualifiedName": "EndpointUpdateContext.protocol", - "description": "Gets the Protocol property", + "description": "Gets or sets the network protocol.", "kind": "PropertyGetter", "signature": "protocol(): ProtocolType", "parameters": [], @@ -2148,7 +2148,7 @@ "name": "setExcludeReferenceEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setExcludeReferenceEndpoint", "qualifiedName": "EndpointUpdateContext.setExcludeReferenceEndpoint", - "description": "Sets the ExcludeReferenceEndpoint property", + "description": "Gets or sets a value indicating whether the endpoint is excluded from the default reference set.", "kind": "PropertySetter", "signature": "setExcludeReferenceEndpoint(value: boolean): EndpointUpdateContext", "parameters": [ @@ -2167,7 +2167,7 @@ "name": "setIsExternal", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setIsExternal", "qualifiedName": "EndpointUpdateContext.setIsExternal", - "description": "Sets the IsExternal property", + "description": "Gets or sets a value indicating whether the endpoint is external.", "kind": "PropertySetter", "signature": "setIsExternal(value: boolean): EndpointUpdateContext", "parameters": [ @@ -2186,7 +2186,7 @@ "name": "setIsProxied", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setIsProxied", "qualifiedName": "EndpointUpdateContext.setIsProxied", - "description": "Sets the IsProxied property", + "description": "Gets or sets a value indicating whether the endpoint is proxied.", "kind": "PropertySetter", "signature": "setIsProxied(value: boolean): EndpointUpdateContext", "parameters": [ @@ -2205,7 +2205,7 @@ "name": "setPort", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setPort", "qualifiedName": "EndpointUpdateContext.setPort", - "description": "Sets the Port property", + "description": "Gets or sets the desired host port.", "kind": "PropertySetter", "signature": "setPort(value: number): EndpointUpdateContext", "parameters": [ @@ -2224,7 +2224,7 @@ "name": "setProtocol", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setProtocol", "qualifiedName": "EndpointUpdateContext.setProtocol", - "description": "Sets the Protocol property", + "description": "Gets or sets the network protocol.", "kind": "PropertySetter", "signature": "setProtocol(value: ProtocolType): EndpointUpdateContext", "parameters": [ @@ -2243,7 +2243,7 @@ "name": "setTargetHost", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setTargetHost", "qualifiedName": "EndpointUpdateContext.setTargetHost", - "description": "Sets the TargetHost property", + "description": "Gets or sets the target host.", "kind": "PropertySetter", "signature": "setTargetHost(value: string): EndpointUpdateContext", "parameters": [ @@ -2262,7 +2262,7 @@ "name": "setTargetPort", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setTargetPort", "qualifiedName": "EndpointUpdateContext.setTargetPort", - "description": "Sets the TargetPort property", + "description": "Gets or sets the target port.", "kind": "PropertySetter", "signature": "setTargetPort(value: number): EndpointUpdateContext", "parameters": [ @@ -2281,7 +2281,7 @@ "name": "setTlsEnabled", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setTlsEnabled", "qualifiedName": "EndpointUpdateContext.setTlsEnabled", - "description": "Sets the TlsEnabled property", + "description": "Gets or sets a value indicating whether TLS is enabled.", "kind": "PropertySetter", "signature": "setTlsEnabled(value: boolean): EndpointUpdateContext", "parameters": [ @@ -2300,7 +2300,7 @@ "name": "setTransport", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setTransport", "qualifiedName": "EndpointUpdateContext.setTransport", - "description": "Sets the Transport property", + "description": "Gets or sets the transport.", "kind": "PropertySetter", "signature": "setTransport(value: string): EndpointUpdateContext", "parameters": [ @@ -2319,7 +2319,7 @@ "name": "setUriScheme", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setUriScheme", "qualifiedName": "EndpointUpdateContext.setUriScheme", - "description": "Sets the UriScheme property", + "description": "Gets or sets the URI scheme.", "kind": "PropertySetter", "signature": "setUriScheme(value: string): EndpointUpdateContext", "parameters": [ @@ -2338,7 +2338,7 @@ "name": "targetHost", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.targetHost", "qualifiedName": "EndpointUpdateContext.targetHost", - "description": "Gets the TargetHost property", + "description": "Gets or sets the target host.", "kind": "PropertyGetter", "signature": "targetHost(): string", "parameters": [], @@ -2352,7 +2352,7 @@ "name": "targetPort", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.targetPort", "qualifiedName": "EndpointUpdateContext.targetPort", - "description": "Gets the TargetPort property", + "description": "Gets or sets the target port.", "kind": "PropertyGetter", "signature": "targetPort(): number", "parameters": [], @@ -2366,7 +2366,7 @@ "name": "tlsEnabled", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.tlsEnabled", "qualifiedName": "EndpointUpdateContext.tlsEnabled", - "description": "Gets the TlsEnabled property", + "description": "Gets or sets a value indicating whether TLS is enabled.", "kind": "PropertyGetter", "signature": "tlsEnabled(): boolean", "parameters": [], @@ -2380,7 +2380,7 @@ "name": "transport", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.transport", "qualifiedName": "EndpointUpdateContext.transport", - "description": "Gets the Transport property", + "description": "Gets or sets the transport.", "kind": "PropertyGetter", "signature": "transport(): string", "parameters": [], @@ -2394,7 +2394,7 @@ "name": "uriScheme", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.uriScheme", "qualifiedName": "EndpointUpdateContext.uriScheme", - "description": "Gets the UriScheme property", + "description": "Gets or sets the URI scheme.", "kind": "PropertyGetter", "signature": "uriScheme(): string", "parameters": [], @@ -2450,7 +2450,7 @@ "name": "environment", "capabilityId": "Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.environment", "qualifiedName": "EnvironmentCallbackContext.environment", - "description": "Gets the environment variable editor", + "description": "Gets the editor used to set environment variables in polyglot callbacks.", "kind": "PropertyGetter", "signature": "environment(): EnvironmentEditor", "parameters": [], @@ -2464,7 +2464,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.executionContext", "qualifiedName": "EnvironmentCallbackContext.executionContext", - "description": "Gets the execution context for this callback invocation", + "description": "Gets the execution context associated with this invocation of the AppHost.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -2478,7 +2478,7 @@ "name": "log", "capabilityId": "Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.log", "qualifiedName": "EnvironmentCallbackContext.log", - "description": "Gets the callback logger facade", + "description": "Gets the logger facade used by polyglot callbacks.", "kind": "PropertyGetter", "signature": "log(): LogFacade", "parameters": [], @@ -2492,7 +2492,8 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.resource", "qualifiedName": "EnvironmentCallbackContext.resource", - "description": "Gets the resource associated with this callback", + "description": "The resource associated with this callback context.", + "remarks": "This will be set to the resource in all cases where Aspire invokes the callback.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -2506,17 +2507,19 @@ "name": "set", "capabilityId": "Aspire.Hosting.ApplicationModel/set", "qualifiedName": "EnvironmentEditor.set", - "description": "Sets an environment variable", + "description": "Sets an environment variable.", "kind": "InstanceMethod", "signature": "set(name: string, value: IExpressionValue): void", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the environment variable." }, { "name": "value", - "type": "IExpressionValue" + "type": "IExpressionValue", + "description": "The value to assign to the environment variable." } ], "returnType": "void", @@ -2529,7 +2532,7 @@ "name": "cancellationToken", "capabilityId": "Aspire.Hosting.Ats/EventingSubscriberRegistrationContext.cancellationToken", "qualifiedName": "EventingSubscriberRegistrationContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "The cancellation token associated with the subscriber registration.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -2543,7 +2546,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.Ats/EventingSubscriberRegistrationContext.executionContext", "qualifiedName": "EventingSubscriberRegistrationContext.executionContext", - "description": "Gets the ExecutionContext property", + "description": "The execution context for the AppHost invocation.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -2557,7 +2560,8 @@ "name": "excludeFromManifest", "capabilityId": "Aspire.Hosting/excludeFromManifest", "qualifiedName": "excludeFromManifest", - "description": "Excludes the resource from the deployment manifest", + "description": "Excludes a resource from being published to the manifest.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "excludeFromManifest(): IResource", "parameters": [], @@ -2579,7 +2583,8 @@ "name": "excludeFromMcp", "capabilityId": "Aspire.Hosting/excludeFromMcp", "qualifiedName": "excludeFromMcp", - "description": "Excludes the resource from MCP server exposure", + "description": "Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "excludeFromMcp(): IResource", "parameters": [], @@ -2601,7 +2606,7 @@ "name": "cancellationToken", "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.cancellationToken", "qualifiedName": "ExecuteCommandContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "The cancellation token.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -2615,7 +2620,7 @@ "name": "logger", "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.logger", "qualifiedName": "ExecuteCommandContext.logger", - "description": "Gets the Logger property", + "description": "The logger for the resource.", "kind": "PropertyGetter", "signature": "logger(): ILogger", "parameters": [], @@ -2629,7 +2634,7 @@ "name": "resourceName", "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.resourceName", "qualifiedName": "ExecuteCommandContext.resourceName", - "description": "Gets the ResourceName property", + "description": "The resource name.", "kind": "PropertyGetter", "signature": "resourceName(): string", "parameters": [], @@ -2643,7 +2648,7 @@ "name": "serviceProvider", "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.serviceProvider", "qualifiedName": "ExecuteCommandContext.serviceProvider", - "description": "Gets the ServiceProvider property", + "description": "The service provider.", "kind": "PropertyGetter", "signature": "serviceProvider(): IServiceProvider", "parameters": [], @@ -2653,93 +2658,19 @@ "Aspire.Hosting.ApplicationModel.ExecuteCommandContext" ] }, - { - "name": "setCancellationToken", - "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setCancellationToken", - "qualifiedName": "ExecuteCommandContext.setCancellationToken", - "description": "Sets the CancellationToken property", - "kind": "PropertySetter", - "signature": "setCancellationToken(value: cancellationToken): ExecuteCommandContext", - "parameters": [ - { - "name": "value", - "type": "cancellationToken" - } - ], - "returnType": "ExecuteCommandContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ExecuteCommandContext" - ] - }, - { - "name": "setLogger", - "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setLogger", - "qualifiedName": "ExecuteCommandContext.setLogger", - "description": "Sets the Logger property", - "kind": "PropertySetter", - "signature": "setLogger(value: ILogger): ExecuteCommandContext", - "parameters": [ - { - "name": "value", - "type": "ILogger" - } - ], - "returnType": "ExecuteCommandContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ExecuteCommandContext" - ] - }, - { - "name": "setResourceName", - "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setResourceName", - "qualifiedName": "ExecuteCommandContext.setResourceName", - "description": "Sets the ResourceName property", - "kind": "PropertySetter", - "signature": "setResourceName(value: string): ExecuteCommandContext", - "parameters": [ - { - "name": "value", - "type": "string" - } - ], - "returnType": "ExecuteCommandContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ExecuteCommandContext" - ] - }, - { - "name": "setServiceProvider", - "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setServiceProvider", - "qualifiedName": "ExecuteCommandContext.setServiceProvider", - "description": "Sets the ServiceProvider property", - "kind": "PropertySetter", - "signature": "setServiceProvider(value: IServiceProvider): ExecuteCommandContext", - "parameters": [ - { - "name": "value", - "type": "IServiceProvider" - } - ], - "returnType": "ExecuteCommandContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ExecuteCommandContext" - ] - }, { "name": "exists", "capabilityId": "Aspire.Hosting/exists", "qualifiedName": "exists", - "description": "Checks whether a configuration section exists", + "description": "Checks whether a configuration section exists.", + "returns": "`true` when the section exists; otherwise, `false`.", "kind": "Method", "signature": "exists(key: string): boolean", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The configuration key." } ], "returnType": "boolean", @@ -2771,13 +2702,15 @@ "name": "findResourceByName", "capabilityId": "Aspire.Hosting/findResourceByName", "qualifiedName": "findResourceByName", - "description": "Finds a resource by name", + "description": "Finds a resource by name.", + "returns": "The matching resource, or `null` when not found.", "kind": "Method", "signature": "findResourceByName(name: string): IResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The resource name." } ], "returnType": "IResource", @@ -2814,7 +2747,8 @@ "name": "getAspireStore", "capabilityId": "Aspire.Hosting/getAspireStore", "qualifiedName": "getAspireStore", - "description": "Gets the Aspire store from the service provider", + "description": "Gets the Aspire store from the service provider.", + "returns": "The Aspire store.", "kind": "Method", "signature": "getAspireStore(): IAspireStore", "parameters": [], @@ -2828,7 +2762,8 @@ "name": "getCertificateTrustData", "capabilityId": "Aspire.Hosting/getCertificateTrustData", "qualifiedName": "getCertificateTrustData", - "description": "Gets certificate trust execution-configuration data", + "description": "Gets certificate trust execution-configuration data when present.", + "returns": "The certificate trust data. When no additional data is present, an empty DTO is returned.", "kind": "Method", "signature": "getCertificateTrustData(): CertificateTrustExecutionConfigurationExportData", "parameters": [], @@ -2842,7 +2777,8 @@ "name": "getChildren", "capabilityId": "Aspire.Hosting/getChildren", "qualifiedName": "getChildren", - "description": "Gets child configuration sections", + "description": "Gets the child sections of a configuration handle.", + "returns": "The child sections.", "kind": "Method", "signature": "getChildren(): IConfigurationSection[]", "parameters": [], @@ -2856,7 +2792,8 @@ "name": "getConfiguration", "capabilityId": "Aspire.Hosting/getConfiguration", "qualifiedName": "getConfiguration", - "description": "Gets the application configuration", + "description": "Gets the application configuration.", + "returns": "The configuration handle.", "kind": "Method", "signature": "getConfiguration(): IConfiguration", "parameters": [], @@ -2870,13 +2807,15 @@ "name": "getConfigValue", "capabilityId": "Aspire.Hosting/getConfigValue", "qualifiedName": "getConfigValue", - "description": "Gets a configuration value by key", + "description": "Gets a configuration value by key.", + "returns": "The configuration value, or null if not found.", "kind": "Method", "signature": "getConfigValue(key: string): string", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The configuration key (e.g., \"ConnectionStrings:Default\")." } ], "returnType": "string", @@ -2889,13 +2828,16 @@ "name": "getConnectionProperty", "capabilityId": "Aspire.Hosting/getConnectionProperty", "qualifiedName": "getConnectionProperty", - "description": "Gets a connection property by key", + "description": "Retrieves the value of a specified connection property from the resource's connection properties.", + "remarks": "Throws a KeyNotFoundException if the specified key does not exist in the resource's\nconnection properties.", + "returns": "The value associated with the specified connection property key.", "kind": "Method", "signature": "getConnectionProperty(key: string): ReferenceExpression", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The key of the connection property to retrieve. Cannot be null." } ], "returnType": "ReferenceExpression", @@ -2908,13 +2850,15 @@ "name": "getConnectionString", "capabilityId": "Aspire.Hosting/getConnectionString", "qualifiedName": "getConnectionString", - "description": "Gets a connection string by name", + "description": "Gets a connection string by name.", + "returns": "The connection string value, or null if not found.", "kind": "Method", "signature": "getConnectionString(name: string): string", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The connection string name." } ], "returnType": "string", @@ -2927,7 +2871,8 @@ "name": "getDistributedApplicationModel", "capabilityId": "Aspire.Hosting/getDistributedApplicationModel", "qualifiedName": "getDistributedApplicationModel", - "description": "Gets the distributed application model from the service provider", + "description": "Gets the distributed application model from the service provider.", + "returns": "The distributed application model handle.", "kind": "Method", "signature": "getDistributedApplicationModel(): DistributedApplicationModel", "parameters": [], @@ -2941,13 +2886,15 @@ "name": "getEndpoint", "capabilityId": "Aspire.Hosting/getEndpoint", "qualifiedName": "getEndpoint", - "description": "Gets an endpoint reference", + "description": "Gets an `EndpointReference` by name from the resource. These endpoints are declared either using `WithEndpoint``1` or by launch settings (for project resources). The `EndpointReference` can be used to resolve the address of the endpoint in `WithEnvironment``1`.", + "returns": "An `EndpointReference` that can be used to resolve the address of the endpoint after resource allocation has occurred.", "kind": "Method", "signature": "getEndpoint(name: string): EndpointReference", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the endpoint." } ], "returnType": "EndpointReference", @@ -2964,7 +2911,8 @@ "name": "getEventing", "capabilityId": "Aspire.Hosting/getEventing", "qualifiedName": "getEventing", - "description": "Gets the distributed application eventing service from the service provider", + "description": "Gets the distributed application eventing service from the service provider.", + "returns": "The distributed application eventing handle.", "kind": "Method", "signature": "getEventing(): IDistributedApplicationEventing", "parameters": [], @@ -2978,17 +2926,20 @@ "name": "getFileNameWithContent", "capabilityId": "Aspire.Hosting/getFileNameWithContent", "qualifiedName": "getFileNameWithContent", - "description": "Gets a deterministic file path for the specified file contents", + "description": "Gets a deterministic file path that is a copy of the `sourceFilename`. The resulting file name will depend on the content of the file.", + "returns": "A deterministic file path with the same content as `sourceFilename`.", "kind": "Method", "signature": "getFileNameWithContent(filenameTemplate: string, sourceFilename: string): string", "parameters": [ { "name": "filenameTemplate", - "type": "string" + "type": "string", + "description": "A file name to base the result on." }, { "name": "sourceFilename", - "type": "string" + "type": "string", + "description": "An existing file." } ], "returnType": "string", @@ -3001,7 +2952,8 @@ "name": "getHttpsCertificateData", "capabilityId": "Aspire.Hosting/getHttpsCertificateData", "qualifiedName": "getHttpsCertificateData", - "description": "Gets HTTPS certificate execution-configuration data", + "description": "Gets HTTPS certificate execution-configuration data when present.", + "returns": "The HTTPS certificate data. When no additional data is present, an empty DTO is returned.", "kind": "Method", "signature": "getHttpsCertificateData(): HttpsCertificateExecutionConfigurationExportData", "parameters": [], @@ -3015,7 +2967,8 @@ "name": "getLoggerFactory", "capabilityId": "Aspire.Hosting/getLoggerFactory", "qualifiedName": "getLoggerFactory", - "description": "Gets the logger factory from the service provider", + "description": "Gets the logger factory from the service provider.", + "returns": "A logger factory handle.", "kind": "Method", "signature": "getLoggerFactory(): ILoggerFactory", "parameters": [], @@ -3029,21 +2982,24 @@ "name": "getOrSetSecret", "capabilityId": "Aspire.Hosting/getOrSetSecret", "qualifiedName": "getOrSetSecret", - "description": "Gets a secret value if it exists, or sets it to the provided value if it does not", + "description": "Gets a secret value if it exists in configuration, or sets it to the provided value if it does not.", "kind": "Method", "signature": "getOrSetSecret(resourceBuilder: IResource, name: string, value: string): void", "parameters": [ { "name": "resourceBuilder", - "type": "IResource" + "type": "IResource", + "description": "A resource builder from the target application." }, { "name": "name", - "type": "string" + "type": "string", + "description": "The secret name." }, { "name": "value", - "type": "string" + "type": "string", + "description": "The value to persist when the secret is missing." } ], "returnType": "void", @@ -3056,7 +3012,8 @@ "name": "getResourceLoggerService", "capabilityId": "Aspire.Hosting/getResourceLoggerService", "qualifiedName": "getResourceLoggerService", - "description": "Gets the resource logger service from the service provider", + "description": "Gets the resource logger service from the service provider.", + "returns": "A resource logger service handle.", "kind": "Method", "signature": "getResourceLoggerService(): ResourceLoggerService", "parameters": [], @@ -3070,7 +3027,9 @@ "name": "getResourceName", "capabilityId": "Aspire.Hosting/getResourceName", "qualifiedName": "getResourceName", - "description": "Gets the resource name", + "description": "Gets the name of the resource from a builder.", + "remarks": "Why this wrapper exists: This capability accesses a nested property\n(`resource.Resource.Name`) which requires a wrapper method. There is no single\n.NET method that returns just the resource name that could be annotated directly.", + "returns": "The resource name.", "kind": "Method", "signature": "getResourceName(): string", "parameters": [], @@ -3091,7 +3050,8 @@ "name": "getResourceNotificationService", "capabilityId": "Aspire.Hosting/getResourceNotificationService", "qualifiedName": "getResourceNotificationService", - "description": "Gets the resource notification service from the service provider", + "description": "Gets the resource notification service from the service provider.", + "returns": "A resource notification service handle.", "kind": "Method", "signature": "getResourceNotificationService(): ResourceNotificationService", "parameters": [], @@ -3105,7 +3065,8 @@ "name": "getResources", "capabilityId": "Aspire.Hosting/getResources", "qualifiedName": "getResources", - "description": "Gets resources from the distributed application model", + "description": "Gets all resources in the distributed application model.", + "returns": "The resources in the model.", "kind": "Method", "signature": "getResources(): IResource[]", "parameters": [], @@ -3119,13 +3080,15 @@ "name": "getSection", "capabilityId": "Aspire.Hosting/getSection", "qualifiedName": "getSection", - "description": "Gets a configuration section by key", + "description": "Gets a configuration section by key.", + "returns": "The configuration section handle.", "kind": "Method", "signature": "getSection(key: string): IConfigurationSection", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The configuration key." } ], "returnType": "IConfigurationSection", @@ -3138,7 +3101,8 @@ "name": "getUserSecretsManager", "capabilityId": "Aspire.Hosting/getUserSecretsManager", "qualifiedName": "getUserSecretsManager", - "description": "Gets the user secrets manager from the service provider", + "description": "Gets the user secrets manager from the service provider.", + "returns": "A user secrets manager handle.", "kind": "Method", "signature": "getUserSecretsManager(): IUserSecretsManager", "parameters": [], @@ -3152,7 +3116,7 @@ "name": "appHostDirectory", "capabilityId": "Aspire.Hosting/IDistributedApplicationBuilder.appHostDirectory", "qualifiedName": "IDistributedApplicationBuilder.appHostDirectory", - "description": "Gets the AppHostDirectory property", + "description": "Directory of the project where the app host is located. Defaults to the content root if there's no project.", "kind": "PropertyGetter", "signature": "appHostDirectory(): string", "parameters": [], @@ -3166,7 +3130,9 @@ "name": "build", "capabilityId": "Aspire.Hosting/build", "qualifiedName": "IDistributedApplicationBuilder.build", - "description": "Builds the distributed application", + "description": "Builds and returns a new `DistributedApplication` instance. This can only be called once.", + "remarks": "Callers of the `Build` method should only call it once. are responsible for the lifecycle of the\n`DistributedApplication` instance that is returned. Note that the `DistributedApplication`\ntype implements `IDisposable` 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.", + "returns": "A new `DistributedApplication` instance.", "kind": "InstanceMethod", "signature": "build(): DistributedApplication", "parameters": [], @@ -3194,7 +3160,7 @@ "name": "eventing", "capabilityId": "Aspire.Hosting/IDistributedApplicationBuilder.eventing", "qualifiedName": "IDistributedApplicationBuilder.eventing", - "description": "Gets the Eventing property", + "description": "Eventing infrastructure for AppHost lifecycle.", "kind": "PropertyGetter", "signature": "eventing(): IDistributedApplicationEventing", "parameters": [], @@ -3208,7 +3174,8 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting/IDistributedApplicationBuilder.executionContext", "qualifiedName": "IDistributedApplicationBuilder.executionContext", - "description": "Gets the ExecutionContext property", + "description": "Execution context for this invocation of the AppHost.", + "remarks": "The `ExecutionContext` property provides access key information about the context\nin which the distributed application is running. The most important properties that\nthe `DistributedApplicationExecutionContext` provides is the\n`IsPublishMode` and `IsRunMode`\nproperties. Developers building Aspire based applications may whish to change the application\nmodel depending on whether they are running locally, or whether they are publishing to the cloud.\nAn example of using the `IsRunMode` property on the `IDistributedApplicationBuilder` via\nthe `ApplicationBuilder`. In this case an extension method is used to generate a stable node name for RabbitMQ for local\ndevelopment runs.\n```\nprivate static IResourceBuilder RunWithStableNodeName(this IResourceBuilder builder)\n{\nif (builder.ApplicationBuilder.ExecutionContext.IsRunMode)\n{\nbuilder.WithEnvironment(context =>\n{\n// Set a stable node name so queue storage is consistent between sessions\nvar nodeName = $\"{builder.Resource.Name}@localhost\";\ncontext.EnvironmentVariables[\"RABBITMQ_NODENAME\"] = nodeName;\n});\n}\nreturn builder;\n}\n```", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -3222,7 +3189,8 @@ "name": "pipeline", "capabilityId": "Aspire.Hosting/IDistributedApplicationBuilder.pipeline", "qualifiedName": "IDistributedApplicationBuilder.pipeline", - "description": "Gets the Pipeline property", + "description": "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.", "kind": "PropertyGetter", "signature": "pipeline(): IDistributedApplicationPipeline", "parameters": [], @@ -3236,7 +3204,8 @@ "name": "userSecretsManager", "capabilityId": "Aspire.Hosting/IDistributedApplicationBuilder.userSecretsManager", "qualifiedName": "IDistributedApplicationBuilder.userSecretsManager", - "description": "Gets the UserSecretsManager property", + "description": "Gets the service for managing user secrets.", + "remarks": "The `UserSecretsManager` provides a centralized way to manage user secrets\nused by Aspire, enabling testability and consistent secret management.", "kind": "PropertyGetter", "signature": "userSecretsManager(): IUserSecretsManager", "parameters": [], @@ -3250,13 +3219,14 @@ "name": "unsubscribe", "capabilityId": "Aspire.Hosting.Eventing/IDistributedApplicationEventing.unsubscribe", "qualifiedName": "IDistributedApplicationEventing.unsubscribe", - "description": "Invokes the Unsubscribe method", + "description": "Unsubscribe from an event.", "kind": "InstanceMethod", "signature": "unsubscribe(subscription: DistributedApplicationEventSubscription): void", "parameters": [ { "name": "subscription", - "type": "DistributedApplicationEventSubscription" + "type": "DistributedApplicationEventSubscription", + "description": "The specific subscription to unsubscribe." } ], "returnType": "void", @@ -3269,7 +3239,7 @@ "name": "eventing", "capabilityId": "Aspire.Hosting.ApplicationModel/InitializeResourceEvent.eventing", "qualifiedName": "InitializeResourceEvent.eventing", - "description": "Gets the Eventing property", + "description": "The `IDistributedApplicationEventing` service for the app host.", "kind": "PropertyGetter", "signature": "eventing(): IDistributedApplicationEventing", "parameters": [], @@ -3283,7 +3253,7 @@ "name": "logger", "capabilityId": "Aspire.Hosting.ApplicationModel/InitializeResourceEvent.logger", "qualifiedName": "InitializeResourceEvent.logger", - "description": "Gets the Logger property", + "description": "An instance of `ILogger` that can be used to log messages for the resource.", "kind": "PropertyGetter", "signature": "logger(): ILogger", "parameters": [], @@ -3297,7 +3267,7 @@ "name": "notifications", "capabilityId": "Aspire.Hosting.ApplicationModel/InitializeResourceEvent.notifications", "qualifiedName": "InitializeResourceEvent.notifications", - "description": "Gets the Notifications property", + "description": "The `ResourceNotificationService` for the app host.", "kind": "PropertyGetter", "signature": "notifications(): ResourceNotificationService", "parameters": [], @@ -3325,7 +3295,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.ApplicationModel/InitializeResourceEvent.services", "qualifiedName": "InitializeResourceEvent.services", - "description": "Gets the Services property", + "description": "The `IServiceProvider` for the app host.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -3339,7 +3309,8 @@ "name": "isDevelopment", "capabilityId": "Aspire.Hosting/isDevelopment", "qualifiedName": "isDevelopment", - "description": "Checks if running in Development environment", + "description": "Checks if the environment is Development.", + "returns": "True if running in Development environment.", "kind": "Method", "signature": "isDevelopment(): boolean", "parameters": [], @@ -3353,13 +3324,15 @@ "name": "isEnvironment", "capabilityId": "Aspire.Hosting/isEnvironment", "qualifiedName": "isEnvironment", - "description": "Checks if the environment matches the specified name", + "description": "Checks if the environment matches the specified name.", + "returns": "True if the environment matches the specified name.", "kind": "Method", "signature": "isEnvironment(environmentName: string): boolean", "parameters": [ { "name": "environmentName", - "type": "string" + "type": "string", + "description": "The environment name to compare against." } ], "returnType": "boolean", @@ -3372,7 +3345,8 @@ "name": "isProduction", "capabilityId": "Aspire.Hosting/isProduction", "qualifiedName": "isProduction", - "description": "Checks if running in Production environment", + "description": "Checks if the environment is Production.", + "returns": "True if running in Production environment.", "kind": "Method", "signature": "isProduction(): boolean", "parameters": [], @@ -3386,7 +3360,8 @@ "name": "isStaging", "capabilityId": "Aspire.Hosting/isStaging", "qualifiedName": "isStaging", - "description": "Checks if running in Staging environment", + "description": "Checks if the environment is Staging.", + "returns": "True if running in Staging environment.", "kind": "Method", "signature": "isStaging(): boolean", "parameters": [], @@ -3400,7 +3375,7 @@ "name": "filePath", "capabilityId": "Aspire.Hosting/IUserSecretsManager.filePath", "qualifiedName": "IUserSecretsManager.filePath", - "description": "Gets the FilePath property", + "description": "Gets the path to the user secrets file.", "kind": "PropertyGetter", "signature": "filePath(): string", "parameters": [], @@ -3414,7 +3389,8 @@ "name": "isAvailable", "capabilityId": "Aspire.Hosting/IUserSecretsManager.isAvailable", "qualifiedName": "IUserSecretsManager.isAvailable", - "description": "Gets the IsAvailable property", + "description": "Gets a value indicating whether user secrets are available.", + "remarks": "Returns `true` if the project has a user secrets ID configured; otherwise, `false`.", "kind": "PropertyGetter", "signature": "isAvailable(): boolean", "parameters": [], @@ -3428,13 +3404,16 @@ "name": "tryDeleteSecret", "capabilityId": "Aspire.Hosting/IUserSecretsManager.tryDeleteSecret", "qualifiedName": "IUserSecretsManager.tryDeleteSecret", - "description": "Attempts to delete a user secret value", + "description": "Attempts to delete a user secret value synchronously.", + "remarks": "The default implementation returns `false` so existing implementations remain compatible.", + "returns": "True if the secret was deleted successfully; otherwise, false.", "kind": "InstanceMethod", "signature": "tryDeleteSecret(name: string): boolean", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the secret." } ], "returnType": "boolean", @@ -3447,17 +3426,20 @@ "name": "trySetSecret", "capabilityId": "Aspire.Hosting/IUserSecretsManager.trySetSecret", "qualifiedName": "IUserSecretsManager.trySetSecret", - "description": "Attempts to set a user secret value", + "description": "Attempts to set a user secret value synchronously.", + "returns": "True if the secret was set successfully; otherwise, false.", "kind": "InstanceMethod", "signature": "trySetSecret(name: string, value: string): boolean", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the secret." }, { "name": "value", - "type": "string" + "type": "string", + "description": "The value of the secret." } ], "returnType": "boolean", @@ -3470,171 +3452,184 @@ "name": "List.add", "capabilityId": "Aspire.Hosting/List.add", "qualifiedName": "List.add", - "description": "Adds an item to the end of a list", + "description": "Adds an item to the end of a list.", "kind": "Method", "signature": "List.add(item: any): void", "parameters": [ { "name": "item", - "type": "any" + "type": "any", + "description": "The item to add." } ], "returnType": "void", - "targetTypeId": "Aspire.Hosting/List\u003Cany\u003E", + "targetTypeId": "Aspire.Hosting/List", "expandedTargetTypes": [ - "List\u003Cany\u003E" + "List" ] }, { "name": "List.clear", "capabilityId": "Aspire.Hosting/List.clear", "qualifiedName": "List.clear", - "description": "Clears all items from a list", + "description": "Clears all items from a list.", "kind": "Method", "signature": "List.clear(): void", "parameters": [], "returnType": "void", - "targetTypeId": "Aspire.Hosting/List\u003Cany\u003E", + "targetTypeId": "Aspire.Hosting/List", "expandedTargetTypes": [ - "List\u003Cany\u003E" + "List" ] }, { "name": "List.get", "capabilityId": "Aspire.Hosting/List.get", "qualifiedName": "List.get", - "description": "Gets an item from a list by index", + "description": "Gets an item from a list by index.", + "returns": "The item at the specified index.", "kind": "Method", "signature": "List.get(index: number): any", "parameters": [ { "name": "index", - "type": "number" + "type": "number", + "description": "The zero-based index." } ], "returnType": "any", - "targetTypeId": "Aspire.Hosting/List\u003Cany\u003E", + "targetTypeId": "Aspire.Hosting/List", "expandedTargetTypes": [ - "List\u003Cany\u003E" + "List" ] }, { "name": "List.indexOf", "capabilityId": "Aspire.Hosting/List.indexOf", "qualifiedName": "List.indexOf", - "description": "Gets the index of an item in a list", + "description": "Gets the index of an item in a list.", + "returns": "The zero-based index, or -1 if not found.", "kind": "Method", "signature": "List.indexOf(item: any): number", "parameters": [ { "name": "item", - "type": "any" + "type": "any", + "description": "The item to find." } ], "returnType": "number", - "targetTypeId": "Aspire.Hosting/List\u003Cany\u003E", + "targetTypeId": "Aspire.Hosting/List", "expandedTargetTypes": [ - "List\u003Cany\u003E" + "List" ] }, { "name": "List.insert", "capabilityId": "Aspire.Hosting/List.insert", "qualifiedName": "List.insert", - "description": "Inserts an item at a specific index in a list", + "description": "Inserts an item at a specific index in a list.", "kind": "Method", "signature": "List.insert(index: number, item: any): void", "parameters": [ { "name": "index", - "type": "number" + "type": "number", + "description": "The zero-based index at which to insert." }, { "name": "item", - "type": "any" + "type": "any", + "description": "The item to insert." } ], "returnType": "void", - "targetTypeId": "Aspire.Hosting/List\u003Cany\u003E", + "targetTypeId": "Aspire.Hosting/List", "expandedTargetTypes": [ - "List\u003Cany\u003E" + "List" ] }, { "name": "List.length", "capabilityId": "Aspire.Hosting/List.length", "qualifiedName": "List.length", - "description": "Gets the number of items in a list", + "description": "Gets the number of items in a list.", + "returns": "The number of items.", "kind": "Method", "signature": "List.length(): number", "parameters": [], "returnType": "number", - "targetTypeId": "Aspire.Hosting/List\u003Cany\u003E", + "targetTypeId": "Aspire.Hosting/List", "expandedTargetTypes": [ - "List\u003Cany\u003E" + "List" ] }, { "name": "List.removeAt", "capabilityId": "Aspire.Hosting/List.removeAt", "qualifiedName": "List.removeAt", - "description": "Removes an item at a specific index from a list", + "description": "Removes an item at a specific index from a list.", + "returns": "True if the item was removed.", "kind": "Method", "signature": "List.removeAt(index: number): boolean", "parameters": [ { "name": "index", - "type": "number" + "type": "number", + "description": "The zero-based index of the item to remove." } ], "returnType": "boolean", - "targetTypeId": "Aspire.Hosting/List\u003Cany\u003E", + "targetTypeId": "Aspire.Hosting/List", "expandedTargetTypes": [ - "List\u003Cany\u003E" + "List" ] }, { "name": "List.set", "capabilityId": "Aspire.Hosting/List.set", "qualifiedName": "List.set", - "description": "Sets an item in a list at a specific index", + "description": "Sets an item in a list at a specific index.", "kind": "Method", "signature": "List.set(index: number, value: any): void", "parameters": [ { "name": "index", - "type": "number" + "type": "number", + "description": "The zero-based index." }, { "name": "value", - "type": "any" + "type": "any", + "description": "The value to set." } ], "returnType": "void", - "targetTypeId": "Aspire.Hosting/List\u003Cany\u003E", + "targetTypeId": "Aspire.Hosting/List", "expandedTargetTypes": [ - "List\u003Cany\u003E" + "List" ] }, { "name": "List.toArray", "capabilityId": "Aspire.Hosting/List.toArray", "qualifiedName": "List.toArray", - "description": "Converts a list to an array", + "description": "Converts the list to an array (creates a copy).", + "returns": "An array containing all items.", "kind": "Method", "signature": "List.toArray(): any[]", "parameters": [], "returnType": "any[]", - "targetTypeId": "Aspire.Hosting/List\u003Cany\u003E", + "targetTypeId": "Aspire.Hosting/List", "expandedTargetTypes": [ - "List\u003Cany\u003E" + "List" ] }, { "name": "log", "capabilityId": "Aspire.Hosting/log", "qualifiedName": "log", - "description": "Logs a message with specified level", + "description": "Logs a message with a specified log level.", "kind": "Method", "signature": "log(level: string, message: string): void", "parameters": [ @@ -3657,7 +3652,7 @@ "name": "logDebug", "capabilityId": "Aspire.Hosting/logDebug", "qualifiedName": "logDebug", - "description": "Logs a debug message", + "description": "Logs a debug message.", "kind": "Method", "signature": "logDebug(message: string): void", "parameters": [ @@ -3676,7 +3671,7 @@ "name": "logError", "capabilityId": "Aspire.Hosting/logError", "qualifiedName": "logError", - "description": "Logs an error message", + "description": "Logs an error message.", "kind": "Method", "signature": "logError(message: string): void", "parameters": [ @@ -3695,13 +3690,14 @@ "name": "debug", "capabilityId": "Aspire.Hosting.ApplicationModel/debug", "qualifiedName": "LogFacade.debug", - "description": "Writes a debug log message", + "description": "Writes a debug log message.", "kind": "InstanceMethod", "signature": "debug(message: string): void", "parameters": [ { "name": "message", - "type": "string" + "type": "string", + "description": "The message to write." } ], "returnType": "void", @@ -3714,13 +3710,14 @@ "name": "error", "capabilityId": "Aspire.Hosting.ApplicationModel/error", "qualifiedName": "LogFacade.error", - "description": "Writes an error log message", + "description": "Writes an error log message.", "kind": "InstanceMethod", "signature": "error(message: string): void", "parameters": [ { "name": "message", - "type": "string" + "type": "string", + "description": "The message to write." } ], "returnType": "void", @@ -3733,13 +3730,14 @@ "name": "info", "capabilityId": "Aspire.Hosting.ApplicationModel/info", "qualifiedName": "LogFacade.info", - "description": "Writes an informational log message", + "description": "Writes an informational log message.", "kind": "InstanceMethod", "signature": "info(message: string): void", "parameters": [ { "name": "message", - "type": "string" + "type": "string", + "description": "The message to write." } ], "returnType": "void", @@ -3752,13 +3750,14 @@ "name": "warning", "capabilityId": "Aspire.Hosting.ApplicationModel/warning", "qualifiedName": "LogFacade.warning", - "description": "Writes a warning log message", + "description": "Writes a warning log message.", "kind": "InstanceMethod", "signature": "warning(message: string): void", "parameters": [ { "name": "message", - "type": "string" + "type": "string", + "description": "The message to write." } ], "returnType": "void", @@ -3771,7 +3770,7 @@ "name": "logInformation", "capabilityId": "Aspire.Hosting/logInformation", "qualifiedName": "logInformation", - "description": "Logs an information message", + "description": "Logs an information message.", "kind": "Method", "signature": "logInformation(message: string): void", "parameters": [ @@ -3790,7 +3789,7 @@ "name": "logStep", "capabilityId": "Aspire.Hosting/logStep", "qualifiedName": "logStep", - "description": "Logs a plain-text message for the reporting step", + "description": "Logs a plain-text message for the reporting step.", "kind": "Method", "signature": "logStep(level: string, message: string): void", "parameters": [ @@ -3813,7 +3812,7 @@ "name": "logStepMarkdown", "capabilityId": "Aspire.Hosting/logStepMarkdown", "qualifiedName": "logStepMarkdown", - "description": "Logs a Markdown-formatted message for the reporting step", + "description": "Logs a Markdown-formatted message for the reporting step.", "kind": "Method", "signature": "logStepMarkdown(level: string, markdownString: string): void", "parameters": [ @@ -3836,7 +3835,7 @@ "name": "logWarning", "capabilityId": "Aspire.Hosting/logWarning", "qualifiedName": "logWarning", - "description": "Logs a warning message", + "description": "Logs a warning message.", "kind": "Method", "signature": "logWarning(message: string): void", "parameters": [ @@ -3855,15 +3854,17 @@ "name": "onAfterResourcesCreated", "capabilityId": "Aspire.Hosting/eventingSubscriberOnAfterResourcesCreated", "qualifiedName": "onAfterResourcesCreated", - "description": "Subscribes an eventing subscriber to the AfterResourcesCreated event", + "description": "Subscribes to the AfterResourcesCreated event from an eventing subscriber registration context.", + "returns": "The event subscription.", "kind": "Method", - "signature": "onAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationEventSubscription", + "signature": "onAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) => Promise): DistributedApplicationEventSubscription", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: AfterResourcesCreatedEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "DistributedApplicationEventSubscription", @@ -3876,15 +3877,17 @@ "name": "onBeforeResourceStarted", "capabilityId": "Aspire.Hosting/onBeforeResourceStarted", "qualifiedName": "onBeforeResourceStarted", - "description": "Subscribes to the BeforeResourceStarted event", + "description": "Subscribes to the BeforeResourceStarted event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: BeforeResourceStartedEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResource", @@ -3905,15 +3908,17 @@ "name": "onBeforeStart", "capabilityId": "Aspire.Hosting/eventingSubscriberOnBeforeStart", "qualifiedName": "onBeforeStart", - "description": "Subscribes an eventing subscriber to the BeforeStart event", + "description": "Subscribes to the BeforeStart event from an eventing subscriber registration context.", + "returns": "The event subscription.", "kind": "Method", - "signature": "onBeforeStart(callback: (arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationEventSubscription", + "signature": "onBeforeStart(callback: (arg: BeforeStartEvent) => Promise): DistributedApplicationEventSubscription", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: BeforeStartEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "DistributedApplicationEventSubscription", @@ -3926,15 +3931,17 @@ "name": "onConnectionStringAvailable", "capabilityId": "Aspire.Hosting/onConnectionStringAvailable", "qualifiedName": "onConnectionStringAvailable", - "description": "Subscribes to the ConnectionStringAvailable event", + "description": "Subscribes to the ConnectionStringAvailable event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onConnectionStringAvailable(callback: (arg: ConnectionStringAvailableEvent) =\u003E Promise\u003Cvoid\u003E): IResourceWithConnectionString", + "signature": "onConnectionStringAvailable(callback: (arg: ConnectionStringAvailableEvent) => Promise): IResourceWithConnectionString", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: ConnectionStringAvailableEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: ConnectionStringAvailableEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResourceWithConnectionString", @@ -3948,15 +3955,17 @@ "name": "onInitializeResource", "capabilityId": "Aspire.Hosting/onInitializeResource", "qualifiedName": "onInitializeResource", - "description": "Subscribes to the InitializeResource event", + "description": "Subscribes to the InitializeResource event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "onInitializeResource(callback: (arg: InitializeResourceEvent) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: InitializeResourceEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResource", @@ -3977,15 +3986,17 @@ "name": "onResourceEndpointsAllocated", "capabilityId": "Aspire.Hosting/onResourceEndpointsAllocated", "qualifiedName": "onResourceEndpointsAllocated", - "description": "Subscribes to the ResourceEndpointsAllocated event", + "description": "Subscribes to the ResourceEndpointsAllocated event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): IResourceWithEndpoints", + "signature": "onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) => Promise): IResourceWithEndpoints", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: ResourceEndpointsAllocatedEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResourceWithEndpoints", @@ -4003,15 +4014,17 @@ "name": "onResourceReady", "capabilityId": "Aspire.Hosting/onResourceReady", "qualifiedName": "onResourceReady", - "description": "Subscribes to the ResourceReady event", + "description": "Subscribes to the ResourceReady event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "onResourceReady(callback: (arg: ResourceReadyEvent) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: ResourceReadyEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResource", @@ -4032,15 +4045,17 @@ "name": "onResourceStopped", "capabilityId": "Aspire.Hosting/onResourceStopped", "qualifiedName": "onResourceStopped", - "description": "Subscribes to the ResourceStopped event", + "description": "Subscribes to the ResourceStopped event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "onResourceStopped(callback: (arg: ResourceStoppedEvent) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: ResourceStoppedEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResource", @@ -4061,13 +4076,15 @@ "name": "getSteps", "capabilityId": "Aspire.Hosting.Pipelines/getSteps", "qualifiedName": "PipelineConfigurationContext.getSteps", - "description": "Gets pipeline steps with the specified tag", + "description": "Gets all pipeline steps with the specified tag.", + "returns": "A collection of steps that have the specified tag.", "kind": "InstanceMethod", "signature": "getSteps(tag: string): PipelineStep[]", "parameters": [ { "name": "tag", - "type": "string" + "type": "string", + "description": "The tag to search for." } ], "returnType": "PipelineStep[]", @@ -4080,7 +4097,7 @@ "name": "log", "capabilityId": "Aspire.Hosting.Pipelines/PipelineConfigurationContext.log", "qualifiedName": "PipelineConfigurationContext.log", - "description": "Gets the callback logger facade", + "description": "Gets the logger facade used by polyglot callbacks.", "kind": "PropertyGetter", "signature": "log(): LogFacade", "parameters": [], @@ -4094,7 +4111,7 @@ "name": "pipeline", "capabilityId": "Aspire.Hosting.Pipelines/PipelineConfigurationContext.pipeline", "qualifiedName": "PipelineConfigurationContext.pipeline", - "description": "Gets the pipeline editor", + "description": "Gets the pipeline editor used by polyglot callbacks.", "kind": "PropertyGetter", "signature": "pipeline(): PipelineEditor", "parameters": [], @@ -4108,7 +4125,7 @@ "name": "cancellationToken", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.cancellationToken", "qualifiedName": "PipelineContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "Gets the cancellation token for the pipeline operation.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -4122,7 +4139,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.executionContext", "qualifiedName": "PipelineContext.executionContext", - "description": "Gets the ExecutionContext property", + "description": "Gets the execution context for the distributed application.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -4136,7 +4153,7 @@ "name": "logger", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.logger", "qualifiedName": "PipelineContext.logger", - "description": "Gets the Logger property", + "description": "Gets the logger for pipeline operations.", "kind": "PropertyGetter", "signature": "logger(): ILogger", "parameters": [], @@ -4150,7 +4167,7 @@ "name": "model", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.model", "qualifiedName": "PipelineContext.model", - "description": "Gets the Model property", + "description": "Gets the distributed application model to be deployed.", "kind": "PropertyGetter", "signature": "model(): DistributedApplicationModel", "parameters": [], @@ -4164,7 +4181,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.services", "qualifiedName": "PipelineContext.services", - "description": "Gets the Services property", + "description": "Gets the service provider for dependency resolution.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -4178,7 +4195,7 @@ "name": "setCancellationToken", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.setCancellationToken", "qualifiedName": "PipelineContext.setCancellationToken", - "description": "Sets the CancellationToken property", + "description": "Gets the cancellation token for the pipeline operation.", "kind": "PropertySetter", "signature": "setCancellationToken(value: cancellationToken): PipelineContext", "parameters": [ @@ -4197,7 +4214,8 @@ "name": "summary", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.summary", "qualifiedName": "PipelineContext.summary", - "description": "Gets the Summary property", + "description": "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.", "kind": "PropertyGetter", "signature": "summary(): PipelineSummary", "parameters": [], @@ -4211,7 +4229,8 @@ "name": "steps", "capabilityId": "Aspire.Hosting.Pipelines/steps", "qualifiedName": "PipelineEditor.steps", - "description": "Gets all configured pipeline steps", + "description": "Gets all configured pipeline steps.", + "returns": "The configured pipeline steps.", "kind": "InstanceMethod", "signature": "steps(): PipelineStep[]", "parameters": [], @@ -4225,13 +4244,15 @@ "name": "stepsByTag", "capabilityId": "Aspire.Hosting.Pipelines/stepsByTag", "qualifiedName": "PipelineEditor.stepsByTag", - "description": "Gets pipeline steps with the specified tag", + "description": "Gets all pipeline steps that have the specified tag.", + "returns": "The matching pipeline steps.", "kind": "InstanceMethod", "signature": "stepsByTag(tag: string): PipelineStep[]", "parameters": [ { "name": "tag", - "type": "string" + "type": "string", + "description": "The tag to search for." } ], "returnType": "PipelineStep[]", @@ -4244,13 +4265,14 @@ "name": "addTag", "capabilityId": "Aspire.Hosting.Pipelines/addTag", "qualifiedName": "PipelineStep.addTag", - "description": "Adds a tag to the step", + "description": "Adds a tag to the step.", "kind": "InstanceMethod", "signature": "addTag(tag: string): void", "parameters": [ { "name": "tag", - "type": "string" + "type": "string", + "description": "The tag to add." } ], "returnType": "void", @@ -4263,13 +4285,14 @@ "name": "dependsOn", "capabilityId": "Aspire.Hosting.Pipelines/dependsOn", "qualifiedName": "PipelineStep.dependsOn", - "description": "Adds a dependency on another step by name", + "description": "Adds a dependency on another step.", "kind": "InstanceMethod", "signature": "dependsOn(stepName: string): void", "parameters": [ { "name": "stepName", - "type": "string" + "type": "string", + "description": "The name of the step to depend on." } ], "returnType": "void", @@ -4282,7 +4305,8 @@ "name": "description", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStep.description", "qualifiedName": "PipelineStep.description", - "description": "Gets the human-readable description of the step", + "description": "Gets the exported description projection for polyglot SDKs.", + "remarks": "This projection avoids exporting an ATS setter for the public init-only `Description` property.", "kind": "PropertyGetter", "signature": "description(): string", "parameters": [], @@ -4296,7 +4320,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStep.name", "qualifiedName": "PipelineStep.name", - "description": "Gets the unique name of the step", + "description": "Gets the exported name projection for polyglot SDKs.", + "remarks": "This projection avoids exporting an ATS setter for the public init-only `Name` property.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -4310,13 +4335,14 @@ "name": "requiredBy", "capabilityId": "Aspire.Hosting.Pipelines/requiredBy", "qualifiedName": "PipelineStep.requiredBy", - "description": "Specifies that another step requires this step by name", + "description": "Specifies that this step is required by another step. This creates the inverse relationship where the other step will depend on this step.", "kind": "InstanceMethod", "signature": "requiredBy(stepName: string): void", "parameters": [ { "name": "stepName", - "type": "string" + "type": "string", + "description": "The name of the step that requires this step." } ], "returnType": "void", @@ -4329,7 +4355,7 @@ "name": "cancellationToken", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.cancellationToken", "qualifiedName": "PipelineStepContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "Gets the cancellation token for the pipeline operation.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -4343,7 +4369,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.executionContext", "qualifiedName": "PipelineStepContext.executionContext", - "description": "Gets the ExecutionContext property", + "description": "Gets the execution context for the distributed application.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -4357,7 +4383,7 @@ "name": "logger", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.logger", "qualifiedName": "PipelineStepContext.logger", - "description": "Gets the Logger property", + "description": "Gets the logger for pipeline operations that writes to both the pipeline logger and the step logger.", "kind": "PropertyGetter", "signature": "logger(): ILogger", "parameters": [], @@ -4371,7 +4397,7 @@ "name": "model", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.model", "qualifiedName": "PipelineStepContext.model", - "description": "Gets the Model property", + "description": "Gets the distributed application model to be deployed.", "kind": "PropertyGetter", "signature": "model(): DistributedApplicationModel", "parameters": [], @@ -4385,7 +4411,7 @@ "name": "pipelineContext", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.pipelineContext", "qualifiedName": "PipelineStepContext.pipelineContext", - "description": "Gets the PipelineContext property", + "description": "Gets the pipeline context shared across all steps.", "kind": "PropertyGetter", "signature": "pipelineContext(): PipelineContext", "parameters": [], @@ -4399,7 +4425,7 @@ "name": "reportingStep", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.reportingStep", "qualifiedName": "PipelineStepContext.reportingStep", - "description": "Gets the ReportingStep property", + "description": "Gets the publishing step associated with this specific step execution.", "kind": "PropertyGetter", "signature": "reportingStep(): IReportingStep", "parameters": [], @@ -4413,7 +4439,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.services", "qualifiedName": "PipelineStepContext.services", - "description": "Gets the Services property", + "description": "Gets the service provider for dependency resolution.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -4423,49 +4449,12 @@ "Aspire.Hosting.Pipelines.PipelineStepContext" ] }, - { - "name": "setPipelineContext", - "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.setPipelineContext", - "qualifiedName": "PipelineStepContext.setPipelineContext", - "description": "Sets the PipelineContext property", - "kind": "PropertySetter", - "signature": "setPipelineContext(value: PipelineContext): PipelineStepContext", - "parameters": [ - { - "name": "value", - "type": "PipelineContext" - } - ], - "returnType": "PipelineStepContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext", - "expandedTargetTypes": [ - "Aspire.Hosting.Pipelines.PipelineStepContext" - ] - }, - { - "name": "setReportingStep", - "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.setReportingStep", - "qualifiedName": "PipelineStepContext.setReportingStep", - "description": "Sets the ReportingStep property", - "kind": "PropertySetter", - "signature": "setReportingStep(value: IReportingStep): PipelineStepContext", - "parameters": [ - { - "name": "value", - "type": "IReportingStep" - } - ], - "returnType": "PipelineStepContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext", - "expandedTargetTypes": [ - "Aspire.Hosting.Pipelines.PipelineStepContext" - ] - }, { "name": "summary", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.summary", "qualifiedName": "PipelineStepContext.summary", - "description": "Gets the Summary property", + "description": "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.", "kind": "PropertyGetter", "signature": "summary(): PipelineSummary", "parameters": [], @@ -4479,7 +4468,7 @@ "name": "pipelineContext", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepFactoryContext.pipelineContext", "qualifiedName": "PipelineStepFactoryContext.pipelineContext", - "description": "Gets the PipelineContext property", + "description": "Gets the pipeline context that has the model and other properties.", "kind": "PropertyGetter", "signature": "pipelineContext(): PipelineContext", "parameters": [], @@ -4493,7 +4482,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepFactoryContext.resource", "qualifiedName": "PipelineStepFactoryContext.resource", - "description": "Gets the Resource property", + "description": "Gets the resource that this factory is associated with.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -4503,59 +4492,23 @@ "Aspire.Hosting.Pipelines.PipelineStepFactoryContext" ] }, - { - "name": "setPipelineContext", - "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepFactoryContext.setPipelineContext", - "qualifiedName": "PipelineStepFactoryContext.setPipelineContext", - "description": "Sets the PipelineContext property", - "kind": "PropertySetter", - "signature": "setPipelineContext(value: PipelineContext): PipelineStepFactoryContext", - "parameters": [ - { - "name": "value", - "type": "PipelineContext" - } - ], - "returnType": "PipelineStepFactoryContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext", - "expandedTargetTypes": [ - "Aspire.Hosting.Pipelines.PipelineStepFactoryContext" - ] - }, - { - "name": "setResource", - "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepFactoryContext.setResource", - "qualifiedName": "PipelineStepFactoryContext.setResource", - "description": "Sets the Resource property", - "kind": "PropertySetter", - "signature": "setResource(value: IResource): PipelineStepFactoryContext", - "parameters": [ - { - "name": "value", - "type": "IResource" - } - ], - "returnType": "PipelineStepFactoryContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext", - "expandedTargetTypes": [ - "Aspire.Hosting.Pipelines.PipelineStepFactoryContext" - ] - }, { "name": "add", "capabilityId": "Aspire.Hosting.Pipelines/PipelineSummary.add", "qualifiedName": "PipelineSummary.add", - "description": "Invokes the Add method", + "description": "Adds a key-value pair to the pipeline summary with a plain-text value.", "kind": "InstanceMethod", "signature": "add(key: string, value: string): void", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The key or label for the item (e.g., \"Namespace\", \"URL\")." }, { "name": "value", - "type": "string" + "type": "string", + "description": "The plain-text value for the item." } ], "returnType": "void", @@ -4568,7 +4521,7 @@ "name": "excludeKestrelEndpoints", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.excludeKestrelEndpoints", "qualifiedName": "ProjectResourceOptions.excludeKestrelEndpoints", - "description": "Gets the ExcludeKestrelEndpoints property", + "description": "If set, ignore endpoints coming from Kestrel configuration.", "kind": "PropertyGetter", "signature": "excludeKestrelEndpoints(): boolean", "parameters": [], @@ -4582,7 +4535,7 @@ "name": "excludeLaunchProfile", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.excludeLaunchProfile", "qualifiedName": "ProjectResourceOptions.excludeLaunchProfile", - "description": "Gets the ExcludeLaunchProfile property", + "description": "If set, no launch profile will be used, and LaunchProfileName will be ignored.", "kind": "PropertyGetter", "signature": "excludeLaunchProfile(): boolean", "parameters": [], @@ -4596,7 +4549,7 @@ "name": "launchProfileName", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.launchProfileName", "qualifiedName": "ProjectResourceOptions.launchProfileName", - "description": "Gets the LaunchProfileName property", + "description": "The launch profile to use. If `null` then the default launch profile will be used.", "kind": "PropertyGetter", "signature": "launchProfileName(): string", "parameters": [], @@ -4610,7 +4563,7 @@ "name": "setExcludeKestrelEndpoints", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.setExcludeKestrelEndpoints", "qualifiedName": "ProjectResourceOptions.setExcludeKestrelEndpoints", - "description": "Sets the ExcludeKestrelEndpoints property", + "description": "If set, ignore endpoints coming from Kestrel configuration.", "kind": "PropertySetter", "signature": "setExcludeKestrelEndpoints(value: boolean): ProjectResourceOptions", "parameters": [ @@ -4629,7 +4582,7 @@ "name": "setExcludeLaunchProfile", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.setExcludeLaunchProfile", "qualifiedName": "ProjectResourceOptions.setExcludeLaunchProfile", - "description": "Sets the ExcludeLaunchProfile property", + "description": "If set, no launch profile will be used, and LaunchProfileName will be ignored.", "kind": "PropertySetter", "signature": "setExcludeLaunchProfile(value: boolean): ProjectResourceOptions", "parameters": [ @@ -4648,7 +4601,7 @@ "name": "setLaunchProfileName", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.setLaunchProfileName", "qualifiedName": "ProjectResourceOptions.setLaunchProfileName", - "description": "Sets the LaunchProfileName property", + "description": "The launch profile to use. If `null` then the default launch profile will be used.", "kind": "PropertySetter", "signature": "setLaunchProfileName(value: string): ProjectResourceOptions", "parameters": [ @@ -4667,7 +4620,8 @@ "name": "publishAsConnectionString", "capabilityId": "Aspire.Hosting/publishAsConnectionString", "qualifiedName": "publishAsConnectionString", - "description": "Publishes the resource as a connection string", + "description": "Changes the resource to be published as a connection string reference in the manifest.", + "returns": "The configured `IResourceBuilder`1`.", "kind": "Method", "signature": "publishAsConnectionString(): ContainerResource", "parameters": [], @@ -4682,7 +4636,8 @@ "name": "publishAsContainer", "capabilityId": "Aspire.Hosting/publishAsContainer", "qualifiedName": "publishAsContainer", - "description": "Configures the resource to be published as a container", + "description": "Changes the resource to be published as a container in the manifest.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "publishAsContainer(): ContainerResource", "parameters": [], @@ -4697,15 +4652,18 @@ "name": "publishAsDockerFile", "capabilityId": "Aspire.Hosting/publishAsDockerFile", "qualifiedName": "publishAsDockerFile", - "description": "Publishes an executable as a Docker file", + "description": "Adds support for containerizing this `ExecutableResource` during deployment. The resulting container image is built, and when the optional `configure` action is provided, it is used to configure the container resource.", + "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 `configure` action.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "publishAsDockerFile(configure: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E): ExecutableResource", + "signature": "publishAsDockerFile(configure: (obj: ContainerResource) => Promise): ExecutableResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: ContainerResource) => Promise", + "description": "Optional action to configure the container resource" } ], "returnType": "ExecutableResource", @@ -4720,16 +4678,19 @@ "name": "publishAsDockerFile", "capabilityId": "Aspire.Hosting/publishProjectAsDockerFileWithConfigure", "qualifiedName": "publishAsDockerFile", - "description": "Publishes a project as a Docker file with optional container configuration", + "description": "Adds support for containerizing this `ProjectResource` during deployment. The resulting container image is built, and when the optional `configure` action is provided, it is used to configure the container resource.", + "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 `configure` action.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "publishAsDockerFile(configure?: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E): ProjectResource", + "signature": "publishAsDockerFile(configure?: (obj: ContainerResource) => Promise): ProjectResource", "parameters": [ { "name": "configure", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: ContainerResource) => Promise", + "description": "Optional action to configure the container resource" } ], "returnType": "ProjectResource", @@ -4744,7 +4705,7 @@ "name": "publishResourceUpdate", "capabilityId": "Aspire.Hosting/publishResourceUpdate", "qualifiedName": "publishResourceUpdate", - "description": "Publishes an update for a resource\u0027s state", + "description": "Publishes an update for a resource's state.", "kind": "Method", "signature": "publishResourceUpdate(resource: IResource, state?: string, stateStyle?: string): void", "parameters": [ @@ -4773,17 +4734,19 @@ "name": "publishWithContainerFiles", "capabilityId": "Aspire.Hosting/publishWithContainerFilesFromResource", "qualifiedName": "publishWithContainerFiles", - "description": "Configures the resource to copy container files from the specified source during publishing", + "description": "Configures the resource to copy container files from the specified source resource during publishing.", "kind": "Method", "signature": "publishWithContainerFiles(source: IResourceWithContainerFiles, destinationPath: string): IContainerFilesDestinationResource", "parameters": [ { "name": "source", - "type": "IResourceWithContainerFiles" + "type": "IResourceWithContainerFiles", + "description": "The resource which contains the container files to be copied." }, { "name": "destinationPath", - "type": "string" + "type": "string", + "description": "The destination path within the resource's container where the files will be copied." } ], "returnType": "IContainerFilesDestinationResource", @@ -4798,13 +4761,14 @@ "name": "getValueAsync", "capabilityId": "Aspire.Hosting.ApplicationModel/getValueAsync", "qualifiedName": "ReferenceExpression.getValueAsync", - "description": "Gets the resolved string value of the reference expression asynchronously", + "description": "Gets the value of the expression. The final string value after evaluating the format string and its parameters.", "kind": "InstanceMethod", "signature": "getValueAsync(cancellationToken: cancellationToken): string", "parameters": [ { "name": "cancellationToken", - "type": "cancellationToken" + "type": "cancellationToken", + "description": "A `CancellationToken`." } ], "returnType": "string", @@ -4817,18 +4781,20 @@ "name": "appendFormatted", "capabilityId": "Aspire.Hosting.ApplicationModel/appendFormatted", "qualifiedName": "ReferenceExpressionBuilder.appendFormatted", - "description": "Appends a formatted string value to the reference expression", + "description": "Appends a formatted value to the expression.", "kind": "InstanceMethod", "signature": "appendFormatted(value: string, format?: string): void", "parameters": [ { "name": "value", - "type": "string" + "type": "string", + "description": "The formatted string to be appended to the interpolated string." }, { "name": "format", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The format to be applied to the value. e.g., \"uri\"" } ], "returnType": "void", @@ -4841,13 +4807,14 @@ "name": "appendLiteral", "capabilityId": "Aspire.Hosting.ApplicationModel/appendLiteral", "qualifiedName": "ReferenceExpressionBuilder.appendLiteral", - "description": "Appends a literal string to the reference expression", + "description": "Appends a literal value to the expression.", "kind": "InstanceMethod", "signature": "appendLiteral(value: string): void", "parameters": [ { "name": "value", - "type": "string" + "type": "string", + "description": "The literal string value to be appended to the interpolated string." } ], "returnType": "void", @@ -4860,18 +4827,20 @@ "name": "appendValueProvider", "capabilityId": "Aspire.Hosting.ApplicationModel/appendValueProvider", "qualifiedName": "ReferenceExpressionBuilder.appendValueProvider", - "description": "Appends a value provider to the reference expression", + "description": "Appends a value provider to the expression using late binding. The object must implement both `IValueProvider` and `IManifestExpressionProvider`, or be an `IResourceBuilder`1` where T implements both interfaces.", "kind": "InstanceMethod", "signature": "appendValueProvider(valueProvider: any, format?: string): void", "parameters": [ { "name": "valueProvider", - "type": "any" + "type": "any", + "description": "An object that implements both interfaces, or an IResourceBuilder wrapping such an object." }, { "name": "format", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional format specifier." } ], "returnType": "void", @@ -4884,7 +4853,7 @@ "name": "build", "capabilityId": "Aspire.Hosting.ApplicationModel/build", "qualifiedName": "ReferenceExpressionBuilder.build", - "description": "Builds the reference expression", + "description": "Builds the `ReferenceExpression`.", "kind": "InstanceMethod", "signature": "build(): ReferenceExpression", "parameters": [], @@ -4898,7 +4867,7 @@ "name": "isEmpty", "capabilityId": "Aspire.Hosting.ApplicationModel/ReferenceExpressionBuilder.isEmpty", "qualifiedName": "ReferenceExpressionBuilder.isEmpty", - "description": "Gets the IsEmpty property", + "description": "Indicates whether the expression is empty.", "kind": "PropertyGetter", "signature": "isEmpty(): boolean", "parameters": [], @@ -4940,7 +4909,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceReadyEvent.resource", "qualifiedName": "ResourceReadyEvent.resource", - "description": "Gets the Resource property", + "description": "The resource that is in a healthy state.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -4996,7 +4965,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.executionContext", "qualifiedName": "ResourceUrlsCallbackContext.executionContext", - "description": "Gets the execution context for this callback invocation", + "description": "Gets the execution context associated with this invocation of the AppHost.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -5010,13 +4979,14 @@ "name": "getEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/getEndpoint", "qualifiedName": "ResourceUrlsCallbackContext.getEndpoint", - "description": "Gets an endpoint reference from the associated resource", + "description": "Gets an endpoint reference from `Resource` for the specified endpoint name. If `Resource` does not implement `IResourceWithEndpoints` then returns `null`.", "kind": "InstanceMethod", "signature": "getEndpoint(name: string): EndpointReference", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the endpoint." } ], "returnType": "EndpointReference", @@ -5029,7 +4999,7 @@ "name": "log", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.log", "qualifiedName": "ResourceUrlsCallbackContext.log", - "description": "Gets the callback logger facade", + "description": "Gets the logger facade used by polyglot callbacks.", "kind": "PropertyGetter", "signature": "log(): LogFacade", "parameters": [], @@ -5043,7 +5013,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.resource", "qualifiedName": "ResourceUrlsCallbackContext.resource", - "description": "Gets the resource associated with these URLs", + "description": "Gets the resource this the URLs are associated with.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -5057,7 +5027,7 @@ "name": "urls", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.urls", "qualifiedName": "ResourceUrlsCallbackContext.urls", - "description": "Gets the URL editor", + "description": "Gets the editor used to manipulate displayed URLs in polyglot callbacks.", "kind": "PropertyGetter", "signature": "urls(): ResourceUrlsEditor", "parameters": [], @@ -5071,18 +5041,20 @@ "name": "add", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsEditor.add", "qualifiedName": "ResourceUrlsEditor.add", - "description": "Adds a displayed URL", + "description": "Adds a displayed URL.", "kind": "InstanceMethod", "signature": "add(url: ReferenceExpression, displayText?: string): void", "parameters": [ { "name": "url", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The URL to add, specified as a string or reference expression." }, { "name": "displayText", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The optional display text to show for the URL." } ], "returnType": "void", @@ -5095,22 +5067,25 @@ "name": "addForEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsEditor.addForEndpoint", "qualifiedName": "ResourceUrlsEditor.addForEndpoint", - "description": "Adds a displayed URL for a specific endpoint", + "description": "Adds a displayed URL for a specific endpoint.", "kind": "InstanceMethod", "signature": "addForEndpoint(endpoint: EndpointReference, url: ReferenceExpression, displayText?: string): void", "parameters": [ { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint the URL is associated with." }, { "name": "url", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The URL to add, specified as a string or reference expression." }, { "name": "displayText", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The optional display text to show for the URL." } ], "returnType": "void", @@ -5123,7 +5098,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsEditor.executionContext", "qualifiedName": "ResourceUrlsEditor.executionContext", - "description": "Gets the execution context for this URL editor", + "description": "Gets the execution context associated with this editor.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -5179,18 +5154,21 @@ "name": "saveStateJson", "capabilityId": "Aspire.Hosting/saveStateJson", "qualifiedName": "saveStateJson", - "description": "Saves state to user secrets from a JSON string", + "description": "Saves state to user secrets from a JSON string.", + "returns": "A task that completes when the state is saved.", "kind": "Method", "signature": "saveStateJson(json: string, cancellationToken?: cancellationToken): void", "parameters": [ { "name": "json", - "type": "string" + "type": "string", + "description": "The JSON object payload to persist." }, { "name": "cancellationToken", "type": "cancellationToken", - "isOptional": true + "isOptional": true, + "description": "The cancellation token." } ], "returnType": "void", @@ -5203,15 +5181,18 @@ "name": "subscribeAfterResourcesCreated", "capabilityId": "Aspire.Hosting/subscribeAfterResourcesCreated", "qualifiedName": "subscribeAfterResourcesCreated", - "description": "Subscribes to the AfterResourcesCreated event", + "description": "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.", + "returns": "A subscription handle that can be used to unsubscribe.", "kind": "Method", - "signature": "subscribeAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationEventSubscription", + "signature": "subscribeAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) => Promise): DistributedApplicationEventSubscription", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: AfterResourcesCreatedEvent) => Promise", + "description": "A callback that receives the exported event when the event fires." } ], "returnType": "DistributedApplicationEventSubscription", @@ -5224,15 +5205,18 @@ "name": "subscribeBeforeStart", "capabilityId": "Aspire.Hosting/subscribeBeforeStart", "qualifiedName": "subscribeBeforeStart", - "description": "Subscribes to the BeforeStart event", + "description": "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.", + "returns": "A subscription handle that can be used to unsubscribe.", "kind": "Method", - "signature": "subscribeBeforeStart(callback: (arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationEventSubscription", + "signature": "subscribeBeforeStart(callback: (arg: BeforeStartEvent) => Promise): DistributedApplicationEventSubscription", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: BeforeStartEvent) => Promise", + "description": "A callback that receives the exported event when the event fires." } ], "returnType": "DistributedApplicationEventSubscription", @@ -5245,15 +5229,16 @@ "name": "tryAddEventingSubscriber", "capabilityId": "Aspire.Hosting/tryAddEventingSubscriber", "qualifiedName": "tryAddEventingSubscriber", - "description": "Attempts to add an eventing subscriber", + "description": "Attempts to add an ATS-friendly eventing subscriber callback to the distributed-application builder.", "kind": "Method", - "signature": "tryAddEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E): void", + "signature": "tryAddEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) => Promise): void", "parameters": [ { "name": "subscribe", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: EventingSubscriberRegistrationContext) => Promise", + "description": "The callback that registers the event subscriptions." } ], "returnType": "void", @@ -5266,7 +5251,7 @@ "name": "tryGetResourceState", "capabilityId": "Aspire.Hosting/tryGetResourceState", "qualifiedName": "tryGetResourceState", - "description": "Tries to get the current state of a resource", + "description": "Tries to get the current state of a resource.", "kind": "Method", "signature": "tryGetResourceState(resourceName: string): ResourceEventDto", "parameters": [ @@ -5285,7 +5270,7 @@ "name": "serviceProvider", "capabilityId": "Aspire.Hosting.ApplicationModel/UpdateCommandStateContext.serviceProvider", "qualifiedName": "UpdateCommandStateContext.serviceProvider", - "description": "Gets the ServiceProvider property", + "description": "The service provider.", "kind": "PropertyGetter", "signature": "serviceProvider(): IServiceProvider", "parameters": [], @@ -5295,30 +5280,11 @@ "Aspire.Hosting.ApplicationModel.UpdateCommandStateContext" ] }, - { - "name": "setServiceProvider", - "capabilityId": "Aspire.Hosting.ApplicationModel/UpdateCommandStateContext.setServiceProvider", - "qualifiedName": "UpdateCommandStateContext.setServiceProvider", - "description": "Sets the ServiceProvider property", - "kind": "PropertySetter", - "signature": "setServiceProvider(value: IServiceProvider): UpdateCommandStateContext", - "parameters": [ - { - "name": "value", - "type": "IServiceProvider" - } - ], - "returnType": "UpdateCommandStateContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.UpdateCommandStateContext" - ] - }, { "name": "updateTask", "capabilityId": "Aspire.Hosting/updateTask", "qualifiedName": "updateTask", - "description": "Updates the reporting task with plain-text status text", + "description": "Updates the reporting task with plain-text status text.", "kind": "Method", "signature": "updateTask(statusText: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -5342,7 +5308,7 @@ "name": "updateTaskMarkdown", "capabilityId": "Aspire.Hosting/updateTaskMarkdown", "qualifiedName": "updateTaskMarkdown", - "description": "Updates the reporting task with Markdown-formatted status text", + "description": "Updates the reporting task with Markdown-formatted status text.", "kind": "Method", "signature": "updateTaskMarkdown(markdownString: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -5415,19 +5381,23 @@ "name": "waitForCompletion", "capabilityId": "Aspire.Hosting/waitForResourceCompletion", "qualifiedName": "waitForCompletion", - "description": "Waits for resource completion", + "description": "Waits for the dependency resource to enter the Exited or Finished state before starting the resource.", + "remarks": "This method is useful when a resource should wait until another has completed. A common usage pattern\nwould be to include a console application that initializes the database schema or performs other one off\ninitialization tasks.\nNote that this method has no impact at deployment time and only works for local development.\nWait for database initialization app to complete running.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar pgsql = builder.AddPostgres(\"postgres\");\nvar dbprep = builder.AddProject(\"dbprep\")\n.WithReference(pgsql);\nbuilder.AddProject(\"dbpreptool\")\n.WithReference(pgsql)\n.WaitForCompletion(dbprep);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "waitForCompletion(dependency: IResource, exitCode?: number): IResourceWithWaitSupport", "parameters": [ { "name": "dependency", - "type": "IResource" + "type": "IResource", + "description": "The resource builder for the dependency resource." }, { "name": "exitCode", "type": "number", "isOptional": true, - "defaultValue": "0" + "defaultValue": "0", + "description": "The exit code which is interpreted as successful." } ], "returnType": "IResourceWithWaitSupport", @@ -5445,7 +5415,7 @@ "name": "waitForDependencies", "capabilityId": "Aspire.Hosting/waitForDependencies", "qualifiedName": "waitForDependencies", - "description": "Waits for all dependencies of a resource to be ready", + "description": "Waits for all dependencies of a resource to be ready.", "kind": "Method", "signature": "waitForDependencies(resource: IResource): void", "parameters": [ @@ -5464,7 +5434,7 @@ "name": "waitForResourceHealthy", "capabilityId": "Aspire.Hosting/waitForResourceHealthy", "qualifiedName": "waitForResourceHealthy", - "description": "Waits for a resource to become healthy", + "description": "Waits for a resource to become healthy.", "kind": "Method", "signature": "waitForResourceHealthy(resourceName: string): ResourceEventDto", "parameters": [ @@ -5483,7 +5453,7 @@ "name": "waitForResourceState", "capabilityId": "Aspire.Hosting/waitForResourceState", "qualifiedName": "waitForResourceState", - "description": "Waits for a resource to reach a specified state", + "description": "Waits for a resource to reach a specified state.", "kind": "Method", "signature": "waitForResourceState(resourceName: string, targetState?: string): void", "parameters": [ @@ -5507,7 +5477,7 @@ "name": "waitForResourceStates", "capabilityId": "Aspire.Hosting/waitForResourceStates", "qualifiedName": "waitForResourceStates", - "description": "Waits for a resource to reach one of the specified states", + "description": "Waits for a resource to reach one of the specified states.", "kind": "Method", "signature": "waitForResourceStates(resourceName: string, targetStates: string[]): string", "parameters": [ @@ -5560,13 +5530,15 @@ "name": "withArgs", "capabilityId": "Aspire.Hosting/withArgs", "qualifiedName": "withArgs", - "description": "Adds arguments", + "description": "Adds arguments to be passed to a resource that supports arguments when it is launched.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withArgs(args: string[]): IResourceWithArgs", "parameters": [ { "name": "args", - "type": "string[]" + "type": "string[]", + "description": "The arguments to be passed to the resource when it is started." } ], "returnType": "IResourceWithArgs", @@ -5584,15 +5556,17 @@ "name": "withArgsCallback", "capabilityId": "Aspire.Hosting/withArgsCallback", "qualifiedName": "withArgsCallback", - "description": "Sets command-line arguments via callback", + "description": "Adds a callback to be executed with a list of command-line arguments when a resource is started.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): IResourceWithArgs", + "signature": "withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) => Promise): IResourceWithArgs", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: CommandLineArgsCallbackContext) => Promise", + "description": "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." } ], "returnType": "IResourceWithArgs", @@ -5610,7 +5584,8 @@ "name": "withArgumentsConfig", "capabilityId": "Aspire.Hosting/withArgumentsConfig", "qualifiedName": "withArgumentsConfig", - "description": "Adds an arguments configuration gatherer", + "description": "Adds a command line arguments configuration gatherer to the builder.", + "returns": "The builder with the configuration gatherer added.", "kind": "Method", "signature": "withArgumentsConfig(): IExecutionConfigurationBuilder", "parameters": [], @@ -5624,23 +5599,28 @@ "name": "withBindMount", "capabilityId": "Aspire.Hosting/withBindMount", "qualifiedName": "withBindMount", - "description": "Adds a bind mount", + "description": "Adds a bind mount to a container resource.", + "remarks": "Bind mounts are used to mount files or directories from the host file-system into the container. If the host doesn't require access to the files, consider\nusing volumes instead via `WithVolume``1`.\nThe `source` path specifies the path of the file or directory on the host that will be mounted in the container. If the path is not absolute,\nit will be evaluated relative to the app host project directory path.\nThe `target` path specifies the path the file or directory will be mounted inside the container's file system.\nAdds a bind mount that will mount the `config` directory in the app host project directory, to the container's file system at the path `/database/config`,\nand mark it read-only so that the container cannot modify it:\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithBindMount(\"./config\", \"/database/config\", isReadOnly: true);\nbuilder.Build().Run();\n```\nAdds a bind mount that will mount the `init.sh` file from a directory outside the app host project directory, to the container's file system at the path `/usr/config/initialize.sh`,\nand mark it read-only so that the container cannot modify it:\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithBindMount(\"../containerconfig/scripts/init.sh\", \"/usr/config/initialize.sh\", isReadOnly: true);\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withBindMount(source: string, target: string, isReadOnly?: boolean): ContainerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "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" + "type": "string", + "description": "The target path where the file or directory is mounted in the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "ContainerResource", @@ -5654,17 +5634,20 @@ "name": "withBuildArg", "capabilityId": "Aspire.Hosting/withBuildArg", "qualifiedName": "withBuildArg", - "description": "Adds a build argument from a string value or parameter resource", + "description": "Adds a build argument when the container is built from a Dockerfile.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withBuildArg(name: string, value: ParameterResource): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the build argument." }, { "name": "value", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The build argument value, either a string or a parameter resource." } ], "returnType": "ContainerResource", @@ -5678,17 +5661,21 @@ "name": "withBuildSecret", "capabilityId": "Aspire.Hosting/withParameterBuildSecret", "qualifiedName": "withBuildSecret", - "description": "Adds a build secret from a parameter resource", + "description": "Adds a secret build argument when the container is built from a Dockerfile.", + "remarks": "The `WithBuildSecret``1` extension method\nresults in a `--secret` argument being appended to the `docker build` or `podman build` command. This overload results in an environment\nvariable-based secret being passed to the build process. The value of the environment variable is the value of the secret referenced by the `ParameterResource`.\nAdding a build secret based on a parameter.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar accessToken = builder.AddParameter(\"accessToken\", secret: true);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithDockerfile(\"../mycontainer\")\n.WithBuildSecret(\"ACCESS_TOKEN\", accessToken);\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withBuildSecret(name: string, value: ParameterResource): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the secret build argument." }, { "name": "value", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The resource builder for a parameter resource." } ], "returnType": "ContainerResource", @@ -5702,15 +5689,17 @@ "name": "withCertificateTrustConfig", "capabilityId": "Aspire.Hosting/withCertificateTrustConfig", "qualifiedName": "withCertificateTrustConfig", - "description": "Adds a certificate trust configuration gatherer", + "description": "Adds a certificate trust configuration gatherer to the builder.", + "returns": "The builder with the configuration gatherer added.", "kind": "Method", - "signature": "withCertificateTrustConfig(configContextFactory: (arg: CertificateTrustScope) =\u003E Promise\u003CCertificateTrustExecutionConfigurationContext\u003E): IExecutionConfigurationBuilder", + "signature": "withCertificateTrustConfig(configContextFactory: (arg: CertificateTrustScope) => Promise): IExecutionConfigurationBuilder", "parameters": [ { "name": "configContextFactory", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: CertificateTrustScope) =\u003E Promise\u003CCertificateTrustExecutionConfigurationContext\u003E" + "callbackSignature": "(arg: CertificateTrustScope) => Promise", + "description": "A factory function to create the configuration context." } ], "returnType": "IExecutionConfigurationBuilder", @@ -5723,13 +5712,16 @@ "name": "withCertificateTrustScope", "capabilityId": "Aspire.Hosting/withCertificateTrustScope", "qualifiedName": "withCertificateTrustScope", - "description": "Sets the certificate trust scope", + "description": "Sets the `CertificateTrustScope` for custom certificate authorities associated with the resource. The scope specifies how custom certificate authorities should be applied to a resource at run time in local development scenarios. Custom certificate trust is only applied in run mode; in publish mode resources will use their default certificate trust behavior.", + "remarks": "The default scope if not overridden is `Append` which means that custom certificate\nauthorities should be appended to the default trusted certificate authorities for the resource. Setting the scope to\n`Override` indicates the set of certificates in referenced\n`CertificateAuthorityCollection` (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```\nvar caCollection = builder.AddCertificateAuthorityCollection(\"my-cas\")\n.WithCertificate(new X509Certificate2(\"my-ca.pem\"));\nvar container = builder.AddContainer(\"my-service\", \"my-service:latest\")\n.WithCertificateAuthorityCollection(caCollection)\n.WithCertificateTrustScope(CertificateTrustScope.Override);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withCertificateTrustScope(scope: CertificateTrustScope): IResourceWithEnvironment", "parameters": [ { "name": "scope", - "type": "CertificateTrustScope" + "type": "CertificateTrustScope", + "description": "The scope to apply to custom certificate authorities associated with the resource." } ], "returnType": "IResourceWithEnvironment", @@ -5747,13 +5739,16 @@ "name": "withChildRelationship", "capabilityId": "Aspire.Hosting/withBuilderChildRelationship", "qualifiedName": "withChildRelationship", - "description": "Sets a child relationship", + "description": "Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship.", + "remarks": "The `WithChildRelationship` method is used to add child relationships to the resource. Relationships are used to link\nresources together in UI.\nThis example shows adding a relationship between two resources.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar parameter = builder.AddParameter(\"parameter\");\nvar backend = builder.AddProject(\"backend\");\n.WithChildRelationship(parameter);\n```", + "returns": "A resource builder.", "kind": "Method", "signature": "withChildRelationship(child: IResource): IResource", "parameters": [ { "name": "child", - "type": "IResource" + "type": "IResource", + "description": "The child of `builder`." } ], "returnType": "IResource", @@ -5774,28 +5769,34 @@ "name": "withCommand", "capabilityId": "Aspire.Hosting/withCommand", "qualifiedName": "withCommand", - "description": "Adds a resource command", + "description": "Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command.", + "remarks": "The `WithCommand` 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 `executeCommand` callback is called and is run inside the Aspire host.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, commandOptions?: CommandOptions): IResource", + "signature": "withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, commandOptions?: CommandOptions): IResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the command. The name uniquely identifies the command." }, { "name": "displayName", - "type": "string" + "type": "string", + "description": "The display name visible in UI." }, { "name": "executeCommand", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E" + "callbackSignature": "(arg: ExecuteCommandContext) => Promise", + "description": "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", - "isOptional": true + "isOptional": true, + "description": "Optional configuration for the command." } ], "returnType": "IResource", @@ -5816,17 +5817,20 @@ "name": "withConnectionProperty", "capabilityId": "Aspire.Hosting/withConnectionProperty", "qualifiedName": "withConnectionProperty", - "description": "Adds a connection property with a string or reference expression value", + "description": "Adds a connection property annotation to the resource being built.", + "returns": "The same resource builder instance with the specified connection property annotation applied.", "kind": "Method", "signature": "withConnectionProperty(name: string, value: ReferenceExpression): IResourceWithConnectionString", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the connection property to add." }, { "name": "value", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The value to assign to the connection property, specified as a string or reference expression." } ], "returnType": "IResourceWithConnectionString", @@ -5840,24 +5844,28 @@ "name": "withContainerCertificatePaths", "capabilityId": "Aspire.Hosting/withContainerCertificatePaths", "qualifiedName": "withContainerCertificatePaths", - "description": "Overrides container certificate bundle and directory paths used for trust configuration", + "description": "Adds container certificate path overrides used for certificate trust at run time.", + "returns": "The updated resource builder.", "kind": "Method", "signature": "withContainerCertificatePaths(customCertificatesDestination?: string, defaultCertificateBundlePaths?: string[], defaultCertificateDirectoryPaths?: string[]): ContainerResource", "parameters": [ { "name": "customCertificatesDestination", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination path in the container where custom certificates will be copied." }, { "name": "defaultCertificateBundlePaths", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Default certificate bundle paths in the container that will be replaced." }, { "name": "defaultCertificateDirectoryPaths", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Default certificate directory paths in the container that may be appended." } ], "returnType": "ContainerResource", @@ -5871,13 +5879,15 @@ "name": "withContainerFilesSource", "capabilityId": "Aspire.Hosting/withContainerFilesSource", "qualifiedName": "withContainerFilesSource", - "description": "Sets the source directory for container files", + "description": "Adds a container files source annotation to the resource being built, specifying the path to the container files source.", + "returns": "The resource builder instance with the container files source annotation applied.", "kind": "Method", "signature": "withContainerFilesSource(sourcePath: string): IResourceWithContainerFiles", "parameters": [ { "name": "sourcePath", - "type": "string" + "type": "string", + "description": "The path to the container files source to associate with the resource. Cannot be null." } ], "returnType": "IResourceWithContainerFiles", @@ -5891,13 +5901,16 @@ "name": "withContainerName", "capabilityId": "Aspire.Hosting/withContainerName", "qualifiedName": "withContainerName", - "description": "Sets the container name", + "description": "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 `Persistent` will allow Aspire to re-use an existing container that was not\ncreated by an Aspire AppHost.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withContainerName(name: string): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The desired container name. Must be a valid container name or your runtime will report an error." } ], "returnType": "ContainerResource", @@ -5911,13 +5924,16 @@ "name": "withContainerNetworkAlias", "capabilityId": "Aspire.Hosting/withContainerNetworkAlias", "qualifiedName": "withContainerNetworkAlias", - "description": "Adds a network alias for the container", + "description": "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.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withContainerNetworkAlias(alias: string): ContainerResource", "parameters": [ { "name": "alias", - "type": "string" + "type": "string", + "description": "The network alias for the container." } ], "returnType": "ContainerResource", @@ -5931,13 +5947,16 @@ "name": "withContainerRegistry", "capabilityId": "Aspire.Hosting/withContainerRegistry", "qualifiedName": "withContainerRegistry", - "description": "Configures a resource to use a container registry", + "description": "Configures the resource to use the specified container registry for container image operations.", + "remarks": "This method adds a `ContainerRegistryReferenceAnnotation` to the resource,\nindicating that the resource should use the specified container registry for container image operations.", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "withContainerRegistry(registry: IResource): IResource", "parameters": [ { "name": "registry", - "type": "IResource" + "type": "IResource", + "description": "The container registry resource builder." } ], "returnType": "IResource", @@ -5958,13 +5977,16 @@ "name": "withContainerRuntimeArgs", "capabilityId": "Aspire.Hosting/withContainerRuntimeArgs", "qualifiedName": "withContainerRuntimeArgs", - "description": "Adds runtime arguments for the container", + "description": "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.", + "remarks": "This is intended to pass additional arguments to the underlying container runtime run command to enable advanced features such as exposing GPUs to the container. To pass runtime arguments to the actual container, use the `WithArgs``1` method.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withContainerRuntimeArgs(args: string[]): ContainerResource", "parameters": [ { "name": "args", - "type": "string[]" + "type": "string[]", + "description": "The arguments to be passed to the container runtime run command when the container resource is started." } ], "returnType": "ContainerResource", @@ -5978,19 +6000,22 @@ "name": "withDescription", "capabilityId": "Aspire.Hosting/withDescription", "qualifiedName": "withDescription", - "description": "Sets a parameter description", + "description": "Sets the description of the parameter resource.", + "returns": "Resource builder for the parameter.", "kind": "Method", "signature": "withDescription(description: string, enableMarkdown?: boolean): ParameterResource", "parameters": [ { "name": "description", - "type": "string" + "type": "string", + "description": "The parameter description." }, { "name": "enableMarkdown", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A value indicating whether the description should be rendered as Markdown. `true` allows the description to contain Markdown elements such as links, text decoration and lists." } ], "returnType": "ParameterResource", @@ -6004,13 +6029,16 @@ "name": "withDeveloperCertificateTrust", "capabilityId": "Aspire.Hosting/withDeveloperCertificateTrust", "qualifiedName": "withDeveloperCertificateTrust", - "description": "Configures developer certificate trust", + "description": "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```\nvar container = builder.AddContainer(\"my-service\", \"my-service:latest\")\n.WithDeveloperCertificateTrust(false);\n```\nDisable automatic trust for app host managed developer certificate(s), but explicitly enable it for a specific resource.\n```\nvar builder = DistributedApplication.CreateBuilder(new DistributedApplicationOptions()\n{\nArgs = args,\nTrustDeveloperCertificate = false,\n});\nvar project = builder.AddProject(\"my-service\")\n.WithDeveloperCertificateTrust(true);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDeveloperCertificateTrust(trust: boolean): IResourceWithEnvironment", "parameters": [ { "name": "trust", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the developer certificate should be treated as trusted." } ], "returnType": "IResourceWithEnvironment", @@ -6028,23 +6056,28 @@ "name": "withDockerfile", "capabilityId": "Aspire.Hosting/withDockerfile", "qualifiedName": "withDockerfile", - "description": "Configures the resource to use a Dockerfile", + "description": "Causes Aspire to build the specified container image from a Dockerfile.", + "remarks": "When this method is called an annotation is added to the `ContainerResource` that specifies the context path and\nDockerfile path to be used when building the container image. These details are then used by the orchestrator to build the image\nbefore using that image to start the container.\nThe `contextPath` is relative to the AppHost directory unless it is a fully qualified path.\nThe `dockerfilePath` is relative to the `contextPath` unless it is a fully qualified path.\nIf the `dockerfilePath` is not provided, it defaults to \"Dockerfile\" in the `contextPath`.\nWhen generating the manifest for deployment tools, the `WithDockerfile``1`\nmethod results in an additional attribute being added to the `container.v0` resource type which contains the configuration\nnecessary to allow the deployment tool to build the container image prior to deployment.\nCreates a container called `mycontainer` with an image called `myimage`.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithDockerfile(\"path/to/context\");\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDockerfile(contextPath: string, dockerfilePath?: string, stage?: string): ContainerResource", "parameters": [ { "name": "contextPath", - "type": "string" + "type": "string", + "description": "Path to be used as the context for the container image build." }, { "name": "dockerfilePath", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Path to the Dockerfile relative to the `contextPath`. Defaults to \"Dockerfile\" if not specified." }, { "name": "stage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The stage representing the image to be published in a multi-stage Dockerfile." } ], "returnType": "ContainerResource", @@ -6058,19 +6091,23 @@ "name": "withDockerfileBaseImage", "capabilityId": "Aspire.Hosting/withDockerfileBaseImage", "qualifiedName": "withDockerfileBaseImage", - "description": "Sets the base image for a Dockerfile build", + "description": "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```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddPythonApp(\"myapp\", \"path/to/app\", \"main.py\")\n.WithDockerfileBaseImage(\nbuildImage: \"ghcr.io/astral-sh/uv:python3.12-bookworm-slim\",\nruntimeImage: \"python:3.12-slim-bookworm\");\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDockerfileBaseImage(buildImage?: string, runtimeImage?: string): IResource", "parameters": [ { "name": "buildImage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The base image to use for the build stage. If null, uses the default build image." }, { "name": "runtimeImage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The base image to use for the runtime stage. If null, uses the default runtime image." } ], "returnType": "IResource", @@ -6091,24 +6128,29 @@ "name": "withDockerfileBuilder", "capabilityId": "Aspire.Hosting/withDockerfileBuilder", "qualifiedName": "withDockerfileBuilder", - "description": "Configures the resource to use a programmatically generated Dockerfile", + "description": "Builds the specified container image from a Dockerfile generated by a callback using the `DockerfileBuilder` API.", + "remarks": "This method provides a programmatic way to build Dockerfiles using the `DockerfileBuilder` 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 `contextPath` is relative to the AppHost directory unless it is fully qualified.\nCreates a container with a programmatically built Dockerfile using fluent API:\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithDockerfileBuilder(\"path/to/context\", context =>\n{\ncontext.Builder.From(\"alpine:latest\")\n.WorkDir(\"/app\")\n.Run(\"apk add curl\")\n.Copy(\".\", \".\")\n.Cmd([\"./myapp\"]);\nreturn Task.CompletedTask;\n});\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withDockerfileBuilder(contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E, stage?: string): ContainerResource", + "signature": "withDockerfileBuilder(contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) => Promise, stage?: string): ContainerResource", "parameters": [ { "name": "contextPath", - "type": "string" + "type": "string", + "description": "Path to be used as the context for the container image build." }, { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: DockerfileBuilderCallbackContext) => Promise", + "description": "A callback that uses the `DockerfileBuilder` API to construct the Dockerfile." }, { "name": "stage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The stage representing the image to be published in a multi-stage Dockerfile." } ], "returnType": "ContainerResource", @@ -6122,7 +6164,8 @@ "name": "withEndpoint", "capabilityId": "Aspire.Hosting/withEndpoint", "qualifiedName": "withEndpoint", - "description": "Adds a network endpoint", + "description": "Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withEndpoint(port?: number, targetPort?: number, scheme?: string, name?: string, env?: string, isProxied?: boolean, isExternal?: boolean, protocol?: ProtocolType): IResourceWithEndpoints", "parameters": [ @@ -6130,46 +6173,54 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "An optional port. This is the port that will be given to other resource to communicate with this resource." }, { "name": "targetPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "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", - "isOptional": true + "isOptional": true, + "description": "An optional scheme e.g. (http/https). Defaults to the `protocol` argument if it is defined or \"tcp\" otherwise." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name of the endpoint. Defaults to the scheme name if not specified." }, { "name": "env", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name of the environment variable that will be used to inject the `targetPort`. If the target port is null one will be dynamically generated and assigned to the environment variable." }, { "name": "isProxied", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Specifies if the endpoint will be proxied by DCP. Defaults to true." }, { "name": "isExternal", "type": "boolean", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "Indicates that this endpoint should be exposed externally at publish time." }, { "name": "protocol", "type": "ProtocolType", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "Network protocol: TCP or UDP are supported today, others possibly in future." } ], "returnType": "IResourceWithEndpoints", @@ -6189,7 +6240,7 @@ "qualifiedName": "withEndpointCallback", "description": "Updates a named endpoint via callback", "kind": "Method", - "signature": "withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, createIfNotExists?: boolean): IResourceWithEndpoints", + "signature": "withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) => Promise, createIfNotExists?: boolean): IResourceWithEndpoints", "parameters": [ { "name": "endpointName", @@ -6199,7 +6250,7 @@ "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: EndpointUpdateContext) => Promise" }, { "name": "createIfNotExists", @@ -6223,13 +6274,16 @@ "name": "withEndpointProxySupport", "capabilityId": "Aspire.Hosting/withEndpointProxySupport", "qualifiedName": "withEndpointProxySupport", - "description": "Configures endpoint proxy support", + "description": "Set whether a container resource can use proxied endpoints or whether they should be disabled for all endpoints belonging to the container. If set to `false`, endpoints belonging to the container resource will ignore the configured proxy settings and run proxy-less.", + "remarks": "This method is intended to support scenarios with persistent lifetime containers where it is desirable for the container 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 container endpoints are using unique ports when disabling proxy support as by default for proxy-less\nendpoints, Aspire will allocate the internal container port as the host port, which will increase the chance of port conflicts.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withEndpointProxySupport(proxyEnabled: boolean): ContainerResource", "parameters": [ { "name": "proxyEnabled", - "type": "boolean" + "type": "boolean", + "description": "Should endpoints for the container resource support using a proxy?" } ], "returnType": "ContainerResource", @@ -6243,13 +6297,15 @@ "name": "withEntrypoint", "capabilityId": "Aspire.Hosting/withEntrypoint", "qualifiedName": "withEntrypoint", - "description": "Sets the container entrypoint", + "description": "Sets the Entrypoint for the container.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withEntrypoint(entrypoint: string): ContainerResource", "parameters": [ { "name": "entrypoint", - "type": "string" + "type": "string", + "description": "The new entrypoint for the container." } ], "returnType": "ContainerResource", @@ -6291,15 +6347,17 @@ "name": "withEnvironmentCallback", "capabilityId": "Aspire.Hosting/withEnvironmentCallback", "qualifiedName": "withEnvironmentCallback", - "description": "Sets environment variables via callback", + "description": "Allows for the population of environment variables on a resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): IResourceWithEnvironment", + "signature": "withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) => Promise): IResourceWithEnvironment", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: EnvironmentCallbackContext) => Promise", + "description": "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." } ], "returnType": "IResourceWithEnvironment", @@ -6317,7 +6375,8 @@ "name": "withEnvironmentVariablesConfig", "capabilityId": "Aspire.Hosting/withEnvironmentVariablesConfig", "qualifiedName": "withEnvironmentVariablesConfig", - "description": "Adds an environment variables configuration gatherer", + "description": "Adds an environment variables configuration gatherer to the builder.", + "returns": "The builder with the configuration gatherer added.", "kind": "Method", "signature": "withEnvironmentVariablesConfig(): IExecutionConfigurationBuilder", "parameters": [], @@ -6331,13 +6390,15 @@ "name": "withExecutableCommand", "capabilityId": "Aspire.Hosting/withExecutableCommand", "qualifiedName": "withExecutableCommand", - "description": "Sets the executable command", + "description": "Sets the command for the executable resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withExecutableCommand(command: string): ExecutableResource", "parameters": [ { "name": "command", - "type": "string" + "type": "string", + "description": "Command." } ], "returnType": "ExecutableResource", @@ -6352,7 +6413,9 @@ "name": "withExplicitStart", "capabilityId": "Aspire.Hosting/withExplicitStart", "qualifiedName": "withExplicitStart", - "description": "Prevents resource from starting automatically", + "description": "Adds a `ExplicitStartupAnnotation` annotation to the resource so it doesn't automatically start with the app host startup.", + "remarks": "This method is useful when a resource shouldn't automatically start when the app host starts.\nThe database clean up tool project isn't started with the app host.\nThe resource start command can be used to run it ondemand later.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar pgsql = builder.AddPostgres(\"postgres\");\nbuilder.AddProject(\"dbcleanuptool\")\n.WithReference(pgsql)\n.WithExplicitStart();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withExplicitStart(): IResource", "parameters": [], @@ -6374,7 +6437,8 @@ "name": "withExternalHttpEndpoints", "capabilityId": "Aspire.Hosting/withExternalHttpEndpoints", "qualifiedName": "withExternalHttpEndpoints", - "description": "Makes HTTP endpoints externally accessible", + "description": "Marks existing http or https endpoints on a resource as external.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withExternalHttpEndpoints(): IResourceWithEndpoints", "parameters": [], @@ -6393,13 +6457,16 @@ "name": "withHealthCheck", "capabilityId": "Aspire.Hosting/withHealthCheck", "qualifiedName": "withHealthCheck", - "description": "Adds a health check by key", + "description": "Adds a `HealthCheckAnnotation` to the resource annotations to associate a resource with a named health check managed by the health check service.", + "remarks": "The `WithHealthCheck``1` method is used in conjunction with\nthe `WaitFor``1` to associate a resource\nregistered in the application hosts dependency injection container. The `WithHealthCheck``1`\nmethod does not inject the health check itself it is purely an association mechanism.\nDefine a custom health check and associate it with a resource.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar startAfter = DateTime.Now.AddSeconds(30);\nbuilder.Services.AddHealthChecks().AddCheck(mycheck\", () =>\n{\nreturn DateTime.Now > startAfter ? HealthCheckResult.Healthy() : HealthCheckResult.Unhealthy();\n});\nvar pg = builder.AddPostgres(\"pg\")\n.WithHealthCheck(\"mycheck\");\nbuilder.AddProject(\"myapp\")\n.WithReference(pg)\n.WaitFor(pg); // This will result in waiting for the building check, and the\n// custom check defined in the code.\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHealthCheck(key: string): IResource", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The key for the health check." } ], "returnType": "IResource", @@ -6453,7 +6520,9 @@ "name": "withHttpEndpoint", "capabilityId": "Aspire.Hosting/withHttpEndpoint", "qualifiedName": "withHttpEndpoint", - "description": "Adds an HTTP endpoint", + "description": "Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be \"http\" if not specified.", + "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 `null` will not modify the existing endpoint's values.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHttpEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): IResourceWithEndpoints", "parameters": [ @@ -6461,29 +6530,34 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "An optional port. This is the port that will be given to other resource to communicate with this resource." }, { "name": "targetPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "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", - "isOptional": true + "isOptional": true, + "description": "An optional name of the endpoint. Defaults to \"http\" if not specified." }, { "name": "env", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name of the environment variable to inject." }, { "name": "isProxied", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Specifies if the endpoint will be proxied by DCP. Defaults to true." } ], "returnType": "IResourceWithEndpoints", @@ -6503,13 +6577,13 @@ "qualifiedName": "withHttpEndpointCallback", "description": "Updates an HTTP endpoint via callback", "kind": "Method", - "signature": "withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, name?: string, createIfNotExists?: boolean): IResourceWithEndpoints", + "signature": "withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): IResourceWithEndpoints", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: EndpointUpdateContext) => Promise" }, { "name": "name", @@ -6538,7 +6612,7 @@ "name": "withHttpHealthCheck", "capabilityId": "Aspire.Hosting/withExternalServiceHttpHealthCheck", "qualifiedName": "withHttpHealthCheck", - "description": "Adds an HTTP health check to the external service", + "description": "Adds an HTTP health check to the external service for polyglot app hosts.", "kind": "Method", "signature": "withHttpHealthCheck(path?: string, statusCode?: number, endpointName?: string): ExternalServiceResource", "parameters": [ @@ -6570,25 +6644,30 @@ "name": "withHttpHealthCheck", "capabilityId": "Aspire.Hosting/withHttpHealthCheck", "qualifiedName": "withHttpHealthCheck", - "description": "Adds an HTTP health check", + "description": "Adds a health check to the resource which is mapped to a specific endpoint.", + "remarks": "This method adds a health check to the health check service which polls the specified endpoint on the resource\non a periodic basis. The base address is dynamically determined based on the endpoint that was selected. By\ndefault the path is set to \"/\" and the status code is set to 200.\nThis example shows adding an HTTP health check to a backend project.\nThe health check makes sure that the front end does not start until the backend is\nreporting a healthy status based on the return code returned from the\n\"/health\" path on the backend server.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar backend = builder.AddProject(\"backend\")\n.WithHttpHealthCheck(\"/health\");\nbuilder.AddProject(\"frontend\")\n.WithReference(backend).WaitFor(backend);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHttpHealthCheck(path?: string, statusCode?: number, endpointName?: string): IResourceWithEndpoints", "parameters": [ { "name": "path", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The relative path to test." }, { "name": "statusCode", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The result code to interpret as healthy." }, { "name": "endpointName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the endpoint to derive the base address from." } ], "returnType": "IResourceWithEndpoints", @@ -6606,7 +6685,7 @@ "name": "withHttpProbe", "capabilityId": "Aspire.Hosting/withHttpProbe", "qualifiedName": "withHttpProbe", - "description": "Adds an HTTP health probe to the resource", + "description": "ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust.", "kind": "Method", "signature": "withHttpProbe(probeType: ProbeType, path?: string, initialDelaySeconds?: number, periodSeconds?: number, timeoutSeconds?: number, failureThreshold?: number, successThreshold?: number, endpointName?: string): IResourceWithEndpoints", "parameters": [ @@ -6670,15 +6749,17 @@ "name": "withHttpsCertificateConfig", "capabilityId": "Aspire.Hosting/withHttpsCertificateConfigExport", "qualifiedName": "withHttpsCertificateConfig", - "description": "Adds an HTTPS certificate configuration gatherer", + "description": "Adds an HTTPS certificate configuration gatherer using certificate metadata instead of a raw X509 certificate.", + "returns": "The execution configuration builder.", "kind": "Method", - "signature": "withHttpsCertificateConfig(configContextFactory: (arg: HttpsCertificateInfo) =\u003E Promise\u003CHttpsCertificateExecutionConfigurationContext\u003E): IExecutionConfigurationBuilder", + "signature": "withHttpsCertificateConfig(configContextFactory: (arg: HttpsCertificateInfo) => Promise): IExecutionConfigurationBuilder", "parameters": [ { "name": "configContextFactory", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: HttpsCertificateInfo) =\u003E Promise\u003CHttpsCertificateExecutionConfigurationContext\u003E" + "callbackSignature": "(arg: HttpsCertificateInfo) => Promise", + "description": "The factory that creates the HTTPS certificate configuration context." } ], "returnType": "IExecutionConfigurationBuilder", @@ -6691,14 +6772,17 @@ "name": "withHttpsDeveloperCertificate", "capabilityId": "Aspire.Hosting/withParameterHttpsDeveloperCertificate", "qualifiedName": "withHttpsDeveloperCertificate", - "description": "Configures HTTPS with a developer certificate", + "description": "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```\nbuilder.AddContainer(\"my-service\", \"my-image\")\n.WithHttpsDeveloperCertificate()\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHttpsDeveloperCertificate(password?: ParameterResource): IResourceWithEnvironment", "parameters": [ { "name": "password", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "A parameter specifying the password used to encrypt the certificate private key." } ], "returnType": "IResourceWithEnvironment", @@ -6716,7 +6800,9 @@ "name": "withHttpsEndpoint", "capabilityId": "Aspire.Hosting/withHttpsEndpoint", "qualifiedName": "withHttpsEndpoint", - "description": "Adds an HTTPS endpoint", + "description": "Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be \"https\" if not specified.", + "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 `null` will not modify the existing endpoint's values.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHttpsEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): IResourceWithEndpoints", "parameters": [ @@ -6724,29 +6810,34 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "An optional host port." }, { "name": "targetPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "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", - "isOptional": true + "isOptional": true, + "description": "An optional name of the endpoint. Defaults to \"https\" if not specified." }, { "name": "env", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name of the environment variable to inject." }, { "name": "isProxied", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Specifies if the endpoint will be proxied by DCP. Defaults to true." } ], "returnType": "IResourceWithEndpoints", @@ -6766,13 +6857,13 @@ "qualifiedName": "withHttpsEndpointCallback", "description": "Updates an HTTPS endpoint via callback", "kind": "Method", - "signature": "withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, name?: string, createIfNotExists?: boolean): IResourceWithEndpoints", + "signature": "withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): IResourceWithEndpoints", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: EndpointUpdateContext) => Promise" }, { "name": "name", @@ -6801,19 +6892,23 @@ "name": "withIconName", "capabilityId": "Aspire.Hosting/withIconName", "qualifiedName": "withIconName", - "description": "Sets the icon for the resource", + "description": "Specifies the icon to use when displaying the resource in the dashboard.", + "remarks": "This method allows you to specify a custom FluentUI icon that will be displayed for the resource in the dashboard.\nIf no custom icon is specified, the dashboard will use default icons based on the resource type.\nSet a Redis resource to use the Database icon:\n```\nvar redis = builder.AddContainer(\"redis\", \"redis:latest\")\n.WithIconName(\"Database\");\n```\nSet a custom service to use a specific icon with Regular variant:\n```\nvar service = builder.AddProject(\"service\")\n.WithIconName(\"CloudArrowUp\", IconVariant.Regular);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withIconName(iconName: string, iconVariant?: IconVariant): IResource", "parameters": [ { "name": "iconName", - "type": "string" + "type": "string", + "description": "The name of the FluentUI icon to use. See https://aka.ms/fluentui-system-icons for available icons." }, { "name": "iconVariant", "type": "IconVariant", "isOptional": true, - "defaultValue": "Filled" + "defaultValue": "Filled", + "description": "The variant of the icon (Regular or Filled). Defaults to Filled." } ], "returnType": "IResource", @@ -6834,18 +6929,21 @@ "name": "withImage", "capabilityId": "Aspire.Hosting/withImage", "qualifiedName": "withImage", - "description": "Sets the container image", + "description": "Allows overriding the image on a container.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withImage(image: string, tag?: string): ContainerResource", "parameters": [ { "name": "image", - "type": "string" + "type": "string", + "description": "Image value." }, { "name": "tag", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Tag value." } ], "returnType": "ContainerResource", @@ -6859,13 +6957,15 @@ "name": "withImagePullPolicy", "capabilityId": "Aspire.Hosting/withImagePullPolicy", "qualifiedName": "withImagePullPolicy", - "description": "Sets the container image pull policy", + "description": "Sets the pull policy for the container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withImagePullPolicy(pullPolicy: ImagePullPolicy): ContainerResource", "parameters": [ { "name": "pullPolicy", - "type": "ImagePullPolicy" + "type": "ImagePullPolicy", + "description": "The pull policy behavior for the container resource." } ], "returnType": "ContainerResource", @@ -6879,15 +6979,18 @@ "name": "withImagePushOptions", "capabilityId": "Aspire.Hosting/withImagePushOptions", "qualifiedName": "withImagePushOptions", - "description": "Sets image push options via callback", + "description": "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 `ContainerImagePushOptionsCallbackContext` that provides access to the resource\nand the `ContainerImagePushOptions` that can be modified.\nMultiple callbacks can be registered on the same resource, and they will be invoked in the order they were added.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E): IComputeResource", + "signature": "withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) => Promise): IComputeResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: ContainerImagePushOptionsCallbackContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: ContainerImagePushOptionsCallbackContext) => Promise", + "description": "The asynchronous callback to configure push options." } ], "returnType": "IComputeResource", @@ -6905,13 +7008,15 @@ "name": "withImageRegistry", "capabilityId": "Aspire.Hosting/withImageRegistry", "qualifiedName": "withImageRegistry", - "description": "Sets the container image registry", + "description": "Allows overriding the image registry on a container.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withImageRegistry(registry: string): ContainerResource", "parameters": [ { "name": "registry", - "type": "string" + "type": "string", + "description": "Registry value." } ], "returnType": "ContainerResource", @@ -6925,13 +7030,15 @@ "name": "withImageSHA256", "capabilityId": "Aspire.Hosting/withImageSHA256", "qualifiedName": "withImageSHA256", - "description": "Sets the image SHA256 digest", + "description": "Allows setting the image to a specific sha256 on a container.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withImageSHA256(sha256: string): ContainerResource", "parameters": [ { "name": "sha256", - "type": "string" + "type": "string", + "description": "Registry value." } ], "returnType": "ContainerResource", @@ -6945,13 +7052,15 @@ "name": "withImageTag", "capabilityId": "Aspire.Hosting/withImageTag", "qualifiedName": "withImageTag", - "description": "Sets the container image tag", + "description": "Allows overriding the image tag on a container.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withImageTag(tag: string): ContainerResource", "parameters": [ { "name": "tag", - "type": "string" + "type": "string", + "description": "Tag value." } ], "returnType": "ContainerResource", @@ -6965,13 +7074,16 @@ "name": "withLifetime", "capabilityId": "Aspire.Hosting/withLifetime", "qualifiedName": "withLifetime", - "description": "Sets the lifetime behavior of the container resource", + "description": "Sets the lifetime behavior of the container resource.", + "remarks": "Marking a container resource to have a `Persistent` lifetime.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithLifetime(ContainerLifetime.Persistent);\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withLifetime(lifetime: ContainerLifetime): ContainerResource", "parameters": [ { "name": "lifetime", - "type": "ContainerLifetime" + "type": "ContainerLifetime", + "description": "The lifetime behavior of the container resource. The defaults behavior is `Session`." } ], "returnType": "ContainerResource", @@ -6985,7 +7097,9 @@ "name": "withMcpServer", "capabilityId": "Aspire.Hosting/withMcpServer", "qualifiedName": "withMcpServer", - "description": "Configures an MCP server endpoint on the resource", + "description": "Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint.", + "remarks": "This method adds an `McpServerEndpointAnnotation` to the resource, enabling the Aspire tooling\nto discover and proxy the MCP server exposed by the resource.", + "returns": "A reference to the `IResourceBuilder`1` for chaining additional configuration.", "kind": "Method", "signature": "withMcpServer(path?: string, endpointName?: string): IResourceWithEndpoints", "parameters": [ @@ -6993,12 +7107,14 @@ "name": "path", "type": "string", "isOptional": true, - "defaultValue": "/mcp" + "defaultValue": "/mcp", + "description": "An optional path to append to the endpoint URL when forming the MCP server address. Defaults to `\"/mcp\"`." }, { "name": "endpointName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name of the endpoint that hosts the MCP server. If not specified, defaults to the first HTTPS or HTTP endpoint." } ], "returnType": "IResourceWithEndpoints", @@ -7042,7 +7158,9 @@ "name": "withoutHttpsCertificate", "capabilityId": "Aspire.Hosting/withoutHttpsCertificate", "qualifiedName": "withoutHttpsCertificate", - "description": "Removes HTTPS certificate configuration", + "description": "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```\nvar redis = builder.AddRedis(\"cache\")\n.WithoutHttpsCertificate();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withoutHttpsCertificate(): IResourceWithEnvironment", "parameters": [], @@ -7061,13 +7179,16 @@ "name": "withParentRelationship", "capabilityId": "Aspire.Hosting/withBuilderParentRelationship", "qualifiedName": "withParentRelationship", - "description": "Sets the parent relationship", + "description": "Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship.", + "remarks": "The `WithParentRelationship` method is used to add parent relationships to the resource. Relationships are used to link\nresources together in UI.\nThis example shows adding a relationship between two resources.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar backend = builder.AddProject(\"backend\");\nvar frontend = builder.AddProject(\"frontend\")\n.WithParentRelationship(backend);\n```", + "returns": "A resource builder.", "kind": "Method", "signature": "withParentRelationship(parent: IResource): IResource", "parameters": [ { "name": "parent", - "type": "IResource" + "type": "IResource", + "description": "The parent of `builder`." } ], "returnType": "IResource", @@ -7088,15 +7209,17 @@ "name": "withPipelineConfiguration", "capabilityId": "Aspire.Hosting/withPipelineConfiguration", "qualifiedName": "withPipelineConfiguration", - "description": "Configures pipeline step dependencies via a callback", + "description": "Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.", + "returns": "The resource builder for chaining.", "kind": "Method", - "signature": "withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PipelineConfigurationContext) => Promise", + "description": "The callback function to execute during the configuration phase." } ], "returnType": "IResource", @@ -7117,39 +7240,46 @@ "name": "withPipelineStepFactory", "capabilityId": "Aspire.Hosting/withPipelineStepFactory", "qualifiedName": "withPipelineStepFactory", - "description": "Adds a pipeline step to the resource", + "description": "Adds a pipeline step to the resource that will be executed during deployment.", + "returns": "The resource builder for chaining.", "kind": "Method", - "signature": "withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): IResource", + "signature": "withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): IResource", "parameters": [ { "name": "stepName", - "type": "string" + "type": "string", + "description": "The unique name of the pipeline step." }, { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: PipelineStepContext) => Promise", + "description": "The callback to execute when the step runs." }, { "name": "dependsOn", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional step names that this step depends on." }, { "name": "requiredBy", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional step names that require this step." }, { "name": "tags", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional tags that categorize this step." }, { "name": "description", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional human-readable description of the step." } ], "returnType": "IResource", @@ -7210,13 +7340,15 @@ "name": "withReferenceEnvironment", "capabilityId": "Aspire.Hosting/withReferenceEnvironment", "qualifiedName": "withReferenceEnvironment", - "description": "Configures which reference values are injected into environment variables", + "description": "Configures how information is injected into environment variables when the resource references other resources.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): IResourceWithEnvironment", "parameters": [ { "name": "options", - "type": "ReferenceEnvironmentInjectionOptions" + "type": "ReferenceEnvironmentInjectionOptions", + "description": "Options controlling which reference information is emitted." } ], "returnType": "IResourceWithEnvironment", @@ -7234,17 +7366,20 @@ "name": "withRelationship", "capabilityId": "Aspire.Hosting/withBuilderRelationship", "qualifiedName": "withRelationship", - "description": "Adds a relationship to another resource", + "description": "Adds a relationship to another resource using its builder.", + "returns": "A resource builder.", "kind": "Method", "signature": "withRelationship(resourceBuilder: IResource, type: string): IResource", "parameters": [ { "name": "resourceBuilder", - "type": "IResource" + "type": "IResource", + "description": "The resource builder that the relationship is to." }, { "name": "type", - "type": "string" + "type": "string", + "description": "The relationship type." } ], "returnType": "IResource", @@ -7265,13 +7400,16 @@ "name": "withRemoteImageName", "capabilityId": "Aspire.Hosting/withRemoteImageName", "qualifiedName": "withRemoteImageName", - "description": "Sets the remote image name for publishing", + "description": "Sets the remote image name (without registry endpoint or tag) for container push operations.", + "remarks": "This is a convenience method that registers a callback to set the `RemoteImageName` property.\nThe remote image name should not include the registry endpoint or tag. Those are managed separately.\nThis method can be combined with `WithRemoteImageTag``1` to fully customize the image reference.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withRemoteImageName(remoteImageName: string): IComputeResource", "parameters": [ { "name": "remoteImageName", - "type": "string" + "type": "string", + "description": "The remote image name (e.g., \"myapp\" or \"myorg/myapp\")." } ], "returnType": "IComputeResource", @@ -7289,13 +7427,16 @@ "name": "withRemoteImageTag", "capabilityId": "Aspire.Hosting/withRemoteImageTag", "qualifiedName": "withRemoteImageTag", - "description": "Sets the remote image tag for publishing", + "description": "Sets the remote image tag for container push operations.", + "remarks": "This is a convenience method that registers a callback to set the `RemoteImageTag` property.\nThe tag can be any valid container image tag such as version numbers, environment names, or deployment identifiers.\nThis method can be combined with `WithRemoteImageName``1` to fully customize the image reference.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withRemoteImageTag(remoteImageTag: string): IComputeResource", "parameters": [ { "name": "remoteImageTag", - "type": "string" + "type": "string", + "description": "The remote image tag (e.g., \"latest\", \"v1.0.0\")." } ], "returnType": "IComputeResource", @@ -7313,13 +7454,16 @@ "name": "withReplicas", "capabilityId": "Aspire.Hosting/withReplicas", "qualifiedName": "withReplicas", - "description": "Sets the number of replicas", + "description": "Configures how many replicas of the project should be created for the project.", + "remarks": "When this method is applied to a project resource it will configure the app host to start multiple instances\nof the application based on the specified number of replicas. By default the app host automatically starts a\nreverse proxy for each process. When `WithReplicas` is\nused the reverse proxy will load balance traffic between the replicas.\nThis capability can be useful when debugging scale out scenarios to ensure state is appropriately managed\nwithin a cluster of instances.\nStart multiple instances of the same service.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddProject(\"inventoryservice\")\n.WithReplicas(3);\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withReplicas(replicas: number): ProjectResource", "parameters": [ { "name": "replicas", - "type": "number" + "type": "number", + "description": "The number of replicas." } ], "returnType": "ProjectResource", @@ -7334,18 +7478,22 @@ "name": "withRequiredCommand", "capabilityId": "Aspire.Hosting/withRequiredCommand", "qualifiedName": "withRequiredCommand", - "description": "Adds a required command dependency", + "description": "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.", + "returns": "The resource builder.", "kind": "Method", "signature": "withRequiredCommand(command: string, helpLink?: string): IResource", "parameters": [ { "name": "command", - "type": "string" + "type": "string", + "description": "The command string (file name or path) that should be validated." }, { "name": "helpLink", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional help link URL to guide users when the command is missing." } ], "returnType": "IResource", @@ -7366,7 +7514,8 @@ "name": "withToolIgnoreExistingFeeds", "capabilityId": "Aspire.Hosting/withToolIgnoreExistingFeeds", "qualifiedName": "withToolIgnoreExistingFeeds", - "description": "Ignores existing NuGet feeds", + "description": "Configures the tool to use only the specified package sources, ignoring existing NuGet configuration.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolIgnoreExistingFeeds(): DotnetToolResource", "parameters": [], @@ -7381,7 +7530,8 @@ "name": "withToolIgnoreFailedSources", "capabilityId": "Aspire.Hosting/withToolIgnoreFailedSources", "qualifiedName": "withToolIgnoreFailedSources", - "description": "Ignores failed NuGet sources", + "description": "Configures the resource to treat package source failures as warnings.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolIgnoreFailedSources(): DotnetToolResource", "parameters": [], @@ -7396,13 +7546,15 @@ "name": "withToolPackage", "capabilityId": "Aspire.Hosting/withToolPackage", "qualifiedName": "withToolPackage", - "description": "Sets the tool package ID", + "description": "Sets the package identifier for the tool configuration associated with the resource builder.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolPackage(packageId: string): DotnetToolResource", "parameters": [ { "name": "packageId", - "type": "string" + "type": "string", + "description": "The package identifier to assign to the tool configuration. Cannot be null." } ], "returnType": "DotnetToolResource", @@ -7416,7 +7568,8 @@ "name": "withToolPrerelease", "capabilityId": "Aspire.Hosting/withToolPrerelease", "qualifiedName": "withToolPrerelease", - "description": "Allows prerelease tool versions", + "description": "Allows prerelease versions of the tool to be used", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolPrerelease(): DotnetToolResource", "parameters": [], @@ -7431,13 +7584,15 @@ "name": "withToolSource", "capabilityId": "Aspire.Hosting/withToolSource", "qualifiedName": "withToolSource", - "description": "Adds a NuGet source for the tool", + "description": "Adds a NuGet package source for tool acquisition.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolSource(source: string): DotnetToolResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source to add." } ], "returnType": "DotnetToolResource", @@ -7451,13 +7606,15 @@ "name": "withToolVersion", "capabilityId": "Aspire.Hosting/withToolVersion", "qualifiedName": "withToolVersion", - "description": "Sets the tool version", + "description": "Sets the package version for a tool to use.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolVersion(version: string): DotnetToolResource", "parameters": [ { "name": "version", - "type": "string" + "type": "string", + "description": "The package version to use" } ], "returnType": "DotnetToolResource", @@ -7503,19 +7660,23 @@ "name": "withUrlForEndpoint", "capabilityId": "Aspire.Hosting/withUrlForEndpoint", "qualifiedName": "withUrlForEndpoint", - "description": "Customizes the URL for a specific endpoint via callback", + "description": "Registers a callback to update the URL displayed for the endpoint with the specified name.", + "remarks": "Use this method to customize the URL that is automatically added for an endpoint on the resource.\nTo add another URL for an endpoint, use `WithUrlForEndpoint``1`.\nThe callback will be executed after endpoints have been allocated and the URL has been generated.\nThis allows you to modify the URL or its display text.\nIf the URL returned by `callback` is relative, it will be combined with the endpoint URL to create an absolute URL.\nIf the endpoint with the specified name does not exist, the callback will not be executed and a warning will be logged.\nCustomize the URL for the \"https\" endpoint to use the link text \"Home\":\n```\nvar frontend = builder.AddProject(\"frontend\")\n.WithUrlForEndpoint(\"https\", url => url.DisplayText = \"Home\");\n```\nCustomize the URL for the \"https\" endpoint to deep to the \"/home\" path:\n```\nvar frontend = builder.AddProject(\"frontend\")\n.WithUrlForEndpoint(\"https\", url => url.Url = \"/home\");\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) => Promise): IResource", "parameters": [ { "name": "endpointName", - "type": "string" + "type": "string", + "description": "The name of the endpoint to customize the URL for." }, { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: ResourceUrlAnnotation) => Promise", + "description": "The callback that will customize the URL." } ], "returnType": "IResource", @@ -7536,15 +7697,18 @@ "name": "withUrls", "capabilityId": "Aspire.Hosting/withUrls", "qualifiedName": "withUrls", - "description": "Customizes displayed URLs via callback", + "description": "Registers a callback to customize the URLs displayed for the resource.", + "remarks": "The callback will be executed after endpoints have been allocated for this resource.\nThis allows you to modify any URLs for the resource, including adding, modifying, or even deletion.\nNote that any endpoints on the resource will automatically get a corresponding URL added for them.\nUpdate all displayed URLs to have display text:\n```\nvar frontend = builder.AddProject(\"frontend\")\n.WithUrls(c =>\n{\nforeach (var url in c.Urls)\n{\nif (string.IsNullOrEmpty(url.DisplayText))\n{\nurl.DisplayText = \"frontend\";\n}\n}\n});\n```\nUpdate endpoint URLs to use a custom host name based on the resource name:\n```\nvar frontend = builder.AddProject(\"frontend\")\n.WithUrls(c =>\n{\nforeach (var url in c.Urls)\n{\nif (url.Endpoint is not null)\n{\nvar uri = new UriBuilder(url.Url) { Host = $\"{c.Resource.Name}.localhost\" };\nurl.Url = uri.ToString();\n}\n}\n});\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "withUrls(callback: (obj: ResourceUrlsCallbackContext) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: ResourceUrlsCallbackContext) => Promise", + "description": "The callback that will customize URLs for the resource." } ], "returnType": "IResource", @@ -7565,24 +7729,29 @@ "name": "withVolume", "capabilityId": "Aspire.Hosting/withVolume", "qualifiedName": "withVolume", - "description": "Adds a volume", + "description": "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 `ContainerResourceBuilderExtensions.WithVolume`\nhas parameter order `(name?, target, isReadOnly)` where the optional `name` comes first.\nThis wrapper reorders parameters to `(target, name?, isReadOnly)` so the required `target`\nparameter comes first, providing a better API for polyglot consumers.", + "returns": "The same resource builder handle for chaining.", "kind": "Method", "signature": "withVolume(target: string, name?: string, isReadOnly?: boolean): ContainerResource", "parameters": [ { "name": "target", - "type": "string" + "type": "string", + "description": "The mount path inside the container." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The volume name. If null, an anonymous volume is created." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "Whether the volume is read-only." } ], "returnType": "ContainerResource", @@ -7596,13 +7765,15 @@ "name": "withWorkingDirectory", "capabilityId": "Aspire.Hosting/withWorkingDirectory", "qualifiedName": "withWorkingDirectory", - "description": "Sets the executable working directory", + "description": "Sets the working directory for the executable resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withWorkingDirectory(workingDirectory: string): ExecutableResource", "parameters": [ { "name": "workingDirectory", - "type": "string" + "type": "string", + "description": "Working directory." } ], "returnType": "ExecutableResource", @@ -7639,6 +7810,8 @@ "fullName": "Aspire.Hosting.ApplicationModel.AfterResourcesCreatedEvent", "kind": "handle", "exposeProperties": true, + "description": "This event is published after all resources have been created.", + "remarks": "Subscribing to this event is analogous to implementing the `AfterResourcesCreatedAsync`\nmethod. This event provides access to the `IServiceProvider` interface to resolve dependencies including\n`DistributedApplicationModel` service which is passed in as an argument\nin `AfterResourcesCreatedAsync`.", "implementedInterfaces": [ "Aspire.Hosting.Eventing.IDistributedApplicationEvent" ], @@ -7647,7 +7820,7 @@ "name": "model", "capabilityId": "Aspire.Hosting.ApplicationModel/AfterResourcesCreatedEvent.model", "qualifiedName": "AfterResourcesCreatedEvent.model", - "description": "Gets the Model property", + "description": "The `DistributedApplicationModel` instance.", "kind": "PropertyGetter", "signature": "model(): DistributedApplicationModel", "parameters": [], @@ -7661,7 +7834,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.ApplicationModel/AfterResourcesCreatedEvent.services", "qualifiedName": "AfterResourcesCreatedEvent.services", - "description": "Gets the Services property", + "description": "The `IServiceProvider` instance.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -7678,6 +7851,8 @@ "fullName": "Aspire.Hosting.ApplicationModel.BeforeResourceStartedEvent", "kind": "handle", "exposeProperties": true, + "description": "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.", "implementedInterfaces": [ "Aspire.Hosting.Eventing.IDistributedApplicationEvent", "Aspire.Hosting.Eventing.IDistributedApplicationResourceEvent" @@ -7718,6 +7893,8 @@ "fullName": "Aspire.Hosting.ApplicationModel.BeforeStartEvent", "kind": "handle", "exposeProperties": true, + "description": "This event is published before the application starts.", + "remarks": "Subscribing to this event is analogous to implementing the `BeforeStartAsync`\nmethod. This event provides access to the `IServiceProvider` interface to resolve dependencies including\n`DistributedApplicationModel` service which is passed in as an argument\nin `BeforeStartAsync`.", "implementedInterfaces": [ "Aspire.Hosting.Eventing.IDistributedApplicationEvent" ], @@ -7726,7 +7903,7 @@ "name": "model", "capabilityId": "Aspire.Hosting.ApplicationModel/BeforeStartEvent.model", "qualifiedName": "BeforeStartEvent.model", - "description": "Gets the Model property", + "description": "The `DistributedApplicationModel` instance.", "kind": "PropertyGetter", "signature": "model(): DistributedApplicationModel", "parameters": [], @@ -7740,7 +7917,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.ApplicationModel/BeforeStartEvent.services", "qualifiedName": "BeforeStartEvent.services", - "description": "Gets the Services property", + "description": "The `IServiceProvider` instance.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -7756,13 +7933,14 @@ "name": "CommandLineArgsCallbackContext", "fullName": "Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext", "kind": "handle", + "description": "Represents a callback context for the list of command-line arguments associated with an executable resource.", "implementedInterfaces": [], "capabilities": [ { "name": "args", "capabilityId": "Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.args", "qualifiedName": "CommandLineArgsCallbackContext.args", - "description": "Gets the command-line argument editor", + "description": "Gets the editor used to manipulate command-line arguments in polyglot callbacks.", "kind": "PropertyGetter", "signature": "args(): CommandLineArgsEditor", "parameters": [], @@ -7776,7 +7954,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.executionContext", "qualifiedName": "CommandLineArgsCallbackContext.executionContext", - "description": "Gets the execution context for this callback invocation", + "description": "Gets the execution context associated with this callback.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -7790,7 +7968,7 @@ "name": "log", "capabilityId": "Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.log", "qualifiedName": "CommandLineArgsCallbackContext.log", - "description": "Gets the callback logger facade", + "description": "Gets the logger facade used by polyglot callbacks.", "kind": "PropertyGetter", "signature": "log(): LogFacade", "parameters": [], @@ -7804,7 +7982,8 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.resource", "qualifiedName": "CommandLineArgsCallbackContext.resource", - "description": "Gets the resource associated with this callback", + "description": "The resource associated with this callback context.", + "remarks": "This will be set to the resource in all cases where Aspire invokes the callback.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -7820,19 +7999,21 @@ "name": "CommandLineArgsEditor", "fullName": "Aspire.Hosting.ApplicationModel.CommandLineArgsEditor", "kind": "handle", + "description": "Provides an ATS-first editor for command-line arguments within polyglot callbacks.", "implementedInterfaces": [], "capabilities": [ { "name": "add", "capabilityId": "Aspire.Hosting.ApplicationModel/add", "qualifiedName": "CommandLineArgsEditor.add", - "description": "Adds a command-line argument", + "description": "Adds a command-line argument.", "kind": "InstanceMethod", "signature": "add(value: IExpressionValue): void", "parameters": [ { "name": "value", - "type": "IExpressionValue" + "type": "IExpressionValue", + "description": "The argument to add." } ], "returnType": "void", @@ -7848,6 +8029,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.ConnectionStringAvailableEvent", "kind": "handle", "exposeProperties": true, + "description": "The `ConnectionStringAvailableEvent` is raised when a connection string becomes available for a resource.", "implementedInterfaces": [ "Aspire.Hosting.Eventing.IDistributedApplicationEvent", "Aspire.Hosting.Eventing.IDistributedApplicationResourceEvent" @@ -7888,13 +8070,15 @@ "fullName": "Aspire.Hosting.ApplicationModel.ContainerImagePushOptions", "kind": "handle", "exposeProperties": true, + "description": "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 `RemoteImageName` specifies the repository path (without registry endpoint or tag),\nand `RemoteImageTag` specifies the tag to apply. Use `GetFullRemoteImageNameAsync`\nto construct the complete image reference including registry endpoint and tag.", "implementedInterfaces": [], "capabilities": [ { "name": "remoteImageName", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptions.remoteImageName", "qualifiedName": "ContainerImagePushOptions.remoteImageName", - "description": "Gets the RemoteImageName property", + "description": "Gets or sets the remote image name (repository path without registry endpoint or tag).", "kind": "PropertyGetter", "signature": "remoteImageName(): string", "parameters": [], @@ -7908,7 +8092,7 @@ "name": "remoteImageTag", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptions.remoteImageTag", "qualifiedName": "ContainerImagePushOptions.remoteImageTag", - "description": "Gets the RemoteImageTag property", + "description": "Gets or sets the remote image tag.", "kind": "PropertyGetter", "signature": "remoteImageTag(): string", "parameters": [], @@ -7922,7 +8106,7 @@ "name": "setRemoteImageName", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptions.setRemoteImageName", "qualifiedName": "ContainerImagePushOptions.setRemoteImageName", - "description": "Sets the RemoteImageName property", + "description": "Gets or sets the remote image name (repository path without registry endpoint or tag).", "kind": "PropertySetter", "signature": "setRemoteImageName(value: string): ContainerImagePushOptions", "parameters": [ @@ -7941,7 +8125,7 @@ "name": "setRemoteImageTag", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptions.setRemoteImageTag", "qualifiedName": "ContainerImagePushOptions.setRemoteImageTag", - "description": "Sets the RemoteImageTag property", + "description": "Gets or sets the remote image tag.", "kind": "PropertySetter", "signature": "setRemoteImageTag(value: string): ContainerImagePushOptions", "parameters": [ @@ -7963,13 +8147,15 @@ "fullName": "Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext", "kind": "handle", "exposeProperties": true, + "description": "Provides context information for container image push options callbacks.", + "remarks": "This context is passed to callbacks registered via `WithImagePushOptions``1`.\nCallbacks can use this context to access the resource being configured and modify the `Options`\nto customize how the container image is named and tagged when pushed to a registry.", "implementedInterfaces": [], "capabilities": [ { "name": "cancellationToken", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.cancellationToken", "qualifiedName": "ContainerImagePushOptionsCallbackContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "Gets the cancellation token to observe while configuring image push options.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -7983,7 +8169,7 @@ "name": "options", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.options", "qualifiedName": "ContainerImagePushOptionsCallbackContext.options", - "description": "Gets the Options property", + "description": "Gets the container image push options that can be modified by the callback.", "kind": "PropertyGetter", "signature": "options(): ContainerImagePushOptions", "parameters": [], @@ -7997,7 +8183,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.resource", "qualifiedName": "ContainerImagePushOptionsCallbackContext.resource", - "description": "Gets the Resource property", + "description": "Gets the resource being configured for container image push operations.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -8006,63 +8192,6 @@ "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext" ] - }, - { - "name": "setCancellationToken", - "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.setCancellationToken", - "qualifiedName": "ContainerImagePushOptionsCallbackContext.setCancellationToken", - "description": "Sets the CancellationToken property", - "kind": "PropertySetter", - "signature": "setCancellationToken(value: cancellationToken): ContainerImagePushOptionsCallbackContext", - "parameters": [ - { - "name": "value", - "type": "cancellationToken" - } - ], - "returnType": "ContainerImagePushOptionsCallbackContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext" - ] - }, - { - "name": "setOptions", - "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.setOptions", - "qualifiedName": "ContainerImagePushOptionsCallbackContext.setOptions", - "description": "Sets the Options property", - "kind": "PropertySetter", - "signature": "setOptions(value: ContainerImagePushOptions): ContainerImagePushOptionsCallbackContext", - "parameters": [ - { - "name": "value", - "type": "ContainerImagePushOptions" - } - ], - "returnType": "ContainerImagePushOptionsCallbackContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext" - ] - }, - { - "name": "setResource", - "capabilityId": "Aspire.Hosting.ApplicationModel/ContainerImagePushOptionsCallbackContext.setResource", - "qualifiedName": "ContainerImagePushOptionsCallbackContext.setResource", - "description": "Sets the Resource property", - "kind": "PropertySetter", - "signature": "setResource(value: IResource): ContainerImagePushOptionsCallbackContext", - "parameters": [ - { - "name": "value", - "type": "IResource" - } - ], - "returnType": "ContainerImagePushOptionsCallbackContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ContainerImagePushOptionsCallbackContext" - ] } ] }, @@ -8071,6 +8200,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.ContainerImageReference", "kind": "handle", "exposeProperties": true, + "description": "Represents the fully‑qualified container image reference that should be deployed.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IValueProvider", @@ -8083,6 +8213,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.ContainerMountAnnotation", "kind": "handle", "exposeProperties": true, + "description": "Represents a mount annotation for a container resource.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResourceAnnotation" ], @@ -8093,6 +8224,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.ContainerPortReference", "kind": "handle", "exposeProperties": true, + "description": "Represents a TCP/UDP port that a container can expose.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IValueProvider", @@ -8114,6 +8246,7 @@ "name": "ContainerResource", "fullName": "Aspire.Hosting.ApplicationModel.ContainerResource", "kind": "handle", + "description": "A resource that represents a specified container.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IResource", @@ -8128,7 +8261,8 @@ "name": "publishAsConnectionString", "capabilityId": "Aspire.Hosting/publishAsConnectionString", "qualifiedName": "publishAsConnectionString", - "description": "Publishes the resource as a connection string", + "description": "Changes the resource to be published as a connection string reference in the manifest.", + "returns": "The configured `IResourceBuilder`1`.", "kind": "Method", "signature": "publishAsConnectionString(): ContainerResource", "parameters": [], @@ -8143,7 +8277,8 @@ "name": "publishAsContainer", "capabilityId": "Aspire.Hosting/publishAsContainer", "qualifiedName": "publishAsContainer", - "description": "Configures the resource to be published as a container", + "description": "Changes the resource to be published as a container in the manifest.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "publishAsContainer(): ContainerResource", "parameters": [], @@ -8158,23 +8293,28 @@ "name": "withBindMount", "capabilityId": "Aspire.Hosting/withBindMount", "qualifiedName": "withBindMount", - "description": "Adds a bind mount", + "description": "Adds a bind mount to a container resource.", + "remarks": "Bind mounts are used to mount files or directories from the host file-system into the container. If the host doesn't require access to the files, consider\nusing volumes instead via `WithVolume``1`.\nThe `source` path specifies the path of the file or directory on the host that will be mounted in the container. If the path is not absolute,\nit will be evaluated relative to the app host project directory path.\nThe `target` path specifies the path the file or directory will be mounted inside the container's file system.\nAdds a bind mount that will mount the `config` directory in the app host project directory, to the container's file system at the path `/database/config`,\nand mark it read-only so that the container cannot modify it:\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithBindMount(\"./config\", \"/database/config\", isReadOnly: true);\nbuilder.Build().Run();\n```\nAdds a bind mount that will mount the `init.sh` file from a directory outside the app host project directory, to the container's file system at the path `/usr/config/initialize.sh`,\nand mark it read-only so that the container cannot modify it:\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithBindMount(\"../containerconfig/scripts/init.sh\", \"/usr/config/initialize.sh\", isReadOnly: true);\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withBindMount(source: string, target: string, isReadOnly?: boolean): ContainerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "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" + "type": "string", + "description": "The target path where the file or directory is mounted in the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "ContainerResource", @@ -8188,17 +8328,20 @@ "name": "withBuildArg", "capabilityId": "Aspire.Hosting/withBuildArg", "qualifiedName": "withBuildArg", - "description": "Adds a build argument from a string value or parameter resource", + "description": "Adds a build argument when the container is built from a Dockerfile.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withBuildArg(name: string, value: ParameterResource): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the build argument." }, { "name": "value", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The build argument value, either a string or a parameter resource." } ], "returnType": "ContainerResource", @@ -8212,17 +8355,21 @@ "name": "withBuildSecret", "capabilityId": "Aspire.Hosting/withParameterBuildSecret", "qualifiedName": "withBuildSecret", - "description": "Adds a build secret from a parameter resource", + "description": "Adds a secret build argument when the container is built from a Dockerfile.", + "remarks": "The `WithBuildSecret``1` extension method\nresults in a `--secret` argument being appended to the `docker build` or `podman build` command. This overload results in an environment\nvariable-based secret being passed to the build process. The value of the environment variable is the value of the secret referenced by the `ParameterResource`.\nAdding a build secret based on a parameter.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar accessToken = builder.AddParameter(\"accessToken\", secret: true);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithDockerfile(\"../mycontainer\")\n.WithBuildSecret(\"ACCESS_TOKEN\", accessToken);\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withBuildSecret(name: string, value: ParameterResource): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the secret build argument." }, { "name": "value", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The resource builder for a parameter resource." } ], "returnType": "ContainerResource", @@ -8236,24 +8383,28 @@ "name": "withContainerCertificatePaths", "capabilityId": "Aspire.Hosting/withContainerCertificatePaths", "qualifiedName": "withContainerCertificatePaths", - "description": "Overrides container certificate bundle and directory paths used for trust configuration", + "description": "Adds container certificate path overrides used for certificate trust at run time.", + "returns": "The updated resource builder.", "kind": "Method", "signature": "withContainerCertificatePaths(customCertificatesDestination?: string, defaultCertificateBundlePaths?: string[], defaultCertificateDirectoryPaths?: string[]): ContainerResource", "parameters": [ { "name": "customCertificatesDestination", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination path in the container where custom certificates will be copied." }, { "name": "defaultCertificateBundlePaths", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Default certificate bundle paths in the container that will be replaced." }, { "name": "defaultCertificateDirectoryPaths", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Default certificate directory paths in the container that may be appended." } ], "returnType": "ContainerResource", @@ -8267,13 +8418,16 @@ "name": "withContainerName", "capabilityId": "Aspire.Hosting/withContainerName", "qualifiedName": "withContainerName", - "description": "Sets the container name", + "description": "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 `Persistent` will allow Aspire to re-use an existing container that was not\ncreated by an Aspire AppHost.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withContainerName(name: string): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The desired container name. Must be a valid container name or your runtime will report an error." } ], "returnType": "ContainerResource", @@ -8287,13 +8441,16 @@ "name": "withContainerNetworkAlias", "capabilityId": "Aspire.Hosting/withContainerNetworkAlias", "qualifiedName": "withContainerNetworkAlias", - "description": "Adds a network alias for the container", + "description": "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.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withContainerNetworkAlias(alias: string): ContainerResource", "parameters": [ { "name": "alias", - "type": "string" + "type": "string", + "description": "The network alias for the container." } ], "returnType": "ContainerResource", @@ -8307,13 +8464,16 @@ "name": "withContainerRuntimeArgs", "capabilityId": "Aspire.Hosting/withContainerRuntimeArgs", "qualifiedName": "withContainerRuntimeArgs", - "description": "Adds runtime arguments for the container", + "description": "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.", + "remarks": "This is intended to pass additional arguments to the underlying container runtime run command to enable advanced features such as exposing GPUs to the container. To pass runtime arguments to the actual container, use the `WithArgs``1` method.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withContainerRuntimeArgs(args: string[]): ContainerResource", "parameters": [ { "name": "args", - "type": "string[]" + "type": "string[]", + "description": "The arguments to be passed to the container runtime run command when the container resource is started." } ], "returnType": "ContainerResource", @@ -8327,23 +8487,28 @@ "name": "withDockerfile", "capabilityId": "Aspire.Hosting/withDockerfile", "qualifiedName": "withDockerfile", - "description": "Configures the resource to use a Dockerfile", + "description": "Causes Aspire to build the specified container image from a Dockerfile.", + "remarks": "When this method is called an annotation is added to the `ContainerResource` that specifies the context path and\nDockerfile path to be used when building the container image. These details are then used by the orchestrator to build the image\nbefore using that image to start the container.\nThe `contextPath` is relative to the AppHost directory unless it is a fully qualified path.\nThe `dockerfilePath` is relative to the `contextPath` unless it is a fully qualified path.\nIf the `dockerfilePath` is not provided, it defaults to \"Dockerfile\" in the `contextPath`.\nWhen generating the manifest for deployment tools, the `WithDockerfile``1`\nmethod results in an additional attribute being added to the `container.v0` resource type which contains the configuration\nnecessary to allow the deployment tool to build the container image prior to deployment.\nCreates a container called `mycontainer` with an image called `myimage`.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithDockerfile(\"path/to/context\");\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDockerfile(contextPath: string, dockerfilePath?: string, stage?: string): ContainerResource", "parameters": [ { "name": "contextPath", - "type": "string" + "type": "string", + "description": "Path to be used as the context for the container image build." }, { "name": "dockerfilePath", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Path to the Dockerfile relative to the `contextPath`. Defaults to \"Dockerfile\" if not specified." }, { "name": "stage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The stage representing the image to be published in a multi-stage Dockerfile." } ], "returnType": "ContainerResource", @@ -8357,24 +8522,29 @@ "name": "withDockerfileBuilder", "capabilityId": "Aspire.Hosting/withDockerfileBuilder", "qualifiedName": "withDockerfileBuilder", - "description": "Configures the resource to use a programmatically generated Dockerfile", + "description": "Builds the specified container image from a Dockerfile generated by a callback using the `DockerfileBuilder` API.", + "remarks": "This method provides a programmatic way to build Dockerfiles using the `DockerfileBuilder` 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 `contextPath` is relative to the AppHost directory unless it is fully qualified.\nCreates a container with a programmatically built Dockerfile using fluent API:\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithDockerfileBuilder(\"path/to/context\", context =>\n{\ncontext.Builder.From(\"alpine:latest\")\n.WorkDir(\"/app\")\n.Run(\"apk add curl\")\n.Copy(\".\", \".\")\n.Cmd([\"./myapp\"]);\nreturn Task.CompletedTask;\n});\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withDockerfileBuilder(contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E, stage?: string): ContainerResource", + "signature": "withDockerfileBuilder(contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) => Promise, stage?: string): ContainerResource", "parameters": [ { "name": "contextPath", - "type": "string" + "type": "string", + "description": "Path to be used as the context for the container image build." }, { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: DockerfileBuilderCallbackContext) => Promise", + "description": "A callback that uses the `DockerfileBuilder` API to construct the Dockerfile." }, { "name": "stage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The stage representing the image to be published in a multi-stage Dockerfile." } ], "returnType": "ContainerResource", @@ -8388,13 +8558,16 @@ "name": "withEndpointProxySupport", "capabilityId": "Aspire.Hosting/withEndpointProxySupport", "qualifiedName": "withEndpointProxySupport", - "description": "Configures endpoint proxy support", + "description": "Set whether a container resource can use proxied endpoints or whether they should be disabled for all endpoints belonging to the container. If set to `false`, endpoints belonging to the container resource will ignore the configured proxy settings and run proxy-less.", + "remarks": "This method is intended to support scenarios with persistent lifetime containers where it is desirable for the container 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 container endpoints are using unique ports when disabling proxy support as by default for proxy-less\nendpoints, Aspire will allocate the internal container port as the host port, which will increase the chance of port conflicts.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withEndpointProxySupport(proxyEnabled: boolean): ContainerResource", "parameters": [ { "name": "proxyEnabled", - "type": "boolean" + "type": "boolean", + "description": "Should endpoints for the container resource support using a proxy?" } ], "returnType": "ContainerResource", @@ -8408,13 +8581,15 @@ "name": "withEntrypoint", "capabilityId": "Aspire.Hosting/withEntrypoint", "qualifiedName": "withEntrypoint", - "description": "Sets the container entrypoint", + "description": "Sets the Entrypoint for the container.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withEntrypoint(entrypoint: string): ContainerResource", "parameters": [ { "name": "entrypoint", - "type": "string" + "type": "string", + "description": "The new entrypoint for the container." } ], "returnType": "ContainerResource", @@ -8428,18 +8603,21 @@ "name": "withImage", "capabilityId": "Aspire.Hosting/withImage", "qualifiedName": "withImage", - "description": "Sets the container image", + "description": "Allows overriding the image on a container.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withImage(image: string, tag?: string): ContainerResource", "parameters": [ { "name": "image", - "type": "string" + "type": "string", + "description": "Image value." }, { "name": "tag", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Tag value." } ], "returnType": "ContainerResource", @@ -8453,13 +8631,15 @@ "name": "withImagePullPolicy", "capabilityId": "Aspire.Hosting/withImagePullPolicy", "qualifiedName": "withImagePullPolicy", - "description": "Sets the container image pull policy", + "description": "Sets the pull policy for the container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withImagePullPolicy(pullPolicy: ImagePullPolicy): ContainerResource", "parameters": [ { "name": "pullPolicy", - "type": "ImagePullPolicy" + "type": "ImagePullPolicy", + "description": "The pull policy behavior for the container resource." } ], "returnType": "ContainerResource", @@ -8473,13 +8653,15 @@ "name": "withImageRegistry", "capabilityId": "Aspire.Hosting/withImageRegistry", "qualifiedName": "withImageRegistry", - "description": "Sets the container image registry", + "description": "Allows overriding the image registry on a container.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withImageRegistry(registry: string): ContainerResource", "parameters": [ { "name": "registry", - "type": "string" + "type": "string", + "description": "Registry value." } ], "returnType": "ContainerResource", @@ -8493,13 +8675,15 @@ "name": "withImageSHA256", "capabilityId": "Aspire.Hosting/withImageSHA256", "qualifiedName": "withImageSHA256", - "description": "Sets the image SHA256 digest", + "description": "Allows setting the image to a specific sha256 on a container.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withImageSHA256(sha256: string): ContainerResource", "parameters": [ { "name": "sha256", - "type": "string" + "type": "string", + "description": "Registry value." } ], "returnType": "ContainerResource", @@ -8513,13 +8697,15 @@ "name": "withImageTag", "capabilityId": "Aspire.Hosting/withImageTag", "qualifiedName": "withImageTag", - "description": "Sets the container image tag", + "description": "Allows overriding the image tag on a container.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withImageTag(tag: string): ContainerResource", "parameters": [ { "name": "tag", - "type": "string" + "type": "string", + "description": "Tag value." } ], "returnType": "ContainerResource", @@ -8533,13 +8719,16 @@ "name": "withLifetime", "capabilityId": "Aspire.Hosting/withLifetime", "qualifiedName": "withLifetime", - "description": "Sets the lifetime behavior of the container resource", + "description": "Sets the lifetime behavior of the container resource.", + "remarks": "Marking a container resource to have a `Persistent` lifetime.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddContainer(\"mycontainer\", \"myimage\")\n.WithLifetime(ContainerLifetime.Persistent);\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withLifetime(lifetime: ContainerLifetime): ContainerResource", "parameters": [ { "name": "lifetime", - "type": "ContainerLifetime" + "type": "ContainerLifetime", + "description": "The lifetime behavior of the container resource. The defaults behavior is `Session`." } ], "returnType": "ContainerResource", @@ -8553,24 +8742,29 @@ "name": "withVolume", "capabilityId": "Aspire.Hosting/withVolume", "qualifiedName": "withVolume", - "description": "Adds a volume", + "description": "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 `ContainerResourceBuilderExtensions.WithVolume`\nhas parameter order `(name?, target, isReadOnly)` where the optional `name` comes first.\nThis wrapper reorders parameters to `(target, name?, isReadOnly)` so the required `target`\nparameter comes first, providing a better API for polyglot consumers.", + "returns": "The same resource builder handle for chaining.", "kind": "Method", "signature": "withVolume(target: string, name?: string, isReadOnly?: boolean): ContainerResource", "parameters": [ { "name": "target", - "type": "string" + "type": "string", + "description": "The mount path inside the container." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The volume name. If null, an anonymous volume is created." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "Whether the volume is read-only." } ], "returnType": "ContainerResource", @@ -8603,19 +8797,22 @@ "name": "DistributedApplicationModel", "fullName": "Aspire.Hosting.ApplicationModel.DistributedApplicationModel", "kind": "handle", + "description": "Represents a distributed application.", "implementedInterfaces": [], "capabilities": [ { "name": "findResourceByName", "capabilityId": "Aspire.Hosting/findResourceByName", "qualifiedName": "findResourceByName", - "description": "Finds a resource by name", + "description": "Finds a resource by name.", + "returns": "The matching resource, or `null` when not found.", "kind": "Method", "signature": "findResourceByName(name: string): IResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The resource name." } ], "returnType": "IResource", @@ -8628,7 +8825,8 @@ "name": "getResources", "capabilityId": "Aspire.Hosting/getResources", "qualifiedName": "getResources", - "description": "Gets resources from the distributed application model", + "description": "Gets all resources in the distributed application model.", + "returns": "The resources in the model.", "kind": "Method", "signature": "getResources(): IResource[]", "parameters": [], @@ -8644,6 +8842,7 @@ "name": "DockerfileBuilder", "fullName": "Aspire.Hosting.ApplicationModel.Docker.DockerfileBuilder", "kind": "handle", + "description": "Builder for creating Dockerfiles programmatically.", "implementedInterfaces": [], "capabilities": [ { @@ -8724,6 +8923,7 @@ "name": "DockerfileStage", "fullName": "Aspire.Hosting.ApplicationModel.Docker.DockerfileStage", "kind": "handle", + "description": "Represents a stage within a multi-stage Dockerfile.", "implementedInterfaces": [], "capabilities": [ { @@ -9038,13 +9238,14 @@ "fullName": "Aspire.Hosting.ApplicationModel.DockerfileBuilderCallbackContext", "kind": "handle", "exposeProperties": true, + "description": "Provides context information for Dockerfile build callbacks.", "implementedInterfaces": [], "capabilities": [ { "name": "builder", "capabilityId": "Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.builder", "qualifiedName": "DockerfileBuilderCallbackContext.builder", - "description": "Gets the Builder property", + "description": "Gets the Dockerfile builder instance.", "kind": "PropertyGetter", "signature": "builder(): DockerfileBuilder", "parameters": [], @@ -9058,7 +9259,7 @@ "name": "cancellationToken", "capabilityId": "Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.cancellationToken", "qualifiedName": "DockerfileBuilderCallbackContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "Gets the cancellation token to observe while waiting for the task to complete.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -9072,7 +9273,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.resource", "qualifiedName": "DockerfileBuilderCallbackContext.resource", - "description": "Gets the Resource property", + "description": "Gets the resource being built.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -9086,7 +9287,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.ApplicationModel/DockerfileBuilderCallbackContext.services", "qualifiedName": "DockerfileBuilderCallbackContext.services", - "description": "Gets the Services property", + "description": "Gets the service provider for dependency injection.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -9116,7 +9317,8 @@ "name": "withToolIgnoreExistingFeeds", "capabilityId": "Aspire.Hosting/withToolIgnoreExistingFeeds", "qualifiedName": "withToolIgnoreExistingFeeds", - "description": "Ignores existing NuGet feeds", + "description": "Configures the tool to use only the specified package sources, ignoring existing NuGet configuration.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolIgnoreExistingFeeds(): DotnetToolResource", "parameters": [], @@ -9131,7 +9333,8 @@ "name": "withToolIgnoreFailedSources", "capabilityId": "Aspire.Hosting/withToolIgnoreFailedSources", "qualifiedName": "withToolIgnoreFailedSources", - "description": "Ignores failed NuGet sources", + "description": "Configures the resource to treat package source failures as warnings.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolIgnoreFailedSources(): DotnetToolResource", "parameters": [], @@ -9146,13 +9349,15 @@ "name": "withToolPackage", "capabilityId": "Aspire.Hosting/withToolPackage", "qualifiedName": "withToolPackage", - "description": "Sets the tool package ID", + "description": "Sets the package identifier for the tool configuration associated with the resource builder.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolPackage(packageId: string): DotnetToolResource", "parameters": [ { "name": "packageId", - "type": "string" + "type": "string", + "description": "The package identifier to assign to the tool configuration. Cannot be null." } ], "returnType": "DotnetToolResource", @@ -9166,7 +9371,8 @@ "name": "withToolPrerelease", "capabilityId": "Aspire.Hosting/withToolPrerelease", "qualifiedName": "withToolPrerelease", - "description": "Allows prerelease tool versions", + "description": "Allows prerelease versions of the tool to be used", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolPrerelease(): DotnetToolResource", "parameters": [], @@ -9181,13 +9387,15 @@ "name": "withToolSource", "capabilityId": "Aspire.Hosting/withToolSource", "qualifiedName": "withToolSource", - "description": "Adds a NuGet source for the tool", + "description": "Adds a NuGet package source for tool acquisition.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolSource(source: string): DotnetToolResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source to add." } ], "returnType": "DotnetToolResource", @@ -9201,13 +9409,15 @@ "name": "withToolVersion", "capabilityId": "Aspire.Hosting/withToolVersion", "qualifiedName": "withToolVersion", - "description": "Sets the tool version", + "description": "Sets the package version for a tool to use.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withToolVersion(version: string): DotnetToolResource", "parameters": [ { "name": "version", - "type": "string" + "type": "string", + "description": "The package version to use" } ], "returnType": "DotnetToolResource", @@ -9223,6 +9433,7 @@ "name": "EndpointReference", "fullName": "Aspire.Hosting.ApplicationModel.EndpointReference", "kind": "handle", + "description": "Represents an endpoint reference for a resource with endpoints.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", @@ -9234,7 +9445,7 @@ "name": "endpointName", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.endpointName", "qualifiedName": "EndpointReference.endpointName", - "description": "Gets the EndpointName property", + "description": "Gets the name of the endpoint associated with the endpoint reference.", "kind": "PropertyGetter", "signature": "endpointName(): string", "parameters": [], @@ -9248,7 +9459,7 @@ "name": "errorMessage", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.errorMessage", "qualifiedName": "EndpointReference.errorMessage", - "description": "Gets the ErrorMessage property", + "description": "Gets or sets a custom error message to be thrown when the endpoint annotation is not found.", "kind": "PropertyGetter", "signature": "errorMessage(): string", "parameters": [], @@ -9262,7 +9473,8 @@ "name": "excludeReferenceEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.excludeReferenceEndpoint", "qualifiedName": "EndpointReference.excludeReferenceEndpoint", - "description": "Gets the ExcludeReferenceEndpoint property", + "description": "Gets a value indicating whether this endpoint is excluded from the default set when referencing the resource's endpoints.", + "remarks": "Returns `false` if the endpoint annotation has not been added to the resource yet.\nOnce the annotation exists, this property delegates to `ExcludeReferenceEndpoint`.", "kind": "PropertyGetter", "signature": "excludeReferenceEndpoint(): boolean", "parameters": [], @@ -9276,7 +9488,7 @@ "name": "exists", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.exists", "qualifiedName": "EndpointReference.exists", - "description": "Gets the Exists property", + "description": "Gets a value indicating whether the endpoint exists.", "kind": "PropertyGetter", "signature": "exists(): boolean", "parameters": [], @@ -9290,17 +9502,21 @@ "name": "getTlsValue", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.getTlsValue", "qualifiedName": "EndpointReference.getTlsValue", - "description": "Gets a conditional expression that resolves to the enabledValue when TLS is enabled on the endpoint, or to the disabledValue otherwise.", + "description": "Creates a conditional `ReferenceExpression` that resolves to `enabledValue` when `TlsEnabled` is `true` on this endpoint, or to `disabledValue` otherwise.", + "remarks": "The returned expression evaluates the TLS state lazily each time its value is resolved, making it\nsafe to embed in a `ReferenceExpression` that is built before TLS is configured\n(e.g., before `BeforeStartEvent` fires). Because the condition and branches are declarative,\npolyglot code generators can translate this into native conditional constructs in any target language.", + "returns": "A conditional `ReferenceExpression` whose value tracks the TLS state of this endpoint.", "kind": "InstanceMethod", "signature": "getTlsValue(enabledValue: ReferenceExpression, disabledValue: ReferenceExpression): ReferenceExpression", "parameters": [ { "name": "enabledValue", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The expression to evaluate when TLS is enabled (e.g., `\",ssl=true\"`)." }, { "name": "disabledValue", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The expression to evaluate when TLS is not enabled." } ], "returnType": "ReferenceExpression", @@ -9313,14 +9529,16 @@ "name": "getValueAsync", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.getValueAsync", "qualifiedName": "EndpointReference.getValueAsync", - "description": "Gets the URL of the endpoint asynchronously", + "description": "Gets the URL of the endpoint asynchronously. Waits for the endpoint to be allocated if necessary.", + "returns": "The URL of the endpoint.", "kind": "InstanceMethod", "signature": "getValueAsync(cancellationToken?: cancellationToken): string", "parameters": [ { "name": "cancellationToken", "type": "cancellationToken", - "isOptional": true + "isOptional": true, + "description": "The cancellation token." } ], "returnType": "string", @@ -9333,7 +9551,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.host", "qualifiedName": "EndpointReference.host", - "description": "Gets the Host property", + "description": "Gets the host for this endpoint.", "kind": "PropertyGetter", "signature": "host(): string", "parameters": [], @@ -9347,7 +9565,7 @@ "name": "isAllocated", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.isAllocated", "qualifiedName": "EndpointReference.isAllocated", - "description": "Gets the IsAllocated property", + "description": "Gets a value indicating whether the endpoint is allocated.", "kind": "PropertyGetter", "signature": "isAllocated(): boolean", "parameters": [], @@ -9361,7 +9579,7 @@ "name": "isHttp", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.isHttp", "qualifiedName": "EndpointReference.isHttp", - "description": "Gets the IsHttp property", + "description": "Gets a value indicating whether the endpoint uses HTTP scheme.", "kind": "PropertyGetter", "signature": "isHttp(): boolean", "parameters": [], @@ -9375,7 +9593,7 @@ "name": "isHttps", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.isHttps", "qualifiedName": "EndpointReference.isHttps", - "description": "Gets the IsHttps property", + "description": "Gets a value indicating whether the endpoint uses HTTPS scheme.", "kind": "PropertyGetter", "signature": "isHttps(): boolean", "parameters": [], @@ -9389,7 +9607,7 @@ "name": "isHttpSchemeNamedEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.isHttpSchemeNamedEndpoint", "qualifiedName": "EndpointReference.isHttpSchemeNamedEndpoint", - "description": "Gets the IsHttpSchemeNamedEndpoint property", + "description": "Gets a value indicating whether the endpoint name is \"http\" or \"https\", 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.", "kind": "PropertyGetter", "signature": "isHttpSchemeNamedEndpoint(): boolean", "parameters": [], @@ -9403,7 +9621,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.port", "qualifiedName": "EndpointReference.port", - "description": "Gets the Port property", + "description": "Gets the port for this endpoint.", "kind": "PropertyGetter", "signature": "port(): number", "parameters": [], @@ -9417,13 +9635,15 @@ "name": "property", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.property", "qualifiedName": "EndpointReference.property", - "description": "Gets the specified property expression of the endpoint", + "description": "Gets the specified property expression of the endpoint.", + "returns": "An `EndpointReferenceExpression` representing the specified `EndpointProperty`.", "kind": "InstanceMethod", "signature": "property(property: EndpointProperty): EndpointReferenceExpression", "parameters": [ { "name": "property", - "type": "EndpointProperty" + "type": "EndpointProperty", + "description": "The `EndpointProperty` enum value to use in the reference." } ], "returnType": "EndpointReferenceExpression", @@ -9436,7 +9656,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.resource", "qualifiedName": "EndpointReference.resource", - "description": "Gets the Resource property", + "description": "Gets the resource owner of the endpoint reference.", "kind": "PropertyGetter", "signature": "resource(): IResourceWithEndpoints", "parameters": [], @@ -9450,7 +9670,7 @@ "name": "scheme", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.scheme", "qualifiedName": "EndpointReference.scheme", - "description": "Gets the Scheme property", + "description": "Gets the scheme for this endpoint.", "kind": "PropertyGetter", "signature": "scheme(): string", "parameters": [], @@ -9460,30 +9680,11 @@ "Aspire.Hosting.ApplicationModel.EndpointReference" ] }, - { - "name": "setErrorMessage", - "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.setErrorMessage", - "qualifiedName": "EndpointReference.setErrorMessage", - "description": "Sets the ErrorMessage property", - "kind": "PropertySetter", - "signature": "setErrorMessage(value: string): EndpointReference", - "parameters": [ - { - "name": "value", - "type": "string" - } - ], - "returnType": "EndpointReference", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.EndpointReference" - ] - }, { "name": "targetPort", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.targetPort", "qualifiedName": "EndpointReference.targetPort", - "description": "Gets the TargetPort property", + "description": "Gets the target port for this endpoint. If the port is dynamically allocated, this will return `null`.", "kind": "PropertyGetter", "signature": "targetPort(): number", "parameters": [], @@ -9497,7 +9698,8 @@ "name": "tlsEnabled", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.tlsEnabled", "qualifiedName": "EndpointReference.tlsEnabled", - "description": "Gets the TlsEnabled property", + "description": "Gets a value indicating whether TLS is enabled for this endpoint.", + "remarks": "Returns `false` if the endpoint annotation has not been added to the resource yet.\nOnce the annotation exists, this property delegates to `TlsEnabled`.", "kind": "PropertyGetter", "signature": "tlsEnabled(): boolean", "parameters": [], @@ -9511,7 +9713,7 @@ "name": "url", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReference.url", "qualifiedName": "EndpointReference.url", - "description": "Gets the Url property", + "description": "Gets the URL for this endpoint.", "kind": "PropertyGetter", "signature": "url(): string", "parameters": [], @@ -9528,6 +9730,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.EndpointReferenceExpression", "kind": "handle", "exposeProperties": true, + "description": "Represents a property expression for an endpoint reference.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", @@ -9539,7 +9742,7 @@ "name": "endpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReferenceExpression.endpoint", "qualifiedName": "EndpointReferenceExpression.endpoint", - "description": "Gets the Endpoint property", + "description": "Gets the `EndpointReference`.", "kind": "PropertyGetter", "signature": "endpoint(): EndpointReference", "parameters": [], @@ -9553,7 +9756,7 @@ "name": "property", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReferenceExpression.property", "qualifiedName": "EndpointReferenceExpression.property", - "description": "Gets the Property property", + "description": "Gets the `EndpointProperty` for the property expression.", "kind": "PropertyGetter", "signature": "property(): EndpointProperty", "parameters": [], @@ -9567,7 +9770,7 @@ "name": "valueExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointReferenceExpression.valueExpression", "qualifiedName": "EndpointReferenceExpression.valueExpression", - "description": "Gets the ValueExpression property", + "description": "Gets the expression of the property of the endpoint.", "kind": "PropertyGetter", "signature": "valueExpression(): string", "parameters": [], @@ -9584,13 +9787,14 @@ "fullName": "Aspire.Hosting.ApplicationModel.EndpointUpdateContext", "kind": "handle", "exposeProperties": true, + "description": "Provides a mutable callback context for updating an endpoint in polyglot app hosts.", "implementedInterfaces": [], "capabilities": [ { "name": "excludeReferenceEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.excludeReferenceEndpoint", "qualifiedName": "EndpointUpdateContext.excludeReferenceEndpoint", - "description": "Gets the ExcludeReferenceEndpoint property", + "description": "Gets or sets a value indicating whether the endpoint is excluded from the default reference set.", "kind": "PropertyGetter", "signature": "excludeReferenceEndpoint(): boolean", "parameters": [], @@ -9604,7 +9808,7 @@ "name": "isExternal", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.isExternal", "qualifiedName": "EndpointUpdateContext.isExternal", - "description": "Gets the IsExternal property", + "description": "Gets or sets a value indicating whether the endpoint is external.", "kind": "PropertyGetter", "signature": "isExternal(): boolean", "parameters": [], @@ -9618,7 +9822,7 @@ "name": "isProxied", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.isProxied", "qualifiedName": "EndpointUpdateContext.isProxied", - "description": "Gets the IsProxied property", + "description": "Gets or sets a value indicating whether the endpoint is proxied.", "kind": "PropertyGetter", "signature": "isProxied(): boolean", "parameters": [], @@ -9632,7 +9836,7 @@ "name": "name", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.name", "qualifiedName": "EndpointUpdateContext.name", - "description": "Gets the Name property", + "description": "Gets the endpoint name.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -9646,7 +9850,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.port", "qualifiedName": "EndpointUpdateContext.port", - "description": "Gets the Port property", + "description": "Gets or sets the desired host port.", "kind": "PropertyGetter", "signature": "port(): number", "parameters": [], @@ -9660,7 +9864,7 @@ "name": "protocol", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.protocol", "qualifiedName": "EndpointUpdateContext.protocol", - "description": "Gets the Protocol property", + "description": "Gets or sets the network protocol.", "kind": "PropertyGetter", "signature": "protocol(): ProtocolType", "parameters": [], @@ -9674,7 +9878,7 @@ "name": "setExcludeReferenceEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setExcludeReferenceEndpoint", "qualifiedName": "EndpointUpdateContext.setExcludeReferenceEndpoint", - "description": "Sets the ExcludeReferenceEndpoint property", + "description": "Gets or sets a value indicating whether the endpoint is excluded from the default reference set.", "kind": "PropertySetter", "signature": "setExcludeReferenceEndpoint(value: boolean): EndpointUpdateContext", "parameters": [ @@ -9693,7 +9897,7 @@ "name": "setIsExternal", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setIsExternal", "qualifiedName": "EndpointUpdateContext.setIsExternal", - "description": "Sets the IsExternal property", + "description": "Gets or sets a value indicating whether the endpoint is external.", "kind": "PropertySetter", "signature": "setIsExternal(value: boolean): EndpointUpdateContext", "parameters": [ @@ -9712,7 +9916,7 @@ "name": "setIsProxied", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setIsProxied", "qualifiedName": "EndpointUpdateContext.setIsProxied", - "description": "Sets the IsProxied property", + "description": "Gets or sets a value indicating whether the endpoint is proxied.", "kind": "PropertySetter", "signature": "setIsProxied(value: boolean): EndpointUpdateContext", "parameters": [ @@ -9731,7 +9935,7 @@ "name": "setPort", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setPort", "qualifiedName": "EndpointUpdateContext.setPort", - "description": "Sets the Port property", + "description": "Gets or sets the desired host port.", "kind": "PropertySetter", "signature": "setPort(value: number): EndpointUpdateContext", "parameters": [ @@ -9750,7 +9954,7 @@ "name": "setProtocol", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setProtocol", "qualifiedName": "EndpointUpdateContext.setProtocol", - "description": "Sets the Protocol property", + "description": "Gets or sets the network protocol.", "kind": "PropertySetter", "signature": "setProtocol(value: ProtocolType): EndpointUpdateContext", "parameters": [ @@ -9769,7 +9973,7 @@ "name": "setTargetHost", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setTargetHost", "qualifiedName": "EndpointUpdateContext.setTargetHost", - "description": "Sets the TargetHost property", + "description": "Gets or sets the target host.", "kind": "PropertySetter", "signature": "setTargetHost(value: string): EndpointUpdateContext", "parameters": [ @@ -9788,7 +9992,7 @@ "name": "setTargetPort", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setTargetPort", "qualifiedName": "EndpointUpdateContext.setTargetPort", - "description": "Sets the TargetPort property", + "description": "Gets or sets the target port.", "kind": "PropertySetter", "signature": "setTargetPort(value: number): EndpointUpdateContext", "parameters": [ @@ -9807,7 +10011,7 @@ "name": "setTlsEnabled", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setTlsEnabled", "qualifiedName": "EndpointUpdateContext.setTlsEnabled", - "description": "Sets the TlsEnabled property", + "description": "Gets or sets a value indicating whether TLS is enabled.", "kind": "PropertySetter", "signature": "setTlsEnabled(value: boolean): EndpointUpdateContext", "parameters": [ @@ -9826,7 +10030,7 @@ "name": "setTransport", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setTransport", "qualifiedName": "EndpointUpdateContext.setTransport", - "description": "Sets the Transport property", + "description": "Gets or sets the transport.", "kind": "PropertySetter", "signature": "setTransport(value: string): EndpointUpdateContext", "parameters": [ @@ -9845,7 +10049,7 @@ "name": "setUriScheme", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.setUriScheme", "qualifiedName": "EndpointUpdateContext.setUriScheme", - "description": "Sets the UriScheme property", + "description": "Gets or sets the URI scheme.", "kind": "PropertySetter", "signature": "setUriScheme(value: string): EndpointUpdateContext", "parameters": [ @@ -9864,7 +10068,7 @@ "name": "targetHost", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.targetHost", "qualifiedName": "EndpointUpdateContext.targetHost", - "description": "Gets the TargetHost property", + "description": "Gets or sets the target host.", "kind": "PropertyGetter", "signature": "targetHost(): string", "parameters": [], @@ -9878,7 +10082,7 @@ "name": "targetPort", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.targetPort", "qualifiedName": "EndpointUpdateContext.targetPort", - "description": "Gets the TargetPort property", + "description": "Gets or sets the target port.", "kind": "PropertyGetter", "signature": "targetPort(): number", "parameters": [], @@ -9892,7 +10096,7 @@ "name": "tlsEnabled", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.tlsEnabled", "qualifiedName": "EndpointUpdateContext.tlsEnabled", - "description": "Gets the TlsEnabled property", + "description": "Gets or sets a value indicating whether TLS is enabled.", "kind": "PropertyGetter", "signature": "tlsEnabled(): boolean", "parameters": [], @@ -9906,7 +10110,7 @@ "name": "transport", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.transport", "qualifiedName": "EndpointUpdateContext.transport", - "description": "Gets the Transport property", + "description": "Gets or sets the transport.", "kind": "PropertyGetter", "signature": "transport(): string", "parameters": [], @@ -9920,7 +10124,7 @@ "name": "uriScheme", "capabilityId": "Aspire.Hosting.ApplicationModel/EndpointUpdateContext.uriScheme", "qualifiedName": "EndpointUpdateContext.uriScheme", - "description": "Gets the UriScheme property", + "description": "Gets or sets the URI scheme.", "kind": "PropertyGetter", "signature": "uriScheme(): string", "parameters": [], @@ -9936,13 +10140,14 @@ "name": "EnvironmentCallbackContext", "fullName": "Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext", "kind": "handle", + "description": "Represents a callback context for environment variables associated with a publisher.", "implementedInterfaces": [], "capabilities": [ { "name": "environment", "capabilityId": "Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.environment", "qualifiedName": "EnvironmentCallbackContext.environment", - "description": "Gets the environment variable editor", + "description": "Gets the editor used to set environment variables in polyglot callbacks.", "kind": "PropertyGetter", "signature": "environment(): EnvironmentEditor", "parameters": [], @@ -9956,7 +10161,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.executionContext", "qualifiedName": "EnvironmentCallbackContext.executionContext", - "description": "Gets the execution context for this callback invocation", + "description": "Gets the execution context associated with this invocation of the AppHost.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -9970,7 +10175,7 @@ "name": "log", "capabilityId": "Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.log", "qualifiedName": "EnvironmentCallbackContext.log", - "description": "Gets the callback logger facade", + "description": "Gets the logger facade used by polyglot callbacks.", "kind": "PropertyGetter", "signature": "log(): LogFacade", "parameters": [], @@ -9984,7 +10189,8 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.resource", "qualifiedName": "EnvironmentCallbackContext.resource", - "description": "Gets the resource associated with this callback", + "description": "The resource associated with this callback context.", + "remarks": "This will be set to the resource in all cases where Aspire invokes the callback.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -10000,23 +10206,26 @@ "name": "EnvironmentEditor", "fullName": "Aspire.Hosting.ApplicationModel.EnvironmentEditor", "kind": "handle", + "description": "Provides an ATS-first editor for environment variables within polyglot callbacks.", "implementedInterfaces": [], "capabilities": [ { "name": "set", "capabilityId": "Aspire.Hosting.ApplicationModel/set", "qualifiedName": "EnvironmentEditor.set", - "description": "Sets an environment variable", + "description": "Sets an environment variable.", "kind": "InstanceMethod", "signature": "set(name: string, value: IExpressionValue): void", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the environment variable." }, { "name": "value", - "type": "IExpressionValue" + "type": "IExpressionValue", + "description": "The value to assign to the environment variable." } ], "returnType": "void", @@ -10031,6 +10240,8 @@ "name": "ExecutableResource", "fullName": "Aspire.Hosting.ApplicationModel.ExecutableResource", "kind": "handle", + "description": "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't run executable unless the command is located in a path listed in the PATH environment variable.\nTo run an executable file that's in the current directory, specify the full path or use the relative path `./` to represent the current directory.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IResource", @@ -10045,15 +10256,18 @@ "name": "publishAsDockerFile", "capabilityId": "Aspire.Hosting/publishAsDockerFile", "qualifiedName": "publishAsDockerFile", - "description": "Publishes an executable as a Docker file", + "description": "Adds support for containerizing this `ExecutableResource` during deployment. The resulting container image is built, and when the optional `configure` action is provided, it is used to configure the container resource.", + "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 `configure` action.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "publishAsDockerFile(configure: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E): ExecutableResource", + "signature": "publishAsDockerFile(configure: (obj: ContainerResource) => Promise): ExecutableResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: ContainerResource) => Promise", + "description": "Optional action to configure the container resource" } ], "returnType": "ExecutableResource", @@ -10068,13 +10282,15 @@ "name": "withExecutableCommand", "capabilityId": "Aspire.Hosting/withExecutableCommand", "qualifiedName": "withExecutableCommand", - "description": "Sets the executable command", + "description": "Sets the command for the executable resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withExecutableCommand(command: string): ExecutableResource", "parameters": [ { "name": "command", - "type": "string" + "type": "string", + "description": "Command." } ], "returnType": "ExecutableResource", @@ -10089,13 +10305,15 @@ "name": "withWorkingDirectory", "capabilityId": "Aspire.Hosting/withWorkingDirectory", "qualifiedName": "withWorkingDirectory", - "description": "Sets the executable working directory", + "description": "Sets the working directory for the executable resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withWorkingDirectory(workingDirectory: string): ExecutableResource", "parameters": [ { "name": "workingDirectory", - "type": "string" + "type": "string", + "description": "Working directory." } ], "returnType": "ExecutableResource", @@ -10113,13 +10331,14 @@ "fullName": "Aspire.Hosting.ApplicationModel.ExecuteCommandContext", "kind": "handle", "exposeProperties": true, + "description": "Context for `ExecuteCommand`.", "implementedInterfaces": [], "capabilities": [ { "name": "cancellationToken", "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.cancellationToken", "qualifiedName": "ExecuteCommandContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "The cancellation token.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -10133,7 +10352,7 @@ "name": "logger", "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.logger", "qualifiedName": "ExecuteCommandContext.logger", - "description": "Gets the Logger property", + "description": "The logger for the resource.", "kind": "PropertyGetter", "signature": "logger(): ILogger", "parameters": [], @@ -10147,7 +10366,7 @@ "name": "resourceName", "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.resourceName", "qualifiedName": "ExecuteCommandContext.resourceName", - "description": "Gets the ResourceName property", + "description": "The resource name.", "kind": "PropertyGetter", "signature": "resourceName(): string", "parameters": [], @@ -10161,7 +10380,7 @@ "name": "serviceProvider", "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.serviceProvider", "qualifiedName": "ExecuteCommandContext.serviceProvider", - "description": "Gets the ServiceProvider property", + "description": "The service provider.", "kind": "PropertyGetter", "signature": "serviceProvider(): IServiceProvider", "parameters": [], @@ -10170,82 +10389,6 @@ "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.ExecuteCommandContext" ] - }, - { - "name": "setCancellationToken", - "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setCancellationToken", - "qualifiedName": "ExecuteCommandContext.setCancellationToken", - "description": "Sets the CancellationToken property", - "kind": "PropertySetter", - "signature": "setCancellationToken(value: cancellationToken): ExecuteCommandContext", - "parameters": [ - { - "name": "value", - "type": "cancellationToken" - } - ], - "returnType": "ExecuteCommandContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ExecuteCommandContext" - ] - }, - { - "name": "setLogger", - "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setLogger", - "qualifiedName": "ExecuteCommandContext.setLogger", - "description": "Sets the Logger property", - "kind": "PropertySetter", - "signature": "setLogger(value: ILogger): ExecuteCommandContext", - "parameters": [ - { - "name": "value", - "type": "ILogger" - } - ], - "returnType": "ExecuteCommandContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ExecuteCommandContext" - ] - }, - { - "name": "setResourceName", - "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setResourceName", - "qualifiedName": "ExecuteCommandContext.setResourceName", - "description": "Sets the ResourceName property", - "kind": "PropertySetter", - "signature": "setResourceName(value: string): ExecuteCommandContext", - "parameters": [ - { - "name": "value", - "type": "string" - } - ], - "returnType": "ExecuteCommandContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ExecuteCommandContext" - ] - }, - { - "name": "setServiceProvider", - "capabilityId": "Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setServiceProvider", - "qualifiedName": "ExecuteCommandContext.setServiceProvider", - "description": "Sets the ServiceProvider property", - "kind": "PropertySetter", - "signature": "setServiceProvider(value: IServiceProvider): ExecuteCommandContext", - "parameters": [ - { - "name": "value", - "type": "IServiceProvider" - } - ], - "returnType": "ExecuteCommandContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.ExecuteCommandContext" - ] } ] }, @@ -10255,23 +10398,28 @@ "kind": "handle", "isInterface": true, "exposeProperties": true, + "description": "Represents a store for managing files in the Aspire hosting environment that can be reused across runs.", + "remarks": "The store is created in the ./obj folder of the Application Host.\nIf the ASPIRE__STORE__PATH environment variable is set this will be used instead.\nThe store is specific to a `IDistributedApplicationBuilder` instance such that each application can't\nconflict with others. A .aspire prefix is also used to ensure that the folder can be deleted without impacting\nunrelated files.", "implementedInterfaces": [], "capabilities": [ { "name": "getFileNameWithContent", "capabilityId": "Aspire.Hosting/getFileNameWithContent", "qualifiedName": "getFileNameWithContent", - "description": "Gets a deterministic file path for the specified file contents", + "description": "Gets a deterministic file path that is a copy of the `sourceFilename`. The resulting file name will depend on the content of the file.", + "returns": "A deterministic file path with the same content as `sourceFilename`.", "kind": "Method", "signature": "getFileNameWithContent(filenameTemplate: string, sourceFilename: string): string", "parameters": [ { "name": "filenameTemplate", - "type": "string" + "type": "string", + "description": "A file name to base the result on." }, { "name": "sourceFilename", - "type": "string" + "type": "string", + "description": "An existing file." } ], "returnType": "string", @@ -10287,29 +10435,34 @@ "fullName": "Aspire.Hosting.ApplicationModel.IExecutionConfigurationBuilder", "kind": "handle", "isInterface": true, + "description": "Builder for gathering and resolving the execution configuration (arguments and environment variables) for a specific resource.", "implementedInterfaces": [], "capabilities": [ { "name": "build", "capabilityId": "Aspire.Hosting/buildExecutionConfiguration", "qualifiedName": "build", - "description": "Builds the execution configuration", + "description": "Builds the execution configuration for the specified builder.", + "returns": "The resolved execution configuration.", "kind": "Method", "signature": "build(executionContext: DistributedApplicationExecutionContext, resourceLogger?: ILogger, cancellationToken?: cancellationToken): IExecutionConfigurationResult", "parameters": [ { "name": "executionContext", - "type": "DistributedApplicationExecutionContext" + "type": "DistributedApplicationExecutionContext", + "description": "The execution context used while building the configuration." }, { "name": "resourceLogger", "type": "ILogger", - "isOptional": true + "isOptional": true, + "description": "The logger used while resolving values." }, { "name": "cancellationToken", "type": "cancellationToken", - "isOptional": true + "isOptional": true, + "description": "A cancellation token." } ], "returnType": "IExecutionConfigurationResult", @@ -10322,7 +10475,8 @@ "name": "withArgumentsConfig", "capabilityId": "Aspire.Hosting/withArgumentsConfig", "qualifiedName": "withArgumentsConfig", - "description": "Adds an arguments configuration gatherer", + "description": "Adds a command line arguments configuration gatherer to the builder.", + "returns": "The builder with the configuration gatherer added.", "kind": "Method", "signature": "withArgumentsConfig(): IExecutionConfigurationBuilder", "parameters": [], @@ -10336,15 +10490,17 @@ "name": "withCertificateTrustConfig", "capabilityId": "Aspire.Hosting/withCertificateTrustConfig", "qualifiedName": "withCertificateTrustConfig", - "description": "Adds a certificate trust configuration gatherer", + "description": "Adds a certificate trust configuration gatherer to the builder.", + "returns": "The builder with the configuration gatherer added.", "kind": "Method", - "signature": "withCertificateTrustConfig(configContextFactory: (arg: CertificateTrustScope) =\u003E Promise\u003CCertificateTrustExecutionConfigurationContext\u003E): IExecutionConfigurationBuilder", + "signature": "withCertificateTrustConfig(configContextFactory: (arg: CertificateTrustScope) => Promise): IExecutionConfigurationBuilder", "parameters": [ { "name": "configContextFactory", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: CertificateTrustScope) =\u003E Promise\u003CCertificateTrustExecutionConfigurationContext\u003E" + "callbackSignature": "(arg: CertificateTrustScope) => Promise", + "description": "A factory function to create the configuration context." } ], "returnType": "IExecutionConfigurationBuilder", @@ -10357,7 +10513,8 @@ "name": "withEnvironmentVariablesConfig", "capabilityId": "Aspire.Hosting/withEnvironmentVariablesConfig", "qualifiedName": "withEnvironmentVariablesConfig", - "description": "Adds an environment variables configuration gatherer", + "description": "Adds an environment variables configuration gatherer to the builder.", + "returns": "The builder with the configuration gatherer added.", "kind": "Method", "signature": "withEnvironmentVariablesConfig(): IExecutionConfigurationBuilder", "parameters": [], @@ -10371,15 +10528,17 @@ "name": "withHttpsCertificateConfig", "capabilityId": "Aspire.Hosting/withHttpsCertificateConfigExport", "qualifiedName": "withHttpsCertificateConfig", - "description": "Adds an HTTPS certificate configuration gatherer", + "description": "Adds an HTTPS certificate configuration gatherer using certificate metadata instead of a raw X509 certificate.", + "returns": "The execution configuration builder.", "kind": "Method", - "signature": "withHttpsCertificateConfig(configContextFactory: (arg: HttpsCertificateInfo) =\u003E Promise\u003CHttpsCertificateExecutionConfigurationContext\u003E): IExecutionConfigurationBuilder", + "signature": "withHttpsCertificateConfig(configContextFactory: (arg: HttpsCertificateInfo) => Promise): IExecutionConfigurationBuilder", "parameters": [ { "name": "configContextFactory", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: HttpsCertificateInfo) =\u003E Promise\u003CHttpsCertificateExecutionConfigurationContext\u003E" + "callbackSignature": "(arg: HttpsCertificateInfo) => Promise", + "description": "The factory that creates the HTTPS certificate configuration context." } ], "returnType": "IExecutionConfigurationBuilder", @@ -10395,13 +10554,15 @@ "fullName": "Aspire.Hosting.ApplicationModel.IExecutionConfigurationResult", "kind": "handle", "isInterface": true, + "description": "Configuration (arguments and environment variables) to apply to a specific resource.", "implementedInterfaces": [], "capabilities": [ { "name": "getCertificateTrustData", "capabilityId": "Aspire.Hosting/getCertificateTrustData", "qualifiedName": "getCertificateTrustData", - "description": "Gets certificate trust execution-configuration data", + "description": "Gets certificate trust execution-configuration data when present.", + "returns": "The certificate trust data. When no additional data is present, an empty DTO is returned.", "kind": "Method", "signature": "getCertificateTrustData(): CertificateTrustExecutionConfigurationExportData", "parameters": [], @@ -10415,7 +10576,8 @@ "name": "getHttpsCertificateData", "capabilityId": "Aspire.Hosting/getHttpsCertificateData", "qualifiedName": "getHttpsCertificateData", - "description": "Gets HTTPS certificate execution-configuration data", + "description": "Gets HTTPS certificate execution-configuration data when present.", + "returns": "The HTTPS certificate data. When no additional data is present, an empty DTO is returned.", "kind": "Method", "signature": "getHttpsCertificateData(): HttpsCertificateExecutionConfigurationExportData", "parameters": [], @@ -10432,6 +10594,8 @@ "fullName": "Aspire.Hosting.ApplicationModel.IExpressionValue", "kind": "handle", "isInterface": true, + "description": "Represents a value that provides both a runtime value and a manifest expression.", + "remarks": "Expression values can be used anywhere both a runtime value and a publish-time\nmanifest expression are needed.", "implementedInterfaces": [], "capabilities": [] }, @@ -10440,6 +10604,8 @@ "fullName": "Aspire.Hosting.ApplicationModel.InitializeResourceEvent", "kind": "handle", "exposeProperties": true, + "description": "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's lifecycle.", "implementedInterfaces": [ "Aspire.Hosting.Eventing.IDistributedApplicationEvent", "Aspire.Hosting.Eventing.IDistributedApplicationResourceEvent" @@ -10449,7 +10615,7 @@ "name": "eventing", "capabilityId": "Aspire.Hosting.ApplicationModel/InitializeResourceEvent.eventing", "qualifiedName": "InitializeResourceEvent.eventing", - "description": "Gets the Eventing property", + "description": "The `IDistributedApplicationEventing` service for the app host.", "kind": "PropertyGetter", "signature": "eventing(): IDistributedApplicationEventing", "parameters": [], @@ -10463,7 +10629,7 @@ "name": "logger", "capabilityId": "Aspire.Hosting.ApplicationModel/InitializeResourceEvent.logger", "qualifiedName": "InitializeResourceEvent.logger", - "description": "Gets the Logger property", + "description": "An instance of `ILogger` that can be used to log messages for the resource.", "kind": "PropertyGetter", "signature": "logger(): ILogger", "parameters": [], @@ -10477,7 +10643,7 @@ "name": "notifications", "capabilityId": "Aspire.Hosting.ApplicationModel/InitializeResourceEvent.notifications", "qualifiedName": "InitializeResourceEvent.notifications", - "description": "Gets the Notifications property", + "description": "The `ResourceNotificationService` for the app host.", "kind": "PropertyGetter", "signature": "notifications(): ResourceNotificationService", "parameters": [], @@ -10505,7 +10671,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.ApplicationModel/InitializeResourceEvent.services", "qualifiedName": "InitializeResourceEvent.services", - "description": "Gets the Services property", + "description": "The `IServiceProvider` for the app host.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -10522,13 +10688,15 @@ "fullName": "Aspire.Hosting.ApplicationModel.IResource", "kind": "handle", "isInterface": true, + "description": "Represents a resource that can be hosted by an application.", "implementedInterfaces": [], "capabilities": [ { "name": "createExecutionConfiguration", "capabilityId": "Aspire.Hosting/createExecutionConfiguration", "qualifiedName": "createExecutionConfiguration", - "description": "Creates an execution configuration builder", + "description": "Creates an execution configuration builder for the specified resource.", + "returns": "The execution configuration builder.", "kind": "Method", "signature": "createExecutionConfiguration(): IExecutionConfigurationBuilder", "parameters": [], @@ -10549,7 +10717,8 @@ "name": "excludeFromManifest", "capabilityId": "Aspire.Hosting/excludeFromManifest", "qualifiedName": "excludeFromManifest", - "description": "Excludes the resource from the deployment manifest", + "description": "Excludes a resource from being published to the manifest.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "excludeFromManifest(): IResource", "parameters": [], @@ -10571,7 +10740,8 @@ "name": "excludeFromMcp", "capabilityId": "Aspire.Hosting/excludeFromMcp", "qualifiedName": "excludeFromMcp", - "description": "Excludes the resource from MCP server exposure", + "description": "Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "excludeFromMcp(): IResource", "parameters": [], @@ -10593,7 +10763,9 @@ "name": "getResourceName", "capabilityId": "Aspire.Hosting/getResourceName", "qualifiedName": "getResourceName", - "description": "Gets the resource name", + "description": "Gets the name of the resource from a builder.", + "remarks": "Why this wrapper exists: This capability accesses a nested property\n(`resource.Resource.Name`) which requires a wrapper method. There is no single\n.NET method that returns just the resource name that could be annotated directly.", + "returns": "The resource name.", "kind": "Method", "signature": "getResourceName(): string", "parameters": [], @@ -10614,15 +10786,17 @@ "name": "onBeforeResourceStarted", "capabilityId": "Aspire.Hosting/onBeforeResourceStarted", "qualifiedName": "onBeforeResourceStarted", - "description": "Subscribes to the BeforeResourceStarted event", + "description": "Subscribes to the BeforeResourceStarted event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: BeforeResourceStartedEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: BeforeResourceStartedEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResource", @@ -10643,15 +10817,17 @@ "name": "onInitializeResource", "capabilityId": "Aspire.Hosting/onInitializeResource", "qualifiedName": "onInitializeResource", - "description": "Subscribes to the InitializeResource event", + "description": "Subscribes to the InitializeResource event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onInitializeResource(callback: (arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "onInitializeResource(callback: (arg: InitializeResourceEvent) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: InitializeResourceEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: InitializeResourceEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResource", @@ -10672,15 +10848,17 @@ "name": "onResourceReady", "capabilityId": "Aspire.Hosting/onResourceReady", "qualifiedName": "onResourceReady", - "description": "Subscribes to the ResourceReady event", + "description": "Subscribes to the ResourceReady event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onResourceReady(callback: (arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "onResourceReady(callback: (arg: ResourceReadyEvent) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: ResourceReadyEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: ResourceReadyEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResource", @@ -10701,15 +10879,17 @@ "name": "onResourceStopped", "capabilityId": "Aspire.Hosting/onResourceStopped", "qualifiedName": "onResourceStopped", - "description": "Subscribes to the ResourceStopped event", + "description": "Subscribes to the ResourceStopped event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onResourceStopped(callback: (arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "onResourceStopped(callback: (arg: ResourceStoppedEvent) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: ResourceStoppedEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: ResourceStoppedEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResource", @@ -10730,13 +10910,16 @@ "name": "withChildRelationship", "capabilityId": "Aspire.Hosting/withBuilderChildRelationship", "qualifiedName": "withChildRelationship", - "description": "Sets a child relationship", + "description": "Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship.", + "remarks": "The `WithChildRelationship` method is used to add child relationships to the resource. Relationships are used to link\nresources together in UI.\nThis example shows adding a relationship between two resources.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar parameter = builder.AddParameter(\"parameter\");\nvar backend = builder.AddProject(\"backend\");\n.WithChildRelationship(parameter);\n```", + "returns": "A resource builder.", "kind": "Method", "signature": "withChildRelationship(child: IResource): IResource", "parameters": [ { "name": "child", - "type": "IResource" + "type": "IResource", + "description": "The child of `builder`." } ], "returnType": "IResource", @@ -10757,28 +10940,34 @@ "name": "withCommand", "capabilityId": "Aspire.Hosting/withCommand", "qualifiedName": "withCommand", - "description": "Adds a resource command", + "description": "Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command.", + "remarks": "The `WithCommand` 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 `executeCommand` callback is called and is run inside the Aspire host.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E, commandOptions?: CommandOptions): IResource", + "signature": "withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, commandOptions?: CommandOptions): IResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the command. The name uniquely identifies the command." }, { "name": "displayName", - "type": "string" + "type": "string", + "description": "The display name visible in UI." }, { "name": "executeCommand", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: ExecuteCommandContext) =\u003E Promise\u003CExecuteCommandResult\u003E" + "callbackSignature": "(arg: ExecuteCommandContext) => Promise", + "description": "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", - "isOptional": true + "isOptional": true, + "description": "Optional configuration for the command." } ], "returnType": "IResource", @@ -10799,13 +10988,16 @@ "name": "withContainerRegistry", "capabilityId": "Aspire.Hosting/withContainerRegistry", "qualifiedName": "withContainerRegistry", - "description": "Configures a resource to use a container registry", + "description": "Configures the resource to use the specified container registry for container image operations.", + "remarks": "This method adds a `ContainerRegistryReferenceAnnotation` to the resource,\nindicating that the resource should use the specified container registry for container image operations.", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "withContainerRegistry(registry: IResource): IResource", "parameters": [ { "name": "registry", - "type": "IResource" + "type": "IResource", + "description": "The container registry resource builder." } ], "returnType": "IResource", @@ -10826,19 +11018,23 @@ "name": "withDockerfileBaseImage", "capabilityId": "Aspire.Hosting/withDockerfileBaseImage", "qualifiedName": "withDockerfileBaseImage", - "description": "Sets the base image for a Dockerfile build", + "description": "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```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddPythonApp(\"myapp\", \"path/to/app\", \"main.py\")\n.WithDockerfileBaseImage(\nbuildImage: \"ghcr.io/astral-sh/uv:python3.12-bookworm-slim\",\nruntimeImage: \"python:3.12-slim-bookworm\");\nbuilder.Build().Run();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDockerfileBaseImage(buildImage?: string, runtimeImage?: string): IResource", "parameters": [ { "name": "buildImage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The base image to use for the build stage. If null, uses the default build image." }, { "name": "runtimeImage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The base image to use for the runtime stage. If null, uses the default runtime image." } ], "returnType": "IResource", @@ -10859,7 +11055,9 @@ "name": "withExplicitStart", "capabilityId": "Aspire.Hosting/withExplicitStart", "qualifiedName": "withExplicitStart", - "description": "Prevents resource from starting automatically", + "description": "Adds a `ExplicitStartupAnnotation` annotation to the resource so it doesn't automatically start with the app host startup.", + "remarks": "This method is useful when a resource shouldn't automatically start when the app host starts.\nThe database clean up tool project isn't started with the app host.\nThe resource start command can be used to run it ondemand later.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar pgsql = builder.AddPostgres(\"postgres\");\nbuilder.AddProject(\"dbcleanuptool\")\n.WithReference(pgsql)\n.WithExplicitStart();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withExplicitStart(): IResource", "parameters": [], @@ -10881,13 +11079,16 @@ "name": "withHealthCheck", "capabilityId": "Aspire.Hosting/withHealthCheck", "qualifiedName": "withHealthCheck", - "description": "Adds a health check by key", + "description": "Adds a `HealthCheckAnnotation` to the resource annotations to associate a resource with a named health check managed by the health check service.", + "remarks": "The `WithHealthCheck``1` method is used in conjunction with\nthe `WaitFor``1` to associate a resource\nregistered in the application hosts dependency injection container. The `WithHealthCheck``1`\nmethod does not inject the health check itself it is purely an association mechanism.\nDefine a custom health check and associate it with a resource.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar startAfter = DateTime.Now.AddSeconds(30);\nbuilder.Services.AddHealthChecks().AddCheck(mycheck\", () =>\n{\nreturn DateTime.Now > startAfter ? HealthCheckResult.Healthy() : HealthCheckResult.Unhealthy();\n});\nvar pg = builder.AddPostgres(\"pg\")\n.WithHealthCheck(\"mycheck\");\nbuilder.AddProject(\"myapp\")\n.WithReference(pg)\n.WaitFor(pg); // This will result in waiting for the building check, and the\n// custom check defined in the code.\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHealthCheck(key: string): IResource", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The key for the health check." } ], "returnType": "IResource", @@ -10908,19 +11109,23 @@ "name": "withIconName", "capabilityId": "Aspire.Hosting/withIconName", "qualifiedName": "withIconName", - "description": "Sets the icon for the resource", + "description": "Specifies the icon to use when displaying the resource in the dashboard.", + "remarks": "This method allows you to specify a custom FluentUI icon that will be displayed for the resource in the dashboard.\nIf no custom icon is specified, the dashboard will use default icons based on the resource type.\nSet a Redis resource to use the Database icon:\n```\nvar redis = builder.AddContainer(\"redis\", \"redis:latest\")\n.WithIconName(\"Database\");\n```\nSet a custom service to use a specific icon with Regular variant:\n```\nvar service = builder.AddProject(\"service\")\n.WithIconName(\"CloudArrowUp\", IconVariant.Regular);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withIconName(iconName: string, iconVariant?: IconVariant): IResource", "parameters": [ { "name": "iconName", - "type": "string" + "type": "string", + "description": "The name of the FluentUI icon to use. See https://aka.ms/fluentui-system-icons for available icons." }, { "name": "iconVariant", "type": "IconVariant", "isOptional": true, - "defaultValue": "Filled" + "defaultValue": "Filled", + "description": "The variant of the icon (Regular or Filled). Defaults to Filled." } ], "returnType": "IResource", @@ -10941,13 +11146,16 @@ "name": "withParentRelationship", "capabilityId": "Aspire.Hosting/withBuilderParentRelationship", "qualifiedName": "withParentRelationship", - "description": "Sets the parent relationship", + "description": "Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship.", + "remarks": "The `WithParentRelationship` method is used to add parent relationships to the resource. Relationships are used to link\nresources together in UI.\nThis example shows adding a relationship between two resources.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar backend = builder.AddProject(\"backend\");\nvar frontend = builder.AddProject(\"frontend\")\n.WithParentRelationship(backend);\n```", + "returns": "A resource builder.", "kind": "Method", "signature": "withParentRelationship(parent: IResource): IResource", "parameters": [ { "name": "parent", - "type": "IResource" + "type": "IResource", + "description": "The parent of `builder`." } ], "returnType": "IResource", @@ -10968,15 +11176,17 @@ "name": "withPipelineConfiguration", "capabilityId": "Aspire.Hosting/withPipelineConfiguration", "qualifiedName": "withPipelineConfiguration", - "description": "Configures pipeline step dependencies via a callback", + "description": "Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships.", + "returns": "The resource builder for chaining.", "kind": "Method", - "signature": "withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PipelineConfigurationContext) => Promise", + "description": "The callback function to execute during the configuration phase." } ], "returnType": "IResource", @@ -10997,39 +11207,46 @@ "name": "withPipelineStepFactory", "capabilityId": "Aspire.Hosting/withPipelineStepFactory", "qualifiedName": "withPipelineStepFactory", - "description": "Adds a pipeline step to the resource", + "description": "Adds a pipeline step to the resource that will be executed during deployment.", + "returns": "The resource builder for chaining.", "kind": "Method", - "signature": "withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): IResource", + "signature": "withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): IResource", "parameters": [ { "name": "stepName", - "type": "string" + "type": "string", + "description": "The unique name of the pipeline step." }, { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: PipelineStepContext) => Promise", + "description": "The callback to execute when the step runs." }, { "name": "dependsOn", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional step names that this step depends on." }, { "name": "requiredBy", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional step names that require this step." }, { "name": "tags", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional tags that categorize this step." }, { "name": "description", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional human-readable description of the step." } ], "returnType": "IResource", @@ -11050,17 +11267,20 @@ "name": "withRelationship", "capabilityId": "Aspire.Hosting/withBuilderRelationship", "qualifiedName": "withRelationship", - "description": "Adds a relationship to another resource", + "description": "Adds a relationship to another resource using its builder.", + "returns": "A resource builder.", "kind": "Method", "signature": "withRelationship(resourceBuilder: IResource, type: string): IResource", "parameters": [ { "name": "resourceBuilder", - "type": "IResource" + "type": "IResource", + "description": "The resource builder that the relationship is to." }, { "name": "type", - "type": "string" + "type": "string", + "description": "The relationship type." } ], "returnType": "IResource", @@ -11081,18 +11301,22 @@ "name": "withRequiredCommand", "capabilityId": "Aspire.Hosting/withRequiredCommand", "qualifiedName": "withRequiredCommand", - "description": "Adds a required command dependency", + "description": "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.", + "returns": "The resource builder.", "kind": "Method", "signature": "withRequiredCommand(command: string, helpLink?: string): IResource", "parameters": [ { "name": "command", - "type": "string" + "type": "string", + "description": "The command string (file name or path) that should be validated." }, { "name": "helpLink", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional help link URL to guide users when the command is missing." } ], "returnType": "IResource", @@ -11145,19 +11369,23 @@ "name": "withUrlForEndpoint", "capabilityId": "Aspire.Hosting/withUrlForEndpoint", "qualifiedName": "withUrlForEndpoint", - "description": "Customizes the URL for a specific endpoint via callback", + "description": "Registers a callback to update the URL displayed for the endpoint with the specified name.", + "remarks": "Use this method to customize the URL that is automatically added for an endpoint on the resource.\nTo add another URL for an endpoint, use `WithUrlForEndpoint``1`.\nThe callback will be executed after endpoints have been allocated and the URL has been generated.\nThis allows you to modify the URL or its display text.\nIf the URL returned by `callback` is relative, it will be combined with the endpoint URL to create an absolute URL.\nIf the endpoint with the specified name does not exist, the callback will not be executed and a warning will be logged.\nCustomize the URL for the \"https\" endpoint to use the link text \"Home\":\n```\nvar frontend = builder.AddProject(\"frontend\")\n.WithUrlForEndpoint(\"https\", url => url.DisplayText = \"Home\");\n```\nCustomize the URL for the \"https\" endpoint to deep to the \"/home\" path:\n```\nvar frontend = builder.AddProject(\"frontend\")\n.WithUrlForEndpoint(\"https\", url => url.Url = \"/home\");\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) => Promise): IResource", "parameters": [ { "name": "endpointName", - "type": "string" + "type": "string", + "description": "The name of the endpoint to customize the URL for." }, { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: ResourceUrlAnnotation) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: ResourceUrlAnnotation) => Promise", + "description": "The callback that will customize the URL." } ], "returnType": "IResource", @@ -11178,15 +11406,18 @@ "name": "withUrls", "capabilityId": "Aspire.Hosting/withUrls", "qualifiedName": "withUrls", - "description": "Customizes displayed URLs via callback", + "description": "Registers a callback to customize the URLs displayed for the resource.", + "remarks": "The callback will be executed after endpoints have been allocated for this resource.\nThis allows you to modify any URLs for the resource, including adding, modifying, or even deletion.\nNote that any endpoints on the resource will automatically get a corresponding URL added for them.\nUpdate all displayed URLs to have display text:\n```\nvar frontend = builder.AddProject(\"frontend\")\n.WithUrls(c =>\n{\nforeach (var url in c.Urls)\n{\nif (string.IsNullOrEmpty(url.DisplayText))\n{\nurl.DisplayText = \"frontend\";\n}\n}\n});\n```\nUpdate endpoint URLs to use a custom host name based on the resource name:\n```\nvar frontend = builder.AddProject(\"frontend\")\n.WithUrls(c =>\n{\nforeach (var url in c.Urls)\n{\nif (url.Endpoint is not null)\n{\nvar uri = new UriBuilder(url.Url) { Host = $\"{c.Resource.Name}.localhost\" };\nurl.Url = uri.ToString();\n}\n}\n});\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withUrls(callback: (obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E): IResource", + "signature": "withUrls(callback: (obj: ResourceUrlsCallbackContext) => Promise): IResource", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: ResourceUrlsCallbackContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: ResourceUrlsCallbackContext) => Promise", + "description": "The callback that will customize URLs for the resource." } ], "returnType": "IResource", @@ -11210,19 +11441,22 @@ "fullName": "Aspire.Hosting.ApplicationModel.IResourceWithArgs", "kind": "handle", "isInterface": true, + "description": "Represents a resource that is associated with commandline arguments.", "implementedInterfaces": [], "capabilities": [ { "name": "withArgs", "capabilityId": "Aspire.Hosting/withArgs", "qualifiedName": "withArgs", - "description": "Adds arguments", + "description": "Adds arguments to be passed to a resource that supports arguments when it is launched.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withArgs(args: string[]): IResourceWithArgs", "parameters": [ { "name": "args", - "type": "string[]" + "type": "string[]", + "description": "The arguments to be passed to the resource when it is started." } ], "returnType": "IResourceWithArgs", @@ -11240,15 +11474,17 @@ "name": "withArgsCallback", "capabilityId": "Aspire.Hosting/withArgsCallback", "qualifiedName": "withArgsCallback", - "description": "Sets command-line arguments via callback", + "description": "Adds a callback to be executed with a list of command-line arguments when a resource is started.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E): IResourceWithArgs", + "signature": "withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) => Promise): IResourceWithArgs", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: CommandLineArgsCallbackContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: CommandLineArgsCallbackContext) => Promise", + "description": "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." } ], "returnType": "IResourceWithArgs", @@ -11269,19 +11505,23 @@ "fullName": "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "kind": "handle", "isInterface": true, + "description": "Represents a resource that has a connection string associated with it.", "implementedInterfaces": [], "capabilities": [ { "name": "getConnectionProperty", "capabilityId": "Aspire.Hosting/getConnectionProperty", "qualifiedName": "getConnectionProperty", - "description": "Gets a connection property by key", + "description": "Retrieves the value of a specified connection property from the resource's connection properties.", + "remarks": "Throws a KeyNotFoundException if the specified key does not exist in the resource's\nconnection properties.", + "returns": "The value associated with the specified connection property key.", "kind": "Method", "signature": "getConnectionProperty(key: string): ReferenceExpression", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The key of the connection property to retrieve. Cannot be null." } ], "returnType": "ReferenceExpression", @@ -11294,15 +11534,17 @@ "name": "onConnectionStringAvailable", "capabilityId": "Aspire.Hosting/onConnectionStringAvailable", "qualifiedName": "onConnectionStringAvailable", - "description": "Subscribes to the ConnectionStringAvailable event", + "description": "Subscribes to the ConnectionStringAvailable event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onConnectionStringAvailable(callback: (arg: ConnectionStringAvailableEvent) =\u003E Promise\u003Cvoid\u003E): IResourceWithConnectionString", + "signature": "onConnectionStringAvailable(callback: (arg: ConnectionStringAvailableEvent) => Promise): IResourceWithConnectionString", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: ConnectionStringAvailableEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: ConnectionStringAvailableEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResourceWithConnectionString", @@ -11316,17 +11558,20 @@ "name": "withConnectionProperty", "capabilityId": "Aspire.Hosting/withConnectionProperty", "qualifiedName": "withConnectionProperty", - "description": "Adds a connection property with a string or reference expression value", + "description": "Adds a connection property annotation to the resource being built.", + "returns": "The same resource builder instance with the specified connection property annotation applied.", "kind": "Method", "signature": "withConnectionProperty(name: string, value: ReferenceExpression): IResourceWithConnectionString", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the connection property to add." }, { "name": "value", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The value to assign to the connection property, specified as a string or reference expression." } ], "returnType": "IResourceWithConnectionString", @@ -11343,13 +11588,15 @@ "fullName": "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", "kind": "handle", "isInterface": true, + "description": "Represents a resource that has endpoints associated with it.", "implementedInterfaces": [], "capabilities": [ { "name": "asHttp2Service", "capabilityId": "Aspire.Hosting/asHttp2Service", "qualifiedName": "asHttp2Service", - "description": "Configures resource for HTTP/2", + "description": "Configures a resource to mark all endpoints' transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "asHttp2Service(): IResourceWithEndpoints", "parameters": [], @@ -11368,13 +11615,15 @@ "name": "getEndpoint", "capabilityId": "Aspire.Hosting/getEndpoint", "qualifiedName": "getEndpoint", - "description": "Gets an endpoint reference", + "description": "Gets an `EndpointReference` by name from the resource. These endpoints are declared either using `WithEndpoint``1` or by launch settings (for project resources). The `EndpointReference` can be used to resolve the address of the endpoint in `WithEnvironment``1`.", + "returns": "An `EndpointReference` that can be used to resolve the address of the endpoint after resource allocation has occurred.", "kind": "Method", "signature": "getEndpoint(name: string): EndpointReference", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the endpoint." } ], "returnType": "EndpointReference", @@ -11391,15 +11640,17 @@ "name": "onResourceEndpointsAllocated", "capabilityId": "Aspire.Hosting/onResourceEndpointsAllocated", "qualifiedName": "onResourceEndpointsAllocated", - "description": "Subscribes to the ResourceEndpointsAllocated event", + "description": "Subscribes to the ResourceEndpointsAllocated event.", + "returns": "The resource builder.", "kind": "Method", - "signature": "onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E): IResourceWithEndpoints", + "signature": "onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) => Promise): IResourceWithEndpoints", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: ResourceEndpointsAllocatedEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: ResourceEndpointsAllocatedEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "IResourceWithEndpoints", @@ -11417,7 +11668,8 @@ "name": "withEndpoint", "capabilityId": "Aspire.Hosting/withEndpoint", "qualifiedName": "withEndpoint", - "description": "Adds a network endpoint", + "description": "Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withEndpoint(port?: number, targetPort?: number, scheme?: string, name?: string, env?: string, isProxied?: boolean, isExternal?: boolean, protocol?: ProtocolType): IResourceWithEndpoints", "parameters": [ @@ -11425,46 +11677,54 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "An optional port. This is the port that will be given to other resource to communicate with this resource." }, { "name": "targetPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "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", - "isOptional": true + "isOptional": true, + "description": "An optional scheme e.g. (http/https). Defaults to the `protocol` argument if it is defined or \"tcp\" otherwise." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name of the endpoint. Defaults to the scheme name if not specified." }, { "name": "env", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name of the environment variable that will be used to inject the `targetPort`. If the target port is null one will be dynamically generated and assigned to the environment variable." }, { "name": "isProxied", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Specifies if the endpoint will be proxied by DCP. Defaults to true." }, { "name": "isExternal", "type": "boolean", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "Indicates that this endpoint should be exposed externally at publish time." }, { "name": "protocol", "type": "ProtocolType", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "Network protocol: TCP or UDP are supported today, others possibly in future." } ], "returnType": "IResourceWithEndpoints", @@ -11484,7 +11744,7 @@ "qualifiedName": "withEndpointCallback", "description": "Updates a named endpoint via callback", "kind": "Method", - "signature": "withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, createIfNotExists?: boolean): IResourceWithEndpoints", + "signature": "withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) => Promise, createIfNotExists?: boolean): IResourceWithEndpoints", "parameters": [ { "name": "endpointName", @@ -11494,7 +11754,7 @@ "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: EndpointUpdateContext) => Promise" }, { "name": "createIfNotExists", @@ -11518,7 +11778,8 @@ "name": "withExternalHttpEndpoints", "capabilityId": "Aspire.Hosting/withExternalHttpEndpoints", "qualifiedName": "withExternalHttpEndpoints", - "description": "Makes HTTP endpoints externally accessible", + "description": "Marks existing http or https endpoints on a resource as external.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withExternalHttpEndpoints(): IResourceWithEndpoints", "parameters": [], @@ -11570,7 +11831,9 @@ "name": "withHttpEndpoint", "capabilityId": "Aspire.Hosting/withHttpEndpoint", "qualifiedName": "withHttpEndpoint", - "description": "Adds an HTTP endpoint", + "description": "Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be \"http\" if not specified.", + "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 `null` will not modify the existing endpoint's values.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHttpEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): IResourceWithEndpoints", "parameters": [ @@ -11578,29 +11841,34 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "An optional port. This is the port that will be given to other resource to communicate with this resource." }, { "name": "targetPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "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", - "isOptional": true + "isOptional": true, + "description": "An optional name of the endpoint. Defaults to \"http\" if not specified." }, { "name": "env", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name of the environment variable to inject." }, { "name": "isProxied", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Specifies if the endpoint will be proxied by DCP. Defaults to true." } ], "returnType": "IResourceWithEndpoints", @@ -11620,13 +11888,13 @@ "qualifiedName": "withHttpEndpointCallback", "description": "Updates an HTTP endpoint via callback", "kind": "Method", - "signature": "withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, name?: string, createIfNotExists?: boolean): IResourceWithEndpoints", + "signature": "withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): IResourceWithEndpoints", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: EndpointUpdateContext) => Promise" }, { "name": "name", @@ -11655,25 +11923,30 @@ "name": "withHttpHealthCheck", "capabilityId": "Aspire.Hosting/withHttpHealthCheck", "qualifiedName": "withHttpHealthCheck", - "description": "Adds an HTTP health check", + "description": "Adds a health check to the resource which is mapped to a specific endpoint.", + "remarks": "This method adds a health check to the health check service which polls the specified endpoint on the resource\non a periodic basis. The base address is dynamically determined based on the endpoint that was selected. By\ndefault the path is set to \"/\" and the status code is set to 200.\nThis example shows adding an HTTP health check to a backend project.\nThe health check makes sure that the front end does not start until the backend is\nreporting a healthy status based on the return code returned from the\n\"/health\" path on the backend server.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar backend = builder.AddProject(\"backend\")\n.WithHttpHealthCheck(\"/health\");\nbuilder.AddProject(\"frontend\")\n.WithReference(backend).WaitFor(backend);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHttpHealthCheck(path?: string, statusCode?: number, endpointName?: string): IResourceWithEndpoints", "parameters": [ { "name": "path", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The relative path to test." }, { "name": "statusCode", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The result code to interpret as healthy." }, { "name": "endpointName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the endpoint to derive the base address from." } ], "returnType": "IResourceWithEndpoints", @@ -11691,7 +11964,7 @@ "name": "withHttpProbe", "capabilityId": "Aspire.Hosting/withHttpProbe", "qualifiedName": "withHttpProbe", - "description": "Adds an HTTP health probe to the resource", + "description": "ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust.", "kind": "Method", "signature": "withHttpProbe(probeType: ProbeType, path?: string, initialDelaySeconds?: number, periodSeconds?: number, timeoutSeconds?: number, failureThreshold?: number, successThreshold?: number, endpointName?: string): IResourceWithEndpoints", "parameters": [ @@ -11755,7 +12028,9 @@ "name": "withHttpsEndpoint", "capabilityId": "Aspire.Hosting/withHttpsEndpoint", "qualifiedName": "withHttpsEndpoint", - "description": "Adds an HTTPS endpoint", + "description": "Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be \"https\" if not specified.", + "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 `null` will not modify the existing endpoint's values.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHttpsEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): IResourceWithEndpoints", "parameters": [ @@ -11763,29 +12038,34 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "An optional host port." }, { "name": "targetPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "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", - "isOptional": true + "isOptional": true, + "description": "An optional name of the endpoint. Defaults to \"https\" if not specified." }, { "name": "env", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name of the environment variable to inject." }, { "name": "isProxied", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Specifies if the endpoint will be proxied by DCP. Defaults to true." } ], "returnType": "IResourceWithEndpoints", @@ -11805,13 +12085,13 @@ "qualifiedName": "withHttpsEndpointCallback", "description": "Updates an HTTPS endpoint via callback", "kind": "Method", - "signature": "withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E, name?: string, createIfNotExists?: boolean): IResourceWithEndpoints", + "signature": "withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): IResourceWithEndpoints", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: EndpointUpdateContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: EndpointUpdateContext) => Promise" }, { "name": "name", @@ -11840,7 +12120,9 @@ "name": "withMcpServer", "capabilityId": "Aspire.Hosting/withMcpServer", "qualifiedName": "withMcpServer", - "description": "Configures an MCP server endpoint on the resource", + "description": "Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint.", + "remarks": "This method adds an `McpServerEndpointAnnotation` to the resource, enabling the Aspire tooling\nto discover and proxy the MCP server exposed by the resource.", + "returns": "A reference to the `IResourceBuilder`1` for chaining additional configuration.", "kind": "Method", "signature": "withMcpServer(path?: string, endpointName?: string): IResourceWithEndpoints", "parameters": [ @@ -11848,12 +12130,14 @@ "name": "path", "type": "string", "isOptional": true, - "defaultValue": "/mcp" + "defaultValue": "/mcp", + "description": "An optional path to append to the endpoint URL when forming the MCP server address. Defaults to `\"/mcp\"`." }, { "name": "endpointName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name of the endpoint that hosts the MCP server. If not specified, defaults to the first HTTPS or HTTP endpoint." } ], "returnType": "IResourceWithEndpoints", @@ -11874,19 +12158,23 @@ "fullName": "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", "kind": "handle", "isInterface": true, + "description": "Represents a resource that is associated with an environment.", "implementedInterfaces": [], "capabilities": [ { "name": "withCertificateTrustScope", "capabilityId": "Aspire.Hosting/withCertificateTrustScope", "qualifiedName": "withCertificateTrustScope", - "description": "Sets the certificate trust scope", + "description": "Sets the `CertificateTrustScope` for custom certificate authorities associated with the resource. The scope specifies how custom certificate authorities should be applied to a resource at run time in local development scenarios. Custom certificate trust is only applied in run mode; in publish mode resources will use their default certificate trust behavior.", + "remarks": "The default scope if not overridden is `Append` which means that custom certificate\nauthorities should be appended to the default trusted certificate authorities for the resource. Setting the scope to\n`Override` indicates the set of certificates in referenced\n`CertificateAuthorityCollection` (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```\nvar caCollection = builder.AddCertificateAuthorityCollection(\"my-cas\")\n.WithCertificate(new X509Certificate2(\"my-ca.pem\"));\nvar container = builder.AddContainer(\"my-service\", \"my-service:latest\")\n.WithCertificateAuthorityCollection(caCollection)\n.WithCertificateTrustScope(CertificateTrustScope.Override);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withCertificateTrustScope(scope: CertificateTrustScope): IResourceWithEnvironment", "parameters": [ { "name": "scope", - "type": "CertificateTrustScope" + "type": "CertificateTrustScope", + "description": "The scope to apply to custom certificate authorities associated with the resource." } ], "returnType": "IResourceWithEnvironment", @@ -11904,13 +12192,16 @@ "name": "withDeveloperCertificateTrust", "capabilityId": "Aspire.Hosting/withDeveloperCertificateTrust", "qualifiedName": "withDeveloperCertificateTrust", - "description": "Configures developer certificate trust", + "description": "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```\nvar container = builder.AddContainer(\"my-service\", \"my-service:latest\")\n.WithDeveloperCertificateTrust(false);\n```\nDisable automatic trust for app host managed developer certificate(s), but explicitly enable it for a specific resource.\n```\nvar builder = DistributedApplication.CreateBuilder(new DistributedApplicationOptions()\n{\nArgs = args,\nTrustDeveloperCertificate = false,\n});\nvar project = builder.AddProject(\"my-service\")\n.WithDeveloperCertificateTrust(true);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDeveloperCertificateTrust(trust: boolean): IResourceWithEnvironment", "parameters": [ { "name": "trust", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the developer certificate should be treated as trusted." } ], "returnType": "IResourceWithEnvironment", @@ -11956,15 +12247,17 @@ "name": "withEnvironmentCallback", "capabilityId": "Aspire.Hosting/withEnvironmentCallback", "qualifiedName": "withEnvironmentCallback", - "description": "Sets environment variables via callback", + "description": "Allows for the population of environment variables on a resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", - "signature": "withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E): IResourceWithEnvironment", + "signature": "withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) => Promise): IResourceWithEnvironment", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: EnvironmentCallbackContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: EnvironmentCallbackContext) => Promise", + "description": "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." } ], "returnType": "IResourceWithEnvironment", @@ -11982,14 +12275,17 @@ "name": "withHttpsDeveloperCertificate", "capabilityId": "Aspire.Hosting/withParameterHttpsDeveloperCertificate", "qualifiedName": "withHttpsDeveloperCertificate", - "description": "Configures HTTPS with a developer certificate", + "description": "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```\nbuilder.AddContainer(\"my-service\", \"my-image\")\n.WithHttpsDeveloperCertificate()\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHttpsDeveloperCertificate(password?: ParameterResource): IResourceWithEnvironment", "parameters": [ { "name": "password", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "A parameter specifying the password used to encrypt the certificate private key." } ], "returnType": "IResourceWithEnvironment", @@ -12033,7 +12329,9 @@ "name": "withoutHttpsCertificate", "capabilityId": "Aspire.Hosting/withoutHttpsCertificate", "qualifiedName": "withoutHttpsCertificate", - "description": "Removes HTTPS certificate configuration", + "description": "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```\nvar redis = builder.AddRedis(\"cache\")\n.WithoutHttpsCertificate();\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withoutHttpsCertificate(): IResourceWithEnvironment", "parameters": [], @@ -12092,13 +12390,15 @@ "name": "withReferenceEnvironment", "capabilityId": "Aspire.Hosting/withReferenceEnvironment", "qualifiedName": "withReferenceEnvironment", - "description": "Configures which reference values are injected into environment variables", + "description": "Configures how information is injected into environment variables when the resource references other resources.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): IResourceWithEnvironment", "parameters": [ { "name": "options", - "type": "ReferenceEnvironmentInjectionOptions" + "type": "ReferenceEnvironmentInjectionOptions", + "description": "Options controlling which reference information is emitted." } ], "returnType": "IResourceWithEnvironment", @@ -12119,6 +12419,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.IResourceWithParent", "kind": "handle", "isInterface": true, + "description": "Represents a resource that has a parent resource.", "implementedInterfaces": [], "capabilities": [] }, @@ -12127,6 +12428,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport", "kind": "handle", "isInterface": true, + "description": "Represents a resource that can wait for other resources to be running, health, and/or completed.", "implementedInterfaces": [], "capabilities": [ { @@ -12163,19 +12465,23 @@ "name": "waitForCompletion", "capabilityId": "Aspire.Hosting/waitForResourceCompletion", "qualifiedName": "waitForCompletion", - "description": "Waits for resource completion", + "description": "Waits for the dependency resource to enter the Exited or Finished state before starting the resource.", + "remarks": "This method is useful when a resource should wait until another has completed. A common usage pattern\nwould be to include a console application that initializes the database schema or performs other one off\ninitialization tasks.\nNote that this method has no impact at deployment time and only works for local development.\nWait for database initialization app to complete running.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar pgsql = builder.AddPostgres(\"postgres\");\nvar dbprep = builder.AddProject(\"dbprep\")\n.WithReference(pgsql);\nbuilder.AddProject(\"dbpreptool\")\n.WithReference(pgsql)\n.WaitForCompletion(dbprep);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "waitForCompletion(dependency: IResource, exitCode?: number): IResourceWithWaitSupport", "parameters": [ { "name": "dependency", - "type": "IResource" + "type": "IResource", + "description": "The resource builder for the dependency resource." }, { "name": "exitCode", "type": "number", "isOptional": true, - "defaultValue": "0" + "defaultValue": "0", + "description": "The exit code which is interpreted as successful." } ], "returnType": "IResourceWithWaitSupport", @@ -12225,19 +12531,21 @@ "name": "LogFacade", "fullName": "Aspire.Hosting.ApplicationModel.LogFacade", "kind": "handle", + "description": "Provides a narrow logging surface for polyglot callback contexts.", "implementedInterfaces": [], "capabilities": [ { "name": "debug", "capabilityId": "Aspire.Hosting.ApplicationModel/debug", "qualifiedName": "LogFacade.debug", - "description": "Writes a debug log message", + "description": "Writes a debug log message.", "kind": "InstanceMethod", "signature": "debug(message: string): void", "parameters": [ { "name": "message", - "type": "string" + "type": "string", + "description": "The message to write." } ], "returnType": "void", @@ -12250,13 +12558,14 @@ "name": "error", "capabilityId": "Aspire.Hosting.ApplicationModel/error", "qualifiedName": "LogFacade.error", - "description": "Writes an error log message", + "description": "Writes an error log message.", "kind": "InstanceMethod", "signature": "error(message: string): void", "parameters": [ { "name": "message", - "type": "string" + "type": "string", + "description": "The message to write." } ], "returnType": "void", @@ -12269,13 +12578,14 @@ "name": "info", "capabilityId": "Aspire.Hosting.ApplicationModel/info", "qualifiedName": "LogFacade.info", - "description": "Writes an informational log message", + "description": "Writes an informational log message.", "kind": "InstanceMethod", "signature": "info(message: string): void", "parameters": [ { "name": "message", - "type": "string" + "type": "string", + "description": "The message to write." } ], "returnType": "void", @@ -12288,13 +12598,14 @@ "name": "warning", "capabilityId": "Aspire.Hosting.ApplicationModel/warning", "qualifiedName": "LogFacade.warning", - "description": "Writes a warning log message", + "description": "Writes a warning log message.", "kind": "InstanceMethod", "signature": "warning(message: string): void", "parameters": [ { "name": "message", - "type": "string" + "type": "string", + "description": "The message to write." } ], "returnType": "void", @@ -12309,6 +12620,7 @@ "name": "ParameterResource", "fullName": "Aspire.Hosting.ApplicationModel.ParameterResource", "kind": "handle", + "description": "Represents a parameter resource.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", @@ -12320,19 +12632,22 @@ "name": "withDescription", "capabilityId": "Aspire.Hosting/withDescription", "qualifiedName": "withDescription", - "description": "Sets a parameter description", + "description": "Sets the description of the parameter resource.", + "returns": "Resource builder for the parameter.", "kind": "Method", "signature": "withDescription(description: string, enableMarkdown?: boolean): ParameterResource", "parameters": [ { "name": "description", - "type": "string" + "type": "string", + "description": "The parameter description." }, { "name": "enableMarkdown", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A value indicating whether the description should be rendered as Markdown. `true` allows the description to contain Markdown elements such as links, text decoration and lists." } ], "returnType": "ParameterResource", @@ -12348,6 +12663,7 @@ "name": "ProjectResource", "fullName": "Aspire.Hosting.ApplicationModel.ProjectResource", "kind": "handle", + "description": "A resource that represents a specified .NET project.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IContainerFilesDestinationResource", @@ -12364,7 +12680,9 @@ "name": "disableForwardedHeaders", "capabilityId": "Aspire.Hosting/disableForwardedHeaders", "qualifiedName": "disableForwardedHeaders", - "description": "Disables forwarded headers for the project", + "description": "Configures the project to disable forwarded headers when being published.", + "remarks": "By default Aspire assumes that .NET applications which expose endpoints should be configured to\nuse forwarded headers. This is because most typical cloud native deployment scenarios involve a reverse\nproxy which translates an external endpoint hostname to an internal address.\nTo enable forwarded headers the `ASPNETCORE_FORWARDEDHEADERS_ENABLED` variable is injected\ninto the project and set to true. If the `DisableForwardedHeaders`\nextension is used this environment variable will not be set.\nDisable forwarded headers for a project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddProject(\"inventoryservice\")\n.DisableForwardedHeaders();\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "disableForwardedHeaders(): ProjectResource", "parameters": [], @@ -12380,16 +12698,19 @@ "name": "publishAsDockerFile", "capabilityId": "Aspire.Hosting/publishProjectAsDockerFileWithConfigure", "qualifiedName": "publishAsDockerFile", - "description": "Publishes a project as a Docker file with optional container configuration", + "description": "Adds support for containerizing this `ProjectResource` during deployment. The resulting container image is built, and when the optional `configure` action is provided, it is used to configure the container resource.", + "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 `configure` action.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "publishAsDockerFile(configure?: (obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E): ProjectResource", + "signature": "publishAsDockerFile(configure?: (obj: ContainerResource) => Promise): ProjectResource", "parameters": [ { "name": "configure", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: ContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: ContainerResource) => Promise", + "description": "Optional action to configure the container resource" } ], "returnType": "ProjectResource", @@ -12404,13 +12725,16 @@ "name": "withReplicas", "capabilityId": "Aspire.Hosting/withReplicas", "qualifiedName": "withReplicas", - "description": "Sets the number of replicas", + "description": "Configures how many replicas of the project should be created for the project.", + "remarks": "When this method is applied to a project resource it will configure the app host to start multiple instances\nof the application based on the specified number of replicas. By default the app host automatically starts a\nreverse proxy for each process. When `WithReplicas` is\nused the reverse proxy will load balance traffic between the replicas.\nThis capability can be useful when debugging scale out scenarios to ensure state is appropriately managed\nwithin a cluster of instances.\nStart multiple instances of the same service.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddProject(\"inventoryservice\")\n.WithReplicas(3);\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withReplicas(replicas: number): ProjectResource", "parameters": [ { "name": "replicas", - "type": "number" + "type": "number", + "description": "The number of replicas." } ], "returnType": "ProjectResource", @@ -12427,6 +12751,8 @@ "name": "ReferenceExpression", "fullName": "Aspire.Hosting.ApplicationModel.ReferenceExpression", "kind": "handle", + "description": "Represents an expression that might be made up of multiple resource properties. For example, a connection string might be made up of a host, port, and password from different endpoints.", + "remarks": "A `ReferenceExpression` operates in one of two modes:\n-\n-", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", @@ -12438,13 +12764,14 @@ "name": "getValueAsync", "capabilityId": "Aspire.Hosting.ApplicationModel/getValueAsync", "qualifiedName": "ReferenceExpression.getValueAsync", - "description": "Gets the resolved string value of the reference expression asynchronously", + "description": "Gets the value of the expression. The final string value after evaluating the format string and its parameters.", "kind": "InstanceMethod", "signature": "getValueAsync(cancellationToken: cancellationToken): string", "parameters": [ { "name": "cancellationToken", - "type": "cancellationToken" + "type": "cancellationToken", + "description": "A `CancellationToken`." } ], "returnType": "string", @@ -12460,24 +12787,27 @@ "fullName": "Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder", "kind": "handle", "exposeProperties": true, + "description": "A builder for creating `ReferenceExpression` instances.", "implementedInterfaces": [], "capabilities": [ { "name": "appendFormatted", "capabilityId": "Aspire.Hosting.ApplicationModel/appendFormatted", "qualifiedName": "ReferenceExpressionBuilder.appendFormatted", - "description": "Appends a formatted string value to the reference expression", + "description": "Appends a formatted value to the expression.", "kind": "InstanceMethod", "signature": "appendFormatted(value: string, format?: string): void", "parameters": [ { "name": "value", - "type": "string" + "type": "string", + "description": "The formatted string to be appended to the interpolated string." }, { "name": "format", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The format to be applied to the value. e.g., \"uri\"" } ], "returnType": "void", @@ -12490,13 +12820,14 @@ "name": "appendLiteral", "capabilityId": "Aspire.Hosting.ApplicationModel/appendLiteral", "qualifiedName": "ReferenceExpressionBuilder.appendLiteral", - "description": "Appends a literal string to the reference expression", + "description": "Appends a literal value to the expression.", "kind": "InstanceMethod", "signature": "appendLiteral(value: string): void", "parameters": [ { "name": "value", - "type": "string" + "type": "string", + "description": "The literal string value to be appended to the interpolated string." } ], "returnType": "void", @@ -12509,18 +12840,20 @@ "name": "appendValueProvider", "capabilityId": "Aspire.Hosting.ApplicationModel/appendValueProvider", "qualifiedName": "ReferenceExpressionBuilder.appendValueProvider", - "description": "Appends a value provider to the reference expression", + "description": "Appends a value provider to the expression using late binding. The object must implement both `IValueProvider` and `IManifestExpressionProvider`, or be an `IResourceBuilder`1` where T implements both interfaces.", "kind": "InstanceMethod", "signature": "appendValueProvider(valueProvider: any, format?: string): void", "parameters": [ { "name": "valueProvider", - "type": "any" + "type": "any", + "description": "An object that implements both interfaces, or an IResourceBuilder wrapping such an object." }, { "name": "format", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional format specifier." } ], "returnType": "void", @@ -12533,7 +12866,7 @@ "name": "build", "capabilityId": "Aspire.Hosting.ApplicationModel/build", "qualifiedName": "ReferenceExpressionBuilder.build", - "description": "Builds the reference expression", + "description": "Builds the `ReferenceExpression`.", "kind": "InstanceMethod", "signature": "build(): ReferenceExpression", "parameters": [], @@ -12547,7 +12880,7 @@ "name": "isEmpty", "capabilityId": "Aspire.Hosting.ApplicationModel/ReferenceExpressionBuilder.isEmpty", "qualifiedName": "ReferenceExpressionBuilder.isEmpty", - "description": "Gets the IsEmpty property", + "description": "Indicates whether the expression is empty.", "kind": "PropertyGetter", "signature": "isEmpty(): boolean", "parameters": [], @@ -12564,6 +12897,8 @@ "fullName": "Aspire.Hosting.ApplicationModel.ResourceEndpointsAllocatedEvent", "kind": "handle", "exposeProperties": true, + "description": "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 `ResourceUrlsCallbackAnnotation` will have their callbacks invoked during this event.", "implementedInterfaces": [ "Aspire.Hosting.Eventing.IDistributedApplicationEvent", "Aspire.Hosting.Eventing.IDistributedApplicationResourceEvent" @@ -12603,6 +12938,7 @@ "name": "ResourceLoggerService", "fullName": "Aspire.Hosting.ApplicationModel.ResourceLoggerService", "kind": "handle", + "description": "A service that provides loggers for resources to write to.", "implementedInterfaces": [ "System.IDisposable" ], @@ -12611,7 +12947,7 @@ "name": "completeLog", "capabilityId": "Aspire.Hosting/completeLog", "qualifiedName": "completeLog", - "description": "Completes the log stream for a resource", + "description": "Completes the log stream for a resource.", "kind": "Method", "signature": "completeLog(resource: IResource): void", "parameters": [ @@ -12630,7 +12966,7 @@ "name": "completeLogByName", "capabilityId": "Aspire.Hosting/completeLogByName", "qualifiedName": "completeLogByName", - "description": "Completes the log stream by resource name", + "description": "Completes the log stream by resource name.", "kind": "Method", "signature": "completeLogByName(resourceName: string): void", "parameters": [ @@ -12651,6 +12987,7 @@ "name": "ResourceNotificationService", "fullName": "Aspire.Hosting.ApplicationModel.ResourceNotificationService", "kind": "handle", + "description": "A service that allows publishing and subscribing to changes in the state of a resource.", "implementedInterfaces": [ "System.IDisposable" ], @@ -12659,7 +12996,7 @@ "name": "publishResourceUpdate", "capabilityId": "Aspire.Hosting/publishResourceUpdate", "qualifiedName": "publishResourceUpdate", - "description": "Publishes an update for a resource\u0027s state", + "description": "Publishes an update for a resource's state.", "kind": "Method", "signature": "publishResourceUpdate(resource: IResource, state?: string, stateStyle?: string): void", "parameters": [ @@ -12688,7 +13025,7 @@ "name": "tryGetResourceState", "capabilityId": "Aspire.Hosting/tryGetResourceState", "qualifiedName": "tryGetResourceState", - "description": "Tries to get the current state of a resource", + "description": "Tries to get the current state of a resource.", "kind": "Method", "signature": "tryGetResourceState(resourceName: string): ResourceEventDto", "parameters": [ @@ -12707,7 +13044,7 @@ "name": "waitForDependencies", "capabilityId": "Aspire.Hosting/waitForDependencies", "qualifiedName": "waitForDependencies", - "description": "Waits for all dependencies of a resource to be ready", + "description": "Waits for all dependencies of a resource to be ready.", "kind": "Method", "signature": "waitForDependencies(resource: IResource): void", "parameters": [ @@ -12726,7 +13063,7 @@ "name": "waitForResourceHealthy", "capabilityId": "Aspire.Hosting/waitForResourceHealthy", "qualifiedName": "waitForResourceHealthy", - "description": "Waits for a resource to become healthy", + "description": "Waits for a resource to become healthy.", "kind": "Method", "signature": "waitForResourceHealthy(resourceName: string): ResourceEventDto", "parameters": [ @@ -12745,7 +13082,7 @@ "name": "waitForResourceState", "capabilityId": "Aspire.Hosting/waitForResourceState", "qualifiedName": "waitForResourceState", - "description": "Waits for a resource to reach a specified state", + "description": "Waits for a resource to reach a specified state.", "kind": "Method", "signature": "waitForResourceState(resourceName: string, targetState?: string): void", "parameters": [ @@ -12769,7 +13106,7 @@ "name": "waitForResourceStates", "capabilityId": "Aspire.Hosting/waitForResourceStates", "qualifiedName": "waitForResourceStates", - "description": "Waits for a resource to reach one of the specified states", + "description": "Waits for a resource to reach one of the specified states.", "kind": "Method", "signature": "waitForResourceStates(resourceName: string, targetStates: string[]): string", "parameters": [ @@ -12795,6 +13132,8 @@ "fullName": "Aspire.Hosting.ApplicationModel.ResourceReadyEvent", "kind": "handle", "exposeProperties": true, + "description": "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.", "implementedInterfaces": [ "Aspire.Hosting.Eventing.IDistributedApplicationEvent", "Aspire.Hosting.Eventing.IDistributedApplicationResourceEvent" @@ -12804,7 +13143,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceReadyEvent.resource", "qualifiedName": "ResourceReadyEvent.resource", - "description": "Gets the Resource property", + "description": "The resource that is in a healthy state.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -12835,6 +13174,8 @@ "fullName": "Aspire.Hosting.ApplicationModel.ResourceStoppedEvent", "kind": "handle", "exposeProperties": true, + "description": "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.", "implementedInterfaces": [ "Aspire.Hosting.Eventing.IDistributedApplicationEvent", "Aspire.Hosting.Eventing.IDistributedApplicationResourceEvent" @@ -12874,13 +13215,14 @@ "name": "ResourceUrlsCallbackContext", "fullName": "Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext", "kind": "handle", + "description": "Represents a callback context for resource URLs.", "implementedInterfaces": [], "capabilities": [ { "name": "executionContext", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.executionContext", "qualifiedName": "ResourceUrlsCallbackContext.executionContext", - "description": "Gets the execution context for this callback invocation", + "description": "Gets the execution context associated with this invocation of the AppHost.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -12894,13 +13236,14 @@ "name": "getEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/getEndpoint", "qualifiedName": "ResourceUrlsCallbackContext.getEndpoint", - "description": "Gets an endpoint reference from the associated resource", + "description": "Gets an endpoint reference from `Resource` for the specified endpoint name. If `Resource` does not implement `IResourceWithEndpoints` then returns `null`.", "kind": "InstanceMethod", "signature": "getEndpoint(name: string): EndpointReference", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the endpoint." } ], "returnType": "EndpointReference", @@ -12913,7 +13256,7 @@ "name": "log", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.log", "qualifiedName": "ResourceUrlsCallbackContext.log", - "description": "Gets the callback logger facade", + "description": "Gets the logger facade used by polyglot callbacks.", "kind": "PropertyGetter", "signature": "log(): LogFacade", "parameters": [], @@ -12927,7 +13270,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.resource", "qualifiedName": "ResourceUrlsCallbackContext.resource", - "description": "Gets the resource associated with these URLs", + "description": "Gets the resource this the URLs are associated with.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -12941,7 +13284,7 @@ "name": "urls", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.urls", "qualifiedName": "ResourceUrlsCallbackContext.urls", - "description": "Gets the URL editor", + "description": "Gets the editor used to manipulate displayed URLs in polyglot callbacks.", "kind": "PropertyGetter", "signature": "urls(): ResourceUrlsEditor", "parameters": [], @@ -12957,24 +13300,27 @@ "name": "ResourceUrlsEditor", "fullName": "Aspire.Hosting.ApplicationModel.ResourceUrlsEditor", "kind": "handle", + "description": "Provides an ATS-first editor for resource URLs within polyglot callbacks.", "implementedInterfaces": [], "capabilities": [ { "name": "add", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsEditor.add", "qualifiedName": "ResourceUrlsEditor.add", - "description": "Adds a displayed URL", + "description": "Adds a displayed URL.", "kind": "InstanceMethod", "signature": "add(url: ReferenceExpression, displayText?: string): void", "parameters": [ { "name": "url", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The URL to add, specified as a string or reference expression." }, { "name": "displayText", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The optional display text to show for the URL." } ], "returnType": "void", @@ -12987,22 +13333,25 @@ "name": "addForEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsEditor.addForEndpoint", "qualifiedName": "ResourceUrlsEditor.addForEndpoint", - "description": "Adds a displayed URL for a specific endpoint", + "description": "Adds a displayed URL for a specific endpoint.", "kind": "InstanceMethod", "signature": "addForEndpoint(endpoint: EndpointReference, url: ReferenceExpression, displayText?: string): void", "parameters": [ { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint the URL is associated with." }, { "name": "url", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The URL to add, specified as a string or reference expression." }, { "name": "displayText", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The optional display text to show for the URL." } ], "returnType": "void", @@ -13015,7 +13364,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.ApplicationModel/ResourceUrlsEditor.executionContext", "qualifiedName": "ResourceUrlsEditor.executionContext", - "description": "Gets the execution context for this URL editor", + "description": "Gets the execution context associated with this editor.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -13032,13 +13381,14 @@ "fullName": "Aspire.Hosting.ApplicationModel.UpdateCommandStateContext", "kind": "handle", "exposeProperties": true, + "description": "Context for `UpdateState`.", "implementedInterfaces": [], "capabilities": [ { "name": "serviceProvider", "capabilityId": "Aspire.Hosting.ApplicationModel/UpdateCommandStateContext.serviceProvider", "qualifiedName": "UpdateCommandStateContext.serviceProvider", - "description": "Gets the ServiceProvider property", + "description": "The service provider.", "kind": "PropertyGetter", "signature": "serviceProvider(): IServiceProvider", "parameters": [], @@ -13047,25 +13397,6 @@ "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.UpdateCommandStateContext" ] - }, - { - "name": "setServiceProvider", - "capabilityId": "Aspire.Hosting.ApplicationModel/UpdateCommandStateContext.setServiceProvider", - "qualifiedName": "UpdateCommandStateContext.setServiceProvider", - "description": "Sets the ServiceProvider property", - "kind": "PropertySetter", - "signature": "setServiceProvider(value: IServiceProvider): UpdateCommandStateContext", - "parameters": [ - { - "name": "value", - "type": "IServiceProvider" - } - ], - "returnType": "UpdateCommandStateContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext", - "expandedTargetTypes": [ - "Aspire.Hosting.ApplicationModel.UpdateCommandStateContext" - ] } ] }, @@ -13074,13 +13405,14 @@ "fullName": "Aspire.Hosting.Ats.EventingSubscriberRegistrationContext", "kind": "handle", "exposeProperties": true, + "description": "Context passed to ATS-friendly eventing subscriber registrations.", "implementedInterfaces": [], "capabilities": [ { "name": "cancellationToken", "capabilityId": "Aspire.Hosting.Ats/EventingSubscriberRegistrationContext.cancellationToken", "qualifiedName": "EventingSubscriberRegistrationContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "The cancellation token associated with the subscriber registration.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -13094,7 +13426,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.Ats/EventingSubscriberRegistrationContext.executionContext", "qualifiedName": "EventingSubscriberRegistrationContext.executionContext", - "description": "Gets the ExecutionContext property", + "description": "The execution context for the AppHost invocation.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -13108,15 +13440,17 @@ "name": "onAfterResourcesCreated", "capabilityId": "Aspire.Hosting/eventingSubscriberOnAfterResourcesCreated", "qualifiedName": "onAfterResourcesCreated", - "description": "Subscribes an eventing subscriber to the AfterResourcesCreated event", + "description": "Subscribes to the AfterResourcesCreated event from an eventing subscriber registration context.", + "returns": "The event subscription.", "kind": "Method", - "signature": "onAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationEventSubscription", + "signature": "onAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) => Promise): DistributedApplicationEventSubscription", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: AfterResourcesCreatedEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "DistributedApplicationEventSubscription", @@ -13129,15 +13463,17 @@ "name": "onBeforeStart", "capabilityId": "Aspire.Hosting/eventingSubscriberOnBeforeStart", "qualifiedName": "onBeforeStart", - "description": "Subscribes an eventing subscriber to the BeforeStart event", + "description": "Subscribes to the BeforeStart event from an eventing subscriber registration context.", + "returns": "The event subscription.", "kind": "Method", - "signature": "onBeforeStart(callback: (arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationEventSubscription", + "signature": "onBeforeStart(callback: (arg: BeforeStartEvent) => Promise): DistributedApplicationEventSubscription", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: BeforeStartEvent) => Promise", + "description": "The callback to invoke when the event fires." } ], "returnType": "DistributedApplicationEventSubscription", @@ -13152,6 +13488,8 @@ "name": "DistributedApplication", "fullName": "Aspire.Hosting.DistributedApplication", "kind": "handle", + "description": "Represents a distributed application that implements the `IHost` and `IAsyncDisposable` interfaces.", + "remarks": "The `DistributedApplication` is an implementation of the `IHost` interface that orchestrates\nan Aspire application. To build an instance of the `DistributedApplication` class, use the\n`CreateBuilder` method to create an instance of the `IDistributedApplicationBuilder`\ninterface. Using the `IDistributedApplicationBuilder` interface you can configure the resources\nthat comprise the distributed application and describe the dependencies between them.\nOnce the distributed application has been defined use the `Build` method\nto create an instance of the `DistributedApplication` class. The `DistributedApplication` class\nexposes a `Run` method which then starts the distributed application and its\nresources.\nThe `CreateBuilder` method provides additional options for\nconstructing the `IDistributedApplicationBuilder` including disabling the Aspire dashboard (see `DisableDashboard`) or\nallowing unsecured communication between the browser and dashboard, and dashboard and app host (see `AllowUnsecuredTransport`.\nThe following example shows creating a PostgreSQL server resource with a database and referencing that\ndatabase in a .NET project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar inventoryDatabase = builder.AddPostgres(\"mypostgres\").AddDatabase(\"inventory\");\nbuilder.AddProject()\n.WithReference(inventoryDatabase);\nbuilder.Build().Run();\n```", "implementedInterfaces": [ "Microsoft.Extensions.Hosting.IHost", "System.IAsyncDisposable", @@ -13162,14 +13500,17 @@ "name": "run", "capabilityId": "Aspire.Hosting/run", "qualifiedName": "DistributedApplication.run", - "description": "Runs the distributed application", + "description": "Runs an application and returns a Task that only completes when the token is triggered or shutdown is triggered and all `IHostedService` instances are stopped.", + "remarks": "When the Aspire app host is launched via `RunAsync` there are\ntwo possible modes that it is running in:\n-\n-\nDevelopers extending the Aspire application model should consider the lifetime\nof `IHostedService` 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 `DistributedApplicationExecutionContext`.", + "returns": "The `Task` that represents the asynchronous operation.", "kind": "InstanceMethod", "signature": "run(cancellationToken?: cancellationToken): void", "parameters": [ { "name": "cancellationToken", "type": "cancellationToken", - "isOptional": true + "isOptional": true, + "description": "The token to trigger shutdown." } ], "returnType": "void", @@ -13185,13 +13526,14 @@ "fullName": "Aspire.Hosting.DistributedApplicationExecutionContext", "kind": "handle", "exposeProperties": true, + "description": "Exposes the global contextual information for this invocation of the AppHost.", "implementedInterfaces": [], "capabilities": [ { "name": "isPublishMode", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.isPublishMode", "qualifiedName": "DistributedApplicationExecutionContext.isPublishMode", - "description": "Gets the IsPublishMode property", + "description": "Returns true if the current operation is publishing.", "kind": "PropertyGetter", "signature": "isPublishMode(): boolean", "parameters": [], @@ -13205,7 +13547,7 @@ "name": "isRunMode", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.isRunMode", "qualifiedName": "DistributedApplicationExecutionContext.isRunMode", - "description": "Gets the IsRunMode property", + "description": "Returns true if the current operation is running.", "kind": "PropertyGetter", "signature": "isRunMode(): boolean", "parameters": [], @@ -13219,7 +13561,7 @@ "name": "operation", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.operation", "qualifiedName": "DistributedApplicationExecutionContext.operation", - "description": "Gets the Operation property", + "description": "The operation currently being performed by the AppHost.", "kind": "PropertyGetter", "signature": "operation(): DistributedApplicationOperation", "parameters": [], @@ -13233,7 +13575,7 @@ "name": "publisherName", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.publisherName", "qualifiedName": "DistributedApplicationExecutionContext.publisherName", - "description": "Gets the PublisherName property", + "description": "The name of the publisher that is being used if `Operation` is set to `Publish`.", "kind": "PropertyGetter", "signature": "publisherName(): string", "parameters": [], @@ -13247,7 +13589,7 @@ "name": "serviceProvider", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.serviceProvider", "qualifiedName": "DistributedApplicationExecutionContext.serviceProvider", - "description": "Gets the ServiceProvider property", + "description": "The `IServiceProvider` for the AppHost.", "kind": "PropertyGetter", "signature": "serviceProvider(): IServiceProvider", "parameters": [], @@ -13261,7 +13603,7 @@ "name": "setPublisherName", "capabilityId": "Aspire.Hosting/DistributedApplicationExecutionContext.setPublisherName", "qualifiedName": "DistributedApplicationExecutionContext.setPublisherName", - "description": "Sets the PublisherName property", + "description": "The name of the publisher that is being used if `Operation` is set to `Publish`.", "kind": "PropertySetter", "signature": "setPublisherName(value: string): DistributedApplicationExecutionContext", "parameters": [ @@ -13282,6 +13624,7 @@ "name": "DistributedApplicationExecutionContextOptions", "fullName": "Aspire.Hosting.DistributedApplicationExecutionContextOptions", "kind": "handle", + "description": "Configuration options and references that need to be exposed to the `DistributedApplicationExecutionContext`.", "implementedInterfaces": [], "capabilities": [] }, @@ -13289,6 +13632,7 @@ "name": "DistributedApplicationEventSubscription", "fullName": "Aspire.Hosting.Eventing.DistributedApplicationEventSubscription", "kind": "handle", + "description": "Represents a subscription to an event that is published during the lifecycle of the AppHost.", "implementedInterfaces": [], "capabilities": [] }, @@ -13296,6 +13640,7 @@ "name": "DistributedApplicationResourceEventSubscription", "fullName": "Aspire.Hosting.Eventing.DistributedApplicationResourceEventSubscription", "kind": "handle", + "description": "Represents a subscription to an event that is published during the lifecycle of the AppHost for a specific resource.", "implementedInterfaces": [], "capabilities": [] }, @@ -13304,6 +13649,7 @@ "fullName": "Aspire.Hosting.Eventing.IDistributedApplicationEvent", "kind": "handle", "isInterface": true, + "description": "Represents an event that is published during the lifecycle of the AppHost.", "implementedInterfaces": [], "capabilities": [] }, @@ -13313,19 +13659,21 @@ "kind": "handle", "isInterface": true, "exposeMethods": true, + "description": "Supports publishing and subscribing to events which are executed during the AppHost lifecycle.", "implementedInterfaces": [], "capabilities": [ { "name": "unsubscribe", "capabilityId": "Aspire.Hosting.Eventing/IDistributedApplicationEventing.unsubscribe", "qualifiedName": "IDistributedApplicationEventing.unsubscribe", - "description": "Invokes the Unsubscribe method", + "description": "Unsubscribe from an event.", "kind": "InstanceMethod", "signature": "unsubscribe(subscription: DistributedApplicationEventSubscription): void", "parameters": [ { "name": "subscription", - "type": "DistributedApplicationEventSubscription" + "type": "DistributedApplicationEventSubscription", + "description": "The specific subscription to unsubscribe." } ], "returnType": "void", @@ -13341,6 +13689,7 @@ "fullName": "Aspire.Hosting.Eventing.IDistributedApplicationResourceEvent", "kind": "handle", "isInterface": true, + "description": "Represents an event that is published during the lifecycle of the AppHost for a specific resource.", "implementedInterfaces": [], "capabilities": [] }, @@ -13356,7 +13705,7 @@ "name": "withHttpHealthCheck", "capabilityId": "Aspire.Hosting/withExternalServiceHttpHealthCheck", "qualifiedName": "withHttpHealthCheck", - "description": "Adds an HTTP health check to the external service", + "description": "Adds an HTTP health check to the external service for polyglot app hosts.", "kind": "Method", "signature": "withHttpHealthCheck(path?: string, statusCode?: number, endpointName?: string): ExternalServiceResource", "parameters": [ @@ -13391,6 +13740,8 @@ "fullName": "Aspire.Hosting.IDistributedApplicationBuilder", "kind": "handle", "isInterface": true, + "description": "A builder for creating instances of `DistributedApplication`.", + "remarks": "The `IDistributedApplicationBuilder` is the central interface for defining\nthe resources which are orchestrated by the `DistributedApplication` when\nthe app host is launched.\nTo create an instance of the `IDistributedApplicationBuilder` interface\ndevelopers should use the `CreateBuilder`\nmethod. Once the builder is created extension methods which target the `IDistributedApplicationBuilder`\ninterface can be used to add resources to the distributed application.\nThis example shows a distributed application that contains a .NET project (InventoryService) that uses\na Redis cache and a PostgreSQL database. The builder is created using the `CreateBuilder`\nmethod.\nThe AddRedis\nand AddPostgres\nmethods are used to add Redis and PostgreSQL container resources. The results of the methods are stored in variables for\nlater use.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar cache = builder.AddRedis(\"cache\");\nvar inventoryDatabase = builder.AddPostgres(\"postgres\").AddDatabase(\"inventory\");\nbuilder.AddProject(\"inventoryservice\")\n.WithReference(cache)\n.WithReference(inventory);\nbuilder.Build().Run();\n```", "implementedInterfaces": [], "capabilities": [ { @@ -13422,17 +13773,20 @@ "name": "addContainer", "capabilityId": "Aspire.Hosting/addContainer", "qualifiedName": "addContainer", - "description": "Adds a container resource", + "description": "Adds a container resource to the application.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "addContainer(name: string, image: AddContainerOptions): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "image", - "type": "AddContainerOptions" + "type": "AddContainerOptions", + "description": "The image name or image options for the container." } ], "returnType": "ContainerResource", @@ -13504,27 +13858,33 @@ "name": "addDockerfile", "capabilityId": "Aspire.Hosting/addDockerfile", "qualifiedName": "addDockerfile", - "description": "Adds a container resource built from a Dockerfile", + "description": "Adds a Dockerfile to the application model that can be treated like a container resource.", + "remarks": "The `contextPath` is relative to the AppHost directory unless it is a fully qualified path.\nThe `dockerfilePath` is relative to the `contextPath` unless it is a fully qualified path.\nIf the `dockerfilePath` is not provided, it defaults to \"Dockerfile\" in the `contextPath`.\nWhen generating the manifest for deployment tools, the `AddDockerfile`\nmethod results in an additional attribute being added to the `container.v1` resource type which contains the configuration\nnecessary to allow the deployment tool to build the container image prior to deployment.\nCreates a container called `mycontainer` based on a Dockerfile in the context path `path/to/context`.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddDockerfile(\"mycontainer\", \"path/to/context\");\nbuilder.Build().Run();\n```", + "returns": "A `IResourceBuilder`1`.", "kind": "Method", "signature": "addDockerfile(name: string, contextPath: string, dockerfilePath?: string, stage?: string): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "contextPath", - "type": "string" + "type": "string", + "description": "Path to be used as the context for the container image build." }, { "name": "dockerfilePath", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Path to the Dockerfile relative to the `contextPath`. Defaults to \"Dockerfile\" if not specified." }, { "name": "stage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The stage representing the image to be published in a multi-stage Dockerfile." } ], "returnType": "ContainerResource", @@ -13538,28 +13898,34 @@ "name": "addDockerfileBuilder", "capabilityId": "Aspire.Hosting/addDockerfileBuilder", "qualifiedName": "addDockerfileBuilder", - "description": "Adds a container resource built from a programmatically generated Dockerfile", + "description": "Adds a Dockerfile to the application model that can be treated like a container resource, with the Dockerfile generated programmatically using the `DockerfileBuilder` API.", + "remarks": "This method provides a programmatic way to build Dockerfiles using the `DockerfileBuilder` API\ninstead of string manipulation.\nThe `contextPath` is relative to the AppHost directory unless it is fully qualified.\nCreates a container with a programmatically built Dockerfile:\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddDockerfileBuilder(\"mycontainer\", \"path/to/context\", context =>\n{\ncontext.Builder.From(\"alpine:latest\")\n.WorkDir(\"/app\")\n.Copy(\".\", \".\")\n.Cmd([\"./myapp\"]);\nreturn Task.CompletedTask;\n});\nbuilder.Build().Run();\n```", + "returns": "A `IResourceBuilder`1`.", "kind": "Method", - "signature": "addDockerfileBuilder(name: string, contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E, stage?: string): ContainerResource", + "signature": "addDockerfileBuilder(name: string, contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) => Promise, stage?: string): ContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "contextPath", - "type": "string" + "type": "string", + "description": "Path to be used as the context for the container image build." }, { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: DockerfileBuilderCallbackContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: DockerfileBuilderCallbackContext) => Promise", + "description": "A callback that uses the `DockerfileBuilder` API to construct the Dockerfile." }, { "name": "stage", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The stage representing the image to be published in a multi-stage Dockerfile." } ], "returnType": "ContainerResource", @@ -13573,17 +13939,20 @@ "name": "addDotnetTool", "capabilityId": "Aspire.Hosting/addDotnetTool", "qualifiedName": "addDotnetTool", - "description": "Adds a .NET tool resource", + "description": "Adds a .NET tool resource to the application model.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "addDotnetTool(name: string, packageId: string): DotnetToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "packageId", - "type": "string" + "type": "string", + "description": "The package id of the tool." } ], "returnType": "DotnetToolResource", @@ -13597,15 +13966,16 @@ "name": "addEventingSubscriber", "capabilityId": "Aspire.Hosting/addEventingSubscriber", "qualifiedName": "addEventingSubscriber", - "description": "Adds an eventing subscriber", + "description": "Adds an ATS-friendly eventing subscriber callback to the distributed-application builder.", "kind": "Method", - "signature": "addEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E): void", + "signature": "addEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) => Promise): void", "parameters": [ { "name": "subscribe", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: EventingSubscriberRegistrationContext) => Promise", + "description": "The callback that registers the event subscriptions." } ], "returnType": "void", @@ -13618,25 +13988,31 @@ "name": "addExecutable", "capabilityId": "Aspire.Hosting/addExecutable", "qualifiedName": "addExecutable", - "description": "Adds an executable resource", + "description": "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't run executable unless the command is located in a path listed in the PATH environment variable.\nTo run an executable file that's in the current directory, specify the full path or use the relative path `./` to represent the current directory.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "addExecutable(name: string, command: string, workingDirectory: string, args: string[]): ExecutableResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "command", - "type": "string" + "type": "string", + "description": "The executable path. This can be a fully qualified path or a executable to run from the shell/command line." }, { "name": "workingDirectory", - "type": "string" + "type": "string", + "description": "The working directory of the executable." }, { "name": "args", - "type": "string[]" + "type": "string[]", + "description": "The arguments to the executable." } ], "returnType": "ExecutableResource", @@ -13711,23 +14087,27 @@ "name": "addParameterFromConfiguration", "capabilityId": "Aspire.Hosting/addParameterFromConfiguration", "qualifiedName": "addParameterFromConfiguration", - "description": "Adds a parameter sourced from configuration", + "description": "Adds a parameter resource to the application, with a value coming from configuration.", + "returns": "Resource builder for the parameter.", "kind": "Method", "signature": "addParameterFromConfiguration(name: string, configurationKey: string, secret?: boolean): ParameterResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "Name of parameter resource" }, { "name": "configurationKey", - "type": "string" + "type": "string", + "description": "Configuration key used to get the value of the parameter" }, { "name": "secret", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "Optional flag indicating whether the parameter should be regarded as secret." } ], "returnType": "ParameterResource", @@ -13806,7 +14186,8 @@ "name": "getConfiguration", "capabilityId": "Aspire.Hosting/getConfiguration", "qualifiedName": "getConfiguration", - "description": "Gets the application configuration", + "description": "Gets the application configuration.", + "returns": "The configuration handle.", "kind": "Method", "signature": "getConfiguration(): IConfiguration", "parameters": [], @@ -13820,7 +14201,7 @@ "name": "appHostDirectory", "capabilityId": "Aspire.Hosting/IDistributedApplicationBuilder.appHostDirectory", "qualifiedName": "IDistributedApplicationBuilder.appHostDirectory", - "description": "Gets the AppHostDirectory property", + "description": "Directory of the project where the app host is located. Defaults to the content root if there's no project.", "kind": "PropertyGetter", "signature": "appHostDirectory(): string", "parameters": [], @@ -13834,7 +14215,9 @@ "name": "build", "capabilityId": "Aspire.Hosting/build", "qualifiedName": "IDistributedApplicationBuilder.build", - "description": "Builds the distributed application", + "description": "Builds and returns a new `DistributedApplication` instance. This can only be called once.", + "remarks": "Callers of the `Build` method should only call it once. are responsible for the lifecycle of the\n`DistributedApplication` instance that is returned. Note that the `DistributedApplication`\ntype implements `IDisposable` 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.", + "returns": "A new `DistributedApplication` instance.", "kind": "InstanceMethod", "signature": "build(): DistributedApplication", "parameters": [], @@ -13862,7 +14245,7 @@ "name": "eventing", "capabilityId": "Aspire.Hosting/IDistributedApplicationBuilder.eventing", "qualifiedName": "IDistributedApplicationBuilder.eventing", - "description": "Gets the Eventing property", + "description": "Eventing infrastructure for AppHost lifecycle.", "kind": "PropertyGetter", "signature": "eventing(): IDistributedApplicationEventing", "parameters": [], @@ -13876,7 +14259,8 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting/IDistributedApplicationBuilder.executionContext", "qualifiedName": "IDistributedApplicationBuilder.executionContext", - "description": "Gets the ExecutionContext property", + "description": "Execution context for this invocation of the AppHost.", + "remarks": "The `ExecutionContext` property provides access key information about the context\nin which the distributed application is running. The most important properties that\nthe `DistributedApplicationExecutionContext` provides is the\n`IsPublishMode` and `IsRunMode`\nproperties. Developers building Aspire based applications may whish to change the application\nmodel depending on whether they are running locally, or whether they are publishing to the cloud.\nAn example of using the `IsRunMode` property on the `IDistributedApplicationBuilder` via\nthe `ApplicationBuilder`. In this case an extension method is used to generate a stable node name for RabbitMQ for local\ndevelopment runs.\n```\nprivate static IResourceBuilder RunWithStableNodeName(this IResourceBuilder builder)\n{\nif (builder.ApplicationBuilder.ExecutionContext.IsRunMode)\n{\nbuilder.WithEnvironment(context =>\n{\n// Set a stable node name so queue storage is consistent between sessions\nvar nodeName = $\"{builder.Resource.Name}@localhost\";\ncontext.EnvironmentVariables[\"RABBITMQ_NODENAME\"] = nodeName;\n});\n}\nreturn builder;\n}\n```", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -13890,7 +14274,8 @@ "name": "pipeline", "capabilityId": "Aspire.Hosting/IDistributedApplicationBuilder.pipeline", "qualifiedName": "IDistributedApplicationBuilder.pipeline", - "description": "Gets the Pipeline property", + "description": "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.", "kind": "PropertyGetter", "signature": "pipeline(): IDistributedApplicationPipeline", "parameters": [], @@ -13904,7 +14289,8 @@ "name": "userSecretsManager", "capabilityId": "Aspire.Hosting/IDistributedApplicationBuilder.userSecretsManager", "qualifiedName": "IDistributedApplicationBuilder.userSecretsManager", - "description": "Gets the UserSecretsManager property", + "description": "Gets the service for managing user secrets.", + "remarks": "The `UserSecretsManager` provides a centralized way to manage user secrets\nused by Aspire, enabling testability and consistent secret management.", "kind": "PropertyGetter", "signature": "userSecretsManager(): IUserSecretsManager", "parameters": [], @@ -13918,15 +14304,18 @@ "name": "subscribeAfterResourcesCreated", "capabilityId": "Aspire.Hosting/subscribeAfterResourcesCreated", "qualifiedName": "subscribeAfterResourcesCreated", - "description": "Subscribes to the AfterResourcesCreated event", + "description": "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.", + "returns": "A subscription handle that can be used to unsubscribe.", "kind": "Method", - "signature": "subscribeAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationEventSubscription", + "signature": "subscribeAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) => Promise): DistributedApplicationEventSubscription", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: AfterResourcesCreatedEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: AfterResourcesCreatedEvent) => Promise", + "description": "A callback that receives the exported event when the event fires." } ], "returnType": "DistributedApplicationEventSubscription", @@ -13939,15 +14328,18 @@ "name": "subscribeBeforeStart", "capabilityId": "Aspire.Hosting/subscribeBeforeStart", "qualifiedName": "subscribeBeforeStart", - "description": "Subscribes to the BeforeStart event", + "description": "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.", + "returns": "A subscription handle that can be used to unsubscribe.", "kind": "Method", - "signature": "subscribeBeforeStart(callback: (arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E): DistributedApplicationEventSubscription", + "signature": "subscribeBeforeStart(callback: (arg: BeforeStartEvent) => Promise): DistributedApplicationEventSubscription", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: BeforeStartEvent) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: BeforeStartEvent) => Promise", + "description": "A callback that receives the exported event when the event fires." } ], "returnType": "DistributedApplicationEventSubscription", @@ -13960,15 +14352,16 @@ "name": "tryAddEventingSubscriber", "capabilityId": "Aspire.Hosting/tryAddEventingSubscriber", "qualifiedName": "tryAddEventingSubscriber", - "description": "Attempts to add an eventing subscriber", + "description": "Attempts to add an ATS-friendly eventing subscriber callback to the distributed-application builder.", "kind": "Method", - "signature": "tryAddEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E): void", + "signature": "tryAddEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) => Promise): void", "parameters": [ { "name": "subscribe", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: EventingSubscriberRegistrationContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: EventingSubscriberRegistrationContext) => Promise", + "description": "The callback that registers the event subscriptions." } ], "returnType": "void", @@ -13990,7 +14383,8 @@ "name": "clearContainerFilesSources", "capabilityId": "Aspire.Hosting/clearContainerFilesSources", "qualifiedName": "clearContainerFilesSources", - "description": "Clears all container file sources", + "description": "Removes any container files source annotation from the resource being built.", + "returns": "The resource builder instance with the container files source annotation applied.", "kind": "Method", "signature": "clearContainerFilesSources(): IResourceWithContainerFiles", "parameters": [], @@ -14005,13 +14399,15 @@ "name": "withContainerFilesSource", "capabilityId": "Aspire.Hosting/withContainerFilesSource", "qualifiedName": "withContainerFilesSource", - "description": "Sets the source directory for container files", + "description": "Adds a container files source annotation to the resource being built, specifying the path to the container files source.", + "returns": "The resource builder instance with the container files source annotation applied.", "kind": "Method", "signature": "withContainerFilesSource(sourcePath: string): IResourceWithContainerFiles", "parameters": [ { "name": "sourcePath", - "type": "string" + "type": "string", + "description": "The path to the container files source to associate with the resource. Cannot be null." } ], "returnType": "IResourceWithContainerFiles", @@ -14030,27 +14426,31 @@ "isInterface": true, "exposeProperties": true, "exposeMethods": true, + "description": "Defines an interface for managing user secrets with support for read and write operations.", "implementedInterfaces": [], "capabilities": [ { "name": "getOrSetSecret", "capabilityId": "Aspire.Hosting/getOrSetSecret", "qualifiedName": "getOrSetSecret", - "description": "Gets a secret value if it exists, or sets it to the provided value if it does not", + "description": "Gets a secret value if it exists in configuration, or sets it to the provided value if it does not.", "kind": "Method", "signature": "getOrSetSecret(resourceBuilder: IResource, name: string, value: string): void", "parameters": [ { "name": "resourceBuilder", - "type": "IResource" + "type": "IResource", + "description": "A resource builder from the target application." }, { "name": "name", - "type": "string" + "type": "string", + "description": "The secret name." }, { "name": "value", - "type": "string" + "type": "string", + "description": "The value to persist when the secret is missing." } ], "returnType": "void", @@ -14063,7 +14463,7 @@ "name": "filePath", "capabilityId": "Aspire.Hosting/IUserSecretsManager.filePath", "qualifiedName": "IUserSecretsManager.filePath", - "description": "Gets the FilePath property", + "description": "Gets the path to the user secrets file.", "kind": "PropertyGetter", "signature": "filePath(): string", "parameters": [], @@ -14077,7 +14477,8 @@ "name": "isAvailable", "capabilityId": "Aspire.Hosting/IUserSecretsManager.isAvailable", "qualifiedName": "IUserSecretsManager.isAvailable", - "description": "Gets the IsAvailable property", + "description": "Gets a value indicating whether user secrets are available.", + "remarks": "Returns `true` if the project has a user secrets ID configured; otherwise, `false`.", "kind": "PropertyGetter", "signature": "isAvailable(): boolean", "parameters": [], @@ -14091,13 +14492,16 @@ "name": "tryDeleteSecret", "capabilityId": "Aspire.Hosting/IUserSecretsManager.tryDeleteSecret", "qualifiedName": "IUserSecretsManager.tryDeleteSecret", - "description": "Attempts to delete a user secret value", + "description": "Attempts to delete a user secret value synchronously.", + "remarks": "The default implementation returns `false` so existing implementations remain compatible.", + "returns": "True if the secret was deleted successfully; otherwise, false.", "kind": "InstanceMethod", "signature": "tryDeleteSecret(name: string): boolean", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the secret." } ], "returnType": "boolean", @@ -14110,17 +14514,20 @@ "name": "trySetSecret", "capabilityId": "Aspire.Hosting/IUserSecretsManager.trySetSecret", "qualifiedName": "IUserSecretsManager.trySetSecret", - "description": "Attempts to set a user secret value", + "description": "Attempts to set a user secret value synchronously.", + "returns": "True if the secret was set successfully; otherwise, false.", "kind": "InstanceMethod", "signature": "trySetSecret(name: string, value: string): boolean", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the secret." }, { "name": "value", - "type": "string" + "type": "string", + "description": "The value of the secret." } ], "returnType": "boolean", @@ -14133,18 +14540,21 @@ "name": "saveStateJson", "capabilityId": "Aspire.Hosting/saveStateJson", "qualifiedName": "saveStateJson", - "description": "Saves state to user secrets from a JSON string", + "description": "Saves state to user secrets from a JSON string.", + "returns": "A task that completes when the state is saved.", "kind": "Method", "signature": "saveStateJson(json: string, cancellationToken?: cancellationToken): void", "parameters": [ { "name": "json", - "type": "string" + "type": "string", + "description": "The JSON object payload to persist." }, { "name": "cancellationToken", "type": "cancellationToken", - "isOptional": true + "isOptional": true, + "description": "The cancellation token." } ], "returnType": "void", @@ -14160,35 +14570,40 @@ "fullName": "Aspire.Hosting.Pipelines.IDistributedApplicationPipeline", "kind": "handle", "isInterface": true, + "description": "Represents a pipeline for executing deployment steps in a distributed application.", "implementedInterfaces": [], "capabilities": [ { "name": "addStep", "capabilityId": "Aspire.Hosting/addStep", "qualifiedName": "addStep", - "description": "Adds a pipeline step to the application", + "description": "Adds an application-level pipeline step in a TypeScript-friendly shape.", "kind": "Method", - "signature": "addStep(stepName: string, callback: (arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E, dependsOn?: string[], requiredBy?: string[]): void", + "signature": "addStep(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[]): void", "parameters": [ { "name": "stepName", - "type": "string" + "type": "string", + "description": "The unique name of the pipeline step." }, { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: PipelineStepContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: PipelineStepContext) => Promise", + "description": "The callback to execute when the step runs." }, { "name": "dependsOn", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional step names that this step depends on." }, { "name": "requiredBy", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional step names that require this step." } ], "returnType": "void", @@ -14201,15 +14616,16 @@ "name": "configure", "capabilityId": "Aspire.Hosting/configure", "qualifiedName": "configure", - "description": "Configures the application pipeline via a callback", + "description": "Registers a pipeline configuration callback in a TypeScript-friendly shape.", "kind": "Method", - "signature": "configure(callback: (arg: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E): void", + "signature": "configure(callback: (arg: PipelineConfigurationContext) => Promise): void", "parameters": [ { "name": "callback", "type": "callback", "isCallback": true, - "callbackSignature": "(arg: PipelineConfigurationContext) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg: PipelineConfigurationContext) => Promise", + "description": "The callback to execute during pipeline configuration." } ], "returnType": "void", @@ -14222,7 +14638,9 @@ "name": "disableBuildOnlyContainerValidation", "capabilityId": "Aspire.Hosting/disableBuildOnlyContainerValidation", "qualifiedName": "disableBuildOnlyContainerValidation", - "description": "Disables publish and deploy validation for unconsumed build-only containers.", + "description": "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 `PublishWithContainerFiles` or\n`PublishWithStaticFiles` when possible.", + "returns": "The distributed application pipeline for chaining.", "kind": "Method", "signature": "disableBuildOnlyContainerValidation(): IDistributedApplicationPipeline", "parameters": [], @@ -14239,13 +14657,14 @@ "fullName": "Aspire.Hosting.Pipelines.IReportingStep", "kind": "handle", "isInterface": true, + "description": "Represents a publishing step, which can contain multiple tasks.", "implementedInterfaces": [], "capabilities": [ { "name": "completeStep", "capabilityId": "Aspire.Hosting/completeStep", "qualifiedName": "completeStep", - "description": "Completes the reporting step with plain-text completion text", + "description": "Completes the reporting step with plain-text completion text.", "kind": "Method", "signature": "completeStep(completionText: string, completionState?: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -14275,7 +14694,7 @@ "name": "completeStepMarkdown", "capabilityId": "Aspire.Hosting/completeStepMarkdown", "qualifiedName": "completeStepMarkdown", - "description": "Completes the reporting step with Markdown-formatted completion text", + "description": "Completes the reporting step with Markdown-formatted completion text.", "kind": "Method", "signature": "completeStepMarkdown(markdownString: string, completionState?: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -14305,7 +14724,7 @@ "name": "createMarkdownTask", "capabilityId": "Aspire.Hosting/createMarkdownTask", "qualifiedName": "createMarkdownTask", - "description": "Creates a reporting task with Markdown-formatted status text", + "description": "Creates a reporting task with Markdown-formatted status text.", "kind": "Method", "signature": "createMarkdownTask(markdownString: string, cancellationToken?: cancellationToken): IReportingTask", "parameters": [ @@ -14329,7 +14748,7 @@ "name": "createTask", "capabilityId": "Aspire.Hosting/createTask", "qualifiedName": "createTask", - "description": "Creates a reporting task with plain-text status text", + "description": "Creates a reporting task with plain-text status text.", "kind": "Method", "signature": "createTask(statusText: string, cancellationToken?: cancellationToken): IReportingTask", "parameters": [ @@ -14353,7 +14772,7 @@ "name": "logStep", "capabilityId": "Aspire.Hosting/logStep", "qualifiedName": "logStep", - "description": "Logs a plain-text message for the reporting step", + "description": "Logs a plain-text message for the reporting step.", "kind": "Method", "signature": "logStep(level: string, message: string): void", "parameters": [ @@ -14376,7 +14795,7 @@ "name": "logStepMarkdown", "capabilityId": "Aspire.Hosting/logStepMarkdown", "qualifiedName": "logStepMarkdown", - "description": "Logs a Markdown-formatted message for the reporting step", + "description": "Logs a Markdown-formatted message for the reporting step.", "kind": "Method", "signature": "logStepMarkdown(level: string, markdownString: string): void", "parameters": [ @@ -14402,13 +14821,14 @@ "fullName": "Aspire.Hosting.Pipelines.IReportingTask", "kind": "handle", "isInterface": true, + "description": "Represents a publishing task, which belongs to a step.", "implementedInterfaces": [], "capabilities": [ { "name": "completeTask", "capabilityId": "Aspire.Hosting/completeTask", "qualifiedName": "completeTask", - "description": "Completes the reporting task with plain-text completion text", + "description": "Completes the reporting task with plain-text completion text.", "kind": "Method", "signature": "completeTask(completionMessage?: string, completionState?: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -14439,7 +14859,7 @@ "name": "completeTaskMarkdown", "capabilityId": "Aspire.Hosting/completeTaskMarkdown", "qualifiedName": "completeTaskMarkdown", - "description": "Completes the reporting task with Markdown-formatted completion text", + "description": "Completes the reporting task with Markdown-formatted completion text.", "kind": "Method", "signature": "completeTaskMarkdown(markdownString: string, completionState?: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -14469,7 +14889,7 @@ "name": "updateTask", "capabilityId": "Aspire.Hosting/updateTask", "qualifiedName": "updateTask", - "description": "Updates the reporting task with plain-text status text", + "description": "Updates the reporting task with plain-text status text.", "kind": "Method", "signature": "updateTask(statusText: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -14493,7 +14913,7 @@ "name": "updateTaskMarkdown", "capabilityId": "Aspire.Hosting/updateTaskMarkdown", "qualifiedName": "updateTaskMarkdown", - "description": "Updates the reporting task with Markdown-formatted status text", + "description": "Updates the reporting task with Markdown-formatted status text.", "kind": "Method", "signature": "updateTaskMarkdown(markdownString: string, cancellationToken?: cancellationToken): void", "parameters": [ @@ -14519,19 +14939,22 @@ "name": "PipelineConfigurationContext", "fullName": "Aspire.Hosting.Pipelines.PipelineConfigurationContext", "kind": "handle", + "description": "Provides contextual information for pipeline configuration callbacks.", "implementedInterfaces": [], "capabilities": [ { "name": "getSteps", "capabilityId": "Aspire.Hosting.Pipelines/getSteps", "qualifiedName": "PipelineConfigurationContext.getSteps", - "description": "Gets pipeline steps with the specified tag", + "description": "Gets all pipeline steps with the specified tag.", + "returns": "A collection of steps that have the specified tag.", "kind": "InstanceMethod", "signature": "getSteps(tag: string): PipelineStep[]", "parameters": [ { "name": "tag", - "type": "string" + "type": "string", + "description": "The tag to search for." } ], "returnType": "PipelineStep[]", @@ -14544,7 +14967,7 @@ "name": "log", "capabilityId": "Aspire.Hosting.Pipelines/PipelineConfigurationContext.log", "qualifiedName": "PipelineConfigurationContext.log", - "description": "Gets the callback logger facade", + "description": "Gets the logger facade used by polyglot callbacks.", "kind": "PropertyGetter", "signature": "log(): LogFacade", "parameters": [], @@ -14558,7 +14981,7 @@ "name": "pipeline", "capabilityId": "Aspire.Hosting.Pipelines/PipelineConfigurationContext.pipeline", "qualifiedName": "PipelineConfigurationContext.pipeline", - "description": "Gets the pipeline editor", + "description": "Gets the pipeline editor used by polyglot callbacks.", "kind": "PropertyGetter", "signature": "pipeline(): PipelineEditor", "parameters": [], @@ -14575,13 +14998,14 @@ "fullName": "Aspire.Hosting.Pipelines.PipelineContext", "kind": "handle", "exposeProperties": true, + "description": "Provides contextual information and services for the pipeline execution process of a distributed application.", "implementedInterfaces": [], "capabilities": [ { "name": "cancellationToken", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.cancellationToken", "qualifiedName": "PipelineContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "Gets the cancellation token for the pipeline operation.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -14595,7 +15019,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.executionContext", "qualifiedName": "PipelineContext.executionContext", - "description": "Gets the ExecutionContext property", + "description": "Gets the execution context for the distributed application.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -14609,7 +15033,7 @@ "name": "logger", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.logger", "qualifiedName": "PipelineContext.logger", - "description": "Gets the Logger property", + "description": "Gets the logger for pipeline operations.", "kind": "PropertyGetter", "signature": "logger(): ILogger", "parameters": [], @@ -14623,7 +15047,7 @@ "name": "model", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.model", "qualifiedName": "PipelineContext.model", - "description": "Gets the Model property", + "description": "Gets the distributed application model to be deployed.", "kind": "PropertyGetter", "signature": "model(): DistributedApplicationModel", "parameters": [], @@ -14637,7 +15061,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.services", "qualifiedName": "PipelineContext.services", - "description": "Gets the Services property", + "description": "Gets the service provider for dependency resolution.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -14651,7 +15075,7 @@ "name": "setCancellationToken", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.setCancellationToken", "qualifiedName": "PipelineContext.setCancellationToken", - "description": "Sets the CancellationToken property", + "description": "Gets the cancellation token for the pipeline operation.", "kind": "PropertySetter", "signature": "setCancellationToken(value: cancellationToken): PipelineContext", "parameters": [ @@ -14670,7 +15094,8 @@ "name": "summary", "capabilityId": "Aspire.Hosting.Pipelines/PipelineContext.summary", "qualifiedName": "PipelineContext.summary", - "description": "Gets the Summary property", + "description": "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.", "kind": "PropertyGetter", "signature": "summary(): PipelineSummary", "parameters": [], @@ -14686,13 +15111,15 @@ "name": "PipelineEditor", "fullName": "Aspire.Hosting.Pipelines.PipelineEditor", "kind": "handle", + "description": "Provides an ATS-first editor for pipeline configuration callbacks.", "implementedInterfaces": [], "capabilities": [ { "name": "steps", "capabilityId": "Aspire.Hosting.Pipelines/steps", "qualifiedName": "PipelineEditor.steps", - "description": "Gets all configured pipeline steps", + "description": "Gets all configured pipeline steps.", + "returns": "The configured pipeline steps.", "kind": "InstanceMethod", "signature": "steps(): PipelineStep[]", "parameters": [], @@ -14706,13 +15133,15 @@ "name": "stepsByTag", "capabilityId": "Aspire.Hosting.Pipelines/stepsByTag", "qualifiedName": "PipelineEditor.stepsByTag", - "description": "Gets pipeline steps with the specified tag", + "description": "Gets all pipeline steps that have the specified tag.", + "returns": "The matching pipeline steps.", "kind": "InstanceMethod", "signature": "stepsByTag(tag: string): PipelineStep[]", "parameters": [ { "name": "tag", - "type": "string" + "type": "string", + "description": "The tag to search for." } ], "returnType": "PipelineStep[]", @@ -14727,19 +15156,21 @@ "name": "PipelineStep", "fullName": "Aspire.Hosting.Pipelines.PipelineStep", "kind": "handle", + "description": "Represents a step in the deployment pipeline.", "implementedInterfaces": [], "capabilities": [ { "name": "addTag", "capabilityId": "Aspire.Hosting.Pipelines/addTag", "qualifiedName": "PipelineStep.addTag", - "description": "Adds a tag to the step", + "description": "Adds a tag to the step.", "kind": "InstanceMethod", "signature": "addTag(tag: string): void", "parameters": [ { "name": "tag", - "type": "string" + "type": "string", + "description": "The tag to add." } ], "returnType": "void", @@ -14752,13 +15183,14 @@ "name": "dependsOn", "capabilityId": "Aspire.Hosting.Pipelines/dependsOn", "qualifiedName": "PipelineStep.dependsOn", - "description": "Adds a dependency on another step by name", + "description": "Adds a dependency on another step.", "kind": "InstanceMethod", "signature": "dependsOn(stepName: string): void", "parameters": [ { "name": "stepName", - "type": "string" + "type": "string", + "description": "The name of the step to depend on." } ], "returnType": "void", @@ -14771,7 +15203,8 @@ "name": "description", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStep.description", "qualifiedName": "PipelineStep.description", - "description": "Gets the human-readable description of the step", + "description": "Gets the exported description projection for polyglot SDKs.", + "remarks": "This projection avoids exporting an ATS setter for the public init-only `Description` property.", "kind": "PropertyGetter", "signature": "description(): string", "parameters": [], @@ -14785,7 +15218,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStep.name", "qualifiedName": "PipelineStep.name", - "description": "Gets the unique name of the step", + "description": "Gets the exported name projection for polyglot SDKs.", + "remarks": "This projection avoids exporting an ATS setter for the public init-only `Name` property.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -14799,13 +15233,14 @@ "name": "requiredBy", "capabilityId": "Aspire.Hosting.Pipelines/requiredBy", "qualifiedName": "PipelineStep.requiredBy", - "description": "Specifies that another step requires this step by name", + "description": "Specifies that this step is required by another step. This creates the inverse relationship where the other step will depend on this step.", "kind": "InstanceMethod", "signature": "requiredBy(stepName: string): void", "parameters": [ { "name": "stepName", - "type": "string" + "type": "string", + "description": "The name of the step that requires this step." } ], "returnType": "void", @@ -14821,13 +15256,15 @@ "fullName": "Aspire.Hosting.Pipelines.PipelineStepContext", "kind": "handle", "exposeProperties": true, + "description": "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.", "implementedInterfaces": [], "capabilities": [ { "name": "cancellationToken", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.cancellationToken", "qualifiedName": "PipelineStepContext.cancellationToken", - "description": "Gets the CancellationToken property", + "description": "Gets the cancellation token for the pipeline operation.", "kind": "PropertyGetter", "signature": "cancellationToken(): cancellationToken", "parameters": [], @@ -14841,7 +15278,7 @@ "name": "executionContext", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.executionContext", "qualifiedName": "PipelineStepContext.executionContext", - "description": "Gets the ExecutionContext property", + "description": "Gets the execution context for the distributed application.", "kind": "PropertyGetter", "signature": "executionContext(): DistributedApplicationExecutionContext", "parameters": [], @@ -14855,7 +15292,7 @@ "name": "logger", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.logger", "qualifiedName": "PipelineStepContext.logger", - "description": "Gets the Logger property", + "description": "Gets the logger for pipeline operations that writes to both the pipeline logger and the step logger.", "kind": "PropertyGetter", "signature": "logger(): ILogger", "parameters": [], @@ -14869,7 +15306,7 @@ "name": "model", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.model", "qualifiedName": "PipelineStepContext.model", - "description": "Gets the Model property", + "description": "Gets the distributed application model to be deployed.", "kind": "PropertyGetter", "signature": "model(): DistributedApplicationModel", "parameters": [], @@ -14883,7 +15320,7 @@ "name": "pipelineContext", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.pipelineContext", "qualifiedName": "PipelineStepContext.pipelineContext", - "description": "Gets the PipelineContext property", + "description": "Gets the pipeline context shared across all steps.", "kind": "PropertyGetter", "signature": "pipelineContext(): PipelineContext", "parameters": [], @@ -14897,7 +15334,7 @@ "name": "reportingStep", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.reportingStep", "qualifiedName": "PipelineStepContext.reportingStep", - "description": "Gets the ReportingStep property", + "description": "Gets the publishing step associated with this specific step execution.", "kind": "PropertyGetter", "signature": "reportingStep(): IReportingStep", "parameters": [], @@ -14911,7 +15348,7 @@ "name": "services", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.services", "qualifiedName": "PipelineStepContext.services", - "description": "Gets the Services property", + "description": "Gets the service provider for dependency resolution.", "kind": "PropertyGetter", "signature": "services(): IServiceProvider", "parameters": [], @@ -14921,49 +15358,12 @@ "Aspire.Hosting.Pipelines.PipelineStepContext" ] }, - { - "name": "setPipelineContext", - "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.setPipelineContext", - "qualifiedName": "PipelineStepContext.setPipelineContext", - "description": "Sets the PipelineContext property", - "kind": "PropertySetter", - "signature": "setPipelineContext(value: PipelineContext): PipelineStepContext", - "parameters": [ - { - "name": "value", - "type": "PipelineContext" - } - ], - "returnType": "PipelineStepContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext", - "expandedTargetTypes": [ - "Aspire.Hosting.Pipelines.PipelineStepContext" - ] - }, - { - "name": "setReportingStep", - "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.setReportingStep", - "qualifiedName": "PipelineStepContext.setReportingStep", - "description": "Sets the ReportingStep property", - "kind": "PropertySetter", - "signature": "setReportingStep(value: IReportingStep): PipelineStepContext", - "parameters": [ - { - "name": "value", - "type": "IReportingStep" - } - ], - "returnType": "PipelineStepContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext", - "expandedTargetTypes": [ - "Aspire.Hosting.Pipelines.PipelineStepContext" - ] - }, { "name": "summary", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepContext.summary", "qualifiedName": "PipelineStepContext.summary", - "description": "Gets the Summary property", + "description": "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.", "kind": "PropertyGetter", "signature": "summary(): PipelineSummary", "parameters": [], @@ -14980,13 +15380,14 @@ "fullName": "Aspire.Hosting.Pipelines.PipelineStepFactoryContext", "kind": "handle", "exposeProperties": true, + "description": "Provides contextual information for creating pipeline steps from a `PipelineStepAnnotation`.", "implementedInterfaces": [], "capabilities": [ { "name": "pipelineContext", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepFactoryContext.pipelineContext", "qualifiedName": "PipelineStepFactoryContext.pipelineContext", - "description": "Gets the PipelineContext property", + "description": "Gets the pipeline context that has the model and other properties.", "kind": "PropertyGetter", "signature": "pipelineContext(): PipelineContext", "parameters": [], @@ -15000,7 +15401,7 @@ "name": "resource", "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepFactoryContext.resource", "qualifiedName": "PipelineStepFactoryContext.resource", - "description": "Gets the Resource property", + "description": "Gets the resource that this factory is associated with.", "kind": "PropertyGetter", "signature": "resource(): IResource", "parameters": [], @@ -15009,44 +15410,6 @@ "expandedTargetTypes": [ "Aspire.Hosting.Pipelines.PipelineStepFactoryContext" ] - }, - { - "name": "setPipelineContext", - "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepFactoryContext.setPipelineContext", - "qualifiedName": "PipelineStepFactoryContext.setPipelineContext", - "description": "Sets the PipelineContext property", - "kind": "PropertySetter", - "signature": "setPipelineContext(value: PipelineContext): PipelineStepFactoryContext", - "parameters": [ - { - "name": "value", - "type": "PipelineContext" - } - ], - "returnType": "PipelineStepFactoryContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext", - "expandedTargetTypes": [ - "Aspire.Hosting.Pipelines.PipelineStepFactoryContext" - ] - }, - { - "name": "setResource", - "capabilityId": "Aspire.Hosting.Pipelines/PipelineStepFactoryContext.setResource", - "qualifiedName": "PipelineStepFactoryContext.setResource", - "description": "Sets the Resource property", - "kind": "PropertySetter", - "signature": "setResource(value: IResource): PipelineStepFactoryContext", - "parameters": [ - { - "name": "value", - "type": "IResource" - } - ], - "returnType": "PipelineStepFactoryContext", - "targetTypeId": "Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext", - "expandedTargetTypes": [ - "Aspire.Hosting.Pipelines.PipelineStepFactoryContext" - ] } ] }, @@ -15055,23 +15418,27 @@ "fullName": "Aspire.Hosting.Pipelines.PipelineSummary", "kind": "handle", "exposeMethods": true, + "description": "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 `MarkdownString`.\nThe summary is available via the `Summary`\nproperty and can be accessed from any pipeline step.", "implementedInterfaces": [], "capabilities": [ { "name": "addMarkdown", "capabilityId": "Aspire.Hosting/addMarkdown", "qualifiedName": "addMarkdown", - "description": "Adds a Markdown-formatted value to the pipeline summary", + "description": "Adds a key-value pair to the pipeline summary with a Markdown-formatted value.", "kind": "Method", "signature": "addMarkdown(key: string, markdownString: string): void", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The key or label for the item." }, { "name": "markdownString", - "type": "string" + "type": "string", + "description": "The Markdown-formatted value for the item." } ], "returnType": "void", @@ -15084,17 +15451,19 @@ "name": "add", "capabilityId": "Aspire.Hosting.Pipelines/PipelineSummary.add", "qualifiedName": "PipelineSummary.add", - "description": "Invokes the Add method", + "description": "Adds a key-value pair to the pipeline summary with a plain-text value.", "kind": "InstanceMethod", "signature": "add(key: string, value: string): void", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The key or label for the item (e.g., \"Namespace\", \"URL\")." }, { "name": "value", - "type": "string" + "type": "string", + "description": "The plain-text value for the item." } ], "returnType": "void", @@ -15110,13 +15479,14 @@ "fullName": "Aspire.Hosting.ProjectResourceOptions", "kind": "handle", "exposeProperties": true, + "description": "Various properties to modify the behavior of the project resource.", "implementedInterfaces": [], "capabilities": [ { "name": "excludeKestrelEndpoints", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.excludeKestrelEndpoints", "qualifiedName": "ProjectResourceOptions.excludeKestrelEndpoints", - "description": "Gets the ExcludeKestrelEndpoints property", + "description": "If set, ignore endpoints coming from Kestrel configuration.", "kind": "PropertyGetter", "signature": "excludeKestrelEndpoints(): boolean", "parameters": [], @@ -15130,7 +15500,7 @@ "name": "excludeLaunchProfile", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.excludeLaunchProfile", "qualifiedName": "ProjectResourceOptions.excludeLaunchProfile", - "description": "Gets the ExcludeLaunchProfile property", + "description": "If set, no launch profile will be used, and LaunchProfileName will be ignored.", "kind": "PropertyGetter", "signature": "excludeLaunchProfile(): boolean", "parameters": [], @@ -15144,7 +15514,7 @@ "name": "launchProfileName", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.launchProfileName", "qualifiedName": "ProjectResourceOptions.launchProfileName", - "description": "Gets the LaunchProfileName property", + "description": "The launch profile to use. If `null` then the default launch profile will be used.", "kind": "PropertyGetter", "signature": "launchProfileName(): string", "parameters": [], @@ -15158,7 +15528,7 @@ "name": "setExcludeKestrelEndpoints", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.setExcludeKestrelEndpoints", "qualifiedName": "ProjectResourceOptions.setExcludeKestrelEndpoints", - "description": "Sets the ExcludeKestrelEndpoints property", + "description": "If set, ignore endpoints coming from Kestrel configuration.", "kind": "PropertySetter", "signature": "setExcludeKestrelEndpoints(value: boolean): ProjectResourceOptions", "parameters": [ @@ -15177,7 +15547,7 @@ "name": "setExcludeLaunchProfile", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.setExcludeLaunchProfile", "qualifiedName": "ProjectResourceOptions.setExcludeLaunchProfile", - "description": "Sets the ExcludeLaunchProfile property", + "description": "If set, no launch profile will be used, and LaunchProfileName will be ignored.", "kind": "PropertySetter", "signature": "setExcludeLaunchProfile(value: boolean): ProjectResourceOptions", "parameters": [ @@ -15196,7 +15566,7 @@ "name": "setLaunchProfileName", "capabilityId": "Aspire.Hosting/ProjectResourceOptions.setLaunchProfileName", "qualifiedName": "ProjectResourceOptions.setLaunchProfileName", - "description": "Sets the LaunchProfileName property", + "description": "The launch profile to use. If `null` then the default launch profile will be used.", "kind": "PropertySetter", "signature": "setLaunchProfileName(value: string): ProjectResourceOptions", "parameters": [ @@ -15219,22 +15589,27 @@ "name": "CertificateTrustExecutionConfigurationContext", "fullName": "Aspire.Hosting.ApplicationModel.CertificateTrustExecutionConfigurationContext", "kind": "dto", + "description": "Context for configuring certificate trust configuration properties.", "fields": [ { "name": "CertificateBundlePath", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The path to the PEM certificate bundle file in the resource context (e.g., container filesystem)." }, { "name": "CertificateDirectoriesPath", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The path(s) to the certificate directories in the resource context (e.g., container filesystem)." }, { "name": "RootCertificatesPath", - "type": "string" + "type": "string", + "description": "The root path certificates will be written to in the resource context (e.g., container filesystem)." }, { "name": "IsContainer", - "type": "boolean" + "type": "boolean", + "description": "Is this request being generated for a container resource (i.e. does it require Linux style paths?)." } ] }, @@ -15242,34 +15617,43 @@ "name": "CommandOptions", "fullName": "Aspire.Hosting.ApplicationModel.CommandOptions", "kind": "dto", + "description": "Optional configuration for resource commands added with `WithCommand``1`.", "fields": [ { "name": "Description", - "type": "string" + "type": "string", + "description": "Optional description of the command, to be shown in the UI. Could be used as a tooltip. May be localized." }, { "name": "Parameter", - "type": "any" + "type": "any", + "description": "Optional parameter that configures the command in some way. Clients must return any value provided by the server when invoking the command." }, { "name": "ConfirmationMessage", - "type": "string" + "type": "string", + "description": "When a confirmation message is specified, the UI will prompt with an OK/Cancel dialog and the confirmation message before starting the command." }, { "name": "IconName", - "type": "string" + "type": "string", + "description": "The icon name for the command. The name should be a valid FluentUI icon name from ." }, { "name": "IconVariant", - "type": "IconVariant" + "type": "IconVariant", + "isOptional": true, + "description": "The icon variant." }, { "name": "IsHighlighted", - "type": "boolean" + "type": "boolean", + "description": "A flag indicating whether the command is highlighted in the UI." }, { "name": "UpdateState", - "type": "UpdateCommandStateContext]]" + "type": "callback", + "description": "A callback that is used to update the command state. The callback is executed when the command's resource snapshot is updated. If a callback isn't specified, the command is always enabled." } ] }, @@ -15277,18 +15661,22 @@ "name": "CommandResultData", "fullName": "Aspire.Hosting.ApplicationModel.CommandResultData", "kind": "dto", + "description": "Represents a value produced by a command.", "fields": [ { "name": "Value", - "type": "string" + "type": "string", + "description": "The value data." }, { "name": "Format", - "type": "CommandResultFormat" + "type": "CommandResultFormat", + "description": "The format of the `Value` data." }, { "name": "DisplayImmediately", - "type": "boolean" + "type": "boolean", + "description": "When `true`, the dashboard will immediately display the value in a dialog when the command completes." } ] }, @@ -15296,26 +15684,32 @@ "name": "ExecuteCommandResult", "fullName": "Aspire.Hosting.ApplicationModel.ExecuteCommandResult", "kind": "dto", + "description": "The result of executing a command. Returned from `ExecuteCommand`.", "fields": [ { "name": "Success", - "type": "boolean" + "type": "boolean", + "description": "A flag that indicates whether the command was successful." }, { "name": "Canceled", - "type": "boolean" + "type": "boolean", + "description": "A flag that indicates whether the command was canceled by the user." }, { "name": "ErrorMessage", - "type": "string" + "type": "string", + "description": "An optional error message that can be set when the command is unsuccessful." }, { "name": "Message", - "type": "string" + "type": "string", + "description": "An optional message associated with the command result." }, { "name": "Data", - "type": "CommandResultData" + "type": "CommandResultData", + "description": "An optional value produced by the command." } ] }, @@ -15323,42 +15717,53 @@ "name": "GenerateParameterDefault", "fullName": "Aspire.Hosting.ApplicationModel.GenerateParameterDefault", "kind": "dto", + "description": "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`log base 2 (numberPossibleOutputs)`\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 `(67 ^ length)`.\nThe minimum password length for 128 bits of entropy is 22 characters: `log base 2 (67 ^ 22)`.\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```\n{nonRequiredCharacters}{requiredCharacters}\nlet a = MinLower, b = MinUpper, c = MinNumeric, d = MinSpecial\nlet x = length - (a + b + c + d)\nnonRequiredPossibilities = 67^x\nrequiredPossibilities = 23^a * 23^b * 10^c * 11^d * (a + b + c + d)! / (a! * b! * c! * d!)\nlower-bound of total possibilities = nonRequiredPossibilities * requiredPossibilities\n```\nPutting it all together, the lower-bound bits of entropy calculation is:\n```\nlog base 2 [67^x * 23^a * 23^b * 10^c * 11^d * (a + b + c + d)! / (a! * b! * c! * d!)]\n```", "fields": [ { "name": "MinLength", - "type": "number" + "type": "number", + "description": "Gets or sets the minimum length of the generated value." }, { "name": "Lower", - "type": "boolean" + "type": "boolean", + "description": "Gets or sets a value indicating whether to include lowercase alphabet characters in the result." }, { "name": "Upper", - "type": "boolean" + "type": "boolean", + "description": "Gets or sets a value indicating whether to include uppercase alphabet characters in the result." }, { "name": "Numeric", - "type": "boolean" + "type": "boolean", + "description": "Gets or sets a value indicating whether to include numeric characters in the result." }, { "name": "Special", - "type": "boolean" + "type": "boolean", + "description": "Gets or sets a value indicating whether to include special characters in the result." }, { "name": "MinLower", - "type": "number" + "type": "number", + "description": "Gets or sets the minimum number of lowercase characters in the result." }, { "name": "MinUpper", - "type": "number" + "type": "number", + "description": "Gets or sets the minimum number of uppercase characters in the result." }, { "name": "MinNumeric", - "type": "number" + "type": "number", + "description": "Gets or sets the minimum number of numeric characters in the result." }, { "name": "MinSpecial", - "type": "number" + "type": "number", + "description": "Gets or sets the minimum number of special characters in the result." } ] }, @@ -15366,42 +15771,53 @@ "name": "HttpCommandExportOptions", "fullName": "Aspire.Hosting.ApplicationModel.HttpCommandExportOptions", "kind": "dto", + "description": "ATS-friendly configuration for resource HTTP commands.", "fields": [ { "name": "Description", - "type": "string" + "type": "string", + "description": "Optional description of the command, to be shown in the UI." }, { "name": "ConfirmationMessage", - "type": "string" + "type": "string", + "description": "When a confirmation message is specified, the UI will prompt with an OK/Cancel dialog before starting the command." }, { "name": "IconName", - "type": "string" + "type": "string", + "description": "The icon name for the command." }, { "name": "IconVariant", - "type": "IconVariant" + "type": "IconVariant", + "isOptional": true, + "description": "The icon variant." }, { "name": "IsHighlighted", - "type": "boolean" + "type": "boolean", + "description": "A flag indicating whether the command is highlighted in the UI." }, { "name": "CommandName", - "type": "string" + "type": "string", + "description": "Gets or sets the command name." }, { "name": "EndpointName", - "type": "string" + "type": "string", + "description": "Gets or sets the HTTP endpoint name to send the request to when the command is invoked." }, { "name": "MethodName", - "type": "string" + "type": "string", + "description": "Gets or sets the HTTP method name to use when sending the request." }, { "name": "ResultMode", - "type": "HttpCommandResultMode" + "type": "HttpCommandResultMode", + "description": "Gets or sets how the HTTP response content should be returned as command result data." } ] }, @@ -15409,18 +15825,22 @@ "name": "HttpsCertificateExecutionConfigurationContext", "fullName": "Aspire.Hosting.ApplicationModel.HttpsCertificateExecutionConfigurationContext", "kind": "dto", + "description": "Configuration context for server authentication certificate configuration.", "fields": [ { "name": "CertificatePath", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "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." }, { "name": "KeyPath", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "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." }, { "name": "PfxPath", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "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." } ] }, @@ -15428,22 +15848,27 @@ "name": "ResourceUrlAnnotation", "fullName": "Aspire.Hosting.ApplicationModel.ResourceUrlAnnotation", "kind": "dto", + "description": "A URL that should be displayed for a resource.", "fields": [ { "name": "Url", - "type": "string" + "type": "string", + "description": "The URL. When rendered as a link this will be used as the link target." }, { "name": "DisplayText", - "type": "string" + "type": "string", + "description": "The name of the URL. When rendered as a link this will be used as the linked text." }, { "name": "Endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint associated with this URL. Can be `null` if this URL is not associated with an endpoint." }, { "name": "DisplayLocation", - "type": "UrlDisplayLocation" + "type": "UrlDisplayLocation", + "description": "Locations where this URL should be shown on the dashboard. Defaults to `SummaryAndDetails`." } ] }, @@ -15451,14 +15876,17 @@ "name": "AddContainerOptions", "fullName": "Aspire.Hosting.Ats.AddContainerOptions", "kind": "dto", + "description": "Options for configuring a container image in polyglot apphosts.", "fields": [ { "name": "Image", - "type": "string" + "type": "string", + "description": "The container image name." }, { "name": "Tag", - "type": "string" + "type": "string", + "description": "The container image tag." } ] }, @@ -15466,18 +15894,22 @@ "name": "CertificateTrustExecutionConfigurationExportData", "fullName": "Aspire.Hosting.Ats.CertificateTrustExecutionConfigurationExportData", "kind": "dto", + "description": "ATS-friendly certificate trust data returned from an execution-configuration result.", "fields": [ { "name": "Scope", - "type": "CertificateTrustScope" + "type": "CertificateTrustScope", + "description": "The certificate trust scope." }, { "name": "CertificateSubjects", - "type": "string[]" + "type": "string[]", + "description": "The certificate subjects included in the trust configuration." }, { "name": "CustomBundlePaths", - "type": "string[]" + "type": "string[]", + "description": "The relative custom bundle paths." } ] }, @@ -15485,38 +15917,47 @@ "name": "CreateBuilderOptions", "fullName": "Aspire.Hosting.Ats.CreateBuilderOptions", "kind": "dto", + "description": "Options for creating a distributed application builder from polyglot apphosts.", "fields": [ { "name": "Args", - "type": "string[]" + "type": "string[]", + "description": "The command line arguments." }, { "name": "ProjectDirectory", - "type": "string" + "type": "string", + "description": "The directory containing the AppHost project file." }, { "name": "AppHostFilePath", - "type": "string" + "type": "string", + "description": "The full path to the AppHost file (e.g., apphost.ts, apphost.py). Used for consistent socket path computation across CLI and AppHost." }, { "name": "ContainerRegistryOverride", - "type": "string" + "type": "string", + "description": "When containers are used, use this value to override the container registry." }, { "name": "DisableDashboard", - "type": "boolean" + "type": "boolean", + "description": "Determines whether the dashboard is disabled." }, { "name": "DashboardApplicationName", - "type": "string" + "type": "string", + "description": "The application name to display in the dashboard." }, { "name": "AllowUnsecuredTransport", - "type": "boolean" + "type": "boolean", + "description": "Allows the use of HTTP urls for the AppHost resource endpoint." }, { "name": "EnableResourceLogging", - "type": "boolean" + "type": "boolean", + "description": "Enables resource logging." } ] }, @@ -15524,34 +15965,42 @@ "name": "HttpsCertificateExecutionConfigurationExportData", "fullName": "Aspire.Hosting.Ats.HttpsCertificateExecutionConfigurationExportData", "kind": "dto", + "description": "ATS-friendly HTTPS certificate data returned from an execution-configuration result.", "fields": [ { "name": "Subject", - "type": "string" + "type": "string", + "description": "The certificate subject." }, { "name": "Thumbprint", - "type": "string" + "type": "string", + "description": "The certificate thumbprint." }, { "name": "KeyPathExpression", - "type": "string" + "type": "string", + "description": "The expression for the key path reference." }, { "name": "PfxPathExpression", - "type": "string" + "type": "string", + "description": "The expression for the PFX path reference." }, { "name": "IsKeyPathReferenced", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the key path was referenced." }, { "name": "IsPfxPathReferenced", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the PFX path was referenced." }, { "name": "Password", - "type": "string" + "type": "string", + "description": "The certificate password, if any." } ] }, @@ -15559,18 +16008,22 @@ "name": "HttpsCertificateInfo", "fullName": "Aspire.Hosting.Ats.HttpsCertificateInfo", "kind": "dto", + "description": "ATS-friendly certificate metadata supplied to HTTPS certificate configuration callbacks.", "fields": [ { "name": "Subject", - "type": "string" + "type": "string", + "description": "The certificate subject." }, { "name": "Issuer", - "type": "string" + "type": "string", + "description": "The certificate issuer." }, { "name": "Thumbprint", - "type": "string" + "type": "string", + "description": "The certificate thumbprint." } ] }, @@ -15578,22 +16031,27 @@ "name": "ReferenceEnvironmentInjectionOptions", "fullName": "Aspire.Hosting.Ats.ReferenceEnvironmentInjectionOptions", "kind": "dto", + "description": "Options that control which reference information is injected into environment variables.", "fields": [ { "name": "ConnectionString", - "type": "boolean" + "type": "boolean", + "description": "Injects the connection string environment variable." }, { "name": "ConnectionProperties", - "type": "boolean" + "type": "boolean", + "description": "Injects individual connection property environment variables." }, { "name": "ServiceDiscovery", - "type": "boolean" + "type": "boolean", + "description": "Injects service discovery environment variables." }, { "name": "Endpoints", - "type": "boolean" + "type": "boolean", + "description": "Injects endpoint environment variables." } ] }, @@ -15601,30 +16059,38 @@ "name": "ResourceEventDto", "fullName": "Aspire.Hosting.Ats.ResourceEventDto", "kind": "dto", + "description": "DTO for resource events returned from notification service.", "fields": [ { "name": "ResourceName", - "type": "string" + "type": "string", + "description": "The resource name." }, { "name": "ResourceId", - "type": "string" + "type": "string", + "description": "The unique resource ID." }, { "name": "State", - "type": "string" + "type": "string", + "description": "The current state text." }, { "name": "StateStyle", - "type": "string" + "type": "string", + "description": "The state style (e.g., \"success\", \"warn\", \"error\")." }, { "name": "HealthStatus", - "type": "string" + "type": "string", + "description": "The health status of the resource." }, { "name": "ExitCode", - "type": "number" + "type": "number", + "isOptional": true, + "description": "The exit code if the resource has exited." } ] } @@ -15634,36 +16100,83 @@ "name": "CertificateTrustScope", "fullName": "Aspire.Hosting.ApplicationModel.CertificateTrustScope", "kind": "enum", + "description": "Defines the scope of custom certificate authorities for a resource. The default scope for most resources is `Append`, but some resources may choose to override this default behavior.", "members": [ "None", "Append", "Override", "System" + ], + "memberDocs": [ + { + "name": "None", + "description": "Disable all custom certificate authority configuration for a resource. This indicates that the resource should use its default certificate authority trust behavior without modification." + }, + { + "name": "Append", + "description": "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 `Override` or `System` instead. This is the default mode unless otherwise specified." + }, + { + "name": "Override", + "description": "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." + }, + { + "name": "System", + "description": "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't otherwise allow appending to their default trusted certificate authorities but do allow overriding the set of trusted certificates (e.g. Python, Rust, etc.)." + } ] }, { "name": "CommandResultFormat", "fullName": "Aspire.Hosting.ApplicationModel.CommandResultFormat", "kind": "enum", + "description": "Specifies the format of a command result.", "members": [ "Text", "Json", "Markdown" + ], + "memberDocs": [ + { + "name": "Text", + "description": "Plain text result." + }, + { + "name": "Json", + "description": "JSON result." + }, + { + "name": "Markdown", + "description": "Markdown result." + } ] }, { "name": "ContainerLifetime", "fullName": "Aspire.Hosting.ApplicationModel.ContainerLifetime", "kind": "enum", + "description": "Lifetime modes for container resources.", "members": [ "Session", "Persistent" + ], + "memberDocs": [ + { + "name": "Session", + "description": "Create the resource when the app host process starts and dispose of it when the app host process shuts down." + }, + { + "name": "Persistent", + "description": "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.", + "remarks": "In the event that a container with the given name does not exist, a new container will always be created based on the\ncurrent `ContainerResource` configuration.\nWhen an existing container IS found, Aspire MAY re-use it based on the following criteria:\n-\n-\n-" + } ] }, { "name": "EndpointProperty", "fullName": "Aspire.Hosting.ApplicationModel.EndpointProperty", "kind": "enum", + "description": "Represents the properties of an endpoint that can be referenced.", "members": [ "Url", "Host", @@ -15673,84 +16186,255 @@ "TargetPort", "HostAndPort", "TlsEnabled" + ], + "memberDocs": [ + { + "name": "Url", + "description": "The entire URL of the endpoint." + }, + { + "name": "Host", + "description": "The host of the endpoint." + }, + { + "name": "IPV4Host", + "description": "The IPv4 address of the endpoint." + }, + { + "name": "Port", + "description": "The port of the endpoint." + }, + { + "name": "Scheme", + "description": "The scheme of the endpoint." + }, + { + "name": "TargetPort", + "description": "The target port of the endpoint." + }, + { + "name": "HostAndPort", + "description": "The host and port of the endpoint in the format `{Host}:{Port}`." + }, + { + "name": "TlsEnabled", + "description": "Whether TLS is enabled on the endpoint. Returns `TrueString` or `FalseString`." + } ] }, { "name": "HttpCommandResultMode", "fullName": "Aspire.Hosting.ApplicationModel.HttpCommandResultMode", "kind": "enum", + "description": "Specifies how an HTTP command should surface the HTTP response body as command result data.", "members": [ "None", "Auto", "Json", "Text" + ], + "memberDocs": [ + { + "name": "None", + "description": "Do not capture the HTTP response body as command result data." + }, + { + "name": "Auto", + "description": "Infer the command result format from the HTTP response content type." + }, + { + "name": "Json", + "description": "Return the HTTP response body as JSON command result data." + }, + { + "name": "Text", + "description": "Return the HTTP response body as plain text command result data." + } ] }, { "name": "IconVariant", "fullName": "Aspire.Hosting.ApplicationModel.IconVariant", "kind": "enum", + "description": "The icon variant.", "members": [ "Regular", "Filled" + ], + "memberDocs": [ + { + "name": "Regular", + "description": "Regular variant of icons." + }, + { + "name": "Filled", + "description": "Filled variant of icons." + } ] }, { "name": "ImagePullPolicy", "fullName": "Aspire.Hosting.ApplicationModel.ImagePullPolicy", "kind": "enum", + "description": "Image pull policies for container resources.", "members": [ "Default", "Always", "Missing", "Never" + ], + "memberDocs": [ + { + "name": "Default", + "description": "Default image pull policy behavior. Currently this will be the same as the default behavior for your container runtime." + }, + { + "name": "Always", + "description": "Always pull the image when creating the container." + }, + { + "name": "Missing", + "description": "Pull the image only if it does not already exist." + }, + { + "name": "Never", + "description": "Never pull the image from the registry even if it is missing locally." + } ] }, { "name": "ProbeType", "fullName": "Aspire.Hosting.ApplicationModel.ProbeType", "kind": "enum", + "description": "Enum representing the type of probe.", "members": [ "Startup", "Readiness", "Liveness" + ], + "memberDocs": [ + { + "name": "Startup", + "description": "Startup probe." + }, + { + "name": "Readiness", + "description": "Readiness probe." + }, + { + "name": "Liveness", + "description": "Liveness probe." + } + ] + }, + { + "name": "ResourceCommandState", + "fullName": "Aspire.Hosting.ApplicationModel.ResourceCommandState", + "kind": "enum", + "description": "The state of a resource command.", + "members": [ + "Enabled", + "Disabled", + "Hidden" + ], + "memberDocs": [ + { + "name": "Enabled", + "description": "Command is visible and enabled for use." + }, + { + "name": "Disabled", + "description": "Command is visible and disabled for use." + }, + { + "name": "Hidden", + "description": "Command is hidden." + } ] }, { "name": "UrlDisplayLocation", "fullName": "Aspire.Hosting.ApplicationModel.UrlDisplayLocation", "kind": "enum", + "description": "Specifies where the URL should be displayed.", "members": [ "SummaryAndDetails", "DetailsOnly" + ], + "memberDocs": [ + { + "name": "SummaryAndDetails", + "description": "Show the URL in locations where either the resource summary or resource details are being displayed." + }, + { + "name": "DetailsOnly", + "description": "Show the URL in locations where the full details of the resource are being displayed." + } ] }, { "name": "WaitBehavior", "fullName": "Aspire.Hosting.ApplicationModel.WaitBehavior", "kind": "enum", + "description": "Specifies the behavior of the wait.", "members": [ "WaitOnResourceUnavailable", "StopOnResourceUnavailable" + ], + "memberDocs": [ + { + "name": "WaitOnResourceUnavailable", + "description": "If the resource is unavailable, continue waiting." + }, + { + "name": "StopOnResourceUnavailable", + "description": "If the resource is unavailable, stop waiting." + } ] }, { "name": "DistributedApplicationOperation", "fullName": "Aspire.Hosting.DistributedApplicationOperation", "kind": "enum", + "description": "Describes the context in which the AppHost is being executed.", "members": [ "Run", "Publish" + ], + "memberDocs": [ + { + "name": "Run", + "description": "AppHost is being run for the purpose of debugging locally." + }, + { + "name": "Publish", + "description": "AppHost is being run for the purpose of publishing a manifest for deployment." + } ] }, { "name": "OtlpProtocol", "fullName": "Aspire.Hosting.OtlpProtocol", "kind": "enum", + "description": "Protocols available for OTLP exporters.", "members": [ "Grpc", "HttpProtobuf", "HttpJson" + ], + "memberDocs": [ + { + "name": "Grpc", + "description": "A gRPC-based OTLP exporter." + }, + { + "name": "HttpProtobuf", + "description": "Http/Protobuf-based OTLP exporter." + }, + { + "name": "HttpJson", + "description": "Http/JSON-based OTLP exporter." + } ] } ] diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.13.3.0.json index 397757c65..1b082c59c 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.13.3.0.json @@ -10,7 +10,8 @@ "name": "addAzureEnvironment", "capabilityId": "Aspire.Hosting.Azure/addAzureEnvironment", "qualifiedName": "addAzureEnvironment", - "description": "Adds the shared Azure environment resource to the application model", + "description": "Adds an Azure environment resource to the application model.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureEnvironment(): AzureEnvironmentResource", "parameters": [], @@ -25,19 +26,22 @@ "name": "addAzureInfrastructure", "capabilityId": "Aspire.Hosting.Azure/addAzureInfrastructure", "qualifiedName": "addAzureInfrastructure", - "description": "Adds an Azure provisioning resource to the application model", + "description": "Adds an Azure provisioning resource to the application model.", + "returns": "A resource builder for the `AzureProvisioningResource` that can be used for further configuration.", "kind": "Method", - "signature": "addAzureInfrastructure(name: string, configureInfrastructure: (obj: AzureResourceInfrastructure) =\u003E Promise\u003Cvoid\u003E): AzureProvisioningResource", + "signature": "addAzureInfrastructure(name: string, configureInfrastructure: (obj: AzureResourceInfrastructure) => Promise): AzureProvisioningResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource being added." }, { "name": "configureInfrastructure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureResourceInfrastructure) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureResourceInfrastructure) => Promise", + "description": "A callback used to configure the infrastructure resource." } ], "returnType": "AzureProvisioningResource", @@ -51,7 +55,8 @@ "name": "addAzureProvisioning", "capabilityId": "Aspire.Hosting.Azure/addAzureProvisioning", "qualifiedName": "addAzureProvisioning", - "description": "Adds Azure provisioning services to the distributed application builder", + "description": "Adds support for generating Azure resources dynamically during application startup. The application must configure the appropriate Azure subscription and location before resources can be provisioned.", + "returns": "The distributed application builder.", "kind": "Method", "signature": "addAzureProvisioning(): IDistributedApplicationBuilder", "parameters": [], @@ -65,13 +70,16 @@ "name": "addAzureUserAssignedIdentity", "capabilityId": "Aspire.Hosting.Azure/addAzureUserAssignedIdentity", "qualifiedName": "addAzureUserAssignedIdentity", - "description": "Adds an Azure user-assigned identity resource", + "description": "Adds an Azure user‑assigned identity resource to the application model.", + "remarks": "This method adds an Azure user‑assigned identity resource to the application model. It configures the\ninfrastructure for the resource and returns a builder for the resource.\nThe resource is added to the infrastructure only if the application is not in run mode.", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", "signature": "addAzureUserAssignedIdentity(name: string): AzureUserAssignedIdentityResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureUserAssignedIdentityResource", @@ -85,17 +93,20 @@ "name": "addBicepTemplate", "capabilityId": "Aspire.Hosting.Azure/addBicepTemplate", "qualifiedName": "addBicepTemplate", - "description": "Adds an Azure Bicep template resource from a file", + "description": "Adds an Azure Bicep resource to the application model.", + "returns": "An `IResourceBuilder`1`.", "kind": "Method", "signature": "addBicepTemplate(name: string, bicepFile: string): AzureBicepResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the deployment name." }, { "name": "bicepFile", - "type": "string" + "type": "string", + "description": "The path to the bicep file on disk. This path is relative to the apphost's project directory." } ], "returnType": "AzureBicepResource", @@ -109,17 +120,20 @@ "name": "addBicepTemplateString", "capabilityId": "Aspire.Hosting.Azure/addBicepTemplateString", "qualifiedName": "addBicepTemplateString", - "description": "Adds an Azure Bicep template resource from inline Bicep content", + "description": "Adds an Azure Bicep resource to the application model.", + "returns": "An `IResourceBuilder`1`.", "kind": "Method", "signature": "addBicepTemplateString(name: string, bicepContent: string): AzureBicepResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the deployment name." }, { "name": "bicepContent", - "type": "string" + "type": "string", + "description": "A string that represents a snippet of bicep." } ], "returnType": "AzureBicepResource", @@ -133,18 +147,21 @@ "name": "asExisting", "capabilityId": "Aspire.Hosting.Azure/asExisting", "qualifiedName": "asExisting", - "description": "Marks an Azure resource as existing in both run and publish modes", + "description": "Marks the resource as an existing resource in both run and publish modes.", + "returns": "The resource builder with the existing resource annotation added.", "kind": "Method", "signature": "asExisting(name: ParameterResource, resourceGroup?: ParameterResource): IAzureResource", "parameters": [ { "name": "name", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The name of the existing resource as a string or parameter resource." }, { "name": "resourceGroup", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The name of the existing resource group as a string or parameter resource." } ], "returnType": "IAzureResource", @@ -160,7 +177,7 @@ "name": "name", "capabilityId": "Aspire.Hosting.Azure/BicepOutputReference.name", "qualifiedName": "BicepOutputReference.name", - "description": "Gets the Name property", + "description": "Name of the output.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -174,7 +191,7 @@ "name": "value", "capabilityId": "Aspire.Hosting.Azure/BicepOutputReference.value", "qualifiedName": "BicepOutputReference.value", - "description": "Gets the Value property", + "description": "The value of the output.", "kind": "PropertyGetter", "signature": "value(): string", "parameters": [], @@ -188,7 +205,7 @@ "name": "valueExpression", "capabilityId": "Aspire.Hosting.Azure/BicepOutputReference.valueExpression", "qualifiedName": "BicepOutputReference.valueExpression", - "description": "Gets the ValueExpression property", + "description": "The expression used in the manifest to reference the value of the output.", "kind": "PropertyGetter", "signature": "valueExpression(): string", "parameters": [], @@ -202,7 +219,9 @@ "name": "clearDefaultRoleAssignments", "capabilityId": "Aspire.Hosting.Azure/clearDefaultRoleAssignments", "qualifiedName": "clearDefaultRoleAssignments", - "description": "Clears the default Azure role assignments from a resource", + "description": "Clears all default role assignments for the specified Azure resource.", + "remarks": "This method removes all default role assignments from the Azure resource. This can be useful when\nrole assignments can't be created, for example on existing resources where you don't have permission\nto create the assignments.", + "returns": "The configured `IResourceBuilder`1`.", "kind": "Method", "signature": "clearDefaultRoleAssignments(): IAzureResource", "parameters": [], @@ -219,15 +238,17 @@ "name": "configureInfrastructure", "capabilityId": "Aspire.Hosting.Azure/configureInfrastructure", "qualifiedName": "configureInfrastructure", - "description": "Configures the Azure provisioning infrastructure callback", + "description": "Configures the Azure provisioning resource `Infrastructure`.", + "returns": "The resource builder.", "kind": "Method", - "signature": "configureInfrastructure(configure: (obj: AzureResourceInfrastructure) =\u003E Promise\u003Cvoid\u003E): AzureProvisioningResource", + "signature": "configureInfrastructure(configure: (obj: AzureResourceInfrastructure) => Promise): AzureProvisioningResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureResourceInfrastructure) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureResourceInfrastructure) => Promise", + "description": "The configuration callback." } ], "returnType": "AzureProvisioningResource", @@ -242,7 +263,8 @@ "name": "getBicepIdentifier", "capabilityId": "Aspire.Hosting.Azure/getBicepIdentifier", "qualifiedName": "getBicepIdentifier", - "description": "Gets the normalized Bicep identifier for an Azure resource", + "description": "Gets the Bicep identifier for the Azure resource.", + "returns": "A valid Bicep identifier.", "kind": "Method", "signature": "getBicepIdentifier(): string", "parameters": [], @@ -258,13 +280,15 @@ "name": "getOutput", "capabilityId": "Aspire.Hosting.Azure/getOutput", "qualifiedName": "getOutput", - "description": "Gets an output reference from an Azure Bicep template resource", + "description": "Gets a reference to an output from a bicep template.", + "returns": "A `BicepOutputReference` that represents the output.", "kind": "Method", "signature": "getOutput(name: string): BicepOutputReference", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "Name of the output." } ], "returnType": "BicepOutputReference", @@ -279,7 +303,8 @@ "name": "isExisting", "capabilityId": "Aspire.Hosting.Azure/isExisting", "qualifiedName": "isExisting", - "description": "Determines whether a resource is marked as existing", + "description": "Determines whether the Azure resource is marked as existing.", + "returns": "`true` if the resource is marked as existing; otherwise, `false`.", "kind": "Method", "signature": "isExisting(): boolean", "parameters": [], @@ -295,7 +320,8 @@ "name": "publishAsConnectionString", "capabilityId": "Aspire.Hosting.Azure/publishAsConnectionString", "qualifiedName": "publishAsConnectionString", - "description": "Publishes an Azure resource to the manifest as a connection string", + "description": "Changes the resource to be published as a connection string reference in the manifest.", + "returns": "The configured `IResourceBuilder`1`.", "kind": "Method", "signature": "publishAsConnectionString(): IAzureResource", "parameters": [], @@ -312,18 +338,21 @@ "name": "publishAsExisting", "capabilityId": "Aspire.Hosting.Azure/publishAsExisting", "qualifiedName": "publishAsExisting", - "description": "Marks an Azure resource as existing in publish mode", + "description": "Marks the resource as an existing resource when the application is deployed.", + "returns": "The resource builder with the existing resource annotation added.", "kind": "Method", "signature": "publishAsExisting(name: ParameterResource, resourceGroup?: ParameterResource): IAzureResource", "parameters": [ { "name": "name", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The name of the existing resource as a string or parameter resource." }, { "name": "resourceGroup", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The name of the existing resource group as a string or parameter resource." } ], "returnType": "IAzureResource", @@ -339,18 +368,21 @@ "name": "runAsExisting", "capabilityId": "Aspire.Hosting.Azure/runAsExisting", "qualifiedName": "runAsExisting", - "description": "Marks an Azure resource as existing in run mode", + "description": "Marks the resource as an existing resource when the application is running.", + "returns": "The resource builder with the existing resource annotation added.", "kind": "Method", "signature": "runAsExisting(name: ParameterResource, resourceGroup?: ParameterResource): IAzureResource", "parameters": [ { "name": "name", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The name of the existing resource as a string or parameter resource." }, { "name": "resourceGroup", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The name of the existing resource group as a string or parameter resource." } ], "returnType": "IAzureResource", @@ -366,13 +398,15 @@ "name": "withAzureUserAssignedIdentity", "capabilityId": "Aspire.Hosting.Azure/withUserAssignedIdentityAzureUserAssignedIdentity", "qualifiedName": "withAzureUserAssignedIdentity", - "description": "Associates an Azure user-assigned identity with a compute resource", + "description": "Attaches an existing `AzureUserAssignedIdentityResource` to a compute resource, setting it as the target identity for the builder.", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", "signature": "withAzureUserAssignedIdentity(identityResourceBuilder: AzureUserAssignedIdentityResource): IComputeResource", "parameters": [ { "name": "identityResourceBuilder", - "type": "AzureUserAssignedIdentityResource" + "type": "AzureUserAssignedIdentityResource", + "description": "The builder for the `AzureUserAssignedIdentityResource`." } ], "returnType": "IComputeResource", @@ -390,13 +424,16 @@ "name": "withLocation", "capabilityId": "Aspire.Hosting.Azure/withLocation", "qualifiedName": "withLocation", - "description": "Sets the Azure location for the shared Azure environment resource", + "description": "Sets the location of the Azure environment resource.", + "remarks": "This method is used to set the location of the Azure environment resource.\nThe location is used to determine where the resources will be deployed.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withLocation(location: ParameterResource): AzureEnvironmentResource", "parameters": [ { "name": "location", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The Azure location." } ], "returnType": "AzureEnvironmentResource", @@ -437,13 +474,16 @@ "name": "withResourceGroup", "capabilityId": "Aspire.Hosting.Azure/withResourceGroup", "qualifiedName": "withResourceGroup", - "description": "Sets the Azure resource group for the shared Azure environment resource", + "description": "Sets the resource group name of the Azure environment resource.", + "remarks": "This method is used to set the resource group name of the Azure environment resource.\nThe resource group name is used to determine where the resources will be deployed.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withResourceGroup(resourceGroup: ParameterResource): AzureEnvironmentResource", "parameters": [ { "name": "resourceGroup", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The Azure resource group name." } ], "returnType": "AzureEnvironmentResource", @@ -460,24 +500,28 @@ "fullName": "Aspire.Hosting.ApplicationModel.IAzureResource", "kind": "handle", "isInterface": true, + "description": "Represents an Azure resource, as a marker interface for `IResource`'s that can be deployed to an Azure resource group.", "implementedInterfaces": [], "capabilities": [ { "name": "asExisting", "capabilityId": "Aspire.Hosting.Azure/asExisting", "qualifiedName": "asExisting", - "description": "Marks an Azure resource as existing in both run and publish modes", + "description": "Marks the resource as an existing resource in both run and publish modes.", + "returns": "The resource builder with the existing resource annotation added.", "kind": "Method", "signature": "asExisting(name: ParameterResource, resourceGroup?: ParameterResource): IAzureResource", "parameters": [ { "name": "name", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The name of the existing resource as a string or parameter resource." }, { "name": "resourceGroup", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The name of the existing resource group as a string or parameter resource." } ], "returnType": "IAzureResource", @@ -493,7 +537,9 @@ "name": "clearDefaultRoleAssignments", "capabilityId": "Aspire.Hosting.Azure/clearDefaultRoleAssignments", "qualifiedName": "clearDefaultRoleAssignments", - "description": "Clears the default Azure role assignments from a resource", + "description": "Clears all default role assignments for the specified Azure resource.", + "remarks": "This method removes all default role assignments from the Azure resource. This can be useful when\nrole assignments can't be created, for example on existing resources where you don't have permission\nto create the assignments.", + "returns": "The configured `IResourceBuilder`1`.", "kind": "Method", "signature": "clearDefaultRoleAssignments(): IAzureResource", "parameters": [], @@ -510,7 +556,8 @@ "name": "getBicepIdentifier", "capabilityId": "Aspire.Hosting.Azure/getBicepIdentifier", "qualifiedName": "getBicepIdentifier", - "description": "Gets the normalized Bicep identifier for an Azure resource", + "description": "Gets the Bicep identifier for the Azure resource.", + "returns": "A valid Bicep identifier.", "kind": "Method", "signature": "getBicepIdentifier(): string", "parameters": [], @@ -526,7 +573,8 @@ "name": "isExisting", "capabilityId": "Aspire.Hosting.Azure/isExisting", "qualifiedName": "isExisting", - "description": "Determines whether a resource is marked as existing", + "description": "Determines whether the Azure resource is marked as existing.", + "returns": "`true` if the resource is marked as existing; otherwise, `false`.", "kind": "Method", "signature": "isExisting(): boolean", "parameters": [], @@ -542,7 +590,8 @@ "name": "publishAsConnectionString", "capabilityId": "Aspire.Hosting.Azure/publishAsConnectionString", "qualifiedName": "publishAsConnectionString", - "description": "Publishes an Azure resource to the manifest as a connection string", + "description": "Changes the resource to be published as a connection string reference in the manifest.", + "returns": "The configured `IResourceBuilder`1`.", "kind": "Method", "signature": "publishAsConnectionString(): IAzureResource", "parameters": [], @@ -559,18 +608,21 @@ "name": "publishAsExisting", "capabilityId": "Aspire.Hosting.Azure/publishAsExisting", "qualifiedName": "publishAsExisting", - "description": "Marks an Azure resource as existing in publish mode", + "description": "Marks the resource as an existing resource when the application is deployed.", + "returns": "The resource builder with the existing resource annotation added.", "kind": "Method", "signature": "publishAsExisting(name: ParameterResource, resourceGroup?: ParameterResource): IAzureResource", "parameters": [ { "name": "name", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The name of the existing resource as a string or parameter resource." }, { "name": "resourceGroup", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The name of the existing resource group as a string or parameter resource." } ], "returnType": "IAzureResource", @@ -586,18 +638,21 @@ "name": "runAsExisting", "capabilityId": "Aspire.Hosting.Azure/runAsExisting", "qualifiedName": "runAsExisting", - "description": "Marks an Azure resource as existing in run mode", + "description": "Marks the resource as an existing resource when the application is running.", + "returns": "The resource builder with the existing resource annotation added.", "kind": "Method", "signature": "runAsExisting(name: ParameterResource, resourceGroup?: ParameterResource): IAzureResource", "parameters": [ { "name": "name", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The name of the existing resource as a string or parameter resource." }, { "name": "resourceGroup", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The name of the existing resource group as a string or parameter resource." } ], "returnType": "IAzureResource", @@ -625,13 +680,15 @@ "name": "getOutput", "capabilityId": "Aspire.Hosting.Azure/getOutput", "qualifiedName": "getOutput", - "description": "Gets an output reference from an Azure Bicep template resource", + "description": "Gets a reference to an output from a bicep template.", + "returns": "A `BicepOutputReference` that represents the output.", "kind": "Method", "signature": "getOutput(name: string): BicepOutputReference", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "Name of the output." } ], "returnType": "BicepOutputReference", @@ -683,13 +740,16 @@ "name": "withLocation", "capabilityId": "Aspire.Hosting.Azure/withLocation", "qualifiedName": "withLocation", - "description": "Sets the Azure location for the shared Azure environment resource", + "description": "Sets the location of the Azure environment resource.", + "remarks": "This method is used to set the location of the Azure environment resource.\nThe location is used to determine where the resources will be deployed.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withLocation(location: ParameterResource): AzureEnvironmentResource", "parameters": [ { "name": "location", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The Azure location." } ], "returnType": "AzureEnvironmentResource", @@ -703,13 +763,16 @@ "name": "withResourceGroup", "capabilityId": "Aspire.Hosting.Azure/withResourceGroup", "qualifiedName": "withResourceGroup", - "description": "Sets the Azure resource group for the shared Azure environment resource", + "description": "Sets the resource group name of the Azure environment resource.", + "remarks": "This method is used to set the resource group name of the Azure environment resource.\nThe resource group name is used to determine where the resources will be deployed.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withResourceGroup(resourceGroup: ParameterResource): AzureEnvironmentResource", "parameters": [ { "name": "resourceGroup", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The Azure resource group name." } ], "returnType": "AzureEnvironmentResource", @@ -735,15 +798,17 @@ "name": "configureInfrastructure", "capabilityId": "Aspire.Hosting.Azure/configureInfrastructure", "qualifiedName": "configureInfrastructure", - "description": "Configures the Azure provisioning infrastructure callback", + "description": "Configures the Azure provisioning resource `Infrastructure`.", + "returns": "The resource builder.", "kind": "Method", - "signature": "configureInfrastructure(configure: (obj: AzureResourceInfrastructure) =\u003E Promise\u003Cvoid\u003E): AzureProvisioningResource", + "signature": "configureInfrastructure(configure: (obj: AzureResourceInfrastructure) => Promise): AzureProvisioningResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureResourceInfrastructure) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureResourceInfrastructure) => Promise", + "description": "The configuration callback." } ], "returnType": "AzureProvisioningResource", @@ -761,6 +826,7 @@ "fullName": "Aspire.Hosting.Azure.AzureResourceInfrastructure", "kind": "handle", "exposeProperties": true, + "description": "An Azure Provisioning `Infrastructure` which represents the root Bicep module that is generated for an Azure resource.", "implementedInterfaces": [], "capabilities": [] }, @@ -781,19 +847,20 @@ "fullName": "Aspire.Hosting.Azure.BicepOutputReference", "kind": "handle", "exposeProperties": true, + "description": "A reference to an output from a bicep template.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", - "System.IEquatable\u00601[[Aspire.Hosting.Azure.BicepOutputReference]]" + "System.IEquatable`1[[Aspire.Hosting.Azure.BicepOutputReference]]" ], "capabilities": [ { "name": "name", "capabilityId": "Aspire.Hosting.Azure/BicepOutputReference.name", "qualifiedName": "BicepOutputReference.name", - "description": "Gets the Name property", + "description": "Name of the output.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -807,7 +874,7 @@ "name": "value", "capabilityId": "Aspire.Hosting.Azure/BicepOutputReference.value", "qualifiedName": "BicepOutputReference.value", - "description": "Gets the Value property", + "description": "The value of the output.", "kind": "PropertyGetter", "signature": "value(): string", "parameters": [], @@ -821,7 +888,7 @@ "name": "valueExpression", "capabilityId": "Aspire.Hosting.Azure/BicepOutputReference.valueExpression", "qualifiedName": "BicepOutputReference.valueExpression", - "description": "Gets the ValueExpression property", + "description": "The expression used in the manifest to reference the value of the output.", "kind": "PropertyGetter", "signature": "valueExpression(): string", "parameters": [], @@ -838,6 +905,7 @@ "fullName": "Aspire.Hosting.Azure.IAzureKeyVaultResource", "kind": "handle", "isInterface": true, + "description": "Represents a resource that represents an Azure Key Vault.", "implementedInterfaces": [], "capabilities": [] }, @@ -846,6 +914,7 @@ "fullName": "Aspire.Hosting.Azure.IAzureKeyVaultSecretReference", "kind": "handle", "isInterface": true, + "description": "Represents a reference to a secret in an Azure Key Vault resource.", "implementedInterfaces": [], "capabilities": [] } diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppConfiguration.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppConfiguration.13.3.0.json index 8e561cd67..1c11b4895 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppConfiguration.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppConfiguration.13.3.0.json @@ -10,13 +10,16 @@ "name": "addAzureAppConfiguration", "capabilityId": "Aspire.Hosting.Azure.AppConfiguration/addAzureAppConfiguration", "qualifiedName": "addAzureAppConfiguration", - "description": "Adds an Azure App Configuration resource", + "description": "Adds an Azure App Configuration resource to the application model.", + "remarks": "By default references to the Azure App Configuration resource will be assigned the following roles:\n- `AppConfigurationDataOwner`\nThese can be replaced by calling `WithRoleAssignments``1`.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureAppConfiguration(name: string): AzureAppConfigurationResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." } ], "returnType": "AzureAppConfigurationResource", @@ -30,16 +33,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.AppConfiguration/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures Azure App Configuration to run with the local emulator", + "description": "Configures an Azure App Configuration resource to be emulated. This resource requires an `AzureAppConfigurationResource` to be added to the application model.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsEmulator(configureEmulator?: (obj: AzureAppConfigurationEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureAppConfigurationResource", + "signature": "runAsEmulator(configureEmulator?: (obj: AzureAppConfigurationEmulatorResource) => Promise): AzureAppConfigurationResource", "parameters": [ { "name": "configureEmulator", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureAppConfigurationEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureAppConfigurationEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureAppConfigurationResource", @@ -53,14 +59,16 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Azure.AppConfiguration/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for the App Configuration emulator", + "description": "Adds a bind mount for the storage of an Azure App Configuration emulator resource.", + "returns": "A builder for the `AzureAppConfigurationEmulatorResource`.", "kind": "Method", "signature": "withDataBindMount(path?: string): AzureAppConfigurationEmulatorResource", "parameters": [ { "name": "path", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Relative path to the AppHost where emulator storage is persisted between runs. Defaults to the path '.aace'" } ], "returnType": "AzureAppConfigurationEmulatorResource", @@ -74,14 +82,16 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Azure.AppConfiguration/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for the App Configuration emulator", + "description": "Adds a named volume for the data folder to an Azure App Configuration emulator resource.", + "returns": "A builder for the `AzureAppConfigurationEmulatorResource`.", "kind": "Method", "signature": "withDataVolume(name?: string): AzureAppConfigurationEmulatorResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." } ], "returnType": "AzureAppConfigurationEmulatorResource", @@ -95,14 +105,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Azure.AppConfiguration/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the App Configuration emulator", + "description": "Configures the host port for the Azure App Configuration emulator is exposed on instead of using randomly assigned port.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withHostPort(port: number): AzureAppConfigurationEmulatorResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used, a random port will be assigned." } ], "returnType": "AzureAppConfigurationEmulatorResource", @@ -116,17 +128,20 @@ "name": "withRoleAssignments", "capabilityId": "Aspire.Hosting.Azure.AppConfiguration/withAppConfigurationRoleAssignments", "qualifiedName": "withRoleAssignments", - "description": "Assigns App Configuration roles to a resource", + "description": "Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource.", + "returns": "The updated `IResourceBuilder`1` with the applied role assignments.", "kind": "Method", "signature": "withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): IResource", "parameters": [ { "name": "target", - "type": "AzureAppConfigurationResource" + "type": "AzureAppConfigurationResource", + "description": "The target Azure App Configuration resource." }, { "name": "roles", - "type": "AzureAppConfigurationRole[]" + "type": "AzureAppConfigurationRole[]", + "description": "The App Configuration roles to be assigned." } ], "returnType": "IResource", @@ -169,14 +184,16 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Azure.AppConfiguration/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for the App Configuration emulator", + "description": "Adds a bind mount for the storage of an Azure App Configuration emulator resource.", + "returns": "A builder for the `AzureAppConfigurationEmulatorResource`.", "kind": "Method", "signature": "withDataBindMount(path?: string): AzureAppConfigurationEmulatorResource", "parameters": [ { "name": "path", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Relative path to the AppHost where emulator storage is persisted between runs. Defaults to the path '.aace'" } ], "returnType": "AzureAppConfigurationEmulatorResource", @@ -190,14 +207,16 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Azure.AppConfiguration/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for the App Configuration emulator", + "description": "Adds a named volume for the data folder to an Azure App Configuration emulator resource.", + "returns": "A builder for the `AzureAppConfigurationEmulatorResource`.", "kind": "Method", "signature": "withDataVolume(name?: string): AzureAppConfigurationEmulatorResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." } ], "returnType": "AzureAppConfigurationEmulatorResource", @@ -211,14 +230,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Azure.AppConfiguration/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the App Configuration emulator", + "description": "Configures the host port for the Azure App Configuration emulator is exposed on instead of using randomly assigned port.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withHostPort(port: number): AzureAppConfigurationEmulatorResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used, a random port will be assigned." } ], "returnType": "AzureAppConfigurationEmulatorResource", @@ -251,16 +272,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.AppConfiguration/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures Azure App Configuration to run with the local emulator", + "description": "Configures an Azure App Configuration resource to be emulated. This resource requires an `AzureAppConfigurationResource` to be added to the application model.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsEmulator(configureEmulator?: (obj: AzureAppConfigurationEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureAppConfigurationResource", + "signature": "runAsEmulator(configureEmulator?: (obj: AzureAppConfigurationEmulatorResource) => Promise): AzureAppConfigurationResource", "parameters": [ { "name": "configureEmulator", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureAppConfigurationEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureAppConfigurationEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureAppConfigurationResource", @@ -279,6 +303,7 @@ "name": "AzureAppConfigurationRole", "fullName": "Aspire.Hosting.AzureAppConfigurationRole", "kind": "enum", + "description": "Represents Azure App Configuration roles that are compatible with the Aspire Type System (ATS).", "members": [ "AppConfigurationDataOwner", "AppConfigurationDataReader" diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppContainers.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppContainers.13.3.0.json index 391bc2354..9682b1c49 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppContainers.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppContainers.13.3.0.json @@ -10,13 +10,15 @@ "name": "addAzureContainerAppEnvironment", "capabilityId": "Aspire.Hosting.Azure.AppContainers/addAzureContainerAppEnvironment", "qualifiedName": "addAzureContainerAppEnvironment", - "description": "Adds an Azure Container App Environment resource", + "description": "Adds a container app environment resource to the distributed application builder.", + "returns": "`IResourceBuilder`1`", "kind": "Method", "signature": "addAzureContainerAppEnvironment(name: string): AzureContainerAppEnvironmentResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureContainerAppEnvironmentResource", @@ -30,17 +32,20 @@ "name": "configureCustomDomain", "capabilityId": "Aspire.Hosting.Azure.AppContainers/configureCustomDomain", "qualifiedName": "configureCustomDomain", - "description": "Configures the custom domain for the container app", + "description": "Configures the custom domain for the container app.", + "remarks": "The `ConfigureCustomDomain` extension method\nsimplifies the process of assigning a custom domain to a container app resource when it is deployed. It has no impact on local development.\nThe `ConfigureCustomDomain` method is used\nin conjunction with the `PublishAsAzureContainerApp``1`\ncallback. Assigning a custom domain to a container app resource is a multi-step process and requires multiple deployments.\nThe `ConfigureCustomDomain` method takes\ntwo arguments which are parameter resource builders. The first is a parameter that represents the custom domain and the second is a parameter that\nrepresents the name of the managed certificate provisioned via the Azure Portal\nWhen deploying with custom domains configured for the first time leave the `certificateName` parameter empty (when prompted\nby the Azure Developer CLI). Once the application is deployed successfully access to the Azure Portal to bind the custom domain to a managed SSL\ncertificate. Once the certificate is successfully provisioned, subsequent deployments of the application can use this certificate name when the\n`certificateName` is prompted.\nFor deployments triggered locally by the Azure Developer CLI the `config.json` file in the `.azure/{environment name}` path\ncan be modified with the certificate name since Azure Developer CLI will not prompt again for the value.\nThis example shows declaring two parameters to capture the custom domain and certificate name and\npassing them to the `ConfigureCustomDomain`\nmethod via the `PublishAsAzureContainerApp``1`\nextension method.\n```\nvar builder = DistributedApplication.CreateBuilder();\nvar customDomain = builder.AddParameter(\"customDomain\"); // Value provided at first deployment.\nvar certificateName = builder.AddParameter(\"certificateName\"); // Value provided at second and subsequent deployments.\nbuilder.AddProject(\"inventory\")\n.PublishAsAzureContainerApp((module, app) =>\n{\napp.ConfigureCustomDomain(customDomain, certificateName);\n});\n```", "kind": "Method", "signature": "configureCustomDomain(customDomain: ParameterResource, certificateName: ParameterResource): void", "parameters": [ { "name": "customDomain", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A resource builder for a parameter resource capturing the name of the custom domain." }, { "name": "certificateName", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A resource builder for a parameter resource capturing the name of the certificate configured in the Azure Portal." } ], "returnType": "void", @@ -53,15 +58,18 @@ "name": "publishAsAzureContainerApp", "capabilityId": "Aspire.Hosting.Azure.AppContainers/publishContainerAsAzureContainerApp", "qualifiedName": "publishAsAzureContainerApp", - "description": "Configures the container resource to be published as an Azure Container App", + "description": "Publishes the specified container resource as a container app.", + "remarks": "This method checks if the application is in publish mode. If it is, it adds the necessary infrastructure\nfor container apps and applies the provided configuration action to the container app.\n```\nbuilder.AddContainer(\"name\", \"image\").PublishAsAzureContainerApp((infrastructure, app) =>\n{\n// Configure the container app here\n});\n```", + "returns": "The updated container resource builder.", "kind": "Method", - "signature": "publishAsAzureContainerApp(configure: (arg1: AzureResourceInfrastructure, arg2: ContainerApp) =\u003E Promise\u003Cvoid\u003E): ContainerResource", + "signature": "publishAsAzureContainerApp(configure: (arg1: AzureResourceInfrastructure, arg2: ContainerApp) => Promise): ContainerResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: ContainerApp) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: ContainerApp) => Promise", + "description": "The configuration action for the container app." } ], "returnType": "ContainerResource", @@ -75,15 +83,18 @@ "name": "publishAsAzureContainerApp", "capabilityId": "Aspire.Hosting.Azure.AppContainers/publishExecutableAsAzureContainerApp", "qualifiedName": "publishAsAzureContainerApp", - "description": "Configures the executable resource to be published as an Azure Container App", + "description": "Publishes the specified container resource as a container app.", + "remarks": "This method checks if the application is in publish mode. If it is, it adds the necessary infrastructure\nfor container apps and applies the provided configuration action to the container app.\n```\nbuilder.AddNpmApp(\"name\", \"image\").PublishAsAzureContainerApp((infrastructure, app) =>\n{\n// Configure the container app here\n});\n```", + "returns": "The updated container resource builder.", "kind": "Method", - "signature": "publishAsAzureContainerApp(configure: (arg1: AzureResourceInfrastructure, arg2: ContainerApp) =\u003E Promise\u003Cvoid\u003E): ExecutableResource", + "signature": "publishAsAzureContainerApp(configure: (arg1: AzureResourceInfrastructure, arg2: ContainerApp) => Promise): ExecutableResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: ContainerApp) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: ContainerApp) => Promise", + "description": "The configuration action for the container app." } ], "returnType": "ExecutableResource", @@ -98,15 +109,18 @@ "name": "publishAsAzureContainerApp", "capabilityId": "Aspire.Hosting.Azure.AppContainers/publishProjectAsAzureContainerApp", "qualifiedName": "publishAsAzureContainerApp", - "description": "Configures the project resource to be published as an Azure Container App", + "description": "Allows configuring the specified project resource as a container app.", + "remarks": "This method adds the necessary infrastructure for container apps to the application builder\nand applies the specified configuration to the container app.\n```\nbuilder.AddProject.PublishAsAzureContainerApp((infrastructure, app) =>\n{\n// Configure the container app here\n});\n```", + "returns": "The updated project resource builder.", "kind": "Method", - "signature": "publishAsAzureContainerApp(configure: (arg1: AzureResourceInfrastructure, arg2: ContainerApp) =\u003E Promise\u003Cvoid\u003E): ProjectResource", + "signature": "publishAsAzureContainerApp(configure: (arg1: AzureResourceInfrastructure, arg2: ContainerApp) => Promise): ProjectResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: ContainerApp) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: ContainerApp) => Promise", + "description": "The configuration action for the container app." } ], "returnType": "ProjectResource", @@ -123,14 +137,14 @@ "qualifiedName": "publishAsAzureContainerAppJob", "description": "Configures the compute resource as an Azure Container App Job", "kind": "Method", - "signature": "publishAsAzureContainerAppJob(configure?: (arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) =\u003E Promise\u003Cvoid\u003E): IComputeResource", + "signature": "publishAsAzureContainerAppJob(configure?: (arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) => Promise): IComputeResource", "parameters": [ { "name": "configure", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) => Promise" } ], "returnType": "IComputeResource", @@ -150,7 +164,7 @@ "qualifiedName": "publishAsScheduledAzureContainerAppJob", "description": "Configures the compute resource as a scheduled Azure Container App Job", "kind": "Method", - "signature": "publishAsScheduledAzureContainerAppJob(cronExpression: string, configure?: (arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) =\u003E Promise\u003Cvoid\u003E): IComputeResource", + "signature": "publishAsScheduledAzureContainerAppJob(cronExpression: string, configure?: (arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) => Promise): IComputeResource", "parameters": [ { "name": "cronExpression", @@ -161,7 +175,7 @@ "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) => Promise" } ], "returnType": "IComputeResource", @@ -179,7 +193,9 @@ "name": "withAzdResourceNaming", "capabilityId": "Aspire.Hosting.Azure.AppContainers/withAzdResourceNaming", "qualifiedName": "withAzdResourceNaming", - "description": "Configures resources to use azd naming conventions", + "description": "Configures the container app environment resources to use the same naming conventions as azd.", + "remarks": "By default, the container app environment resources use a different naming convention than azd.\nThis method allows for reusing the previously deployed resources if the application was deployed using\nazd without calling `AddAzureContainerAppEnvironment`", + "returns": "`IResourceBuilder`1`", "kind": "Method", "signature": "withAzdResourceNaming(): AzureContainerAppEnvironmentResource", "parameters": [], @@ -194,13 +210,15 @@ "name": "withAzureLogAnalyticsWorkspace", "capabilityId": "Aspire.Hosting.Azure.AppContainers/withAzureLogAnalyticsWorkspace", "qualifiedName": "withAzureLogAnalyticsWorkspace", - "description": "Configures the container app environment to use a specific Log Analytics Workspace", + "description": "Configures the container app environment resource to use the specified Log Analytics Workspace.", + "returns": "`IResourceBuilder`1`", "kind": "Method", "signature": "withAzureLogAnalyticsWorkspace(workspaceBuilder: AzureLogAnalyticsWorkspaceResource): AzureContainerAppEnvironmentResource", "parameters": [ { "name": "workspaceBuilder", - "type": "AzureLogAnalyticsWorkspaceResource" + "type": "AzureLogAnalyticsWorkspaceResource", + "description": "The resource builder for the `AzureLogAnalyticsWorkspaceResource` to use." } ], "returnType": "AzureContainerAppEnvironmentResource", @@ -214,7 +232,9 @@ "name": "withCompactResourceNaming", "capabilityId": "Aspire.Hosting.Azure.AppContainers/withCompactResourceNaming", "qualifiedName": "withCompactResourceNaming", - "description": "Configures resources to use compact naming for length-constrained Azure resources", + "description": "Configures the container app environment to use compact resource naming that maximally preserves the `uniqueString` suffix for length-constrained Azure resources such as storage accounts.", + "remarks": "By default, the generated Azure resource names use long static suffixes (e.g. `storageVolume`,\n`managedStorage`) that can consume most of the 24-character storage account name limit, truncating\nthe `uniqueString(resourceGroup().id)` portion that provides cross-deployment uniqueness.\nWhen enabled, this method shortens the static portions of generated names so the full 13-character\n`uniqueString` is preserved. This prevents naming collisions when deploying multiple environments\nto different resource groups.\nThis option only affects volume-related storage resources. It does not change the naming of the\ncontainer app environment, container registry, log analytics workspace, or managed identity.\nUse `WithAzdResourceNaming` to change those names as well.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withCompactResourceNaming(): AzureContainerAppEnvironmentResource", "parameters": [], @@ -229,7 +249,8 @@ "name": "withDashboard", "capabilityId": "Aspire.Hosting.Azure.AppContainers/withDashboard", "qualifiedName": "withDashboard", - "description": "Configures whether the Aspire dashboard is included in the container app environment", + "description": "Configures whether the Aspire dashboard should be included in the container app environment.", + "returns": "`IResourceBuilder`1`", "kind": "Method", "signature": "withDashboard(enable?: boolean): AzureContainerAppEnvironmentResource", "parameters": [ @@ -237,7 +258,8 @@ "name": "enable", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to include the Aspire dashboard. Default is true." } ], "returnType": "AzureContainerAppEnvironmentResource", @@ -251,7 +273,9 @@ "name": "withHttpsUpgrade", "capabilityId": "Aspire.Hosting.Azure.AppContainers/withHttpsUpgrade", "qualifiedName": "withHttpsUpgrade", - "description": "Configures whether HTTP endpoints are upgraded to HTTPS", + "description": "Configures whether HTTP endpoints should be upgraded to HTTPS in Azure Container Apps. By default, HTTP endpoints are upgraded to HTTPS for security and WebSocket compatibility.", + "remarks": "When disabled (`false`), HTTP endpoints will use HTTP scheme and port 80 in Azure Container Apps.\nNote that explicit ports specified for development (e.g., port 8080) are still normalized\nto standard ports (80/443) as required by Azure Container Apps.", + "returns": "`IResourceBuilder`1`", "kind": "Method", "signature": "withHttpsUpgrade(upgrade?: boolean): AzureContainerAppEnvironmentResource", "parameters": [ @@ -259,7 +283,8 @@ "name": "upgrade", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to upgrade HTTP endpoints to HTTPS. Default is true." } ], "returnType": "AzureContainerAppEnvironmentResource", @@ -290,7 +315,9 @@ "name": "withAzdResourceNaming", "capabilityId": "Aspire.Hosting.Azure.AppContainers/withAzdResourceNaming", "qualifiedName": "withAzdResourceNaming", - "description": "Configures resources to use azd naming conventions", + "description": "Configures the container app environment resources to use the same naming conventions as azd.", + "remarks": "By default, the container app environment resources use a different naming convention than azd.\nThis method allows for reusing the previously deployed resources if the application was deployed using\nazd without calling `AddAzureContainerAppEnvironment`", + "returns": "`IResourceBuilder`1`", "kind": "Method", "signature": "withAzdResourceNaming(): AzureContainerAppEnvironmentResource", "parameters": [], @@ -305,13 +332,15 @@ "name": "withAzureLogAnalyticsWorkspace", "capabilityId": "Aspire.Hosting.Azure.AppContainers/withAzureLogAnalyticsWorkspace", "qualifiedName": "withAzureLogAnalyticsWorkspace", - "description": "Configures the container app environment to use a specific Log Analytics Workspace", + "description": "Configures the container app environment resource to use the specified Log Analytics Workspace.", + "returns": "`IResourceBuilder`1`", "kind": "Method", "signature": "withAzureLogAnalyticsWorkspace(workspaceBuilder: AzureLogAnalyticsWorkspaceResource): AzureContainerAppEnvironmentResource", "parameters": [ { "name": "workspaceBuilder", - "type": "AzureLogAnalyticsWorkspaceResource" + "type": "AzureLogAnalyticsWorkspaceResource", + "description": "The resource builder for the `AzureLogAnalyticsWorkspaceResource` to use." } ], "returnType": "AzureContainerAppEnvironmentResource", @@ -325,7 +354,9 @@ "name": "withCompactResourceNaming", "capabilityId": "Aspire.Hosting.Azure.AppContainers/withCompactResourceNaming", "qualifiedName": "withCompactResourceNaming", - "description": "Configures resources to use compact naming for length-constrained Azure resources", + "description": "Configures the container app environment to use compact resource naming that maximally preserves the `uniqueString` suffix for length-constrained Azure resources such as storage accounts.", + "remarks": "By default, the generated Azure resource names use long static suffixes (e.g. `storageVolume`,\n`managedStorage`) that can consume most of the 24-character storage account name limit, truncating\nthe `uniqueString(resourceGroup().id)` portion that provides cross-deployment uniqueness.\nWhen enabled, this method shortens the static portions of generated names so the full 13-character\n`uniqueString` is preserved. This prevents naming collisions when deploying multiple environments\nto different resource groups.\nThis option only affects volume-related storage resources. It does not change the naming of the\ncontainer app environment, container registry, log analytics workspace, or managed identity.\nUse `WithAzdResourceNaming` to change those names as well.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withCompactResourceNaming(): AzureContainerAppEnvironmentResource", "parameters": [], @@ -340,7 +371,8 @@ "name": "withDashboard", "capabilityId": "Aspire.Hosting.Azure.AppContainers/withDashboard", "qualifiedName": "withDashboard", - "description": "Configures whether the Aspire dashboard is included in the container app environment", + "description": "Configures whether the Aspire dashboard should be included in the container app environment.", + "returns": "`IResourceBuilder`1`", "kind": "Method", "signature": "withDashboard(enable?: boolean): AzureContainerAppEnvironmentResource", "parameters": [ @@ -348,7 +380,8 @@ "name": "enable", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to include the Aspire dashboard. Default is true." } ], "returnType": "AzureContainerAppEnvironmentResource", @@ -362,7 +395,9 @@ "name": "withHttpsUpgrade", "capabilityId": "Aspire.Hosting.Azure.AppContainers/withHttpsUpgrade", "qualifiedName": "withHttpsUpgrade", - "description": "Configures whether HTTP endpoints are upgraded to HTTPS", + "description": "Configures whether HTTP endpoints should be upgraded to HTTPS in Azure Container Apps. By default, HTTP endpoints are upgraded to HTTPS for security and WebSocket compatibility.", + "remarks": "When disabled (`false`), HTTP endpoints will use HTTP scheme and port 80 in Azure Container Apps.\nNote that explicit ports specified for development (e.g., port 8080) are still normalized\nto standard ports (80/443) as required by Azure Container Apps.", + "returns": "`IResourceBuilder`1`", "kind": "Method", "signature": "withHttpsUpgrade(upgrade?: boolean): AzureContainerAppEnvironmentResource", "parameters": [ @@ -370,7 +405,8 @@ "name": "upgrade", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to upgrade HTTP endpoints to HTTPS. Default is true." } ], "returnType": "AzureContainerAppEnvironmentResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppService.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppService.13.3.0.json index dd1565867..5b60f8e1a 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppService.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.AppService.13.3.0.json @@ -10,13 +10,15 @@ "name": "addAzureAppServiceEnvironment", "capabilityId": "Aspire.Hosting.Azure.AppService/addAzureAppServiceEnvironment", "qualifiedName": "addAzureAppServiceEnvironment", - "description": "Adds an Azure App Service environment resource", + "description": "Adds a azure app service environment resource to the distributed application builder.", + "returns": "`IResourceBuilder`1`", "kind": "Method", "signature": "addAzureAppServiceEnvironment(name: string): AzureAppServiceEnvironmentResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureAppServiceEnvironmentResource", @@ -30,23 +32,27 @@ "name": "publishAsAzureAppServiceWebsite", "capabilityId": "Aspire.Hosting.Azure.AppService/publishAsAzureAppServiceWebsite", "qualifiedName": "publishAsAzureAppServiceWebsite", - "description": "Publishes the compute resource as an Azure App Service website or deployment slot", + "description": "Publishes the specified compute resource as an Azure App Service or Azure App Service Slot.", + "remarks": "```\nbuilder.AddProject(\"name\").PublishAsAzureAppServiceWebsite((infrastructure, app) =>\n{\n// Configure the App Service WebSite resource here\n});\n```", + "returns": "The updated compute resource builder.", "kind": "Method", - "signature": "publishAsAzureAppServiceWebsite(configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) =\u003E Promise\u003Cvoid\u003E, configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) =\u003E Promise\u003Cvoid\u003E): IComputeResource", + "signature": "publishAsAzureAppServiceWebsite(configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise, configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise): IComputeResource", "parameters": [ { "name": "configure", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: WebSite) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise", + "description": "The configuration action for the App Service WebSite resource." }, { "name": "configureSlot", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise", + "description": "The configuration action for the App Service WebSite Slot resource." } ], "returnType": "IComputeResource", @@ -64,7 +70,9 @@ "name": "skipEnvironmentVariableNameChecks", "capabilityId": "Aspire.Hosting.Azure.AppService/skipEnvironmentVariableNameChecks", "qualifiedName": "skipEnvironmentVariableNameChecks", - "description": "Skips Azure App Service environment variable name validation for the compute resource", + "description": "Skips validation for environment variable names that Azure App Service may not support.", + "remarks": "When running on Azure App Service, environment variable names can't contain hyphens.\nThis can cause Aspire client integrations that rely on the original environment variable names to fail.\nBy default, Aspire performs validation to ensure environment variable names are compatible with Azure App Service,\nfailing to publish if any invalid names are found.", + "returns": "The updated compute resource builder.", "kind": "Method", "signature": "skipEnvironmentVariableNameChecks(): IComputeResource", "parameters": [], @@ -104,7 +112,8 @@ "name": "withDashboard", "capabilityId": "Aspire.Hosting.Azure.AppService/withDashboard", "qualifiedName": "withDashboard", - "description": "Configures whether the Aspire dashboard is included in the Azure App Service environment", + "description": "Configures whether the Aspire dashboard should be included in the Azure App Service environment.", + "returns": "A reference to the `IResourceBuilder`1` for chaining additional configuration.", "kind": "Method", "signature": "withDashboard(enable?: boolean): AzureAppServiceEnvironmentResource", "parameters": [ @@ -112,7 +121,8 @@ "name": "enable", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to include the Aspire dashboard. Default is true." } ], "returnType": "AzureAppServiceEnvironmentResource", @@ -146,7 +156,9 @@ "name": "withHttpsUpgrade", "capabilityId": "Aspire.Hosting.Azure.AppService/withHttpsUpgrade", "qualifiedName": "withHttpsUpgrade", - "description": "Configures whether HTTP endpoints are automatically upgraded to HTTPS in Azure App Service", + "description": "Configures whether HTTP endpoints should be automatically upgraded to HTTPS for the Azure App Service environment. By default, HTTP endpoints are upgraded to HTTPS for security and WebSocket compatibility.", + "remarks": "When disabled (`false`), HTTP endpoints will use HTTP scheme and port 80 in Azure App Service.\nNote that Azure App Service forces HTTP to HTTPS redirects at the platform level,\nso disabling upgrade primarily affects connection strings generated for dependent resources.", + "returns": "A reference to the `IResourceBuilder`1` for chaining additional configuration.", "kind": "Method", "signature": "withHttpsUpgrade(upgrade?: boolean): AzureAppServiceEnvironmentResource", "parameters": [ @@ -154,7 +166,8 @@ "name": "upgrade", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to upgrade HTTP endpoints to HTTPS. Default is true." } ], "returnType": "AzureAppServiceEnvironmentResource", @@ -205,7 +218,8 @@ "name": "withDashboard", "capabilityId": "Aspire.Hosting.Azure.AppService/withDashboard", "qualifiedName": "withDashboard", - "description": "Configures whether the Aspire dashboard is included in the Azure App Service environment", + "description": "Configures whether the Aspire dashboard should be included in the Azure App Service environment.", + "returns": "A reference to the `IResourceBuilder`1` for chaining additional configuration.", "kind": "Method", "signature": "withDashboard(enable?: boolean): AzureAppServiceEnvironmentResource", "parameters": [ @@ -213,7 +227,8 @@ "name": "enable", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to include the Aspire dashboard. Default is true." } ], "returnType": "AzureAppServiceEnvironmentResource", @@ -247,7 +262,9 @@ "name": "withHttpsUpgrade", "capabilityId": "Aspire.Hosting.Azure.AppService/withHttpsUpgrade", "qualifiedName": "withHttpsUpgrade", - "description": "Configures whether HTTP endpoints are automatically upgraded to HTTPS in Azure App Service", + "description": "Configures whether HTTP endpoints should be automatically upgraded to HTTPS for the Azure App Service environment. By default, HTTP endpoints are upgraded to HTTPS for security and WebSocket compatibility.", + "remarks": "When disabled (`false`), HTTP endpoints will use HTTP scheme and port 80 in Azure App Service.\nNote that Azure App Service forces HTTP to HTTPS redirects at the platform level,\nso disabling upgrade primarily affects connection strings generated for dependent resources.", + "returns": "A reference to the `IResourceBuilder`1` for chaining additional configuration.", "kind": "Method", "signature": "withHttpsUpgrade(upgrade?: boolean): AzureAppServiceEnvironmentResource", "parameters": [ @@ -255,7 +272,8 @@ "name": "upgrade", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to upgrade HTTP endpoints to HTTPS. Default is true." } ], "returnType": "AzureAppServiceEnvironmentResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ApplicationInsights.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ApplicationInsights.13.3.0.json index 2fe4761cf..b17d055a8 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ApplicationInsights.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ApplicationInsights.13.3.0.json @@ -10,13 +10,15 @@ "name": "addAzureApplicationInsights", "capabilityId": "Aspire.Hosting.Azure.ApplicationInsights/addAzureApplicationInsights", "qualifiedName": "addAzureApplicationInsights", - "description": "Adds an Azure Application Insights resource", + "description": "Adds an Azure Application Insights resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureApplicationInsights(name: string): AzureApplicationInsightsResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." } ], "returnType": "AzureApplicationInsightsResource", @@ -30,13 +32,15 @@ "name": "withLogAnalyticsWorkspace", "capabilityId": "Aspire.Hosting.Azure.ApplicationInsights/withLogAnalyticsWorkspace", "qualifiedName": "withLogAnalyticsWorkspace", - "description": "Configures the Application Insights resource to use a Log Analytics Workspace", + "description": "Configures the Application Insights resource to use the specified Log Analytics Workspace resource.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withLogAnalyticsWorkspace(logAnalyticsWorkspace: AzureLogAnalyticsWorkspaceResource): AzureApplicationInsightsResource", "parameters": [ { "name": "logAnalyticsWorkspace", - "type": "AzureLogAnalyticsWorkspaceResource" + "type": "AzureLogAnalyticsWorkspaceResource", + "description": "The resource builder for the `AzureLogAnalyticsWorkspaceResource`." } ], "returnType": "AzureApplicationInsightsResource", @@ -67,13 +71,15 @@ "name": "withLogAnalyticsWorkspace", "capabilityId": "Aspire.Hosting.Azure.ApplicationInsights/withLogAnalyticsWorkspace", "qualifiedName": "withLogAnalyticsWorkspace", - "description": "Configures the Application Insights resource to use a Log Analytics Workspace", + "description": "Configures the Application Insights resource to use the specified Log Analytics Workspace resource.", + "returns": "The `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withLogAnalyticsWorkspace(logAnalyticsWorkspace: AzureLogAnalyticsWorkspaceResource): AzureApplicationInsightsResource", "parameters": [ { "name": "logAnalyticsWorkspace", - "type": "AzureLogAnalyticsWorkspaceResource" + "type": "AzureLogAnalyticsWorkspaceResource", + "description": "The resource builder for the `AzureLogAnalyticsWorkspaceResource`." } ], "returnType": "AzureApplicationInsightsResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.CognitiveServices.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.CognitiveServices.13.3.0.json index c2b6d509f..200da1590 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.CognitiveServices.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.CognitiveServices.13.3.0.json @@ -10,13 +10,16 @@ "name": "addAzureOpenAI", "capabilityId": "Aspire.Hosting.Azure.CognitiveServices/addAzureOpenAI", "qualifiedName": "addAzureOpenAI", - "description": "Adds an Azure OpenAI resource", + "description": "Adds an Azure OpenAI resource to the application model.", + "remarks": "By default references to the Azure OpenAI resource will be assigned the following roles:\n- `CognitiveServicesOpenAIContributor`\nThese can be replaced by calling `WithRoleAssignments``1`.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureOpenAI(name: string): AzureOpenAIResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." } ], "returnType": "AzureOpenAIResource", @@ -30,21 +33,25 @@ "name": "addDeployment", "capabilityId": "Aspire.Hosting.Azure.CognitiveServices/addDeployment", "qualifiedName": "addDeployment", - "description": "Adds an Azure OpenAI deployment resource", + "description": "Adds and returns an Azure OpenAI Deployment resource to the `AzureOpenAIResource` resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDeployment(name: string, modelName: string, modelVersion: string): AzureOpenAIDeploymentResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Azure OpenAI Deployment resource." }, { "name": "modelName", - "type": "string" + "type": "string", + "description": "The name of the model to deploy." }, { "name": "modelVersion", - "type": "string" + "type": "string", + "description": "The version of the model to deploy." } ], "returnType": "AzureOpenAIDeploymentResource", @@ -58,7 +65,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.connectionStringExpression", "qualifiedName": "AzureOpenAIDeploymentResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure OpenAI Deployment resource.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -72,7 +79,8 @@ "name": "deploymentName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.deploymentName", "qualifiedName": "AzureOpenAIDeploymentResource.deploymentName", - "description": "Gets the DeploymentName property", + "description": "Gets or sets the name of the deployment.", + "remarks": "This defaults to `Name`, but allows for a different deployment name in Azure.", "kind": "PropertyGetter", "signature": "deploymentName(): string", "parameters": [], @@ -86,7 +94,7 @@ "name": "modelName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.modelName", "qualifiedName": "AzureOpenAIDeploymentResource.modelName", - "description": "Gets the ModelName property", + "description": "Gets the name of the model.", "kind": "PropertyGetter", "signature": "modelName(): string", "parameters": [], @@ -100,7 +108,7 @@ "name": "modelVersion", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.modelVersion", "qualifiedName": "AzureOpenAIDeploymentResource.modelVersion", - "description": "Gets the ModelVersion property", + "description": "Gets the version of the model.", "kind": "PropertyGetter", "signature": "modelVersion(): string", "parameters": [], @@ -114,7 +122,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.parent", "qualifiedName": "AzureOpenAIDeploymentResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure OpenAI resource.", "kind": "PropertyGetter", "signature": "parent(): AzureOpenAIResource", "parameters": [], @@ -128,7 +136,8 @@ "name": "setDeploymentName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.setDeploymentName", "qualifiedName": "AzureOpenAIDeploymentResource.setDeploymentName", - "description": "Sets the DeploymentName property", + "description": "Gets or sets the name of the deployment.", + "remarks": "This defaults to `Name`, but allows for a different deployment name in Azure.", "kind": "PropertySetter", "signature": "setDeploymentName(value: string): AzureOpenAIDeploymentResource", "parameters": [ @@ -147,7 +156,7 @@ "name": "setModelName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.setModelName", "qualifiedName": "AzureOpenAIDeploymentResource.setModelName", - "description": "Sets the ModelName property", + "description": "Gets the name of the model.", "kind": "PropertySetter", "signature": "setModelName(value: string): AzureOpenAIDeploymentResource", "parameters": [ @@ -166,7 +175,7 @@ "name": "setModelVersion", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.setModelVersion", "qualifiedName": "AzureOpenAIDeploymentResource.setModelVersion", - "description": "Sets the ModelVersion property", + "description": "Gets the version of the model.", "kind": "PropertySetter", "signature": "setModelVersion(value: string): AzureOpenAIDeploymentResource", "parameters": [ @@ -185,7 +194,7 @@ "name": "setSkuCapacity", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.setSkuCapacity", "qualifiedName": "AzureOpenAIDeploymentResource.setSkuCapacity", - "description": "Sets the SkuCapacity property", + "description": "Gets the capacity of the SKU.", "kind": "PropertySetter", "signature": "setSkuCapacity(value: number): AzureOpenAIDeploymentResource", "parameters": [ @@ -204,7 +213,7 @@ "name": "setSkuName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.setSkuName", "qualifiedName": "AzureOpenAIDeploymentResource.setSkuName", - "description": "Sets the SkuName property", + "description": "Gets the name of the SKU.", "kind": "PropertySetter", "signature": "setSkuName(value: string): AzureOpenAIDeploymentResource", "parameters": [ @@ -223,7 +232,7 @@ "name": "skuCapacity", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.skuCapacity", "qualifiedName": "AzureOpenAIDeploymentResource.skuCapacity", - "description": "Gets the SkuCapacity property", + "description": "Gets the capacity of the SKU.", "kind": "PropertyGetter", "signature": "skuCapacity(): number", "parameters": [], @@ -237,7 +246,7 @@ "name": "skuName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.skuName", "qualifiedName": "AzureOpenAIDeploymentResource.skuName", - "description": "Gets the SkuName property", + "description": "Gets the name of the SKU.", "kind": "PropertyGetter", "signature": "skuName(): string", "parameters": [], @@ -251,15 +260,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Azure.CognitiveServices/withProperties", "qualifiedName": "withProperties", - "description": "Configures properties of an Azure OpenAI deployment", + "description": "Allows setting the properties of an Azure OpenAI Deployment resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: AzureOpenAIDeploymentResource) =\u003E Promise\u003Cvoid\u003E): AzureOpenAIDeploymentResource", + "signature": "withProperties(configure: (obj: AzureOpenAIDeploymentResource) => Promise): AzureOpenAIDeploymentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureOpenAIDeploymentResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureOpenAIDeploymentResource) => Promise", + "description": "A method that can be used for customizing the `AzureOpenAIDeploymentResource`." } ], "returnType": "AzureOpenAIDeploymentResource", @@ -273,17 +284,20 @@ "name": "withRoleAssignments", "capabilityId": "Aspire.Hosting.Azure.CognitiveServices/withCognitiveServicesRoleAssignments", "qualifiedName": "withRoleAssignments", - "description": "Assigns Cognitive Services roles to a resource", + "description": "Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource.", + "returns": "The updated `IResourceBuilder`1` with the applied role assignments.", "kind": "Method", "signature": "withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): IResource", "parameters": [ { "name": "target", - "type": "AzureOpenAIResource" + "type": "AzureOpenAIResource", + "description": "The target Azure OpenAI resource." }, { "name": "roles", - "type": "AzureOpenAIRole[]" + "type": "AzureOpenAIRole[]", + "description": "The Azure OpenAI roles to be assigned (for example, `CognitiveServicesOpenAIUser`)." } ], "returnType": "IResource", @@ -313,13 +327,14 @@ "fullName": "Aspire.Hosting.ApplicationModel.AzureOpenAIDeploymentResource", "kind": "handle", "exposeProperties": true, + "description": "Represents an Azure OpenAI Deployment resource.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.ApplicationModel.AzureOpenAIResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.ApplicationModel.AzureOpenAIResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -328,7 +343,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.connectionStringExpression", "qualifiedName": "AzureOpenAIDeploymentResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure OpenAI Deployment resource.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -342,7 +357,8 @@ "name": "deploymentName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.deploymentName", "qualifiedName": "AzureOpenAIDeploymentResource.deploymentName", - "description": "Gets the DeploymentName property", + "description": "Gets or sets the name of the deployment.", + "remarks": "This defaults to `Name`, but allows for a different deployment name in Azure.", "kind": "PropertyGetter", "signature": "deploymentName(): string", "parameters": [], @@ -356,7 +372,7 @@ "name": "modelName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.modelName", "qualifiedName": "AzureOpenAIDeploymentResource.modelName", - "description": "Gets the ModelName property", + "description": "Gets the name of the model.", "kind": "PropertyGetter", "signature": "modelName(): string", "parameters": [], @@ -370,7 +386,7 @@ "name": "modelVersion", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.modelVersion", "qualifiedName": "AzureOpenAIDeploymentResource.modelVersion", - "description": "Gets the ModelVersion property", + "description": "Gets the version of the model.", "kind": "PropertyGetter", "signature": "modelVersion(): string", "parameters": [], @@ -384,7 +400,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.parent", "qualifiedName": "AzureOpenAIDeploymentResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure OpenAI resource.", "kind": "PropertyGetter", "signature": "parent(): AzureOpenAIResource", "parameters": [], @@ -398,7 +414,8 @@ "name": "setDeploymentName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.setDeploymentName", "qualifiedName": "AzureOpenAIDeploymentResource.setDeploymentName", - "description": "Sets the DeploymentName property", + "description": "Gets or sets the name of the deployment.", + "remarks": "This defaults to `Name`, but allows for a different deployment name in Azure.", "kind": "PropertySetter", "signature": "setDeploymentName(value: string): AzureOpenAIDeploymentResource", "parameters": [ @@ -417,7 +434,7 @@ "name": "setModelName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.setModelName", "qualifiedName": "AzureOpenAIDeploymentResource.setModelName", - "description": "Sets the ModelName property", + "description": "Gets the name of the model.", "kind": "PropertySetter", "signature": "setModelName(value: string): AzureOpenAIDeploymentResource", "parameters": [ @@ -436,7 +453,7 @@ "name": "setModelVersion", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.setModelVersion", "qualifiedName": "AzureOpenAIDeploymentResource.setModelVersion", - "description": "Sets the ModelVersion property", + "description": "Gets the version of the model.", "kind": "PropertySetter", "signature": "setModelVersion(value: string): AzureOpenAIDeploymentResource", "parameters": [ @@ -455,7 +472,7 @@ "name": "setSkuCapacity", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.setSkuCapacity", "qualifiedName": "AzureOpenAIDeploymentResource.setSkuCapacity", - "description": "Sets the SkuCapacity property", + "description": "Gets the capacity of the SKU.", "kind": "PropertySetter", "signature": "setSkuCapacity(value: number): AzureOpenAIDeploymentResource", "parameters": [ @@ -474,7 +491,7 @@ "name": "setSkuName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.setSkuName", "qualifiedName": "AzureOpenAIDeploymentResource.setSkuName", - "description": "Sets the SkuName property", + "description": "Gets the name of the SKU.", "kind": "PropertySetter", "signature": "setSkuName(value: string): AzureOpenAIDeploymentResource", "parameters": [ @@ -493,7 +510,7 @@ "name": "skuCapacity", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.skuCapacity", "qualifiedName": "AzureOpenAIDeploymentResource.skuCapacity", - "description": "Gets the SkuCapacity property", + "description": "Gets the capacity of the SKU.", "kind": "PropertyGetter", "signature": "skuCapacity(): number", "parameters": [], @@ -507,7 +524,7 @@ "name": "skuName", "capabilityId": "Aspire.Hosting.ApplicationModel/AzureOpenAIDeploymentResource.skuName", "qualifiedName": "AzureOpenAIDeploymentResource.skuName", - "description": "Gets the SkuName property", + "description": "Gets the name of the SKU.", "kind": "PropertyGetter", "signature": "skuName(): string", "parameters": [], @@ -521,15 +538,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Azure.CognitiveServices/withProperties", "qualifiedName": "withProperties", - "description": "Configures properties of an Azure OpenAI deployment", + "description": "Allows setting the properties of an Azure OpenAI Deployment resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: AzureOpenAIDeploymentResource) =\u003E Promise\u003Cvoid\u003E): AzureOpenAIDeploymentResource", + "signature": "withProperties(configure: (obj: AzureOpenAIDeploymentResource) => Promise): AzureOpenAIDeploymentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureOpenAIDeploymentResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureOpenAIDeploymentResource) => Promise", + "description": "A method that can be used for customizing the `AzureOpenAIDeploymentResource`." } ], "returnType": "AzureOpenAIDeploymentResource", @@ -545,6 +564,7 @@ "name": "AzureOpenAIResource", "fullName": "Aspire.Hosting.ApplicationModel.AzureOpenAIResource", "kind": "handle", + "description": "Represents an Azure OpenAI resource.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IAzureResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -562,21 +582,25 @@ "name": "addDeployment", "capabilityId": "Aspire.Hosting.Azure.CognitiveServices/addDeployment", "qualifiedName": "addDeployment", - "description": "Adds an Azure OpenAI deployment resource", + "description": "Adds and returns an Azure OpenAI Deployment resource to the `AzureOpenAIResource` resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDeployment(name: string, modelName: string, modelVersion: string): AzureOpenAIDeploymentResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Azure OpenAI Deployment resource." }, { "name": "modelName", - "type": "string" + "type": "string", + "description": "The name of the model to deploy." }, { "name": "modelVersion", - "type": "string" + "type": "string", + "description": "The version of the model to deploy." } ], "returnType": "AzureOpenAIDeploymentResource", @@ -595,10 +619,25 @@ "name": "AzureOpenAIRole", "fullName": "Aspire.Hosting.Azure.CognitiveServices.AzureOpenAIRole", "kind": "enum", + "description": "Represents ATS-compatible Azure OpenAI roles.", "members": [ "CognitiveServicesOpenAIContributor", "CognitiveServicesOpenAIUser", "CognitiveServicesUser" + ], + "memberDocs": [ + { + "name": "CognitiveServicesOpenAIContributor", + "description": "Allows full management of Azure OpenAI resources." + }, + { + "name": "CognitiveServicesOpenAIUser", + "description": "Allows using Azure OpenAI models for inference." + }, + { + "name": "CognitiveServicesUser", + "description": "Allows access to Azure Cognitive Services resources." + } ] } ] diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ContainerRegistry.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ContainerRegistry.13.3.0.json index f99115352..688b28ba5 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ContainerRegistry.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ContainerRegistry.13.3.0.json @@ -10,13 +10,15 @@ "name": "addAzureContainerRegistry", "capabilityId": "Aspire.Hosting.Azure.ContainerRegistry/addAzureContainerRegistry", "qualifiedName": "addAzureContainerRegistry", - "description": "Adds an Azure Container Registry resource to the distributed application model.", + "description": "Adds an Azure Container Registry resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", "signature": "addAzureContainerRegistry(name: string): AzureContainerRegistryResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureContainerRegistryResource", @@ -30,7 +32,8 @@ "name": "getAzureContainerRegistry", "capabilityId": "Aspire.Hosting.Azure.ContainerRegistry/getAzureContainerRegistry", "qualifiedName": "getAzureContainerRegistry", - "description": "Gets the Azure Container Registry associated with a compute environment resource.", + "description": "Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource.", + "returns": "A reference to the `IResourceBuilder`1` for the associated registry.", "kind": "Method", "signature": "getAzureContainerRegistry(): AzureContainerRegistryResource", "parameters": [], @@ -57,13 +60,15 @@ "name": "withAzureContainerRegistry", "capabilityId": "Aspire.Hosting.Azure.ContainerRegistry/withContainerRegistryAzureContainerRegistry", "qualifiedName": "withAzureContainerRegistry", - "description": "Configures a compute environment resource to use an Azure Container Registry.", + "description": "Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): IResource", "parameters": [ { "name": "registryBuilder", - "type": "AzureContainerRegistryResource" + "type": "AzureContainerRegistryResource", + "description": "The resource builder for the `AzureContainerRegistryResource` to use." } ], "returnType": "IResource", @@ -89,35 +94,41 @@ "name": "withPurgeTask", "capabilityId": "Aspire.Hosting.Azure.ContainerRegistry/withPurgeTask", "qualifiedName": "withPurgeTask", - "description": "Configures a purge task for the Azure Container Registry resource.", + "description": "Adds a scheduled ACR purge task to remove old or unused container images from the registry.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withPurgeTask(schedule: string, filter?: string, ago?: timespan, keep?: number, taskName?: string): AzureContainerRegistryResource", "parameters": [ { "name": "schedule", - "type": "string" + "type": "string", + "description": "The cron schedule for the purge task timer trigger. Must be a five-part cron expression (`minute hour day-of-month month day-of-week`); seconds are not supported." }, { "name": "filter", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional filter for the `acr purge --filter` parameter. Only repositories matching this filter will be purged. Defaults to `\".*:.*\"` (all repositories and tags) when `null`." }, { "name": "ago", "type": "timespan", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The age threshold for `acr purge --ago`. Images older than this duration will be considered for removal. Uses Go-style duration format (e.g., `2d3h6m`). Defaults to `0d` when `null`." }, { "name": "keep", "type": "number", "isOptional": true, - "defaultValue": "3" + "defaultValue": "3", + "description": "The number of most recent images to keep per repository, regardless of age. Must be greater than zero. Defaults to 3." }, { "name": "taskName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name for the ACR task resource. If not provided, a name is auto-generated based on existing purge tasks to avoid conflicts. If a task with the specified name already exists, an `ArgumentException` is thrown." } ], "returnType": "AzureContainerRegistryResource", @@ -131,17 +142,20 @@ "name": "withRoleAssignments", "capabilityId": "Aspire.Hosting.Azure.ContainerRegistry/withContainerRegistryRoleAssignments", "qualifiedName": "withRoleAssignments", - "description": "Assigns Azure Container Registry roles to a resource.", + "description": "Adds role assignments to the specified Azure Container Registry resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): IResource", "parameters": [ { "name": "target", - "type": "AzureContainerRegistryResource" + "type": "AzureContainerRegistryResource", + "description": "The target Azure Container Registry resource." }, { "name": "roles", - "type": "AzureContainerRegistryRole[]" + "type": "AzureContainerRegistryRole[]", + "description": "The Azure Container Registry roles to assign to the resource." } ], "returnType": "IResource", @@ -182,35 +196,41 @@ "name": "withPurgeTask", "capabilityId": "Aspire.Hosting.Azure.ContainerRegistry/withPurgeTask", "qualifiedName": "withPurgeTask", - "description": "Configures a purge task for the Azure Container Registry resource.", + "description": "Adds a scheduled ACR purge task to remove old or unused container images from the registry.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withPurgeTask(schedule: string, filter?: string, ago?: timespan, keep?: number, taskName?: string): AzureContainerRegistryResource", "parameters": [ { "name": "schedule", - "type": "string" + "type": "string", + "description": "The cron schedule for the purge task timer trigger. Must be a five-part cron expression (`minute hour day-of-month month day-of-week`); seconds are not supported." }, { "name": "filter", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional filter for the `acr purge --filter` parameter. Only repositories matching this filter will be purged. Defaults to `\".*:.*\"` (all repositories and tags) when `null`." }, { "name": "ago", "type": "timespan", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The age threshold for `acr purge --ago`. Images older than this duration will be considered for removal. Uses Go-style duration format (e.g., `2d3h6m`). Defaults to `0d` when `null`." }, { "name": "keep", "type": "number", "isOptional": true, - "defaultValue": "3" + "defaultValue": "3", + "description": "The number of most recent images to keep per repository, regardless of age. Must be greater than zero. Defaults to 3." }, { "name": "taskName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name for the ACR task resource. If not provided, a name is auto-generated based on existing purge tasks to avoid conflicts. If a task with the specified name already exists, an `ArgumentException` is thrown." } ], "returnType": "AzureContainerRegistryResource", @@ -229,6 +249,7 @@ "name": "AzureContainerRegistryRole", "fullName": "Aspire.Hosting.AzureContainerRegistryRole", "kind": "enum", + "description": "Represents ATS-compatible Azure Container Registry roles.", "members": [ "AcrDelete", "AcrImageSigner", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.CosmosDB.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.CosmosDB.13.3.0.json index e55ffb0f7..0087626bc 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.CosmosDB.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.CosmosDB.13.3.0.json @@ -10,13 +10,15 @@ "name": "addAzureCosmosDB", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/addAzureCosmosDB", "qualifiedName": "addAzureCosmosDB", - "description": "Adds an Azure Cosmos DB resource", + "description": "Adds an Azure Cosmos DB connection to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureCosmosDB(name: string): AzureCosmosDBResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." } ], "returnType": "AzureCosmosDBResource", @@ -59,18 +61,21 @@ "name": "addCosmosDatabase", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/addCosmosDatabase", "qualifiedName": "addCosmosDatabase", - "description": "Adds an Azure Cosmos DB database resource", + "description": "Adds a database to the associated Cosmos DB account resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addCosmosDatabase(name: string, databaseName?: string): AzureCosmosDBDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the database resource." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureCosmosDBDatabaseResource", @@ -84,16 +89,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Azure Cosmos DB resource to run using the local emulator", + "description": "Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB emulator with the NoSQL API. This resource requires an `AzureCosmosDBResource` to be added to the application model. For more information on the Azure Cosmos DB emulator, see .", + "remarks": "When using the Azure Cosmos DB emulator, the container requires a TLS/SSL certificate.\nFor more information, see .\nThis version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureCosmosDBResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) => Promise): AzureCosmosDBResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureCosmosDBEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureCosmosDBEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureCosmosDBResource", @@ -107,16 +115,19 @@ "name": "runAsPreviewEmulator", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/runAsPreviewEmulator", "qualifiedName": "runAsPreviewEmulator", - "description": "Configures the Azure Cosmos DB resource to run using the preview emulator", + "description": "Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB Linux-based emulator (preview) with the NoSQL API. This resource requires an `AzureCosmosDBResource` to be added to the application model. For more information on the Azure Cosmos DB emulator, see .", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsPreviewEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureCosmosDBResource", + "signature": "runAsPreviewEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) => Promise): AzureCosmosDBResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureCosmosDBEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureCosmosDBEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureCosmosDBResource", @@ -151,7 +162,9 @@ "name": "withDataExplorer", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/withDataExplorer", "qualifiedName": "withDataExplorer", - "description": "Exposes the Data Explorer endpoint for the preview emulator", + "description": "Configures the Azure Cosmos DB preview emulator to expose the Data Explorer endpoint.", + "remarks": "The Data Explorer is only available with `RunAsPreviewEmulator`.", + "returns": "Cosmos emulator resource builder.", "kind": "Method", "signature": "withDataExplorer(port?: number): AzureCosmosDBEmulatorResource", "parameters": [ @@ -159,7 +172,8 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "Optional host port to bind the Data Explorer to." } ], "returnType": "AzureCosmosDBEmulatorResource", @@ -173,14 +187,16 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a named volume for the data folder to an Azure Cosmos DB emulator resource", + "description": "Adds a named volume for the data folder to an Azure Cosmos DB emulator resource.", + "returns": "A builder for the `AzureCosmosDBEmulatorResource`.", "kind": "Method", "signature": "withDataVolume(name?: string): AzureCosmosDBEmulatorResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." } ], "returnType": "AzureCosmosDBEmulatorResource", @@ -194,7 +210,8 @@ "name": "withDefaultAzureSku", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/withDefaultAzureSku", "qualifiedName": "withDefaultAzureSku", - "description": "Configures Azure Cosmos DB to use the default Azure SKU", + "description": "Configures the Azure Cosmos DB resource to be deployed use the default SKU provided by Azure.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withDefaultAzureSku(): AzureCosmosDBResource", "parameters": [], @@ -209,14 +226,16 @@ "name": "withGatewayPort", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/withGatewayPort", "qualifiedName": "withGatewayPort", - "description": "Sets the host port for the Cosmos DB emulator gateway endpoint", + "description": "Configures the gateway port for the Azure Cosmos DB emulator.", + "returns": "Cosmos emulator resource builder.", "kind": "Method", "signature": "withGatewayPort(port: number): AzureCosmosDBEmulatorResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "Host port to bind to the emulator gateway port." } ], "returnType": "AzureCosmosDBEmulatorResource", @@ -230,13 +249,16 @@ "name": "withPartitionCount", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/withPartitionCount", "qualifiedName": "withPartitionCount", - "description": "Sets the partition count for the Azure Cosmos DB emulator", + "description": "Configures the partition count for the Azure Cosmos DB emulator.", + "remarks": "Not calling this method will result in the default of 10 partitions. The actual started partitions is always one more than specified.\nSee this documentation about setting the partition count.", + "returns": "Cosmos emulator resource builder.", "kind": "Method", "signature": "withPartitionCount(count: number): AzureCosmosDBEmulatorResource", "parameters": [ { "name": "count", - "type": "number" + "type": "number", + "description": "Desired partition count." } ], "returnType": "AzureCosmosDBEmulatorResource", @@ -258,7 +280,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureCosmosDBDatabaseResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureCosmosDBDatabaseResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IResourceWithAzureFunctionsConfig" @@ -275,7 +297,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.AzureCosmosDBResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.AzureCosmosDBResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IResourceWithAzureFunctionsConfig" @@ -330,7 +352,9 @@ "name": "withDataExplorer", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/withDataExplorer", "qualifiedName": "withDataExplorer", - "description": "Exposes the Data Explorer endpoint for the preview emulator", + "description": "Configures the Azure Cosmos DB preview emulator to expose the Data Explorer endpoint.", + "remarks": "The Data Explorer is only available with `RunAsPreviewEmulator`.", + "returns": "Cosmos emulator resource builder.", "kind": "Method", "signature": "withDataExplorer(port?: number): AzureCosmosDBEmulatorResource", "parameters": [ @@ -338,7 +362,8 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "Optional host port to bind the Data Explorer to." } ], "returnType": "AzureCosmosDBEmulatorResource", @@ -352,14 +377,16 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a named volume for the data folder to an Azure Cosmos DB emulator resource", + "description": "Adds a named volume for the data folder to an Azure Cosmos DB emulator resource.", + "returns": "A builder for the `AzureCosmosDBEmulatorResource`.", "kind": "Method", "signature": "withDataVolume(name?: string): AzureCosmosDBEmulatorResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." } ], "returnType": "AzureCosmosDBEmulatorResource", @@ -373,14 +400,16 @@ "name": "withGatewayPort", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/withGatewayPort", "qualifiedName": "withGatewayPort", - "description": "Sets the host port for the Cosmos DB emulator gateway endpoint", + "description": "Configures the gateway port for the Azure Cosmos DB emulator.", + "returns": "Cosmos emulator resource builder.", "kind": "Method", "signature": "withGatewayPort(port: number): AzureCosmosDBEmulatorResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "Host port to bind to the emulator gateway port." } ], "returnType": "AzureCosmosDBEmulatorResource", @@ -394,13 +423,16 @@ "name": "withPartitionCount", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/withPartitionCount", "qualifiedName": "withPartitionCount", - "description": "Sets the partition count for the Azure Cosmos DB emulator", + "description": "Configures the partition count for the Azure Cosmos DB emulator.", + "remarks": "Not calling this method will result in the default of 10 partitions. The actual started partitions is always one more than specified.\nSee this documentation about setting the partition count.", + "returns": "Cosmos emulator resource builder.", "kind": "Method", "signature": "withPartitionCount(count: number): AzureCosmosDBEmulatorResource", "parameters": [ { "name": "count", - "type": "number" + "type": "number", + "description": "Desired partition count." } ], "returnType": "AzureCosmosDBEmulatorResource", @@ -435,18 +467,21 @@ "name": "addCosmosDatabase", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/addCosmosDatabase", "qualifiedName": "addCosmosDatabase", - "description": "Adds an Azure Cosmos DB database resource", + "description": "Adds a database to the associated Cosmos DB account resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addCosmosDatabase(name: string, databaseName?: string): AzureCosmosDBDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the database resource." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureCosmosDBDatabaseResource", @@ -460,16 +495,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Azure Cosmos DB resource to run using the local emulator", + "description": "Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB emulator with the NoSQL API. This resource requires an `AzureCosmosDBResource` to be added to the application model. For more information on the Azure Cosmos DB emulator, see .", + "remarks": "When using the Azure Cosmos DB emulator, the container requires a TLS/SSL certificate.\nFor more information, see .\nThis version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureCosmosDBResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) => Promise): AzureCosmosDBResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureCosmosDBEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureCosmosDBEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureCosmosDBResource", @@ -483,16 +521,19 @@ "name": "runAsPreviewEmulator", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/runAsPreviewEmulator", "qualifiedName": "runAsPreviewEmulator", - "description": "Configures the Azure Cosmos DB resource to run using the preview emulator", + "description": "Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB Linux-based emulator (preview) with the NoSQL API. This resource requires an `AzureCosmosDBResource` to be added to the application model. For more information on the Azure Cosmos DB emulator, see .", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsPreviewEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureCosmosDBResource", + "signature": "runAsPreviewEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) => Promise): AzureCosmosDBResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureCosmosDBEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureCosmosDBEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureCosmosDBResource", @@ -527,7 +568,8 @@ "name": "withDefaultAzureSku", "capabilityId": "Aspire.Hosting.Azure.CosmosDB/withDefaultAzureSku", "qualifiedName": "withDefaultAzureSku", - "description": "Configures Azure Cosmos DB to use the default Azure SKU", + "description": "Configures the Azure Cosmos DB resource to be deployed use the default SKU provided by Azure.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withDefaultAzureSku(): AzureCosmosDBResource", "parameters": [], diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.EventHubs.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.EventHubs.13.3.0.json index 2d9564823..79f4d695f 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.EventHubs.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.EventHubs.13.3.0.json @@ -10,13 +10,16 @@ "name": "addAzureEventHubs", "capabilityId": "Aspire.Hosting.Azure.EventHubs/addAzureEventHubs", "qualifiedName": "addAzureEventHubs", - "description": "Adds an Azure Event Hubs namespace resource", + "description": "Adds an Azure Event Hubs Namespace resource to the application model. This resource can be used to create Event Hub resources.", + "remarks": "By default references to the Azure AppEvent Hubs Namespace resource will be assigned the following roles:\n- `AzureEventHubsDataOwner`\nThese can be replaced by calling `WithRoleAssignments``1`.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureEventHubs(name: string): AzureEventHubsResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureEventHubsResource", @@ -30,18 +33,21 @@ "name": "addConsumerGroup", "capabilityId": "Aspire.Hosting.Azure.EventHubs/addConsumerGroup", "qualifiedName": "addConsumerGroup", - "description": "Adds an Azure Event Hub consumer group resource", + "description": "Adds an Azure Event Hub Consumer Group resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addConsumerGroup(name: string, groupName?: string): AzureEventHubConsumerGroupResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Event Hub Consumer Group resource." }, { "name": "groupName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Consumer Group. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureEventHubConsumerGroupResource", @@ -55,18 +61,21 @@ "name": "addHub", "capabilityId": "Aspire.Hosting.Azure.EventHubs/addHub", "qualifiedName": "addHub", - "description": "Adds an Azure Event Hub resource", + "description": "Adds an Azure Event Hubs hub resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addHub(name: string, hubName?: string): AzureEventHubResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Event Hub resource." }, { "name": "hubName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Event Hub. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureEventHubResource", @@ -80,7 +89,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.connectionStringExpression", "qualifiedName": "AzureEventHubResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure Event Hub.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -94,7 +103,7 @@ "name": "hubName", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.hubName", "qualifiedName": "AzureEventHubResource.hubName", - "description": "Gets the HubName property", + "description": "The event hub name.", "kind": "PropertyGetter", "signature": "hubName(): string", "parameters": [], @@ -108,7 +117,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.parent", "qualifiedName": "AzureEventHubResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure Event Hubs resource.", "kind": "PropertyGetter", "signature": "parent(): AzureEventHubsResource", "parameters": [], @@ -122,7 +131,7 @@ "name": "partitionCount", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.partitionCount", "qualifiedName": "AzureEventHubResource.partitionCount", - "description": "Gets the PartitionCount property", + "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.", "kind": "PropertyGetter", "signature": "partitionCount(): number", "parameters": [], @@ -136,7 +145,7 @@ "name": "setHubName", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.setHubName", "qualifiedName": "AzureEventHubResource.setHubName", - "description": "Sets the HubName property", + "description": "The event hub name.", "kind": "PropertySetter", "signature": "setHubName(value: string): AzureEventHubResource", "parameters": [ @@ -155,7 +164,7 @@ "name": "setPartitionCount", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.setPartitionCount", "qualifiedName": "AzureEventHubResource.setPartitionCount", - "description": "Sets the PartitionCount property", + "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.", "kind": "PropertySetter", "signature": "setPartitionCount(value: number): AzureEventHubResource", "parameters": [ @@ -174,16 +183,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.EventHubs/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Azure Event Hubs resource to run with the local emulator", + "description": "Configures an Azure Event Hubs resource to be emulated. This resource requires an `AzureEventHubsResource` to be added to the application model.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureEventHubsEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureEventHubsResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureEventHubsEmulatorResource) => Promise): AzureEventHubsResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureEventHubsEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureEventHubsEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureEventHubsResource", @@ -197,13 +209,15 @@ "name": "withConfigurationFile", "capabilityId": "Aspire.Hosting.Azure.EventHubs/withConfigurationFile", "qualifiedName": "withConfigurationFile", - "description": "Sets the emulator configuration file path", + "description": "Adds a bind mount for the configuration file of an Azure Event Hubs emulator resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withConfigurationFile(path: string): AzureEventHubsEmulatorResource", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "Path to the file on the AppHost where the emulator configuration is located." } ], "returnType": "AzureEventHubsEmulatorResource", @@ -217,14 +231,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Azure.EventHubs/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Event Hubs emulator endpoint", + "description": "Configures the host port for the Azure Event Hubs emulator is exposed on instead of using randomly assigned port.", + "returns": "Azure Event Hubs emulator resource builder.", "kind": "Method", "signature": "withHostPort(port: number): AzureEventHubsEmulatorResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used, a random port will be assigned." } ], "returnType": "AzureEventHubsEmulatorResource", @@ -238,15 +254,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Azure.EventHubs/withProperties", "qualifiedName": "withProperties", - "description": "Configures properties of an Azure Event Hub", + "description": "Allows setting the properties of an Azure Event Hub resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: AzureEventHubResource) =\u003E Promise\u003Cvoid\u003E): AzureEventHubResource", + "signature": "withProperties(configure: (obj: AzureEventHubResource) => Promise): AzureEventHubResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureEventHubResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureEventHubResource) => Promise", + "description": "A method that can be used for customizing the `AzureEventHubResource`." } ], "returnType": "AzureEventHubResource", @@ -260,17 +278,20 @@ "name": "withRoleAssignments", "capabilityId": "Aspire.Hosting.Azure.EventHubs/withEventHubsRoleAssignments", "qualifiedName": "withRoleAssignments", - "description": "Assigns Event Hubs roles to a resource", + "description": "Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource.", + "returns": "The updated `IResourceBuilder`1` with the applied role assignments.", "kind": "Method", "signature": "withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): IResource", "parameters": [ { "name": "target", - "type": "AzureEventHubsResource" + "type": "AzureEventHubsResource", + "description": "The target Azure Event Hubs Namespace resource." }, { "name": "roles", - "type": "AzureEventHubsRole[]" + "type": "AzureEventHubsRole[]", + "description": "The Event Hubs roles to be assigned." } ], "returnType": "IResource", @@ -316,7 +337,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureEventHubResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureEventHubResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IResourceWithAzureFunctionsConfig" @@ -328,13 +349,15 @@ "fullName": "Aspire.Hosting.Azure.AzureEventHubResource", "kind": "handle", "exposeProperties": true, + "description": "Represents an Azure Event Hub. Initializes a new instance of the `AzureEventHubResource` class.", + "remarks": "Use `ConfigureInfrastructure``1` to configure specific `Provisioning` properties.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureEventHubsResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureEventHubsResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IResourceWithAzureFunctionsConfig" @@ -344,18 +367,21 @@ "name": "addConsumerGroup", "capabilityId": "Aspire.Hosting.Azure.EventHubs/addConsumerGroup", "qualifiedName": "addConsumerGroup", - "description": "Adds an Azure Event Hub consumer group resource", + "description": "Adds an Azure Event Hub Consumer Group resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addConsumerGroup(name: string, groupName?: string): AzureEventHubConsumerGroupResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Event Hub Consumer Group resource." }, { "name": "groupName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Consumer Group. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureEventHubConsumerGroupResource", @@ -369,7 +395,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.connectionStringExpression", "qualifiedName": "AzureEventHubResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure Event Hub.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -383,7 +409,7 @@ "name": "hubName", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.hubName", "qualifiedName": "AzureEventHubResource.hubName", - "description": "Gets the HubName property", + "description": "The event hub name.", "kind": "PropertyGetter", "signature": "hubName(): string", "parameters": [], @@ -397,7 +423,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.parent", "qualifiedName": "AzureEventHubResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure Event Hubs resource.", "kind": "PropertyGetter", "signature": "parent(): AzureEventHubsResource", "parameters": [], @@ -411,7 +437,7 @@ "name": "partitionCount", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.partitionCount", "qualifiedName": "AzureEventHubResource.partitionCount", - "description": "Gets the PartitionCount property", + "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.", "kind": "PropertyGetter", "signature": "partitionCount(): number", "parameters": [], @@ -425,7 +451,7 @@ "name": "setHubName", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.setHubName", "qualifiedName": "AzureEventHubResource.setHubName", - "description": "Sets the HubName property", + "description": "The event hub name.", "kind": "PropertySetter", "signature": "setHubName(value: string): AzureEventHubResource", "parameters": [ @@ -444,7 +470,7 @@ "name": "setPartitionCount", "capabilityId": "Aspire.Hosting.Azure/AzureEventHubResource.setPartitionCount", "qualifiedName": "AzureEventHubResource.setPartitionCount", - "description": "Sets the PartitionCount property", + "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.", "kind": "PropertySetter", "signature": "setPartitionCount(value: number): AzureEventHubResource", "parameters": [ @@ -463,15 +489,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Azure.EventHubs/withProperties", "qualifiedName": "withProperties", - "description": "Configures properties of an Azure Event Hub", + "description": "Allows setting the properties of an Azure Event Hub resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: AzureEventHubResource) =\u003E Promise\u003Cvoid\u003E): AzureEventHubResource", + "signature": "withProperties(configure: (obj: AzureEventHubResource) => Promise): AzureEventHubResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureEventHubResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureEventHubResource) => Promise", + "description": "A method that can be used for customizing the `AzureEventHubResource`." } ], "returnType": "AzureEventHubResource", @@ -501,13 +529,15 @@ "name": "withConfigurationFile", "capabilityId": "Aspire.Hosting.Azure.EventHubs/withConfigurationFile", "qualifiedName": "withConfigurationFile", - "description": "Sets the emulator configuration file path", + "description": "Adds a bind mount for the configuration file of an Azure Event Hubs emulator resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withConfigurationFile(path: string): AzureEventHubsEmulatorResource", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "Path to the file on the AppHost where the emulator configuration is located." } ], "returnType": "AzureEventHubsEmulatorResource", @@ -521,14 +551,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Azure.EventHubs/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Event Hubs emulator endpoint", + "description": "Configures the host port for the Azure Event Hubs emulator is exposed on instead of using randomly assigned port.", + "returns": "Azure Event Hubs emulator resource builder.", "kind": "Method", "signature": "withHostPort(port: number): AzureEventHubsEmulatorResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used, a random port will be assigned." } ], "returnType": "AzureEventHubsEmulatorResource", @@ -544,6 +576,7 @@ "name": "AzureEventHubsResource", "fullName": "Aspire.Hosting.Azure.AzureEventHubsResource", "kind": "handle", + "description": "Represents an Azure Event Hubs resource.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IAzureResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -563,18 +596,21 @@ "name": "addHub", "capabilityId": "Aspire.Hosting.Azure.EventHubs/addHub", "qualifiedName": "addHub", - "description": "Adds an Azure Event Hub resource", + "description": "Adds an Azure Event Hubs hub resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addHub(name: string, hubName?: string): AzureEventHubResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Event Hub resource." }, { "name": "hubName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Event Hub. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureEventHubResource", @@ -588,16 +624,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.EventHubs/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Azure Event Hubs resource to run with the local emulator", + "description": "Configures an Azure Event Hubs resource to be emulated. This resource requires an `AzureEventHubsResource` to be added to the application model.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureEventHubsEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureEventHubsResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureEventHubsEmulatorResource) => Promise): AzureEventHubsResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureEventHubsEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureEventHubsEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureEventHubsResource", @@ -616,6 +655,7 @@ "name": "AzureEventHubsRole", "fullName": "Aspire.Hosting.AzureEventHubsRole", "kind": "enum", + "description": "Represents ATS-compatible Azure Event Hubs roles.", "members": [ "AzureEventHubsDataOwner", "AzureEventHubsDataReceiver", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.FrontDoor.13.3.0-preview.1.26254.5.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.FrontDoor.13.3.0-preview.1.26254.5.json index 4835c26b5..7ddaf98cb 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.FrontDoor.13.3.0-preview.1.26254.5.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.FrontDoor.13.3.0-preview.1.26254.5.json @@ -10,13 +10,16 @@ "name": "addAzureFrontDoor", "capabilityId": "Aspire.Hosting.Azure.FrontDoor/addAzureFrontDoor", "qualifiedName": "addAzureFrontDoor", - "description": "Adds an Azure Front Door resource", + "description": "Adds an Azure Front Door resource to the application model.", + "remarks": "Azure Front Door is a global, scalable entry point that uses the Microsoft global edge network to create\nfast, secure, and widely scalable web applications. Use `WithOrigin``1` to add origins\n(backends) to the Front Door resource. Each origin gets its own Front Door endpoint, origin group,\nand route, so each backend app is independently routable via its own `*.azurefd.net` hostname.\nFor advanced scenarios (shared origin groups, path-based routing, custom routes), use\n`ConfigureInfrastructure``1` to customize the\ngenerated infrastructure directly.\nAdd an Azure Front Door resource with origins:\n```\nvar api = builder.AddProject(\"api\")\n.WithExternalHttpEndpoints();\nvar web = builder.AddProject(\"web\")\n.WithExternalHttpEndpoints();\nvar frontDoor = builder.AddAzureFrontDoor(\"frontdoor\")\n.WithOrigin(api)\n.WithOrigin(web);\n```", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "addAzureFrontDoor(name: string): AzureFrontDoorResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureFrontDoorResource", @@ -30,13 +33,16 @@ "name": "withOrigin", "capabilityId": "Aspire.Hosting.Azure.FrontDoor/withOrigin", "qualifiedName": "withOrigin", - "description": "Adds an origin (backend) to the Azure Front Door resource", + "description": "Adds an origin (backend) to the Azure Front Door resource. Each origin gets its own Front Door endpoint with a distinct `*.azurefd.net` hostname, its own origin group, and a default route.", + "remarks": "Add multiple origins (each gets its own Front Door endpoint):\n```\nvar frontDoor = builder.AddAzureFrontDoor(\"frontdoor\")\n.WithOrigin(api)\n.WithOrigin(web);\n```", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withOrigin(resource: IComputeResource): AzureFrontDoorResource", "parameters": [ { "name": "resource", - "type": "IComputeResource" + "type": "IComputeResource", + "description": "The resource to add as an origin (e.g., a project, container, or other compute resource with endpoints)." } ], "returnType": "AzureFrontDoorResource", @@ -62,13 +68,16 @@ "name": "withOrigin", "capabilityId": "Aspire.Hosting.Azure.FrontDoor/withOrigin", "qualifiedName": "withOrigin", - "description": "Adds an origin (backend) to the Azure Front Door resource", + "description": "Adds an origin (backend) to the Azure Front Door resource. Each origin gets its own Front Door endpoint with a distinct `*.azurefd.net` hostname, its own origin group, and a default route.", + "remarks": "Add multiple origins (each gets its own Front Door endpoint):\n```\nvar frontDoor = builder.AddAzureFrontDoor(\"frontdoor\")\n.WithOrigin(api)\n.WithOrigin(web);\n```", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withOrigin(resource: IComputeResource): AzureFrontDoorResource", "parameters": [ { "name": "resource", - "type": "IComputeResource" + "type": "IComputeResource", + "description": "The resource to add as an origin (e.g., a project, container, or other compute resource with endpoints)." } ], "returnType": "AzureFrontDoorResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Functions.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Functions.13.3.0.json index 3c26d5779..064eb22ed 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Functions.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Functions.13.3.0.json @@ -10,17 +10,21 @@ "name": "addAzureFunctionsProject", "capabilityId": "Aspire.Hosting.Azure.Functions/addAzureFunctionsProject", "qualifiedName": "addAzureFunctionsProject", - "description": "Adds an Azure Functions project to the distributed application", + "description": "Adds an Azure Functions project to the distributed application.", + "remarks": "This overload of the `AddAzureFunctionsProject` method adds an Azure Functions project to the application\nmodel using a path to the project file. This allows for projects to be referenced that may not be part of the same solution. If the project\npath is not an absolute path then it will be computed relative to the app host directory.\nWhen Functions projects are deployed to Azure Container Apps, they are provisioned with the container app `kind`\nproperty set to `functionapp`. This enables KEDA auto-scaler rules to be automatically configured based on the\nAzure Functions triggers defined in the project.\nBy default, an implicit Azure Storage account is provisioned to be used as host storage for the Functions runtime.\nThis storage account is required by the Azure Functions runtime for operations such as managing triggers, logging\nfunction executions, and coordinating instances. The implicit storage account is assigned the following roles:\n- `StorageBlobDataContributor`\n- `StorageTableDataContributor`\n- `StorageQueueDataContributor`\n- `StorageAccountContributor`\nFor more information, see Azure Functions host storage.\nUse `WithHostStorage` to specify a custom Azure Storage resource as the host storage instead of the\nimplicit default storage account.\nAdd an Azure Functions project to the app model via a project path.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddAzureFunctionsProject(\"funcapp\", @\"..\\MyFunctions\\MyFunctions.csproj\");\nbuilder.Build().Run();\n```", + "returns": "An `IResourceBuilder`1` for the added Azure Functions project resource.", "kind": "Method", "signature": "addAzureFunctionsProject(name: string, projectPath: string): AzureFunctionsProjectResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name to be associated with the Azure Functions project. This name will be used for service discovery when referenced in a dependency." }, { "name": "projectPath", - "type": "string" + "type": "string", + "description": "The path to the Azure Functions project file." } ], "returnType": "AzureFunctionsProjectResource", @@ -35,12 +39,14 @@ "capabilityId": "Aspire.Hosting.Azure.Functions/addDurableTaskScheduler", "qualifiedName": "addDurableTaskScheduler", "description": "Adds a Durable Task scheduler resource to the distributed application.", + "returns": "An `IResourceBuilder`1` for the scheduler resource.", "kind": "Method", "signature": "addDurableTaskScheduler(name: string): DurableTaskSchedulerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The logical name of the scheduler resource." } ], "returnType": "DurableTaskSchedulerResource", @@ -54,13 +60,15 @@ "name": "addTaskHub", "capabilityId": "Aspire.Hosting.Azure.Functions/addTaskHub", "qualifiedName": "addTaskHub", - "description": "Adds a Durable Task hub resource associated with the scheduler.", + "description": "Adds a Durable Task hub resource associated with the specified scheduler.", + "returns": "An `IResourceBuilder`1` for the task hub resource.", "kind": "Method", "signature": "addTaskHub(name: string): DurableTaskHubResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The logical name of the task hub resource." } ], "returnType": "DurableTaskHubResource", @@ -74,7 +82,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure.DurableTask/DurableTaskHubResource.connectionStringExpression", "qualifiedName": "DurableTaskHubResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression composed of the scheduler connection string and the TaskHub name.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -88,7 +96,7 @@ "name": "taskHubName", "capabilityId": "Aspire.Hosting.Azure.DurableTask/DurableTaskHubResource.taskHubName", "qualifiedName": "DurableTaskHubResource.taskHubName", - "description": "Gets the TaskHubName property", + "description": "Gets the name of the Task Hub. If not provided, the logical name of this resource is returned.", "kind": "PropertyGetter", "signature": "taskHubName(): ReferenceExpression", "parameters": [], @@ -102,16 +110,18 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.Functions/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Durable Task scheduler to run using the local emulator.", + "description": "Configures the Durable Task scheduler to run using the local emulator (only in non-publish modes).", + "returns": "The same `IResourceBuilder`1` instance for chaining.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: DurableTaskSchedulerEmulatorResource) =\u003E Promise\u003Cvoid\u003E): DurableTaskSchedulerResource", + "signature": "runAsEmulator(configureContainer?: (obj: DurableTaskSchedulerEmulatorResource) => Promise): DurableTaskSchedulerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: DurableTaskSchedulerEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: DurableTaskSchedulerEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "DurableTaskSchedulerResource", @@ -145,13 +155,15 @@ "name": "withHostStorage", "capabilityId": "Aspire.Hosting.Azure.Functions/withHostStorage", "qualifiedName": "withHostStorage", - "description": "Configures the Azure Functions project to use specified Azure Storage as host storage", + "description": "Configures the Azure Functions project resource to use the specified Azure Storage resource as its host storage.", + "returns": "The resource builder for the Azure Functions project resource, configured with the specified host storage.", "kind": "Method", "signature": "withHostStorage(storage: AzureStorageResource): AzureFunctionsProjectResource", "parameters": [ { "name": "storage", - "type": "AzureStorageResource" + "type": "AzureStorageResource", + "description": "The resource builder for the Azure Storage resource to be used as host storage." } ], "returnType": "AzureFunctionsProjectResource", @@ -192,7 +204,7 @@ "Aspire.Hosting.ApplicationModel.IContainerFilesDestinationResource", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithArgs", - "Aspire.Hosting.ApplicationModel.IResourceWithCustomWithReference\u00601[[Aspire.Hosting.Azure.AzureFunctionsProjectResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithCustomWithReference`1[[Aspire.Hosting.Azure.AzureFunctionsProjectResource]]", "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", "Aspire.Hosting.ApplicationModel.IResourceWithProbes", @@ -204,13 +216,15 @@ "name": "withHostStorage", "capabilityId": "Aspire.Hosting.Azure.Functions/withHostStorage", "qualifiedName": "withHostStorage", - "description": "Configures the Azure Functions project to use specified Azure Storage as host storage", + "description": "Configures the Azure Functions project resource to use the specified Azure Storage resource as its host storage.", + "returns": "The resource builder for the Azure Functions project resource, configured with the specified host storage.", "kind": "Method", "signature": "withHostStorage(storage: AzureStorageResource): AzureFunctionsProjectResource", "parameters": [ { "name": "storage", - "type": "AzureStorageResource" + "type": "AzureStorageResource", + "description": "The resource builder for the Azure Storage resource to be used as host storage." } ], "returnType": "AzureFunctionsProjectResource", @@ -227,13 +241,14 @@ "fullName": "Aspire.Hosting.Azure.DurableTask.DurableTaskHubResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a Durable Task hub resource. A Task Hub groups durable orchestrations and activities. This resource extends the scheduler connection string with the TaskHub name so that clients can connect to the correct hub.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.DurableTask.DurableTaskSchedulerResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.DurableTask.DurableTaskSchedulerResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IResourceWithAzureFunctionsConfig" @@ -243,7 +258,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure.DurableTask/DurableTaskHubResource.connectionStringExpression", "qualifiedName": "DurableTaskHubResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression composed of the scheduler connection string and the TaskHub name.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -257,7 +272,7 @@ "name": "taskHubName", "capabilityId": "Aspire.Hosting.Azure.DurableTask/DurableTaskHubResource.taskHubName", "qualifiedName": "DurableTaskHubResource.taskHubName", - "description": "Gets the TaskHubName property", + "description": "Gets the name of the Task Hub. If not provided, the logical name of this resource is returned.", "kind": "PropertyGetter", "signature": "taskHubName(): ReferenceExpression", "parameters": [], @@ -322,13 +337,15 @@ "name": "addTaskHub", "capabilityId": "Aspire.Hosting.Azure.Functions/addTaskHub", "qualifiedName": "addTaskHub", - "description": "Adds a Durable Task hub resource associated with the scheduler.", + "description": "Adds a Durable Task hub resource associated with the specified scheduler.", + "returns": "An `IResourceBuilder`1` for the task hub resource.", "kind": "Method", "signature": "addTaskHub(name: string): DurableTaskHubResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The logical name of the task hub resource." } ], "returnType": "DurableTaskHubResource", @@ -342,16 +359,18 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.Functions/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Durable Task scheduler to run using the local emulator.", + "description": "Configures the Durable Task scheduler to run using the local emulator (only in non-publish modes).", + "returns": "The same `IResourceBuilder`1` instance for chaining.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: DurableTaskSchedulerEmulatorResource) =\u003E Promise\u003Cvoid\u003E): DurableTaskSchedulerResource", + "signature": "runAsEmulator(configureContainer?: (obj: DurableTaskSchedulerEmulatorResource) => Promise): DurableTaskSchedulerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: DurableTaskSchedulerEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: DurableTaskSchedulerEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "DurableTaskSchedulerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.KeyVault.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.KeyVault.13.3.0.json index d8c21616d..92a859a4d 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.KeyVault.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.KeyVault.13.3.0.json @@ -10,13 +10,16 @@ "name": "addAzureKeyVault", "capabilityId": "Aspire.Hosting.Azure.KeyVault/addAzureKeyVault", "qualifiedName": "addAzureKeyVault", - "description": "Adds an Azure Key Vault resource", + "description": "Adds an Azure Key Vault resource to the application model.", + "remarks": "By default references to the Azure Key Vault resource will be assigned the following roles:\n- `KeyVaultAdministrator`\nThese can be replaced by calling `WithRoleAssignments``1`.\nManaging Secrets:\nUse the `AddSecret` methods to add secrets to the Key Vault:\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar vault = builder.AddAzureKeyVault(\"vault\");\n// Add a secret from a parameter\nvar secret = builder.AddParameter(\"secretParam\", secret: true);\nvault.AddSecret(\"my-secret\", secret);\n// Add a secret from a reference expression\nvar connectionString = ReferenceExpression.Create($\"Server={server};Database={db}\");\nvault.AddSecret(\"connection-string\", connectionString);\n// Get a reference to an existing secret\nvar existingSecret = vault.GetSecret(\"existing-secret\");\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureKeyVault(name: string): AzureKeyVaultResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." } ], "returnType": "AzureKeyVaultResource", @@ -59,13 +62,15 @@ "name": "getSecret", "capabilityId": "Aspire.Hosting.Azure.KeyVault/getSecret", "qualifiedName": "getSecret", - "description": "Gets a secret reference from the Azure Key Vault", + "description": "Gets a secret reference for the specified secret name from the Azure Key Vault resource.", + "returns": "A reference to the secret.", "kind": "Method", "signature": "getSecret(secretName: string): IAzureKeyVaultSecretReference", "parameters": [ { "name": "secretName", - "type": "string" + "type": "string", + "description": "The name of the secret." } ], "returnType": "IAzureKeyVaultSecretReference", @@ -78,17 +83,20 @@ "name": "withRoleAssignments", "capabilityId": "Aspire.Hosting.Azure.KeyVault/withKeyVaultRoleAssignments", "qualifiedName": "withRoleAssignments", - "description": "Assigns Key Vault roles to a resource", + "description": "Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource.", + "returns": "The updated `IResourceBuilder`1` with the applied role assignments.", "kind": "Method", "signature": "withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): IResource", "parameters": [ { "name": "target", - "type": "AzureKeyVaultResource" + "type": "AzureKeyVaultResource", + "description": "The target Azure Key Vault resource." }, { "name": "roles", - "type": "AzureKeyVaultRole[]" + "type": "AzureKeyVaultRole[]", + "description": "The Key Vault roles to be assigned." } ], "returnType": "IResource", @@ -165,13 +173,15 @@ "name": "getSecret", "capabilityId": "Aspire.Hosting.Azure.KeyVault/getSecret", "qualifiedName": "getSecret", - "description": "Gets a secret reference from the Azure Key Vault", + "description": "Gets a secret reference for the specified secret name from the Azure Key Vault resource.", + "returns": "A reference to the secret.", "kind": "Method", "signature": "getSecret(secretName: string): IAzureKeyVaultSecretReference", "parameters": [ { "name": "secretName", - "type": "string" + "type": "string", + "description": "The name of the secret." } ], "returnType": "IAzureKeyVaultSecretReference", @@ -191,7 +201,7 @@ "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureKeyVaultResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureKeyVaultResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IAzureKeyVaultSecretReference" @@ -205,6 +215,7 @@ "name": "AzureKeyVaultRole", "fullName": "Aspire.Hosting.AzureKeyVaultRole", "kind": "enum", + "description": "Represents ATS-compatible Key Vault roles.", "members": [ "KeyVaultAdministrator", "KeyVaultCertificateUser", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Kubernetes.13.3.0-preview.1.26254.5.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Kubernetes.13.3.0-preview.1.26254.5.json index 32ac98f89..72f4364fe 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Kubernetes.13.3.0-preview.1.26254.5.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Kubernetes.13.3.0-preview.1.26254.5.json @@ -10,13 +10,16 @@ "name": "addAzureKubernetesEnvironment", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/addAzureKubernetesEnvironment", "qualifiedName": "addAzureKubernetesEnvironment", - "description": "Adds an Azure Kubernetes Service environment resource", + "description": "Adds an Azure Kubernetes Service (AKS) environment to the distributed application. This provisions an AKS cluster and configures it as a Kubernetes compute environment.", + "remarks": "This method internally creates a Kubernetes environment for Helm-based deployment\nand provisions an AKS cluster via Azure Bicep. It combines the functionality of\n`AddKubernetesEnvironment` with Azure-specific provisioning.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureKubernetesEnvironment(name: string): AzureKubernetesEnvironmentResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the AKS environment resource." } ], "returnType": "AzureKubernetesEnvironmentResource", @@ -30,13 +33,15 @@ "name": "addGateway", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/addGateway", "qualifiedName": "addGateway", - "description": "Adds a Kubernetes Gateway API Gateway to an AKS environment", + "description": "Adds a Kubernetes Gateway API Gateway resource to the application model, associated with the inner Kubernetes environment of the specified AKS environment.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "addGateway(name: string): KubernetesGatewayResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the gateway resource." } ], "returnType": "KubernetesGatewayResource", @@ -50,13 +55,16 @@ "name": "addIngress", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/addIngress", "qualifiedName": "addIngress", - "description": "Adds a Kubernetes Ingress resource to an AKS environment", + "description": "Adds a Kubernetes Ingress resource to the application model, associated with the inner Kubernetes environment of the specified AKS environment. The ingress generates a `networking.k8s.io/v1 Ingress` resource in the Helm chart output at publish time.", + "remarks": "This method delegates to the inner `KubernetesEnvironmentResource` of the AKS\nenvironment. To use an AKS-specific ingress controller (e.g., Azure Application Gateway\nfor Containers), call `WithIngressClass` with the\nappropriate class name.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "addIngress(name: string): KubernetesIngressResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the ingress resource." } ], "returnType": "KubernetesIngressResource", @@ -70,31 +78,37 @@ "name": "addNodePool", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/addNodePool", "qualifiedName": "addNodePool", - "description": "Adds a node pool to the AKS cluster", + "description": "Adds a node pool to the AKS cluster.", + "remarks": "The returned node pool resource can be passed to\n`WithNodePool``1` on compute resources to schedule workloads on this pool.", + "returns": "A reference to the `IResourceBuilder`1` for the new node pool.", "kind": "Method", "signature": "addNodePool(name: string, vmSize?: string, minCount?: number, maxCount?: number): AksNodePoolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the node pool." }, { "name": "vmSize", "type": "string", "isOptional": true, - "defaultValue": "Standard_D2s_v5" + "defaultValue": "Standard_D2s_v5", + "description": "The VM size for nodes. Defaults to `Standard_D2s_v5` if not specified." }, { "name": "minCount", "type": "number", "isOptional": true, - "defaultValue": "1" + "defaultValue": "1", + "description": "The minimum node count for autoscaling. Defaults to 1." }, { "name": "maxCount", "type": "number", "isOptional": true, - "defaultValue": "3" + "defaultValue": "3", + "description": "The maximum node count for autoscaling. Defaults to 3." } ], "returnType": "AksNodePoolResource", @@ -108,13 +122,16 @@ "name": "withContainerRegistry", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/withContainerRegistry", "qualifiedName": "withContainerRegistry", - "description": "Configures the AKS environment to use a specific container registry", + "description": "Configures the AKS environment to use a specific Azure Container Registry for image storage. When set, this replaces the auto-created default container registry.", + "remarks": "If not called, a default Azure Container Registry is automatically created.\nThe registry endpoint is flowed to the inner Kubernetes environment so that\nHelm deployments can push and pull images.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withContainerRegistry(registry: AzureContainerRegistryResource): AzureKubernetesEnvironmentResource", "parameters": [ { "name": "registry", - "type": "AzureContainerRegistryResource" + "type": "AzureContainerRegistryResource", + "description": "The Azure Container Registry resource builder." } ], "returnType": "AzureKubernetesEnvironmentResource", @@ -128,13 +145,15 @@ "name": "withSubnet", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/withSubnet", "qualifiedName": "withSubnet", - "description": "Configures the AKS cluster to use a VNet subnet", + "description": "Configures the AKS cluster to use a VNet subnet for node pool networking. Unlike `WithDelegatedSubnet``1`, this does NOT add a service delegation to the subnet — AKS uses plain (non-delegated) subnets.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withSubnet(subnet: AzureSubnetResource): AzureKubernetesEnvironmentResource", "parameters": [ { "name": "subnet", - "type": "AzureSubnetResource" + "type": "AzureSubnetResource", + "description": "The subnet to use for AKS node pools." } ], "returnType": "AzureKubernetesEnvironmentResource", @@ -148,13 +167,15 @@ "name": "withSubnet", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/withNodePoolSubnet", "qualifiedName": "withSubnet", - "description": "Configures an AKS node pool to use a specific VNet subnet", + "description": "Configures a specific AKS node pool to use its own VNet subnet. When applied, this node pool's subnet overrides the environment-level subnet set via `WithSubnet`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withSubnet(subnet: AzureSubnetResource): AksNodePoolResource", "parameters": [ { "name": "subnet", - "type": "AzureSubnetResource" + "type": "AzureSubnetResource", + "description": "The subnet to use for this node pool." } ], "returnType": "AksNodePoolResource", @@ -168,7 +189,9 @@ "name": "withSystemNodePool", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/withSystemNodePool", "qualifiedName": "withSystemNodePool", - "description": "Replaces the default system node pool with a customized configuration", + "description": "Replaces the default system node pool with a customized configuration.", + "remarks": "Every AKS cluster requires exactly one system node pool for hosting system pods.\nBy default, the system pool uses `Standard_D2s_v5`. Use this method to change\nthe VM size when the default SKU is not available in your subscription or region.\nCalling this method multiple times replaces the previous system pool configuration.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withSystemNodePool(vmSize?: string, minCount?: number, maxCount?: number): AzureKubernetesEnvironmentResource", "parameters": [ @@ -176,19 +199,22 @@ "name": "vmSize", "type": "string", "isOptional": true, - "defaultValue": "Standard_D2s_v5" + "defaultValue": "Standard_D2s_v5", + "description": "The VM size for system pool nodes. Defaults to `Standard_D2s_v5` if not specified." }, { "name": "minCount", "type": "number", "isOptional": true, - "defaultValue": "1" + "defaultValue": "1", + "description": "The minimum node count for autoscaling. Defaults to 1." }, { "name": "maxCount", "type": "number", "isOptional": true, - "defaultValue": "3" + "defaultValue": "3", + "description": "The maximum node count for autoscaling. Defaults to 3." } ], "returnType": "AzureKubernetesEnvironmentResource", @@ -202,7 +228,9 @@ "name": "withWorkloadIdentity", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/withWorkloadIdentity", "qualifiedName": "withWorkloadIdentity", - "description": "Enables workload identity on the AKS cluster", + "description": "Enables or disables workload identity on the AKS environment, allowing pods to authenticate to Azure services using federated credentials.", + "remarks": "This ensures the AKS cluster is configured with OIDC issuer and workload identity enabled.\nWorkload identity is automatically wired when compute resources have an `AppIdentityAnnotation`,\nwhich is added by `WithAzureUserAssignedIdentity` or auto-created by `AzureResourcePreparer`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withWorkloadIdentity(enabled?: boolean): AzureKubernetesEnvironmentResource", "parameters": [ @@ -210,7 +238,8 @@ "name": "enabled", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "`true` to enable workload identity (the default); `false` to disable it." } ], "returnType": "AzureKubernetesEnvironmentResource", @@ -229,20 +258,22 @@ "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource]]" + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource]]" ], "capabilities": [ { "name": "withSubnet", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/withNodePoolSubnet", "qualifiedName": "withSubnet", - "description": "Configures an AKS node pool to use a specific VNet subnet", + "description": "Configures a specific AKS node pool to use its own VNet subnet. When applied, this node pool's subnet overrides the environment-level subnet set via `WithSubnet`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withSubnet(subnet: AzureSubnetResource): AksNodePoolResource", "parameters": [ { "name": "subnet", - "type": "AzureSubnetResource" + "type": "AzureSubnetResource", + "description": "The subnet to use for this node pool." } ], "returnType": "AksNodePoolResource", @@ -271,13 +302,15 @@ "name": "addGateway", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/addGateway", "qualifiedName": "addGateway", - "description": "Adds a Kubernetes Gateway API Gateway to an AKS environment", + "description": "Adds a Kubernetes Gateway API Gateway resource to the application model, associated with the inner Kubernetes environment of the specified AKS environment.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "addGateway(name: string): KubernetesGatewayResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the gateway resource." } ], "returnType": "KubernetesGatewayResource", @@ -291,13 +324,16 @@ "name": "addIngress", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/addIngress", "qualifiedName": "addIngress", - "description": "Adds a Kubernetes Ingress resource to an AKS environment", + "description": "Adds a Kubernetes Ingress resource to the application model, associated with the inner Kubernetes environment of the specified AKS environment. The ingress generates a `networking.k8s.io/v1 Ingress` resource in the Helm chart output at publish time.", + "remarks": "This method delegates to the inner `KubernetesEnvironmentResource` of the AKS\nenvironment. To use an AKS-specific ingress controller (e.g., Azure Application Gateway\nfor Containers), call `WithIngressClass` with the\nappropriate class name.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "addIngress(name: string): KubernetesIngressResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the ingress resource." } ], "returnType": "KubernetesIngressResource", @@ -311,31 +347,37 @@ "name": "addNodePool", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/addNodePool", "qualifiedName": "addNodePool", - "description": "Adds a node pool to the AKS cluster", + "description": "Adds a node pool to the AKS cluster.", + "remarks": "The returned node pool resource can be passed to\n`WithNodePool``1` on compute resources to schedule workloads on this pool.", + "returns": "A reference to the `IResourceBuilder`1` for the new node pool.", "kind": "Method", "signature": "addNodePool(name: string, vmSize?: string, minCount?: number, maxCount?: number): AksNodePoolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the node pool." }, { "name": "vmSize", "type": "string", "isOptional": true, - "defaultValue": "Standard_D2s_v5" + "defaultValue": "Standard_D2s_v5", + "description": "The VM size for nodes. Defaults to `Standard_D2s_v5` if not specified." }, { "name": "minCount", "type": "number", "isOptional": true, - "defaultValue": "1" + "defaultValue": "1", + "description": "The minimum node count for autoscaling. Defaults to 1." }, { "name": "maxCount", "type": "number", "isOptional": true, - "defaultValue": "3" + "defaultValue": "3", + "description": "The maximum node count for autoscaling. Defaults to 3." } ], "returnType": "AksNodePoolResource", @@ -349,13 +391,16 @@ "name": "withContainerRegistry", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/withContainerRegistry", "qualifiedName": "withContainerRegistry", - "description": "Configures the AKS environment to use a specific container registry", + "description": "Configures the AKS environment to use a specific Azure Container Registry for image storage. When set, this replaces the auto-created default container registry.", + "remarks": "If not called, a default Azure Container Registry is automatically created.\nThe registry endpoint is flowed to the inner Kubernetes environment so that\nHelm deployments can push and pull images.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withContainerRegistry(registry: AzureContainerRegistryResource): AzureKubernetesEnvironmentResource", "parameters": [ { "name": "registry", - "type": "AzureContainerRegistryResource" + "type": "AzureContainerRegistryResource", + "description": "The Azure Container Registry resource builder." } ], "returnType": "AzureKubernetesEnvironmentResource", @@ -369,13 +414,15 @@ "name": "withSubnet", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/withSubnet", "qualifiedName": "withSubnet", - "description": "Configures the AKS cluster to use a VNet subnet", + "description": "Configures the AKS cluster to use a VNet subnet for node pool networking. Unlike `WithDelegatedSubnet``1`, this does NOT add a service delegation to the subnet — AKS uses plain (non-delegated) subnets.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withSubnet(subnet: AzureSubnetResource): AzureKubernetesEnvironmentResource", "parameters": [ { "name": "subnet", - "type": "AzureSubnetResource" + "type": "AzureSubnetResource", + "description": "The subnet to use for AKS node pools." } ], "returnType": "AzureKubernetesEnvironmentResource", @@ -389,7 +436,9 @@ "name": "withSystemNodePool", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/withSystemNodePool", "qualifiedName": "withSystemNodePool", - "description": "Replaces the default system node pool with a customized configuration", + "description": "Replaces the default system node pool with a customized configuration.", + "remarks": "Every AKS cluster requires exactly one system node pool for hosting system pods.\nBy default, the system pool uses `Standard_D2s_v5`. Use this method to change\nthe VM size when the default SKU is not available in your subscription or region.\nCalling this method multiple times replaces the previous system pool configuration.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withSystemNodePool(vmSize?: string, minCount?: number, maxCount?: number): AzureKubernetesEnvironmentResource", "parameters": [ @@ -397,19 +446,22 @@ "name": "vmSize", "type": "string", "isOptional": true, - "defaultValue": "Standard_D2s_v5" + "defaultValue": "Standard_D2s_v5", + "description": "The VM size for system pool nodes. Defaults to `Standard_D2s_v5` if not specified." }, { "name": "minCount", "type": "number", "isOptional": true, - "defaultValue": "1" + "defaultValue": "1", + "description": "The minimum node count for autoscaling. Defaults to 1." }, { "name": "maxCount", "type": "number", "isOptional": true, - "defaultValue": "3" + "defaultValue": "3", + "description": "The maximum node count for autoscaling. Defaults to 3." } ], "returnType": "AzureKubernetesEnvironmentResource", @@ -423,7 +475,9 @@ "name": "withWorkloadIdentity", "capabilityId": "Aspire.Hosting.Azure.Kubernetes/withWorkloadIdentity", "qualifiedName": "withWorkloadIdentity", - "description": "Enables workload identity on the AKS cluster", + "description": "Enables or disables workload identity on the AKS environment, allowing pods to authenticate to Azure services using federated credentials.", + "remarks": "This ensures the AKS cluster is configured with OIDC issuer and workload identity enabled.\nWorkload identity is automatically wired when compute resources have an `AppIdentityAnnotation`,\nwhich is added by `WithAzureUserAssignedIdentity` or auto-created by `AzureResourcePreparer`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withWorkloadIdentity(enabled?: boolean): AzureKubernetesEnvironmentResource", "parameters": [ @@ -431,7 +485,8 @@ "name": "enabled", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "`true` to enable workload identity (the default); `false` to disable it." } ], "returnType": "AzureKubernetesEnvironmentResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Kusto.13.3.0-preview.1.26254.5.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Kusto.13.3.0-preview.1.26254.5.json index 94bf51997..a07fb9994 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Kusto.13.3.0-preview.1.26254.5.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Kusto.13.3.0-preview.1.26254.5.json @@ -10,13 +10,16 @@ "name": "addAzureKustoCluster", "capabilityId": "Aspire.Hosting.Azure.Kusto/addAzureKustoCluster", "qualifiedName": "addAzureKustoCluster", - "description": "Adds an Azure Data Explorer (Kusto) cluster resource", + "description": "Adds an Azure Data Explorer (Kusto) cluster resource to the application model.", + "remarks": "When adding an `AzureKustoClusterResource` to your application model the resource can then\nbe referenced by other resources using the resource name. When the dependent resource is using\nthe extension method `WaitFor``1`\nthen the dependent resource will wait until the Kusto database is available.\nBy default references to the Azure Data Explorer database resources will be assigned the following roles:\n- `User`", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureKustoCluster(name: string): AzureKustoClusterResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." } ], "returnType": "AzureKustoClusterResource", @@ -30,18 +33,21 @@ "name": "addReadWriteDatabase", "capabilityId": "Aspire.Hosting.Azure.Kusto/addReadWriteDatabase", "qualifiedName": "addReadWriteDatabase", - "description": "Adds a Kusto read-write database resource", + "description": "Adds a Kusto read-write database to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addReadWriteDatabase(name: string, databaseName?: string): AzureKustoReadWriteDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureKustoReadWriteDatabaseResource", @@ -55,7 +61,7 @@ "name": "clusterUri", "capabilityId": "Aspire.Hosting.Azure/AzureKustoClusterResource.clusterUri", "qualifiedName": "AzureKustoClusterResource.clusterUri", - "description": "Gets the ClusterUri property", + "description": "Gets the cluster URI output reference for the Azure Kusto cluster.", "kind": "PropertyGetter", "signature": "clusterUri(): BicepOutputReference", "parameters": [], @@ -83,7 +89,7 @@ "name": "isEmulator", "capabilityId": "Aspire.Hosting.Azure/AzureKustoClusterResource.isEmulator", "qualifiedName": "AzureKustoClusterResource.isEmulator", - "description": "Gets the IsEmulator property", + "description": "Gets whether the resource is running the local emulator.", "kind": "PropertyGetter", "signature": "isEmulator(): boolean", "parameters": [], @@ -97,7 +103,7 @@ "name": "nameOutputReference", "capabilityId": "Aspire.Hosting.Azure/AzureKustoClusterResource.nameOutputReference", "qualifiedName": "AzureKustoClusterResource.nameOutputReference", - "description": "Gets the NameOutputReference property", + "description": "Gets the \"name\" output reference for the resource.", "kind": "PropertyGetter", "signature": "nameOutputReference(): BicepOutputReference", "parameters": [], @@ -111,7 +117,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.Azure/AzureKustoClusterResource.uriExpression", "qualifiedName": "AzureKustoClusterResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Kusto cluster.", + "remarks": "In emulator mode, resolves to the container's HTTP endpoint.\nIn Azure mode, resolves to the Azure Kusto cluster URI.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -125,7 +132,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureKustoReadWriteDatabaseResource.connectionStringExpression", "qualifiedName": "AzureKustoReadWriteDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Kusto database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -139,7 +146,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.Azure/AzureKustoReadWriteDatabaseResource.databaseName", "qualifiedName": "AzureKustoReadWriteDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -153,7 +160,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureKustoReadWriteDatabaseResource.parent", "qualifiedName": "AzureKustoReadWriteDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Kusto resource.", "kind": "PropertyGetter", "signature": "parent(): AzureKustoClusterResource", "parameters": [], @@ -167,7 +174,8 @@ "name": "getDatabaseCreationScript", "capabilityId": "Aspire.Hosting.Azure.Kusto/getDatabaseCreationScript", "qualifiedName": "getDatabaseCreationScript", - "description": "Gets the KQL script used to create the database.", + "description": "Gets the database creation script from the resource annotation if it exists. If not, creates the default database creation script.", + "remarks": "The default script is\n```\n.create database DATABASE_NAME persist (PERSISTENCE_PATH/DATABASE_NAME/md, PERSISTENCE_PATH/DATABASE_NAME/data) ifnotexists\n```\nwhere\nDATABASE_NAME is the database name and PERSISTENCE_PATH is .", "kind": "Method", "signature": "getDatabaseCreationScript(): string", "parameters": [], @@ -181,16 +189,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.Kusto/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Kusto cluster to run using the local emulator", + "description": "Configures the Kusto resource to run as an emulator using the Kustainer container.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "The resource builder.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureKustoEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureKustoClusterResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureKustoEmulatorResource) => Promise): AzureKustoClusterResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureKustoEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureKustoEmulatorResource) => Promise", + "description": "Optional action to configure the Kusto emulator container." } ], "returnType": "AzureKustoClusterResource", @@ -204,13 +215,16 @@ "name": "withCreationScript", "capabilityId": "Aspire.Hosting.Azure.Kusto/withCreationScript", "qualifiedName": "withCreationScript", - "description": "Defines the KQL script used to create the database", + "description": "Defines the script used to create the database.", + "remarks": "This script will only be executed when the Kusto resource is running in emulator mode. In production scenarios, the database creation should be handled as part of the provisioning process.", + "returns": "The resource builder.", "kind": "Method", "signature": "withCreationScript(script: string): AzureKustoReadWriteDatabaseResource", "parameters": [ { "name": "script", - "type": "string" + "type": "string", + "description": "KQL script to create databases, tables, or data." } ], "returnType": "AzureKustoReadWriteDatabaseResource", @@ -224,13 +238,15 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Azure.Kusto/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Kusto emulator endpoint", + "description": "Configures the host port that the Kusto emulator listens on for HTTP query requests.", + "returns": "An `IResourceBuilder`1` for the `AzureKustoEmulatorResource`.", "kind": "Method", "signature": "withHostPort(port: number): AzureKustoEmulatorResource", "parameters": [ { "name": "port", - "type": "number" + "type": "number", + "description": "Host port to use." } ], "returnType": "AzureKustoEmulatorResource", @@ -247,6 +263,7 @@ "fullName": "Aspire.Hosting.Azure.AzureKustoClusterResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a Kusto cluster.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IAzureResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -263,18 +280,21 @@ "name": "addReadWriteDatabase", "capabilityId": "Aspire.Hosting.Azure.Kusto/addReadWriteDatabase", "qualifiedName": "addReadWriteDatabase", - "description": "Adds a Kusto read-write database resource", + "description": "Adds a Kusto read-write database to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addReadWriteDatabase(name: string, databaseName?: string): AzureKustoReadWriteDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureKustoReadWriteDatabaseResource", @@ -288,7 +308,7 @@ "name": "clusterUri", "capabilityId": "Aspire.Hosting.Azure/AzureKustoClusterResource.clusterUri", "qualifiedName": "AzureKustoClusterResource.clusterUri", - "description": "Gets the ClusterUri property", + "description": "Gets the cluster URI output reference for the Azure Kusto cluster.", "kind": "PropertyGetter", "signature": "clusterUri(): BicepOutputReference", "parameters": [], @@ -316,7 +336,7 @@ "name": "isEmulator", "capabilityId": "Aspire.Hosting.Azure/AzureKustoClusterResource.isEmulator", "qualifiedName": "AzureKustoClusterResource.isEmulator", - "description": "Gets the IsEmulator property", + "description": "Gets whether the resource is running the local emulator.", "kind": "PropertyGetter", "signature": "isEmulator(): boolean", "parameters": [], @@ -330,7 +350,7 @@ "name": "nameOutputReference", "capabilityId": "Aspire.Hosting.Azure/AzureKustoClusterResource.nameOutputReference", "qualifiedName": "AzureKustoClusterResource.nameOutputReference", - "description": "Gets the NameOutputReference property", + "description": "Gets the \"name\" output reference for the resource.", "kind": "PropertyGetter", "signature": "nameOutputReference(): BicepOutputReference", "parameters": [], @@ -344,7 +364,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.Azure/AzureKustoClusterResource.uriExpression", "qualifiedName": "AzureKustoClusterResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Kusto cluster.", + "remarks": "In emulator mode, resolves to the container's HTTP endpoint.\nIn Azure mode, resolves to the Azure Kusto cluster URI.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -358,16 +379,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.Kusto/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Kusto cluster to run using the local emulator", + "description": "Configures the Kusto resource to run as an emulator using the Kustainer container.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "The resource builder.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureKustoEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureKustoClusterResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureKustoEmulatorResource) => Promise): AzureKustoClusterResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureKustoEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureKustoEmulatorResource) => Promise", + "description": "Optional action to configure the Kusto emulator container." } ], "returnType": "AzureKustoClusterResource", @@ -397,13 +421,15 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Azure.Kusto/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Kusto emulator endpoint", + "description": "Configures the host port that the Kusto emulator listens on for HTTP query requests.", + "returns": "An `IResourceBuilder`1` for the `AzureKustoEmulatorResource`.", "kind": "Method", "signature": "withHostPort(port: number): AzureKustoEmulatorResource", "parameters": [ { "name": "port", - "type": "number" + "type": "number", + "description": "Host port to use." } ], "returnType": "AzureKustoEmulatorResource", @@ -420,13 +446,14 @@ "fullName": "Aspire.Hosting.Azure.AzureKustoReadWriteDatabaseResource", "kind": "handle", "exposeProperties": true, + "description": "Represents an Azure Kusto read-write database resource, which is a child resource of a `AzureKustoClusterResource`.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureKustoClusterResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureKustoClusterResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -435,7 +462,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureKustoReadWriteDatabaseResource.connectionStringExpression", "qualifiedName": "AzureKustoReadWriteDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Kusto database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -449,7 +476,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.Azure/AzureKustoReadWriteDatabaseResource.databaseName", "qualifiedName": "AzureKustoReadWriteDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -463,7 +490,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureKustoReadWriteDatabaseResource.parent", "qualifiedName": "AzureKustoReadWriteDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Kusto resource.", "kind": "PropertyGetter", "signature": "parent(): AzureKustoClusterResource", "parameters": [], @@ -477,7 +504,8 @@ "name": "getDatabaseCreationScript", "capabilityId": "Aspire.Hosting.Azure.Kusto/getDatabaseCreationScript", "qualifiedName": "getDatabaseCreationScript", - "description": "Gets the KQL script used to create the database.", + "description": "Gets the database creation script from the resource annotation if it exists. If not, creates the default database creation script.", + "remarks": "The default script is\n```\n.create database DATABASE_NAME persist (PERSISTENCE_PATH/DATABASE_NAME/md, PERSISTENCE_PATH/DATABASE_NAME/data) ifnotexists\n```\nwhere\nDATABASE_NAME is the database name and PERSISTENCE_PATH is .", "kind": "Method", "signature": "getDatabaseCreationScript(): string", "parameters": [], @@ -491,13 +519,16 @@ "name": "withCreationScript", "capabilityId": "Aspire.Hosting.Azure.Kusto/withCreationScript", "qualifiedName": "withCreationScript", - "description": "Defines the KQL script used to create the database", + "description": "Defines the script used to create the database.", + "remarks": "This script will only be executed when the Kusto resource is running in emulator mode. In production scenarios, the database creation should be handled as part of the provisioning process.", + "returns": "The resource builder.", "kind": "Method", "signature": "withCreationScript(script: string): AzureKustoReadWriteDatabaseResource", "parameters": [ { "name": "script", - "type": "string" + "type": "string", + "description": "KQL script to create databases, tables, or data." } ], "returnType": "AzureKustoReadWriteDatabaseResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Network.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Network.13.3.0.json index 3560bc692..29e5dcf5f 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Network.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Network.13.3.0.json @@ -11,17 +11,20 @@ "capabilityId": "Aspire.Hosting.Azure.Network/addAzureVirtualNetwork", "qualifiedName": "addAzureVirtualNetwork", "description": "Adds an Azure Virtual Network resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureVirtualNetwork(name: string, addressPrefix?: string): AzureVirtualNetworkResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Azure Virtual Network resource." }, { "name": "addressPrefix", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The address prefix for the virtual network (e.g., \"10.0.0.0/16\"). If null, defaults to \"10.0.0.0/16\"." } ], "returnType": "AzureVirtualNetworkResource", @@ -36,12 +39,15 @@ "capabilityId": "Aspire.Hosting.Azure.Network/addNatGateway", "qualifiedName": "addNatGateway", "description": "Adds an Azure NAT Gateway resource to the application model.", + "remarks": "The NAT Gateway is created with Standard SKU. If no Public IP Address is explicitly associated\nvia `WithPublicIPAddress`, a Public IP Address is automatically created in the\nNAT Gateway's bicep module with Standard SKU and Static allocation.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addNatGateway(name: string): AzureNatGatewayResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Azure NAT Gateway resource." } ], "returnType": "AzureNatGatewayResource", @@ -55,13 +61,15 @@ "name": "addNetworkSecurityGroup", "capabilityId": "Aspire.Hosting.Azure.Network/addNetworkSecurityGroup", "qualifiedName": "addNetworkSecurityGroup", - "description": "Adds an Azure Network Security Group resource to the application model.", + "description": "Adds an Azure Network Security Group to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addNetworkSecurityGroup(name: string): AzureNetworkSecurityGroupResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Network Security Group resource." } ], "returnType": "AzureNetworkSecurityGroupResource", @@ -75,13 +83,15 @@ "name": "addNetworkSecurityPerimeter", "capabilityId": "Aspire.Hosting.Azure.Network/addNetworkSecurityPerimeter", "qualifiedName": "addNetworkSecurityPerimeter", - "description": "Adds an Azure Network Security Perimeter resource to the application model.", + "description": "Adds an Azure Network Security Perimeter to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addNetworkSecurityPerimeter(name: string): AzureNetworkSecurityPerimeterResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Network Security Perimeter resource." } ], "returnType": "AzureNetworkSecurityPerimeterResource", @@ -95,13 +105,16 @@ "name": "addPrivateEndpoint", "capabilityId": "Aspire.Hosting.Azure.Network/addPrivateEndpoint", "qualifiedName": "addPrivateEndpoint", - "description": "Adds an Azure Private Endpoint resource to an Azure subnet resource.", + "description": "Adds an Azure Private Endpoint resource to the subnet.", + "remarks": "This method automatically creates the Private DNS Zone, VNet Link, and DNS Zone Group\nrequired for private endpoint DNS resolution. Private DNS Zones are shared across\nmultiple private endpoints that use the same zone name.\nWhen a private endpoint is added, the target resource (or its parent) is automatically\nconfigured to deny public network access. To override this behavior, use\n`ConfigureInfrastructure``1` to customize\nthe network settings.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addPrivateEndpoint(target: IAzurePrivateEndpointTarget): AzurePrivateEndpointResource", "parameters": [ { "name": "target", - "type": "IAzurePrivateEndpointTarget" + "type": "IAzurePrivateEndpointTarget", + "description": "The target Azure resource to connect via private link." } ], "returnType": "AzurePrivateEndpointResource", @@ -116,12 +129,15 @@ "capabilityId": "Aspire.Hosting.Azure.Network/addPublicIPAddress", "qualifiedName": "addPublicIPAddress", "description": "Adds an Azure Public IP Address resource to the application model.", + "remarks": "The Public IP Address is created with Standard SKU and Static allocation by default.\nUse `ConfigureInfrastructure``1`\nto customize properties such as DNS labels, availability zones, or IP version.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addPublicIPAddress(name: string): AzurePublicIPAddressResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Azure Public IP Address resource." } ], "returnType": "AzurePublicIPAddressResource", @@ -135,22 +151,26 @@ "name": "addSubnet", "capabilityId": "Aspire.Hosting.Azure.Network/addSubnet", "qualifiedName": "addSubnet", - "description": "Adds an Azure subnet resource to an Azure Virtual Network resource.", + "description": "Adds an Azure Subnet to the Virtual Network.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addSubnet(name: string, addressPrefix: string, subnetName?: string): AzureSubnetResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the subnet resource." }, { "name": "addressPrefix", - "type": "string" + "type": "string", + "description": "The address prefix for the subnet (e.g., \"10.0.1.0/24\")." }, { "name": "subnetName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The subnet name in Azure. If null, the resource name is used." } ], "returnType": "AzureSubnetResource", @@ -164,41 +184,49 @@ "name": "allowInbound", "capabilityId": "Aspire.Hosting.Azure.Network/allowInbound", "qualifiedName": "allowInbound", - "description": "Adds an inbound allow rule to the Azure subnet resource\u0027s Network Security Group.", + "description": "Adds an inbound allow rule to the subnet's Network Security Group.", + "remarks": "If no Network Security Group has been associated with the subnet, one is automatically created.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "allowInbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource", "parameters": [ { "name": "port", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination port range (e.g., \"443\", \"80-443\"). Defaults to \"*\" (any)." }, { "name": "from", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The source address prefix (e.g., \"AzureLoadBalancer\", \"Internet\", \"10.0.0.0/8\"). Defaults to \"*\" (any)." }, { "name": "to", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination address prefix. Defaults to \"*\" (any)." }, { "name": "protocol", "type": "SecurityRuleProtocol", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The network protocol. Defaults to `Asterisk` (any)." }, { "name": "priority", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The rule priority (100-4096). If not specified, auto-increments from 100 by 100." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The rule name. If not specified, auto-generated from parameters." } ], "returnType": "AzureSubnetResource", @@ -212,41 +240,49 @@ "name": "allowOutbound", "capabilityId": "Aspire.Hosting.Azure.Network/allowOutbound", "qualifiedName": "allowOutbound", - "description": "Adds an outbound allow rule to the Azure subnet resource\u0027s Network Security Group.", + "description": "Adds an outbound allow rule to the subnet's Network Security Group.", + "remarks": "If no Network Security Group has been associated with the subnet, one is automatically created.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "allowOutbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource", "parameters": [ { "name": "port", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination port range (e.g., \"443\", \"80-443\"). Defaults to \"*\" (any)." }, { "name": "from", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The source address prefix. Defaults to \"*\" (any)." }, { "name": "to", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination address prefix (e.g., \"Internet\", \"VirtualNetwork\"). Defaults to \"*\" (any)." }, { "name": "protocol", "type": "SecurityRuleProtocol", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The network protocol. Defaults to `Asterisk` (any)." }, { "name": "priority", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The rule priority (100-4096). If not specified, auto-increments from 100 by 100." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The rule name. If not specified, auto-generated from parameters." } ], "returnType": "AzureSubnetResource", @@ -260,41 +296,49 @@ "name": "denyInbound", "capabilityId": "Aspire.Hosting.Azure.Network/denyInbound", "qualifiedName": "denyInbound", - "description": "Adds an inbound deny rule to the Azure subnet resource\u0027s Network Security Group.", + "description": "Adds an inbound deny rule to the subnet's Network Security Group.", + "remarks": "If no Network Security Group has been associated with the subnet, one is automatically created.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "denyInbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource", "parameters": [ { "name": "port", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination port range (e.g., \"443\", \"80-443\"). Defaults to \"*\" (any)." }, { "name": "from", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The source address prefix (e.g., \"Internet\", \"VirtualNetwork\", \"10.0.0.0/8\"). Defaults to \"*\" (any)." }, { "name": "to", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination address prefix. Defaults to \"*\" (any)." }, { "name": "protocol", "type": "SecurityRuleProtocol", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The network protocol. Defaults to `Asterisk` (any)." }, { "name": "priority", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The rule priority (100-4096). If not specified, auto-increments from 100 by 100." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The rule name. If not specified, auto-generated from parameters." } ], "returnType": "AzureSubnetResource", @@ -308,41 +352,49 @@ "name": "denyOutbound", "capabilityId": "Aspire.Hosting.Azure.Network/denyOutbound", "qualifiedName": "denyOutbound", - "description": "Adds an outbound deny rule to the Azure subnet resource\u0027s Network Security Group.", + "description": "Adds an outbound deny rule to the subnet's Network Security Group.", + "remarks": "If no Network Security Group has been associated with the subnet, one is automatically created.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "denyOutbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource", "parameters": [ { "name": "port", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination port range (e.g., \"443\", \"80-443\"). Defaults to \"*\" (any)." }, { "name": "from", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The source address prefix. Defaults to \"*\" (any)." }, { "name": "to", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination address prefix (e.g., \"Internet\", \"VirtualNetwork\"). Defaults to \"*\" (any)." }, { "name": "protocol", "type": "SecurityRuleProtocol", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The network protocol. Defaults to `Asterisk` (any)." }, { "name": "priority", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The rule priority (100-4096). If not specified, auto-increments from 100 by 100." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The rule name. If not specified, auto-generated from parameters." } ], "returnType": "AzureSubnetResource", @@ -356,13 +408,15 @@ "name": "withAccessRule", "capabilityId": "Aspire.Hosting.Azure.Network/withAccessRule", "qualifiedName": "withAccessRule", - "description": "Adds an access rule to an Azure Network Security Perimeter resource.", + "description": "Adds an access rule to the Network Security Perimeter.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withAccessRule(rule: AzureNspAccessRule): AzureNetworkSecurityPerimeterResource", "parameters": [ { "name": "rule", - "type": "AzureNspAccessRule" + "type": "AzureNspAccessRule", + "description": "The access rule configuration." } ], "returnType": "AzureNetworkSecurityPerimeterResource", @@ -376,13 +430,16 @@ "name": "withDelegatedSubnet", "capabilityId": "Aspire.Hosting.Azure.Network/withSubnetDelegatedSubnet", "qualifiedName": "withDelegatedSubnet", - "description": "Associates a delegated Azure subnet resource with an Azure resource that supports subnet delegation.", + "description": "Configures the resource to use the specified subnet with appropriate service delegation.", + "remarks": "This method automatically configures the subnet with the appropriate service delegation\nfor the target resource type (e.g., \"Microsoft.App/environments\" for Azure Container Apps).", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withDelegatedSubnet(subnet: AzureSubnetResource): IAzureDelegatedSubnetResource", "parameters": [ { "name": "subnet", - "type": "AzureSubnetResource" + "type": "AzureSubnetResource", + "description": "The subnet to associate with the resource." } ], "returnType": "IAzureDelegatedSubnetResource", @@ -396,13 +453,16 @@ "name": "withNatGateway", "capabilityId": "Aspire.Hosting.Azure.Network/withNatGateway", "qualifiedName": "withNatGateway", - "description": "Associates an Azure NAT Gateway resource with an Azure subnet resource.", + "description": "Associates a NAT Gateway with the subnet.", + "remarks": "A NAT Gateway provides outbound internet connectivity for resources in the subnet.\nA subnet can have at most one NAT Gateway.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withNatGateway(natGateway: AzureNatGatewayResource): AzureSubnetResource", "parameters": [ { "name": "natGateway", - "type": "AzureNatGatewayResource" + "type": "AzureNatGatewayResource", + "description": "The NAT Gateway to associate with the subnet." } ], "returnType": "AzureSubnetResource", @@ -416,13 +476,15 @@ "name": "withNetworkSecurityGroup", "capabilityId": "Aspire.Hosting.Azure.Network/withNetworkSecurityGroup", "qualifiedName": "withNetworkSecurityGroup", - "description": "Associates an Azure Network Security Group resource with an Azure subnet resource.", + "description": "Associates a Network Security Group with the subnet.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withNetworkSecurityGroup(nsg: AzureNetworkSecurityGroupResource): AzureSubnetResource", "parameters": [ { "name": "nsg", - "type": "AzureNetworkSecurityGroupResource" + "type": "AzureNetworkSecurityGroupResource", + "description": "The Network Security Group to associate with the subnet." } ], "returnType": "AzureSubnetResource", @@ -437,23 +499,28 @@ "capabilityId": "Aspire.Hosting.Azure.Network/associateWithNetworkSecurityPerimeter", "qualifiedName": "withNetworkSecurityPerimeter", "description": "Associates an Azure PaaS resource with a Network Security Perimeter.", + "remarks": "In `Enforced` mode, resources within the\nperimeter can communicate with each other, but public access is restricted to the rules defined\nin the perimeter profile.\nIn `Learning` mode, traffic that would\nbe blocked by the perimeter rules is logged but not denied. This is useful when onboarding\nresources to identify required access rules before switching to enforced mode.", + "returns": "A reference to the target resource builder for chaining.", "kind": "Method", "signature": "withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): IResource", "parameters": [ { "name": "nsp", - "type": "AzureNetworkSecurityPerimeterResource" + "type": "AzureNetworkSecurityPerimeterResource", + "description": "The Network Security Perimeter to associate with." }, { "name": "accessMode", "type": "NetworkSecurityPerimeterAssociationAccessMode", "isOptional": true, - "defaultValue": "Enforced" + "defaultValue": "Enforced", + "description": "The access mode for the association. Defaults to `Enforced`. Use `Learning` to log violations without blocking traffic." }, { "name": "associationName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "An optional name for the association. If not provided, defaults to `\"{resourceName}-assoc\"`." } ], "returnType": "IResource", @@ -485,13 +552,16 @@ "name": "withPublicIPAddress", "capabilityId": "Aspire.Hosting.Azure.Network/withPublicIPAddress", "qualifiedName": "withPublicIPAddress", - "description": "Associates an Azure Public IP Address resource with an Azure NAT Gateway resource.", + "description": "Associates an explicit Public IP Address resource with the NAT Gateway.", + "remarks": "When an explicit Public IP Address is provided, the NAT Gateway will not auto-create one.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withPublicIPAddress(publicIPAddress: AzurePublicIPAddressResource): AzureNatGatewayResource", "parameters": [ { "name": "publicIPAddress", - "type": "AzurePublicIPAddressResource" + "type": "AzurePublicIPAddressResource", + "description": "The Public IP Address resource to associate." } ], "returnType": "AzureNatGatewayResource", @@ -505,13 +575,15 @@ "name": "withSecurityRule", "capabilityId": "Aspire.Hosting.Azure.Network/withSecurityRule", "qualifiedName": "withSecurityRule", - "description": "Adds a security rule to an Azure Network Security Group resource.", + "description": "Adds a security rule to the Network Security Group.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withSecurityRule(rule: AzureSecurityRule): AzureNetworkSecurityGroupResource", "parameters": [ { "name": "rule", - "type": "AzureSecurityRule" + "type": "AzureSecurityRule", + "description": "The security rule configuration." } ], "returnType": "AzureNetworkSecurityGroupResource", @@ -537,13 +609,16 @@ "name": "withPublicIPAddress", "capabilityId": "Aspire.Hosting.Azure.Network/withPublicIPAddress", "qualifiedName": "withPublicIPAddress", - "description": "Associates an Azure Public IP Address resource with an Azure NAT Gateway resource.", + "description": "Associates an explicit Public IP Address resource with the NAT Gateway.", + "remarks": "When an explicit Public IP Address is provided, the NAT Gateway will not auto-create one.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withPublicIPAddress(publicIPAddress: AzurePublicIPAddressResource): AzureNatGatewayResource", "parameters": [ { "name": "publicIPAddress", - "type": "AzurePublicIPAddressResource" + "type": "AzurePublicIPAddressResource", + "description": "The Public IP Address resource to associate." } ], "returnType": "AzureNatGatewayResource", @@ -569,13 +644,15 @@ "name": "withSecurityRule", "capabilityId": "Aspire.Hosting.Azure.Network/withSecurityRule", "qualifiedName": "withSecurityRule", - "description": "Adds a security rule to an Azure Network Security Group resource.", + "description": "Adds a security rule to the Network Security Group.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withSecurityRule(rule: AzureSecurityRule): AzureNetworkSecurityGroupResource", "parameters": [ { "name": "rule", - "type": "AzureSecurityRule" + "type": "AzureSecurityRule", + "description": "The security rule configuration." } ], "returnType": "AzureNetworkSecurityGroupResource", @@ -601,13 +678,15 @@ "name": "withAccessRule", "capabilityId": "Aspire.Hosting.Azure.Network/withAccessRule", "qualifiedName": "withAccessRule", - "description": "Adds an access rule to an Azure Network Security Perimeter resource.", + "description": "Adds an access rule to the Network Security Perimeter.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withAccessRule(rule: AzureNspAccessRule): AzureNetworkSecurityPerimeterResource", "parameters": [ { "name": "rule", - "type": "AzureNspAccessRule" + "type": "AzureNspAccessRule", + "description": "The access rule configuration." } ], "returnType": "AzureNetworkSecurityPerimeterResource", @@ -645,23 +724,28 @@ "name": "AzureSubnetResource", "fullName": "Aspire.Hosting.Azure.AzureSubnetResource", "kind": "handle", + "description": "Represents an Azure Subnet resource.", + "remarks": "Use `ConfigureInfrastructure``1` to configure specific `Provisioning` properties.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureVirtualNetworkResource]]" + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureVirtualNetworkResource]]" ], "capabilities": [ { "name": "addPrivateEndpoint", "capabilityId": "Aspire.Hosting.Azure.Network/addPrivateEndpoint", "qualifiedName": "addPrivateEndpoint", - "description": "Adds an Azure Private Endpoint resource to an Azure subnet resource.", + "description": "Adds an Azure Private Endpoint resource to the subnet.", + "remarks": "This method automatically creates the Private DNS Zone, VNet Link, and DNS Zone Group\nrequired for private endpoint DNS resolution. Private DNS Zones are shared across\nmultiple private endpoints that use the same zone name.\nWhen a private endpoint is added, the target resource (or its parent) is automatically\nconfigured to deny public network access. To override this behavior, use\n`ConfigureInfrastructure``1` to customize\nthe network settings.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addPrivateEndpoint(target: IAzurePrivateEndpointTarget): AzurePrivateEndpointResource", "parameters": [ { "name": "target", - "type": "IAzurePrivateEndpointTarget" + "type": "IAzurePrivateEndpointTarget", + "description": "The target Azure resource to connect via private link." } ], "returnType": "AzurePrivateEndpointResource", @@ -675,41 +759,49 @@ "name": "allowInbound", "capabilityId": "Aspire.Hosting.Azure.Network/allowInbound", "qualifiedName": "allowInbound", - "description": "Adds an inbound allow rule to the Azure subnet resource\u0027s Network Security Group.", + "description": "Adds an inbound allow rule to the subnet's Network Security Group.", + "remarks": "If no Network Security Group has been associated with the subnet, one is automatically created.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "allowInbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource", "parameters": [ { "name": "port", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination port range (e.g., \"443\", \"80-443\"). Defaults to \"*\" (any)." }, { "name": "from", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The source address prefix (e.g., \"AzureLoadBalancer\", \"Internet\", \"10.0.0.0/8\"). Defaults to \"*\" (any)." }, { "name": "to", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination address prefix. Defaults to \"*\" (any)." }, { "name": "protocol", "type": "SecurityRuleProtocol", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The network protocol. Defaults to `Asterisk` (any)." }, { "name": "priority", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The rule priority (100-4096). If not specified, auto-increments from 100 by 100." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The rule name. If not specified, auto-generated from parameters." } ], "returnType": "AzureSubnetResource", @@ -723,41 +815,49 @@ "name": "allowOutbound", "capabilityId": "Aspire.Hosting.Azure.Network/allowOutbound", "qualifiedName": "allowOutbound", - "description": "Adds an outbound allow rule to the Azure subnet resource\u0027s Network Security Group.", + "description": "Adds an outbound allow rule to the subnet's Network Security Group.", + "remarks": "If no Network Security Group has been associated with the subnet, one is automatically created.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "allowOutbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource", "parameters": [ { "name": "port", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination port range (e.g., \"443\", \"80-443\"). Defaults to \"*\" (any)." }, { "name": "from", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The source address prefix. Defaults to \"*\" (any)." }, { "name": "to", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination address prefix (e.g., \"Internet\", \"VirtualNetwork\"). Defaults to \"*\" (any)." }, { "name": "protocol", "type": "SecurityRuleProtocol", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The network protocol. Defaults to `Asterisk` (any)." }, { "name": "priority", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The rule priority (100-4096). If not specified, auto-increments from 100 by 100." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The rule name. If not specified, auto-generated from parameters." } ], "returnType": "AzureSubnetResource", @@ -771,41 +871,49 @@ "name": "denyInbound", "capabilityId": "Aspire.Hosting.Azure.Network/denyInbound", "qualifiedName": "denyInbound", - "description": "Adds an inbound deny rule to the Azure subnet resource\u0027s Network Security Group.", + "description": "Adds an inbound deny rule to the subnet's Network Security Group.", + "remarks": "If no Network Security Group has been associated with the subnet, one is automatically created.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "denyInbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource", "parameters": [ { "name": "port", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination port range (e.g., \"443\", \"80-443\"). Defaults to \"*\" (any)." }, { "name": "from", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The source address prefix (e.g., \"Internet\", \"VirtualNetwork\", \"10.0.0.0/8\"). Defaults to \"*\" (any)." }, { "name": "to", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination address prefix. Defaults to \"*\" (any)." }, { "name": "protocol", "type": "SecurityRuleProtocol", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The network protocol. Defaults to `Asterisk` (any)." }, { "name": "priority", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The rule priority (100-4096). If not specified, auto-increments from 100 by 100." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The rule name. If not specified, auto-generated from parameters." } ], "returnType": "AzureSubnetResource", @@ -819,41 +927,49 @@ "name": "denyOutbound", "capabilityId": "Aspire.Hosting.Azure.Network/denyOutbound", "qualifiedName": "denyOutbound", - "description": "Adds an outbound deny rule to the Azure subnet resource\u0027s Network Security Group.", + "description": "Adds an outbound deny rule to the subnet's Network Security Group.", + "remarks": "If no Network Security Group has been associated with the subnet, one is automatically created.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "denyOutbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource", "parameters": [ { "name": "port", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination port range (e.g., \"443\", \"80-443\"). Defaults to \"*\" (any)." }, { "name": "from", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The source address prefix. Defaults to \"*\" (any)." }, { "name": "to", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The destination address prefix (e.g., \"Internet\", \"VirtualNetwork\"). Defaults to \"*\" (any)." }, { "name": "protocol", "type": "SecurityRuleProtocol", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The network protocol. Defaults to `Asterisk` (any)." }, { "name": "priority", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The rule priority (100-4096). If not specified, auto-increments from 100 by 100." }, { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The rule name. If not specified, auto-generated from parameters." } ], "returnType": "AzureSubnetResource", @@ -867,13 +983,16 @@ "name": "withNatGateway", "capabilityId": "Aspire.Hosting.Azure.Network/withNatGateway", "qualifiedName": "withNatGateway", - "description": "Associates an Azure NAT Gateway resource with an Azure subnet resource.", + "description": "Associates a NAT Gateway with the subnet.", + "remarks": "A NAT Gateway provides outbound internet connectivity for resources in the subnet.\nA subnet can have at most one NAT Gateway.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withNatGateway(natGateway: AzureNatGatewayResource): AzureSubnetResource", "parameters": [ { "name": "natGateway", - "type": "AzureNatGatewayResource" + "type": "AzureNatGatewayResource", + "description": "The NAT Gateway to associate with the subnet." } ], "returnType": "AzureSubnetResource", @@ -887,13 +1006,15 @@ "name": "withNetworkSecurityGroup", "capabilityId": "Aspire.Hosting.Azure.Network/withNetworkSecurityGroup", "qualifiedName": "withNetworkSecurityGroup", - "description": "Associates an Azure Network Security Group resource with an Azure subnet resource.", + "description": "Associates a Network Security Group with the subnet.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withNetworkSecurityGroup(nsg: AzureNetworkSecurityGroupResource): AzureSubnetResource", "parameters": [ { "name": "nsg", - "type": "AzureNetworkSecurityGroupResource" + "type": "AzureNetworkSecurityGroupResource", + "description": "The Network Security Group to associate with the subnet." } ], "returnType": "AzureSubnetResource", @@ -909,6 +1030,7 @@ "name": "AzureVirtualNetworkResource", "fullName": "Aspire.Hosting.Azure.AzureVirtualNetworkResource", "kind": "handle", + "description": "Represents an Azure Virtual Network resource.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IAzureResource", "Aspire.Hosting.ApplicationModel.IResource", @@ -919,22 +1041,26 @@ "name": "addSubnet", "capabilityId": "Aspire.Hosting.Azure.Network/addSubnet", "qualifiedName": "addSubnet", - "description": "Adds an Azure subnet resource to an Azure Virtual Network resource.", + "description": "Adds an Azure Subnet to the Virtual Network.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addSubnet(name: string, addressPrefix: string, subnetName?: string): AzureSubnetResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the subnet resource." }, { "name": "addressPrefix", - "type": "string" + "type": "string", + "description": "The address prefix for the subnet (e.g., \"10.0.1.0/24\")." }, { "name": "subnetName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The subnet name in Azure. If null, the resource name is used." } ], "returnType": "AzureSubnetResource", @@ -952,44 +1078,54 @@ "name": "AzureNspAccessRule", "fullName": "Aspire.Hosting.Azure.AzureNspAccessRule", "kind": "dto", + "description": "Represents an access rule configuration for an Azure Network Security Perimeter.", + "remarks": "Access rules control how traffic flows into and out of the network security perimeter.\nInbound rules specify which external sources (IP ranges or subscriptions) can access\nresources within the perimeter. Outbound rules specify which external destinations (FQDNs)\nresources within the perimeter can communicate with.", "fields": [ { "name": "Name", - "type": "string" + "type": "string", + "description": "Gets or sets the name of the access rule. This name must be unique within the perimeter profile." }, { "name": "Direction", - "type": "NetworkSecurityPerimeterAccessRuleDirection" + "type": "NetworkSecurityPerimeterAccessRuleDirection", + "description": "Gets or sets the direction of the rule." }, { "name": "AddressPrefixes", - "type": "List\u003Cstring\u003E", - "isOptional": true + "type": "List", + "isOptional": true, + "description": "Gets the list of inbound address prefixes (CIDR ranges) allowed by this rule." }, { "name": "AddressPrefixReferences", - "type": "List\u003CAspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression\u003E", - "isOptional": true + "type": "List", + "isOptional": true, + "description": "Gets the list of inbound address prefixes (CIDR ranges) `ReferenceExpression` values allowed by this rule." }, { "name": "Subscriptions", - "type": "List\u003Cstring\u003E", - "isOptional": true + "type": "List", + "isOptional": true, + "description": "Gets the list of subscription IDs allowed by this rule." }, { "name": "SubscriptionReferences", - "type": "List\u003CAspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression\u003E", - "isOptional": true + "type": "List", + "isOptional": true, + "description": "Gets the subscription resource ID `ReferenceExpression` values allowed by this rule." }, { "name": "FullyQualifiedDomainNames", - "type": "List\u003Cstring\u003E", - "isOptional": true + "type": "List", + "isOptional": true, + "description": "Gets the list of fully qualified domain names (FQDNs) allowed by this rule." }, { "name": "FullyQualifiedDomainNameReferences", - "type": "List\u003CAspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression\u003E", - "isOptional": true + "type": "List", + "isOptional": true, + "description": "Gets the fully qualified domain name `ReferenceExpression` values allowed by this rule." } ] }, @@ -997,54 +1133,68 @@ "name": "AzureSecurityRule", "fullName": "Aspire.Hosting.Azure.AzureSecurityRule", "kind": "dto", + "description": "Represents a security rule configuration for an Azure Network Security Group.", + "remarks": "Security rules control inbound and outbound network traffic for subnets associated with the Network Security Group.\nRules are evaluated in priority order, with lower numbers having higher priority.", "fields": [ { "name": "Name", - "type": "string" + "type": "string", + "description": "Gets or sets the name of the security rule. This name must be unique within the Network Security Group." }, { "name": "Description", - "type": "string" + "type": "string", + "description": "Gets or sets an optional description for the security rule." }, { "name": "Priority", - "type": "number" + "type": "number", + "description": "Gets or sets the priority of the rule. Valid values are between 100 and 4096. Lower numbers have higher priority." }, { "name": "Direction", - "type": "SecurityRuleDirection" + "type": "SecurityRuleDirection", + "description": "Gets or sets the direction of the rule." }, { "name": "Access", - "type": "SecurityRuleAccess" + "type": "SecurityRuleAccess", + "description": "Gets or sets whether network traffic is allowed or denied." }, { "name": "Protocol", - "type": "SecurityRuleProtocol" + "type": "SecurityRuleProtocol", + "description": "Gets or sets the network protocol this rule applies to." }, { "name": "SourceAddressPrefix", - "type": "string" + "type": "string", + "description": "Gets or sets the source address prefix. Defaults to \"*\" (any)." }, { "name": "SourceAddressPrefixReference", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "Gets or sets a `ReferenceExpression` whose value is resolved at deploy time and used as the source address prefix for the rule. Takes precedence over `SourceAddressPrefix`." }, { "name": "SourcePortRange", - "type": "string" + "type": "string", + "description": "Gets or sets the source port range. Defaults to \"*\" (any)." }, { "name": "DestinationAddressPrefix", - "type": "string" + "type": "string", + "description": "Gets or sets the destination address prefix. Defaults to \"*\" (any)." }, { "name": "DestinationAddressPrefixReference", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "Gets or sets a `ReferenceExpression` whose value is resolved at deploy time and used as the destination address prefix for the rule. Takes precedence over `DestinationAddressPrefix`." }, { "name": "DestinationPortRange", - "type": "string" + "type": "string", + "description": "Gets or sets the destination port range. Use \"*\" for any, or a range like \"80-443\"." } ] } diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.OperationalInsights.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.OperationalInsights.13.3.0.json index 49eab5307..62ef001e4 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.OperationalInsights.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.OperationalInsights.13.3.0.json @@ -10,13 +10,15 @@ "name": "addAzureLogAnalyticsWorkspace", "capabilityId": "Aspire.Hosting.Azure.OperationalInsights/addAzureLogAnalyticsWorkspace", "qualifiedName": "addAzureLogAnalyticsWorkspace", - "description": "Adds an Azure Log Analytics Workspace resource", + "description": "Adds an Azure Log Analytics Workspace resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureLogAnalyticsWorkspace(name: string): AzureLogAnalyticsWorkspaceResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." } ], "returnType": "AzureLogAnalyticsWorkspaceResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.PostgreSQL.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.PostgreSQL.13.3.0.json index cda14abfe..bc6aa086a 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.PostgreSQL.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.PostgreSQL.13.3.0.json @@ -10,13 +10,16 @@ "name": "addAzurePostgresFlexibleServer", "capabilityId": "Aspire.Hosting.Azure.PostgreSQL/addAzurePostgresFlexibleServer", "qualifiedName": "addAzurePostgresFlexibleServer", - "description": "Adds an Azure PostgreSQL Flexible Server resource", + "description": "Adds an Azure PostgreSQL Flexible Server resource to the application model.", + "remarks": "By default, the Azure PostgreSQL Flexible Server resource is configured to use Microsoft Entra ID (Azure Active Directory) for authentication.\nThis requires changes to the application code to use an azure credential to authenticate with the resource. See\nhttps://learn.microsoft.com/azure/postgresql/flexible-server/how-to-connect-with-managed-identity#connect-using-managed-identity-in-c for more information.\nYou can use the `WithPasswordAuthentication` method to configure the resource to use password authentication.\nThe following example creates an Azure PostgreSQL Flexible Server resource and referencing that resource in a .NET project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar data = builder.AddAzurePostgresFlexibleServer(\"data\");\nbuilder.AddProject()\n.WithReference(data);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", "signature": "addAzurePostgresFlexibleServer(name: string): AzurePostgresFlexibleServerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzurePostgresFlexibleServerResource", @@ -30,18 +33,21 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.Azure.PostgreSQL/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds an Azure PostgreSQL database", + "description": "Adds an Azure PostgreSQL database to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): AzurePostgresFlexibleServerDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzurePostgresFlexibleServerDatabaseResource", @@ -55,16 +61,19 @@ "name": "runAsContainer", "capabilityId": "Aspire.Hosting.Azure.PostgreSQL/runAsContainer", "qualifiedName": "runAsContainer", - "description": "Configures the Azure PostgreSQL Flexible Server resource to run locally in a container", + "description": "Configures an Azure PostgreSQL Flexible Server resource to run locally in a container.", + "remarks": "The following example creates an Azure PostgreSQL Flexible Server resource that runs locally in a\nPostgreSQL container and referencing that resource in a .NET project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar data = builder.AddAzurePostgresFlexibleServer(\"data\")\n.RunAsContainer();\nbuilder.AddProject()\n.WithReference(data);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", - "signature": "runAsContainer(configureContainer?: (obj: PostgresServerResource) =\u003E Promise\u003Cvoid\u003E): AzurePostgresFlexibleServerResource", + "signature": "runAsContainer(configureContainer?: (obj: PostgresServerResource) => Promise): AzurePostgresFlexibleServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PostgresServerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PostgresServerResource) => Promise", + "description": "Callback that exposes underlying container to allow for customization." } ], "returnType": "AzurePostgresFlexibleServerResource", @@ -109,21 +118,25 @@ "name": "withPostgresMcp", "capabilityId": "Aspire.Hosting.Azure.PostgreSQL/withPostgresMcp", "qualifiedName": "withPostgresMcp", - "description": "Adds a Postgres MCP server container", + "description": "Adds a Postgres MCP server container and configures it to connect to the database represented by `builder`.", + "remarks": "The Postgres MCP server is configured to use SSE transport and will expose an HTTP endpoint.\nThis extension method only applies when the Azure PostgreSQL resource is running as a container (i.e., `IsContainer` is `true`).\nIf the resource is not running as a container, this method has no effect.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withPostgresMcp(configureContainer?: (obj: PostgresMcpContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): AzurePostgresFlexibleServerDatabaseResource", + "signature": "withPostgresMcp(configureContainer?: (obj: PostgresMcpContainerResource) => Promise, containerName?: string): AzurePostgresFlexibleServerDatabaseResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PostgresMcpContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PostgresMcpContainerResource) => Promise", + "description": "Configuration callback for the Postgres MCP container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (optional)." } ], "returnType": "AzurePostgresFlexibleServerDatabaseResource", @@ -145,7 +158,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzurePostgresFlexibleServerResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzurePostgresFlexibleServerResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -154,21 +167,25 @@ "name": "withPostgresMcp", "capabilityId": "Aspire.Hosting.Azure.PostgreSQL/withPostgresMcp", "qualifiedName": "withPostgresMcp", - "description": "Adds a Postgres MCP server container", + "description": "Adds a Postgres MCP server container and configures it to connect to the database represented by `builder`.", + "remarks": "The Postgres MCP server is configured to use SSE transport and will expose an HTTP endpoint.\nThis extension method only applies when the Azure PostgreSQL resource is running as a container (i.e., `IsContainer` is `true`).\nIf the resource is not running as a container, this method has no effect.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withPostgresMcp(configureContainer?: (obj: PostgresMcpContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): AzurePostgresFlexibleServerDatabaseResource", + "signature": "withPostgresMcp(configureContainer?: (obj: PostgresMcpContainerResource) => Promise, containerName?: string): AzurePostgresFlexibleServerDatabaseResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PostgresMcpContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PostgresMcpContainerResource) => Promise", + "description": "Configuration callback for the Postgres MCP container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (optional)." } ], "returnType": "AzurePostgresFlexibleServerDatabaseResource", @@ -201,18 +218,21 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.Azure.PostgreSQL/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds an Azure PostgreSQL database", + "description": "Adds an Azure PostgreSQL database to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): AzurePostgresFlexibleServerDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzurePostgresFlexibleServerDatabaseResource", @@ -226,16 +246,19 @@ "name": "runAsContainer", "capabilityId": "Aspire.Hosting.Azure.PostgreSQL/runAsContainer", "qualifiedName": "runAsContainer", - "description": "Configures the Azure PostgreSQL Flexible Server resource to run locally in a container", + "description": "Configures an Azure PostgreSQL Flexible Server resource to run locally in a container.", + "remarks": "The following example creates an Azure PostgreSQL Flexible Server resource that runs locally in a\nPostgreSQL container and referencing that resource in a .NET project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar data = builder.AddAzurePostgresFlexibleServer(\"data\")\n.RunAsContainer();\nbuilder.AddProject()\n.WithReference(data);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", - "signature": "runAsContainer(configureContainer?: (obj: PostgresServerResource) =\u003E Promise\u003Cvoid\u003E): AzurePostgresFlexibleServerResource", + "signature": "runAsContainer(configureContainer?: (obj: PostgresServerResource) => Promise): AzurePostgresFlexibleServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PostgresServerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PostgresServerResource) => Promise", + "description": "Callback that exposes underlying container to allow for customization." } ], "returnType": "AzurePostgresFlexibleServerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Redis.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Redis.13.3.0.json index b28936dad..112e01fc0 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Redis.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Redis.13.3.0.json @@ -10,13 +10,16 @@ "name": "addAzureManagedRedis", "capabilityId": "Aspire.Hosting.Azure.Redis/addAzureManagedRedis", "qualifiedName": "addAzureManagedRedis", - "description": "Adds an Azure Managed Redis resource", + "description": "Adds an Azure Managed Redis resource to the application model.", + "remarks": "By default, the Azure Managed Redis resource is configured to use Microsoft Entra ID (Azure Active Directory) for authentication.\nThis requires changes to the application code to use an azure credential to authenticate with the resource. See\nhttps://github.com/Azure/Microsoft.Azure.StackExchangeRedis for more information.\nThe following example creates an Azure Managed Redis resource and referencing that resource in a .NET project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar cache = builder.AddAzureManagedRedis(\"cache\");\nbuilder.AddProject()\n.WithReference(cache);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", "signature": "addAzureManagedRedis(name: string): AzureManagedRedisResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureManagedRedisResource", @@ -30,7 +33,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.connectionStringExpression", "qualifiedName": "AzureManagedRedisResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string template for the manifest for the Azure Managed Redis resource.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -44,7 +47,8 @@ "name": "hostName", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.hostName", "qualifiedName": "AzureManagedRedisResource.hostName", - "description": "Gets the HostName property", + "description": "Gets the host name for the Redis server.", + "remarks": "In container mode, resolves to the container's primary endpoint host and port.\nIn Azure mode, resolves to the Azure Redis server's hostname.", "kind": "PropertyGetter", "signature": "hostName(): ReferenceExpression", "parameters": [], @@ -58,7 +62,7 @@ "name": "id", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.id", "qualifiedName": "AzureManagedRedisResource.id", - "description": "Gets the Id property", + "description": "Gets the \"id\" output reference for the resource.", "kind": "PropertyGetter", "signature": "id(): BicepOutputReference", "parameters": [], @@ -72,7 +76,7 @@ "name": "nameOutputReference", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.nameOutputReference", "qualifiedName": "AzureManagedRedisResource.nameOutputReference", - "description": "Gets the NameOutputReference property", + "description": "Gets the \"name\" output reference for the resource.", "kind": "PropertyGetter", "signature": "nameOutputReference(): BicepOutputReference", "parameters": [], @@ -86,7 +90,8 @@ "name": "password", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.password", "qualifiedName": "AzureManagedRedisResource.password", - "description": "Gets the Password property", + "description": "Gets the password/access key for the Redis server.", + "remarks": "-\n-\n-", "kind": "PropertyGetter", "signature": "password(): ReferenceExpression", "parameters": [], @@ -100,7 +105,8 @@ "name": "port", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.port", "qualifiedName": "AzureManagedRedisResource.port", - "description": "Gets the Port property", + "description": "Gets the port for the Redis server.", + "remarks": "In container mode, resolves to the container's primary endpoint port.\nIn Azure mode, resolves to 10000.", "kind": "PropertyGetter", "signature": "port(): ReferenceExpression", "parameters": [], @@ -114,7 +120,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.uriExpression", "qualifiedName": "AzureManagedRedisResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Redis server.", + "remarks": "Format: `redis://[:{password}@]{host}:{port}`. The password segment is omitted when using Entra ID authentication in Azure mode.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -128,7 +135,7 @@ "name": "useAccessKeyAuthentication", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.useAccessKeyAuthentication", "qualifiedName": "AzureManagedRedisResource.useAccessKeyAuthentication", - "description": "Gets the UseAccessKeyAuthentication property", + "description": "Gets a value indicating whether the resource uses access key authentication.", "kind": "PropertyGetter", "signature": "useAccessKeyAuthentication(): boolean", "parameters": [], @@ -142,16 +149,19 @@ "name": "runAsContainer", "capabilityId": "Aspire.Hosting.Azure.Redis/runAsContainer", "qualifiedName": "runAsContainer", - "description": "Configures Azure Managed Redis to run in a local container", + "description": "Configures an Azure Managed Redis resource to run locally in a container.", + "remarks": "The following example creates an Azure Managed Redis resource that runs locally in a\nRedis container and referencing that resource in a .NET project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar cache = builder.AddAzureManagedRedis(\"cache\")\n.RunAsContainer();\nbuilder.AddProject()\n.WithReference(cache);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", - "signature": "runAsContainer(configureContainer?: (obj: RedisResource) =\u003E Promise\u003Cvoid\u003E): AzureManagedRedisResource", + "signature": "runAsContainer(configureContainer?: (obj: RedisResource) => Promise): AzureManagedRedisResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: RedisResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: RedisResource) => Promise", + "description": "Callback that exposes underlying container to allow for customization." } ], "returnType": "AzureManagedRedisResource", @@ -189,6 +199,7 @@ "fullName": "Aspire.Hosting.Azure.AzureManagedRedisResource", "kind": "handle", "exposeProperties": true, + "description": "Represents an Azure Managed Redis resource.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IAzureResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -205,7 +216,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.connectionStringExpression", "qualifiedName": "AzureManagedRedisResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string template for the manifest for the Azure Managed Redis resource.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -219,7 +230,8 @@ "name": "hostName", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.hostName", "qualifiedName": "AzureManagedRedisResource.hostName", - "description": "Gets the HostName property", + "description": "Gets the host name for the Redis server.", + "remarks": "In container mode, resolves to the container's primary endpoint host and port.\nIn Azure mode, resolves to the Azure Redis server's hostname.", "kind": "PropertyGetter", "signature": "hostName(): ReferenceExpression", "parameters": [], @@ -233,7 +245,7 @@ "name": "id", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.id", "qualifiedName": "AzureManagedRedisResource.id", - "description": "Gets the Id property", + "description": "Gets the \"id\" output reference for the resource.", "kind": "PropertyGetter", "signature": "id(): BicepOutputReference", "parameters": [], @@ -247,7 +259,7 @@ "name": "nameOutputReference", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.nameOutputReference", "qualifiedName": "AzureManagedRedisResource.nameOutputReference", - "description": "Gets the NameOutputReference property", + "description": "Gets the \"name\" output reference for the resource.", "kind": "PropertyGetter", "signature": "nameOutputReference(): BicepOutputReference", "parameters": [], @@ -261,7 +273,8 @@ "name": "password", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.password", "qualifiedName": "AzureManagedRedisResource.password", - "description": "Gets the Password property", + "description": "Gets the password/access key for the Redis server.", + "remarks": "-\n-\n-", "kind": "PropertyGetter", "signature": "password(): ReferenceExpression", "parameters": [], @@ -275,7 +288,8 @@ "name": "port", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.port", "qualifiedName": "AzureManagedRedisResource.port", - "description": "Gets the Port property", + "description": "Gets the port for the Redis server.", + "remarks": "In container mode, resolves to the container's primary endpoint port.\nIn Azure mode, resolves to 10000.", "kind": "PropertyGetter", "signature": "port(): ReferenceExpression", "parameters": [], @@ -289,7 +303,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.uriExpression", "qualifiedName": "AzureManagedRedisResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Redis server.", + "remarks": "Format: `redis://[:{password}@]{host}:{port}`. The password segment is omitted when using Entra ID authentication in Azure mode.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -303,7 +318,7 @@ "name": "useAccessKeyAuthentication", "capabilityId": "Aspire.Hosting.Azure/AzureManagedRedisResource.useAccessKeyAuthentication", "qualifiedName": "AzureManagedRedisResource.useAccessKeyAuthentication", - "description": "Gets the UseAccessKeyAuthentication property", + "description": "Gets a value indicating whether the resource uses access key authentication.", "kind": "PropertyGetter", "signature": "useAccessKeyAuthentication(): boolean", "parameters": [], @@ -317,16 +332,19 @@ "name": "runAsContainer", "capabilityId": "Aspire.Hosting.Azure.Redis/runAsContainer", "qualifiedName": "runAsContainer", - "description": "Configures Azure Managed Redis to run in a local container", + "description": "Configures an Azure Managed Redis resource to run locally in a container.", + "remarks": "The following example creates an Azure Managed Redis resource that runs locally in a\nRedis container and referencing that resource in a .NET project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar cache = builder.AddAzureManagedRedis(\"cache\")\n.RunAsContainer();\nbuilder.AddProject()\n.WithReference(cache);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", - "signature": "runAsContainer(configureContainer?: (obj: RedisResource) =\u003E Promise\u003Cvoid\u003E): AzureManagedRedisResource", + "signature": "runAsContainer(configureContainer?: (obj: RedisResource) => Promise): AzureManagedRedisResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: RedisResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: RedisResource) => Promise", + "description": "Callback that exposes underlying container to allow for customization." } ], "returnType": "AzureManagedRedisResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Search.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Search.13.3.0.json index 1178cd710..42b82a61e 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Search.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Search.13.3.0.json @@ -10,13 +10,16 @@ "name": "addAzureSearch", "capabilityId": "Aspire.Hosting.Azure.Search/addAzureSearch", "qualifiedName": "addAzureSearch", - "description": "Adds an Azure AI Search service resource", + "description": "Adds an Azure AI Search service resource to the application model.", + "remarks": "By default references to the Azure AI Search service resource will be assigned the following roles:\n- `SearchIndexDataContributor`\n- `SearchServiceContributor`\nThese can be replaced by calling `WithRoleAssignments``1`.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureSearch(name: string): AzureSearchResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Azure AI Search resource." } ], "returnType": "AzureSearchResource", @@ -30,17 +33,20 @@ "name": "withRoleAssignments", "capabilityId": "Aspire.Hosting.Azure.Search/withSearchRoleAssignments", "qualifiedName": "withRoleAssignments", - "description": "Assigns Azure AI Search roles to a resource", + "description": "Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource.", + "returns": "The updated `IResourceBuilder`1` with the applied role assignments.", "kind": "Method", "signature": "withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): IResource", "parameters": [ { "name": "target", - "type": "AzureSearchResource" + "type": "AzureSearchResource", + "description": "The target Azure AI Search service resource." }, { "name": "roles", - "type": "AzureSearchRole[]" + "type": "AzureSearchRole[]", + "description": "The Azure AI Search roles to be assigned." } ], "returnType": "IResource", @@ -89,6 +95,7 @@ "name": "AzureSearchRole", "fullName": "Aspire.Hosting.AzureSearchRole", "kind": "enum", + "description": "Represents ATS-compatible Azure AI Search roles.", "members": [ "SearchIndexDataContributor", "SearchIndexDataReader", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ServiceBus.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ServiceBus.13.3.0.json index 05c21e586..2b34c7b5d 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ServiceBus.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.ServiceBus.13.3.0.json @@ -10,13 +10,16 @@ "name": "addAzureServiceBus", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/addAzureServiceBus", "qualifiedName": "addAzureServiceBus", - "description": "Adds an Azure Service Bus namespace resource", + "description": "Adds an Azure Service Bus Namespace resource to the application model. This resource can be used to create queue, topic, and subscription resources.", + "remarks": "By default references to the Azure Service Bus resource will be assigned the following roles:\n- `AzureServiceBusDataOwner`\nThese can be replaced by calling `WithRoleAssignments``1`.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureServiceBus(name: string): AzureServiceBusResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureServiceBusResource", @@ -30,18 +33,21 @@ "name": "addServiceBusQueue", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/addServiceBusQueue", "qualifiedName": "addServiceBusQueue", - "description": "Adds an Azure Service Bus queue resource", + "description": "Adds an Azure Service Bus Queue resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addServiceBusQueue(name: string, queueName?: string): AzureServiceBusQueueResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the queue resource." }, { "name": "queueName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Service Bus Queue. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureServiceBusQueueResource", @@ -55,18 +61,21 @@ "name": "addServiceBusSubscription", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/addServiceBusSubscription", "qualifiedName": "addServiceBusSubscription", - "description": "Adds an Azure Service Bus subscription resource", + "description": "Adds an Azure Service Bus Subscription resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addServiceBusSubscription(name: string, subscriptionName?: string): AzureServiceBusSubscriptionResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the subscription resource." }, { "name": "subscriptionName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Service Bus Subscription. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureServiceBusSubscriptionResource", @@ -80,18 +89,21 @@ "name": "addServiceBusTopic", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/addServiceBusTopic", "qualifiedName": "addServiceBusTopic", - "description": "Adds an Azure Service Bus topic resource", + "description": "Adds an Azure Service Bus Topic resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addServiceBusTopic(name: string, topicName?: string): AzureServiceBusTopicResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the topic resource." }, { "name": "topicName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Service Bus Topic. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureServiceBusTopicResource", @@ -105,7 +117,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.connectionStringExpression", "qualifiedName": "AzureServiceBusQueueResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure Service Bus Queue.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -119,7 +131,7 @@ "name": "deadLetteringOnMessageExpiration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.deadLetteringOnMessageExpiration", "qualifiedName": "AzureServiceBusQueueResource.deadLetteringOnMessageExpiration", - "description": "Gets the DeadLetteringOnMessageExpiration property", + "description": "A value that indicates whether this queue has dead letter support when a message expires.", "kind": "PropertyGetter", "signature": "deadLetteringOnMessageExpiration(): boolean", "parameters": [], @@ -133,7 +145,7 @@ "name": "defaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.defaultMessageTimeToLive", "qualifiedName": "AzureServiceBusQueueResource.defaultMessageTimeToLive", - "description": "Gets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertyGetter", "signature": "defaultMessageTimeToLive(): timespan", "parameters": [], @@ -147,7 +159,7 @@ "name": "duplicateDetectionHistoryTimeWindow", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.duplicateDetectionHistoryTimeWindow", "qualifiedName": "AzureServiceBusQueueResource.duplicateDetectionHistoryTimeWindow", - "description": "Gets the DuplicateDetectionHistoryTimeWindow property", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.", "kind": "PropertyGetter", "signature": "duplicateDetectionHistoryTimeWindow(): timespan", "parameters": [], @@ -161,7 +173,7 @@ "name": "forwardDeadLetteredMessagesTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.forwardDeadLetteredMessagesTo", "qualifiedName": "AzureServiceBusQueueResource.forwardDeadLetteredMessagesTo", - "description": "Gets the ForwardDeadLetteredMessagesTo property", + "description": "Queue/Topic name to forward the Dead Letter message.", "kind": "PropertyGetter", "signature": "forwardDeadLetteredMessagesTo(): string", "parameters": [], @@ -175,7 +187,7 @@ "name": "forwardTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.forwardTo", "qualifiedName": "AzureServiceBusQueueResource.forwardTo", - "description": "Gets the ForwardTo property", + "description": "Queue/Topic name to forward the messages.", "kind": "PropertyGetter", "signature": "forwardTo(): string", "parameters": [], @@ -189,7 +201,7 @@ "name": "lockDuration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.lockDuration", "qualifiedName": "AzureServiceBusQueueResource.lockDuration", - "description": "Gets the LockDuration property", + "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.", "kind": "PropertyGetter", "signature": "lockDuration(): timespan", "parameters": [], @@ -203,7 +215,7 @@ "name": "maxDeliveryCount", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.maxDeliveryCount", "qualifiedName": "AzureServiceBusQueueResource.maxDeliveryCount", - "description": "Gets the MaxDeliveryCount property", + "description": "The maximum delivery count. A message is automatically dead-lettered after this number of deliveries.", "kind": "PropertyGetter", "signature": "maxDeliveryCount(): number", "parameters": [], @@ -217,7 +229,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.parent", "qualifiedName": "AzureServiceBusQueueResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure Service Bus resource.", "kind": "PropertyGetter", "signature": "parent(): AzureServiceBusResource", "parameters": [], @@ -231,7 +243,7 @@ "name": "queueName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.queueName", "qualifiedName": "AzureServiceBusQueueResource.queueName", - "description": "Gets the QueueName property", + "description": "The queue name.", "kind": "PropertyGetter", "signature": "queueName(): string", "parameters": [], @@ -245,7 +257,7 @@ "name": "requiresDuplicateDetection", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.requiresDuplicateDetection", "qualifiedName": "AzureServiceBusQueueResource.requiresDuplicateDetection", - "description": "Gets the RequiresDuplicateDetection property", + "description": "A value indicating if this queue requires duplicate detection.", "kind": "PropertyGetter", "signature": "requiresDuplicateDetection(): boolean", "parameters": [], @@ -259,7 +271,7 @@ "name": "requiresSession", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.requiresSession", "qualifiedName": "AzureServiceBusQueueResource.requiresSession", - "description": "Gets the RequiresSession property", + "description": "A value that indicates whether the queue supports the concept of sessions.", "kind": "PropertyGetter", "signature": "requiresSession(): boolean", "parameters": [], @@ -273,7 +285,7 @@ "name": "setDeadLetteringOnMessageExpiration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setDeadLetteringOnMessageExpiration", "qualifiedName": "AzureServiceBusQueueResource.setDeadLetteringOnMessageExpiration", - "description": "Sets the DeadLetteringOnMessageExpiration property", + "description": "A value that indicates whether this queue has dead letter support when a message expires.", "kind": "PropertySetter", "signature": "setDeadLetteringOnMessageExpiration(value: boolean): AzureServiceBusQueueResource", "parameters": [ @@ -292,7 +304,7 @@ "name": "setDefaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setDefaultMessageTimeToLive", "qualifiedName": "AzureServiceBusQueueResource.setDefaultMessageTimeToLive", - "description": "Sets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertySetter", "signature": "setDefaultMessageTimeToLive(value: timespan): AzureServiceBusQueueResource", "parameters": [ @@ -311,7 +323,7 @@ "name": "setDuplicateDetectionHistoryTimeWindow", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setDuplicateDetectionHistoryTimeWindow", "qualifiedName": "AzureServiceBusQueueResource.setDuplicateDetectionHistoryTimeWindow", - "description": "Sets the DuplicateDetectionHistoryTimeWindow property", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.", "kind": "PropertySetter", "signature": "setDuplicateDetectionHistoryTimeWindow(value: timespan): AzureServiceBusQueueResource", "parameters": [ @@ -330,7 +342,7 @@ "name": "setForwardDeadLetteredMessagesTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setForwardDeadLetteredMessagesTo", "qualifiedName": "AzureServiceBusQueueResource.setForwardDeadLetteredMessagesTo", - "description": "Sets the ForwardDeadLetteredMessagesTo property", + "description": "Queue/Topic name to forward the Dead Letter message.", "kind": "PropertySetter", "signature": "setForwardDeadLetteredMessagesTo(value: string): AzureServiceBusQueueResource", "parameters": [ @@ -349,7 +361,7 @@ "name": "setForwardTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setForwardTo", "qualifiedName": "AzureServiceBusQueueResource.setForwardTo", - "description": "Sets the ForwardTo property", + "description": "Queue/Topic name to forward the messages.", "kind": "PropertySetter", "signature": "setForwardTo(value: string): AzureServiceBusQueueResource", "parameters": [ @@ -368,7 +380,7 @@ "name": "setLockDuration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setLockDuration", "qualifiedName": "AzureServiceBusQueueResource.setLockDuration", - "description": "Sets the LockDuration property", + "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.", "kind": "PropertySetter", "signature": "setLockDuration(value: timespan): AzureServiceBusQueueResource", "parameters": [ @@ -387,7 +399,7 @@ "name": "setMaxDeliveryCount", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setMaxDeliveryCount", "qualifiedName": "AzureServiceBusQueueResource.setMaxDeliveryCount", - "description": "Sets the MaxDeliveryCount property", + "description": "The maximum delivery count. A message is automatically dead-lettered after this number of deliveries.", "kind": "PropertySetter", "signature": "setMaxDeliveryCount(value: number): AzureServiceBusQueueResource", "parameters": [ @@ -406,7 +418,7 @@ "name": "setQueueName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setQueueName", "qualifiedName": "AzureServiceBusQueueResource.setQueueName", - "description": "Sets the QueueName property", + "description": "The queue name.", "kind": "PropertySetter", "signature": "setQueueName(value: string): AzureServiceBusQueueResource", "parameters": [ @@ -425,7 +437,7 @@ "name": "setRequiresDuplicateDetection", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setRequiresDuplicateDetection", "qualifiedName": "AzureServiceBusQueueResource.setRequiresDuplicateDetection", - "description": "Sets the RequiresDuplicateDetection property", + "description": "A value indicating if this queue requires duplicate detection.", "kind": "PropertySetter", "signature": "setRequiresDuplicateDetection(value: boolean): AzureServiceBusQueueResource", "parameters": [ @@ -444,7 +456,7 @@ "name": "setRequiresSession", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setRequiresSession", "qualifiedName": "AzureServiceBusQueueResource.setRequiresSession", - "description": "Sets the RequiresSession property", + "description": "A value that indicates whether the queue supports the concept of sessions.", "kind": "PropertySetter", "signature": "setRequiresSession(value: boolean): AzureServiceBusQueueResource", "parameters": [ @@ -463,7 +475,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.connectionStringExpression", "qualifiedName": "AzureServiceBusSubscriptionResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure Service Bus Subscription.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -477,7 +489,7 @@ "name": "deadLetteringOnMessageExpiration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.deadLetteringOnMessageExpiration", "qualifiedName": "AzureServiceBusSubscriptionResource.deadLetteringOnMessageExpiration", - "description": "Gets the DeadLetteringOnMessageExpiration property", + "description": "A value that indicates whether this queue has dead letter support when a message expires.", "kind": "PropertyGetter", "signature": "deadLetteringOnMessageExpiration(): boolean", "parameters": [], @@ -491,7 +503,7 @@ "name": "defaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.defaultMessageTimeToLive", "qualifiedName": "AzureServiceBusSubscriptionResource.defaultMessageTimeToLive", - "description": "Gets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertyGetter", "signature": "defaultMessageTimeToLive(): timespan", "parameters": [], @@ -505,7 +517,7 @@ "name": "forwardDeadLetteredMessagesTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.forwardDeadLetteredMessagesTo", "qualifiedName": "AzureServiceBusSubscriptionResource.forwardDeadLetteredMessagesTo", - "description": "Gets the ForwardDeadLetteredMessagesTo property", + "description": "Queue/Topic name to forward the Dead Letter message.", "kind": "PropertyGetter", "signature": "forwardDeadLetteredMessagesTo(): string", "parameters": [], @@ -519,7 +531,7 @@ "name": "forwardTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.forwardTo", "qualifiedName": "AzureServiceBusSubscriptionResource.forwardTo", - "description": "Gets the ForwardTo property", + "description": "Queue/Topic name to forward the messages.", "kind": "PropertyGetter", "signature": "forwardTo(): string", "parameters": [], @@ -533,7 +545,7 @@ "name": "lockDuration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.lockDuration", "qualifiedName": "AzureServiceBusSubscriptionResource.lockDuration", - "description": "Gets the LockDuration property", + "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.", "kind": "PropertyGetter", "signature": "lockDuration(): timespan", "parameters": [], @@ -547,7 +559,7 @@ "name": "maxDeliveryCount", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.maxDeliveryCount", "qualifiedName": "AzureServiceBusSubscriptionResource.maxDeliveryCount", - "description": "Gets the MaxDeliveryCount property", + "description": "The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10.", "kind": "PropertyGetter", "signature": "maxDeliveryCount(): number", "parameters": [], @@ -561,7 +573,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.parent", "qualifiedName": "AzureServiceBusSubscriptionResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure Service Bus Topic resource.", "kind": "PropertyGetter", "signature": "parent(): AzureServiceBusTopicResource", "parameters": [], @@ -575,7 +587,7 @@ "name": "requiresSession", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.requiresSession", "qualifiedName": "AzureServiceBusSubscriptionResource.requiresSession", - "description": "Gets the RequiresSession property", + "description": "A value that indicates whether the queue supports the concept of sessions.", "kind": "PropertyGetter", "signature": "requiresSession(): boolean", "parameters": [], @@ -589,11 +601,11 @@ "name": "rules", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.rules", "qualifiedName": "AzureServiceBusSubscriptionResource.rules", - "description": "Gets the Rules property", + "description": "The rules for this subscription.", "kind": "PropertyGetter", - "signature": "rules(): List\u003CAspire.Hosting.Azure.ServiceBus/Aspire.Hosting.Azure.AzureServiceBusRule\u003E", + "signature": "rules(): List", "parameters": [], - "returnType": "List\u003CAspire.Hosting.Azure.ServiceBus/Aspire.Hosting.Azure.AzureServiceBusRule\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Azure.ServiceBus/Aspire.Hosting.Azure.AzureServiceBusSubscriptionResource", "expandedTargetTypes": [ "Aspire.Hosting.Azure.AzureServiceBusSubscriptionResource" @@ -603,7 +615,7 @@ "name": "setDeadLetteringOnMessageExpiration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setDeadLetteringOnMessageExpiration", "qualifiedName": "AzureServiceBusSubscriptionResource.setDeadLetteringOnMessageExpiration", - "description": "Sets the DeadLetteringOnMessageExpiration property", + "description": "A value that indicates whether this queue has dead letter support when a message expires.", "kind": "PropertySetter", "signature": "setDeadLetteringOnMessageExpiration(value: boolean): AzureServiceBusSubscriptionResource", "parameters": [ @@ -622,7 +634,7 @@ "name": "setDefaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setDefaultMessageTimeToLive", "qualifiedName": "AzureServiceBusSubscriptionResource.setDefaultMessageTimeToLive", - "description": "Sets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertySetter", "signature": "setDefaultMessageTimeToLive(value: timespan): AzureServiceBusSubscriptionResource", "parameters": [ @@ -641,7 +653,7 @@ "name": "setForwardDeadLetteredMessagesTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setForwardDeadLetteredMessagesTo", "qualifiedName": "AzureServiceBusSubscriptionResource.setForwardDeadLetteredMessagesTo", - "description": "Sets the ForwardDeadLetteredMessagesTo property", + "description": "Queue/Topic name to forward the Dead Letter message.", "kind": "PropertySetter", "signature": "setForwardDeadLetteredMessagesTo(value: string): AzureServiceBusSubscriptionResource", "parameters": [ @@ -660,7 +672,7 @@ "name": "setForwardTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setForwardTo", "qualifiedName": "AzureServiceBusSubscriptionResource.setForwardTo", - "description": "Sets the ForwardTo property", + "description": "Queue/Topic name to forward the messages.", "kind": "PropertySetter", "signature": "setForwardTo(value: string): AzureServiceBusSubscriptionResource", "parameters": [ @@ -679,7 +691,7 @@ "name": "setLockDuration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setLockDuration", "qualifiedName": "AzureServiceBusSubscriptionResource.setLockDuration", - "description": "Sets the LockDuration property", + "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.", "kind": "PropertySetter", "signature": "setLockDuration(value: timespan): AzureServiceBusSubscriptionResource", "parameters": [ @@ -698,7 +710,7 @@ "name": "setMaxDeliveryCount", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setMaxDeliveryCount", "qualifiedName": "AzureServiceBusSubscriptionResource.setMaxDeliveryCount", - "description": "Sets the MaxDeliveryCount property", + "description": "The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10.", "kind": "PropertySetter", "signature": "setMaxDeliveryCount(value: number): AzureServiceBusSubscriptionResource", "parameters": [ @@ -717,7 +729,7 @@ "name": "setRequiresSession", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setRequiresSession", "qualifiedName": "AzureServiceBusSubscriptionResource.setRequiresSession", - "description": "Sets the RequiresSession property", + "description": "A value that indicates whether the queue supports the concept of sessions.", "kind": "PropertySetter", "signature": "setRequiresSession(value: boolean): AzureServiceBusSubscriptionResource", "parameters": [ @@ -736,7 +748,7 @@ "name": "setSubscriptionName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setSubscriptionName", "qualifiedName": "AzureServiceBusSubscriptionResource.setSubscriptionName", - "description": "Sets the SubscriptionName property", + "description": "The subscription name.", "kind": "PropertySetter", "signature": "setSubscriptionName(value: string): AzureServiceBusSubscriptionResource", "parameters": [ @@ -755,7 +767,7 @@ "name": "subscriptionName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.subscriptionName", "qualifiedName": "AzureServiceBusSubscriptionResource.subscriptionName", - "description": "Gets the SubscriptionName property", + "description": "The subscription name.", "kind": "PropertyGetter", "signature": "subscriptionName(): string", "parameters": [], @@ -769,7 +781,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.connectionStringExpression", "qualifiedName": "AzureServiceBusTopicResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure Service Bus Topic.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -783,7 +795,7 @@ "name": "defaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.defaultMessageTimeToLive", "qualifiedName": "AzureServiceBusTopicResource.defaultMessageTimeToLive", - "description": "Gets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertyGetter", "signature": "defaultMessageTimeToLive(): timespan", "parameters": [], @@ -797,7 +809,7 @@ "name": "duplicateDetectionHistoryTimeWindow", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.duplicateDetectionHistoryTimeWindow", "qualifiedName": "AzureServiceBusTopicResource.duplicateDetectionHistoryTimeWindow", - "description": "Gets the DuplicateDetectionHistoryTimeWindow property", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.", "kind": "PropertyGetter", "signature": "duplicateDetectionHistoryTimeWindow(): timespan", "parameters": [], @@ -811,7 +823,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.parent", "qualifiedName": "AzureServiceBusTopicResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure Service Bus resource.", "kind": "PropertyGetter", "signature": "parent(): AzureServiceBusResource", "parameters": [], @@ -825,7 +837,7 @@ "name": "requiresDuplicateDetection", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.requiresDuplicateDetection", "qualifiedName": "AzureServiceBusTopicResource.requiresDuplicateDetection", - "description": "Gets the RequiresDuplicateDetection property", + "description": "A value indicating if this topic requires duplicate detection.", "kind": "PropertyGetter", "signature": "requiresDuplicateDetection(): boolean", "parameters": [], @@ -839,7 +851,7 @@ "name": "setDefaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.setDefaultMessageTimeToLive", "qualifiedName": "AzureServiceBusTopicResource.setDefaultMessageTimeToLive", - "description": "Sets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertySetter", "signature": "setDefaultMessageTimeToLive(value: timespan): AzureServiceBusTopicResource", "parameters": [ @@ -858,7 +870,7 @@ "name": "setDuplicateDetectionHistoryTimeWindow", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.setDuplicateDetectionHistoryTimeWindow", "qualifiedName": "AzureServiceBusTopicResource.setDuplicateDetectionHistoryTimeWindow", - "description": "Sets the DuplicateDetectionHistoryTimeWindow property", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.", "kind": "PropertySetter", "signature": "setDuplicateDetectionHistoryTimeWindow(value: timespan): AzureServiceBusTopicResource", "parameters": [ @@ -877,7 +889,7 @@ "name": "setRequiresDuplicateDetection", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.setRequiresDuplicateDetection", "qualifiedName": "AzureServiceBusTopicResource.setRequiresDuplicateDetection", - "description": "Sets the RequiresDuplicateDetection property", + "description": "A value indicating if this topic requires duplicate detection.", "kind": "PropertySetter", "signature": "setRequiresDuplicateDetection(value: boolean): AzureServiceBusTopicResource", "parameters": [ @@ -896,7 +908,7 @@ "name": "setTopicName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.setTopicName", "qualifiedName": "AzureServiceBusTopicResource.setTopicName", - "description": "Sets the TopicName property", + "description": "The topic name.", "kind": "PropertySetter", "signature": "setTopicName(value: string): AzureServiceBusTopicResource", "parameters": [ @@ -915,7 +927,7 @@ "name": "topicName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.topicName", "qualifiedName": "AzureServiceBusTopicResource.topicName", - "description": "Gets the TopicName property", + "description": "The topic name.", "kind": "PropertyGetter", "signature": "topicName(): string", "parameters": [], @@ -929,16 +941,17 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Azure Service Bus resource to run with the local emulator", + "description": "Configures an Azure Service Bus resource to be emulated. This resource requires an `AzureServiceBusResource` to be added to the application model.", + "remarks": "This version of the package defaults to the tag of the / container image.\nThe Azure Service Bus resource builder.Callback that exposes underlying container used for emulation to allow for customization.A reference to the `IResourceBuilder`1`.\nThe following example creates an Azure Service Bus resource that runs locally is an emulator and referencing that\nresource in a .NET project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar serviceBus = builder.AddAzureServiceBus(\"myservicebus\")\n.RunAsEmulator()\n.AddQueue(\"queue\");\nbuilder.AddProject()\n.WithReference(serviceBus);\nbuilder.Build().Run();\n```", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureServiceBusEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureServiceBusResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureServiceBusEmulatorResource) => Promise): AzureServiceBusResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureServiceBusEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureServiceBusEmulatorResource) => Promise" } ], "returnType": "AzureServiceBusResource", @@ -952,13 +965,15 @@ "name": "withConfigurationFile", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/withConfigurationFile", "qualifiedName": "withConfigurationFile", - "description": "Sets the emulator configuration file path", + "description": "Copies the configuration file into an Azure Service Bus emulator resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withConfigurationFile(path: string): AzureServiceBusEmulatorResource", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "Path to the file on the AppHost where the emulator configuration is located." } ], "returnType": "AzureServiceBusEmulatorResource", @@ -972,14 +987,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Service Bus emulator endpoint", + "description": "Configures the host port for the Azure Service Bus emulator is exposed on instead of using randomly assigned port.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withHostPort(port: number): AzureServiceBusEmulatorResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used, a random port will be assigned." } ], "returnType": "AzureServiceBusEmulatorResource", @@ -993,15 +1010,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/withQueueProperties", "qualifiedName": "withProperties", - "description": "Configures properties of an Azure Service Bus queue", + "description": "Allows setting the properties of an Azure Service Bus Queue resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: AzureServiceBusQueueResource) =\u003E Promise\u003Cvoid\u003E): AzureServiceBusQueueResource", + "signature": "withProperties(configure: (obj: AzureServiceBusQueueResource) => Promise): AzureServiceBusQueueResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureServiceBusQueueResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureServiceBusQueueResource) => Promise", + "description": "A method that can be used for customizing the `AzureServiceBusQueueResource`." } ], "returnType": "AzureServiceBusQueueResource", @@ -1015,15 +1034,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/withTopicProperties", "qualifiedName": "withProperties", - "description": "Configures properties of an Azure Service Bus topic", + "description": "Allows setting the properties of an Azure Service Bus Topic resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: AzureServiceBusTopicResource) =\u003E Promise\u003Cvoid\u003E): AzureServiceBusTopicResource", + "signature": "withProperties(configure: (obj: AzureServiceBusTopicResource) => Promise): AzureServiceBusTopicResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureServiceBusTopicResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureServiceBusTopicResource) => Promise", + "description": "A method that can be used for customizing the `AzureServiceBusTopicResource`." } ], "returnType": "AzureServiceBusTopicResource", @@ -1037,15 +1058,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/withSubscriptionProperties", "qualifiedName": "withProperties", - "description": "Configures properties of an Azure Service Bus subscription", + "description": "Allows setting the properties of an Azure Service Bus Subscription resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: AzureServiceBusSubscriptionResource) =\u003E Promise\u003Cvoid\u003E): AzureServiceBusSubscriptionResource", + "signature": "withProperties(configure: (obj: AzureServiceBusSubscriptionResource) => Promise): AzureServiceBusSubscriptionResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureServiceBusSubscriptionResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureServiceBusSubscriptionResource) => Promise", + "description": "A method that can be used for customizing the `AzureServiceBusSubscriptionResource`." } ], "returnType": "AzureServiceBusSubscriptionResource", @@ -1059,17 +1082,20 @@ "name": "withRoleAssignments", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/withServiceBusRoleAssignments", "qualifiedName": "withRoleAssignments", - "description": "Assigns Service Bus roles to a resource", + "description": "Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource.", + "returns": "The updated `IResourceBuilder`1` with the applied role assignments.", "kind": "Method", "signature": "withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): IResource", "parameters": [ { "name": "target", - "type": "AzureServiceBusResource" + "type": "AzureServiceBusResource", + "description": "The target Azure Service Bus namespace." }, { "name": "roles", - "type": "AzureServiceBusRole[]" + "type": "AzureServiceBusRole[]", + "description": "The Service Bus roles to be assigned." } ], "returnType": "IResource", @@ -1115,13 +1141,15 @@ "name": "withConfigurationFile", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/withConfigurationFile", "qualifiedName": "withConfigurationFile", - "description": "Sets the emulator configuration file path", + "description": "Copies the configuration file into an Azure Service Bus emulator resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withConfigurationFile(path: string): AzureServiceBusEmulatorResource", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "Path to the file on the AppHost where the emulator configuration is located." } ], "returnType": "AzureServiceBusEmulatorResource", @@ -1135,14 +1163,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Service Bus emulator endpoint", + "description": "Configures the host port for the Azure Service Bus emulator is exposed on instead of using randomly assigned port.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withHostPort(port: number): AzureServiceBusEmulatorResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used, a random port will be assigned." } ], "returnType": "AzureServiceBusEmulatorResource", @@ -1159,13 +1189,15 @@ "fullName": "Aspire.Hosting.Azure.AzureServiceBusQueueResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a Service Bus Queue. Initializes a new instance of the `AzureServiceBusQueueResource` class.", + "remarks": "Use `ConfigureInfrastructure``1` to configure specific `Provisioning` properties.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureServiceBusResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureServiceBusResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IResourceWithAzureFunctionsConfig" @@ -1175,7 +1207,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.connectionStringExpression", "qualifiedName": "AzureServiceBusQueueResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure Service Bus Queue.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -1189,7 +1221,7 @@ "name": "deadLetteringOnMessageExpiration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.deadLetteringOnMessageExpiration", "qualifiedName": "AzureServiceBusQueueResource.deadLetteringOnMessageExpiration", - "description": "Gets the DeadLetteringOnMessageExpiration property", + "description": "A value that indicates whether this queue has dead letter support when a message expires.", "kind": "PropertyGetter", "signature": "deadLetteringOnMessageExpiration(): boolean", "parameters": [], @@ -1203,7 +1235,7 @@ "name": "defaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.defaultMessageTimeToLive", "qualifiedName": "AzureServiceBusQueueResource.defaultMessageTimeToLive", - "description": "Gets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertyGetter", "signature": "defaultMessageTimeToLive(): timespan", "parameters": [], @@ -1217,7 +1249,7 @@ "name": "duplicateDetectionHistoryTimeWindow", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.duplicateDetectionHistoryTimeWindow", "qualifiedName": "AzureServiceBusQueueResource.duplicateDetectionHistoryTimeWindow", - "description": "Gets the DuplicateDetectionHistoryTimeWindow property", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.", "kind": "PropertyGetter", "signature": "duplicateDetectionHistoryTimeWindow(): timespan", "parameters": [], @@ -1231,7 +1263,7 @@ "name": "forwardDeadLetteredMessagesTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.forwardDeadLetteredMessagesTo", "qualifiedName": "AzureServiceBusQueueResource.forwardDeadLetteredMessagesTo", - "description": "Gets the ForwardDeadLetteredMessagesTo property", + "description": "Queue/Topic name to forward the Dead Letter message.", "kind": "PropertyGetter", "signature": "forwardDeadLetteredMessagesTo(): string", "parameters": [], @@ -1245,7 +1277,7 @@ "name": "forwardTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.forwardTo", "qualifiedName": "AzureServiceBusQueueResource.forwardTo", - "description": "Gets the ForwardTo property", + "description": "Queue/Topic name to forward the messages.", "kind": "PropertyGetter", "signature": "forwardTo(): string", "parameters": [], @@ -1259,7 +1291,7 @@ "name": "lockDuration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.lockDuration", "qualifiedName": "AzureServiceBusQueueResource.lockDuration", - "description": "Gets the LockDuration property", + "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.", "kind": "PropertyGetter", "signature": "lockDuration(): timespan", "parameters": [], @@ -1273,7 +1305,7 @@ "name": "maxDeliveryCount", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.maxDeliveryCount", "qualifiedName": "AzureServiceBusQueueResource.maxDeliveryCount", - "description": "Gets the MaxDeliveryCount property", + "description": "The maximum delivery count. A message is automatically dead-lettered after this number of deliveries.", "kind": "PropertyGetter", "signature": "maxDeliveryCount(): number", "parameters": [], @@ -1287,7 +1319,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.parent", "qualifiedName": "AzureServiceBusQueueResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure Service Bus resource.", "kind": "PropertyGetter", "signature": "parent(): AzureServiceBusResource", "parameters": [], @@ -1301,7 +1333,7 @@ "name": "queueName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.queueName", "qualifiedName": "AzureServiceBusQueueResource.queueName", - "description": "Gets the QueueName property", + "description": "The queue name.", "kind": "PropertyGetter", "signature": "queueName(): string", "parameters": [], @@ -1315,7 +1347,7 @@ "name": "requiresDuplicateDetection", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.requiresDuplicateDetection", "qualifiedName": "AzureServiceBusQueueResource.requiresDuplicateDetection", - "description": "Gets the RequiresDuplicateDetection property", + "description": "A value indicating if this queue requires duplicate detection.", "kind": "PropertyGetter", "signature": "requiresDuplicateDetection(): boolean", "parameters": [], @@ -1329,7 +1361,7 @@ "name": "requiresSession", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.requiresSession", "qualifiedName": "AzureServiceBusQueueResource.requiresSession", - "description": "Gets the RequiresSession property", + "description": "A value that indicates whether the queue supports the concept of sessions.", "kind": "PropertyGetter", "signature": "requiresSession(): boolean", "parameters": [], @@ -1343,7 +1375,7 @@ "name": "setDeadLetteringOnMessageExpiration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setDeadLetteringOnMessageExpiration", "qualifiedName": "AzureServiceBusQueueResource.setDeadLetteringOnMessageExpiration", - "description": "Sets the DeadLetteringOnMessageExpiration property", + "description": "A value that indicates whether this queue has dead letter support when a message expires.", "kind": "PropertySetter", "signature": "setDeadLetteringOnMessageExpiration(value: boolean): AzureServiceBusQueueResource", "parameters": [ @@ -1362,7 +1394,7 @@ "name": "setDefaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setDefaultMessageTimeToLive", "qualifiedName": "AzureServiceBusQueueResource.setDefaultMessageTimeToLive", - "description": "Sets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertySetter", "signature": "setDefaultMessageTimeToLive(value: timespan): AzureServiceBusQueueResource", "parameters": [ @@ -1381,7 +1413,7 @@ "name": "setDuplicateDetectionHistoryTimeWindow", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setDuplicateDetectionHistoryTimeWindow", "qualifiedName": "AzureServiceBusQueueResource.setDuplicateDetectionHistoryTimeWindow", - "description": "Sets the DuplicateDetectionHistoryTimeWindow property", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.", "kind": "PropertySetter", "signature": "setDuplicateDetectionHistoryTimeWindow(value: timespan): AzureServiceBusQueueResource", "parameters": [ @@ -1400,7 +1432,7 @@ "name": "setForwardDeadLetteredMessagesTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setForwardDeadLetteredMessagesTo", "qualifiedName": "AzureServiceBusQueueResource.setForwardDeadLetteredMessagesTo", - "description": "Sets the ForwardDeadLetteredMessagesTo property", + "description": "Queue/Topic name to forward the Dead Letter message.", "kind": "PropertySetter", "signature": "setForwardDeadLetteredMessagesTo(value: string): AzureServiceBusQueueResource", "parameters": [ @@ -1419,7 +1451,7 @@ "name": "setForwardTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setForwardTo", "qualifiedName": "AzureServiceBusQueueResource.setForwardTo", - "description": "Sets the ForwardTo property", + "description": "Queue/Topic name to forward the messages.", "kind": "PropertySetter", "signature": "setForwardTo(value: string): AzureServiceBusQueueResource", "parameters": [ @@ -1438,7 +1470,7 @@ "name": "setLockDuration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setLockDuration", "qualifiedName": "AzureServiceBusQueueResource.setLockDuration", - "description": "Sets the LockDuration property", + "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.", "kind": "PropertySetter", "signature": "setLockDuration(value: timespan): AzureServiceBusQueueResource", "parameters": [ @@ -1457,7 +1489,7 @@ "name": "setMaxDeliveryCount", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setMaxDeliveryCount", "qualifiedName": "AzureServiceBusQueueResource.setMaxDeliveryCount", - "description": "Sets the MaxDeliveryCount property", + "description": "The maximum delivery count. A message is automatically dead-lettered after this number of deliveries.", "kind": "PropertySetter", "signature": "setMaxDeliveryCount(value: number): AzureServiceBusQueueResource", "parameters": [ @@ -1476,7 +1508,7 @@ "name": "setQueueName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setQueueName", "qualifiedName": "AzureServiceBusQueueResource.setQueueName", - "description": "Sets the QueueName property", + "description": "The queue name.", "kind": "PropertySetter", "signature": "setQueueName(value: string): AzureServiceBusQueueResource", "parameters": [ @@ -1495,7 +1527,7 @@ "name": "setRequiresDuplicateDetection", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setRequiresDuplicateDetection", "qualifiedName": "AzureServiceBusQueueResource.setRequiresDuplicateDetection", - "description": "Sets the RequiresDuplicateDetection property", + "description": "A value indicating if this queue requires duplicate detection.", "kind": "PropertySetter", "signature": "setRequiresDuplicateDetection(value: boolean): AzureServiceBusQueueResource", "parameters": [ @@ -1514,7 +1546,7 @@ "name": "setRequiresSession", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusQueueResource.setRequiresSession", "qualifiedName": "AzureServiceBusQueueResource.setRequiresSession", - "description": "Sets the RequiresSession property", + "description": "A value that indicates whether the queue supports the concept of sessions.", "kind": "PropertySetter", "signature": "setRequiresSession(value: boolean): AzureServiceBusQueueResource", "parameters": [ @@ -1533,15 +1565,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/withQueueProperties", "qualifiedName": "withProperties", - "description": "Configures properties of an Azure Service Bus queue", + "description": "Allows setting the properties of an Azure Service Bus Queue resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: AzureServiceBusQueueResource) =\u003E Promise\u003Cvoid\u003E): AzureServiceBusQueueResource", + "signature": "withProperties(configure: (obj: AzureServiceBusQueueResource) => Promise): AzureServiceBusQueueResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureServiceBusQueueResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureServiceBusQueueResource) => Promise", + "description": "A method that can be used for customizing the `AzureServiceBusQueueResource`." } ], "returnType": "AzureServiceBusQueueResource", @@ -1557,6 +1591,7 @@ "name": "AzureServiceBusResource", "fullName": "Aspire.Hosting.Azure.AzureServiceBusResource", "kind": "handle", + "description": "Represents an Azure Service Bus resource.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IAzureResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -1576,18 +1611,21 @@ "name": "addServiceBusQueue", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/addServiceBusQueue", "qualifiedName": "addServiceBusQueue", - "description": "Adds an Azure Service Bus queue resource", + "description": "Adds an Azure Service Bus Queue resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addServiceBusQueue(name: string, queueName?: string): AzureServiceBusQueueResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the queue resource." }, { "name": "queueName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Service Bus Queue. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureServiceBusQueueResource", @@ -1601,18 +1639,21 @@ "name": "addServiceBusTopic", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/addServiceBusTopic", "qualifiedName": "addServiceBusTopic", - "description": "Adds an Azure Service Bus topic resource", + "description": "Adds an Azure Service Bus Topic resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addServiceBusTopic(name: string, topicName?: string): AzureServiceBusTopicResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the topic resource." }, { "name": "topicName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Service Bus Topic. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureServiceBusTopicResource", @@ -1626,16 +1667,17 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Azure Service Bus resource to run with the local emulator", + "description": "Configures an Azure Service Bus resource to be emulated. This resource requires an `AzureServiceBusResource` to be added to the application model.", + "remarks": "This version of the package defaults to the tag of the / container image.\nThe Azure Service Bus resource builder.Callback that exposes underlying container used for emulation to allow for customization.A reference to the `IResourceBuilder`1`.\nThe following example creates an Azure Service Bus resource that runs locally is an emulator and referencing that\nresource in a .NET project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar serviceBus = builder.AddAzureServiceBus(\"myservicebus\")\n.RunAsEmulator()\n.AddQueue(\"queue\");\nbuilder.AddProject()\n.WithReference(serviceBus);\nbuilder.Build().Run();\n```", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureServiceBusEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureServiceBusResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureServiceBusEmulatorResource) => Promise): AzureServiceBusResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureServiceBusEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureServiceBusEmulatorResource) => Promise" } ], "returnType": "AzureServiceBusResource", @@ -1652,13 +1694,15 @@ "fullName": "Aspire.Hosting.Azure.AzureServiceBusSubscriptionResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a Service Bus Subscription. Initializes a new instance of the `AzureServiceBusSubscriptionResource` class.", + "remarks": "Use `ConfigureInfrastructure``1` to configure specific `Provisioning` properties.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureServiceBusTopicResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureServiceBusTopicResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IResourceWithAzureFunctionsConfig" @@ -1668,7 +1712,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.connectionStringExpression", "qualifiedName": "AzureServiceBusSubscriptionResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure Service Bus Subscription.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -1682,7 +1726,7 @@ "name": "deadLetteringOnMessageExpiration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.deadLetteringOnMessageExpiration", "qualifiedName": "AzureServiceBusSubscriptionResource.deadLetteringOnMessageExpiration", - "description": "Gets the DeadLetteringOnMessageExpiration property", + "description": "A value that indicates whether this queue has dead letter support when a message expires.", "kind": "PropertyGetter", "signature": "deadLetteringOnMessageExpiration(): boolean", "parameters": [], @@ -1696,7 +1740,7 @@ "name": "defaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.defaultMessageTimeToLive", "qualifiedName": "AzureServiceBusSubscriptionResource.defaultMessageTimeToLive", - "description": "Gets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertyGetter", "signature": "defaultMessageTimeToLive(): timespan", "parameters": [], @@ -1710,7 +1754,7 @@ "name": "forwardDeadLetteredMessagesTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.forwardDeadLetteredMessagesTo", "qualifiedName": "AzureServiceBusSubscriptionResource.forwardDeadLetteredMessagesTo", - "description": "Gets the ForwardDeadLetteredMessagesTo property", + "description": "Queue/Topic name to forward the Dead Letter message.", "kind": "PropertyGetter", "signature": "forwardDeadLetteredMessagesTo(): string", "parameters": [], @@ -1724,7 +1768,7 @@ "name": "forwardTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.forwardTo", "qualifiedName": "AzureServiceBusSubscriptionResource.forwardTo", - "description": "Gets the ForwardTo property", + "description": "Queue/Topic name to forward the messages.", "kind": "PropertyGetter", "signature": "forwardTo(): string", "parameters": [], @@ -1738,7 +1782,7 @@ "name": "lockDuration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.lockDuration", "qualifiedName": "AzureServiceBusSubscriptionResource.lockDuration", - "description": "Gets the LockDuration property", + "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.", "kind": "PropertyGetter", "signature": "lockDuration(): timespan", "parameters": [], @@ -1752,7 +1796,7 @@ "name": "maxDeliveryCount", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.maxDeliveryCount", "qualifiedName": "AzureServiceBusSubscriptionResource.maxDeliveryCount", - "description": "Gets the MaxDeliveryCount property", + "description": "The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10.", "kind": "PropertyGetter", "signature": "maxDeliveryCount(): number", "parameters": [], @@ -1766,7 +1810,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.parent", "qualifiedName": "AzureServiceBusSubscriptionResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure Service Bus Topic resource.", "kind": "PropertyGetter", "signature": "parent(): AzureServiceBusTopicResource", "parameters": [], @@ -1780,7 +1824,7 @@ "name": "requiresSession", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.requiresSession", "qualifiedName": "AzureServiceBusSubscriptionResource.requiresSession", - "description": "Gets the RequiresSession property", + "description": "A value that indicates whether the queue supports the concept of sessions.", "kind": "PropertyGetter", "signature": "requiresSession(): boolean", "parameters": [], @@ -1794,11 +1838,11 @@ "name": "rules", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.rules", "qualifiedName": "AzureServiceBusSubscriptionResource.rules", - "description": "Gets the Rules property", + "description": "The rules for this subscription.", "kind": "PropertyGetter", - "signature": "rules(): List\u003CAspire.Hosting.Azure.ServiceBus/Aspire.Hosting.Azure.AzureServiceBusRule\u003E", + "signature": "rules(): List", "parameters": [], - "returnType": "List\u003CAspire.Hosting.Azure.ServiceBus/Aspire.Hosting.Azure.AzureServiceBusRule\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Azure.ServiceBus/Aspire.Hosting.Azure.AzureServiceBusSubscriptionResource", "expandedTargetTypes": [ "Aspire.Hosting.Azure.AzureServiceBusSubscriptionResource" @@ -1808,7 +1852,7 @@ "name": "setDeadLetteringOnMessageExpiration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setDeadLetteringOnMessageExpiration", "qualifiedName": "AzureServiceBusSubscriptionResource.setDeadLetteringOnMessageExpiration", - "description": "Sets the DeadLetteringOnMessageExpiration property", + "description": "A value that indicates whether this queue has dead letter support when a message expires.", "kind": "PropertySetter", "signature": "setDeadLetteringOnMessageExpiration(value: boolean): AzureServiceBusSubscriptionResource", "parameters": [ @@ -1827,7 +1871,7 @@ "name": "setDefaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setDefaultMessageTimeToLive", "qualifiedName": "AzureServiceBusSubscriptionResource.setDefaultMessageTimeToLive", - "description": "Sets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertySetter", "signature": "setDefaultMessageTimeToLive(value: timespan): AzureServiceBusSubscriptionResource", "parameters": [ @@ -1846,7 +1890,7 @@ "name": "setForwardDeadLetteredMessagesTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setForwardDeadLetteredMessagesTo", "qualifiedName": "AzureServiceBusSubscriptionResource.setForwardDeadLetteredMessagesTo", - "description": "Sets the ForwardDeadLetteredMessagesTo property", + "description": "Queue/Topic name to forward the Dead Letter message.", "kind": "PropertySetter", "signature": "setForwardDeadLetteredMessagesTo(value: string): AzureServiceBusSubscriptionResource", "parameters": [ @@ -1865,7 +1909,7 @@ "name": "setForwardTo", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setForwardTo", "qualifiedName": "AzureServiceBusSubscriptionResource.setForwardTo", - "description": "Sets the ForwardTo property", + "description": "Queue/Topic name to forward the messages.", "kind": "PropertySetter", "signature": "setForwardTo(value: string): AzureServiceBusSubscriptionResource", "parameters": [ @@ -1884,7 +1928,7 @@ "name": "setLockDuration", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setLockDuration", "qualifiedName": "AzureServiceBusSubscriptionResource.setLockDuration", - "description": "Sets the LockDuration property", + "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.", "kind": "PropertySetter", "signature": "setLockDuration(value: timespan): AzureServiceBusSubscriptionResource", "parameters": [ @@ -1903,7 +1947,7 @@ "name": "setMaxDeliveryCount", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setMaxDeliveryCount", "qualifiedName": "AzureServiceBusSubscriptionResource.setMaxDeliveryCount", - "description": "Sets the MaxDeliveryCount property", + "description": "The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10.", "kind": "PropertySetter", "signature": "setMaxDeliveryCount(value: number): AzureServiceBusSubscriptionResource", "parameters": [ @@ -1922,7 +1966,7 @@ "name": "setRequiresSession", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setRequiresSession", "qualifiedName": "AzureServiceBusSubscriptionResource.setRequiresSession", - "description": "Sets the RequiresSession property", + "description": "A value that indicates whether the queue supports the concept of sessions.", "kind": "PropertySetter", "signature": "setRequiresSession(value: boolean): AzureServiceBusSubscriptionResource", "parameters": [ @@ -1941,7 +1985,7 @@ "name": "setSubscriptionName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.setSubscriptionName", "qualifiedName": "AzureServiceBusSubscriptionResource.setSubscriptionName", - "description": "Sets the SubscriptionName property", + "description": "The subscription name.", "kind": "PropertySetter", "signature": "setSubscriptionName(value: string): AzureServiceBusSubscriptionResource", "parameters": [ @@ -1960,7 +2004,7 @@ "name": "subscriptionName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusSubscriptionResource.subscriptionName", "qualifiedName": "AzureServiceBusSubscriptionResource.subscriptionName", - "description": "Gets the SubscriptionName property", + "description": "The subscription name.", "kind": "PropertyGetter", "signature": "subscriptionName(): string", "parameters": [], @@ -1974,15 +2018,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/withSubscriptionProperties", "qualifiedName": "withProperties", - "description": "Configures properties of an Azure Service Bus subscription", + "description": "Allows setting the properties of an Azure Service Bus Subscription resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: AzureServiceBusSubscriptionResource) =\u003E Promise\u003Cvoid\u003E): AzureServiceBusSubscriptionResource", + "signature": "withProperties(configure: (obj: AzureServiceBusSubscriptionResource) => Promise): AzureServiceBusSubscriptionResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureServiceBusSubscriptionResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureServiceBusSubscriptionResource) => Promise", + "description": "A method that can be used for customizing the `AzureServiceBusSubscriptionResource`." } ], "returnType": "AzureServiceBusSubscriptionResource", @@ -1999,13 +2045,15 @@ "fullName": "Aspire.Hosting.Azure.AzureServiceBusTopicResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a Service Bus Topic. Initializes a new instance of the `AzureServiceBusTopicResource` class.", + "remarks": "Use `ConfigureInfrastructure``1` to configure specific `Provisioning` properties.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureServiceBusResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureServiceBusResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IResourceWithAzureFunctionsConfig" @@ -2015,18 +2063,21 @@ "name": "addServiceBusSubscription", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/addServiceBusSubscription", "qualifiedName": "addServiceBusSubscription", - "description": "Adds an Azure Service Bus subscription resource", + "description": "Adds an Azure Service Bus Subscription resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addServiceBusSubscription(name: string, subscriptionName?: string): AzureServiceBusSubscriptionResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the subscription resource." }, { "name": "subscriptionName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Service Bus Subscription. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureServiceBusSubscriptionResource", @@ -2040,7 +2091,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.connectionStringExpression", "qualifiedName": "AzureServiceBusTopicResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure Service Bus Topic.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -2054,7 +2105,7 @@ "name": "defaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.defaultMessageTimeToLive", "qualifiedName": "AzureServiceBusTopicResource.defaultMessageTimeToLive", - "description": "Gets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertyGetter", "signature": "defaultMessageTimeToLive(): timespan", "parameters": [], @@ -2068,7 +2119,7 @@ "name": "duplicateDetectionHistoryTimeWindow", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.duplicateDetectionHistoryTimeWindow", "qualifiedName": "AzureServiceBusTopicResource.duplicateDetectionHistoryTimeWindow", - "description": "Gets the DuplicateDetectionHistoryTimeWindow property", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.", "kind": "PropertyGetter", "signature": "duplicateDetectionHistoryTimeWindow(): timespan", "parameters": [], @@ -2082,7 +2133,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.parent", "qualifiedName": "AzureServiceBusTopicResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure Service Bus resource.", "kind": "PropertyGetter", "signature": "parent(): AzureServiceBusResource", "parameters": [], @@ -2096,7 +2147,7 @@ "name": "requiresDuplicateDetection", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.requiresDuplicateDetection", "qualifiedName": "AzureServiceBusTopicResource.requiresDuplicateDetection", - "description": "Gets the RequiresDuplicateDetection property", + "description": "A value indicating if this topic requires duplicate detection.", "kind": "PropertyGetter", "signature": "requiresDuplicateDetection(): boolean", "parameters": [], @@ -2110,7 +2161,7 @@ "name": "setDefaultMessageTimeToLive", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.setDefaultMessageTimeToLive", "qualifiedName": "AzureServiceBusTopicResource.setDefaultMessageTimeToLive", - "description": "Sets the DefaultMessageTimeToLive property", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.", "kind": "PropertySetter", "signature": "setDefaultMessageTimeToLive(value: timespan): AzureServiceBusTopicResource", "parameters": [ @@ -2129,7 +2180,7 @@ "name": "setDuplicateDetectionHistoryTimeWindow", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.setDuplicateDetectionHistoryTimeWindow", "qualifiedName": "AzureServiceBusTopicResource.setDuplicateDetectionHistoryTimeWindow", - "description": "Sets the DuplicateDetectionHistoryTimeWindow property", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.", "kind": "PropertySetter", "signature": "setDuplicateDetectionHistoryTimeWindow(value: timespan): AzureServiceBusTopicResource", "parameters": [ @@ -2148,7 +2199,7 @@ "name": "setRequiresDuplicateDetection", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.setRequiresDuplicateDetection", "qualifiedName": "AzureServiceBusTopicResource.setRequiresDuplicateDetection", - "description": "Sets the RequiresDuplicateDetection property", + "description": "A value indicating if this topic requires duplicate detection.", "kind": "PropertySetter", "signature": "setRequiresDuplicateDetection(value: boolean): AzureServiceBusTopicResource", "parameters": [ @@ -2167,7 +2218,7 @@ "name": "setTopicName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.setTopicName", "qualifiedName": "AzureServiceBusTopicResource.setTopicName", - "description": "Sets the TopicName property", + "description": "The topic name.", "kind": "PropertySetter", "signature": "setTopicName(value: string): AzureServiceBusTopicResource", "parameters": [ @@ -2186,7 +2237,7 @@ "name": "topicName", "capabilityId": "Aspire.Hosting.Azure/AzureServiceBusTopicResource.topicName", "qualifiedName": "AzureServiceBusTopicResource.topicName", - "description": "Gets the TopicName property", + "description": "The topic name.", "kind": "PropertyGetter", "signature": "topicName(): string", "parameters": [], @@ -2200,15 +2251,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Azure.ServiceBus/withTopicProperties", "qualifiedName": "withProperties", - "description": "Configures properties of an Azure Service Bus topic", + "description": "Allows setting the properties of an Azure Service Bus Topic resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: AzureServiceBusTopicResource) =\u003E Promise\u003Cvoid\u003E): AzureServiceBusTopicResource", + "signature": "withProperties(configure: (obj: AzureServiceBusTopicResource) => Promise): AzureServiceBusTopicResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: AzureServiceBusTopicResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureServiceBusTopicResource) => Promise", + "description": "A method that can be used for customizing the `AzureServiceBusTopicResource`." } ], "returnType": "AzureServiceBusTopicResource", @@ -2226,46 +2279,58 @@ "name": "AzureServiceBusCorrelationFilter", "fullName": "Aspire.Hosting.Azure.AzureServiceBusCorrelationFilter", "kind": "dto", + "description": "Represents the correlation filter expression.", "fields": [ { "name": "Properties", - "type": "Dict\u003Cstring,any\u003E" + "type": "Dict", + "description": "Dictionary object for custom filters." }, { "name": "CorrelationId", - "type": "string" + "type": "string", + "description": "Identifier of the correlation." }, { "name": "MessageId", - "type": "string" + "type": "string", + "description": "Identifier of the message." }, { "name": "SendTo", - "type": "string" + "type": "string", + "description": "Address to send to." }, { "name": "ReplyTo", - "type": "string" + "type": "string", + "description": "Address of the queue to reply to." }, { "name": "Subject", - "type": "string" + "type": "string", + "description": "Application specific label." }, { "name": "SessionId", - "type": "string" + "type": "string", + "description": "Session identifier." }, { "name": "ReplyToSessionId", - "type": "string" + "type": "string", + "description": "Session identifier to reply to." }, { "name": "ContentType", - "type": "string" + "type": "string", + "description": "Content type of the message." }, { "name": "RequiresPreprocessing", - "type": "boolean" + "type": "boolean", + "isOptional": true, + "description": "Value that indicates whether the rule action requires preprocessing." } ] }, @@ -2273,18 +2338,23 @@ "name": "AzureServiceBusRule", "fullName": "Aspire.Hosting.Azure.AzureServiceBusRule", "kind": "dto", + "description": "Represents a Service Bus Rule. Initializes a new instance of the `AzureServiceBusRule` class.", + "remarks": "Use `ConfigureInfrastructure``1` to configure specific `Provisioning` properties.", "fields": [ { "name": "Name", - "type": "string" + "type": "string", + "description": "The rule name." }, { "name": "CorrelationFilter", - "type": "AzureServiceBusCorrelationFilter" + "type": "AzureServiceBusCorrelationFilter", + "description": "Properties of correlation filter." }, { "name": "FilterType", - "type": "AzureServiceBusFilterType" + "type": "AzureServiceBusFilterType", + "description": "Filter type that is evaluated against a BrokeredMessage." } ] } @@ -2294,15 +2364,27 @@ "name": "AzureServiceBusFilterType", "fullName": "Aspire.Hosting.Azure.AzureServiceBusFilterType", "kind": "enum", + "description": "Rule filter types.", "members": [ "SqlFilter", "CorrelationFilter" + ], + "memberDocs": [ + { + "name": "SqlFilter", + "description": "SqlFilter." + }, + { + "name": "CorrelationFilter", + "description": "CorrelationFilter." + } ] }, { "name": "AzureServiceBusRole", "fullName": "Aspire.Hosting.AzureServiceBusRole", "kind": "enum", + "description": "Represents ATS-compatible Azure Service Bus roles.", "members": [ "AzureServiceBusDataOwner", "AzureServiceBusDataReceiver", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.SignalR.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.SignalR.13.3.0.json index 819b4136b..abb81de60 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.SignalR.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.SignalR.13.3.0.json @@ -30,16 +30,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.SignalR/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures an Azure SignalR resource to be emulated. This resource requires an Azure SignalR resource to be added to the application model. Please note that the resource will be emulated in Serverless mode.", + "description": "Configures an Azure SignalR resource to be emulated. This resource requires an `AzureSignalRResource` to be added to the application model. Please note that the resource will be emulated in Serverless mode.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureSignalREmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureSignalRResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureSignalREmulatorResource) => Promise): AzureSignalRResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureSignalREmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureSignalREmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureSignalRResource", @@ -53,17 +56,20 @@ "name": "withRoleAssignments", "capabilityId": "Aspire.Hosting.Azure.SignalR/withSignalRRoleAssignments", "qualifiedName": "withRoleAssignments", - "description": "Assigns Azure SignalR roles to a resource", + "description": "Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource.", + "returns": "The updated `IResourceBuilder`1` with the applied role assignments.", "kind": "Method", "signature": "withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): IResource", "parameters": [ { "name": "target", - "type": "AzureSignalRResource" + "type": "AzureSignalRResource", + "description": "The target Azure SignalR resource." }, { "name": "roles", - "type": "AzureSignalRRole[]" + "type": "AzureSignalRRole[]", + "description": "The Azure SignalR roles to be assigned (for example, `SignalRContributor`)." } ], "returnType": "IResource", @@ -109,16 +115,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.SignalR/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures an Azure SignalR resource to be emulated. This resource requires an Azure SignalR resource to be added to the application model. Please note that the resource will be emulated in Serverless mode.", + "description": "Configures an Azure SignalR resource to be emulated. This resource requires an `AzureSignalRResource` to be added to the application model. Please note that the resource will be emulated in Serverless mode.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureSignalREmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureSignalRResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureSignalREmulatorResource) => Promise): AzureSignalRResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureSignalREmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureSignalREmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureSignalRResource", @@ -152,10 +161,25 @@ "name": "AzureSignalRRole", "fullName": "Aspire.Hosting.AzureSignalRRole", "kind": "enum", + "description": "Represents ATS-compatible Azure SignalR roles.", "members": [ "SignalRContributor", "SignalRAppServer", "SignalRRestApiOwner" + ], + "memberDocs": [ + { + "name": "SignalRContributor", + "description": "Allows managing Azure SignalR resources." + }, + { + "name": "SignalRAppServer", + "description": "Allows acting as an app server for SignalR." + }, + { + "name": "SignalRRestApiOwner", + "description": "Allows using REST API for SignalR in serverless mode." + } ] } ] diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Sql.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Sql.13.3.0.json index 35911c84a..2ae14cfa6 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Sql.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Sql.13.3.0.json @@ -10,13 +10,15 @@ "name": "addAzureSqlServer", "capabilityId": "Aspire.Hosting.Azure.Sql/addAzureSqlServer", "qualifiedName": "addAzureSqlServer", - "description": "Adds an Azure SQL Database server resource", + "description": "Adds an Azure SQL Database (server) resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", "signature": "addAzureSqlServer(name: string): AzureSqlServerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureSqlServerResource", @@ -30,18 +32,21 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.Azure.Sql/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds an Azure SQL database resource", + "description": "Adds an Azure SQL Database to the application model. The Free Offer option will be used when deploying the resource in Azure", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): AzureSqlDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureSqlDatabaseResource", @@ -55,7 +60,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.connectionStringExpression", "qualifiedName": "AzureSqlDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure SQL database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -69,7 +74,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.databaseName", "qualifiedName": "AzureSqlDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -83,7 +88,7 @@ "name": "isContainer", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.isContainer", "qualifiedName": "AzureSqlDatabaseResource.isContainer", - "description": "Gets the IsContainer property", + "description": "Gets a value indicating whether the current resource represents a container. If so the actual resource is not running in Azure.", "kind": "PropertyGetter", "signature": "isContainer(): boolean", "parameters": [], @@ -97,7 +102,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.jdbcConnectionString", "qualifiedName": "AzureSqlDatabaseResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the Azure SQL database.", + "remarks": "Format: `jdbc:sqlserver://{host}:{port};database={database};encrypt=true;trustServerCertificate=false`.\nWhen running in a container, inherits the container JDBC format including username and password.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -111,7 +117,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.parent", "qualifiedName": "AzureSqlDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure SQL Database (server) resource.", "kind": "PropertyGetter", "signature": "parent(): AzureSqlServerResource", "parameters": [], @@ -125,7 +131,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.uriExpression", "qualifiedName": "AzureSqlDatabaseResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Azure SQL database.", + "remarks": "Format: `mssql://{host}:{port}/{database}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -139,11 +146,11 @@ "name": "azureSqlDatabases", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.azureSqlDatabases", "qualifiedName": "AzureSqlServerResource.azureSqlDatabases", - "description": "Gets the AzureSqlDatabases property", + "description": "A dictionary where the key is the resource name and the value is the Azure SQL database resource.", "kind": "PropertyGetter", - "signature": "azureSqlDatabases(): Dict\u003Cstring,Aspire.Hosting.Azure.Sql/Aspire.Hosting.Azure.AzureSqlDatabaseResource\u003E", + "signature": "azureSqlDatabases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Azure.Sql/Aspire.Hosting.Azure.AzureSqlDatabaseResource\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Azure.Sql/Aspire.Hosting.Azure.AzureSqlServerResource", "expandedTargetTypes": [ "Aspire.Hosting.Azure.AzureSqlServerResource" @@ -153,7 +160,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.connectionStringExpression", "qualifiedName": "AzureSqlServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection template for the manifest for the Azure SQL Server resource.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -167,11 +174,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.databases", "qualifiedName": "AzureSqlServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the Azure SQL database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Azure.Sql/Aspire.Hosting.Azure.AzureSqlServerResource", "expandedTargetTypes": [ "Aspire.Hosting.Azure.AzureSqlServerResource" @@ -181,7 +188,7 @@ "name": "fullyQualifiedDomainName", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.fullyQualifiedDomainName", "qualifiedName": "AzureSqlServerResource.fullyQualifiedDomainName", - "description": "Gets the FullyQualifiedDomainName property", + "description": "Gets the fully qualified domain name (FQDN) output reference from the bicep template for the Azure SQL Server resource.", "kind": "PropertyGetter", "signature": "fullyQualifiedDomainName(): BicepOutputReference", "parameters": [], @@ -195,7 +202,8 @@ "name": "hostName", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.hostName", "qualifiedName": "AzureSqlServerResource.hostName", - "description": "Gets the HostName property", + "description": "Gets the host name for the SQL Server.", + "remarks": "In container mode, resolves to the container's primary endpoint host.\nIn Azure mode, resolves to the Azure SQL Server's fully qualified domain name.", "kind": "PropertyGetter", "signature": "hostName(): ReferenceExpression", "parameters": [], @@ -209,7 +217,7 @@ "name": "id", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.id", "qualifiedName": "AzureSqlServerResource.id", - "description": "Gets the Id property", + "description": "Gets the \"id\" output reference for the resource.", "kind": "PropertyGetter", "signature": "id(): BicepOutputReference", "parameters": [], @@ -223,7 +231,7 @@ "name": "isContainer", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.isContainer", "qualifiedName": "AzureSqlServerResource.isContainer", - "description": "Gets the IsContainer property", + "description": "Gets a value indicating whether the current resource represents a container. If so the actual resource is not running in Azure.", "kind": "PropertyGetter", "signature": "isContainer(): boolean", "parameters": [], @@ -237,7 +245,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.jdbcConnectionString", "qualifiedName": "AzureSqlServerResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the server.", + "remarks": "Format: `jdbc:sqlserver://{host}:{port};authentication=ActiveDirectoryIntegrated;encrypt=true;trustServerCertificate=true`.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -251,7 +260,7 @@ "name": "nameOutputReference", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.nameOutputReference", "qualifiedName": "AzureSqlServerResource.nameOutputReference", - "description": "Gets the NameOutputReference property", + "description": "Gets the \"name\" output reference for the resource.", "kind": "PropertyGetter", "signature": "nameOutputReference(): BicepOutputReference", "parameters": [], @@ -265,7 +274,8 @@ "name": "port", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.port", "qualifiedName": "AzureSqlServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port for the PostgreSQL server.", + "remarks": "In container mode, resolves to the container's primary endpoint port.\nIn Azure mode, resolves to 1433.", "kind": "PropertyGetter", "signature": "port(): ReferenceExpression", "parameters": [], @@ -279,7 +289,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.uriExpression", "qualifiedName": "AzureSqlServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the SQL Server.", + "remarks": "Format: `mssql://{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -293,16 +304,19 @@ "name": "runAsContainer", "capabilityId": "Aspire.Hosting.Azure.Sql/runAsContainer", "qualifiedName": "runAsContainer", - "description": "Configures the Azure SQL server to run locally in a SQL Server container", + "description": "Configures an Azure SQL Database (server) resource to run locally in a container.", + "remarks": "The following example creates an Azure SQL Database (server) resource that runs locally in a\nSQL Server container and referencing that resource in a .NET project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar data = builder.AddAzureSqlServer(\"data\")\n.RunAsContainer();\nbuilder.AddProject()\n.WithReference(data);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", - "signature": "runAsContainer(configureContainer?: (obj: SqlServerServerResource) =\u003E Promise\u003Cvoid\u003E): AzureSqlServerResource", + "signature": "runAsContainer(configureContainer?: (obj: SqlServerServerResource) => Promise): AzureSqlServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: SqlServerServerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: SqlServerServerResource) => Promise", + "description": "Callback that exposes underlying container to allow for customization." } ], "returnType": "AzureSqlServerResource", @@ -316,13 +330,16 @@ "name": "withAdminDeploymentScriptStorage", "capabilityId": "Aspire.Hosting.Azure.Sql/withAdminDeploymentScriptStorage", "qualifiedName": "withAdminDeploymentScriptStorage", - "description": "Configures the Azure SQL server to use a specific storage account for deployment scripts", + "description": "Configures the Azure SQL Server to use the specified storage account for deployment script execution.", + "remarks": "When an Azure SQL Server has a private endpoint, deployment scripts require a storage account to upload\nscripts and write logs. This method allows you to provide an explicit storage account instead of having\none auto-created.\nThe storage account must have `AllowSharedKeyAccess` enabled, as deployment scripts need to mount\nfile shares. If the storage is not an existing resource, this method will automatically configure\n`AllowSharedKeyAccess = true`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withAdminDeploymentScriptStorage(storage: AzureStorageResource): AzureSqlServerResource", "parameters": [ { "name": "storage", - "type": "AzureStorageResource" + "type": "AzureStorageResource", + "description": "The storage account to use for deployment scripts." } ], "returnType": "AzureSqlServerResource", @@ -336,13 +353,16 @@ "name": "withAdminDeploymentScriptSubnet", "capabilityId": "Aspire.Hosting.Azure.Sql/withAdminDeploymentScriptSubnet", "qualifiedName": "withAdminDeploymentScriptSubnet", - "description": "Configures the Azure SQL server to use a specific subnet for deployment scripts", + "description": "Configures the Azure SQL Server to use the specified subnet for deployment script execution.", + "remarks": "When an Azure SQL Server has a private endpoint, deployment scripts that add database role assignments\nrun inside Azure Container Instances (ACI). This method allows you to provide an explicit subnet for those\ncontainers instead of having one auto-created.\nThe specified subnet will be automatically delegated to `Microsoft.ContainerInstance/containerGroups`.\nEnsure the subnet has outbound network security rules allowing access to Azure Active Directory (port 443)\nand SQL (port 443) service tags.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withAdminDeploymentScriptSubnet(subnet: AzureSubnetResource): AzureSqlServerResource", "parameters": [ { "name": "subnet", - "type": "AzureSubnetResource" + "type": "AzureSubnetResource", + "description": "The subnet to delegate for Azure Container Instances used by deployment scripts." } ], "returnType": "AzureSqlServerResource", @@ -356,7 +376,8 @@ "name": "withDefaultAzureSku", "capabilityId": "Aspire.Hosting.Azure.Sql/withDefaultAzureSku", "qualifiedName": "withDefaultAzureSku", - "description": "Configures the Azure SQL database to use the default Azure SKU", + "description": "Configures the Azure SQL Database to be deployed use the default SKU provided by Azure. Please be aware that the Azure default Sku might not take advantage of the free offer.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withDefaultAzureSku(): AzureSqlDatabaseResource", "parameters": [], @@ -374,13 +395,14 @@ "fullName": "Aspire.Hosting.Azure.AzureSqlDatabaseResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents an Azure SQL database. This is a child resource of an `AzureSqlServerResource`.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureSqlServerResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureSqlServerResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -389,7 +411,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.connectionStringExpression", "qualifiedName": "AzureSqlDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Azure SQL database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -403,7 +425,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.databaseName", "qualifiedName": "AzureSqlDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -417,7 +439,7 @@ "name": "isContainer", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.isContainer", "qualifiedName": "AzureSqlDatabaseResource.isContainer", - "description": "Gets the IsContainer property", + "description": "Gets a value indicating whether the current resource represents a container. If so the actual resource is not running in Azure.", "kind": "PropertyGetter", "signature": "isContainer(): boolean", "parameters": [], @@ -431,7 +453,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.jdbcConnectionString", "qualifiedName": "AzureSqlDatabaseResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the Azure SQL database.", + "remarks": "Format: `jdbc:sqlserver://{host}:{port};database={database};encrypt=true;trustServerCertificate=false`.\nWhen running in a container, inherits the container JDBC format including username and password.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -445,7 +468,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.parent", "qualifiedName": "AzureSqlDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Azure SQL Database (server) resource.", "kind": "PropertyGetter", "signature": "parent(): AzureSqlServerResource", "parameters": [], @@ -459,7 +482,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.Azure/AzureSqlDatabaseResource.uriExpression", "qualifiedName": "AzureSqlDatabaseResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Azure SQL database.", + "remarks": "Format: `mssql://{host}:{port}/{database}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -473,7 +497,8 @@ "name": "withDefaultAzureSku", "capabilityId": "Aspire.Hosting.Azure.Sql/withDefaultAzureSku", "qualifiedName": "withDefaultAzureSku", - "description": "Configures the Azure SQL database to use the default Azure SKU", + "description": "Configures the Azure SQL Database to be deployed use the default SKU provided by Azure. Please be aware that the Azure default Sku might not take advantage of the free offer.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withDefaultAzureSku(): AzureSqlDatabaseResource", "parameters": [], @@ -491,6 +516,7 @@ "fullName": "Aspire.Hosting.Azure.AzureSqlServerResource", "kind": "handle", "exposeProperties": true, + "description": "Represents an Azure Sql Server resource.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IAzureResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -509,18 +535,21 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.Azure.Sql/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds an Azure SQL database resource", + "description": "Adds an Azure SQL Database to the application model. The Free Offer option will be used when deploying the resource in Azure", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): AzureSqlDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureSqlDatabaseResource", @@ -534,11 +563,11 @@ "name": "azureSqlDatabases", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.azureSqlDatabases", "qualifiedName": "AzureSqlServerResource.azureSqlDatabases", - "description": "Gets the AzureSqlDatabases property", + "description": "A dictionary where the key is the resource name and the value is the Azure SQL database resource.", "kind": "PropertyGetter", - "signature": "azureSqlDatabases(): Dict\u003Cstring,Aspire.Hosting.Azure.Sql/Aspire.Hosting.Azure.AzureSqlDatabaseResource\u003E", + "signature": "azureSqlDatabases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Azure.Sql/Aspire.Hosting.Azure.AzureSqlDatabaseResource\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Azure.Sql/Aspire.Hosting.Azure.AzureSqlServerResource", "expandedTargetTypes": [ "Aspire.Hosting.Azure.AzureSqlServerResource" @@ -548,7 +577,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.connectionStringExpression", "qualifiedName": "AzureSqlServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection template for the manifest for the Azure SQL Server resource.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -562,11 +591,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.databases", "qualifiedName": "AzureSqlServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the Azure SQL database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Azure.Sql/Aspire.Hosting.Azure.AzureSqlServerResource", "expandedTargetTypes": [ "Aspire.Hosting.Azure.AzureSqlServerResource" @@ -576,7 +605,7 @@ "name": "fullyQualifiedDomainName", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.fullyQualifiedDomainName", "qualifiedName": "AzureSqlServerResource.fullyQualifiedDomainName", - "description": "Gets the FullyQualifiedDomainName property", + "description": "Gets the fully qualified domain name (FQDN) output reference from the bicep template for the Azure SQL Server resource.", "kind": "PropertyGetter", "signature": "fullyQualifiedDomainName(): BicepOutputReference", "parameters": [], @@ -590,7 +619,8 @@ "name": "hostName", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.hostName", "qualifiedName": "AzureSqlServerResource.hostName", - "description": "Gets the HostName property", + "description": "Gets the host name for the SQL Server.", + "remarks": "In container mode, resolves to the container's primary endpoint host.\nIn Azure mode, resolves to the Azure SQL Server's fully qualified domain name.", "kind": "PropertyGetter", "signature": "hostName(): ReferenceExpression", "parameters": [], @@ -604,7 +634,7 @@ "name": "id", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.id", "qualifiedName": "AzureSqlServerResource.id", - "description": "Gets the Id property", + "description": "Gets the \"id\" output reference for the resource.", "kind": "PropertyGetter", "signature": "id(): BicepOutputReference", "parameters": [], @@ -618,7 +648,7 @@ "name": "isContainer", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.isContainer", "qualifiedName": "AzureSqlServerResource.isContainer", - "description": "Gets the IsContainer property", + "description": "Gets a value indicating whether the current resource represents a container. If so the actual resource is not running in Azure.", "kind": "PropertyGetter", "signature": "isContainer(): boolean", "parameters": [], @@ -632,7 +662,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.jdbcConnectionString", "qualifiedName": "AzureSqlServerResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the server.", + "remarks": "Format: `jdbc:sqlserver://{host}:{port};authentication=ActiveDirectoryIntegrated;encrypt=true;trustServerCertificate=true`.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -646,7 +677,7 @@ "name": "nameOutputReference", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.nameOutputReference", "qualifiedName": "AzureSqlServerResource.nameOutputReference", - "description": "Gets the NameOutputReference property", + "description": "Gets the \"name\" output reference for the resource.", "kind": "PropertyGetter", "signature": "nameOutputReference(): BicepOutputReference", "parameters": [], @@ -660,7 +691,8 @@ "name": "port", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.port", "qualifiedName": "AzureSqlServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port for the PostgreSQL server.", + "remarks": "In container mode, resolves to the container's primary endpoint port.\nIn Azure mode, resolves to 1433.", "kind": "PropertyGetter", "signature": "port(): ReferenceExpression", "parameters": [], @@ -674,7 +706,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.Azure/AzureSqlServerResource.uriExpression", "qualifiedName": "AzureSqlServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the SQL Server.", + "remarks": "Format: `mssql://{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -688,16 +721,19 @@ "name": "runAsContainer", "capabilityId": "Aspire.Hosting.Azure.Sql/runAsContainer", "qualifiedName": "runAsContainer", - "description": "Configures the Azure SQL server to run locally in a SQL Server container", + "description": "Configures an Azure SQL Database (server) resource to run locally in a container.", + "remarks": "The following example creates an Azure SQL Database (server) resource that runs locally in a\nSQL Server container and referencing that resource in a .NET project.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar data = builder.AddAzureSqlServer(\"data\")\n.RunAsContainer();\nbuilder.AddProject()\n.WithReference(data);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1` builder.", "kind": "Method", - "signature": "runAsContainer(configureContainer?: (obj: SqlServerServerResource) =\u003E Promise\u003Cvoid\u003E): AzureSqlServerResource", + "signature": "runAsContainer(configureContainer?: (obj: SqlServerServerResource) => Promise): AzureSqlServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: SqlServerServerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: SqlServerServerResource) => Promise", + "description": "Callback that exposes underlying container to allow for customization." } ], "returnType": "AzureSqlServerResource", @@ -711,13 +747,16 @@ "name": "withAdminDeploymentScriptStorage", "capabilityId": "Aspire.Hosting.Azure.Sql/withAdminDeploymentScriptStorage", "qualifiedName": "withAdminDeploymentScriptStorage", - "description": "Configures the Azure SQL server to use a specific storage account for deployment scripts", + "description": "Configures the Azure SQL Server to use the specified storage account for deployment script execution.", + "remarks": "When an Azure SQL Server has a private endpoint, deployment scripts require a storage account to upload\nscripts and write logs. This method allows you to provide an explicit storage account instead of having\none auto-created.\nThe storage account must have `AllowSharedKeyAccess` enabled, as deployment scripts need to mount\nfile shares. If the storage is not an existing resource, this method will automatically configure\n`AllowSharedKeyAccess = true`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withAdminDeploymentScriptStorage(storage: AzureStorageResource): AzureSqlServerResource", "parameters": [ { "name": "storage", - "type": "AzureStorageResource" + "type": "AzureStorageResource", + "description": "The storage account to use for deployment scripts." } ], "returnType": "AzureSqlServerResource", @@ -731,13 +770,16 @@ "name": "withAdminDeploymentScriptSubnet", "capabilityId": "Aspire.Hosting.Azure.Sql/withAdminDeploymentScriptSubnet", "qualifiedName": "withAdminDeploymentScriptSubnet", - "description": "Configures the Azure SQL server to use a specific subnet for deployment scripts", + "description": "Configures the Azure SQL Server to use the specified subnet for deployment script execution.", + "remarks": "When an Azure SQL Server has a private endpoint, deployment scripts that add database role assignments\nrun inside Azure Container Instances (ACI). This method allows you to provide an explicit subnet for those\ncontainers instead of having one auto-created.\nThe specified subnet will be automatically delegated to `Microsoft.ContainerInstance/containerGroups`.\nEnsure the subnet has outbound network security rules allowing access to Azure Active Directory (port 443)\nand SQL (port 443) service tags.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withAdminDeploymentScriptSubnet(subnet: AzureSubnetResource): AzureSqlServerResource", "parameters": [ { "name": "subnet", - "type": "AzureSubnetResource" + "type": "AzureSubnetResource", + "description": "The subnet to delegate for Azure Container Instances used by deployment scripts." } ], "returnType": "AzureSqlServerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Storage.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Storage.13.3.0.json index f2dbb5b33..3651db2c5 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Storage.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.Storage.13.3.0.json @@ -10,13 +10,15 @@ "name": "addAzureStorage", "capabilityId": "Aspire.Hosting.Azure.Storage/addAzureStorage", "qualifiedName": "addAzureStorage", - "description": "Adds an Azure Storage resource", + "description": "Adds an Azure Storage resource to the application model. This resource can be used to create Azure blob, table, and queue resources.", + "remarks": "By default references to the Azure Storage resource will be assigned the following roles:\n- `StorageBlobDataContributor`\n- `StorageTableDataContributor`\n- `StorageQueueDataContributor`\nThese can be replaced by calling `WithRoleAssignments``1`.", "kind": "Method", "signature": "addAzureStorage(name: string): AzureStorageResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureStorageResource", @@ -30,18 +32,21 @@ "name": "addBlobContainer", "capabilityId": "Aspire.Hosting.Azure.Storage/addBlobContainer", "qualifiedName": "addBlobContainer", - "description": "Adds an Azure Blob Storage container resource", + "description": "Creates a builder for the `AzureBlobStorageContainerResource` which can be referenced to get the Azure Storage blob container endpoint for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureBlobStorageContainerResource`.", "kind": "Method", "signature": "addBlobContainer(name: string, blobContainerName?: string): AzureBlobStorageContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "blobContainerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the blob container." } ], "returnType": "AzureBlobStorageContainerResource", @@ -55,13 +60,15 @@ "name": "addBlobs", "capabilityId": "Aspire.Hosting.Azure.Storage/addBlobs", "qualifiedName": "addBlobs", - "description": "Adds an Azure Blob Storage resource", + "description": "Creates a builder for the `AzureBlobStorageResource` which can be referenced to get the Azure Storage blob endpoint for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureBlobStorageResource`.", "kind": "Method", "signature": "addBlobs(name: string): AzureBlobStorageResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureBlobStorageResource", @@ -75,13 +82,15 @@ "name": "addDataLake", "capabilityId": "Aspire.Hosting.Azure.Storage/addDataLake", "qualifiedName": "addDataLake", - "description": "Adds an Azure Data Lake Storage resource", + "description": "Creates a builder for the `AzureDataLakeStorageResource` which can be referenced to get the Azure Data Lake endpoint for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureDataLakeStorageResource`.", "kind": "Method", "signature": "addDataLake(name: string): AzureDataLakeStorageResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureDataLakeStorageResource", @@ -95,18 +104,21 @@ "name": "addDataLakeFileSystem", "capabilityId": "Aspire.Hosting.Azure.Storage/addDataLakeFileSystem", "qualifiedName": "addDataLakeFileSystem", - "description": "Adds an Azure Data Lake Storage file system resource", + "description": "Creates a builder for the `AzureDataLakeStorageFileSystemResource` which can be referenced to get the Azure DataLake file system connection string.", + "returns": "An `IResourceBuilder`1` for the `AzureDataLakeStorageFileSystemResource`.", "kind": "Method", "signature": "addDataLakeFileSystem(name: string, dataLakeFileSystemName?: string): AzureDataLakeStorageFileSystemResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "dataLakeFileSystemName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the data lake file system." } ], "returnType": "AzureDataLakeStorageFileSystemResource", @@ -120,18 +132,21 @@ "name": "addQueue", "capabilityId": "Aspire.Hosting.Azure.Storage/addQueue", "qualifiedName": "addQueue", - "description": "Adds an Azure Storage queue resource", + "description": "Creates a builder for the `AzureQueueStorageQueueResource` which can be referenced to get the Azure Storage queue for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureQueueStorageQueueResource`.", "kind": "Method", "signature": "addQueue(name: string, queueName?: string): AzureQueueStorageQueueResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "queueName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the queue." } ], "returnType": "AzureQueueStorageQueueResource", @@ -145,13 +160,15 @@ "name": "addQueues", "capabilityId": "Aspire.Hosting.Azure.Storage/addQueues", "qualifiedName": "addQueues", - "description": "Adds an Azure Queue Storage resource", + "description": "Creates a builder for the `AzureQueueStorageResource` which can be referenced to get the Azure Storage queues endpoint for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureQueueStorageResource`.", "kind": "Method", "signature": "addQueues(name: string): AzureQueueStorageResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureQueueStorageResource", @@ -165,13 +182,15 @@ "name": "addTables", "capabilityId": "Aspire.Hosting.Azure.Storage/addTables", "qualifiedName": "addTables", - "description": "Adds an Azure Table Storage resource", + "description": "Creates a builder for the `AzureTableStorageResource` which can be referenced to get the Azure Storage tables endpoint for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureTableStorageResource`.", "kind": "Method", "signature": "addTables(name: string): AzureTableStorageResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureTableStorageResource", @@ -185,16 +204,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.Storage/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Azure Storage resource to be emulated using Azurite", + "description": "Configures an Azure Storage resource to be emulated using Azurite. This resource requires an `AzureStorageResource` to be added to the application model.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureStorageEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureStorageResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureStorageEmulatorResource) => Promise): AzureStorageResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureStorageEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureStorageEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureStorageResource", @@ -208,7 +230,8 @@ "name": "withApiVersionCheck", "capabilityId": "Aspire.Hosting.Azure.Storage/withApiVersionCheck", "qualifiedName": "withApiVersionCheck", - "description": "Configures whether the emulator checks API version validity", + "description": "Ensures the emulator checks that the requested API version is valid.", + "returns": "An `IResourceBuilder`1` for the `AzureStorageEmulatorResource`.", "kind": "Method", "signature": "withApiVersionCheck(enable?: boolean): AzureStorageEmulatorResource", "parameters": [ @@ -216,7 +239,8 @@ "name": "enable", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to enable API version check or not. Default is true." } ], "returnType": "AzureStorageEmulatorResource", @@ -230,13 +254,14 @@ "name": "withBlobPort", "capabilityId": "Aspire.Hosting.Azure.Storage/withBlobPort", "qualifiedName": "withBlobPort", - "description": "Sets the host port for blob requests on the storage emulator", + "description": "Modifies the host port that the storage emulator listens on for blob requests.", "kind": "Method", "signature": "withBlobPort(port: number): AzureStorageEmulatorResource", "parameters": [ { "name": "port", - "type": "number" + "type": "number", + "description": "Host port to use." } ], "returnType": "AzureStorageEmulatorResource", @@ -250,20 +275,23 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Azure.Storage/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a bind mount for the data folder to an Azure Storage emulator resource", + "description": "Adds a bind mount for the data folder to an Azure Storage emulator resource.", + "returns": "A builder for the `AzureStorageEmulatorResource`.", "kind": "Method", "signature": "withDataBindMount(path?: string, isReadOnly?: boolean): AzureStorageEmulatorResource", "parameters": [ { "name": "path", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Relative path to the AppHost where emulator storage is persisted between runs. Defaults to the path '.azurite/{builder.Resource.Name}'" }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "AzureStorageEmulatorResource", @@ -277,20 +305,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Azure.Storage/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a named volume for the data folder to an Azure Storage emulator resource", + "description": "Adds a named volume for the data folder to an Azure Storage emulator resource.", + "returns": "A builder for the `AzureStorageEmulatorResource`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): AzureStorageEmulatorResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "AzureStorageEmulatorResource", @@ -304,13 +335,14 @@ "name": "withQueuePort", "capabilityId": "Aspire.Hosting.Azure.Storage/withQueuePort", "qualifiedName": "withQueuePort", - "description": "Sets the host port for queue requests on the storage emulator", + "description": "Modifies the host port that the storage emulator listens on for queue requests.", "kind": "Method", "signature": "withQueuePort(port: number): AzureStorageEmulatorResource", "parameters": [ { "name": "port", - "type": "number" + "type": "number", + "description": "Host port to use." } ], "returnType": "AzureStorageEmulatorResource", @@ -324,17 +356,20 @@ "name": "withRoleAssignments", "capabilityId": "Aspire.Hosting.Azure.Storage/withStorageRoleAssignments", "qualifiedName": "withRoleAssignments", - "description": "Assigns Azure Storage roles to a resource", + "description": "Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource.", + "returns": "The updated `IResourceBuilder`1` with the applied role assignments.", "kind": "Method", "signature": "withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): IResource", "parameters": [ { "name": "target", - "type": "AzureStorageResource" + "type": "AzureStorageResource", + "description": "The target Azure Storage account." }, { "name": "roles", - "type": "AzureStorageRole[]" + "type": "AzureStorageRole[]", + "description": "The storage roles to be assigned." } ], "returnType": "IResource", @@ -368,13 +403,15 @@ "name": "withTablePort", "capabilityId": "Aspire.Hosting.Azure.Storage/withTablePort", "qualifiedName": "withTablePort", - "description": "Sets the host port for table requests on the storage emulator", + "description": "Modifies the host port that the storage emulator listens on for table requests.", + "returns": "An `IResourceBuilder`1` for the `AzureStorageEmulatorResource`.", "kind": "Method", "signature": "withTablePort(port: number): AzureStorageEmulatorResource", "parameters": [ { "name": "port", - "type": "number" + "type": "number", + "description": "Host port to use." } ], "returnType": "AzureStorageEmulatorResource", @@ -396,7 +433,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureBlobStorageResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureBlobStorageResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -412,7 +449,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureStorageResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureStorageResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IAzurePrivateEndpointTarget", @@ -430,7 +467,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureDataLakeStorageResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureDataLakeStorageResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -446,7 +483,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureStorageResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureStorageResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IAzurePrivateEndpointTarget", @@ -464,7 +501,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureQueueStorageResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureQueueStorageResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -480,7 +517,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureStorageResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureStorageResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IAzurePrivateEndpointTarget", @@ -506,7 +543,8 @@ "name": "withApiVersionCheck", "capabilityId": "Aspire.Hosting.Azure.Storage/withApiVersionCheck", "qualifiedName": "withApiVersionCheck", - "description": "Configures whether the emulator checks API version validity", + "description": "Ensures the emulator checks that the requested API version is valid.", + "returns": "An `IResourceBuilder`1` for the `AzureStorageEmulatorResource`.", "kind": "Method", "signature": "withApiVersionCheck(enable?: boolean): AzureStorageEmulatorResource", "parameters": [ @@ -514,7 +552,8 @@ "name": "enable", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to enable API version check or not. Default is true." } ], "returnType": "AzureStorageEmulatorResource", @@ -528,13 +567,14 @@ "name": "withBlobPort", "capabilityId": "Aspire.Hosting.Azure.Storage/withBlobPort", "qualifiedName": "withBlobPort", - "description": "Sets the host port for blob requests on the storage emulator", + "description": "Modifies the host port that the storage emulator listens on for blob requests.", "kind": "Method", "signature": "withBlobPort(port: number): AzureStorageEmulatorResource", "parameters": [ { "name": "port", - "type": "number" + "type": "number", + "description": "Host port to use." } ], "returnType": "AzureStorageEmulatorResource", @@ -548,20 +588,23 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Azure.Storage/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a bind mount for the data folder to an Azure Storage emulator resource", + "description": "Adds a bind mount for the data folder to an Azure Storage emulator resource.", + "returns": "A builder for the `AzureStorageEmulatorResource`.", "kind": "Method", "signature": "withDataBindMount(path?: string, isReadOnly?: boolean): AzureStorageEmulatorResource", "parameters": [ { "name": "path", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Relative path to the AppHost where emulator storage is persisted between runs. Defaults to the path '.azurite/{builder.Resource.Name}'" }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "AzureStorageEmulatorResource", @@ -575,20 +618,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Azure.Storage/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a named volume for the data folder to an Azure Storage emulator resource", + "description": "Adds a named volume for the data folder to an Azure Storage emulator resource.", + "returns": "A builder for the `AzureStorageEmulatorResource`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): AzureStorageEmulatorResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "AzureStorageEmulatorResource", @@ -602,13 +648,14 @@ "name": "withQueuePort", "capabilityId": "Aspire.Hosting.Azure.Storage/withQueuePort", "qualifiedName": "withQueuePort", - "description": "Sets the host port for queue requests on the storage emulator", + "description": "Modifies the host port that the storage emulator listens on for queue requests.", "kind": "Method", "signature": "withQueuePort(port: number): AzureStorageEmulatorResource", "parameters": [ { "name": "port", - "type": "number" + "type": "number", + "description": "Host port to use." } ], "returnType": "AzureStorageEmulatorResource", @@ -622,13 +669,15 @@ "name": "withTablePort", "capabilityId": "Aspire.Hosting.Azure.Storage/withTablePort", "qualifiedName": "withTablePort", - "description": "Sets the host port for table requests on the storage emulator", + "description": "Modifies the host port that the storage emulator listens on for table requests.", + "returns": "An `IResourceBuilder`1` for the `AzureStorageEmulatorResource`.", "kind": "Method", "signature": "withTablePort(port: number): AzureStorageEmulatorResource", "parameters": [ { "name": "port", - "type": "number" + "type": "number", + "description": "Host port to use." } ], "returnType": "AzureStorageEmulatorResource", @@ -657,18 +706,21 @@ "name": "addBlobContainer", "capabilityId": "Aspire.Hosting.Azure.Storage/addBlobContainer", "qualifiedName": "addBlobContainer", - "description": "Adds an Azure Blob Storage container resource", + "description": "Creates a builder for the `AzureBlobStorageContainerResource` which can be referenced to get the Azure Storage blob container endpoint for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureBlobStorageContainerResource`.", "kind": "Method", "signature": "addBlobContainer(name: string, blobContainerName?: string): AzureBlobStorageContainerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "blobContainerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the blob container." } ], "returnType": "AzureBlobStorageContainerResource", @@ -682,13 +734,15 @@ "name": "addBlobs", "capabilityId": "Aspire.Hosting.Azure.Storage/addBlobs", "qualifiedName": "addBlobs", - "description": "Adds an Azure Blob Storage resource", + "description": "Creates a builder for the `AzureBlobStorageResource` which can be referenced to get the Azure Storage blob endpoint for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureBlobStorageResource`.", "kind": "Method", "signature": "addBlobs(name: string): AzureBlobStorageResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureBlobStorageResource", @@ -702,13 +756,15 @@ "name": "addDataLake", "capabilityId": "Aspire.Hosting.Azure.Storage/addDataLake", "qualifiedName": "addDataLake", - "description": "Adds an Azure Data Lake Storage resource", + "description": "Creates a builder for the `AzureDataLakeStorageResource` which can be referenced to get the Azure Data Lake endpoint for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureDataLakeStorageResource`.", "kind": "Method", "signature": "addDataLake(name: string): AzureDataLakeStorageResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureDataLakeStorageResource", @@ -722,18 +778,21 @@ "name": "addDataLakeFileSystem", "capabilityId": "Aspire.Hosting.Azure.Storage/addDataLakeFileSystem", "qualifiedName": "addDataLakeFileSystem", - "description": "Adds an Azure Data Lake Storage file system resource", + "description": "Creates a builder for the `AzureDataLakeStorageFileSystemResource` which can be referenced to get the Azure DataLake file system connection string.", + "returns": "An `IResourceBuilder`1` for the `AzureDataLakeStorageFileSystemResource`.", "kind": "Method", "signature": "addDataLakeFileSystem(name: string, dataLakeFileSystemName?: string): AzureDataLakeStorageFileSystemResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "dataLakeFileSystemName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the data lake file system." } ], "returnType": "AzureDataLakeStorageFileSystemResource", @@ -747,18 +806,21 @@ "name": "addQueue", "capabilityId": "Aspire.Hosting.Azure.Storage/addQueue", "qualifiedName": "addQueue", - "description": "Adds an Azure Storage queue resource", + "description": "Creates a builder for the `AzureQueueStorageQueueResource` which can be referenced to get the Azure Storage queue for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureQueueStorageQueueResource`.", "kind": "Method", "signature": "addQueue(name: string, queueName?: string): AzureQueueStorageQueueResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "queueName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the queue." } ], "returnType": "AzureQueueStorageQueueResource", @@ -772,13 +834,15 @@ "name": "addQueues", "capabilityId": "Aspire.Hosting.Azure.Storage/addQueues", "qualifiedName": "addQueues", - "description": "Adds an Azure Queue Storage resource", + "description": "Creates a builder for the `AzureQueueStorageResource` which can be referenced to get the Azure Storage queues endpoint for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureQueueStorageResource`.", "kind": "Method", "signature": "addQueues(name: string): AzureQueueStorageResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureQueueStorageResource", @@ -792,13 +856,15 @@ "name": "addTables", "capabilityId": "Aspire.Hosting.Azure.Storage/addTables", "qualifiedName": "addTables", - "description": "Adds an Azure Table Storage resource", + "description": "Creates a builder for the `AzureTableStorageResource` which can be referenced to get the Azure Storage tables endpoint for the storage account.", + "returns": "An `IResourceBuilder`1` for the `AzureTableStorageResource`.", "kind": "Method", "signature": "addTables(name: string): AzureTableStorageResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." } ], "returnType": "AzureTableStorageResource", @@ -812,16 +878,19 @@ "name": "runAsEmulator", "capabilityId": "Aspire.Hosting.Azure.Storage/runAsEmulator", "qualifiedName": "runAsEmulator", - "description": "Configures the Azure Storage resource to be emulated using Azurite", + "description": "Configures an Azure Storage resource to be emulated using Azurite. This resource requires an `AzureStorageResource` to be added to the application model.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "runAsEmulator(configureContainer?: (obj: AzureStorageEmulatorResource) =\u003E Promise\u003Cvoid\u003E): AzureStorageResource", + "signature": "runAsEmulator(configureContainer?: (obj: AzureStorageEmulatorResource) => Promise): AzureStorageResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AzureStorageEmulatorResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AzureStorageEmulatorResource) => Promise", + "description": "Callback that exposes underlying container used for emulation to allow for customization." } ], "returnType": "AzureStorageResource", @@ -843,7 +912,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Azure.AzureStorageResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Azure.AzureStorageResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IAzurePrivateEndpointTarget", @@ -858,6 +927,7 @@ "name": "AzureStorageRole", "fullName": "Aspire.Hosting.AzureStorageRole", "kind": "enum", + "description": "Represents ATS-compatible Azure Storage roles.", "members": [ "ClassicStorageAccountContributor", "ClassicStorageAccountKeyOperatorServiceRole", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.WebPubSub.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.WebPubSub.13.3.0.json index 9551d6a9e..56831da55 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.WebPubSub.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Azure.WebPubSub.13.3.0.json @@ -10,13 +10,16 @@ "name": "addAzureWebPubSub", "capabilityId": "Aspire.Hosting.Azure.WebPubSub/addAzureWebPubSub", "qualifiedName": "addAzureWebPubSub", - "description": "Adds an Azure Web PubSub resource to the distributed application model.", + "description": "Adds an Azure Web PubSub resource to the application model. Change sku: WithParameter(\"sku\", \"Standard_S1\") Change capacity: WithParameter(\"capacity\", 2)", + "remarks": "By default references to the Azure Web PubSub resource will be assigned the following roles:\n- `WebPubSubServiceOwner`\nThese can be replaced by calling `WithRoleAssignments``1`.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAzureWebPubSub(name: string): AzureWebPubSubResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." } ], "returnType": "AzureWebPubSubResource", @@ -31,23 +34,27 @@ "capabilityId": "Aspire.Hosting.Azure.WebPubSub/addEventHandlerWithoutAuth", "qualifiedName": "addEventHandler", "description": "Adds an event handler to an Azure Web PubSub hub.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addEventHandler(urlExpression: ReferenceExpression, userEventPattern?: string, systemEvents?: string[]): AzureWebPubSubHubResource", "parameters": [ { "name": "urlExpression", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The expression to evaluate the URL template configured for the event handler." }, { "name": "userEventPattern", "type": "string", "isOptional": true, - "defaultValue": "*" + "defaultValue": "*", + "description": "The user event pattern for the event handler." }, { "name": "systemEvents", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "The system events for the event handler." } ], "returnType": "AzureWebPubSubHubResource", @@ -61,18 +68,21 @@ "name": "addHub", "capabilityId": "Aspire.Hosting.Azure.WebPubSub/addHub", "qualifiedName": "addHub", - "description": "Adds a hub to the Azure Web PubSub resource.", + "description": "Adds an Azure Web Pub Sub hub resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addHub(name: string, hubName?: string): AzureWebPubSubHubResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Azure WebPubSub Hub resource." }, { "name": "hubName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Azure WebPubSub Hub. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureWebPubSubHubResource", @@ -86,17 +96,20 @@ "name": "withRoleAssignments", "capabilityId": "Aspire.Hosting.Azure.WebPubSub/withWebPubSubRoleAssignments", "qualifiedName": "withRoleAssignments", - "description": "Assigns Azure Web PubSub roles to a resource", + "description": "Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource.", + "returns": "The updated `IResourceBuilder`1` with the applied role assignments.", "kind": "Method", "signature": "withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): IResource", "parameters": [ { "name": "target", - "type": "AzureWebPubSubResource" + "type": "AzureWebPubSubResource", + "description": "The target Azure Web PubSub resource." }, { "name": "roles", - "type": "AzureWebPubSubRole[]" + "type": "AzureWebPubSubRole[]", + "description": "The Web PubSub roles to be assigned." } ], "returnType": "IResource", @@ -131,7 +144,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.ApplicationModel.AzureWebPubSubResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.ApplicationModel.AzureWebPubSubResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -141,23 +154,27 @@ "capabilityId": "Aspire.Hosting.Azure.WebPubSub/addEventHandlerWithoutAuth", "qualifiedName": "addEventHandler", "description": "Adds an event handler to an Azure Web PubSub hub.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addEventHandler(urlExpression: ReferenceExpression, userEventPattern?: string, systemEvents?: string[]): AzureWebPubSubHubResource", "parameters": [ { "name": "urlExpression", - "type": "ReferenceExpression" + "type": "ReferenceExpression", + "description": "The expression to evaluate the URL template configured for the event handler." }, { "name": "userEventPattern", "type": "string", "isOptional": true, - "defaultValue": "*" + "defaultValue": "*", + "description": "The user event pattern for the event handler." }, { "name": "systemEvents", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "The system events for the event handler." } ], "returnType": "AzureWebPubSubHubResource", @@ -189,18 +206,21 @@ "name": "addHub", "capabilityId": "Aspire.Hosting.Azure.WebPubSub/addHub", "qualifiedName": "addHub", - "description": "Adds a hub to the Azure Web PubSub resource.", + "description": "Adds an Azure Web Pub Sub hub resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addHub(name: string, hubName?: string): AzureWebPubSubHubResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Azure WebPubSub Hub resource." }, { "name": "hubName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the Azure WebPubSub Hub. If not provided, this defaults to the same value as `name`." } ], "returnType": "AzureWebPubSubHubResource", @@ -219,6 +239,7 @@ "name": "AzureWebPubSubRole", "fullName": "Aspire.Hosting.AzureWebPubSubRole", "kind": "enum", + "description": "Represents ATS-compatible Azure Web PubSub roles.", "members": [ "WebPubSubContributor", "WebPubSubServiceOwner", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Browsers.13.3.0-preview.1.26254.5.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Browsers.13.3.0-preview.1.26254.5.json index 7187fec1e..cd755143e 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Browsers.13.3.0-preview.1.26254.5.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Browsers.13.3.0-preview.1.26254.5.json @@ -10,25 +10,30 @@ "name": "withBrowserLogs", "capabilityId": "Aspire.Hosting.Browsers/withBrowserLogs", "qualifiedName": "withBrowserLogs", - "description": "Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots.", + "description": "Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots.", + "remarks": "This method adds a child browser logs resource beneath the parent resource represented by `builder`.\nThe child resource exposes a dashboard command that launches a Chromium-based browser in a tracked mode, attaches to\nthe browser's debugging protocol, forwards browser console, error, exception, and network output to the child\nresource's console log stream, and can capture screenshots as command artifacts.\nThe tracked browser session uses the Chrome DevTools\nProtocol (CDP) to subscribe to browser runtime, log, page, and network events.\nThe parent resource must expose at least one HTTP or HTTPS endpoint. HTTPS endpoints are preferred over HTTP\nendpoints when selecting the browser target URL.\nBrowser, profile, and user data mode settings can also be supplied from configuration\nusing `Aspire:Hosting:BrowserLogs:Browser`, `Aspire:Hosting:BrowserLogs:Profile`,\nand `Aspire:Hosting:BrowserLogs:UserDataMode`, or scoped to a specific resource with\n`Aspire:Hosting:BrowserLogs:{ResourceName}:Browser`,\n`Aspire:Hosting:BrowserLogs:{ResourceName}:Profile`, and\n`Aspire:Hosting:BrowserLogs:{ResourceName}:UserDataMode`. Explicit method arguments override configuration.", + "returns": "A reference to the original `IResourceBuilder`1` for further chaining.", "kind": "Method", "signature": "withBrowserLogs(browser?: string, profile?: string, userDataMode?: BrowserUserDataMode): IResourceWithEndpoints", "parameters": [ { "name": "browser", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The browser to launch. When not specified, the tracked browser uses the configured value from `Aspire:Hosting:BrowserLogs` and otherwise prefers an installed `\"msedge\"` browser in shared user data mode, an installed `\"chrome\"` browser in isolated user data mode, and finally falls back to `\"chrome\"`. Supported values include logical browser names such as `\"msedge\"` and `\"chrome\"`, or an explicit browser executable path." }, { "name": "profile", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional Chromium profile name or directory name to use. Only valid when the effective user data mode is `Shared`. When not specified, the tracked browser uses the configured value from `Aspire:Hosting:BrowserLogs` if present." }, { "name": "userDataMode", "type": "BrowserUserDataMode", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "Optional `BrowserUserDataMode` that selects whether the tracked browser launches against a persistent Aspire-managed user data directory shared across all AppHosts on the machine (`Shared`, the default) or a per-AppHost persistent user data directory (`Isolated`). Both modes use Aspire-managed paths under `%LocalAppData%\\Aspire\\BrowserData` on Windows (or platform equivalents); the user's normal browser profile is never used. When not specified, the tracked browser uses the configured value from `Aspire:Hosting:BrowserLogs` and otherwise defaults to `Shared`." } ], "returnType": "IResourceWithEndpoints", @@ -50,9 +55,22 @@ "name": "BrowserUserDataMode", "fullName": "Aspire.Hosting.BrowserUserDataMode", "kind": "enum", + "description": "Selects the Chromium user data directory used by tracked browser sessions.", "members": [ "Shared", "Isolated" + ], + "memberDocs": [ + { + "name": "Shared", + "description": "Use a persistent Aspire-managed user data directory shared across all AppHosts on the machine. State such as cookies, sign-ins, and extensions persist across runs and are visible to every AppHost using the same browser.", + "remarks": "The directory lives under a well-known path (for example `%LocalAppData%\\Aspire\\BrowserData\\shared\\`\non Windows). The directory is persistent across AppHost restarts, but the default tracked browser process is\nowned by the AppHost that launched it." + }, + { + "name": "Isolated", + "description": "Use a persistent Aspire-managed user data directory scoped to the current AppHost project. Each AppHost gets its own state that persists across runs but is not shared with other AppHosts.", + "remarks": "The directory is keyed on a stable hash of the AppHost project path (for example\n`%LocalAppData%\\Aspire\\BrowserData\\isolated\\\\` on Windows). The directory persists across\nruns, but the default tracked browser process is owned by the AppHost that launched it." + } ] } ] diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.DevTunnels.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.DevTunnels.13.3.0.json index 77581bd13..fa8b6ebdc 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.DevTunnels.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.DevTunnels.13.3.0.json @@ -51,13 +51,15 @@ "name": "getTunnelEndpoint", "capabilityId": "Aspire.Hosting.DevTunnels/getEndpointByEndpointReference", "qualifiedName": "getTunnelEndpoint", - "description": "Gets the public endpoint exposed by the dev tunnel.", + "description": "Gets the tunnel endpoint reference for the specified target endpoint.", + "returns": "An `EndpointReference` representing the public tunnel endpoint.", "kind": "Method", "signature": "getTunnelEndpoint(targetEndpointReference: EndpointReference): EndpointReference", "parameters": [ { "name": "targetEndpointReference", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The target endpoint reference." } ], "returnType": "EndpointReference", @@ -70,7 +72,9 @@ "name": "withAnonymousAccess", "capabilityId": "Aspire.Hosting.DevTunnels/withAnonymousAccess", "qualifiedName": "withAnonymousAccess", - "description": "Configures the dev tunnel to allow anonymous access.", + "description": "Allows the tunnel to be publicly accessed without authentication.", + "remarks": "Sets `AllowAnonymous` to `true` on `Options` .", + "returns": "The resource builder.", "kind": "Method", "signature": "withAnonymousAccess(): DevTunnelResource", "parameters": [], @@ -85,13 +89,15 @@ "name": "withTunnelReference", "capabilityId": "Aspire.Hosting.DevTunnels/withReferenceEndpoint", "qualifiedName": "withTunnelReference", - "description": "Configures the dev tunnel to expose a target endpoint.", + "description": "Exposes the specified endpoint via the dev tunnel.", + "returns": "The resource builder.", "kind": "Method", "signature": "withTunnelReference(targetEndpoint: EndpointReference): DevTunnelResource", "parameters": [ { "name": "targetEndpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint to expose via the dev tunnel." } ], "returnType": "DevTunnelResource", @@ -105,17 +111,20 @@ "name": "withTunnelReferenceAll", "capabilityId": "Aspire.Hosting.DevTunnels/withReferenceResourceAnonymous", "qualifiedName": "withTunnelReferenceAll", - "description": "Configures the dev tunnel to expose all endpoints on the referenced resource.", + "description": "Adds ports on the dev tunnel for all endpoints found on the referenced resource and sets whether anonymous access is allowed.", + "returns": "The resource builder.", "kind": "Method", "signature": "withTunnelReferenceAll(resourceBuilder: IResourceWithEndpoints, allowAnonymous: boolean): DevTunnelResource", "parameters": [ { "name": "resourceBuilder", - "type": "IResourceWithEndpoints" + "type": "IResourceWithEndpoints", + "description": "The resource builder for the referenced resource." }, { "name": "allowAnonymous", - "type": "boolean" + "type": "boolean", + "description": "Whether anonymous access is allowed." } ], "returnType": "DevTunnelResource", @@ -129,17 +138,20 @@ "name": "withTunnelReferenceAnonymous", "capabilityId": "Aspire.Hosting.DevTunnels/withReferenceEndpointAnonymous", "qualifiedName": "withTunnelReferenceAnonymous", - "description": "Configures the dev tunnel to expose a target endpoint with access control.", + "description": "Exposes the specified endpoint via the dev tunnel and sets whether anonymous access is allowed.", + "returns": "The resource builder.", "kind": "Method", "signature": "withTunnelReferenceAnonymous(targetEndpoint: EndpointReference, allowAnonymous: boolean): DevTunnelResource", "parameters": [ { "name": "targetEndpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint to expose via the dev tunnel." }, { "name": "allowAnonymous", - "type": "boolean" + "type": "boolean", + "description": "Whether anonymous access is allowed." } ], "returnType": "DevTunnelResource", @@ -169,13 +181,15 @@ "name": "getTunnelEndpoint", "capabilityId": "Aspire.Hosting.DevTunnels/getEndpointByEndpointReference", "qualifiedName": "getTunnelEndpoint", - "description": "Gets the public endpoint exposed by the dev tunnel.", + "description": "Gets the tunnel endpoint reference for the specified target endpoint.", + "returns": "An `EndpointReference` representing the public tunnel endpoint.", "kind": "Method", "signature": "getTunnelEndpoint(targetEndpointReference: EndpointReference): EndpointReference", "parameters": [ { "name": "targetEndpointReference", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The target endpoint reference." } ], "returnType": "EndpointReference", @@ -188,7 +202,9 @@ "name": "withAnonymousAccess", "capabilityId": "Aspire.Hosting.DevTunnels/withAnonymousAccess", "qualifiedName": "withAnonymousAccess", - "description": "Configures the dev tunnel to allow anonymous access.", + "description": "Allows the tunnel to be publicly accessed without authentication.", + "remarks": "Sets `AllowAnonymous` to `true` on `Options` .", + "returns": "The resource builder.", "kind": "Method", "signature": "withAnonymousAccess(): DevTunnelResource", "parameters": [], @@ -203,13 +219,15 @@ "name": "withTunnelReference", "capabilityId": "Aspire.Hosting.DevTunnels/withReferenceEndpoint", "qualifiedName": "withTunnelReference", - "description": "Configures the dev tunnel to expose a target endpoint.", + "description": "Exposes the specified endpoint via the dev tunnel.", + "returns": "The resource builder.", "kind": "Method", "signature": "withTunnelReference(targetEndpoint: EndpointReference): DevTunnelResource", "parameters": [ { "name": "targetEndpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint to expose via the dev tunnel." } ], "returnType": "DevTunnelResource", @@ -223,17 +241,20 @@ "name": "withTunnelReferenceAll", "capabilityId": "Aspire.Hosting.DevTunnels/withReferenceResourceAnonymous", "qualifiedName": "withTunnelReferenceAll", - "description": "Configures the dev tunnel to expose all endpoints on the referenced resource.", + "description": "Adds ports on the dev tunnel for all endpoints found on the referenced resource and sets whether anonymous access is allowed.", + "returns": "The resource builder.", "kind": "Method", "signature": "withTunnelReferenceAll(resourceBuilder: IResourceWithEndpoints, allowAnonymous: boolean): DevTunnelResource", "parameters": [ { "name": "resourceBuilder", - "type": "IResourceWithEndpoints" + "type": "IResourceWithEndpoints", + "description": "The resource builder for the referenced resource." }, { "name": "allowAnonymous", - "type": "boolean" + "type": "boolean", + "description": "Whether anonymous access is allowed." } ], "returnType": "DevTunnelResource", @@ -247,17 +268,20 @@ "name": "withTunnelReferenceAnonymous", "capabilityId": "Aspire.Hosting.DevTunnels/withReferenceEndpointAnonymous", "qualifiedName": "withTunnelReferenceAnonymous", - "description": "Configures the dev tunnel to expose a target endpoint with access control.", + "description": "Exposes the specified endpoint via the dev tunnel and sets whether anonymous access is allowed.", + "returns": "The resource builder.", "kind": "Method", "signature": "withTunnelReferenceAnonymous(targetEndpoint: EndpointReference, allowAnonymous: boolean): DevTunnelResource", "parameters": [ { "name": "targetEndpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint to expose via the dev tunnel." }, { "name": "allowAnonymous", - "type": "boolean" + "type": "boolean", + "description": "Whether anonymous access is allowed." } ], "returnType": "DevTunnelResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Docker.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Docker.13.3.0.json index 214f1350b..c01e40caa 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Docker.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Docker.13.3.0.json @@ -10,13 +10,15 @@ "name": "addDockerComposeEnvironment", "capabilityId": "Aspire.Hosting.Docker/addDockerComposeEnvironment", "qualifiedName": "addDockerComposeEnvironment", - "description": "Adds a Docker Compose publishing environment", + "description": "Adds a Docker Compose environment to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDockerComposeEnvironment(name: string): DockerComposeEnvironmentResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Docker Compose environment resource." } ], "returnType": "DockerComposeEnvironmentResource", @@ -30,13 +32,16 @@ "name": "asEnvironmentPlaceholder", "capabilityId": "Aspire.Hosting.Docker/asEnvironmentPlaceholder", "qualifiedName": "asEnvironmentPlaceholder", - "description": "Creates a Docker Compose environment variable placeholder from a parameter builder", + "description": "Creates a Docker Compose environment variable placeholder for the specified `ParameterResource`.", + "remarks": "Use this overload with parameter builders returned by methods such as `AddParameter`.", + "returns": "A string representing the environment variable placeholder in Docker Compose syntax (e.g., `${ENV_VAR}`).", "kind": "Method", "signature": "asEnvironmentPlaceholder(dockerComposeService: DockerComposeServiceResource): string", "parameters": [ { "name": "dockerComposeService", - "type": "DockerComposeServiceResource" + "type": "DockerComposeServiceResource", + "description": "The Docker Compose service resource to associate the environment variable with." } ], "returnType": "string", @@ -49,7 +54,7 @@ "name": "defaultValue", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.defaultValue", "qualifiedName": "CapturedEnvironmentVariable.defaultValue", - "description": "Gets the DefaultValue property", + "description": "Gets or sets the default value for the environment variable.", "kind": "PropertyGetter", "signature": "defaultValue(): string", "parameters": [], @@ -63,7 +68,7 @@ "name": "description", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.description", "qualifiedName": "CapturedEnvironmentVariable.description", - "description": "Gets the Description property", + "description": "Gets or sets the description for the environment variable.", "kind": "PropertyGetter", "signature": "description(): string", "parameters": [], @@ -77,7 +82,7 @@ "name": "setDefaultValue", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.setDefaultValue", "qualifiedName": "CapturedEnvironmentVariable.setDefaultValue", - "description": "Sets the DefaultValue property", + "description": "Gets or sets the default value for the environment variable.", "kind": "PropertySetter", "signature": "setDefaultValue(value: string): CapturedEnvironmentVariable", "parameters": [ @@ -96,7 +101,7 @@ "name": "setDescription", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.setDescription", "qualifiedName": "CapturedEnvironmentVariable.setDescription", - "description": "Sets the Description property", + "description": "Gets or sets the description for the environment variable.", "kind": "PropertySetter", "signature": "setDescription(value: string): CapturedEnvironmentVariable", "parameters": [ @@ -115,7 +120,7 @@ "name": "setSource", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.setSource", "qualifiedName": "CapturedEnvironmentVariable.setSource", - "description": "Sets the Source property", + "description": "Gets or sets the source object that originated this environment variable. This could be a `ParameterResource`, `ContainerMountAnnotation`, `ContainerImageReference`, or `ContainerPortReference`.", "kind": "PropertySetter", "signature": "setSource(value: ContainerPortReference): CapturedEnvironmentVariable", "parameters": [ @@ -134,7 +139,7 @@ "name": "source", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.source", "qualifiedName": "CapturedEnvironmentVariable.source", - "description": "Gets the Source property", + "description": "Gets or sets the source object that originated this environment variable. This could be a `ParameterResource`, `ContainerMountAnnotation`, `ContainerImageReference`, or `ContainerPortReference`.", "kind": "PropertyGetter", "signature": "source(): ContainerPortReference", "parameters": [], @@ -148,11 +153,11 @@ "name": "configs", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.configs", "qualifiedName": "ComposeFile.configs", - "description": "Gets the Configs property", + "description": "Represents a collection of configuration objects within a Docker Compose file. Each key in the dictionary corresponds to a configuration name, and the value is an instance of the `Config` class that contains the associated configuration details.", "kind": "PropertyGetter", - "signature": "configs(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Config\u003E", + "signature": "configs(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Config\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -162,11 +167,11 @@ "name": "extensions", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.extensions", "qualifiedName": "ComposeFile.extensions", - "description": "Gets the Extensions property", + "description": "Represents a collection of user-defined extension fields that can be added to the Compose file. These extensions are represented as a dictionary where the key is a string identifier for the extension, and the value is an object that holds the custom data relevant to the extension. This allows flexibility for including additional metadata or configuration outside the scope of standard Compose file specifications.", "kind": "PropertyGetter", - "signature": "extensions(): Dict\u003Cstring,any\u003E", + "signature": "extensions(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,any\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -176,7 +181,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.name", "qualifiedName": "ComposeFile.name", - "description": "Gets the Name property", + "description": "Represents the name of the Docker Compose file or project.", + "remarks": "The name property is used to identify the Compose application\nor project when orchestrating Docker containers.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -190,11 +196,12 @@ "name": "networks", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.networks", "qualifiedName": "ComposeFile.networks", - "description": "Gets the Networks property", + "description": "Represents the collection of networks defined in a Docker Compose file.", + "remarks": "Each key in the dictionary represents the name of the network, and the value is an instance of the `Network` class,\nwhich encapsulates the details and configurations of the corresponding network.", "kind": "PropertyGetter", - "signature": "networks(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network\u003E", + "signature": "networks(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -204,11 +211,12 @@ "name": "secrets", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.secrets", "qualifiedName": "ComposeFile.secrets", - "description": "Gets the Secrets property", + "description": "Represents the secrets section in a Docker Compose file. Contains a collection of secret definitions used within the Compose file.", + "remarks": "Each secret is represented as a key-value pair, where the key is the name\nof the secret, and the value is an instance of the `Secret` class,\nwhich holds the details about the secret such as file location, external status,\nand additional metadata like labels.", "kind": "PropertyGetter", - "signature": "secrets(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Secret\u003E", + "signature": "secrets(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Secret\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -218,11 +226,12 @@ "name": "services", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.services", "qualifiedName": "ComposeFile.services", - "description": "Gets the Services property", + "description": "Represents a collection of services defined in a Docker Compose file. Each service is identified by a unique name and contains configuration details as defined by the `Service` class.", + "remarks": "Services are a critical part of the Docker Compose ecosystem and are used to define\nindividual application components. These components can include images, commands,\nenvironment variables, ports, volumes, dependencies, and more.", "kind": "PropertyGetter", - "signature": "services(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service\u003E", + "signature": "services(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -232,13 +241,13 @@ "name": "setConfigs", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setConfigs", "qualifiedName": "ComposeFile.setConfigs", - "description": "Sets the Configs property", + "description": "Represents a collection of configuration objects within a Docker Compose file. Each key in the dictionary corresponds to a configuration name, and the value is an instance of the `Config` class that contains the associated configuration details.", "kind": "PropertySetter", - "signature": "setConfigs(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Config\u003E): ComposeFile", + "signature": "setConfigs(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Config\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -251,13 +260,13 @@ "name": "setExtensions", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setExtensions", "qualifiedName": "ComposeFile.setExtensions", - "description": "Sets the Extensions property", + "description": "Represents a collection of user-defined extension fields that can be added to the Compose file. These extensions are represented as a dictionary where the key is a string identifier for the extension, and the value is an object that holds the custom data relevant to the extension. This allows flexibility for including additional metadata or configuration outside the scope of standard Compose file specifications.", "kind": "PropertySetter", - "signature": "setExtensions(value: Dict\u003Cstring,any\u003E): ComposeFile", + "signature": "setExtensions(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,any\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -270,7 +279,8 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setName", "qualifiedName": "ComposeFile.setName", - "description": "Sets the Name property", + "description": "Represents the name of the Docker Compose file or project.", + "remarks": "The name property is used to identify the Compose application\nor project when orchestrating Docker containers.", "kind": "PropertySetter", "signature": "setName(value: string): ComposeFile", "parameters": [ @@ -289,13 +299,14 @@ "name": "setNetworks", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setNetworks", "qualifiedName": "ComposeFile.setNetworks", - "description": "Sets the Networks property", + "description": "Represents the collection of networks defined in a Docker Compose file.", + "remarks": "Each key in the dictionary represents the name of the network, and the value is an instance of the `Network` class,\nwhich encapsulates the details and configurations of the corresponding network.", "kind": "PropertySetter", - "signature": "setNetworks(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network\u003E): ComposeFile", + "signature": "setNetworks(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -308,13 +319,14 @@ "name": "setSecrets", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setSecrets", "qualifiedName": "ComposeFile.setSecrets", - "description": "Sets the Secrets property", + "description": "Represents the secrets section in a Docker Compose file. Contains a collection of secret definitions used within the Compose file.", + "remarks": "Each secret is represented as a key-value pair, where the key is the name\nof the secret, and the value is an instance of the `Secret` class,\nwhich holds the details about the secret such as file location, external status,\nand additional metadata like labels.", "kind": "PropertySetter", - "signature": "setSecrets(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Secret\u003E): ComposeFile", + "signature": "setSecrets(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Secret\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -327,13 +339,14 @@ "name": "setServices", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setServices", "qualifiedName": "ComposeFile.setServices", - "description": "Sets the Services property", + "description": "Represents a collection of services defined in a Docker Compose file. Each service is identified by a unique name and contains configuration details as defined by the `Service` class.", + "remarks": "Services are a critical part of the Docker Compose ecosystem and are used to define\nindividual application components. These components can include images, commands,\nenvironment variables, ports, volumes, dependencies, and more.", "kind": "PropertySetter", - "signature": "setServices(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service\u003E): ComposeFile", + "signature": "setServices(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -346,7 +359,7 @@ "name": "setVersion", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setVersion", "qualifiedName": "ComposeFile.setVersion", - "description": "Sets the Version property", + "description": "Represents the version of the Docker Compose file format being used. This property specifies the format of the Compose file and determines the supported features and behaviors.", "kind": "PropertySetter", "signature": "setVersion(value: string): ComposeFile", "parameters": [ @@ -365,13 +378,14 @@ "name": "setVolumes", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setVolumes", "qualifiedName": "ComposeFile.setVolumes", - "description": "Sets the Volumes property", + "description": "Represents a collection of volume definitions within a Docker Compose file.", + "remarks": "The volumes are defined using a dictionary structure where the key represents the\nname of the volume, and the value is an instance of the `Volume` class.\nVolumes can be used to share data between containers or between a container and the host system.", "kind": "PropertySetter", - "signature": "setVolumes(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E): ComposeFile", + "signature": "setVolumes(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -384,7 +398,7 @@ "name": "version", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.version", "qualifiedName": "ComposeFile.version", - "description": "Gets the Version property", + "description": "Represents the version of the Docker Compose file format being used. This property specifies the format of the Compose file and determines the supported features and behaviors.", "kind": "PropertyGetter", "signature": "version(): string", "parameters": [], @@ -398,11 +412,12 @@ "name": "volumes", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.volumes", "qualifiedName": "ComposeFile.volumes", - "description": "Gets the Volumes property", + "description": "Represents a collection of volume definitions within a Docker Compose file.", + "remarks": "The volumes are defined using a dictionary structure where the key represents the\nname of the volume, and the value is an instance of the `Volume` class.\nVolumes can be used to share data between containers or between a container and the host system.", "kind": "PropertyGetter", - "signature": "volumes(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E", + "signature": "volumes(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -412,7 +427,7 @@ "name": "content", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.content", "qualifiedName": "Config.content", - "description": "Gets the Content property", + "description": "Gets or sets the contents of the configuration file. This property is used to specify the actual configuration data that will be included in the Docker Compose file.", "kind": "PropertyGetter", "signature": "content(): string", "parameters": [], @@ -426,7 +441,7 @@ "name": "external", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.external", "qualifiedName": "Config.external", - "description": "Gets the External property", + "description": "Indicates whether the configuration is external to the current project context. When set to true, the configuration will not be managed or created by the Compose file; instead, it references an existing resource outside the current scope. If null, the external status is not explicitly specified.", "kind": "PropertyGetter", "signature": "external(): boolean", "parameters": [], @@ -440,7 +455,7 @@ "name": "file", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.file", "qualifiedName": "Config.file", - "description": "Gets the File property", + "description": "Gets or sets the path to the configuration file. This property is used to specify the file containing the configuration data for the service or component.", "kind": "PropertyGetter", "signature": "file(): string", "parameters": [], @@ -454,11 +469,11 @@ "name": "labels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.labels", "qualifiedName": "Config.labels", - "description": "Gets the Labels property", + "description": "Represents a collection of key-value pairs used as metadata for configuration objects. The labels provide additional descriptive information, which can be utilized for tagging, grouping, or identification purposes.", "kind": "PropertyGetter", - "signature": "labels(): Dict\u003Cstring,string\u003E", + "signature": "labels(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Config", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Config" @@ -468,7 +483,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.name", "qualifiedName": "Config.name", - "description": "Gets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -482,7 +498,7 @@ "name": "setContent", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.setContent", "qualifiedName": "Config.setContent", - "description": "Sets the Content property", + "description": "Gets or sets the contents of the configuration file. This property is used to specify the actual configuration data that will be included in the Docker Compose file.", "kind": "PropertySetter", "signature": "setContent(value: string): Config", "parameters": [ @@ -501,7 +517,7 @@ "name": "setExternal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.setExternal", "qualifiedName": "Config.setExternal", - "description": "Sets the External property", + "description": "Indicates whether the configuration is external to the current project context. When set to true, the configuration will not be managed or created by the Compose file; instead, it references an existing resource outside the current scope. If null, the external status is not explicitly specified.", "kind": "PropertySetter", "signature": "setExternal(value: boolean): Config", "parameters": [ @@ -520,7 +536,7 @@ "name": "setFile", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.setFile", "qualifiedName": "Config.setFile", - "description": "Sets the File property", + "description": "Gets or sets the path to the configuration file. This property is used to specify the file containing the configuration data for the service or component.", "kind": "PropertySetter", "signature": "setFile(value: string): Config", "parameters": [ @@ -539,13 +555,13 @@ "name": "setLabels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.setLabels", "qualifiedName": "Config.setLabels", - "description": "Sets the Labels property", + "description": "Represents a collection of key-value pairs used as metadata for configuration objects. The labels provide additional descriptive information, which can be utilized for tagging, grouping, or identification purposes.", "kind": "PropertySetter", - "signature": "setLabels(value: Dict\u003Cstring,string\u003E): Config", + "signature": "setLabels(value: Dict): Config", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Config", @@ -558,7 +574,8 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.setName", "qualifiedName": "Config.setName", - "description": "Sets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertySetter", "signature": "setName(value: string): Config", "parameters": [ @@ -577,15 +594,18 @@ "name": "configureComposeFile", "capabilityId": "Aspire.Hosting.Docker/configureComposeFile", "qualifiedName": "configureComposeFile", - "description": "Configures the generated Docker Compose file before it is written to disk", + "description": "Configures the Docker Compose file for the environment resource.", + "remarks": "This callback runs after the Docker Compose model has been generated and before it is written to disk.\nUse it to customize the generated `ComposeFile` for the environment.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "configureComposeFile(configure: (obj: ComposeFile) =\u003E Promise\u003Cvoid\u003E): DockerComposeEnvironmentResource", + "signature": "configureComposeFile(configure: (obj: ComposeFile) => Promise): DockerComposeEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: ComposeFile) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: ComposeFile) => Promise", + "description": "A method that can be used for customizing the `ComposeFile`." } ], "returnType": "DockerComposeEnvironmentResource", @@ -599,15 +619,17 @@ "name": "configureDashboard", "capabilityId": "Aspire.Hosting.Docker/configureDashboard", "qualifiedName": "configureDashboard", - "description": "Configures the Aspire dashboard resource for the Docker Compose environment", + "description": "Configures the dashboard properties for this Docker Compose environment.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "configureDashboard(configure: (obj: DockerComposeAspireDashboardResource) =\u003E Promise\u003Cvoid\u003E): DockerComposeEnvironmentResource", + "signature": "configureDashboard(configure: (obj: DockerComposeAspireDashboardResource) => Promise): DockerComposeEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: DockerComposeAspireDashboardResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: DockerComposeAspireDashboardResource) => Promise", + "description": "A method that can be used for customizing the dashboard service." } ], "returnType": "DockerComposeEnvironmentResource", @@ -621,15 +643,18 @@ "name": "configureEnvFile", "capabilityId": "Aspire.Hosting.Docker/configureEnvFile", "qualifiedName": "configureEnvFile", - "description": "Configures the captured environment variables written to the Docker Compose .env file", + "description": "Configures the captured environment variables for the Docker Compose environment before they are written to the .env file.", + "remarks": "This callback is invoked during the prepare phase, allowing programmatic modification of the environment variables\nthat will be written to the environment-specific `.env` file adjacent to the Docker Compose file.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "configureEnvFile(configure: (obj: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.CapturedEnvironmentVariable\u003E) =\u003E Promise\u003Cvoid\u003E): DockerComposeEnvironmentResource", + "signature": "configureEnvFile(configure: (obj: Dict) => Promise): DockerComposeEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.CapturedEnvironmentVariable\u003E) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: Dict) => Promise", + "description": "A method that can be used for customizing the captured environment variables." } ], "returnType": "DockerComposeEnvironmentResource", @@ -643,7 +668,7 @@ "name": "otlpGrpcEndpoint", "capabilityId": "Aspire.Hosting.Docker/DockerComposeAspireDashboardResource.otlpGrpcEndpoint", "qualifiedName": "DockerComposeAspireDashboardResource.otlpGrpcEndpoint", - "description": "Gets the OtlpGrpcEndpoint property", + "description": "Gets the OTLP gRPC endpoint for telemetry data.", "kind": "PropertyGetter", "signature": "otlpGrpcEndpoint(): EndpointReference", "parameters": [], @@ -657,7 +682,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.Docker/DockerComposeAspireDashboardResource.primaryEndpoint", "qualifiedName": "DockerComposeAspireDashboardResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint of the Aspire Dashboard.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -671,7 +696,7 @@ "name": "dashboardEnabled", "capabilityId": "Aspire.Hosting.Docker/DockerComposeEnvironmentResource.dashboardEnabled", "qualifiedName": "DockerComposeEnvironmentResource.dashboardEnabled", - "description": "Gets the DashboardEnabled property", + "description": "Determines whether to include an Aspire dashboard for telemetry visualization in this environment.", "kind": "PropertyGetter", "signature": "dashboardEnabled(): boolean", "parameters": [], @@ -685,7 +710,7 @@ "name": "defaultNetworkName", "capabilityId": "Aspire.Hosting.Docker/DockerComposeEnvironmentResource.defaultNetworkName", "qualifiedName": "DockerComposeEnvironmentResource.defaultNetworkName", - "description": "Gets the DefaultNetworkName property", + "description": "The name of an existing network to be used.", "kind": "PropertyGetter", "signature": "defaultNetworkName(): string", "parameters": [], @@ -718,7 +743,7 @@ "name": "setDashboardEnabled", "capabilityId": "Aspire.Hosting.Docker/DockerComposeEnvironmentResource.setDashboardEnabled", "qualifiedName": "DockerComposeEnvironmentResource.setDashboardEnabled", - "description": "Sets the DashboardEnabled property", + "description": "Determines whether to include an Aspire dashboard for telemetry visualization in this environment.", "kind": "PropertySetter", "signature": "setDashboardEnabled(value: boolean): DockerComposeEnvironmentResource", "parameters": [ @@ -737,7 +762,7 @@ "name": "setDefaultNetworkName", "capabilityId": "Aspire.Hosting.Docker/DockerComposeEnvironmentResource.setDefaultNetworkName", "qualifiedName": "DockerComposeEnvironmentResource.setDefaultNetworkName", - "description": "Sets the DefaultNetworkName property", + "description": "The name of an existing network to be used.", "kind": "PropertySetter", "signature": "setDefaultNetworkName(value: string): DockerComposeEnvironmentResource", "parameters": [ @@ -770,7 +795,7 @@ "name": "attachable", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.attachable", "qualifiedName": "Network.attachable", - "description": "Gets the Attachable property", + "description": "Gets or sets a value indicating whether the network is attachable. When this property is set to true, containers can dynamically attach to the network at runtime. This feature is primarily used in Docker Swarm mode to enable service discovery and communication between services.", "kind": "PropertyGetter", "signature": "attachable(): boolean", "parameters": [], @@ -784,7 +809,7 @@ "name": "driver", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.driver", "qualifiedName": "Network.driver", - "description": "Gets the Driver property", + "description": "Gets or sets the driver used for the network. The driver determines the networking implementation that the container network is based on. Examples include bridge, overlay, host, etc.", "kind": "PropertyGetter", "signature": "driver(): string", "parameters": [], @@ -798,11 +823,12 @@ "name": "driverOpts", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.driverOpts", "qualifiedName": "Network.driverOpts", - "description": "Gets the DriverOpts property", + "description": "Represents a dictionary of driver-specific options for the network configuration in a Docker service node.", + "remarks": "These options are key-value pairs that allow customization of network settings based on the specified driver.\nThey can control behaviors or features unique to the driver being used.", "kind": "PropertyGetter", - "signature": "driverOpts(): Dict\u003Cstring,string\u003E", + "signature": "driverOpts(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Network" @@ -812,7 +838,7 @@ "name": "external", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.external", "qualifiedName": "Network.external", - "description": "Gets the External property", + "description": "Indicates whether the network is external or managed by Docker outside of the application stack. When set to true, the network is assumed to be pre-existing and not defined by the application's configuration. When set to false or null, the network can be defined and created within the application scope.", "kind": "PropertyGetter", "signature": "external(): boolean", "parameters": [], @@ -826,7 +852,7 @@ "name": "ingress", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.ingress", "qualifiedName": "Network.ingress", - "description": "Gets the Ingress property", + "description": "Represents whether the network is configured as an ingress network. An ingress network is used to manage the internal routing and load balancing for swarm services in Docker.", "kind": "PropertyGetter", "signature": "ingress(): boolean", "parameters": [], @@ -840,7 +866,7 @@ "name": "internal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.internal", "qualifiedName": "Network.internal", - "description": "Gets the Internal property", + "description": "Determines if the network is restricted to internal usage only. When set to true, the network is not accessible externally.", "kind": "PropertyGetter", "signature": "internal(): boolean", "parameters": [], @@ -854,11 +880,11 @@ "name": "labels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.labels", "qualifiedName": "Network.labels", - "description": "Gets the Labels property", + "description": "Represents a collection of metadata labels applied to the network configuration. These labels can be used to organize, manage, or identify network resources.", "kind": "PropertyGetter", - "signature": "labels(): Dict\u003Cstring,string\u003E", + "signature": "labels(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Network" @@ -868,7 +894,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.name", "qualifiedName": "Network.name", - "description": "Gets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -882,7 +909,7 @@ "name": "setAttachable", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setAttachable", "qualifiedName": "Network.setAttachable", - "description": "Sets the Attachable property", + "description": "Gets or sets a value indicating whether the network is attachable. When this property is set to true, containers can dynamically attach to the network at runtime. This feature is primarily used in Docker Swarm mode to enable service discovery and communication between services.", "kind": "PropertySetter", "signature": "setAttachable(value: boolean): Network", "parameters": [ @@ -901,7 +928,7 @@ "name": "setDriver", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setDriver", "qualifiedName": "Network.setDriver", - "description": "Sets the Driver property", + "description": "Gets or sets the driver used for the network. The driver determines the networking implementation that the container network is based on. Examples include bridge, overlay, host, etc.", "kind": "PropertySetter", "signature": "setDriver(value: string): Network", "parameters": [ @@ -920,13 +947,14 @@ "name": "setDriverOpts", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setDriverOpts", "qualifiedName": "Network.setDriverOpts", - "description": "Sets the DriverOpts property", + "description": "Represents a dictionary of driver-specific options for the network configuration in a Docker service node.", + "remarks": "These options are key-value pairs that allow customization of network settings based on the specified driver.\nThey can control behaviors or features unique to the driver being used.", "kind": "PropertySetter", - "signature": "setDriverOpts(value: Dict\u003Cstring,string\u003E): Network", + "signature": "setDriverOpts(value: Dict): Network", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Network", @@ -939,7 +967,7 @@ "name": "setExternal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setExternal", "qualifiedName": "Network.setExternal", - "description": "Sets the External property", + "description": "Indicates whether the network is external or managed by Docker outside of the application stack. When set to true, the network is assumed to be pre-existing and not defined by the application's configuration. When set to false or null, the network can be defined and created within the application scope.", "kind": "PropertySetter", "signature": "setExternal(value: boolean): Network", "parameters": [ @@ -958,7 +986,7 @@ "name": "setIngress", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setIngress", "qualifiedName": "Network.setIngress", - "description": "Sets the Ingress property", + "description": "Represents whether the network is configured as an ingress network. An ingress network is used to manage the internal routing and load balancing for swarm services in Docker.", "kind": "PropertySetter", "signature": "setIngress(value: boolean): Network", "parameters": [ @@ -977,7 +1005,7 @@ "name": "setInternal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setInternal", "qualifiedName": "Network.setInternal", - "description": "Sets the Internal property", + "description": "Determines if the network is restricted to internal usage only. When set to true, the network is not accessible externally.", "kind": "PropertySetter", "signature": "setInternal(value: boolean): Network", "parameters": [ @@ -996,13 +1024,13 @@ "name": "setLabels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setLabels", "qualifiedName": "Network.setLabels", - "description": "Sets the Labels property", + "description": "Represents a collection of metadata labels applied to the network configuration. These labels can be used to organize, manage, or identify network resources.", "kind": "PropertySetter", - "signature": "setLabels(value: Dict\u003Cstring,string\u003E): Network", + "signature": "setLabels(value: Dict): Network", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Network", @@ -1015,7 +1043,8 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setName", "qualifiedName": "Network.setName", - "description": "Sets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertySetter", "signature": "setName(value: string): Network", "parameters": [ @@ -1034,15 +1063,18 @@ "name": "publishAsDockerComposeService", "capabilityId": "Aspire.Hosting.Docker/publishAsDockerComposeService", "qualifiedName": "publishAsDockerComposeService", - "description": "Publishes the resource as a Docker Compose service with custom service configuration", + "description": "Publishes the specified resource as a Docker Compose service.", + "remarks": "This method checks if the application is in publish mode. If it is, it adds a customization annotation\nthat will be applied by the DockerComposeInfrastructure when generating the Docker Compose service.\n```\nbuilder.AddContainer(\"redis\", \"redis:alpine\").PublishAsDockerComposeService((resource, service) =>\n{\nservice.Name = \"redis\";\n});\n```", + "returns": "The updated resource builder.", "kind": "Method", - "signature": "publishAsDockerComposeService(configure: (arg1: DockerComposeServiceResource, arg2: Service) =\u003E Promise\u003Cvoid\u003E): IComputeResource", + "signature": "publishAsDockerComposeService(configure: (arg1: DockerComposeServiceResource, arg2: Service) => Promise): IComputeResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(arg1: DockerComposeServiceResource, arg2: Service) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(arg1: DockerComposeServiceResource, arg2: Service) => Promise", + "description": "The configuration action for the Docker Compose service." } ], "returnType": "IComputeResource", @@ -1061,7 +1093,7 @@ "name": "external", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.external", "qualifiedName": "Secret.external", - "description": "Gets the External property", + "description": "Indicates whether the secret is managed externally. If set to true, the secret must already exist, as it will not be created or modified.", "kind": "PropertyGetter", "signature": "external(): boolean", "parameters": [], @@ -1075,7 +1107,7 @@ "name": "file", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.file", "qualifiedName": "Secret.file", - "description": "Gets the File property", + "description": "Represents the file path associated with the secret. This specifies the location of the file on the host system that will be used as the source for the secret in the container.", "kind": "PropertyGetter", "signature": "file(): string", "parameters": [], @@ -1089,11 +1121,11 @@ "name": "labels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.labels", "qualifiedName": "Secret.labels", - "description": "Gets the Labels property", + "description": "Gets or sets a collection of key-value pairs representing metadata or additional information associated with the secret. These labels can be used for categorization, identification, or other purposes as determined by the user.", "kind": "PropertyGetter", - "signature": "labels(): Dict\u003Cstring,string\u003E", + "signature": "labels(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Secret", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Secret" @@ -1103,7 +1135,7 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.name", "qualifiedName": "Secret.name", - "description": "Gets the Name property", + "description": "Gets or sets the name of the secret in the Docker Compose configuration.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -1117,7 +1149,7 @@ "name": "setExternal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.setExternal", "qualifiedName": "Secret.setExternal", - "description": "Sets the External property", + "description": "Indicates whether the secret is managed externally. If set to true, the secret must already exist, as it will not be created or modified.", "kind": "PropertySetter", "signature": "setExternal(value: boolean): Secret", "parameters": [ @@ -1136,7 +1168,7 @@ "name": "setFile", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.setFile", "qualifiedName": "Secret.setFile", - "description": "Sets the File property", + "description": "Represents the file path associated with the secret. This specifies the location of the file on the host system that will be used as the source for the secret in the container.", "kind": "PropertySetter", "signature": "setFile(value: string): Secret", "parameters": [ @@ -1155,13 +1187,13 @@ "name": "setLabels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.setLabels", "qualifiedName": "Secret.setLabels", - "description": "Sets the Labels property", + "description": "Gets or sets a collection of key-value pairs representing metadata or additional information associated with the secret. These labels can be used for categorization, identification, or other purposes as determined by the user.", "kind": "PropertySetter", - "signature": "setLabels(value: Dict\u003Cstring,string\u003E): Secret", + "signature": "setLabels(value: Dict): Secret", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Secret", @@ -1174,7 +1206,7 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.setName", "qualifiedName": "Secret.setName", - "description": "Sets the Name property", + "description": "Gets or sets the name of the secret in the Docker Compose configuration.", "kind": "PropertySetter", "signature": "setName(value: string): Secret", "parameters": [ @@ -1193,11 +1225,12 @@ "name": "capAdd", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.capAdd", "qualifiedName": "Service.capAdd", - "description": "Gets the CapAdd property", + "description": "Specifies a list of Linux capabilities to add to the container.", + "remarks": "Linux capabilities allow fine-grained control of the privileges assigned to a process.\nThis property provides the ability to add specific capabilities to the set of capabilities available to the container.\nEach capability should be specified as a string in the list. Use this property to enhance the container's permissions\nbeyond the default set provided by the Docker runtime, if required by the application running inside the container.", "kind": "PropertyGetter", - "signature": "capAdd(): List\u003Cstring\u003E", + "signature": "capAdd(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1207,11 +1240,11 @@ "name": "capDrop", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.capDrop", "qualifiedName": "Service.capDrop", - "description": "Gets the CapDrop property", + "description": "Represents a list of Linux capabilities to be dropped from the service's container. This property can be used to restrict specific capabilities that the container should not have access to, enhancing security by implementing the principle of least privilege.", "kind": "PropertyGetter", - "signature": "capDrop(): List\u003Cstring\u003E", + "signature": "capDrop(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1221,7 +1254,7 @@ "name": "cgroupParent", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.cgroupParent", "qualifiedName": "Service.cgroupParent", - "description": "Gets the CgroupParent property", + "description": "Gets or sets the parent Cgroup for the container. This property defines the name of the Cgroup under which the container's resource constraints are managed.", "kind": "PropertyGetter", "signature": "cgroupParent(): string", "parameters": [], @@ -1235,11 +1268,11 @@ "name": "command", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.command", "qualifiedName": "Service.command", - "description": "Gets the Command property", + "description": "Represents the command to override the default command specified in the image's Dockerfile. This property allows specifying how the container should run by defining an executable and its arguments.", "kind": "PropertyGetter", - "signature": "command(): List\u003Cstring\u003E", + "signature": "command(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1249,7 +1282,7 @@ "name": "containerName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.containerName", "qualifiedName": "Service.containerName", - "description": "Gets the ContainerName property", + "description": "Specifies the name of the container to be used. This property maps to the \"container_name\" field in a Docker Compose file. If set, the container will have the specified name; otherwise, a name will be automatically generated.", "kind": "PropertyGetter", "signature": "containerName(): string", "parameters": [], @@ -1263,11 +1296,11 @@ "name": "dependsOn", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.dependsOn", "qualifiedName": "Service.dependsOn", - "description": "Gets the DependsOn property", + "description": "Specifies a list of services that this service depends on. The dependencies are expressed as service names with optional conditions. Supported conditions are: \"service_started\", \"service_healthy\", \"service_completed_successfully\" This property defines the order in which services should be started, ensuring that the specified services are initialized before the current service.", "kind": "PropertyGetter", - "signature": "dependsOn(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.ServiceDependency\u003E", + "signature": "dependsOn(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.ServiceDependency\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1277,11 +1310,11 @@ "name": "devices", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.devices", "qualifiedName": "Service.devices", - "description": "Gets the Devices property", + "description": "Represents a collection of device mappings for the service container. This property defines the host-to-container device paths in Docker.", "kind": "PropertyGetter", - "signature": "devices(): List\u003Cstring\u003E", + "signature": "devices(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1291,11 +1324,11 @@ "name": "dns", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.dns", "qualifiedName": "Service.dns", - "description": "Gets the Dns property", + "description": "Gets or sets a list of custom DNS server IP addresses to be used by the service container.", "kind": "PropertyGetter", - "signature": "dns(): List\u003Cstring\u003E", + "signature": "dns(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1305,11 +1338,11 @@ "name": "dnsSearch", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.dnsSearch", "qualifiedName": "Service.dnsSearch", - "description": "Gets the DnsSearch property", + "description": "Specifies the domain search options for the service's container. This property allows you to define one or more domain search suffixes that will be appended to unqualified DNS queries performed by the container. Typically used to configure how DNS resolution should behave in specific network setups.", "kind": "PropertyGetter", - "signature": "dnsSearch(): List\u003Cstring\u003E", + "signature": "dnsSearch(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1319,7 +1352,7 @@ "name": "domainName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.domainName", "qualifiedName": "Service.domainName", - "description": "Gets the DomainName property", + "description": "Represents the domain name of a service container.", "kind": "PropertyGetter", "signature": "domainName(): string", "parameters": [], @@ -1333,11 +1366,11 @@ "name": "entrypoint", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.entrypoint", "qualifiedName": "Service.entrypoint", - "description": "Gets the Entrypoint property", + "description": "Specifies the entrypoint to be used for the container. This property allows overriding the default entrypoint of the image and defines the executable or command that is run when the container starts.", "kind": "PropertyGetter", - "signature": "entrypoint(): List\u003Cstring\u003E", + "signature": "entrypoint(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1347,11 +1380,11 @@ "name": "envFile", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.envFile", "qualifiedName": "Service.envFile", - "description": "Gets the EnvFile property", + "description": "Represents a collection of paths to environment variable files used by the service. These files contain key-value pairs of environment variables that will be loaded and applied to the service configuration at runtime.", "kind": "PropertyGetter", - "signature": "envFile(): List\u003Cstring\u003E", + "signature": "envFile(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1361,11 +1394,12 @@ "name": "environment", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.environment", "qualifiedName": "Service.environment", - "description": "Gets the Environment property", + "description": "Represents a collection of environment variables for the service container.", + "remarks": "The property allows for specifying environment variables as key-value pairs.\nThese variables can be used to configure the behavior of the container\nor pass information to the application running inside the container.", "kind": "PropertyGetter", - "signature": "environment(): Dict\u003Cstring,string\u003E", + "signature": "environment(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1375,11 +1409,11 @@ "name": "expose", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.expose", "qualifiedName": "Service.expose", - "description": "Gets the Expose property", + "description": "Gets or sets a list of ports to expose from the container without publishing them to the host machine. This property defines internal ports that the container makes available to linked services or other containers within the same network, but these ports are not accessible from outside the container’s network.", "kind": "PropertyGetter", - "signature": "expose(): List\u003Cstring\u003E", + "signature": "expose(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1389,11 +1423,11 @@ "name": "externalLinks", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.externalLinks", "qualifiedName": "Service.externalLinks", - "description": "Gets the ExternalLinks property", + "description": "Gets or sets the external links for the service. External links are references to services defined outside the current Docker Compose file, enabling communication with containers in other projects or environments.", "kind": "PropertyGetter", - "signature": "externalLinks(): List\u003Cstring\u003E", + "signature": "externalLinks(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1403,11 +1437,11 @@ "name": "extraHosts", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.extraHosts", "qualifiedName": "Service.extraHosts", - "description": "Gets the ExtraHosts property", + "description": "Represents additional hostname-to-IP mappings for the service. These mappings allow you to manually define hostnames and corresponding IP addresses, effectively augmenting the DNS resolution for the service's containers.", "kind": "PropertyGetter", - "signature": "extraHosts(): Dict\u003Cstring,string\u003E", + "signature": "extraHosts(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1417,11 +1451,11 @@ "name": "groupAdd", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.groupAdd", "qualifiedName": "Service.groupAdd", - "description": "Gets the GroupAdd property", + "description": "Gets or sets a list of additional group IDs to add to the container's process. This allows the container to have access to resources or permissions associated with the specified groups.", "kind": "PropertyGetter", - "signature": "groupAdd(): List\u003Cstring\u003E", + "signature": "groupAdd(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1431,7 +1465,7 @@ "name": "hostname", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.hostname", "qualifiedName": "Service.hostname", - "description": "Gets the Hostname property", + "description": "Gets or sets the hostname for the service container. This defines the hostname that will be assigned to the container and can be used for network identification within the container's network.", "kind": "PropertyGetter", "signature": "hostname(): string", "parameters": [], @@ -1445,7 +1479,8 @@ "name": "image", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.image", "qualifiedName": "Service.image", - "description": "Gets the Image property", + "description": "Specifies the Docker image to be used for the service.", + "remarks": "The image refers to the identifier of a container image hosted in a registry.\nThis property is required if no build instructions are provided for the service.\nIt may include an optional tag or digest to specify a particular version of the image.\nIf omitted, Docker will default to the `latest` tag.", "kind": "PropertyGetter", "signature": "image(): string", "parameters": [], @@ -1459,7 +1494,7 @@ "name": "init", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.init", "qualifiedName": "Service.init", - "description": "Gets the Init property", + "description": "Indicates whether the init binary should be used as the container's init process. When set to true, the init process is used to ensure proper reaping of zombie processes and signal forwarding inside the container.", "kind": "PropertyGetter", "signature": "init(): boolean", "parameters": [], @@ -1473,7 +1508,7 @@ "name": "ipc", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.ipc", "qualifiedName": "Service.ipc", - "description": "Gets the Ipc property", + "description": "Gets or sets the IPC (Inter-Process Communication) mode for the service. This property determines how IPC namespaces are shared between containers and the host. It can be set to values such as \"none\", \"host\", or a specific container ID to share IPC resources with.", "kind": "PropertyGetter", "signature": "ipc(): string", "parameters": [], @@ -1487,7 +1522,7 @@ "name": "isolation", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.isolation", "qualifiedName": "Service.isolation", - "description": "Gets the Isolation property", + "description": "Specifies the isolation mode for the container. This property determines the level of isolation between the container and the host system. Common values include \"default\", \"process\", or \"hyperv\", and the supported options may depend on the container runtime or the platform being used.", "kind": "PropertyGetter", "signature": "isolation(): string", "parameters": [], @@ -1501,11 +1536,11 @@ "name": "labels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.labels", "qualifiedName": "Service.labels", - "description": "Gets the Labels property", + "description": "Represents a set of metadata labels for the service. These key-value pairs can be used to organize and identify objects within the service configuration.", "kind": "PropertyGetter", - "signature": "labels(): Dict\u003Cstring,string\u003E", + "signature": "labels(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1515,11 +1550,11 @@ "name": "links", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.links", "qualifiedName": "Service.links", - "description": "Gets the Links property", + "description": "Represents a service definition in a Docker Compose configuration file.", "kind": "PropertyGetter", - "signature": "links(): List\u003Cstring\u003E", + "signature": "links(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1529,7 +1564,8 @@ "name": "macAddress", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.macAddress", "qualifiedName": "Service.macAddress", - "description": "Gets the MacAddress property", + "description": "Specifies a custom MAC (Media Access Control) address for the container's network interface.", + "remarks": "A MAC address is a unique identifier assigned to a network interface controller (NIC).\nSetting this property allows for specifying a predefined MAC address instead of letting the system assign one dynamically.\nThis can be useful for use cases where a consistent MAC address is required, such as DHCP reservations or specific network configurations.", "kind": "PropertyGetter", "signature": "macAddress(): string", "parameters": [], @@ -1543,7 +1579,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.name", "qualifiedName": "Service.name", - "description": "Gets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -1557,7 +1594,7 @@ "name": "networkMode", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.networkMode", "qualifiedName": "Service.networkMode", - "description": "Gets the NetworkMode property", + "description": "Specifies the network mode to be used for the container. This property determines the networking configuration, such as whether the container shares the network stack with the host, uses a predefined network, or operates in isolation. The value is typically a string that matches a network mode supported by the environment, such as 'bridge', 'host', 'none', or a custom network name.", "kind": "PropertyGetter", "signature": "networkMode(): string", "parameters": [], @@ -1571,11 +1608,11 @@ "name": "networks", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.networks", "qualifiedName": "Service.networks", - "description": "Gets the Networks property", + "description": "Defines the collection of networks that the service is connected to. This property specifies the names of the networks the service should be attached to. Each entry in this list represents a network defined in the Docker Compose file or an externally defined network. Connecting a service to one or more networks allows inter-service communication across those networks, as well as communication with external systems configured on those same networks. If no network is specified, the service is connected to the default network that is automatically created by Docker Compose for the project unless `network_mode` is set to another value.", "kind": "PropertyGetter", - "signature": "networks(): List\u003Cstring\u003E", + "signature": "networks(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1585,7 +1622,7 @@ "name": "pid", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.pid", "qualifiedName": "Service.pid", - "description": "Gets the Pid property", + "description": "Gets or sets the PID (Process Identifier) namespace configuration for the container. This property determines whether the container shares the PID namespace with the host or other containers, allowing process visibility and signal sending between them.", "kind": "PropertyGetter", "signature": "pid(): string", "parameters": [], @@ -1599,11 +1636,11 @@ "name": "ports", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.ports", "qualifiedName": "Service.ports", - "description": "Gets the Ports property", + "description": "Represents a collection of port mappings for the service. Each mapping specifies how a container port is bound to a host port.", "kind": "PropertyGetter", - "signature": "ports(): List\u003Cstring\u003E", + "signature": "ports(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1613,7 +1650,7 @@ "name": "privileged", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.privileged", "qualifiedName": "Service.privileged", - "description": "Gets the Privileged property", + "description": "Indicates whether the container should run in privileged mode. When set to true, the container is granted extended Linux capabilities and device access.", "kind": "PropertyGetter", "signature": "privileged(): boolean", "parameters": [], @@ -1627,11 +1664,11 @@ "name": "profiles", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.profiles", "qualifiedName": "Service.profiles", - "description": "Gets the Profiles property", + "description": "Defines a list of profiles associated with the service. Profiles allow grouping of services and provide the ability to selectively enable services based on specified runtime profiles. If no profiles are specified, the service will be active in all configurations.", "kind": "PropertyGetter", - "signature": "profiles(): List\u003Cstring\u003E", + "signature": "profiles(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1641,7 +1678,8 @@ "name": "pullPolicy", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.pullPolicy", "qualifiedName": "Service.pullPolicy", - "description": "Gets the PullPolicy property", + "description": "Specifies the policy for pulling the Docker image.", + "remarks": "This property determines when the container runtime should pull the image.\nCommon values include \"always\", \"never\", \"missing\", \"if_not_present\", or \"build\".\nIf not specified, the default behavior depends on the container runtime configuration.", "kind": "PropertyGetter", "signature": "pullPolicy(): string", "parameters": [], @@ -1655,7 +1693,7 @@ "name": "readOnly", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.readOnly", "qualifiedName": "Service.readOnly", - "description": "Gets the ReadOnly property", + "description": "Defines whether the service containers should be run in read-only mode. If set to true, the containers will have a read-only file system, limiting write operations to specific directories defined by writable mounts or tempfs.", "kind": "PropertyGetter", "signature": "readOnly(): boolean", "parameters": [], @@ -1669,7 +1707,7 @@ "name": "restart", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.restart", "qualifiedName": "Service.restart", - "description": "Gets the Restart property", + "description": "Specifies the restart policy for the container. This property determines how the container should behave in case of a crash or termination. Common values include \"no\", \"always\", \"on-failure\", and \"unless-stopped\".", "kind": "PropertyGetter", "signature": "restart(): string", "parameters": [], @@ -1683,11 +1721,11 @@ "name": "securityOpt", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.securityOpt", "qualifiedName": "Service.securityOpt", - "description": "Gets the SecurityOpt property", + "description": "Represents a list of security options that can be applied to the container. This is used to configure security-related settings specific to the container such as SELinux labels or AppArmor profiles, providing fine-grained control over the container's security behavior.", "kind": "PropertyGetter", - "signature": "securityOpt(): List\u003Cstring\u003E", + "signature": "securityOpt(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -1697,13 +1735,14 @@ "name": "setCapAdd", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setCapAdd", "qualifiedName": "Service.setCapAdd", - "description": "Sets the CapAdd property", + "description": "Specifies a list of Linux capabilities to add to the container.", + "remarks": "Linux capabilities allow fine-grained control of the privileges assigned to a process.\nThis property provides the ability to add specific capabilities to the set of capabilities available to the container.\nEach capability should be specified as a string in the list. Use this property to enhance the container's permissions\nbeyond the default set provided by the Docker runtime, if required by the application running inside the container.", "kind": "PropertySetter", - "signature": "setCapAdd(value: List\u003Cstring\u003E): Service", + "signature": "setCapAdd(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -1716,13 +1755,13 @@ "name": "setCapDrop", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setCapDrop", "qualifiedName": "Service.setCapDrop", - "description": "Sets the CapDrop property", + "description": "Represents a list of Linux capabilities to be dropped from the service's container. This property can be used to restrict specific capabilities that the container should not have access to, enhancing security by implementing the principle of least privilege.", "kind": "PropertySetter", - "signature": "setCapDrop(value: List\u003Cstring\u003E): Service", + "signature": "setCapDrop(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -1735,7 +1774,7 @@ "name": "setCgroupParent", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setCgroupParent", "qualifiedName": "Service.setCgroupParent", - "description": "Sets the CgroupParent property", + "description": "Gets or sets the parent Cgroup for the container. This property defines the name of the Cgroup under which the container's resource constraints are managed.", "kind": "PropertySetter", "signature": "setCgroupParent(value: string): Service", "parameters": [ @@ -1754,13 +1793,13 @@ "name": "setCommand", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setCommand", "qualifiedName": "Service.setCommand", - "description": "Sets the Command property", + "description": "Represents the command to override the default command specified in the image's Dockerfile. This property allows specifying how the container should run by defining an executable and its arguments.", "kind": "PropertySetter", - "signature": "setCommand(value: List\u003Cstring\u003E): Service", + "signature": "setCommand(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -1773,7 +1812,7 @@ "name": "setContainerName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setContainerName", "qualifiedName": "Service.setContainerName", - "description": "Sets the ContainerName property", + "description": "Specifies the name of the container to be used. This property maps to the \"container_name\" field in a Docker Compose file. If set, the container will have the specified name; otherwise, a name will be automatically generated.", "kind": "PropertySetter", "signature": "setContainerName(value: string): Service", "parameters": [ @@ -1792,13 +1831,13 @@ "name": "setDependsOn", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setDependsOn", "qualifiedName": "Service.setDependsOn", - "description": "Sets the DependsOn property", + "description": "Specifies a list of services that this service depends on. The dependencies are expressed as service names with optional conditions. Supported conditions are: \"service_started\", \"service_healthy\", \"service_completed_successfully\" This property defines the order in which services should be started, ensuring that the specified services are initialized before the current service.", "kind": "PropertySetter", - "signature": "setDependsOn(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.ServiceDependency\u003E): Service", + "signature": "setDependsOn(value: Dict): Service", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.ServiceDependency\u003E" + "type": "Dict" } ], "returnType": "Service", @@ -1811,13 +1850,13 @@ "name": "setDevices", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setDevices", "qualifiedName": "Service.setDevices", - "description": "Sets the Devices property", + "description": "Represents a collection of device mappings for the service container. This property defines the host-to-container device paths in Docker.", "kind": "PropertySetter", - "signature": "setDevices(value: List\u003Cstring\u003E): Service", + "signature": "setDevices(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -1830,13 +1869,13 @@ "name": "setDns", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setDns", "qualifiedName": "Service.setDns", - "description": "Sets the Dns property", + "description": "Gets or sets a list of custom DNS server IP addresses to be used by the service container.", "kind": "PropertySetter", - "signature": "setDns(value: List\u003Cstring\u003E): Service", + "signature": "setDns(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -1849,13 +1888,13 @@ "name": "setDnsSearch", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setDnsSearch", "qualifiedName": "Service.setDnsSearch", - "description": "Sets the DnsSearch property", + "description": "Specifies the domain search options for the service's container. This property allows you to define one or more domain search suffixes that will be appended to unqualified DNS queries performed by the container. Typically used to configure how DNS resolution should behave in specific network setups.", "kind": "PropertySetter", - "signature": "setDnsSearch(value: List\u003Cstring\u003E): Service", + "signature": "setDnsSearch(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -1868,7 +1907,7 @@ "name": "setDomainName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setDomainName", "qualifiedName": "Service.setDomainName", - "description": "Sets the DomainName property", + "description": "Represents the domain name of a service container.", "kind": "PropertySetter", "signature": "setDomainName(value: string): Service", "parameters": [ @@ -1887,13 +1926,13 @@ "name": "setEntrypoint", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setEntrypoint", "qualifiedName": "Service.setEntrypoint", - "description": "Sets the Entrypoint property", + "description": "Specifies the entrypoint to be used for the container. This property allows overriding the default entrypoint of the image and defines the executable or command that is run when the container starts.", "kind": "PropertySetter", - "signature": "setEntrypoint(value: List\u003Cstring\u003E): Service", + "signature": "setEntrypoint(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -1906,13 +1945,13 @@ "name": "setEnvFile", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setEnvFile", "qualifiedName": "Service.setEnvFile", - "description": "Sets the EnvFile property", + "description": "Represents a collection of paths to environment variable files used by the service. These files contain key-value pairs of environment variables that will be loaded and applied to the service configuration at runtime.", "kind": "PropertySetter", - "signature": "setEnvFile(value: List\u003Cstring\u003E): Service", + "signature": "setEnvFile(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -1925,13 +1964,14 @@ "name": "setEnvironment", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setEnvironment", "qualifiedName": "Service.setEnvironment", - "description": "Sets the Environment property", + "description": "Represents a collection of environment variables for the service container.", + "remarks": "The property allows for specifying environment variables as key-value pairs.\nThese variables can be used to configure the behavior of the container\nor pass information to the application running inside the container.", "kind": "PropertySetter", - "signature": "setEnvironment(value: Dict\u003Cstring,string\u003E): Service", + "signature": "setEnvironment(value: Dict): Service", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Service", @@ -1944,13 +1984,13 @@ "name": "setExpose", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setExpose", "qualifiedName": "Service.setExpose", - "description": "Sets the Expose property", + "description": "Gets or sets a list of ports to expose from the container without publishing them to the host machine. This property defines internal ports that the container makes available to linked services or other containers within the same network, but these ports are not accessible from outside the container’s network.", "kind": "PropertySetter", - "signature": "setExpose(value: List\u003Cstring\u003E): Service", + "signature": "setExpose(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -1963,13 +2003,13 @@ "name": "setExternalLinks", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setExternalLinks", "qualifiedName": "Service.setExternalLinks", - "description": "Sets the ExternalLinks property", + "description": "Gets or sets the external links for the service. External links are references to services defined outside the current Docker Compose file, enabling communication with containers in other projects or environments.", "kind": "PropertySetter", - "signature": "setExternalLinks(value: List\u003Cstring\u003E): Service", + "signature": "setExternalLinks(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -1982,13 +2022,13 @@ "name": "setExtraHosts", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setExtraHosts", "qualifiedName": "Service.setExtraHosts", - "description": "Sets the ExtraHosts property", + "description": "Represents additional hostname-to-IP mappings for the service. These mappings allow you to manually define hostnames and corresponding IP addresses, effectively augmenting the DNS resolution for the service's containers.", "kind": "PropertySetter", - "signature": "setExtraHosts(value: Dict\u003Cstring,string\u003E): Service", + "signature": "setExtraHosts(value: Dict): Service", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Service", @@ -2001,13 +2041,13 @@ "name": "setGroupAdd", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setGroupAdd", "qualifiedName": "Service.setGroupAdd", - "description": "Sets the GroupAdd property", + "description": "Gets or sets a list of additional group IDs to add to the container's process. This allows the container to have access to resources or permissions associated with the specified groups.", "kind": "PropertySetter", - "signature": "setGroupAdd(value: List\u003Cstring\u003E): Service", + "signature": "setGroupAdd(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -2020,7 +2060,7 @@ "name": "setHostname", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setHostname", "qualifiedName": "Service.setHostname", - "description": "Sets the Hostname property", + "description": "Gets or sets the hostname for the service container. This defines the hostname that will be assigned to the container and can be used for network identification within the container's network.", "kind": "PropertySetter", "signature": "setHostname(value: string): Service", "parameters": [ @@ -2039,7 +2079,8 @@ "name": "setImage", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setImage", "qualifiedName": "Service.setImage", - "description": "Sets the Image property", + "description": "Specifies the Docker image to be used for the service.", + "remarks": "The image refers to the identifier of a container image hosted in a registry.\nThis property is required if no build instructions are provided for the service.\nIt may include an optional tag or digest to specify a particular version of the image.\nIf omitted, Docker will default to the `latest` tag.", "kind": "PropertySetter", "signature": "setImage(value: string): Service", "parameters": [ @@ -2058,7 +2099,7 @@ "name": "setInit", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setInit", "qualifiedName": "Service.setInit", - "description": "Sets the Init property", + "description": "Indicates whether the init binary should be used as the container's init process. When set to true, the init process is used to ensure proper reaping of zombie processes and signal forwarding inside the container.", "kind": "PropertySetter", "signature": "setInit(value: boolean): Service", "parameters": [ @@ -2077,7 +2118,7 @@ "name": "setIpc", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setIpc", "qualifiedName": "Service.setIpc", - "description": "Sets the Ipc property", + "description": "Gets or sets the IPC (Inter-Process Communication) mode for the service. This property determines how IPC namespaces are shared between containers and the host. It can be set to values such as \"none\", \"host\", or a specific container ID to share IPC resources with.", "kind": "PropertySetter", "signature": "setIpc(value: string): Service", "parameters": [ @@ -2096,7 +2137,7 @@ "name": "setIsolation", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setIsolation", "qualifiedName": "Service.setIsolation", - "description": "Sets the Isolation property", + "description": "Specifies the isolation mode for the container. This property determines the level of isolation between the container and the host system. Common values include \"default\", \"process\", or \"hyperv\", and the supported options may depend on the container runtime or the platform being used.", "kind": "PropertySetter", "signature": "setIsolation(value: string): Service", "parameters": [ @@ -2115,13 +2156,13 @@ "name": "setLabels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setLabels", "qualifiedName": "Service.setLabels", - "description": "Sets the Labels property", + "description": "Represents a set of metadata labels for the service. These key-value pairs can be used to organize and identify objects within the service configuration.", "kind": "PropertySetter", - "signature": "setLabels(value: Dict\u003Cstring,string\u003E): Service", + "signature": "setLabels(value: Dict): Service", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Service", @@ -2134,13 +2175,13 @@ "name": "setLinks", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setLinks", "qualifiedName": "Service.setLinks", - "description": "Sets the Links property", + "description": "Represents a service definition in a Docker Compose configuration file.", "kind": "PropertySetter", - "signature": "setLinks(value: List\u003Cstring\u003E): Service", + "signature": "setLinks(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -2153,7 +2194,8 @@ "name": "setMacAddress", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setMacAddress", "qualifiedName": "Service.setMacAddress", - "description": "Sets the MacAddress property", + "description": "Specifies a custom MAC (Media Access Control) address for the container's network interface.", + "remarks": "A MAC address is a unique identifier assigned to a network interface controller (NIC).\nSetting this property allows for specifying a predefined MAC address instead of letting the system assign one dynamically.\nThis can be useful for use cases where a consistent MAC address is required, such as DHCP reservations or specific network configurations.", "kind": "PropertySetter", "signature": "setMacAddress(value: string): Service", "parameters": [ @@ -2172,7 +2214,8 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setName", "qualifiedName": "Service.setName", - "description": "Sets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertySetter", "signature": "setName(value: string): Service", "parameters": [ @@ -2191,7 +2234,7 @@ "name": "setNetworkMode", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setNetworkMode", "qualifiedName": "Service.setNetworkMode", - "description": "Sets the NetworkMode property", + "description": "Specifies the network mode to be used for the container. This property determines the networking configuration, such as whether the container shares the network stack with the host, uses a predefined network, or operates in isolation. The value is typically a string that matches a network mode supported by the environment, such as 'bridge', 'host', 'none', or a custom network name.", "kind": "PropertySetter", "signature": "setNetworkMode(value: string): Service", "parameters": [ @@ -2210,13 +2253,13 @@ "name": "setNetworks", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setNetworks", "qualifiedName": "Service.setNetworks", - "description": "Sets the Networks property", + "description": "Defines the collection of networks that the service is connected to. This property specifies the names of the networks the service should be attached to. Each entry in this list represents a network defined in the Docker Compose file or an externally defined network. Connecting a service to one or more networks allows inter-service communication across those networks, as well as communication with external systems configured on those same networks. If no network is specified, the service is connected to the default network that is automatically created by Docker Compose for the project unless `network_mode` is set to another value.", "kind": "PropertySetter", - "signature": "setNetworks(value: List\u003Cstring\u003E): Service", + "signature": "setNetworks(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -2229,7 +2272,7 @@ "name": "setPid", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setPid", "qualifiedName": "Service.setPid", - "description": "Sets the Pid property", + "description": "Gets or sets the PID (Process Identifier) namespace configuration for the container. This property determines whether the container shares the PID namespace with the host or other containers, allowing process visibility and signal sending between them.", "kind": "PropertySetter", "signature": "setPid(value: string): Service", "parameters": [ @@ -2248,13 +2291,13 @@ "name": "setPorts", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setPorts", "qualifiedName": "Service.setPorts", - "description": "Sets the Ports property", + "description": "Represents a collection of port mappings for the service. Each mapping specifies how a container port is bound to a host port.", "kind": "PropertySetter", - "signature": "setPorts(value: List\u003Cstring\u003E): Service", + "signature": "setPorts(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -2267,7 +2310,7 @@ "name": "setPrivileged", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setPrivileged", "qualifiedName": "Service.setPrivileged", - "description": "Sets the Privileged property", + "description": "Indicates whether the container should run in privileged mode. When set to true, the container is granted extended Linux capabilities and device access.", "kind": "PropertySetter", "signature": "setPrivileged(value: boolean): Service", "parameters": [ @@ -2286,13 +2329,13 @@ "name": "setProfiles", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setProfiles", "qualifiedName": "Service.setProfiles", - "description": "Sets the Profiles property", + "description": "Defines a list of profiles associated with the service. Profiles allow grouping of services and provide the ability to selectively enable services based on specified runtime profiles. If no profiles are specified, the service will be active in all configurations.", "kind": "PropertySetter", - "signature": "setProfiles(value: List\u003Cstring\u003E): Service", + "signature": "setProfiles(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -2305,7 +2348,8 @@ "name": "setPullPolicy", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setPullPolicy", "qualifiedName": "Service.setPullPolicy", - "description": "Sets the PullPolicy property", + "description": "Specifies the policy for pulling the Docker image.", + "remarks": "This property determines when the container runtime should pull the image.\nCommon values include \"always\", \"never\", \"missing\", \"if_not_present\", or \"build\".\nIf not specified, the default behavior depends on the container runtime configuration.", "kind": "PropertySetter", "signature": "setPullPolicy(value: string): Service", "parameters": [ @@ -2324,7 +2368,7 @@ "name": "setReadOnly", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setReadOnly", "qualifiedName": "Service.setReadOnly", - "description": "Sets the ReadOnly property", + "description": "Defines whether the service containers should be run in read-only mode. If set to true, the containers will have a read-only file system, limiting write operations to specific directories defined by writable mounts or tempfs.", "kind": "PropertySetter", "signature": "setReadOnly(value: boolean): Service", "parameters": [ @@ -2343,7 +2387,7 @@ "name": "setRestart", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setRestart", "qualifiedName": "Service.setRestart", - "description": "Sets the Restart property", + "description": "Specifies the restart policy for the container. This property determines how the container should behave in case of a crash or termination. Common values include \"no\", \"always\", \"on-failure\", and \"unless-stopped\".", "kind": "PropertySetter", "signature": "setRestart(value: string): Service", "parameters": [ @@ -2362,13 +2406,13 @@ "name": "setSecurityOpt", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setSecurityOpt", "qualifiedName": "Service.setSecurityOpt", - "description": "Sets the SecurityOpt property", + "description": "Represents a list of security options that can be applied to the container. This is used to configure security-related settings specific to the container such as SELinux labels or AppArmor profiles, providing fine-grained control over the container's security behavior.", "kind": "PropertySetter", - "signature": "setSecurityOpt(value: List\u003Cstring\u003E): Service", + "signature": "setSecurityOpt(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -2381,7 +2425,7 @@ "name": "setStdinOpen", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setStdinOpen", "qualifiedName": "Service.setStdinOpen", - "description": "Sets the StdinOpen property", + "description": "Indicates whether standard input (stdin) should remain open and be attached to the service container, even if no terminal is connected.", "kind": "PropertySetter", "signature": "setStdinOpen(value: boolean): Service", "parameters": [ @@ -2400,7 +2444,7 @@ "name": "setStopGracePeriod", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setStopGracePeriod", "qualifiedName": "Service.setStopGracePeriod", - "description": "Sets the StopGracePeriod property", + "description": "Gets or sets the stop grace period for the container. This specifies the amount of time to wait before forcing a container to stop after the stop or shutdown signal is sent. The value can be defined in a time duration format, such as \"10s\" for 10 seconds or \"1m\" for 1 minute.", "kind": "PropertySetter", "signature": "setStopGracePeriod(value: string): Service", "parameters": [ @@ -2419,7 +2463,7 @@ "name": "setStopSignal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setStopSignal", "qualifiedName": "Service.setStopSignal", - "description": "Sets the StopSignal property", + "description": "Specifies the signal that will be used to stop the container. This property allows you to define a custom stop signal other than the default SIGTERM.", "kind": "PropertySetter", "signature": "setStopSignal(value: string): Service", "parameters": [ @@ -2438,13 +2482,13 @@ "name": "setSysctls", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setSysctls", "qualifiedName": "Service.setSysctls", - "description": "Sets the Sysctls property", + "description": "Represents a set of kernel parameters, specified as key-value pairs, that can be applied to the container at runtime. This property allows customization of specific Linux kernel settings (sysctl parameters) for the container, enabling fine-tuned control over its behavior. Common use cases include tuning network parameters or configuring shared memory limits. Note: Supported kernel parameters will vary based on the Docker daemon and the host system. Unsupported parameters will result in an error. Example: Use this property to set parameters like `net.ipv4.tcp_syncookies` or `net.core.somaxconn`.", "kind": "PropertySetter", - "signature": "setSysctls(value: Dict\u003Cstring,string\u003E): Service", + "signature": "setSysctls(value: Dict): Service", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Service", @@ -2457,13 +2501,13 @@ "name": "setTmpfs", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setTmpfs", "qualifiedName": "Service.setTmpfs", - "description": "Sets the Tmpfs property", + "description": "Specifies a list of temporary file systems (tmpfs) to be mounted inside the container. Each entry represents a directory on the container's filesystem, mounted as a tmpfs, which resides in-memory and is typically used for ephemeral storage or caching purposes.", "kind": "PropertySetter", - "signature": "setTmpfs(value: List\u003Cstring\u003E): Service", + "signature": "setTmpfs(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -2476,7 +2520,7 @@ "name": "setTty", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setTty", "qualifiedName": "Service.setTty", - "description": "Sets the Tty property", + "description": "Specifies whether a pseudo-TTY (teletypewriter) should be allocated for the container. When set to true, it enables the container to run with an interactive terminal session.", "kind": "PropertySetter", "signature": "setTty(value: boolean): Service", "parameters": [ @@ -2495,7 +2539,7 @@ "name": "setUser", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setUser", "qualifiedName": "Service.setUser", - "description": "Sets the User property", + "description": "Specifies the user that the container will run as. The value can be set to a numeric UID, a string for the username, or a combination of both (e.g., \"UID:GID\").", "kind": "PropertySetter", "signature": "setUser(value: string): Service", "parameters": [ @@ -2514,13 +2558,14 @@ "name": "setVolumes", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setVolumes", "qualifiedName": "Service.setVolumes", - "description": "Sets the Volumes property", + "description": "Defines the list of volumes to be mounted into the service's container.", + "remarks": "Volumes provide a mechanism for persisting data used by the service or for sharing data between the host and the container.\nEach volume entry maps a source path on the host or an anonymous volume to a target path within the container.\nThis property can also include named volumes as defined in the Compose file's top-level `volumes` section.\nVolumes can specify additional options such as read-only access or volume drivers.", "kind": "PropertySetter", - "signature": "setVolumes(value: List\u003CAspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E): Service", + "signature": "setVolumes(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003CAspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E" + "type": "List" } ], "returnType": "Service", @@ -2533,7 +2578,7 @@ "name": "setWorkingDir", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setWorkingDir", "qualifiedName": "Service.setWorkingDir", - "description": "Sets the WorkingDir property", + "description": "Gets or sets the working directory of the container. Specifies the directory in which commands are run inside the container. Corresponds to the \"working_dir\" property in a Docker Compose file.", "kind": "PropertySetter", "signature": "setWorkingDir(value: string): Service", "parameters": [ @@ -2552,7 +2597,7 @@ "name": "stdinOpen", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.stdinOpen", "qualifiedName": "Service.stdinOpen", - "description": "Gets the StdinOpen property", + "description": "Indicates whether standard input (stdin) should remain open and be attached to the service container, even if no terminal is connected.", "kind": "PropertyGetter", "signature": "stdinOpen(): boolean", "parameters": [], @@ -2566,7 +2611,7 @@ "name": "stopGracePeriod", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.stopGracePeriod", "qualifiedName": "Service.stopGracePeriod", - "description": "Gets the StopGracePeriod property", + "description": "Gets or sets the stop grace period for the container. This specifies the amount of time to wait before forcing a container to stop after the stop or shutdown signal is sent. The value can be defined in a time duration format, such as \"10s\" for 10 seconds or \"1m\" for 1 minute.", "kind": "PropertyGetter", "signature": "stopGracePeriod(): string", "parameters": [], @@ -2580,7 +2625,7 @@ "name": "stopSignal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.stopSignal", "qualifiedName": "Service.stopSignal", - "description": "Gets the StopSignal property", + "description": "Specifies the signal that will be used to stop the container. This property allows you to define a custom stop signal other than the default SIGTERM.", "kind": "PropertyGetter", "signature": "stopSignal(): string", "parameters": [], @@ -2594,11 +2639,11 @@ "name": "sysctls", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.sysctls", "qualifiedName": "Service.sysctls", - "description": "Gets the Sysctls property", + "description": "Represents a set of kernel parameters, specified as key-value pairs, that can be applied to the container at runtime. This property allows customization of specific Linux kernel settings (sysctl parameters) for the container, enabling fine-tuned control over its behavior. Common use cases include tuning network parameters or configuring shared memory limits. Note: Supported kernel parameters will vary based on the Docker daemon and the host system. Unsupported parameters will result in an error. Example: Use this property to set parameters like `net.ipv4.tcp_syncookies` or `net.core.somaxconn`.", "kind": "PropertyGetter", - "signature": "sysctls(): Dict\u003Cstring,string\u003E", + "signature": "sysctls(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -2608,11 +2653,11 @@ "name": "tmpfs", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.tmpfs", "qualifiedName": "Service.tmpfs", - "description": "Gets the Tmpfs property", + "description": "Specifies a list of temporary file systems (tmpfs) to be mounted inside the container. Each entry represents a directory on the container's filesystem, mounted as a tmpfs, which resides in-memory and is typically used for ephemeral storage or caching purposes.", "kind": "PropertyGetter", - "signature": "tmpfs(): List\u003Cstring\u003E", + "signature": "tmpfs(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -2622,7 +2667,7 @@ "name": "tty", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.tty", "qualifiedName": "Service.tty", - "description": "Gets the Tty property", + "description": "Specifies whether a pseudo-TTY (teletypewriter) should be allocated for the container. When set to true, it enables the container to run with an interactive terminal session.", "kind": "PropertyGetter", "signature": "tty(): boolean", "parameters": [], @@ -2636,7 +2681,7 @@ "name": "user", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.user", "qualifiedName": "Service.user", - "description": "Gets the User property", + "description": "Specifies the user that the container will run as. The value can be set to a numeric UID, a string for the username, or a combination of both (e.g., \"UID:GID\").", "kind": "PropertyGetter", "signature": "user(): string", "parameters": [], @@ -2650,11 +2695,12 @@ "name": "volumes", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.volumes", "qualifiedName": "Service.volumes", - "description": "Gets the Volumes property", + "description": "Defines the list of volumes to be mounted into the service's container.", + "remarks": "Volumes provide a mechanism for persisting data used by the service or for sharing data between the host and the container.\nEach volume entry maps a source path on the host or an anonymous volume to a target path within the container.\nThis property can also include named volumes as defined in the Compose file's top-level `volumes` section.\nVolumes can specify additional options such as read-only access or volume drivers.", "kind": "PropertyGetter", - "signature": "volumes(): List\u003CAspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E", + "signature": "volumes(): List", "parameters": [], - "returnType": "List\u003CAspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -2664,7 +2710,7 @@ "name": "workingDir", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.workingDir", "qualifiedName": "Service.workingDir", - "description": "Gets the WorkingDir property", + "description": "Gets or sets the working directory of the container. Specifies the directory in which commands are run inside the container. Corresponds to the \"working_dir\" property in a Docker Compose file.", "kind": "PropertyGetter", "signature": "workingDir(): string", "parameters": [], @@ -2678,7 +2724,7 @@ "name": "condition", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/ServiceDependency.condition", "qualifiedName": "ServiceDependency.condition", - "description": "Gets the Condition property", + "description": "Gets or sets the condition under which the service should be started.", "kind": "PropertyGetter", "signature": "condition(): string", "parameters": [], @@ -2692,7 +2738,7 @@ "name": "setCondition", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/ServiceDependency.setCondition", "qualifiedName": "ServiceDependency.setCondition", - "description": "Sets the Condition property", + "description": "Gets or sets the condition under which the service should be started.", "kind": "PropertySetter", "signature": "setCondition(value: string): ServiceDependency", "parameters": [ @@ -2711,7 +2757,7 @@ "name": "driver", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.driver", "qualifiedName": "Volume.driver", - "description": "Gets the Driver property", + "description": "Gets or sets the name of the driver used for the volume. The driver is responsible for managing the volume and its storage backend.", "kind": "PropertyGetter", "signature": "driver(): string", "parameters": [], @@ -2725,11 +2771,11 @@ "name": "driverOpts", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.driverOpts", "qualifiedName": "Volume.driverOpts", - "description": "Gets the DriverOpts property", + "description": "Represents a collection of driver-specific options for the volume. These options are passed as key-value pairs to the volume driver, allowing customization or configuration specific to the driver being used.", "kind": "PropertyGetter", - "signature": "driverOpts(): Dict\u003Cstring,string\u003E", + "signature": "driverOpts(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ServiceNodes.Volume" @@ -2739,7 +2785,7 @@ "name": "external", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.external", "qualifiedName": "Volume.external", - "description": "Gets the External property", + "description": "Indicates whether the volume is external to the current scope or environment. A value of `true` specifies that the volume is managed outside the scope of the current application or configuration. A value of `false`, or a null value, indicates that the volume is managed internally or by default behavior.", "kind": "PropertyGetter", "signature": "external(): boolean", "parameters": [], @@ -2753,11 +2799,11 @@ "name": "labels", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.labels", "qualifiedName": "Volume.labels", - "description": "Gets the Labels property", + "description": "Gets or sets a dictionary of labels associated with the volume. Labels are key-value pairs that can be used for metadata purposes or for organizing and identifying volumes within Docker services.", "kind": "PropertyGetter", - "signature": "labels(): Dict\u003Cstring,string\u003E", + "signature": "labels(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ServiceNodes.Volume" @@ -2767,7 +2813,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.name", "qualifiedName": "Volume.name", - "description": "Gets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -2781,7 +2828,8 @@ "name": "readOnly", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.readOnly", "qualifiedName": "Volume.readOnly", - "description": "Gets the ReadOnly property", + "description": "Gets or sets a value indicating whether the volume is mounted as read-only.", + "remarks": "When set to true, the volume will be mounted with read-only permissions, preventing modification\nof the data within the container. This is commonly used to enforce data immutability for certain use cases.", "kind": "PropertyGetter", "signature": "readOnly(): boolean", "parameters": [], @@ -2795,7 +2843,7 @@ "name": "setDriver", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setDriver", "qualifiedName": "Volume.setDriver", - "description": "Sets the Driver property", + "description": "Gets or sets the name of the driver used for the volume. The driver is responsible for managing the volume and its storage backend.", "kind": "PropertySetter", "signature": "setDriver(value: string): Volume", "parameters": [ @@ -2814,13 +2862,13 @@ "name": "setDriverOpts", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setDriverOpts", "qualifiedName": "Volume.setDriverOpts", - "description": "Sets the DriverOpts property", + "description": "Represents a collection of driver-specific options for the volume. These options are passed as key-value pairs to the volume driver, allowing customization or configuration specific to the driver being used.", "kind": "PropertySetter", - "signature": "setDriverOpts(value: Dict\u003Cstring,string\u003E): Volume", + "signature": "setDriverOpts(value: Dict): Volume", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Volume", @@ -2833,7 +2881,7 @@ "name": "setExternal", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setExternal", "qualifiedName": "Volume.setExternal", - "description": "Sets the External property", + "description": "Indicates whether the volume is external to the current scope or environment. A value of `true` specifies that the volume is managed outside the scope of the current application or configuration. A value of `false`, or a null value, indicates that the volume is managed internally or by default behavior.", "kind": "PropertySetter", "signature": "setExternal(value: boolean): Volume", "parameters": [ @@ -2852,13 +2900,13 @@ "name": "setLabels", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setLabels", "qualifiedName": "Volume.setLabels", - "description": "Sets the Labels property", + "description": "Gets or sets a dictionary of labels associated with the volume. Labels are key-value pairs that can be used for metadata purposes or for organizing and identifying volumes within Docker services.", "kind": "PropertySetter", - "signature": "setLabels(value: Dict\u003Cstring,string\u003E): Volume", + "signature": "setLabels(value: Dict): Volume", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Volume", @@ -2871,7 +2919,8 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setName", "qualifiedName": "Volume.setName", - "description": "Sets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertySetter", "signature": "setName(value: string): Volume", "parameters": [ @@ -2890,7 +2939,8 @@ "name": "setReadOnly", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setReadOnly", "qualifiedName": "Volume.setReadOnly", - "description": "Sets the ReadOnly property", + "description": "Gets or sets a value indicating whether the volume is mounted as read-only.", + "remarks": "When set to true, the volume will be mounted with read-only permissions, preventing modification\nof the data within the container. This is commonly used to enforce data immutability for certain use cases.", "kind": "PropertySetter", "signature": "setReadOnly(value: boolean): Volume", "parameters": [ @@ -2909,7 +2959,7 @@ "name": "setSource", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setSource", "qualifiedName": "Volume.setSource", - "description": "Sets the Source property", + "description": "Gets or sets the source property of the volume. The source defines the location on the host system or the specific resource from which the volume is sourced.", "kind": "PropertySetter", "signature": "setSource(value: string): Volume", "parameters": [ @@ -2928,7 +2978,7 @@ "name": "setTarget", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setTarget", "qualifiedName": "Volume.setTarget", - "description": "Sets the Target property", + "description": "Gets or sets the target path inside the container where the volume is mounted. This specifies the container location for the volume's data.", "kind": "PropertySetter", "signature": "setTarget(value: string): Volume", "parameters": [ @@ -2947,7 +2997,7 @@ "name": "setType", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setType", "qualifiedName": "Volume.setType", - "description": "Sets the Type property", + "description": "Gets or sets the type of volume. This specifies the method of volume provisioning such as bind mounts, named volumes, or other supported volume types in Docker.", "kind": "PropertySetter", "signature": "setType(value: string): Volume", "parameters": [ @@ -2966,7 +3016,7 @@ "name": "source", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.source", "qualifiedName": "Volume.source", - "description": "Gets the Source property", + "description": "Gets or sets the source property of the volume. The source defines the location on the host system or the specific resource from which the volume is sourced.", "kind": "PropertyGetter", "signature": "source(): string", "parameters": [], @@ -2980,7 +3030,7 @@ "name": "target", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.target", "qualifiedName": "Volume.target", - "description": "Gets the Target property", + "description": "Gets or sets the target path inside the container where the volume is mounted. This specifies the container location for the volume's data.", "kind": "PropertyGetter", "signature": "target(): string", "parameters": [], @@ -2994,7 +3044,7 @@ "name": "type", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.type", "qualifiedName": "Volume.type", - "description": "Gets the Type property", + "description": "Gets or sets the type of volume. This specifies the method of volume provisioning such as bind mounts, named volumes, or other supported volume types in Docker.", "kind": "PropertyGetter", "signature": "type(): string", "parameters": [], @@ -3008,7 +3058,8 @@ "name": "withDashboard", "capabilityId": "Aspire.Hosting.Docker/withDashboard", "qualifiedName": "withDashboard", - "description": "Enables or disables the Aspire dashboard for the Docker Compose environment", + "description": "Enables the Aspire dashboard for telemetry visualization in this Docker Compose environment.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withDashboard(enabled?: boolean): DockerComposeEnvironmentResource", "parameters": [ @@ -3016,7 +3067,8 @@ "name": "enabled", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to enable the dashboard. Default is true." } ], "returnType": "DockerComposeEnvironmentResource", @@ -3030,7 +3082,9 @@ "name": "withForwardedHeaders", "capabilityId": "Aspire.Hosting.Docker/withForwardedHeaders", "qualifiedName": "withForwardedHeaders", - "description": "Enables or disables forwarded headers support for the Aspire dashboard", + "description": "Configures whether forwarded headers processing is enabled for the Aspire dashboard container.", + "remarks": "This sets the `ASPIRE_DASHBOARD_FORWARDEDHEADERS_ENABLED` environment variable inside the dashboard\ncontainer. When enabled, the dashboard will process `X-Forwarded-Host` and `X-Forwarded-Proto`\nheaders which is required when the dashboard is accessed through a reverse proxy or load balancer.", + "returns": "The same `IResourceBuilder`1` to allow chaining.", "kind": "Method", "signature": "withForwardedHeaders(enabled?: boolean): DockerComposeAspireDashboardResource", "parameters": [ @@ -3038,7 +3092,8 @@ "name": "enabled", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "True to enable forwarded headers (`ASPIRE_DASHBOARD_FORWARDEDHEADERS_ENABLED=true`), false to disable it (sets the value to `false`)." } ], "returnType": "DockerComposeAspireDashboardResource", @@ -3052,7 +3107,8 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Docker/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Aspire dashboard", + "description": "Configures the port used to access the Aspire Dashboard from a browser.", + "returns": "The `IResourceBuilder`1` instance for chaining.", "kind": "Method", "signature": "withHostPort(port?: number): DockerComposeAspireDashboardResource", "parameters": [ @@ -3060,7 +3116,8 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If non-null, the dashboard will be exposed on the host. If `null`, the dashboard will not be exposed on the host but will only be reachable within the container network." } ], "returnType": "DockerComposeAspireDashboardResource", @@ -3074,15 +3131,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Docker/withProperties", "qualifiedName": "withProperties", - "description": "Configures properties of the Docker Compose environment", + "description": "Allows setting the properties of a Docker Compose environment resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: DockerComposeEnvironmentResource) =\u003E Promise\u003Cvoid\u003E): DockerComposeEnvironmentResource", + "signature": "withProperties(configure: (obj: DockerComposeEnvironmentResource) => Promise): DockerComposeEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: DockerComposeEnvironmentResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: DockerComposeEnvironmentResource) => Promise", + "description": "A method that can be used for customizing the `DockerComposeEnvironmentResource`." } ], "returnType": "DockerComposeEnvironmentResource", @@ -3099,13 +3158,14 @@ "fullName": "Aspire.Hosting.Docker.CapturedEnvironmentVariable", "kind": "handle", "exposeProperties": true, + "description": "Represents a captured environment variable that will be written to the .env file adjacent to the Docker Compose file.", "implementedInterfaces": [], "capabilities": [ { "name": "defaultValue", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.defaultValue", "qualifiedName": "CapturedEnvironmentVariable.defaultValue", - "description": "Gets the DefaultValue property", + "description": "Gets or sets the default value for the environment variable.", "kind": "PropertyGetter", "signature": "defaultValue(): string", "parameters": [], @@ -3119,7 +3179,7 @@ "name": "description", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.description", "qualifiedName": "CapturedEnvironmentVariable.description", - "description": "Gets the Description property", + "description": "Gets or sets the description for the environment variable.", "kind": "PropertyGetter", "signature": "description(): string", "parameters": [], @@ -3133,7 +3193,7 @@ "name": "setDefaultValue", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.setDefaultValue", "qualifiedName": "CapturedEnvironmentVariable.setDefaultValue", - "description": "Sets the DefaultValue property", + "description": "Gets or sets the default value for the environment variable.", "kind": "PropertySetter", "signature": "setDefaultValue(value: string): CapturedEnvironmentVariable", "parameters": [ @@ -3152,7 +3212,7 @@ "name": "setDescription", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.setDescription", "qualifiedName": "CapturedEnvironmentVariable.setDescription", - "description": "Sets the Description property", + "description": "Gets or sets the description for the environment variable.", "kind": "PropertySetter", "signature": "setDescription(value: string): CapturedEnvironmentVariable", "parameters": [ @@ -3171,7 +3231,7 @@ "name": "setSource", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.setSource", "qualifiedName": "CapturedEnvironmentVariable.setSource", - "description": "Sets the Source property", + "description": "Gets or sets the source object that originated this environment variable. This could be a `ParameterResource`, `ContainerMountAnnotation`, `ContainerImageReference`, or `ContainerPortReference`.", "kind": "PropertySetter", "signature": "setSource(value: ContainerPortReference): CapturedEnvironmentVariable", "parameters": [ @@ -3190,7 +3250,7 @@ "name": "source", "capabilityId": "Aspire.Hosting.Docker/CapturedEnvironmentVariable.source", "qualifiedName": "CapturedEnvironmentVariable.source", - "description": "Gets the Source property", + "description": "Gets or sets the source object that originated this environment variable. This could be a `ParameterResource`, `ContainerMountAnnotation`, `ContainerImageReference`, or `ContainerPortReference`.", "kind": "PropertyGetter", "signature": "source(): ContainerPortReference", "parameters": [], @@ -3207,6 +3267,7 @@ "fullName": "Aspire.Hosting.Docker.DockerComposeAspireDashboardResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a resource for the Aspire Dashboard. This resource is used to visualize telemetry data in the Aspire Hosting environment.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IResource", @@ -3221,7 +3282,7 @@ "name": "otlpGrpcEndpoint", "capabilityId": "Aspire.Hosting.Docker/DockerComposeAspireDashboardResource.otlpGrpcEndpoint", "qualifiedName": "DockerComposeAspireDashboardResource.otlpGrpcEndpoint", - "description": "Gets the OtlpGrpcEndpoint property", + "description": "Gets the OTLP gRPC endpoint for telemetry data.", "kind": "PropertyGetter", "signature": "otlpGrpcEndpoint(): EndpointReference", "parameters": [], @@ -3235,7 +3296,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.Docker/DockerComposeAspireDashboardResource.primaryEndpoint", "qualifiedName": "DockerComposeAspireDashboardResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint of the Aspire Dashboard.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -3249,7 +3310,9 @@ "name": "withForwardedHeaders", "capabilityId": "Aspire.Hosting.Docker/withForwardedHeaders", "qualifiedName": "withForwardedHeaders", - "description": "Enables or disables forwarded headers support for the Aspire dashboard", + "description": "Configures whether forwarded headers processing is enabled for the Aspire dashboard container.", + "remarks": "This sets the `ASPIRE_DASHBOARD_FORWARDEDHEADERS_ENABLED` environment variable inside the dashboard\ncontainer. When enabled, the dashboard will process `X-Forwarded-Host` and `X-Forwarded-Proto`\nheaders which is required when the dashboard is accessed through a reverse proxy or load balancer.", + "returns": "The same `IResourceBuilder`1` to allow chaining.", "kind": "Method", "signature": "withForwardedHeaders(enabled?: boolean): DockerComposeAspireDashboardResource", "parameters": [ @@ -3257,7 +3320,8 @@ "name": "enabled", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "True to enable forwarded headers (`ASPIRE_DASHBOARD_FORWARDEDHEADERS_ENABLED=true`), false to disable it (sets the value to `false`)." } ], "returnType": "DockerComposeAspireDashboardResource", @@ -3271,7 +3335,8 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Docker/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Aspire dashboard", + "description": "Configures the port used to access the Aspire Dashboard from a browser.", + "returns": "The `IResourceBuilder`1` instance for chaining.", "kind": "Method", "signature": "withHostPort(port?: number): DockerComposeAspireDashboardResource", "parameters": [ @@ -3279,7 +3344,8 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If non-null, the dashboard will be exposed on the host. If `null`, the dashboard will not be exposed on the host but will only be reachable within the container network." } ], "returnType": "DockerComposeAspireDashboardResource", @@ -3297,6 +3363,8 @@ "kind": "handle", "exposeProperties": true, "exposeMethods": true, + "description": "Represents a Docker Compose environment resource that can host application resources.", + "remarks": "Initializes a new instance of the `DockerComposeEnvironmentResource` class.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeEnvironmentResource", "Aspire.Hosting.ApplicationModel.IResource" @@ -3306,15 +3374,18 @@ "name": "configureComposeFile", "capabilityId": "Aspire.Hosting.Docker/configureComposeFile", "qualifiedName": "configureComposeFile", - "description": "Configures the generated Docker Compose file before it is written to disk", + "description": "Configures the Docker Compose file for the environment resource.", + "remarks": "This callback runs after the Docker Compose model has been generated and before it is written to disk.\nUse it to customize the generated `ComposeFile` for the environment.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "configureComposeFile(configure: (obj: ComposeFile) =\u003E Promise\u003Cvoid\u003E): DockerComposeEnvironmentResource", + "signature": "configureComposeFile(configure: (obj: ComposeFile) => Promise): DockerComposeEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: ComposeFile) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: ComposeFile) => Promise", + "description": "A method that can be used for customizing the `ComposeFile`." } ], "returnType": "DockerComposeEnvironmentResource", @@ -3328,15 +3399,17 @@ "name": "configureDashboard", "capabilityId": "Aspire.Hosting.Docker/configureDashboard", "qualifiedName": "configureDashboard", - "description": "Configures the Aspire dashboard resource for the Docker Compose environment", + "description": "Configures the dashboard properties for this Docker Compose environment.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "configureDashboard(configure: (obj: DockerComposeAspireDashboardResource) =\u003E Promise\u003Cvoid\u003E): DockerComposeEnvironmentResource", + "signature": "configureDashboard(configure: (obj: DockerComposeAspireDashboardResource) => Promise): DockerComposeEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: DockerComposeAspireDashboardResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: DockerComposeAspireDashboardResource) => Promise", + "description": "A method that can be used for customizing the dashboard service." } ], "returnType": "DockerComposeEnvironmentResource", @@ -3350,15 +3423,18 @@ "name": "configureEnvFile", "capabilityId": "Aspire.Hosting.Docker/configureEnvFile", "qualifiedName": "configureEnvFile", - "description": "Configures the captured environment variables written to the Docker Compose .env file", + "description": "Configures the captured environment variables for the Docker Compose environment before they are written to the .env file.", + "remarks": "This callback is invoked during the prepare phase, allowing programmatic modification of the environment variables\nthat will be written to the environment-specific `.env` file adjacent to the Docker Compose file.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "configureEnvFile(configure: (obj: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.CapturedEnvironmentVariable\u003E) =\u003E Promise\u003Cvoid\u003E): DockerComposeEnvironmentResource", + "signature": "configureEnvFile(configure: (obj: Dict) => Promise): DockerComposeEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.CapturedEnvironmentVariable\u003E) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: Dict) => Promise", + "description": "A method that can be used for customizing the captured environment variables." } ], "returnType": "DockerComposeEnvironmentResource", @@ -3372,7 +3448,7 @@ "name": "dashboardEnabled", "capabilityId": "Aspire.Hosting.Docker/DockerComposeEnvironmentResource.dashboardEnabled", "qualifiedName": "DockerComposeEnvironmentResource.dashboardEnabled", - "description": "Gets the DashboardEnabled property", + "description": "Determines whether to include an Aspire dashboard for telemetry visualization in this environment.", "kind": "PropertyGetter", "signature": "dashboardEnabled(): boolean", "parameters": [], @@ -3386,7 +3462,7 @@ "name": "defaultNetworkName", "capabilityId": "Aspire.Hosting.Docker/DockerComposeEnvironmentResource.defaultNetworkName", "qualifiedName": "DockerComposeEnvironmentResource.defaultNetworkName", - "description": "Gets the DefaultNetworkName property", + "description": "The name of an existing network to be used.", "kind": "PropertyGetter", "signature": "defaultNetworkName(): string", "parameters": [], @@ -3419,7 +3495,7 @@ "name": "setDashboardEnabled", "capabilityId": "Aspire.Hosting.Docker/DockerComposeEnvironmentResource.setDashboardEnabled", "qualifiedName": "DockerComposeEnvironmentResource.setDashboardEnabled", - "description": "Sets the DashboardEnabled property", + "description": "Determines whether to include an Aspire dashboard for telemetry visualization in this environment.", "kind": "PropertySetter", "signature": "setDashboardEnabled(value: boolean): DockerComposeEnvironmentResource", "parameters": [ @@ -3438,7 +3514,7 @@ "name": "setDefaultNetworkName", "capabilityId": "Aspire.Hosting.Docker/DockerComposeEnvironmentResource.setDefaultNetworkName", "qualifiedName": "DockerComposeEnvironmentResource.setDefaultNetworkName", - "description": "Sets the DefaultNetworkName property", + "description": "The name of an existing network to be used.", "kind": "PropertySetter", "signature": "setDefaultNetworkName(value: string): DockerComposeEnvironmentResource", "parameters": [ @@ -3457,7 +3533,8 @@ "name": "withDashboard", "capabilityId": "Aspire.Hosting.Docker/withDashboard", "qualifiedName": "withDashboard", - "description": "Enables or disables the Aspire dashboard for the Docker Compose environment", + "description": "Enables the Aspire dashboard for telemetry visualization in this Docker Compose environment.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withDashboard(enabled?: boolean): DockerComposeEnvironmentResource", "parameters": [ @@ -3465,7 +3542,8 @@ "name": "enabled", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to enable the dashboard. Default is true." } ], "returnType": "DockerComposeEnvironmentResource", @@ -3479,15 +3557,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Docker/withProperties", "qualifiedName": "withProperties", - "description": "Configures properties of the Docker Compose environment", + "description": "Allows setting the properties of a Docker Compose environment resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: DockerComposeEnvironmentResource) =\u003E Promise\u003Cvoid\u003E): DockerComposeEnvironmentResource", + "signature": "withProperties(configure: (obj: DockerComposeEnvironmentResource) => Promise): DockerComposeEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: DockerComposeEnvironmentResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: DockerComposeEnvironmentResource) => Promise", + "description": "A method that can be used for customizing the `DockerComposeEnvironmentResource`." } ], "returnType": "DockerComposeEnvironmentResource", @@ -3504,10 +3584,11 @@ "fullName": "Aspire.Hosting.Docker.DockerComposeServiceResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a compute resource for Docker Compose with strongly-typed properties.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Docker.DockerComposeEnvironmentResource]]" + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Docker.DockerComposeEnvironmentResource]]" ], "capabilities": [ { @@ -3531,17 +3612,19 @@ "fullName": "Aspire.Hosting.Docker.Resources.ComposeFile", "kind": "handle", "exposeProperties": true, + "description": "Represents a Docker Compose file with properties and configurations for services, networks, volumes, secrets, configs, and custom extensions.", + "remarks": "This class is designed to encapsulate the structure of a Docker Compose file as a strongly-typed model.\nIt supports serialization to YAML format for usage in Docker Compose operations.", "implementedInterfaces": [], "capabilities": [ { "name": "configs", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.configs", "qualifiedName": "ComposeFile.configs", - "description": "Gets the Configs property", + "description": "Represents a collection of configuration objects within a Docker Compose file. Each key in the dictionary corresponds to a configuration name, and the value is an instance of the `Config` class that contains the associated configuration details.", "kind": "PropertyGetter", - "signature": "configs(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Config\u003E", + "signature": "configs(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Config\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -3551,11 +3634,11 @@ "name": "extensions", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.extensions", "qualifiedName": "ComposeFile.extensions", - "description": "Gets the Extensions property", + "description": "Represents a collection of user-defined extension fields that can be added to the Compose file. These extensions are represented as a dictionary where the key is a string identifier for the extension, and the value is an object that holds the custom data relevant to the extension. This allows flexibility for including additional metadata or configuration outside the scope of standard Compose file specifications.", "kind": "PropertyGetter", - "signature": "extensions(): Dict\u003Cstring,any\u003E", + "signature": "extensions(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,any\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -3565,7 +3648,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.name", "qualifiedName": "ComposeFile.name", - "description": "Gets the Name property", + "description": "Represents the name of the Docker Compose file or project.", + "remarks": "The name property is used to identify the Compose application\nor project when orchestrating Docker containers.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -3579,11 +3663,12 @@ "name": "networks", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.networks", "qualifiedName": "ComposeFile.networks", - "description": "Gets the Networks property", + "description": "Represents the collection of networks defined in a Docker Compose file.", + "remarks": "Each key in the dictionary represents the name of the network, and the value is an instance of the `Network` class,\nwhich encapsulates the details and configurations of the corresponding network.", "kind": "PropertyGetter", - "signature": "networks(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network\u003E", + "signature": "networks(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -3593,11 +3678,12 @@ "name": "secrets", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.secrets", "qualifiedName": "ComposeFile.secrets", - "description": "Gets the Secrets property", + "description": "Represents the secrets section in a Docker Compose file. Contains a collection of secret definitions used within the Compose file.", + "remarks": "Each secret is represented as a key-value pair, where the key is the name\nof the secret, and the value is an instance of the `Secret` class,\nwhich holds the details about the secret such as file location, external status,\nand additional metadata like labels.", "kind": "PropertyGetter", - "signature": "secrets(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Secret\u003E", + "signature": "secrets(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Secret\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -3607,11 +3693,12 @@ "name": "services", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.services", "qualifiedName": "ComposeFile.services", - "description": "Gets the Services property", + "description": "Represents a collection of services defined in a Docker Compose file. Each service is identified by a unique name and contains configuration details as defined by the `Service` class.", + "remarks": "Services are a critical part of the Docker Compose ecosystem and are used to define\nindividual application components. These components can include images, commands,\nenvironment variables, ports, volumes, dependencies, and more.", "kind": "PropertyGetter", - "signature": "services(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service\u003E", + "signature": "services(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -3621,13 +3708,13 @@ "name": "setConfigs", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setConfigs", "qualifiedName": "ComposeFile.setConfigs", - "description": "Sets the Configs property", + "description": "Represents a collection of configuration objects within a Docker Compose file. Each key in the dictionary corresponds to a configuration name, and the value is an instance of the `Config` class that contains the associated configuration details.", "kind": "PropertySetter", - "signature": "setConfigs(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Config\u003E): ComposeFile", + "signature": "setConfigs(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Config\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -3640,13 +3727,13 @@ "name": "setExtensions", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setExtensions", "qualifiedName": "ComposeFile.setExtensions", - "description": "Sets the Extensions property", + "description": "Represents a collection of user-defined extension fields that can be added to the Compose file. These extensions are represented as a dictionary where the key is a string identifier for the extension, and the value is an object that holds the custom data relevant to the extension. This allows flexibility for including additional metadata or configuration outside the scope of standard Compose file specifications.", "kind": "PropertySetter", - "signature": "setExtensions(value: Dict\u003Cstring,any\u003E): ComposeFile", + "signature": "setExtensions(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,any\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -3659,7 +3746,8 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setName", "qualifiedName": "ComposeFile.setName", - "description": "Sets the Name property", + "description": "Represents the name of the Docker Compose file or project.", + "remarks": "The name property is used to identify the Compose application\nor project when orchestrating Docker containers.", "kind": "PropertySetter", "signature": "setName(value: string): ComposeFile", "parameters": [ @@ -3678,13 +3766,14 @@ "name": "setNetworks", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setNetworks", "qualifiedName": "ComposeFile.setNetworks", - "description": "Sets the Networks property", + "description": "Represents the collection of networks defined in a Docker Compose file.", + "remarks": "Each key in the dictionary represents the name of the network, and the value is an instance of the `Network` class,\nwhich encapsulates the details and configurations of the corresponding network.", "kind": "PropertySetter", - "signature": "setNetworks(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network\u003E): ComposeFile", + "signature": "setNetworks(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -3697,13 +3786,14 @@ "name": "setSecrets", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setSecrets", "qualifiedName": "ComposeFile.setSecrets", - "description": "Sets the Secrets property", + "description": "Represents the secrets section in a Docker Compose file. Contains a collection of secret definitions used within the Compose file.", + "remarks": "Each secret is represented as a key-value pair, where the key is the name\nof the secret, and the value is an instance of the `Secret` class,\nwhich holds the details about the secret such as file location, external status,\nand additional metadata like labels.", "kind": "PropertySetter", - "signature": "setSecrets(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Secret\u003E): ComposeFile", + "signature": "setSecrets(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Secret\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -3716,13 +3806,14 @@ "name": "setServices", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setServices", "qualifiedName": "ComposeFile.setServices", - "description": "Sets the Services property", + "description": "Represents a collection of services defined in a Docker Compose file. Each service is identified by a unique name and contains configuration details as defined by the `Service` class.", + "remarks": "Services are a critical part of the Docker Compose ecosystem and are used to define\nindividual application components. These components can include images, commands,\nenvironment variables, ports, volumes, dependencies, and more.", "kind": "PropertySetter", - "signature": "setServices(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service\u003E): ComposeFile", + "signature": "setServices(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -3735,7 +3826,7 @@ "name": "setVersion", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setVersion", "qualifiedName": "ComposeFile.setVersion", - "description": "Sets the Version property", + "description": "Represents the version of the Docker Compose file format being used. This property specifies the format of the Compose file and determines the supported features and behaviors.", "kind": "PropertySetter", "signature": "setVersion(value: string): ComposeFile", "parameters": [ @@ -3754,13 +3845,14 @@ "name": "setVolumes", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.setVolumes", "qualifiedName": "ComposeFile.setVolumes", - "description": "Sets the Volumes property", + "description": "Represents a collection of volume definitions within a Docker Compose file.", + "remarks": "The volumes are defined using a dictionary structure where the key represents the\nname of the volume, and the value is an instance of the `Volume` class.\nVolumes can be used to share data between containers or between a container and the host system.", "kind": "PropertySetter", - "signature": "setVolumes(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E): ComposeFile", + "signature": "setVolumes(value: Dict): ComposeFile", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E" + "type": "Dict" } ], "returnType": "ComposeFile", @@ -3773,7 +3865,7 @@ "name": "version", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.version", "qualifiedName": "ComposeFile.version", - "description": "Gets the Version property", + "description": "Represents the version of the Docker Compose file format being used. This property specifies the format of the Compose file and determines the supported features and behaviors.", "kind": "PropertyGetter", "signature": "version(): string", "parameters": [], @@ -3787,11 +3879,12 @@ "name": "volumes", "capabilityId": "Aspire.Hosting.Docker.Resources/ComposeFile.volumes", "qualifiedName": "ComposeFile.volumes", - "description": "Gets the Volumes property", + "description": "Represents a collection of volume definitions within a Docker Compose file.", + "remarks": "The volumes are defined using a dictionary structure where the key represents the\nname of the volume, and the value is an instance of the `Volume` class.\nVolumes can be used to share data between containers or between a container and the host system.", "kind": "PropertyGetter", - "signature": "volumes(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E", + "signature": "volumes(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeFile", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeFile" @@ -3804,13 +3897,15 @@ "fullName": "Aspire.Hosting.Docker.Resources.ComposeNodes.Config", "kind": "handle", "exposeProperties": true, + "description": "Represents a configuration object in a Docker Compose file.", + "remarks": "This class models a configuration entry within a Docker Compose file, such as\nfile-based or external configurations. It includes properties to define the\nsource file, external flag, custom name, and additional labels for the configuration.", "implementedInterfaces": [], "capabilities": [ { "name": "content", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.content", "qualifiedName": "Config.content", - "description": "Gets the Content property", + "description": "Gets or sets the contents of the configuration file. This property is used to specify the actual configuration data that will be included in the Docker Compose file.", "kind": "PropertyGetter", "signature": "content(): string", "parameters": [], @@ -3824,7 +3919,7 @@ "name": "external", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.external", "qualifiedName": "Config.external", - "description": "Gets the External property", + "description": "Indicates whether the configuration is external to the current project context. When set to true, the configuration will not be managed or created by the Compose file; instead, it references an existing resource outside the current scope. If null, the external status is not explicitly specified.", "kind": "PropertyGetter", "signature": "external(): boolean", "parameters": [], @@ -3838,7 +3933,7 @@ "name": "file", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.file", "qualifiedName": "Config.file", - "description": "Gets the File property", + "description": "Gets or sets the path to the configuration file. This property is used to specify the file containing the configuration data for the service or component.", "kind": "PropertyGetter", "signature": "file(): string", "parameters": [], @@ -3852,11 +3947,11 @@ "name": "labels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.labels", "qualifiedName": "Config.labels", - "description": "Gets the Labels property", + "description": "Represents a collection of key-value pairs used as metadata for configuration objects. The labels provide additional descriptive information, which can be utilized for tagging, grouping, or identification purposes.", "kind": "PropertyGetter", - "signature": "labels(): Dict\u003Cstring,string\u003E", + "signature": "labels(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Config", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Config" @@ -3866,7 +3961,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.name", "qualifiedName": "Config.name", - "description": "Gets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -3880,7 +3976,7 @@ "name": "setContent", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.setContent", "qualifiedName": "Config.setContent", - "description": "Sets the Content property", + "description": "Gets or sets the contents of the configuration file. This property is used to specify the actual configuration data that will be included in the Docker Compose file.", "kind": "PropertySetter", "signature": "setContent(value: string): Config", "parameters": [ @@ -3899,7 +3995,7 @@ "name": "setExternal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.setExternal", "qualifiedName": "Config.setExternal", - "description": "Sets the External property", + "description": "Indicates whether the configuration is external to the current project context. When set to true, the configuration will not be managed or created by the Compose file; instead, it references an existing resource outside the current scope. If null, the external status is not explicitly specified.", "kind": "PropertySetter", "signature": "setExternal(value: boolean): Config", "parameters": [ @@ -3918,7 +4014,7 @@ "name": "setFile", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.setFile", "qualifiedName": "Config.setFile", - "description": "Sets the File property", + "description": "Gets or sets the path to the configuration file. This property is used to specify the file containing the configuration data for the service or component.", "kind": "PropertySetter", "signature": "setFile(value: string): Config", "parameters": [ @@ -3937,13 +4033,13 @@ "name": "setLabels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.setLabels", "qualifiedName": "Config.setLabels", - "description": "Sets the Labels property", + "description": "Represents a collection of key-value pairs used as metadata for configuration objects. The labels provide additional descriptive information, which can be utilized for tagging, grouping, or identification purposes.", "kind": "PropertySetter", - "signature": "setLabels(value: Dict\u003Cstring,string\u003E): Config", + "signature": "setLabels(value: Dict): Config", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Config", @@ -3956,7 +4052,8 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Config.setName", "qualifiedName": "Config.setName", - "description": "Sets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertySetter", "signature": "setName(value: string): Config", "parameters": [ @@ -3978,13 +4075,15 @@ "fullName": "Aspire.Hosting.Docker.Resources.ComposeNodes.Network", "kind": "handle", "exposeProperties": true, + "description": "Represents a Docker network configuration as part of a Compose file.", + "remarks": "This class encapsulates the properties and options related to a network in a Docker Compose file.\nIt includes configurations such as driver type, options, labels, IPAM settings, and more.", "implementedInterfaces": [], "capabilities": [ { "name": "attachable", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.attachable", "qualifiedName": "Network.attachable", - "description": "Gets the Attachable property", + "description": "Gets or sets a value indicating whether the network is attachable. When this property is set to true, containers can dynamically attach to the network at runtime. This feature is primarily used in Docker Swarm mode to enable service discovery and communication between services.", "kind": "PropertyGetter", "signature": "attachable(): boolean", "parameters": [], @@ -3998,7 +4097,7 @@ "name": "driver", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.driver", "qualifiedName": "Network.driver", - "description": "Gets the Driver property", + "description": "Gets or sets the driver used for the network. The driver determines the networking implementation that the container network is based on. Examples include bridge, overlay, host, etc.", "kind": "PropertyGetter", "signature": "driver(): string", "parameters": [], @@ -4012,11 +4111,12 @@ "name": "driverOpts", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.driverOpts", "qualifiedName": "Network.driverOpts", - "description": "Gets the DriverOpts property", + "description": "Represents a dictionary of driver-specific options for the network configuration in a Docker service node.", + "remarks": "These options are key-value pairs that allow customization of network settings based on the specified driver.\nThey can control behaviors or features unique to the driver being used.", "kind": "PropertyGetter", - "signature": "driverOpts(): Dict\u003Cstring,string\u003E", + "signature": "driverOpts(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Network" @@ -4026,7 +4126,7 @@ "name": "external", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.external", "qualifiedName": "Network.external", - "description": "Gets the External property", + "description": "Indicates whether the network is external or managed by Docker outside of the application stack. When set to true, the network is assumed to be pre-existing and not defined by the application's configuration. When set to false or null, the network can be defined and created within the application scope.", "kind": "PropertyGetter", "signature": "external(): boolean", "parameters": [], @@ -4040,7 +4140,7 @@ "name": "ingress", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.ingress", "qualifiedName": "Network.ingress", - "description": "Gets the Ingress property", + "description": "Represents whether the network is configured as an ingress network. An ingress network is used to manage the internal routing and load balancing for swarm services in Docker.", "kind": "PropertyGetter", "signature": "ingress(): boolean", "parameters": [], @@ -4054,7 +4154,7 @@ "name": "internal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.internal", "qualifiedName": "Network.internal", - "description": "Gets the Internal property", + "description": "Determines if the network is restricted to internal usage only. When set to true, the network is not accessible externally.", "kind": "PropertyGetter", "signature": "internal(): boolean", "parameters": [], @@ -4068,11 +4168,11 @@ "name": "labels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.labels", "qualifiedName": "Network.labels", - "description": "Gets the Labels property", + "description": "Represents a collection of metadata labels applied to the network configuration. These labels can be used to organize, manage, or identify network resources.", "kind": "PropertyGetter", - "signature": "labels(): Dict\u003Cstring,string\u003E", + "signature": "labels(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Network", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Network" @@ -4082,7 +4182,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.name", "qualifiedName": "Network.name", - "description": "Gets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -4096,7 +4197,7 @@ "name": "setAttachable", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setAttachable", "qualifiedName": "Network.setAttachable", - "description": "Sets the Attachable property", + "description": "Gets or sets a value indicating whether the network is attachable. When this property is set to true, containers can dynamically attach to the network at runtime. This feature is primarily used in Docker Swarm mode to enable service discovery and communication between services.", "kind": "PropertySetter", "signature": "setAttachable(value: boolean): Network", "parameters": [ @@ -4115,7 +4216,7 @@ "name": "setDriver", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setDriver", "qualifiedName": "Network.setDriver", - "description": "Sets the Driver property", + "description": "Gets or sets the driver used for the network. The driver determines the networking implementation that the container network is based on. Examples include bridge, overlay, host, etc.", "kind": "PropertySetter", "signature": "setDriver(value: string): Network", "parameters": [ @@ -4134,13 +4235,14 @@ "name": "setDriverOpts", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setDriverOpts", "qualifiedName": "Network.setDriverOpts", - "description": "Sets the DriverOpts property", + "description": "Represents a dictionary of driver-specific options for the network configuration in a Docker service node.", + "remarks": "These options are key-value pairs that allow customization of network settings based on the specified driver.\nThey can control behaviors or features unique to the driver being used.", "kind": "PropertySetter", - "signature": "setDriverOpts(value: Dict\u003Cstring,string\u003E): Network", + "signature": "setDriverOpts(value: Dict): Network", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Network", @@ -4153,7 +4255,7 @@ "name": "setExternal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setExternal", "qualifiedName": "Network.setExternal", - "description": "Sets the External property", + "description": "Indicates whether the network is external or managed by Docker outside of the application stack. When set to true, the network is assumed to be pre-existing and not defined by the application's configuration. When set to false or null, the network can be defined and created within the application scope.", "kind": "PropertySetter", "signature": "setExternal(value: boolean): Network", "parameters": [ @@ -4172,7 +4274,7 @@ "name": "setIngress", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setIngress", "qualifiedName": "Network.setIngress", - "description": "Sets the Ingress property", + "description": "Represents whether the network is configured as an ingress network. An ingress network is used to manage the internal routing and load balancing for swarm services in Docker.", "kind": "PropertySetter", "signature": "setIngress(value: boolean): Network", "parameters": [ @@ -4191,7 +4293,7 @@ "name": "setInternal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setInternal", "qualifiedName": "Network.setInternal", - "description": "Sets the Internal property", + "description": "Determines if the network is restricted to internal usage only. When set to true, the network is not accessible externally.", "kind": "PropertySetter", "signature": "setInternal(value: boolean): Network", "parameters": [ @@ -4210,13 +4312,13 @@ "name": "setLabels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setLabels", "qualifiedName": "Network.setLabels", - "description": "Sets the Labels property", + "description": "Represents a collection of metadata labels applied to the network configuration. These labels can be used to organize, manage, or identify network resources.", "kind": "PropertySetter", - "signature": "setLabels(value: Dict\u003Cstring,string\u003E): Network", + "signature": "setLabels(value: Dict): Network", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Network", @@ -4229,7 +4331,8 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Network.setName", "qualifiedName": "Network.setName", - "description": "Sets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertySetter", "signature": "setName(value: string): Network", "parameters": [ @@ -4251,13 +4354,15 @@ "fullName": "Aspire.Hosting.Docker.Resources.ComposeNodes.Secret", "kind": "handle", "exposeProperties": true, + "description": "Represents a Secret object in a Docker Compose configuration file.", + "remarks": "A Secret object is used to define sensitive information to be shared with containers,\nsuch as passwords, keys, or certificates. These secrets can either be externally managed\nor provided locally from a specific file.", "implementedInterfaces": [], "capabilities": [ { "name": "external", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.external", "qualifiedName": "Secret.external", - "description": "Gets the External property", + "description": "Indicates whether the secret is managed externally. If set to true, the secret must already exist, as it will not be created or modified.", "kind": "PropertyGetter", "signature": "external(): boolean", "parameters": [], @@ -4271,7 +4376,7 @@ "name": "file", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.file", "qualifiedName": "Secret.file", - "description": "Gets the File property", + "description": "Represents the file path associated with the secret. This specifies the location of the file on the host system that will be used as the source for the secret in the container.", "kind": "PropertyGetter", "signature": "file(): string", "parameters": [], @@ -4285,11 +4390,11 @@ "name": "labels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.labels", "qualifiedName": "Secret.labels", - "description": "Gets the Labels property", + "description": "Gets or sets a collection of key-value pairs representing metadata or additional information associated with the secret. These labels can be used for categorization, identification, or other purposes as determined by the user.", "kind": "PropertyGetter", - "signature": "labels(): Dict\u003Cstring,string\u003E", + "signature": "labels(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Secret", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Secret" @@ -4299,7 +4404,7 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.name", "qualifiedName": "Secret.name", - "description": "Gets the Name property", + "description": "Gets or sets the name of the secret in the Docker Compose configuration.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -4313,7 +4418,7 @@ "name": "setExternal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.setExternal", "qualifiedName": "Secret.setExternal", - "description": "Sets the External property", + "description": "Indicates whether the secret is managed externally. If set to true, the secret must already exist, as it will not be created or modified.", "kind": "PropertySetter", "signature": "setExternal(value: boolean): Secret", "parameters": [ @@ -4332,7 +4437,7 @@ "name": "setFile", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.setFile", "qualifiedName": "Secret.setFile", - "description": "Sets the File property", + "description": "Represents the file path associated with the secret. This specifies the location of the file on the host system that will be used as the source for the secret in the container.", "kind": "PropertySetter", "signature": "setFile(value: string): Secret", "parameters": [ @@ -4351,13 +4456,13 @@ "name": "setLabels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.setLabels", "qualifiedName": "Secret.setLabels", - "description": "Sets the Labels property", + "description": "Gets or sets a collection of key-value pairs representing metadata or additional information associated with the secret. These labels can be used for categorization, identification, or other purposes as determined by the user.", "kind": "PropertySetter", - "signature": "setLabels(value: Dict\u003Cstring,string\u003E): Secret", + "signature": "setLabels(value: Dict): Secret", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Secret", @@ -4370,7 +4475,7 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Secret.setName", "qualifiedName": "Secret.setName", - "description": "Sets the Name property", + "description": "Gets or sets the name of the secret in the Docker Compose configuration.", "kind": "PropertySetter", "signature": "setName(value: string): Secret", "parameters": [ @@ -4392,17 +4497,20 @@ "fullName": "Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "kind": "handle", "exposeProperties": true, + "description": "Represents a Docker Compose service definition.", + "remarks": "This class provides YAML mapping for various properties associated with a service in Docker Compose,\nsuch as image, container configuration, environment variables, networks, and more.\nIt is designed to map directly to the service properties defined in a Docker Compose YAML file.", "implementedInterfaces": [], "capabilities": [ { "name": "capAdd", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.capAdd", "qualifiedName": "Service.capAdd", - "description": "Gets the CapAdd property", + "description": "Specifies a list of Linux capabilities to add to the container.", + "remarks": "Linux capabilities allow fine-grained control of the privileges assigned to a process.\nThis property provides the ability to add specific capabilities to the set of capabilities available to the container.\nEach capability should be specified as a string in the list. Use this property to enhance the container's permissions\nbeyond the default set provided by the Docker runtime, if required by the application running inside the container.", "kind": "PropertyGetter", - "signature": "capAdd(): List\u003Cstring\u003E", + "signature": "capAdd(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4412,11 +4520,11 @@ "name": "capDrop", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.capDrop", "qualifiedName": "Service.capDrop", - "description": "Gets the CapDrop property", + "description": "Represents a list of Linux capabilities to be dropped from the service's container. This property can be used to restrict specific capabilities that the container should not have access to, enhancing security by implementing the principle of least privilege.", "kind": "PropertyGetter", - "signature": "capDrop(): List\u003Cstring\u003E", + "signature": "capDrop(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4426,7 +4534,7 @@ "name": "cgroupParent", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.cgroupParent", "qualifiedName": "Service.cgroupParent", - "description": "Gets the CgroupParent property", + "description": "Gets or sets the parent Cgroup for the container. This property defines the name of the Cgroup under which the container's resource constraints are managed.", "kind": "PropertyGetter", "signature": "cgroupParent(): string", "parameters": [], @@ -4440,11 +4548,11 @@ "name": "command", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.command", "qualifiedName": "Service.command", - "description": "Gets the Command property", + "description": "Represents the command to override the default command specified in the image's Dockerfile. This property allows specifying how the container should run by defining an executable and its arguments.", "kind": "PropertyGetter", - "signature": "command(): List\u003Cstring\u003E", + "signature": "command(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4454,7 +4562,7 @@ "name": "containerName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.containerName", "qualifiedName": "Service.containerName", - "description": "Gets the ContainerName property", + "description": "Specifies the name of the container to be used. This property maps to the \"container_name\" field in a Docker Compose file. If set, the container will have the specified name; otherwise, a name will be automatically generated.", "kind": "PropertyGetter", "signature": "containerName(): string", "parameters": [], @@ -4468,11 +4576,11 @@ "name": "dependsOn", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.dependsOn", "qualifiedName": "Service.dependsOn", - "description": "Gets the DependsOn property", + "description": "Specifies a list of services that this service depends on. The dependencies are expressed as service names with optional conditions. Supported conditions are: \"service_started\", \"service_healthy\", \"service_completed_successfully\" This property defines the order in which services should be started, ensuring that the specified services are initialized before the current service.", "kind": "PropertyGetter", - "signature": "dependsOn(): Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.ServiceDependency\u003E", + "signature": "dependsOn(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.ServiceDependency\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4482,11 +4590,11 @@ "name": "devices", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.devices", "qualifiedName": "Service.devices", - "description": "Gets the Devices property", + "description": "Represents a collection of device mappings for the service container. This property defines the host-to-container device paths in Docker.", "kind": "PropertyGetter", - "signature": "devices(): List\u003Cstring\u003E", + "signature": "devices(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4496,11 +4604,11 @@ "name": "dns", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.dns", "qualifiedName": "Service.dns", - "description": "Gets the Dns property", + "description": "Gets or sets a list of custom DNS server IP addresses to be used by the service container.", "kind": "PropertyGetter", - "signature": "dns(): List\u003Cstring\u003E", + "signature": "dns(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4510,11 +4618,11 @@ "name": "dnsSearch", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.dnsSearch", "qualifiedName": "Service.dnsSearch", - "description": "Gets the DnsSearch property", + "description": "Specifies the domain search options for the service's container. This property allows you to define one or more domain search suffixes that will be appended to unqualified DNS queries performed by the container. Typically used to configure how DNS resolution should behave in specific network setups.", "kind": "PropertyGetter", - "signature": "dnsSearch(): List\u003Cstring\u003E", + "signature": "dnsSearch(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4524,7 +4632,7 @@ "name": "domainName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.domainName", "qualifiedName": "Service.domainName", - "description": "Gets the DomainName property", + "description": "Represents the domain name of a service container.", "kind": "PropertyGetter", "signature": "domainName(): string", "parameters": [], @@ -4538,11 +4646,11 @@ "name": "entrypoint", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.entrypoint", "qualifiedName": "Service.entrypoint", - "description": "Gets the Entrypoint property", + "description": "Specifies the entrypoint to be used for the container. This property allows overriding the default entrypoint of the image and defines the executable or command that is run when the container starts.", "kind": "PropertyGetter", - "signature": "entrypoint(): List\u003Cstring\u003E", + "signature": "entrypoint(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4552,11 +4660,11 @@ "name": "envFile", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.envFile", "qualifiedName": "Service.envFile", - "description": "Gets the EnvFile property", + "description": "Represents a collection of paths to environment variable files used by the service. These files contain key-value pairs of environment variables that will be loaded and applied to the service configuration at runtime.", "kind": "PropertyGetter", - "signature": "envFile(): List\u003Cstring\u003E", + "signature": "envFile(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4566,11 +4674,12 @@ "name": "environment", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.environment", "qualifiedName": "Service.environment", - "description": "Gets the Environment property", + "description": "Represents a collection of environment variables for the service container.", + "remarks": "The property allows for specifying environment variables as key-value pairs.\nThese variables can be used to configure the behavior of the container\nor pass information to the application running inside the container.", "kind": "PropertyGetter", - "signature": "environment(): Dict\u003Cstring,string\u003E", + "signature": "environment(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4580,11 +4689,11 @@ "name": "expose", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.expose", "qualifiedName": "Service.expose", - "description": "Gets the Expose property", + "description": "Gets or sets a list of ports to expose from the container without publishing them to the host machine. This property defines internal ports that the container makes available to linked services or other containers within the same network, but these ports are not accessible from outside the container’s network.", "kind": "PropertyGetter", - "signature": "expose(): List\u003Cstring\u003E", + "signature": "expose(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4594,11 +4703,11 @@ "name": "externalLinks", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.externalLinks", "qualifiedName": "Service.externalLinks", - "description": "Gets the ExternalLinks property", + "description": "Gets or sets the external links for the service. External links are references to services defined outside the current Docker Compose file, enabling communication with containers in other projects or environments.", "kind": "PropertyGetter", - "signature": "externalLinks(): List\u003Cstring\u003E", + "signature": "externalLinks(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4608,11 +4717,11 @@ "name": "extraHosts", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.extraHosts", "qualifiedName": "Service.extraHosts", - "description": "Gets the ExtraHosts property", + "description": "Represents additional hostname-to-IP mappings for the service. These mappings allow you to manually define hostnames and corresponding IP addresses, effectively augmenting the DNS resolution for the service's containers.", "kind": "PropertyGetter", - "signature": "extraHosts(): Dict\u003Cstring,string\u003E", + "signature": "extraHosts(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4622,11 +4731,11 @@ "name": "groupAdd", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.groupAdd", "qualifiedName": "Service.groupAdd", - "description": "Gets the GroupAdd property", + "description": "Gets or sets a list of additional group IDs to add to the container's process. This allows the container to have access to resources or permissions associated with the specified groups.", "kind": "PropertyGetter", - "signature": "groupAdd(): List\u003Cstring\u003E", + "signature": "groupAdd(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4636,7 +4745,7 @@ "name": "hostname", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.hostname", "qualifiedName": "Service.hostname", - "description": "Gets the Hostname property", + "description": "Gets or sets the hostname for the service container. This defines the hostname that will be assigned to the container and can be used for network identification within the container's network.", "kind": "PropertyGetter", "signature": "hostname(): string", "parameters": [], @@ -4650,7 +4759,8 @@ "name": "image", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.image", "qualifiedName": "Service.image", - "description": "Gets the Image property", + "description": "Specifies the Docker image to be used for the service.", + "remarks": "The image refers to the identifier of a container image hosted in a registry.\nThis property is required if no build instructions are provided for the service.\nIt may include an optional tag or digest to specify a particular version of the image.\nIf omitted, Docker will default to the `latest` tag.", "kind": "PropertyGetter", "signature": "image(): string", "parameters": [], @@ -4664,7 +4774,7 @@ "name": "init", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.init", "qualifiedName": "Service.init", - "description": "Gets the Init property", + "description": "Indicates whether the init binary should be used as the container's init process. When set to true, the init process is used to ensure proper reaping of zombie processes and signal forwarding inside the container.", "kind": "PropertyGetter", "signature": "init(): boolean", "parameters": [], @@ -4678,7 +4788,7 @@ "name": "ipc", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.ipc", "qualifiedName": "Service.ipc", - "description": "Gets the Ipc property", + "description": "Gets or sets the IPC (Inter-Process Communication) mode for the service. This property determines how IPC namespaces are shared between containers and the host. It can be set to values such as \"none\", \"host\", or a specific container ID to share IPC resources with.", "kind": "PropertyGetter", "signature": "ipc(): string", "parameters": [], @@ -4692,7 +4802,7 @@ "name": "isolation", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.isolation", "qualifiedName": "Service.isolation", - "description": "Gets the Isolation property", + "description": "Specifies the isolation mode for the container. This property determines the level of isolation between the container and the host system. Common values include \"default\", \"process\", or \"hyperv\", and the supported options may depend on the container runtime or the platform being used.", "kind": "PropertyGetter", "signature": "isolation(): string", "parameters": [], @@ -4706,11 +4816,11 @@ "name": "labels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.labels", "qualifiedName": "Service.labels", - "description": "Gets the Labels property", + "description": "Represents a set of metadata labels for the service. These key-value pairs can be used to organize and identify objects within the service configuration.", "kind": "PropertyGetter", - "signature": "labels(): Dict\u003Cstring,string\u003E", + "signature": "labels(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4720,11 +4830,11 @@ "name": "links", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.links", "qualifiedName": "Service.links", - "description": "Gets the Links property", + "description": "Represents a service definition in a Docker Compose configuration file.", "kind": "PropertyGetter", - "signature": "links(): List\u003Cstring\u003E", + "signature": "links(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4734,7 +4844,8 @@ "name": "macAddress", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.macAddress", "qualifiedName": "Service.macAddress", - "description": "Gets the MacAddress property", + "description": "Specifies a custom MAC (Media Access Control) address for the container's network interface.", + "remarks": "A MAC address is a unique identifier assigned to a network interface controller (NIC).\nSetting this property allows for specifying a predefined MAC address instead of letting the system assign one dynamically.\nThis can be useful for use cases where a consistent MAC address is required, such as DHCP reservations or specific network configurations.", "kind": "PropertyGetter", "signature": "macAddress(): string", "parameters": [], @@ -4748,7 +4859,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.name", "qualifiedName": "Service.name", - "description": "Gets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -4762,7 +4874,7 @@ "name": "networkMode", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.networkMode", "qualifiedName": "Service.networkMode", - "description": "Gets the NetworkMode property", + "description": "Specifies the network mode to be used for the container. This property determines the networking configuration, such as whether the container shares the network stack with the host, uses a predefined network, or operates in isolation. The value is typically a string that matches a network mode supported by the environment, such as 'bridge', 'host', 'none', or a custom network name.", "kind": "PropertyGetter", "signature": "networkMode(): string", "parameters": [], @@ -4776,11 +4888,11 @@ "name": "networks", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.networks", "qualifiedName": "Service.networks", - "description": "Gets the Networks property", + "description": "Defines the collection of networks that the service is connected to. This property specifies the names of the networks the service should be attached to. Each entry in this list represents a network defined in the Docker Compose file or an externally defined network. Connecting a service to one or more networks allows inter-service communication across those networks, as well as communication with external systems configured on those same networks. If no network is specified, the service is connected to the default network that is automatically created by Docker Compose for the project unless `network_mode` is set to another value.", "kind": "PropertyGetter", - "signature": "networks(): List\u003Cstring\u003E", + "signature": "networks(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4790,7 +4902,7 @@ "name": "pid", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.pid", "qualifiedName": "Service.pid", - "description": "Gets the Pid property", + "description": "Gets or sets the PID (Process Identifier) namespace configuration for the container. This property determines whether the container shares the PID namespace with the host or other containers, allowing process visibility and signal sending between them.", "kind": "PropertyGetter", "signature": "pid(): string", "parameters": [], @@ -4804,11 +4916,11 @@ "name": "ports", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.ports", "qualifiedName": "Service.ports", - "description": "Gets the Ports property", + "description": "Represents a collection of port mappings for the service. Each mapping specifies how a container port is bound to a host port.", "kind": "PropertyGetter", - "signature": "ports(): List\u003Cstring\u003E", + "signature": "ports(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4818,7 +4930,7 @@ "name": "privileged", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.privileged", "qualifiedName": "Service.privileged", - "description": "Gets the Privileged property", + "description": "Indicates whether the container should run in privileged mode. When set to true, the container is granted extended Linux capabilities and device access.", "kind": "PropertyGetter", "signature": "privileged(): boolean", "parameters": [], @@ -4832,11 +4944,11 @@ "name": "profiles", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.profiles", "qualifiedName": "Service.profiles", - "description": "Gets the Profiles property", + "description": "Defines a list of profiles associated with the service. Profiles allow grouping of services and provide the ability to selectively enable services based on specified runtime profiles. If no profiles are specified, the service will be active in all configurations.", "kind": "PropertyGetter", - "signature": "profiles(): List\u003Cstring\u003E", + "signature": "profiles(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4846,7 +4958,8 @@ "name": "pullPolicy", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.pullPolicy", "qualifiedName": "Service.pullPolicy", - "description": "Gets the PullPolicy property", + "description": "Specifies the policy for pulling the Docker image.", + "remarks": "This property determines when the container runtime should pull the image.\nCommon values include \"always\", \"never\", \"missing\", \"if_not_present\", or \"build\".\nIf not specified, the default behavior depends on the container runtime configuration.", "kind": "PropertyGetter", "signature": "pullPolicy(): string", "parameters": [], @@ -4860,7 +4973,7 @@ "name": "readOnly", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.readOnly", "qualifiedName": "Service.readOnly", - "description": "Gets the ReadOnly property", + "description": "Defines whether the service containers should be run in read-only mode. If set to true, the containers will have a read-only file system, limiting write operations to specific directories defined by writable mounts or tempfs.", "kind": "PropertyGetter", "signature": "readOnly(): boolean", "parameters": [], @@ -4874,7 +4987,7 @@ "name": "restart", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.restart", "qualifiedName": "Service.restart", - "description": "Gets the Restart property", + "description": "Specifies the restart policy for the container. This property determines how the container should behave in case of a crash or termination. Common values include \"no\", \"always\", \"on-failure\", and \"unless-stopped\".", "kind": "PropertyGetter", "signature": "restart(): string", "parameters": [], @@ -4888,11 +5001,11 @@ "name": "securityOpt", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.securityOpt", "qualifiedName": "Service.securityOpt", - "description": "Gets the SecurityOpt property", + "description": "Represents a list of security options that can be applied to the container. This is used to configure security-related settings specific to the container such as SELinux labels or AppArmor profiles, providing fine-grained control over the container's security behavior.", "kind": "PropertyGetter", - "signature": "securityOpt(): List\u003Cstring\u003E", + "signature": "securityOpt(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -4902,13 +5015,14 @@ "name": "setCapAdd", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setCapAdd", "qualifiedName": "Service.setCapAdd", - "description": "Sets the CapAdd property", + "description": "Specifies a list of Linux capabilities to add to the container.", + "remarks": "Linux capabilities allow fine-grained control of the privileges assigned to a process.\nThis property provides the ability to add specific capabilities to the set of capabilities available to the container.\nEach capability should be specified as a string in the list. Use this property to enhance the container's permissions\nbeyond the default set provided by the Docker runtime, if required by the application running inside the container.", "kind": "PropertySetter", - "signature": "setCapAdd(value: List\u003Cstring\u003E): Service", + "signature": "setCapAdd(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -4921,13 +5035,13 @@ "name": "setCapDrop", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setCapDrop", "qualifiedName": "Service.setCapDrop", - "description": "Sets the CapDrop property", + "description": "Represents a list of Linux capabilities to be dropped from the service's container. This property can be used to restrict specific capabilities that the container should not have access to, enhancing security by implementing the principle of least privilege.", "kind": "PropertySetter", - "signature": "setCapDrop(value: List\u003Cstring\u003E): Service", + "signature": "setCapDrop(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -4940,7 +5054,7 @@ "name": "setCgroupParent", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setCgroupParent", "qualifiedName": "Service.setCgroupParent", - "description": "Sets the CgroupParent property", + "description": "Gets or sets the parent Cgroup for the container. This property defines the name of the Cgroup under which the container's resource constraints are managed.", "kind": "PropertySetter", "signature": "setCgroupParent(value: string): Service", "parameters": [ @@ -4959,13 +5073,13 @@ "name": "setCommand", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setCommand", "qualifiedName": "Service.setCommand", - "description": "Sets the Command property", + "description": "Represents the command to override the default command specified in the image's Dockerfile. This property allows specifying how the container should run by defining an executable and its arguments.", "kind": "PropertySetter", - "signature": "setCommand(value: List\u003Cstring\u003E): Service", + "signature": "setCommand(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -4978,7 +5092,7 @@ "name": "setContainerName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setContainerName", "qualifiedName": "Service.setContainerName", - "description": "Sets the ContainerName property", + "description": "Specifies the name of the container to be used. This property maps to the \"container_name\" field in a Docker Compose file. If set, the container will have the specified name; otherwise, a name will be automatically generated.", "kind": "PropertySetter", "signature": "setContainerName(value: string): Service", "parameters": [ @@ -4997,13 +5111,13 @@ "name": "setDependsOn", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setDependsOn", "qualifiedName": "Service.setDependsOn", - "description": "Sets the DependsOn property", + "description": "Specifies a list of services that this service depends on. The dependencies are expressed as service names with optional conditions. Supported conditions are: \"service_started\", \"service_healthy\", \"service_completed_successfully\" This property defines the order in which services should be started, ensuring that the specified services are initialized before the current service.", "kind": "PropertySetter", - "signature": "setDependsOn(value: Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.ServiceDependency\u003E): Service", + "signature": "setDependsOn(value: Dict): Service", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.ServiceDependency\u003E" + "type": "Dict" } ], "returnType": "Service", @@ -5016,13 +5130,13 @@ "name": "setDevices", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setDevices", "qualifiedName": "Service.setDevices", - "description": "Sets the Devices property", + "description": "Represents a collection of device mappings for the service container. This property defines the host-to-container device paths in Docker.", "kind": "PropertySetter", - "signature": "setDevices(value: List\u003Cstring\u003E): Service", + "signature": "setDevices(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5035,13 +5149,13 @@ "name": "setDns", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setDns", "qualifiedName": "Service.setDns", - "description": "Sets the Dns property", + "description": "Gets or sets a list of custom DNS server IP addresses to be used by the service container.", "kind": "PropertySetter", - "signature": "setDns(value: List\u003Cstring\u003E): Service", + "signature": "setDns(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5054,13 +5168,13 @@ "name": "setDnsSearch", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setDnsSearch", "qualifiedName": "Service.setDnsSearch", - "description": "Sets the DnsSearch property", + "description": "Specifies the domain search options for the service's container. This property allows you to define one or more domain search suffixes that will be appended to unqualified DNS queries performed by the container. Typically used to configure how DNS resolution should behave in specific network setups.", "kind": "PropertySetter", - "signature": "setDnsSearch(value: List\u003Cstring\u003E): Service", + "signature": "setDnsSearch(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5073,7 +5187,7 @@ "name": "setDomainName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setDomainName", "qualifiedName": "Service.setDomainName", - "description": "Sets the DomainName property", + "description": "Represents the domain name of a service container.", "kind": "PropertySetter", "signature": "setDomainName(value: string): Service", "parameters": [ @@ -5092,13 +5206,13 @@ "name": "setEntrypoint", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setEntrypoint", "qualifiedName": "Service.setEntrypoint", - "description": "Sets the Entrypoint property", + "description": "Specifies the entrypoint to be used for the container. This property allows overriding the default entrypoint of the image and defines the executable or command that is run when the container starts.", "kind": "PropertySetter", - "signature": "setEntrypoint(value: List\u003Cstring\u003E): Service", + "signature": "setEntrypoint(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5111,13 +5225,13 @@ "name": "setEnvFile", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setEnvFile", "qualifiedName": "Service.setEnvFile", - "description": "Sets the EnvFile property", + "description": "Represents a collection of paths to environment variable files used by the service. These files contain key-value pairs of environment variables that will be loaded and applied to the service configuration at runtime.", "kind": "PropertySetter", - "signature": "setEnvFile(value: List\u003Cstring\u003E): Service", + "signature": "setEnvFile(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5130,13 +5244,14 @@ "name": "setEnvironment", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setEnvironment", "qualifiedName": "Service.setEnvironment", - "description": "Sets the Environment property", + "description": "Represents a collection of environment variables for the service container.", + "remarks": "The property allows for specifying environment variables as key-value pairs.\nThese variables can be used to configure the behavior of the container\nor pass information to the application running inside the container.", "kind": "PropertySetter", - "signature": "setEnvironment(value: Dict\u003Cstring,string\u003E): Service", + "signature": "setEnvironment(value: Dict): Service", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Service", @@ -5149,13 +5264,13 @@ "name": "setExpose", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setExpose", "qualifiedName": "Service.setExpose", - "description": "Sets the Expose property", + "description": "Gets or sets a list of ports to expose from the container without publishing them to the host machine. This property defines internal ports that the container makes available to linked services or other containers within the same network, but these ports are not accessible from outside the container’s network.", "kind": "PropertySetter", - "signature": "setExpose(value: List\u003Cstring\u003E): Service", + "signature": "setExpose(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5168,13 +5283,13 @@ "name": "setExternalLinks", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setExternalLinks", "qualifiedName": "Service.setExternalLinks", - "description": "Sets the ExternalLinks property", + "description": "Gets or sets the external links for the service. External links are references to services defined outside the current Docker Compose file, enabling communication with containers in other projects or environments.", "kind": "PropertySetter", - "signature": "setExternalLinks(value: List\u003Cstring\u003E): Service", + "signature": "setExternalLinks(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5187,13 +5302,13 @@ "name": "setExtraHosts", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setExtraHosts", "qualifiedName": "Service.setExtraHosts", - "description": "Sets the ExtraHosts property", + "description": "Represents additional hostname-to-IP mappings for the service. These mappings allow you to manually define hostnames and corresponding IP addresses, effectively augmenting the DNS resolution for the service's containers.", "kind": "PropertySetter", - "signature": "setExtraHosts(value: Dict\u003Cstring,string\u003E): Service", + "signature": "setExtraHosts(value: Dict): Service", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Service", @@ -5206,13 +5321,13 @@ "name": "setGroupAdd", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setGroupAdd", "qualifiedName": "Service.setGroupAdd", - "description": "Sets the GroupAdd property", + "description": "Gets or sets a list of additional group IDs to add to the container's process. This allows the container to have access to resources or permissions associated with the specified groups.", "kind": "PropertySetter", - "signature": "setGroupAdd(value: List\u003Cstring\u003E): Service", + "signature": "setGroupAdd(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5225,7 +5340,7 @@ "name": "setHostname", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setHostname", "qualifiedName": "Service.setHostname", - "description": "Sets the Hostname property", + "description": "Gets or sets the hostname for the service container. This defines the hostname that will be assigned to the container and can be used for network identification within the container's network.", "kind": "PropertySetter", "signature": "setHostname(value: string): Service", "parameters": [ @@ -5244,7 +5359,8 @@ "name": "setImage", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setImage", "qualifiedName": "Service.setImage", - "description": "Sets the Image property", + "description": "Specifies the Docker image to be used for the service.", + "remarks": "The image refers to the identifier of a container image hosted in a registry.\nThis property is required if no build instructions are provided for the service.\nIt may include an optional tag or digest to specify a particular version of the image.\nIf omitted, Docker will default to the `latest` tag.", "kind": "PropertySetter", "signature": "setImage(value: string): Service", "parameters": [ @@ -5263,7 +5379,7 @@ "name": "setInit", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setInit", "qualifiedName": "Service.setInit", - "description": "Sets the Init property", + "description": "Indicates whether the init binary should be used as the container's init process. When set to true, the init process is used to ensure proper reaping of zombie processes and signal forwarding inside the container.", "kind": "PropertySetter", "signature": "setInit(value: boolean): Service", "parameters": [ @@ -5282,7 +5398,7 @@ "name": "setIpc", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setIpc", "qualifiedName": "Service.setIpc", - "description": "Sets the Ipc property", + "description": "Gets or sets the IPC (Inter-Process Communication) mode for the service. This property determines how IPC namespaces are shared between containers and the host. It can be set to values such as \"none\", \"host\", or a specific container ID to share IPC resources with.", "kind": "PropertySetter", "signature": "setIpc(value: string): Service", "parameters": [ @@ -5301,7 +5417,7 @@ "name": "setIsolation", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setIsolation", "qualifiedName": "Service.setIsolation", - "description": "Sets the Isolation property", + "description": "Specifies the isolation mode for the container. This property determines the level of isolation between the container and the host system. Common values include \"default\", \"process\", or \"hyperv\", and the supported options may depend on the container runtime or the platform being used.", "kind": "PropertySetter", "signature": "setIsolation(value: string): Service", "parameters": [ @@ -5320,13 +5436,13 @@ "name": "setLabels", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setLabels", "qualifiedName": "Service.setLabels", - "description": "Sets the Labels property", + "description": "Represents a set of metadata labels for the service. These key-value pairs can be used to organize and identify objects within the service configuration.", "kind": "PropertySetter", - "signature": "setLabels(value: Dict\u003Cstring,string\u003E): Service", + "signature": "setLabels(value: Dict): Service", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Service", @@ -5339,13 +5455,13 @@ "name": "setLinks", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setLinks", "qualifiedName": "Service.setLinks", - "description": "Sets the Links property", + "description": "Represents a service definition in a Docker Compose configuration file.", "kind": "PropertySetter", - "signature": "setLinks(value: List\u003Cstring\u003E): Service", + "signature": "setLinks(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5358,7 +5474,8 @@ "name": "setMacAddress", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setMacAddress", "qualifiedName": "Service.setMacAddress", - "description": "Sets the MacAddress property", + "description": "Specifies a custom MAC (Media Access Control) address for the container's network interface.", + "remarks": "A MAC address is a unique identifier assigned to a network interface controller (NIC).\nSetting this property allows for specifying a predefined MAC address instead of letting the system assign one dynamically.\nThis can be useful for use cases where a consistent MAC address is required, such as DHCP reservations or specific network configurations.", "kind": "PropertySetter", "signature": "setMacAddress(value: string): Service", "parameters": [ @@ -5377,7 +5494,8 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setName", "qualifiedName": "Service.setName", - "description": "Sets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertySetter", "signature": "setName(value: string): Service", "parameters": [ @@ -5396,7 +5514,7 @@ "name": "setNetworkMode", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setNetworkMode", "qualifiedName": "Service.setNetworkMode", - "description": "Sets the NetworkMode property", + "description": "Specifies the network mode to be used for the container. This property determines the networking configuration, such as whether the container shares the network stack with the host, uses a predefined network, or operates in isolation. The value is typically a string that matches a network mode supported by the environment, such as 'bridge', 'host', 'none', or a custom network name.", "kind": "PropertySetter", "signature": "setNetworkMode(value: string): Service", "parameters": [ @@ -5415,13 +5533,13 @@ "name": "setNetworks", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setNetworks", "qualifiedName": "Service.setNetworks", - "description": "Sets the Networks property", + "description": "Defines the collection of networks that the service is connected to. This property specifies the names of the networks the service should be attached to. Each entry in this list represents a network defined in the Docker Compose file or an externally defined network. Connecting a service to one or more networks allows inter-service communication across those networks, as well as communication with external systems configured on those same networks. If no network is specified, the service is connected to the default network that is automatically created by Docker Compose for the project unless `network_mode` is set to another value.", "kind": "PropertySetter", - "signature": "setNetworks(value: List\u003Cstring\u003E): Service", + "signature": "setNetworks(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5434,7 +5552,7 @@ "name": "setPid", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setPid", "qualifiedName": "Service.setPid", - "description": "Sets the Pid property", + "description": "Gets or sets the PID (Process Identifier) namespace configuration for the container. This property determines whether the container shares the PID namespace with the host or other containers, allowing process visibility and signal sending between them.", "kind": "PropertySetter", "signature": "setPid(value: string): Service", "parameters": [ @@ -5453,13 +5571,13 @@ "name": "setPorts", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setPorts", "qualifiedName": "Service.setPorts", - "description": "Sets the Ports property", + "description": "Represents a collection of port mappings for the service. Each mapping specifies how a container port is bound to a host port.", "kind": "PropertySetter", - "signature": "setPorts(value: List\u003Cstring\u003E): Service", + "signature": "setPorts(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5472,7 +5590,7 @@ "name": "setPrivileged", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setPrivileged", "qualifiedName": "Service.setPrivileged", - "description": "Sets the Privileged property", + "description": "Indicates whether the container should run in privileged mode. When set to true, the container is granted extended Linux capabilities and device access.", "kind": "PropertySetter", "signature": "setPrivileged(value: boolean): Service", "parameters": [ @@ -5491,13 +5609,13 @@ "name": "setProfiles", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setProfiles", "qualifiedName": "Service.setProfiles", - "description": "Sets the Profiles property", + "description": "Defines a list of profiles associated with the service. Profiles allow grouping of services and provide the ability to selectively enable services based on specified runtime profiles. If no profiles are specified, the service will be active in all configurations.", "kind": "PropertySetter", - "signature": "setProfiles(value: List\u003Cstring\u003E): Service", + "signature": "setProfiles(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5510,7 +5628,8 @@ "name": "setPullPolicy", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setPullPolicy", "qualifiedName": "Service.setPullPolicy", - "description": "Sets the PullPolicy property", + "description": "Specifies the policy for pulling the Docker image.", + "remarks": "This property determines when the container runtime should pull the image.\nCommon values include \"always\", \"never\", \"missing\", \"if_not_present\", or \"build\".\nIf not specified, the default behavior depends on the container runtime configuration.", "kind": "PropertySetter", "signature": "setPullPolicy(value: string): Service", "parameters": [ @@ -5529,7 +5648,7 @@ "name": "setReadOnly", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setReadOnly", "qualifiedName": "Service.setReadOnly", - "description": "Sets the ReadOnly property", + "description": "Defines whether the service containers should be run in read-only mode. If set to true, the containers will have a read-only file system, limiting write operations to specific directories defined by writable mounts or tempfs.", "kind": "PropertySetter", "signature": "setReadOnly(value: boolean): Service", "parameters": [ @@ -5548,7 +5667,7 @@ "name": "setRestart", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setRestart", "qualifiedName": "Service.setRestart", - "description": "Sets the Restart property", + "description": "Specifies the restart policy for the container. This property determines how the container should behave in case of a crash or termination. Common values include \"no\", \"always\", \"on-failure\", and \"unless-stopped\".", "kind": "PropertySetter", "signature": "setRestart(value: string): Service", "parameters": [ @@ -5567,13 +5686,13 @@ "name": "setSecurityOpt", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setSecurityOpt", "qualifiedName": "Service.setSecurityOpt", - "description": "Sets the SecurityOpt property", + "description": "Represents a list of security options that can be applied to the container. This is used to configure security-related settings specific to the container such as SELinux labels or AppArmor profiles, providing fine-grained control over the container's security behavior.", "kind": "PropertySetter", - "signature": "setSecurityOpt(value: List\u003Cstring\u003E): Service", + "signature": "setSecurityOpt(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5586,7 +5705,7 @@ "name": "setStdinOpen", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setStdinOpen", "qualifiedName": "Service.setStdinOpen", - "description": "Sets the StdinOpen property", + "description": "Indicates whether standard input (stdin) should remain open and be attached to the service container, even if no terminal is connected.", "kind": "PropertySetter", "signature": "setStdinOpen(value: boolean): Service", "parameters": [ @@ -5605,7 +5724,7 @@ "name": "setStopGracePeriod", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setStopGracePeriod", "qualifiedName": "Service.setStopGracePeriod", - "description": "Sets the StopGracePeriod property", + "description": "Gets or sets the stop grace period for the container. This specifies the amount of time to wait before forcing a container to stop after the stop or shutdown signal is sent. The value can be defined in a time duration format, such as \"10s\" for 10 seconds or \"1m\" for 1 minute.", "kind": "PropertySetter", "signature": "setStopGracePeriod(value: string): Service", "parameters": [ @@ -5624,7 +5743,7 @@ "name": "setStopSignal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setStopSignal", "qualifiedName": "Service.setStopSignal", - "description": "Sets the StopSignal property", + "description": "Specifies the signal that will be used to stop the container. This property allows you to define a custom stop signal other than the default SIGTERM.", "kind": "PropertySetter", "signature": "setStopSignal(value: string): Service", "parameters": [ @@ -5643,13 +5762,13 @@ "name": "setSysctls", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setSysctls", "qualifiedName": "Service.setSysctls", - "description": "Sets the Sysctls property", + "description": "Represents a set of kernel parameters, specified as key-value pairs, that can be applied to the container at runtime. This property allows customization of specific Linux kernel settings (sysctl parameters) for the container, enabling fine-tuned control over its behavior. Common use cases include tuning network parameters or configuring shared memory limits. Note: Supported kernel parameters will vary based on the Docker daemon and the host system. Unsupported parameters will result in an error. Example: Use this property to set parameters like `net.ipv4.tcp_syncookies` or `net.core.somaxconn`.", "kind": "PropertySetter", - "signature": "setSysctls(value: Dict\u003Cstring,string\u003E): Service", + "signature": "setSysctls(value: Dict): Service", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Service", @@ -5662,13 +5781,13 @@ "name": "setTmpfs", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setTmpfs", "qualifiedName": "Service.setTmpfs", - "description": "Sets the Tmpfs property", + "description": "Specifies a list of temporary file systems (tmpfs) to be mounted inside the container. Each entry represents a directory on the container's filesystem, mounted as a tmpfs, which resides in-memory and is typically used for ephemeral storage or caching purposes.", "kind": "PropertySetter", - "signature": "setTmpfs(value: List\u003Cstring\u003E): Service", + "signature": "setTmpfs(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003Cstring\u003E" + "type": "List" } ], "returnType": "Service", @@ -5681,7 +5800,7 @@ "name": "setTty", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setTty", "qualifiedName": "Service.setTty", - "description": "Sets the Tty property", + "description": "Specifies whether a pseudo-TTY (teletypewriter) should be allocated for the container. When set to true, it enables the container to run with an interactive terminal session.", "kind": "PropertySetter", "signature": "setTty(value: boolean): Service", "parameters": [ @@ -5700,7 +5819,7 @@ "name": "setUser", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setUser", "qualifiedName": "Service.setUser", - "description": "Sets the User property", + "description": "Specifies the user that the container will run as. The value can be set to a numeric UID, a string for the username, or a combination of both (e.g., \"UID:GID\").", "kind": "PropertySetter", "signature": "setUser(value: string): Service", "parameters": [ @@ -5719,13 +5838,14 @@ "name": "setVolumes", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setVolumes", "qualifiedName": "Service.setVolumes", - "description": "Sets the Volumes property", + "description": "Defines the list of volumes to be mounted into the service's container.", + "remarks": "Volumes provide a mechanism for persisting data used by the service or for sharing data between the host and the container.\nEach volume entry maps a source path on the host or an anonymous volume to a target path within the container.\nThis property can also include named volumes as defined in the Compose file's top-level `volumes` section.\nVolumes can specify additional options such as read-only access or volume drivers.", "kind": "PropertySetter", - "signature": "setVolumes(value: List\u003CAspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E): Service", + "signature": "setVolumes(value: List): Service", "parameters": [ { "name": "value", - "type": "List\u003CAspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E" + "type": "List" } ], "returnType": "Service", @@ -5738,7 +5858,7 @@ "name": "setWorkingDir", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.setWorkingDir", "qualifiedName": "Service.setWorkingDir", - "description": "Sets the WorkingDir property", + "description": "Gets or sets the working directory of the container. Specifies the directory in which commands are run inside the container. Corresponds to the \"working_dir\" property in a Docker Compose file.", "kind": "PropertySetter", "signature": "setWorkingDir(value: string): Service", "parameters": [ @@ -5757,7 +5877,7 @@ "name": "stdinOpen", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.stdinOpen", "qualifiedName": "Service.stdinOpen", - "description": "Gets the StdinOpen property", + "description": "Indicates whether standard input (stdin) should remain open and be attached to the service container, even if no terminal is connected.", "kind": "PropertyGetter", "signature": "stdinOpen(): boolean", "parameters": [], @@ -5771,7 +5891,7 @@ "name": "stopGracePeriod", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.stopGracePeriod", "qualifiedName": "Service.stopGracePeriod", - "description": "Gets the StopGracePeriod property", + "description": "Gets or sets the stop grace period for the container. This specifies the amount of time to wait before forcing a container to stop after the stop or shutdown signal is sent. The value can be defined in a time duration format, such as \"10s\" for 10 seconds or \"1m\" for 1 minute.", "kind": "PropertyGetter", "signature": "stopGracePeriod(): string", "parameters": [], @@ -5785,7 +5905,7 @@ "name": "stopSignal", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.stopSignal", "qualifiedName": "Service.stopSignal", - "description": "Gets the StopSignal property", + "description": "Specifies the signal that will be used to stop the container. This property allows you to define a custom stop signal other than the default SIGTERM.", "kind": "PropertyGetter", "signature": "stopSignal(): string", "parameters": [], @@ -5799,11 +5919,11 @@ "name": "sysctls", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.sysctls", "qualifiedName": "Service.sysctls", - "description": "Gets the Sysctls property", + "description": "Represents a set of kernel parameters, specified as key-value pairs, that can be applied to the container at runtime. This property allows customization of specific Linux kernel settings (sysctl parameters) for the container, enabling fine-tuned control over its behavior. Common use cases include tuning network parameters or configuring shared memory limits. Note: Supported kernel parameters will vary based on the Docker daemon and the host system. Unsupported parameters will result in an error. Example: Use this property to set parameters like `net.ipv4.tcp_syncookies` or `net.core.somaxconn`.", "kind": "PropertyGetter", - "signature": "sysctls(): Dict\u003Cstring,string\u003E", + "signature": "sysctls(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -5813,11 +5933,11 @@ "name": "tmpfs", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.tmpfs", "qualifiedName": "Service.tmpfs", - "description": "Gets the Tmpfs property", + "description": "Specifies a list of temporary file systems (tmpfs) to be mounted inside the container. Each entry represents a directory on the container's filesystem, mounted as a tmpfs, which resides in-memory and is typically used for ephemeral storage or caching purposes.", "kind": "PropertyGetter", - "signature": "tmpfs(): List\u003Cstring\u003E", + "signature": "tmpfs(): List", "parameters": [], - "returnType": "List\u003Cstring\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -5827,7 +5947,7 @@ "name": "tty", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.tty", "qualifiedName": "Service.tty", - "description": "Gets the Tty property", + "description": "Specifies whether a pseudo-TTY (teletypewriter) should be allocated for the container. When set to true, it enables the container to run with an interactive terminal session.", "kind": "PropertyGetter", "signature": "tty(): boolean", "parameters": [], @@ -5841,7 +5961,7 @@ "name": "user", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.user", "qualifiedName": "Service.user", - "description": "Gets the User property", + "description": "Specifies the user that the container will run as. The value can be set to a numeric UID, a string for the username, or a combination of both (e.g., \"UID:GID\").", "kind": "PropertyGetter", "signature": "user(): string", "parameters": [], @@ -5855,11 +5975,12 @@ "name": "volumes", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.volumes", "qualifiedName": "Service.volumes", - "description": "Gets the Volumes property", + "description": "Defines the list of volumes to be mounted into the service's container.", + "remarks": "Volumes provide a mechanism for persisting data used by the service or for sharing data between the host and the container.\nEach volume entry maps a source path on the host or an anonymous volume to a target path within the container.\nThis property can also include named volumes as defined in the Compose file's top-level `volumes` section.\nVolumes can specify additional options such as read-only access or volume drivers.", "kind": "PropertyGetter", - "signature": "volumes(): List\u003CAspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E", + "signature": "volumes(): List", "parameters": [], - "returnType": "List\u003CAspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume\u003E", + "returnType": "List", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ComposeNodes.Service", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ComposeNodes.Service" @@ -5869,7 +5990,7 @@ "name": "workingDir", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/Service.workingDir", "qualifiedName": "Service.workingDir", - "description": "Gets the WorkingDir property", + "description": "Gets or sets the working directory of the container. Specifies the directory in which commands are run inside the container. Corresponds to the \"working_dir\" property in a Docker Compose file.", "kind": "PropertyGetter", "signature": "workingDir(): string", "parameters": [], @@ -5886,13 +6007,14 @@ "fullName": "Aspire.Hosting.Docker.Resources.ComposeNodes.ServiceDependency", "kind": "handle", "exposeProperties": true, + "description": "Represents a service dependency in a Docker Compose file.", "implementedInterfaces": [], "capabilities": [ { "name": "condition", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/ServiceDependency.condition", "qualifiedName": "ServiceDependency.condition", - "description": "Gets the Condition property", + "description": "Gets or sets the condition under which the service should be started.", "kind": "PropertyGetter", "signature": "condition(): string", "parameters": [], @@ -5906,7 +6028,7 @@ "name": "setCondition", "capabilityId": "Aspire.Hosting.Docker.Resources.ComposeNodes/ServiceDependency.setCondition", "qualifiedName": "ServiceDependency.setCondition", - "description": "Sets the Condition property", + "description": "Gets or sets the condition under which the service should be started.", "kind": "PropertySetter", "signature": "setCondition(value: string): ServiceDependency", "parameters": [ @@ -5928,13 +6050,15 @@ "fullName": "Aspire.Hosting.Docker.Resources.ServiceNodes.Volume", "kind": "handle", "exposeProperties": true, + "description": "Represents a volume definition in a Docker Compose configuration file.", + "remarks": "The `Volume` class is used to define properties and options for volumes in a Docker environment.\nVolumes are used to persist data beyond the lifecycle of a container and can be shared among multiple containers.", "implementedInterfaces": [], "capabilities": [ { "name": "driver", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.driver", "qualifiedName": "Volume.driver", - "description": "Gets the Driver property", + "description": "Gets or sets the name of the driver used for the volume. The driver is responsible for managing the volume and its storage backend.", "kind": "PropertyGetter", "signature": "driver(): string", "parameters": [], @@ -5948,11 +6072,11 @@ "name": "driverOpts", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.driverOpts", "qualifiedName": "Volume.driverOpts", - "description": "Gets the DriverOpts property", + "description": "Represents a collection of driver-specific options for the volume. These options are passed as key-value pairs to the volume driver, allowing customization or configuration specific to the driver being used.", "kind": "PropertyGetter", - "signature": "driverOpts(): Dict\u003Cstring,string\u003E", + "signature": "driverOpts(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ServiceNodes.Volume" @@ -5962,7 +6086,7 @@ "name": "external", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.external", "qualifiedName": "Volume.external", - "description": "Gets the External property", + "description": "Indicates whether the volume is external to the current scope or environment. A value of `true` specifies that the volume is managed outside the scope of the current application or configuration. A value of `false`, or a null value, indicates that the volume is managed internally or by default behavior.", "kind": "PropertyGetter", "signature": "external(): boolean", "parameters": [], @@ -5976,11 +6100,11 @@ "name": "labels", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.labels", "qualifiedName": "Volume.labels", - "description": "Gets the Labels property", + "description": "Gets or sets a dictionary of labels associated with the volume. Labels are key-value pairs that can be used for metadata purposes or for organizing and identifying volumes within Docker services.", "kind": "PropertyGetter", - "signature": "labels(): Dict\u003Cstring,string\u003E", + "signature": "labels(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Docker/Aspire.Hosting.Docker.Resources.ServiceNodes.Volume", "expandedTargetTypes": [ "Aspire.Hosting.Docker.Resources.ServiceNodes.Volume" @@ -5990,7 +6114,8 @@ "name": "name", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.name", "qualifiedName": "Volume.name", - "description": "Gets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertyGetter", "signature": "name(): string", "parameters": [], @@ -6004,7 +6129,8 @@ "name": "readOnly", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.readOnly", "qualifiedName": "Volume.readOnly", - "description": "Gets the ReadOnly property", + "description": "Gets or sets a value indicating whether the volume is mounted as read-only.", + "remarks": "When set to true, the volume will be mounted with read-only permissions, preventing modification\nof the data within the container. This is commonly used to enforce data immutability for certain use cases.", "kind": "PropertyGetter", "signature": "readOnly(): boolean", "parameters": [], @@ -6018,7 +6144,7 @@ "name": "setDriver", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setDriver", "qualifiedName": "Volume.setDriver", - "description": "Sets the Driver property", + "description": "Gets or sets the name of the driver used for the volume. The driver is responsible for managing the volume and its storage backend.", "kind": "PropertySetter", "signature": "setDriver(value: string): Volume", "parameters": [ @@ -6037,13 +6163,13 @@ "name": "setDriverOpts", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setDriverOpts", "qualifiedName": "Volume.setDriverOpts", - "description": "Sets the DriverOpts property", + "description": "Represents a collection of driver-specific options for the volume. These options are passed as key-value pairs to the volume driver, allowing customization or configuration specific to the driver being used.", "kind": "PropertySetter", - "signature": "setDriverOpts(value: Dict\u003Cstring,string\u003E): Volume", + "signature": "setDriverOpts(value: Dict): Volume", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Volume", @@ -6056,7 +6182,7 @@ "name": "setExternal", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setExternal", "qualifiedName": "Volume.setExternal", - "description": "Sets the External property", + "description": "Indicates whether the volume is external to the current scope or environment. A value of `true` specifies that the volume is managed outside the scope of the current application or configuration. A value of `false`, or a null value, indicates that the volume is managed internally or by default behavior.", "kind": "PropertySetter", "signature": "setExternal(value: boolean): Volume", "parameters": [ @@ -6075,13 +6201,13 @@ "name": "setLabels", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setLabels", "qualifiedName": "Volume.setLabels", - "description": "Sets the Labels property", + "description": "Gets or sets a dictionary of labels associated with the volume. Labels are key-value pairs that can be used for metadata purposes or for organizing and identifying volumes within Docker services.", "kind": "PropertySetter", - "signature": "setLabels(value: Dict\u003Cstring,string\u003E): Volume", + "signature": "setLabels(value: Dict): Volume", "parameters": [ { "name": "value", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "Volume", @@ -6094,7 +6220,8 @@ "name": "setName", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setName", "qualifiedName": "Volume.setName", - "description": "Sets the Name property", + "description": "Gets or sets the name of the Docker Compose member.", + "remarks": "This property is used to uniquely identify the member (e.g., network, service) within\nthe Docker Compose configuration. It must be explicitly defined for all derived types.", "kind": "PropertySetter", "signature": "setName(value: string): Volume", "parameters": [ @@ -6113,7 +6240,8 @@ "name": "setReadOnly", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setReadOnly", "qualifiedName": "Volume.setReadOnly", - "description": "Sets the ReadOnly property", + "description": "Gets or sets a value indicating whether the volume is mounted as read-only.", + "remarks": "When set to true, the volume will be mounted with read-only permissions, preventing modification\nof the data within the container. This is commonly used to enforce data immutability for certain use cases.", "kind": "PropertySetter", "signature": "setReadOnly(value: boolean): Volume", "parameters": [ @@ -6132,7 +6260,7 @@ "name": "setSource", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setSource", "qualifiedName": "Volume.setSource", - "description": "Sets the Source property", + "description": "Gets or sets the source property of the volume. The source defines the location on the host system or the specific resource from which the volume is sourced.", "kind": "PropertySetter", "signature": "setSource(value: string): Volume", "parameters": [ @@ -6151,7 +6279,7 @@ "name": "setTarget", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setTarget", "qualifiedName": "Volume.setTarget", - "description": "Sets the Target property", + "description": "Gets or sets the target path inside the container where the volume is mounted. This specifies the container location for the volume's data.", "kind": "PropertySetter", "signature": "setTarget(value: string): Volume", "parameters": [ @@ -6170,7 +6298,7 @@ "name": "setType", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.setType", "qualifiedName": "Volume.setType", - "description": "Sets the Type property", + "description": "Gets or sets the type of volume. This specifies the method of volume provisioning such as bind mounts, named volumes, or other supported volume types in Docker.", "kind": "PropertySetter", "signature": "setType(value: string): Volume", "parameters": [ @@ -6189,7 +6317,7 @@ "name": "source", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.source", "qualifiedName": "Volume.source", - "description": "Gets the Source property", + "description": "Gets or sets the source property of the volume. The source defines the location on the host system or the specific resource from which the volume is sourced.", "kind": "PropertyGetter", "signature": "source(): string", "parameters": [], @@ -6203,7 +6331,7 @@ "name": "target", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.target", "qualifiedName": "Volume.target", - "description": "Gets the Target property", + "description": "Gets or sets the target path inside the container where the volume is mounted. This specifies the container location for the volume's data.", "kind": "PropertyGetter", "signature": "target(): string", "parameters": [], @@ -6217,7 +6345,7 @@ "name": "type", "capabilityId": "Aspire.Hosting.Docker.Resources.ServiceNodes/Volume.type", "qualifiedName": "Volume.type", - "description": "Gets the Type property", + "description": "Gets or sets the type of volume. This specifies the method of volume provisioning such as bind mounts, named volumes, or other supported volume types in Docker.", "kind": "PropertyGetter", "signature": "type(): string", "parameters": [], diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.EntityFrameworkCore.13.3.0-preview.1.26254.5.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.EntityFrameworkCore.13.3.0-preview.1.26254.5.json index a222f0526..a94ad1b44 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.EntityFrameworkCore.13.3.0-preview.1.26254.5.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.EntityFrameworkCore.13.3.0-preview.1.26254.5.json @@ -10,12 +10,15 @@ "name": "addEFMigrations", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/addEFMigrations", "qualifiedName": "addEFMigrations", + "description": "Adds EF Core migration management for auto-detected DbContext types.", + "returns": "An EF migration resource builder for chaining additional configuration.", "kind": "Method", "signature": "addEFMigrations(name: string): EFMigrationResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the migration resource." } ], "returnType": "EFMigrationResource", @@ -30,7 +33,8 @@ "name": "bundleBaseImage", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.bundleBaseImage", "qualifiedName": "EFMigrationResource.bundleBaseImage", - "description": "Gets the BundleBaseImage property", + "description": "Gets or sets the base container image for the migration bundle container.", + "remarks": "When set, this overrides the default base image selection entirely. Use this when the\ndefault image (derived from the project's target framework) isn't suitable — for example\nwhen targeting a preview SDK or a custom base image with extra dependencies.\nExample: `\"mcr.microsoft.com/dotnet/runtime:11.0-preview\"`.", "kind": "PropertyGetter", "signature": "bundleBaseImage(): string", "parameters": [], @@ -44,7 +48,7 @@ "name": "bundleSelfContained", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.bundleSelfContained", "qualifiedName": "EFMigrationResource.bundleSelfContained", - "description": "Gets the BundleSelfContained property", + "description": "Gets or sets whether the migration bundle should be self-contained.", "kind": "PropertyGetter", "signature": "bundleSelfContained(): boolean", "parameters": [], @@ -58,7 +62,7 @@ "name": "bundleTargetRuntime", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.bundleTargetRuntime", "qualifiedName": "EFMigrationResource.bundleTargetRuntime", - "description": "Gets the BundleTargetRuntime property", + "description": "Gets or sets the target runtime identifier for the migration bundle (e.g., \"linux-x64\", \"win-x64\").", "kind": "PropertyGetter", "signature": "bundleTargetRuntime(): string", "parameters": [], @@ -72,7 +76,8 @@ "name": "dbContextTypeName", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.dbContextTypeName", "qualifiedName": "EFMigrationResource.dbContextTypeName", - "description": "Gets the DbContextTypeName property", + "description": "Gets the fully qualified name of the DbContext type to use for migrations, or null to auto-detect.", + "remarks": "This property is used to specify which DbContext to use when the project contains multiple DbContext types.\nWhen null, the EF Core tools will auto-detect the DbContext to use.", "kind": "PropertyGetter", "signature": "dbContextTypeName(): string", "parameters": [], @@ -86,7 +91,8 @@ "name": "migrationNamespace", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.migrationNamespace", "qualifiedName": "EFMigrationResource.migrationNamespace", - "description": "Gets the MigrationNamespace property", + "description": "Gets or sets the namespace for new migrations. Used by the Add Migration command.", + "remarks": "If not specified, the namespace will be derived from the project's default namespace.", "kind": "PropertyGetter", "signature": "migrationNamespace(): string", "parameters": [], @@ -100,7 +106,8 @@ "name": "migrationOutputDirectory", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.migrationOutputDirectory", "qualifiedName": "EFMigrationResource.migrationOutputDirectory", - "description": "Gets the MigrationOutputDirectory property", + "description": "Gets or sets the output directory for new migrations. Used by the Add Migration command.", + "remarks": "If not specified, migrations will be placed in the default 'Migrations' directory.", "kind": "PropertyGetter", "signature": "migrationOutputDirectory(): string", "parameters": [], @@ -114,7 +121,8 @@ "name": "migrationsProjectPath", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.migrationsProjectPath", "qualifiedName": "EFMigrationResource.migrationsProjectPath", - "description": "Gets the MigrationsProjectPath property", + "description": "Gets or sets the path to the project containing the migrations, when it's not the same as the startup project.", + "remarks": "If not specified, migrations are assumed to be in the startup project.\nWhen specified, this project's path will be used as the target for migration operations.", "kind": "PropertyGetter", "signature": "migrationsProjectPath(): string", "parameters": [], @@ -128,7 +136,7 @@ "name": "projectResource", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.projectResource", "qualifiedName": "EFMigrationResource.projectResource", - "description": "Gets the ProjectResource property", + "description": "Gets the parent project resource that contains the DbContext.", "kind": "PropertyGetter", "signature": "projectResource(): ProjectResource", "parameters": [], @@ -142,7 +150,7 @@ "name": "publishAsMigrationBundle", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.publishAsMigrationBundle", "qualifiedName": "EFMigrationResource.publishAsMigrationBundle", - "description": "Gets the PublishAsMigrationBundle property", + "description": "Gets or sets whether a migration bundle should be generated during publishing.", "kind": "PropertyGetter", "signature": "publishAsMigrationBundle(): boolean", "parameters": [], @@ -156,7 +164,7 @@ "name": "publishAsMigrationScript", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.publishAsMigrationScript", "qualifiedName": "EFMigrationResource.publishAsMigrationScript", - "description": "Gets the PublishAsMigrationScript property", + "description": "Gets or sets whether a migration script should be generated during publishing.", "kind": "PropertyGetter", "signature": "publishAsMigrationScript(): boolean", "parameters": [], @@ -170,7 +178,8 @@ "name": "publishBundleContainer", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.publishBundleContainer", "qualifiedName": "EFMigrationResource.publishBundleContainer", - "description": "Gets the PublishBundleContainer property", + "description": "Gets or sets whether the migration bundle should be published as a container image that applies the migrations to the database at deploy time.", + "remarks": "When `true`, the resource is materialized as a `ContainerResource`\ncarrying a generated `Dockerfile` that wraps the migration bundle. The compute environment\n(Docker Compose, Azure Container Apps, Kubernetes, Azure App Service, Azure Functions, etc.)\ndeploys it alongside the other compute resources and supplies the connection string from any\n`IResourceWithConnectionString` dependency declared via `WithReference` or\n`WaitFor`.", "kind": "PropertyGetter", "signature": "publishBundleContainer(): boolean", "parameters": [], @@ -184,7 +193,7 @@ "name": "scriptIdempotent", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.scriptIdempotent", "qualifiedName": "EFMigrationResource.scriptIdempotent", - "description": "Gets the ScriptIdempotent property", + "description": "Gets or sets whether the migration script should be idempotent (include IF NOT EXISTS checks).", "kind": "PropertyGetter", "signature": "scriptIdempotent(): boolean", "parameters": [], @@ -198,7 +207,7 @@ "name": "scriptNoTransactions", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.scriptNoTransactions", "qualifiedName": "EFMigrationResource.scriptNoTransactions", - "description": "Gets the ScriptNoTransactions property", + "description": "Gets or sets whether to omit transaction statements from the migration script.", "kind": "PropertyGetter", "signature": "scriptNoTransactions(): boolean", "parameters": [], @@ -212,7 +221,8 @@ "name": "setBundleBaseImage", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setBundleBaseImage", "qualifiedName": "EFMigrationResource.setBundleBaseImage", - "description": "Sets the BundleBaseImage property", + "description": "Gets or sets the base container image for the migration bundle container.", + "remarks": "When set, this overrides the default base image selection entirely. Use this when the\ndefault image (derived from the project's target framework) isn't suitable — for example\nwhen targeting a preview SDK or a custom base image with extra dependencies.\nExample: `\"mcr.microsoft.com/dotnet/runtime:11.0-preview\"`.", "kind": "PropertySetter", "signature": "setBundleBaseImage(value: string): EFMigrationResource", "parameters": [ @@ -231,7 +241,7 @@ "name": "setBundleSelfContained", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setBundleSelfContained", "qualifiedName": "EFMigrationResource.setBundleSelfContained", - "description": "Sets the BundleSelfContained property", + "description": "Gets or sets whether the migration bundle should be self-contained.", "kind": "PropertySetter", "signature": "setBundleSelfContained(value: boolean): EFMigrationResource", "parameters": [ @@ -250,7 +260,7 @@ "name": "setBundleTargetRuntime", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setBundleTargetRuntime", "qualifiedName": "EFMigrationResource.setBundleTargetRuntime", - "description": "Sets the BundleTargetRuntime property", + "description": "Gets or sets the target runtime identifier for the migration bundle (e.g., \"linux-x64\", \"win-x64\").", "kind": "PropertySetter", "signature": "setBundleTargetRuntime(value: string): EFMigrationResource", "parameters": [ @@ -269,7 +279,8 @@ "name": "setMigrationNamespace", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setMigrationNamespace", "qualifiedName": "EFMigrationResource.setMigrationNamespace", - "description": "Sets the MigrationNamespace property", + "description": "Gets or sets the namespace for new migrations. Used by the Add Migration command.", + "remarks": "If not specified, the namespace will be derived from the project's default namespace.", "kind": "PropertySetter", "signature": "setMigrationNamespace(value: string): EFMigrationResource", "parameters": [ @@ -288,7 +299,8 @@ "name": "setMigrationOutputDirectory", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setMigrationOutputDirectory", "qualifiedName": "EFMigrationResource.setMigrationOutputDirectory", - "description": "Sets the MigrationOutputDirectory property", + "description": "Gets or sets the output directory for new migrations. Used by the Add Migration command.", + "remarks": "If not specified, migrations will be placed in the default 'Migrations' directory.", "kind": "PropertySetter", "signature": "setMigrationOutputDirectory(value: string): EFMigrationResource", "parameters": [ @@ -307,7 +319,8 @@ "name": "setMigrationsProjectPath", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setMigrationsProjectPath", "qualifiedName": "EFMigrationResource.setMigrationsProjectPath", - "description": "Sets the MigrationsProjectPath property", + "description": "Gets or sets the path to the project containing the migrations, when it's not the same as the startup project.", + "remarks": "If not specified, migrations are assumed to be in the startup project.\nWhen specified, this project's path will be used as the target for migration operations.", "kind": "PropertySetter", "signature": "setMigrationsProjectPath(value: string): EFMigrationResource", "parameters": [ @@ -326,7 +339,7 @@ "name": "setPublishAsMigrationBundle", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setPublishAsMigrationBundle", "qualifiedName": "EFMigrationResource.setPublishAsMigrationBundle", - "description": "Sets the PublishAsMigrationBundle property", + "description": "Gets or sets whether a migration bundle should be generated during publishing.", "kind": "PropertySetter", "signature": "setPublishAsMigrationBundle(value: boolean): EFMigrationResource", "parameters": [ @@ -345,7 +358,7 @@ "name": "setPublishAsMigrationScript", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setPublishAsMigrationScript", "qualifiedName": "EFMigrationResource.setPublishAsMigrationScript", - "description": "Sets the PublishAsMigrationScript property", + "description": "Gets or sets whether a migration script should be generated during publishing.", "kind": "PropertySetter", "signature": "setPublishAsMigrationScript(value: boolean): EFMigrationResource", "parameters": [ @@ -364,7 +377,8 @@ "name": "setPublishBundleContainer", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setPublishBundleContainer", "qualifiedName": "EFMigrationResource.setPublishBundleContainer", - "description": "Sets the PublishBundleContainer property", + "description": "Gets or sets whether the migration bundle should be published as a container image that applies the migrations to the database at deploy time.", + "remarks": "When `true`, the resource is materialized as a `ContainerResource`\ncarrying a generated `Dockerfile` that wraps the migration bundle. The compute environment\n(Docker Compose, Azure Container Apps, Kubernetes, Azure App Service, Azure Functions, etc.)\ndeploys it alongside the other compute resources and supplies the connection string from any\n`IResourceWithConnectionString` dependency declared via `WithReference` or\n`WaitFor`.", "kind": "PropertySetter", "signature": "setPublishBundleContainer(value: boolean): EFMigrationResource", "parameters": [ @@ -383,7 +397,7 @@ "name": "setScriptIdempotent", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setScriptIdempotent", "qualifiedName": "EFMigrationResource.setScriptIdempotent", - "description": "Sets the ScriptIdempotent property", + "description": "Gets or sets whether the migration script should be idempotent (include IF NOT EXISTS checks).", "kind": "PropertySetter", "signature": "setScriptIdempotent(value: boolean): EFMigrationResource", "parameters": [ @@ -402,7 +416,7 @@ "name": "setScriptNoTransactions", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setScriptNoTransactions", "qualifiedName": "EFMigrationResource.setScriptNoTransactions", - "description": "Sets the ScriptNoTransactions property", + "description": "Gets or sets whether to omit transaction statements from the migration script.", "kind": "PropertySetter", "signature": "setScriptNoTransactions(value: boolean): EFMigrationResource", "parameters": [ @@ -421,6 +435,9 @@ "name": "runDatabaseUpdateOnStart", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/runDatabaseUpdateOnStart", "qualifiedName": "runDatabaseUpdateOnStart", + "description": "Configures the EF migration resource to run database update when the AppHost starts.", + "remarks": "When enabled, migrations will be applied during AppHost startup.\nThis only affects local run-mode execution. The migrations resource is not deployed with the app,\nso the command has no effect during publish or deployment.\nA health check is automatically registered for this resource, allowing other resources to use\n`.WaitFor()` to wait until migrations complete before starting.", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "runDatabaseUpdateOnStart(): EFMigrationResource", "parameters": [], @@ -435,12 +452,16 @@ "name": "withMigrationNamespace", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/withMigrationNamespace", "qualifiedName": "withMigrationNamespace", + "description": "Configures the namespace for new migrations created with the Add Migration command.", + "remarks": "If not specified, the namespace will be derived from the project's default namespace.\nExample: \"MyApp.Data.Migrations\" or \"MyApp.Infrastructure.Migrations\".", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "withMigrationNamespace(namespace: string): EFMigrationResource", "parameters": [ { "name": "namespace", - "type": "string" + "type": "string", + "description": "The namespace for generated migrations." } ], "returnType": "EFMigrationResource", @@ -454,12 +475,16 @@ "name": "withMigrationOutputDirectory", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/withMigrationOutputDirectory", "qualifiedName": "withMigrationOutputDirectory", + "description": "Configures the output directory for new migrations created with the Add Migration command.", + "remarks": "If not specified, migrations will be placed in the default 'Migrations' directory.\nExample: \"Data/Migrations\" or \"Infrastructure/Migrations\".", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "withMigrationOutputDirectory(outputDirectory: string): EFMigrationResource", "parameters": [ { "name": "outputDirectory", - "type": "string" + "type": "string", + "description": "The output directory path relative to the project root." } ], "returnType": "EFMigrationResource", @@ -473,6 +498,9 @@ "name": "withMigrationsProject", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/withMigrationsProject", "qualifiedName": "withMigrationsProject", + "description": "Configures a separate project containing the migrations using a project metadata type.", + "remarks": "Use this method when the migrations are in a different project than the startup project.\nThe target project's path will be used for migration operations while the startup project\nremains the original project.\n```\nvar migrations = project.AddEFMigrations(\"migrations\")\n.WithMigrationsProject();\n```", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "withMigrationsProject(): EFMigrationResource", "parameters": [], @@ -490,6 +518,8 @@ "fullName": "Aspire.Hosting.EntityFrameworkCore.EFMigrationResource", "kind": "handle", "exposeProperties": true, + "description": "Represents an EF Core migration resource associated with a project.", + "remarks": "The resource inherits from `ContainerResource` so it can be published as a container image\nthat runs the migration bundle at deploy time when\n`PublishAsMigrationBundle`\nis called with `publishContainer: true`.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IResource", @@ -504,7 +534,8 @@ "name": "bundleBaseImage", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.bundleBaseImage", "qualifiedName": "EFMigrationResource.bundleBaseImage", - "description": "Gets the BundleBaseImage property", + "description": "Gets or sets the base container image for the migration bundle container.", + "remarks": "When set, this overrides the default base image selection entirely. Use this when the\ndefault image (derived from the project's target framework) isn't suitable — for example\nwhen targeting a preview SDK or a custom base image with extra dependencies.\nExample: `\"mcr.microsoft.com/dotnet/runtime:11.0-preview\"`.", "kind": "PropertyGetter", "signature": "bundleBaseImage(): string", "parameters": [], @@ -518,7 +549,7 @@ "name": "bundleSelfContained", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.bundleSelfContained", "qualifiedName": "EFMigrationResource.bundleSelfContained", - "description": "Gets the BundleSelfContained property", + "description": "Gets or sets whether the migration bundle should be self-contained.", "kind": "PropertyGetter", "signature": "bundleSelfContained(): boolean", "parameters": [], @@ -532,7 +563,7 @@ "name": "bundleTargetRuntime", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.bundleTargetRuntime", "qualifiedName": "EFMigrationResource.bundleTargetRuntime", - "description": "Gets the BundleTargetRuntime property", + "description": "Gets or sets the target runtime identifier for the migration bundle (e.g., \"linux-x64\", \"win-x64\").", "kind": "PropertyGetter", "signature": "bundleTargetRuntime(): string", "parameters": [], @@ -546,7 +577,8 @@ "name": "dbContextTypeName", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.dbContextTypeName", "qualifiedName": "EFMigrationResource.dbContextTypeName", - "description": "Gets the DbContextTypeName property", + "description": "Gets the fully qualified name of the DbContext type to use for migrations, or null to auto-detect.", + "remarks": "This property is used to specify which DbContext to use when the project contains multiple DbContext types.\nWhen null, the EF Core tools will auto-detect the DbContext to use.", "kind": "PropertyGetter", "signature": "dbContextTypeName(): string", "parameters": [], @@ -560,7 +592,8 @@ "name": "migrationNamespace", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.migrationNamespace", "qualifiedName": "EFMigrationResource.migrationNamespace", - "description": "Gets the MigrationNamespace property", + "description": "Gets or sets the namespace for new migrations. Used by the Add Migration command.", + "remarks": "If not specified, the namespace will be derived from the project's default namespace.", "kind": "PropertyGetter", "signature": "migrationNamespace(): string", "parameters": [], @@ -574,7 +607,8 @@ "name": "migrationOutputDirectory", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.migrationOutputDirectory", "qualifiedName": "EFMigrationResource.migrationOutputDirectory", - "description": "Gets the MigrationOutputDirectory property", + "description": "Gets or sets the output directory for new migrations. Used by the Add Migration command.", + "remarks": "If not specified, migrations will be placed in the default 'Migrations' directory.", "kind": "PropertyGetter", "signature": "migrationOutputDirectory(): string", "parameters": [], @@ -588,7 +622,8 @@ "name": "migrationsProjectPath", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.migrationsProjectPath", "qualifiedName": "EFMigrationResource.migrationsProjectPath", - "description": "Gets the MigrationsProjectPath property", + "description": "Gets or sets the path to the project containing the migrations, when it's not the same as the startup project.", + "remarks": "If not specified, migrations are assumed to be in the startup project.\nWhen specified, this project's path will be used as the target for migration operations.", "kind": "PropertyGetter", "signature": "migrationsProjectPath(): string", "parameters": [], @@ -602,7 +637,7 @@ "name": "projectResource", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.projectResource", "qualifiedName": "EFMigrationResource.projectResource", - "description": "Gets the ProjectResource property", + "description": "Gets the parent project resource that contains the DbContext.", "kind": "PropertyGetter", "signature": "projectResource(): ProjectResource", "parameters": [], @@ -616,7 +651,7 @@ "name": "publishAsMigrationBundle", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.publishAsMigrationBundle", "qualifiedName": "EFMigrationResource.publishAsMigrationBundle", - "description": "Gets the PublishAsMigrationBundle property", + "description": "Gets or sets whether a migration bundle should be generated during publishing.", "kind": "PropertyGetter", "signature": "publishAsMigrationBundle(): boolean", "parameters": [], @@ -630,7 +665,7 @@ "name": "publishAsMigrationScript", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.publishAsMigrationScript", "qualifiedName": "EFMigrationResource.publishAsMigrationScript", - "description": "Gets the PublishAsMigrationScript property", + "description": "Gets or sets whether a migration script should be generated during publishing.", "kind": "PropertyGetter", "signature": "publishAsMigrationScript(): boolean", "parameters": [], @@ -644,7 +679,8 @@ "name": "publishBundleContainer", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.publishBundleContainer", "qualifiedName": "EFMigrationResource.publishBundleContainer", - "description": "Gets the PublishBundleContainer property", + "description": "Gets or sets whether the migration bundle should be published as a container image that applies the migrations to the database at deploy time.", + "remarks": "When `true`, the resource is materialized as a `ContainerResource`\ncarrying a generated `Dockerfile` that wraps the migration bundle. The compute environment\n(Docker Compose, Azure Container Apps, Kubernetes, Azure App Service, Azure Functions, etc.)\ndeploys it alongside the other compute resources and supplies the connection string from any\n`IResourceWithConnectionString` dependency declared via `WithReference` or\n`WaitFor`.", "kind": "PropertyGetter", "signature": "publishBundleContainer(): boolean", "parameters": [], @@ -658,7 +694,7 @@ "name": "scriptIdempotent", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.scriptIdempotent", "qualifiedName": "EFMigrationResource.scriptIdempotent", - "description": "Gets the ScriptIdempotent property", + "description": "Gets or sets whether the migration script should be idempotent (include IF NOT EXISTS checks).", "kind": "PropertyGetter", "signature": "scriptIdempotent(): boolean", "parameters": [], @@ -672,7 +708,7 @@ "name": "scriptNoTransactions", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.scriptNoTransactions", "qualifiedName": "EFMigrationResource.scriptNoTransactions", - "description": "Gets the ScriptNoTransactions property", + "description": "Gets or sets whether to omit transaction statements from the migration script.", "kind": "PropertyGetter", "signature": "scriptNoTransactions(): boolean", "parameters": [], @@ -686,7 +722,8 @@ "name": "setBundleBaseImage", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setBundleBaseImage", "qualifiedName": "EFMigrationResource.setBundleBaseImage", - "description": "Sets the BundleBaseImage property", + "description": "Gets or sets the base container image for the migration bundle container.", + "remarks": "When set, this overrides the default base image selection entirely. Use this when the\ndefault image (derived from the project's target framework) isn't suitable — for example\nwhen targeting a preview SDK or a custom base image with extra dependencies.\nExample: `\"mcr.microsoft.com/dotnet/runtime:11.0-preview\"`.", "kind": "PropertySetter", "signature": "setBundleBaseImage(value: string): EFMigrationResource", "parameters": [ @@ -705,7 +742,7 @@ "name": "setBundleSelfContained", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setBundleSelfContained", "qualifiedName": "EFMigrationResource.setBundleSelfContained", - "description": "Sets the BundleSelfContained property", + "description": "Gets or sets whether the migration bundle should be self-contained.", "kind": "PropertySetter", "signature": "setBundleSelfContained(value: boolean): EFMigrationResource", "parameters": [ @@ -724,7 +761,7 @@ "name": "setBundleTargetRuntime", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setBundleTargetRuntime", "qualifiedName": "EFMigrationResource.setBundleTargetRuntime", - "description": "Sets the BundleTargetRuntime property", + "description": "Gets or sets the target runtime identifier for the migration bundle (e.g., \"linux-x64\", \"win-x64\").", "kind": "PropertySetter", "signature": "setBundleTargetRuntime(value: string): EFMigrationResource", "parameters": [ @@ -743,7 +780,8 @@ "name": "setMigrationNamespace", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setMigrationNamespace", "qualifiedName": "EFMigrationResource.setMigrationNamespace", - "description": "Sets the MigrationNamespace property", + "description": "Gets or sets the namespace for new migrations. Used by the Add Migration command.", + "remarks": "If not specified, the namespace will be derived from the project's default namespace.", "kind": "PropertySetter", "signature": "setMigrationNamespace(value: string): EFMigrationResource", "parameters": [ @@ -762,7 +800,8 @@ "name": "setMigrationOutputDirectory", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setMigrationOutputDirectory", "qualifiedName": "EFMigrationResource.setMigrationOutputDirectory", - "description": "Sets the MigrationOutputDirectory property", + "description": "Gets or sets the output directory for new migrations. Used by the Add Migration command.", + "remarks": "If not specified, migrations will be placed in the default 'Migrations' directory.", "kind": "PropertySetter", "signature": "setMigrationOutputDirectory(value: string): EFMigrationResource", "parameters": [ @@ -781,7 +820,8 @@ "name": "setMigrationsProjectPath", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setMigrationsProjectPath", "qualifiedName": "EFMigrationResource.setMigrationsProjectPath", - "description": "Sets the MigrationsProjectPath property", + "description": "Gets or sets the path to the project containing the migrations, when it's not the same as the startup project.", + "remarks": "If not specified, migrations are assumed to be in the startup project.\nWhen specified, this project's path will be used as the target for migration operations.", "kind": "PropertySetter", "signature": "setMigrationsProjectPath(value: string): EFMigrationResource", "parameters": [ @@ -800,7 +840,7 @@ "name": "setPublishAsMigrationBundle", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setPublishAsMigrationBundle", "qualifiedName": "EFMigrationResource.setPublishAsMigrationBundle", - "description": "Sets the PublishAsMigrationBundle property", + "description": "Gets or sets whether a migration bundle should be generated during publishing.", "kind": "PropertySetter", "signature": "setPublishAsMigrationBundle(value: boolean): EFMigrationResource", "parameters": [ @@ -819,7 +859,7 @@ "name": "setPublishAsMigrationScript", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setPublishAsMigrationScript", "qualifiedName": "EFMigrationResource.setPublishAsMigrationScript", - "description": "Sets the PublishAsMigrationScript property", + "description": "Gets or sets whether a migration script should be generated during publishing.", "kind": "PropertySetter", "signature": "setPublishAsMigrationScript(value: boolean): EFMigrationResource", "parameters": [ @@ -838,7 +878,8 @@ "name": "setPublishBundleContainer", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setPublishBundleContainer", "qualifiedName": "EFMigrationResource.setPublishBundleContainer", - "description": "Sets the PublishBundleContainer property", + "description": "Gets or sets whether the migration bundle should be published as a container image that applies the migrations to the database at deploy time.", + "remarks": "When `true`, the resource is materialized as a `ContainerResource`\ncarrying a generated `Dockerfile` that wraps the migration bundle. The compute environment\n(Docker Compose, Azure Container Apps, Kubernetes, Azure App Service, Azure Functions, etc.)\ndeploys it alongside the other compute resources and supplies the connection string from any\n`IResourceWithConnectionString` dependency declared via `WithReference` or\n`WaitFor`.", "kind": "PropertySetter", "signature": "setPublishBundleContainer(value: boolean): EFMigrationResource", "parameters": [ @@ -857,7 +898,7 @@ "name": "setScriptIdempotent", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setScriptIdempotent", "qualifiedName": "EFMigrationResource.setScriptIdempotent", - "description": "Sets the ScriptIdempotent property", + "description": "Gets or sets whether the migration script should be idempotent (include IF NOT EXISTS checks).", "kind": "PropertySetter", "signature": "setScriptIdempotent(value: boolean): EFMigrationResource", "parameters": [ @@ -876,7 +917,7 @@ "name": "setScriptNoTransactions", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/EFMigrationResource.setScriptNoTransactions", "qualifiedName": "EFMigrationResource.setScriptNoTransactions", - "description": "Sets the ScriptNoTransactions property", + "description": "Gets or sets whether to omit transaction statements from the migration script.", "kind": "PropertySetter", "signature": "setScriptNoTransactions(value: boolean): EFMigrationResource", "parameters": [ @@ -895,6 +936,9 @@ "name": "runDatabaseUpdateOnStart", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/runDatabaseUpdateOnStart", "qualifiedName": "runDatabaseUpdateOnStart", + "description": "Configures the EF migration resource to run database update when the AppHost starts.", + "remarks": "When enabled, migrations will be applied during AppHost startup.\nThis only affects local run-mode execution. The migrations resource is not deployed with the app,\nso the command has no effect during publish or deployment.\nA health check is automatically registered for this resource, allowing other resources to use\n`.WaitFor()` to wait until migrations complete before starting.", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "runDatabaseUpdateOnStart(): EFMigrationResource", "parameters": [], @@ -909,12 +953,16 @@ "name": "withMigrationNamespace", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/withMigrationNamespace", "qualifiedName": "withMigrationNamespace", + "description": "Configures the namespace for new migrations created with the Add Migration command.", + "remarks": "If not specified, the namespace will be derived from the project's default namespace.\nExample: \"MyApp.Data.Migrations\" or \"MyApp.Infrastructure.Migrations\".", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "withMigrationNamespace(namespace: string): EFMigrationResource", "parameters": [ { "name": "namespace", - "type": "string" + "type": "string", + "description": "The namespace for generated migrations." } ], "returnType": "EFMigrationResource", @@ -928,12 +976,16 @@ "name": "withMigrationOutputDirectory", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/withMigrationOutputDirectory", "qualifiedName": "withMigrationOutputDirectory", + "description": "Configures the output directory for new migrations created with the Add Migration command.", + "remarks": "If not specified, migrations will be placed in the default 'Migrations' directory.\nExample: \"Data/Migrations\" or \"Infrastructure/Migrations\".", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "withMigrationOutputDirectory(outputDirectory: string): EFMigrationResource", "parameters": [ { "name": "outputDirectory", - "type": "string" + "type": "string", + "description": "The output directory path relative to the project root." } ], "returnType": "EFMigrationResource", @@ -947,6 +999,9 @@ "name": "withMigrationsProject", "capabilityId": "Aspire.Hosting.EntityFrameworkCore/withMigrationsProject", "qualifiedName": "withMigrationsProject", + "description": "Configures a separate project containing the migrations using a project metadata type.", + "remarks": "Use this method when the migrations are in a different project than the startup project.\nThe target project's path will be used for migration operations while the startup project\nremains the original project.\n```\nvar migrations = project.AddEFMigrations(\"migrations\")\n.WithMigrationsProject();\n```", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "withMigrationsProject(): EFMigrationResource", "parameters": [], diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Foundry.13.3.0-preview.1.26254.5.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Foundry.13.3.0-preview.1.26254.5.json index a5f05d2f2..c3c899950 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Foundry.13.3.0-preview.1.26254.5.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Foundry.13.3.0-preview.1.26254.5.json @@ -10,18 +10,22 @@ "name": "addAISearchTool", "capabilityId": "Aspire.Hosting.Foundry/addAISearchTool", "qualifiedName": "addAISearchTool", - "description": "Adds an Azure AI Search tool to a Microsoft Foundry project.", + "description": "Adds an Azure AI Search tool to a Microsoft Foundry project, enabling agents to ground their responses using data from an Azure AI Search index.", + "remarks": "After creating the tool, call `WithReference`\nto link it to the backing Azure AI Search resource.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addAISearchTool(name: string, indexName?: string): AzureAISearchToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "indexName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional name of the search index to query. If not specified, the agent must be told which index to use." } ], "returnType": "AzureAISearchToolResource", @@ -35,41 +39,50 @@ "name": "addAzureFunctionTool", "capabilityId": "Aspire.Hosting.Foundry/addAzureFunctionTool", "qualifiedName": "addAzureFunctionTool", - "description": "Adds an Azure Function tool to a Microsoft Foundry project.", + "description": "Adds an Azure Function tool to a Microsoft Foundry project, enabling agents to invoke a serverless Azure Function with queue-based input/output bindings.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addAzureFunctionTool(name: string, functionName: string, description: string, parametersJson: string, inputQueueEndpoint: string, inputQueueName: string, outputQueueEndpoint: string, outputQueueName: string): AzureFunctionToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "functionName", - "type": "string" + "type": "string", + "description": "The name of the Azure Function." }, { "name": "description", - "type": "string" + "type": "string", + "description": "A description of what the function does." }, { "name": "parametersJson", - "type": "string" + "type": "string", + "description": "The JSON schema defining the function parameters as a JSON string." }, { "name": "inputQueueEndpoint", - "type": "string" + "type": "string", + "description": "The Azure Storage Queue endpoint for input binding." }, { "name": "inputQueueName", - "type": "string" + "type": "string", + "description": "The queue name for input binding." }, { "name": "outputQueueEndpoint", - "type": "string" + "type": "string", + "description": "The Azure Storage Queue endpoint for output binding." }, { "name": "outputQueueName", - "type": "string" + "type": "string", + "description": "The queue name for output binding." } ], "returnType": "AzureFunctionToolResource", @@ -84,16 +97,20 @@ "capabilityId": "Aspire.Hosting.Foundry/addBingGroundingConnection", "qualifiedName": "addBingGroundingConnection", "description": "Adds a Grounding with Bing Search connection to a Microsoft Foundry project.", + "remarks": "The Bing Search resource (`Microsoft.Bing/accounts`) cannot be provisioned through Aspire\nor Bicep. It must be created manually in the\nAzure portal.\nOnce the Bing resource exists, pass its resource ID to this method. The connection is\ncreated in the Foundry project using API key authentication with\n`category: \"ApiKey\"` and `metadata.Type: \"bing_grounding\"`.", + "returns": "A reference to the `IResourceBuilder`1` for the connection resource.", "kind": "Method", "signature": "addBingGroundingConnection(name: string, bingResourceId: string): BingGroundingConnectionResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the connection resource." }, { "name": "bingResourceId", - "type": "string" + "type": "string", + "description": "The full Azure resource ID of the Bing Search resource (e.g., `/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Bing/accounts/{name}`)." } ], "returnType": "BingGroundingConnectionResource", @@ -107,17 +124,21 @@ "name": "addBingGroundingConnectionFromParameter", "capabilityId": "Aspire.Hosting.Foundry/addBingGroundingConnectionFromParameter", "qualifiedName": "addBingGroundingConnectionFromParameter", - "description": "Adds a Grounding with Bing Search connection to a Microsoft Foundry project using a parameter.", + "description": "Adds a Grounding with Bing Search connection to a Microsoft Foundry project using a parameter resource for the Bing resource ID.", + "remarks": "This overload allows the Bing resource ID to be supplied as a parameter (e.g., from user secrets\nor configuration) rather than a hardcoded string. The parameter value is resolved at deployment time\nand embedded in the Bicep template.", + "returns": "A reference to the `IResourceBuilder`1` for the connection resource.", "kind": "Method", "signature": "addBingGroundingConnectionFromParameter(name: string, bingResourceId: ParameterResource): BingGroundingConnectionResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the connection resource." }, { "name": "bingResourceId", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource containing the full Azure resource ID of the Bing Search resource." } ], "returnType": "BingGroundingConnectionResource", @@ -131,13 +152,16 @@ "name": "addBingGroundingTool", "capabilityId": "Aspire.Hosting.Foundry/addBingGroundingTool", "qualifiedName": "addBingGroundingTool", - "description": "Adds a Bing Grounding tool to a Microsoft Foundry project.", + "description": "Adds a Bing Grounding tool to a Microsoft Foundry project, enabling agents to ground their responses using Bing Search results.", + "remarks": "After creating the tool, call one of the `WithReference` overloads\nto link it to a Bing Search resource.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addBingGroundingTool(name: string): BingGroundingToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." } ], "returnType": "BingGroundingToolResource", @@ -151,13 +175,15 @@ "name": "addCapabilityHost", "capabilityId": "Aspire.Hosting.Foundry/addCapabilityHostProject", "qualifiedName": "addCapabilityHost", - "description": "Adds a capability host to a Microsoft Foundry project.", + "description": "Adds a capability host to the Microsoft Foundry project.", + "returns": "A reference to the project builder for chaining capability host configuration.", "kind": "Method", "signature": "addCapabilityHost(name: string): AzureCognitiveServicesProjectResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the capability host." } ], "returnType": "AzureCognitiveServicesProjectResource", @@ -171,13 +197,15 @@ "name": "addCodeInterpreterTool", "capabilityId": "Aspire.Hosting.Foundry/addCodeInterpreterTool", "qualifiedName": "addCodeInterpreterTool", - "description": "Adds a Code Interpreter tool to a Microsoft Foundry project.", + "description": "Adds a Code Interpreter tool to a Microsoft Foundry project, enabling agents to write and run Python code in a sandboxed environment for data analysis, math, and chart generation.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addCodeInterpreterTool(name: string): CodeInterpreterToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." } ], "returnType": "CodeInterpreterToolResource", @@ -191,31 +219,36 @@ "name": "addComputerUseTool", "capabilityId": "Aspire.Hosting.Foundry/addComputerUseTool", "qualifiedName": "addComputerUseTool", - "description": "Adds a Computer Use tool to a Microsoft Foundry project.", + "description": "Adds a Computer Use tool to a Microsoft Foundry project, enabling agents to interact with a computer desktop by taking screenshots, moving the mouse, clicking, and typing.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addComputerUseTool(name: string, displayWidth?: number, displayHeight?: number, environment?: string): ComputerToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "displayWidth", "type": "number", "isOptional": true, - "defaultValue": "1024" + "defaultValue": "1024", + "description": "The width of the display in pixels." }, { "name": "displayHeight", "type": "number", "isOptional": true, - "defaultValue": "768" + "defaultValue": "768", + "description": "The height of the display in pixels." }, { "name": "environment", "type": "string", "isOptional": true, - "defaultValue": "browser" + "defaultValue": "browser", + "description": "The environment identifier. Defaults to \"browser\"." } ], "returnType": "ComputerToolResource", @@ -249,7 +282,7 @@ "name": "addContainerRegistryConnection", "capabilityId": "Aspire.Hosting.Foundry/addContainerRegistryConnection", "qualifiedName": "addContainerRegistryConnection", - "description": "Adds an Azure Container Registry connection to a Microsoft Foundry project.", + "description": "Adds a container registry connection to the Microsoft Foundry project.", "kind": "Method", "signature": "addContainerRegistryConnection(registry: AzureContainerRegistryResource): AzureCognitiveServicesProjectConnectionResource", "parameters": [ @@ -269,7 +302,7 @@ "name": "addCosmosConnection", "capabilityId": "Aspire.Hosting.Foundry/addCosmosConnection", "qualifiedName": "addCosmosConnection", - "description": "Adds an Azure Cosmos DB connection to a Microsoft Foundry project.", + "description": "Adds CosmosDB to a project as a connection", "kind": "Method", "signature": "addCosmosConnection(db: AzureCosmosDBResource): AzureCognitiveServicesProjectConnectionResource", "parameters": [ @@ -323,17 +356,20 @@ "name": "addFabricTool", "capabilityId": "Aspire.Hosting.Foundry/addFabricTool", "qualifiedName": "addFabricTool", - "description": "Adds a Microsoft Fabric data agent tool to a Microsoft Foundry project.", + "description": "Adds a Microsoft Fabric data agent tool to a Microsoft Foundry project, enabling agents to query data through Fabric data agents.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addFabricTool(name: string, projectConnectionIds: string[]): FabricToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "projectConnectionIds", - "type": "string[]" + "type": "string[]", + "description": "The Foundry project connection IDs for the Fabric data agents." } ], "returnType": "FabricToolResource", @@ -347,17 +383,20 @@ "name": "addFileSearchTool", "capabilityId": "Aspire.Hosting.Foundry/addFileSearchTool", "qualifiedName": "addFileSearchTool", - "description": "Adds a File Search tool to a Microsoft Foundry project.", + "description": "Adds a File Search tool to a Microsoft Foundry project, enabling agents to search uploaded files and proprietary documents using vector search.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addFileSearchTool(name: string, vectorStoreIds: string[]): FileSearchToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "vectorStoreIds", - "type": "string[]" + "type": "string[]", + "description": "Optional vector store IDs to search. If empty, the agent's default stores are used." } ], "returnType": "FileSearchToolResource", @@ -371,13 +410,15 @@ "name": "addFoundry", "capabilityId": "Aspire.Hosting.Foundry/addFoundry", "qualifiedName": "addFoundry", - "description": "Adds a Microsoft Foundry resource to the distributed application model.", + "description": "Adds a Microsoft Foundry resource to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addFoundry(name: string): FoundryResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." } ], "returnType": "FoundryResource", @@ -391,32 +432,38 @@ "name": "addFunctionTool", "capabilityId": "Aspire.Hosting.Foundry/addFunctionTool", "qualifiedName": "addFunctionTool", - "description": "Adds a function calling tool to a Microsoft Foundry project.", + "description": "Adds a function calling tool to a Microsoft Foundry project, enabling agents to call application-defined functions with structured parameters.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addFunctionTool(name: string, functionName: string, parametersJson: string, description?: string, strictModeEnabled?: boolean): FunctionToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "functionName", - "type": "string" + "type": "string", + "description": "The name of the function." }, { "name": "parametersJson", - "type": "string" + "type": "string", + "description": "The JSON schema defining the function parameters as a JSON string." }, { "name": "description", "type": "string", - "isOptional": true + "isOptional": true, + "description": "A description of what the function does." }, { "name": "strictModeEnabled", "type": "boolean", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "Whether to enable strict mode for parameter validation." } ], "returnType": "FunctionToolResource", @@ -430,13 +477,15 @@ "name": "addImageGenerationTool", "capabilityId": "Aspire.Hosting.Foundry/addImageGenerationTool", "qualifiedName": "addImageGenerationTool", - "description": "Adds an Image Generation tool to a Microsoft Foundry project.", + "description": "Adds an Image Generation tool to a Microsoft Foundry project, enabling agents to generate and edit images.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addImageGenerationTool(name: string): ImageGenerationToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." } ], "returnType": "ImageGenerationToolResource", @@ -450,7 +499,8 @@ "name": "addKeyVaultConnection", "capabilityId": "Aspire.Hosting.Foundry/addKeyVaultConnection", "qualifiedName": "addKeyVaultConnection", - "description": "Adds an Azure Key Vault connection to a Microsoft Foundry project.", + "description": "Adds a Key Vault connection to the Microsoft Foundry project.", + "remarks": "This connection allows the Microsoft Foundry project to store secrets for various other connections.\nAs such, we recommend adding this connection *before* any others, so that those connections\ncan leverage the Key Vault connection for secret storage.", "kind": "Method", "signature": "addKeyVaultConnection(keyVault: AzureKeyVaultResource): AzureCognitiveServicesProjectConnectionResource", "parameters": [ @@ -504,13 +554,15 @@ "name": "addProject", "capabilityId": "Aspire.Hosting.Foundry/addProject", "qualifiedName": "addProject", - "description": "Adds a Microsoft Foundry project resource to a Microsoft Foundry resource.", + "description": "Adds a Microsoft Foundry project resource to the application model. This will also attach the project as a deployment target for agents.", + "returns": "A reference to the `IResourceBuilder`1` for the Microsoft Foundry project resource.", "kind": "Method", "signature": "addProject(name: string): AzureCognitiveServicesProjectResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Microsoft Foundry project resource." } ], "returnType": "AzureCognitiveServicesProjectResource", @@ -524,22 +576,27 @@ "name": "addPromptAgent", "capabilityId": "Aspire.Hosting.Foundry/addPromptAgent", "qualifiedName": "addPromptAgent", - "description": "Adds a prompt agent to a Microsoft Foundry project.", + "description": "Adds a prompt agent to a Microsoft Foundry project with the specified tools.", + "remarks": "Prompt agents are always deployed to Azure Foundry, even during local development\n(`aspire run`). Local services communicate with the cloud-provisioned agent\nusing the project endpoint and agent name injected as environment variables.\nTools are project-level resources created with `Add*Tool` methods and can be\nreused across multiple agents in the same project.", + "returns": "A reference to the `IResourceBuilder`1` for the prompt agent resource.", "kind": "Method", "signature": "addPromptAgent(model: FoundryDeploymentResource, name: string, instructions?: string): AzurePromptAgentResource", "parameters": [ { "name": "model", - "type": "FoundryDeploymentResource" + "type": "FoundryDeploymentResource", + "description": "The model deployment to use for this agent." }, { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the prompt agent. This will be the agent name in Foundry." }, { "name": "instructions", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional system instructions for the agent." } ], "returnType": "AzurePromptAgentResource", @@ -573,17 +630,20 @@ "name": "addSharePointTool", "capabilityId": "Aspire.Hosting.Foundry/addSharePointTool", "qualifiedName": "addSharePointTool", - "description": "Adds a SharePoint grounding tool to a Microsoft Foundry project.", + "description": "Adds a SharePoint grounding tool to a Microsoft Foundry project, enabling agents to search data from SharePoint sites configured as Foundry project connections.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addSharePointTool(name: string, projectConnectionIds: string[]): SharePointToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "projectConnectionIds", - "type": "string[]" + "type": "string[]", + "description": "The Foundry project connection IDs for the SharePoint sites." } ], "returnType": "SharePointToolResource", @@ -597,7 +657,7 @@ "name": "addStorageConnection", "capabilityId": "Aspire.Hosting.Foundry/addStorageConnection", "qualifiedName": "addStorageConnection", - "description": "Adds an Azure Storage connection to a Microsoft Foundry project.", + "description": "Adds an Azure Storage account to a project as a connection.", "kind": "Method", "signature": "addStorageConnection(storage: AzureStorageResource): AzureCognitiveServicesProjectConnectionResource", "parameters": [ @@ -617,13 +677,15 @@ "name": "addWebSearchTool", "capabilityId": "Aspire.Hosting.Foundry/addWebSearchTool", "qualifiedName": "addWebSearchTool", - "description": "Adds a Web Search tool to a Microsoft Foundry project.", + "description": "Adds a Web Search tool to a Microsoft Foundry project, enabling agents to retrieve real-time information from the public web and return answers with inline citations.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addWebSearchTool(name: string): WebSearchToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." } ], "returnType": "WebSearchToolResource", @@ -651,7 +713,7 @@ "name": "description", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.description", "qualifiedName": "AzurePromptAgentResource.description", - "description": "Gets the Description property", + "description": "Gets or sets a description of the agent.", "kind": "PropertyGetter", "signature": "description(): string", "parameters": [], @@ -665,7 +727,7 @@ "name": "instructions", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.instructions", "qualifiedName": "AzurePromptAgentResource.instructions", - "description": "Gets the Instructions property", + "description": "Gets or sets the system instructions for the agent.", "kind": "PropertyGetter", "signature": "instructions(): string", "parameters": [], @@ -679,11 +741,11 @@ "name": "metadata", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.metadata", "qualifiedName": "AzurePromptAgentResource.metadata", - "description": "Gets the Metadata property", + "description": "Gets the metadata to associate with the agent.", "kind": "PropertyGetter", - "signature": "metadata(): Dict\u003Cstring,string\u003E", + "signature": "metadata(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.AzurePromptAgentResource", "expandedTargetTypes": [ "Aspire.Hosting.Foundry.AzurePromptAgentResource" @@ -693,7 +755,7 @@ "name": "model", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.model", "qualifiedName": "AzurePromptAgentResource.model", - "description": "Gets the Model property", + "description": "Gets or sets the model deployment name used by this agent.", "kind": "PropertyGetter", "signature": "model(): string", "parameters": [], @@ -707,7 +769,7 @@ "name": "setDescription", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.setDescription", "qualifiedName": "AzurePromptAgentResource.setDescription", - "description": "Sets the Description property", + "description": "Gets or sets a description of the agent.", "kind": "PropertySetter", "signature": "setDescription(value: string): AzurePromptAgentResource", "parameters": [ @@ -726,7 +788,7 @@ "name": "setInstructions", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.setInstructions", "qualifiedName": "AzurePromptAgentResource.setInstructions", - "description": "Sets the Instructions property", + "description": "Gets or sets the system instructions for the agent.", "kind": "PropertySetter", "signature": "setInstructions(value: string): AzurePromptAgentResource", "parameters": [ @@ -741,30 +803,11 @@ "Aspire.Hosting.Foundry.AzurePromptAgentResource" ] }, - { - "name": "setMetadata", - "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.setMetadata", - "qualifiedName": "AzurePromptAgentResource.setMetadata", - "description": "Sets the Metadata property", - "kind": "PropertySetter", - "signature": "setMetadata(value: Dict\u003Cstring,string\u003E): AzurePromptAgentResource", - "parameters": [ - { - "name": "value", - "type": "Dict\u003Cstring,string\u003E" - } - ], - "returnType": "AzurePromptAgentResource", - "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.AzurePromptAgentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Foundry.AzurePromptAgentResource" - ] - }, { "name": "setModel", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.setModel", "qualifiedName": "AzurePromptAgentResource.setModel", - "description": "Sets the Model property", + "description": "Gets or sets the model deployment name used by this agent.", "kind": "PropertySetter", "signature": "setModel(value: string): AzurePromptAgentResource", "parameters": [ @@ -783,7 +826,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.connectionStringExpression", "qualifiedName": "FoundryDeploymentResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Microsoft Foundry resource with model/deployment information.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -797,7 +840,8 @@ "name": "deploymentName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.deploymentName", "qualifiedName": "FoundryDeploymentResource.deploymentName", - "description": "Gets the DeploymentName property", + "description": "Gets or sets the name of the deployment.", + "remarks": "This defaults to `ModelName`, but allows for a different deployment name in Azure.\nWhen using Foundry Local, this is the model id.", "kind": "PropertyGetter", "signature": "deploymentName(): string", "parameters": [], @@ -811,7 +855,8 @@ "name": "format", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.format", "qualifiedName": "FoundryDeploymentResource.format", - "description": "Gets the Format property", + "description": "Gets or sets the format of deployment model.", + "remarks": "Typical values are \"OpenAI\", \"Microsoft\", \"xAi\", \"Deepseek\".", "kind": "PropertyGetter", "signature": "format(): string", "parameters": [], @@ -825,7 +870,7 @@ "name": "modelName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.modelName", "qualifiedName": "FoundryDeploymentResource.modelName", - "description": "Gets the ModelName property", + "description": "Gets or sets the name of the model.", "kind": "PropertyGetter", "signature": "modelName(): string", "parameters": [], @@ -839,7 +884,7 @@ "name": "modelVersion", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.modelVersion", "qualifiedName": "FoundryDeploymentResource.modelVersion", - "description": "Gets the ModelVersion property", + "description": "Gets or sets the version of the model.", "kind": "PropertyGetter", "signature": "modelVersion(): string", "parameters": [], @@ -853,7 +898,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.parent", "qualifiedName": "FoundryDeploymentResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Microsoft Foundry resource.", "kind": "PropertyGetter", "signature": "parent(): FoundryResource", "parameters": [], @@ -867,7 +912,8 @@ "name": "setDeploymentName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setDeploymentName", "qualifiedName": "FoundryDeploymentResource.setDeploymentName", - "description": "Sets the DeploymentName property", + "description": "Gets or sets the name of the deployment.", + "remarks": "This defaults to `ModelName`, but allows for a different deployment name in Azure.\nWhen using Foundry Local, this is the model id.", "kind": "PropertySetter", "signature": "setDeploymentName(value: string): FoundryDeploymentResource", "parameters": [ @@ -886,7 +932,8 @@ "name": "setFormat", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setFormat", "qualifiedName": "FoundryDeploymentResource.setFormat", - "description": "Sets the Format property", + "description": "Gets or sets the format of deployment model.", + "remarks": "Typical values are \"OpenAI\", \"Microsoft\", \"xAi\", \"Deepseek\".", "kind": "PropertySetter", "signature": "setFormat(value: string): FoundryDeploymentResource", "parameters": [ @@ -905,7 +952,7 @@ "name": "setModelName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setModelName", "qualifiedName": "FoundryDeploymentResource.setModelName", - "description": "Sets the ModelName property", + "description": "Gets or sets the name of the model.", "kind": "PropertySetter", "signature": "setModelName(value: string): FoundryDeploymentResource", "parameters": [ @@ -924,7 +971,7 @@ "name": "setModelVersion", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setModelVersion", "qualifiedName": "FoundryDeploymentResource.setModelVersion", - "description": "Sets the ModelVersion property", + "description": "Gets or sets the version of the model.", "kind": "PropertySetter", "signature": "setModelVersion(value: string): FoundryDeploymentResource", "parameters": [ @@ -943,7 +990,7 @@ "name": "setParent", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setParent", "qualifiedName": "FoundryDeploymentResource.setParent", - "description": "Sets the Parent property", + "description": "Gets the parent Microsoft Foundry resource.", "kind": "PropertySetter", "signature": "setParent(value: FoundryResource): FoundryDeploymentResource", "parameters": [ @@ -962,7 +1009,8 @@ "name": "setSkuCapacity", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setSkuCapacity", "qualifiedName": "FoundryDeploymentResource.setSkuCapacity", - "description": "Sets the SkuCapacity property", + "description": "Gets or sets the capacity of the SKU, in thousands of tokens per minute (TPM).", + "remarks": "For example, a value of 10 means 10,000 tokens per minute. Exceeding this rate\nlimit results in HTTP 429 responses. See\nAzure AI quota management\nfor more information.", "kind": "PropertySetter", "signature": "setSkuCapacity(value: number): FoundryDeploymentResource", "parameters": [ @@ -981,7 +1029,7 @@ "name": "setSkuName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setSkuName", "qualifiedName": "FoundryDeploymentResource.setSkuName", - "description": "Sets the SkuName property", + "description": "Gets or sets the name of the SKU.", "kind": "PropertySetter", "signature": "setSkuName(value: string): FoundryDeploymentResource", "parameters": [ @@ -1000,7 +1048,8 @@ "name": "skuCapacity", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.skuCapacity", "qualifiedName": "FoundryDeploymentResource.skuCapacity", - "description": "Gets the SkuCapacity property", + "description": "Gets or sets the capacity of the SKU, in thousands of tokens per minute (TPM).", + "remarks": "For example, a value of 10 means 10,000 tokens per minute. Exceeding this rate\nlimit results in HTTP 429 responses. See\nAzure AI quota management\nfor more information.", "kind": "PropertyGetter", "signature": "skuCapacity(): number", "parameters": [], @@ -1014,7 +1063,7 @@ "name": "skuName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.skuName", "qualifiedName": "FoundryDeploymentResource.skuName", - "description": "Gets the SkuName property", + "description": "Gets or sets the name of the SKU.", "kind": "PropertyGetter", "signature": "skuName(): string", "parameters": [], @@ -1028,7 +1077,7 @@ "name": "cpu", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.cpu", "qualifiedName": "HostedAgentConfiguration.cpu", - "description": "Gets the Cpu property", + "description": "CPU allocation for each hosted agent instance, in vCPU cores.", "kind": "PropertyGetter", "signature": "cpu(): number", "parameters": [], @@ -1042,7 +1091,7 @@ "name": "description", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.description", "qualifiedName": "HostedAgentConfiguration.description", - "description": "Gets the Description property", + "description": "The description of the hosted agent.", "kind": "PropertyGetter", "signature": "description(): string", "parameters": [], @@ -1056,11 +1105,11 @@ "name": "environmentVariables", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.environmentVariables", "qualifiedName": "HostedAgentConfiguration.environmentVariables", - "description": "Gets the EnvironmentVariables property", + "description": "Environment variables to set in the hosted agent container.", "kind": "PropertyGetter", - "signature": "environmentVariables(): Dict\u003Cstring,string\u003E", + "signature": "environmentVariables(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.HostedAgentConfiguration", "expandedTargetTypes": [ "Aspire.Hosting.Foundry.HostedAgentConfiguration" @@ -1070,7 +1119,7 @@ "name": "memory", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.memory", "qualifiedName": "HostedAgentConfiguration.memory", - "description": "Gets the Memory property", + "description": "Memory allocation for each hosted agent instance, in GiB. Must be 2x the CPU allocation.", "kind": "PropertyGetter", "signature": "memory(): number", "parameters": [], @@ -1084,11 +1133,11 @@ "name": "metadata", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.metadata", "qualifiedName": "HostedAgentConfiguration.metadata", - "description": "Gets the Metadata property", + "description": "Additional metadata to associate with the hosted agent.", "kind": "PropertyGetter", - "signature": "metadata(): Dict\u003Cstring,string\u003E", + "signature": "metadata(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.HostedAgentConfiguration", "expandedTargetTypes": [ "Aspire.Hosting.Foundry.HostedAgentConfiguration" @@ -1098,7 +1147,7 @@ "name": "setCpu", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.setCpu", "qualifiedName": "HostedAgentConfiguration.setCpu", - "description": "Sets the Cpu property", + "description": "CPU allocation for each hosted agent instance, in vCPU cores.", "kind": "PropertySetter", "signature": "setCpu(value: number): HostedAgentConfiguration", "parameters": [ @@ -1117,7 +1166,7 @@ "name": "setDescription", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.setDescription", "qualifiedName": "HostedAgentConfiguration.setDescription", - "description": "Sets the Description property", + "description": "The description of the hosted agent.", "kind": "PropertySetter", "signature": "setDescription(value: string): HostedAgentConfiguration", "parameters": [ @@ -1132,30 +1181,11 @@ "Aspire.Hosting.Foundry.HostedAgentConfiguration" ] }, - { - "name": "setEnvironmentVariables", - "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.setEnvironmentVariables", - "qualifiedName": "HostedAgentConfiguration.setEnvironmentVariables", - "description": "Sets the EnvironmentVariables property", - "kind": "PropertySetter", - "signature": "setEnvironmentVariables(value: Dict\u003Cstring,string\u003E): HostedAgentConfiguration", - "parameters": [ - { - "name": "value", - "type": "Dict\u003Cstring,string\u003E" - } - ], - "returnType": "HostedAgentConfiguration", - "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.HostedAgentConfiguration", - "expandedTargetTypes": [ - "Aspire.Hosting.Foundry.HostedAgentConfiguration" - ] - }, { "name": "setMemory", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.setMemory", "qualifiedName": "HostedAgentConfiguration.setMemory", - "description": "Sets the Memory property", + "description": "Memory allocation for each hosted agent instance, in GiB. Must be 2x the CPU allocation.", "kind": "PropertySetter", "signature": "setMemory(value: number): HostedAgentConfiguration", "parameters": [ @@ -1170,32 +1200,13 @@ "Aspire.Hosting.Foundry.HostedAgentConfiguration" ] }, - { - "name": "setMetadata", - "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.setMetadata", - "qualifiedName": "HostedAgentConfiguration.setMetadata", - "description": "Sets the Metadata property", - "kind": "PropertySetter", - "signature": "setMetadata(value: Dict\u003Cstring,string\u003E): HostedAgentConfiguration", - "parameters": [ - { - "name": "value", - "type": "Dict\u003Cstring,string\u003E" - } - ], - "returnType": "HostedAgentConfiguration", - "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.HostedAgentConfiguration", - "expandedTargetTypes": [ - "Aspire.Hosting.Foundry.HostedAgentConfiguration" - ] - }, { "name": "publishAsHostedAgent", "capabilityId": "Aspire.Hosting.Foundry/publishAsHostedAgentExecutable", "qualifiedName": "publishAsHostedAgent", - "description": "Publishes an executable resource as a hosted agent in Microsoft Foundry.", + "description": "Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically.", "kind": "Method", - "signature": "publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) =\u003E Promise\u003Cvoid\u003E): IResourceWithEndpoints", + "signature": "publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): IResourceWithEndpoints", "parameters": [ { "name": "project", @@ -1207,7 +1218,7 @@ "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: HostedAgentConfiguration) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: HostedAgentConfiguration) => Promise" } ], "returnType": "IResourceWithEndpoints", @@ -1231,7 +1242,8 @@ "name": "runAsFoundryLocal", "capabilityId": "Aspire.Hosting.Foundry/runAsFoundryLocal", "qualifiedName": "runAsFoundryLocal", - "description": "Configures the Microsoft Foundry resource to run by using Foundry Local.", + "description": "Adds a Foundry Local resource to the distributed application builder.", + "returns": "A resource builder for the Foundry Local resource.", "kind": "Method", "signature": "runAsFoundryLocal(): FoundryResource", "parameters": [], @@ -1246,13 +1258,15 @@ "name": "withAppInsights", "capabilityId": "Aspire.Hosting.Foundry/withAppInsights", "qualifiedName": "withAppInsights", - "description": "Associates an Azure Application Insights resource with a Microsoft Foundry project.", + "description": "Adds an Application Insights resource to the Microsoft Foundry project, overriding the default (which is to create a new Application Insights resource).", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withAppInsights(appInsights: AzureApplicationInsightsResource): AzureCognitiveServicesProjectResource", "parameters": [ { "name": "appInsights", - "type": "AzureApplicationInsightsResource" + "type": "AzureApplicationInsightsResource", + "description": "The Application Insights resource to associate with the project." } ], "returnType": "AzureCognitiveServicesProjectResource", @@ -1267,12 +1281,14 @@ "capabilityId": "Aspire.Hosting.Foundry/withCapabilityHost", "qualifiedName": "withCapabilityHost", "description": "Associates a supported resource with a capability host on a Microsoft Foundry project.", + "returns": "A reference to the project builder for chaining capability host configuration.", "kind": "Method", "signature": "withCapabilityHost(resource: FoundryResource): AzureCognitiveServicesProjectResource", "parameters": [ { "name": "resource", - "type": "FoundryResource" + "type": "FoundryResource", + "description": "The supported capability host resource." } ], "returnType": "AzureCognitiveServicesProjectResource", @@ -1286,13 +1302,15 @@ "name": "withKeyVault", "capabilityId": "Aspire.Hosting.Foundry/withKeyVault", "qualifiedName": "withKeyVault", - "description": "Associates an Azure Key Vault resource with a Microsoft Foundry project.", + "description": "Adds a Key Vault connection to the Microsoft Foundry project.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withKeyVault(keyVault: AzureKeyVaultResource): AzureCognitiveServicesProjectResource", "parameters": [ { "name": "keyVault", - "type": "AzureKeyVaultResource" + "type": "AzureKeyVaultResource", + "description": "The Key Vault resource to associate with the project." } ], "returnType": "AzureCognitiveServicesProjectResource", @@ -1306,15 +1324,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Foundry/withFoundryDeploymentProperties", "qualifiedName": "withProperties", - "description": "Configures properties of a Microsoft Foundry deployment resource.", + "description": "Allows setting the properties of a Microsoft Foundry Deployment resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: FoundryDeploymentResource) =\u003E Promise\u003Cvoid\u003E): FoundryDeploymentResource", + "signature": "withProperties(configure: (obj: FoundryDeploymentResource) => Promise): FoundryDeploymentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: FoundryDeploymentResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: FoundryDeploymentResource) => Promise", + "description": "A method that can be used for customizing the `FoundryDeploymentResource`." } ], "returnType": "FoundryDeploymentResource", @@ -1328,13 +1348,15 @@ "name": "withReference", "capabilityId": "Aspire.Hosting.Foundry/withReference", "qualifiedName": "withReference", - "description": "Links an Azure AI Search tool to a backing search resource.", + "description": "Links an Azure AI Search tool to a backing `AzureSearchResource`, creating the necessary Foundry project connection and role assignments.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withReference(search: AzureSearchResource): AzureAISearchToolResource", "parameters": [ { "name": "search", - "type": "AzureSearchResource" + "type": "AzureSearchResource", + "description": "The Azure AI Search resource to use for grounding." } ], "returnType": "AzureAISearchToolResource", @@ -1369,12 +1391,14 @@ "capabilityId": "Aspire.Hosting.Foundry/withTool", "qualifiedName": "withTool", "description": "Adds a tool to a prompt agent.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withTool(tool: FoundryToolResource): AzurePromptAgentResource", "parameters": [ { "name": "tool", - "type": "FoundryToolResource" + "type": "FoundryToolResource", + "description": "The tool resource to attach to this agent." } ], "returnType": "AzurePromptAgentResource", @@ -1390,6 +1414,8 @@ "name": "AzureAISearchToolResource", "fullName": "Aspire.Hosting.Foundry.AzureAISearchToolResource", "kind": "handle", + "description": "A Foundry tool resource that grounds an agent's responses using data from an Azure AI Search index.", + "remarks": "After creating this tool with `AddAISearchTool`,\nlink it to an `AzureSearchResource` using\n`WithReference`.\nThe connection identifier is resolved at deploy time when the agent definition is created.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -1399,13 +1425,15 @@ "name": "withReference", "capabilityId": "Aspire.Hosting.Foundry/withReference", "qualifiedName": "withReference", - "description": "Links an Azure AI Search tool to a backing search resource.", + "description": "Links an Azure AI Search tool to a backing `AzureSearchResource`, creating the necessary Foundry project connection and role assignments.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withReference(search: AzureSearchResource): AzureAISearchToolResource", "parameters": [ { "name": "search", - "type": "AzureSearchResource" + "type": "AzureSearchResource", + "description": "The Azure AI Search resource to use for grounding." } ], "returnType": "AzureAISearchToolResource", @@ -1426,7 +1454,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithParameters", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource]]" + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource]]" ], "capabilities": [] }, @@ -1443,7 +1471,7 @@ "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParameters", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Foundry.FoundryResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Foundry.FoundryResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences", "Aspire.Hosting.Azure.IAzureComputeEnvironmentResource" @@ -1453,18 +1481,22 @@ "name": "addAISearchTool", "capabilityId": "Aspire.Hosting.Foundry/addAISearchTool", "qualifiedName": "addAISearchTool", - "description": "Adds an Azure AI Search tool to a Microsoft Foundry project.", + "description": "Adds an Azure AI Search tool to a Microsoft Foundry project, enabling agents to ground their responses using data from an Azure AI Search index.", + "remarks": "After creating the tool, call `WithReference`\nto link it to the backing Azure AI Search resource.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addAISearchTool(name: string, indexName?: string): AzureAISearchToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "indexName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional name of the search index to query. If not specified, the agent must be told which index to use." } ], "returnType": "AzureAISearchToolResource", @@ -1478,41 +1510,50 @@ "name": "addAzureFunctionTool", "capabilityId": "Aspire.Hosting.Foundry/addAzureFunctionTool", "qualifiedName": "addAzureFunctionTool", - "description": "Adds an Azure Function tool to a Microsoft Foundry project.", + "description": "Adds an Azure Function tool to a Microsoft Foundry project, enabling agents to invoke a serverless Azure Function with queue-based input/output bindings.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addAzureFunctionTool(name: string, functionName: string, description: string, parametersJson: string, inputQueueEndpoint: string, inputQueueName: string, outputQueueEndpoint: string, outputQueueName: string): AzureFunctionToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "functionName", - "type": "string" + "type": "string", + "description": "The name of the Azure Function." }, { "name": "description", - "type": "string" + "type": "string", + "description": "A description of what the function does." }, { "name": "parametersJson", - "type": "string" + "type": "string", + "description": "The JSON schema defining the function parameters as a JSON string." }, { "name": "inputQueueEndpoint", - "type": "string" + "type": "string", + "description": "The Azure Storage Queue endpoint for input binding." }, { "name": "inputQueueName", - "type": "string" + "type": "string", + "description": "The queue name for input binding." }, { "name": "outputQueueEndpoint", - "type": "string" + "type": "string", + "description": "The Azure Storage Queue endpoint for output binding." }, { "name": "outputQueueName", - "type": "string" + "type": "string", + "description": "The queue name for output binding." } ], "returnType": "AzureFunctionToolResource", @@ -1527,16 +1568,20 @@ "capabilityId": "Aspire.Hosting.Foundry/addBingGroundingConnection", "qualifiedName": "addBingGroundingConnection", "description": "Adds a Grounding with Bing Search connection to a Microsoft Foundry project.", + "remarks": "The Bing Search resource (`Microsoft.Bing/accounts`) cannot be provisioned through Aspire\nor Bicep. It must be created manually in the\nAzure portal.\nOnce the Bing resource exists, pass its resource ID to this method. The connection is\ncreated in the Foundry project using API key authentication with\n`category: \"ApiKey\"` and `metadata.Type: \"bing_grounding\"`.", + "returns": "A reference to the `IResourceBuilder`1` for the connection resource.", "kind": "Method", "signature": "addBingGroundingConnection(name: string, bingResourceId: string): BingGroundingConnectionResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the connection resource." }, { "name": "bingResourceId", - "type": "string" + "type": "string", + "description": "The full Azure resource ID of the Bing Search resource (e.g., `/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Bing/accounts/{name}`)." } ], "returnType": "BingGroundingConnectionResource", @@ -1550,17 +1595,21 @@ "name": "addBingGroundingConnectionFromParameter", "capabilityId": "Aspire.Hosting.Foundry/addBingGroundingConnectionFromParameter", "qualifiedName": "addBingGroundingConnectionFromParameter", - "description": "Adds a Grounding with Bing Search connection to a Microsoft Foundry project using a parameter.", + "description": "Adds a Grounding with Bing Search connection to a Microsoft Foundry project using a parameter resource for the Bing resource ID.", + "remarks": "This overload allows the Bing resource ID to be supplied as a parameter (e.g., from user secrets\nor configuration) rather than a hardcoded string. The parameter value is resolved at deployment time\nand embedded in the Bicep template.", + "returns": "A reference to the `IResourceBuilder`1` for the connection resource.", "kind": "Method", "signature": "addBingGroundingConnectionFromParameter(name: string, bingResourceId: ParameterResource): BingGroundingConnectionResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the connection resource." }, { "name": "bingResourceId", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource containing the full Azure resource ID of the Bing Search resource." } ], "returnType": "BingGroundingConnectionResource", @@ -1574,13 +1623,16 @@ "name": "addBingGroundingTool", "capabilityId": "Aspire.Hosting.Foundry/addBingGroundingTool", "qualifiedName": "addBingGroundingTool", - "description": "Adds a Bing Grounding tool to a Microsoft Foundry project.", + "description": "Adds a Bing Grounding tool to a Microsoft Foundry project, enabling agents to ground their responses using Bing Search results.", + "remarks": "After creating the tool, call one of the `WithReference` overloads\nto link it to a Bing Search resource.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addBingGroundingTool(name: string): BingGroundingToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." } ], "returnType": "BingGroundingToolResource", @@ -1594,13 +1646,15 @@ "name": "addCapabilityHost", "capabilityId": "Aspire.Hosting.Foundry/addCapabilityHostProject", "qualifiedName": "addCapabilityHost", - "description": "Adds a capability host to a Microsoft Foundry project.", + "description": "Adds a capability host to the Microsoft Foundry project.", + "returns": "A reference to the project builder for chaining capability host configuration.", "kind": "Method", "signature": "addCapabilityHost(name: string): AzureCognitiveServicesProjectResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the capability host." } ], "returnType": "AzureCognitiveServicesProjectResource", @@ -1614,13 +1668,15 @@ "name": "addCodeInterpreterTool", "capabilityId": "Aspire.Hosting.Foundry/addCodeInterpreterTool", "qualifiedName": "addCodeInterpreterTool", - "description": "Adds a Code Interpreter tool to a Microsoft Foundry project.", + "description": "Adds a Code Interpreter tool to a Microsoft Foundry project, enabling agents to write and run Python code in a sandboxed environment for data analysis, math, and chart generation.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addCodeInterpreterTool(name: string): CodeInterpreterToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." } ], "returnType": "CodeInterpreterToolResource", @@ -1634,31 +1690,36 @@ "name": "addComputerUseTool", "capabilityId": "Aspire.Hosting.Foundry/addComputerUseTool", "qualifiedName": "addComputerUseTool", - "description": "Adds a Computer Use tool to a Microsoft Foundry project.", + "description": "Adds a Computer Use tool to a Microsoft Foundry project, enabling agents to interact with a computer desktop by taking screenshots, moving the mouse, clicking, and typing.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addComputerUseTool(name: string, displayWidth?: number, displayHeight?: number, environment?: string): ComputerToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "displayWidth", "type": "number", "isOptional": true, - "defaultValue": "1024" + "defaultValue": "1024", + "description": "The width of the display in pixels." }, { "name": "displayHeight", "type": "number", "isOptional": true, - "defaultValue": "768" + "defaultValue": "768", + "description": "The height of the display in pixels." }, { "name": "environment", "type": "string", "isOptional": true, - "defaultValue": "browser" + "defaultValue": "browser", + "description": "The environment identifier. Defaults to \"browser\"." } ], "returnType": "ComputerToolResource", @@ -1692,7 +1753,7 @@ "name": "addContainerRegistryConnection", "capabilityId": "Aspire.Hosting.Foundry/addContainerRegistryConnection", "qualifiedName": "addContainerRegistryConnection", - "description": "Adds an Azure Container Registry connection to a Microsoft Foundry project.", + "description": "Adds a container registry connection to the Microsoft Foundry project.", "kind": "Method", "signature": "addContainerRegistryConnection(registry: AzureContainerRegistryResource): AzureCognitiveServicesProjectConnectionResource", "parameters": [ @@ -1712,7 +1773,7 @@ "name": "addCosmosConnection", "capabilityId": "Aspire.Hosting.Foundry/addCosmosConnection", "qualifiedName": "addCosmosConnection", - "description": "Adds an Azure Cosmos DB connection to a Microsoft Foundry project.", + "description": "Adds CosmosDB to a project as a connection", "kind": "Method", "signature": "addCosmosConnection(db: AzureCosmosDBResource): AzureCognitiveServicesProjectConnectionResource", "parameters": [ @@ -1732,17 +1793,20 @@ "name": "addFabricTool", "capabilityId": "Aspire.Hosting.Foundry/addFabricTool", "qualifiedName": "addFabricTool", - "description": "Adds a Microsoft Fabric data agent tool to a Microsoft Foundry project.", + "description": "Adds a Microsoft Fabric data agent tool to a Microsoft Foundry project, enabling agents to query data through Fabric data agents.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addFabricTool(name: string, projectConnectionIds: string[]): FabricToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "projectConnectionIds", - "type": "string[]" + "type": "string[]", + "description": "The Foundry project connection IDs for the Fabric data agents." } ], "returnType": "FabricToolResource", @@ -1756,17 +1820,20 @@ "name": "addFileSearchTool", "capabilityId": "Aspire.Hosting.Foundry/addFileSearchTool", "qualifiedName": "addFileSearchTool", - "description": "Adds a File Search tool to a Microsoft Foundry project.", + "description": "Adds a File Search tool to a Microsoft Foundry project, enabling agents to search uploaded files and proprietary documents using vector search.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addFileSearchTool(name: string, vectorStoreIds: string[]): FileSearchToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "vectorStoreIds", - "type": "string[]" + "type": "string[]", + "description": "Optional vector store IDs to search. If empty, the agent's default stores are used." } ], "returnType": "FileSearchToolResource", @@ -1780,32 +1847,38 @@ "name": "addFunctionTool", "capabilityId": "Aspire.Hosting.Foundry/addFunctionTool", "qualifiedName": "addFunctionTool", - "description": "Adds a function calling tool to a Microsoft Foundry project.", + "description": "Adds a function calling tool to a Microsoft Foundry project, enabling agents to call application-defined functions with structured parameters.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addFunctionTool(name: string, functionName: string, parametersJson: string, description?: string, strictModeEnabled?: boolean): FunctionToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "functionName", - "type": "string" + "type": "string", + "description": "The name of the function." }, { "name": "parametersJson", - "type": "string" + "type": "string", + "description": "The JSON schema defining the function parameters as a JSON string." }, { "name": "description", "type": "string", - "isOptional": true + "isOptional": true, + "description": "A description of what the function does." }, { "name": "strictModeEnabled", "type": "boolean", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "Whether to enable strict mode for parameter validation." } ], "returnType": "FunctionToolResource", @@ -1819,13 +1892,15 @@ "name": "addImageGenerationTool", "capabilityId": "Aspire.Hosting.Foundry/addImageGenerationTool", "qualifiedName": "addImageGenerationTool", - "description": "Adds an Image Generation tool to a Microsoft Foundry project.", + "description": "Adds an Image Generation tool to a Microsoft Foundry project, enabling agents to generate and edit images.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addImageGenerationTool(name: string): ImageGenerationToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." } ], "returnType": "ImageGenerationToolResource", @@ -1839,7 +1914,8 @@ "name": "addKeyVaultConnection", "capabilityId": "Aspire.Hosting.Foundry/addKeyVaultConnection", "qualifiedName": "addKeyVaultConnection", - "description": "Adds an Azure Key Vault connection to a Microsoft Foundry project.", + "description": "Adds a Key Vault connection to the Microsoft Foundry project.", + "remarks": "This connection allows the Microsoft Foundry project to store secrets for various other connections.\nAs such, we recommend adding this connection *before* any others, so that those connections\ncan leverage the Key Vault connection for secret storage.", "kind": "Method", "signature": "addKeyVaultConnection(keyVault: AzureKeyVaultResource): AzureCognitiveServicesProjectConnectionResource", "parameters": [ @@ -1893,22 +1969,27 @@ "name": "addPromptAgent", "capabilityId": "Aspire.Hosting.Foundry/addPromptAgent", "qualifiedName": "addPromptAgent", - "description": "Adds a prompt agent to a Microsoft Foundry project.", + "description": "Adds a prompt agent to a Microsoft Foundry project with the specified tools.", + "remarks": "Prompt agents are always deployed to Azure Foundry, even during local development\n(`aspire run`). Local services communicate with the cloud-provisioned agent\nusing the project endpoint and agent name injected as environment variables.\nTools are project-level resources created with `Add*Tool` methods and can be\nreused across multiple agents in the same project.", + "returns": "A reference to the `IResourceBuilder`1` for the prompt agent resource.", "kind": "Method", "signature": "addPromptAgent(model: FoundryDeploymentResource, name: string, instructions?: string): AzurePromptAgentResource", "parameters": [ { "name": "model", - "type": "FoundryDeploymentResource" + "type": "FoundryDeploymentResource", + "description": "The model deployment to use for this agent." }, { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the prompt agent. This will be the agent name in Foundry." }, { "name": "instructions", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional system instructions for the agent." } ], "returnType": "AzurePromptAgentResource", @@ -1942,17 +2023,20 @@ "name": "addSharePointTool", "capabilityId": "Aspire.Hosting.Foundry/addSharePointTool", "qualifiedName": "addSharePointTool", - "description": "Adds a SharePoint grounding tool to a Microsoft Foundry project.", + "description": "Adds a SharePoint grounding tool to a Microsoft Foundry project, enabling agents to search data from SharePoint sites configured as Foundry project connections.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addSharePointTool(name: string, projectConnectionIds: string[]): SharePointToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." }, { "name": "projectConnectionIds", - "type": "string[]" + "type": "string[]", + "description": "The Foundry project connection IDs for the SharePoint sites." } ], "returnType": "SharePointToolResource", @@ -1966,7 +2050,7 @@ "name": "addStorageConnection", "capabilityId": "Aspire.Hosting.Foundry/addStorageConnection", "qualifiedName": "addStorageConnection", - "description": "Adds an Azure Storage connection to a Microsoft Foundry project.", + "description": "Adds an Azure Storage account to a project as a connection.", "kind": "Method", "signature": "addStorageConnection(storage: AzureStorageResource): AzureCognitiveServicesProjectConnectionResource", "parameters": [ @@ -1986,13 +2070,15 @@ "name": "addWebSearchTool", "capabilityId": "Aspire.Hosting.Foundry/addWebSearchTool", "qualifiedName": "addWebSearchTool", - "description": "Adds a Web Search tool to a Microsoft Foundry project.", + "description": "Adds a Web Search tool to a Microsoft Foundry project, enabling agents to retrieve real-time information from the public web and return answers with inline citations.", + "returns": "A reference to the `IResourceBuilder`1` for the tool resource.", "kind": "Method", "signature": "addWebSearchTool(name: string): WebSearchToolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the tool resource." } ], "returnType": "WebSearchToolResource", @@ -2006,13 +2092,15 @@ "name": "withAppInsights", "capabilityId": "Aspire.Hosting.Foundry/withAppInsights", "qualifiedName": "withAppInsights", - "description": "Associates an Azure Application Insights resource with a Microsoft Foundry project.", + "description": "Adds an Application Insights resource to the Microsoft Foundry project, overriding the default (which is to create a new Application Insights resource).", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withAppInsights(appInsights: AzureApplicationInsightsResource): AzureCognitiveServicesProjectResource", "parameters": [ { "name": "appInsights", - "type": "AzureApplicationInsightsResource" + "type": "AzureApplicationInsightsResource", + "description": "The Application Insights resource to associate with the project." } ], "returnType": "AzureCognitiveServicesProjectResource", @@ -2027,12 +2115,14 @@ "capabilityId": "Aspire.Hosting.Foundry/withCapabilityHost", "qualifiedName": "withCapabilityHost", "description": "Associates a supported resource with a capability host on a Microsoft Foundry project.", + "returns": "A reference to the project builder for chaining capability host configuration.", "kind": "Method", "signature": "withCapabilityHost(resource: FoundryResource): AzureCognitiveServicesProjectResource", "parameters": [ { "name": "resource", - "type": "FoundryResource" + "type": "FoundryResource", + "description": "The supported capability host resource." } ], "returnType": "AzureCognitiveServicesProjectResource", @@ -2046,13 +2136,15 @@ "name": "withKeyVault", "capabilityId": "Aspire.Hosting.Foundry/withKeyVault", "qualifiedName": "withKeyVault", - "description": "Associates an Azure Key Vault resource with a Microsoft Foundry project.", + "description": "Adds a Key Vault connection to the Microsoft Foundry project.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withKeyVault(keyVault: AzureKeyVaultResource): AzureCognitiveServicesProjectResource", "parameters": [ { "name": "keyVault", - "type": "AzureKeyVaultResource" + "type": "AzureKeyVaultResource", + "description": "The Key Vault resource to associate with the project." } ], "returnType": "AzureCognitiveServicesProjectResource", @@ -2068,6 +2160,8 @@ "name": "AzureFunctionToolResource", "fullName": "Aspire.Hosting.Foundry.AzureFunctionToolResource", "kind": "handle", + "description": "A Foundry tool resource that enables an agent to invoke an Azure Function.", + "remarks": "Azure Functions tools allow agents to call serverless functions as tools.\nThe function definition includes the function name, parameters schema,\nand input/output bindings for Azure Storage queues.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -2079,6 +2173,8 @@ "fullName": "Aspire.Hosting.Foundry.AzurePromptAgentResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a Microsoft Foundry prompt agent resource that is provisioned on Azure.", + "remarks": "Unlike hosted agents (which run as containers), prompt agents are configuration-only\nagents defined by a model, system instructions, and optional tools. They are always\ndeployed to Azure Foundry via the data plane API, even during local development\n(`aspire run`). Local services communicate with the cloud-provisioned agent\nusing the Foundry project endpoint and agent name.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", @@ -2107,7 +2203,7 @@ "name": "description", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.description", "qualifiedName": "AzurePromptAgentResource.description", - "description": "Gets the Description property", + "description": "Gets or sets a description of the agent.", "kind": "PropertyGetter", "signature": "description(): string", "parameters": [], @@ -2121,7 +2217,7 @@ "name": "instructions", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.instructions", "qualifiedName": "AzurePromptAgentResource.instructions", - "description": "Gets the Instructions property", + "description": "Gets or sets the system instructions for the agent.", "kind": "PropertyGetter", "signature": "instructions(): string", "parameters": [], @@ -2135,11 +2231,11 @@ "name": "metadata", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.metadata", "qualifiedName": "AzurePromptAgentResource.metadata", - "description": "Gets the Metadata property", + "description": "Gets the metadata to associate with the agent.", "kind": "PropertyGetter", - "signature": "metadata(): Dict\u003Cstring,string\u003E", + "signature": "metadata(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.AzurePromptAgentResource", "expandedTargetTypes": [ "Aspire.Hosting.Foundry.AzurePromptAgentResource" @@ -2149,7 +2245,7 @@ "name": "model", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.model", "qualifiedName": "AzurePromptAgentResource.model", - "description": "Gets the Model property", + "description": "Gets or sets the model deployment name used by this agent.", "kind": "PropertyGetter", "signature": "model(): string", "parameters": [], @@ -2163,7 +2259,7 @@ "name": "setDescription", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.setDescription", "qualifiedName": "AzurePromptAgentResource.setDescription", - "description": "Sets the Description property", + "description": "Gets or sets a description of the agent.", "kind": "PropertySetter", "signature": "setDescription(value: string): AzurePromptAgentResource", "parameters": [ @@ -2182,7 +2278,7 @@ "name": "setInstructions", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.setInstructions", "qualifiedName": "AzurePromptAgentResource.setInstructions", - "description": "Sets the Instructions property", + "description": "Gets or sets the system instructions for the agent.", "kind": "PropertySetter", "signature": "setInstructions(value: string): AzurePromptAgentResource", "parameters": [ @@ -2197,30 +2293,11 @@ "Aspire.Hosting.Foundry.AzurePromptAgentResource" ] }, - { - "name": "setMetadata", - "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.setMetadata", - "qualifiedName": "AzurePromptAgentResource.setMetadata", - "description": "Sets the Metadata property", - "kind": "PropertySetter", - "signature": "setMetadata(value: Dict\u003Cstring,string\u003E): AzurePromptAgentResource", - "parameters": [ - { - "name": "value", - "type": "Dict\u003Cstring,string\u003E" - } - ], - "returnType": "AzurePromptAgentResource", - "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.AzurePromptAgentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Foundry.AzurePromptAgentResource" - ] - }, { "name": "setModel", "capabilityId": "Aspire.Hosting.Foundry/AzurePromptAgentResource.setModel", "qualifiedName": "AzurePromptAgentResource.setModel", - "description": "Sets the Model property", + "description": "Gets or sets the model deployment name used by this agent.", "kind": "PropertySetter", "signature": "setModel(value: string): AzurePromptAgentResource", "parameters": [ @@ -2240,12 +2317,14 @@ "capabilityId": "Aspire.Hosting.Foundry/withTool", "qualifiedName": "withTool", "description": "Adds a tool to a prompt agent.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withTool(tool: FoundryToolResource): AzurePromptAgentResource", "parameters": [ { "name": "tool", - "type": "FoundryToolResource" + "type": "FoundryToolResource", + "description": "The tool resource to attach to this agent." } ], "returnType": "AzurePromptAgentResource", @@ -2261,12 +2340,14 @@ "name": "BingGroundingConnectionResource", "fullName": "Aspire.Hosting.Foundry.BingGroundingConnectionResource", "kind": "handle", + "description": "A Foundry project connection resource specifically for Grounding with Bing Search connections.", + "remarks": "This type is used to distinguish Bing grounding connections from other connection types,\nensuring that only connections created by `AddBingGroundingConnection`\ncan be linked to a `BingGroundingToolResource`.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IAzureResource", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithParameters", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource]]" + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Foundry.AzureCognitiveServicesProjectResource]]" ], "capabilities": [] }, @@ -2274,6 +2355,8 @@ "name": "BingGroundingToolResource", "fullName": "Aspire.Hosting.Foundry.BingGroundingToolResource", "kind": "handle", + "description": "A Foundry tool resource that grounds an agent's responses using Bing Search.", + "remarks": "The Bing Search resource (`Microsoft.Bing/accounts`) must be created manually in\nthe Azure portal before using this tool.\nAfter creating the tool with `AddBingGroundingTool`,\nlink it using one of the `WithReference` overloads on `PromptAgentBuilderExtensions`\nwith one of the following:\n-\n-\n-", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -2305,6 +2388,8 @@ "name": "CodeInterpreterToolResource", "fullName": "Aspire.Hosting.Foundry.CodeInterpreterToolResource", "kind": "handle", + "description": "A Foundry tool resource that enables an agent to write and run Python code in a sandboxed environment for data analysis, math, and chart generation.", + "remarks": "This tool requires no Azure provisioning or project connections.\nIt is automatically available in all Foundry projects.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -2315,6 +2400,8 @@ "name": "ComputerToolResource", "fullName": "Aspire.Hosting.Foundry.ComputerToolResource", "kind": "handle", + "description": "A Foundry tool resource that enables an agent to interact with a computer desktop by taking screenshots, moving the mouse, clicking, and typing.", + "remarks": "The computer tool requires specifying the display dimensions and environment.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -2325,6 +2412,8 @@ "name": "FabricToolResource", "fullName": "Aspire.Hosting.Foundry.FabricToolResource", "kind": "handle", + "description": "A Foundry tool resource that enables an agent to query data using a Microsoft Fabric data agent.", + "remarks": "Fabric connections must be configured in the Foundry project beforehand.\nThis tool references existing connections by their Foundry project connection IDs.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -2335,6 +2424,8 @@ "name": "FileSearchToolResource", "fullName": "Aspire.Hosting.Foundry.FileSearchToolResource", "kind": "handle", + "description": "A Foundry tool resource that enables an agent to search uploaded files and proprietary documents using vector search.", + "remarks": "This tool requires no Azure provisioning or project connections.\nVector store IDs can optionally be configured for specific document collections.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -2346,13 +2437,14 @@ "fullName": "Aspire.Hosting.Foundry.FoundryDeploymentResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a Microsoft Foundry Deployment.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Foundry.FoundryResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Foundry.FoundryResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -2361,7 +2453,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.connectionStringExpression", "qualifiedName": "FoundryDeploymentResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Microsoft Foundry resource with model/deployment information.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -2375,7 +2467,8 @@ "name": "deploymentName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.deploymentName", "qualifiedName": "FoundryDeploymentResource.deploymentName", - "description": "Gets the DeploymentName property", + "description": "Gets or sets the name of the deployment.", + "remarks": "This defaults to `ModelName`, but allows for a different deployment name in Azure.\nWhen using Foundry Local, this is the model id.", "kind": "PropertyGetter", "signature": "deploymentName(): string", "parameters": [], @@ -2389,7 +2482,8 @@ "name": "format", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.format", "qualifiedName": "FoundryDeploymentResource.format", - "description": "Gets the Format property", + "description": "Gets or sets the format of deployment model.", + "remarks": "Typical values are \"OpenAI\", \"Microsoft\", \"xAi\", \"Deepseek\".", "kind": "PropertyGetter", "signature": "format(): string", "parameters": [], @@ -2403,7 +2497,7 @@ "name": "modelName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.modelName", "qualifiedName": "FoundryDeploymentResource.modelName", - "description": "Gets the ModelName property", + "description": "Gets or sets the name of the model.", "kind": "PropertyGetter", "signature": "modelName(): string", "parameters": [], @@ -2417,7 +2511,7 @@ "name": "modelVersion", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.modelVersion", "qualifiedName": "FoundryDeploymentResource.modelVersion", - "description": "Gets the ModelVersion property", + "description": "Gets or sets the version of the model.", "kind": "PropertyGetter", "signature": "modelVersion(): string", "parameters": [], @@ -2431,7 +2525,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.parent", "qualifiedName": "FoundryDeploymentResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Microsoft Foundry resource.", "kind": "PropertyGetter", "signature": "parent(): FoundryResource", "parameters": [], @@ -2445,7 +2539,8 @@ "name": "setDeploymentName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setDeploymentName", "qualifiedName": "FoundryDeploymentResource.setDeploymentName", - "description": "Sets the DeploymentName property", + "description": "Gets or sets the name of the deployment.", + "remarks": "This defaults to `ModelName`, but allows for a different deployment name in Azure.\nWhen using Foundry Local, this is the model id.", "kind": "PropertySetter", "signature": "setDeploymentName(value: string): FoundryDeploymentResource", "parameters": [ @@ -2464,7 +2559,8 @@ "name": "setFormat", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setFormat", "qualifiedName": "FoundryDeploymentResource.setFormat", - "description": "Sets the Format property", + "description": "Gets or sets the format of deployment model.", + "remarks": "Typical values are \"OpenAI\", \"Microsoft\", \"xAi\", \"Deepseek\".", "kind": "PropertySetter", "signature": "setFormat(value: string): FoundryDeploymentResource", "parameters": [ @@ -2483,7 +2579,7 @@ "name": "setModelName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setModelName", "qualifiedName": "FoundryDeploymentResource.setModelName", - "description": "Sets the ModelName property", + "description": "Gets or sets the name of the model.", "kind": "PropertySetter", "signature": "setModelName(value: string): FoundryDeploymentResource", "parameters": [ @@ -2502,7 +2598,7 @@ "name": "setModelVersion", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setModelVersion", "qualifiedName": "FoundryDeploymentResource.setModelVersion", - "description": "Sets the ModelVersion property", + "description": "Gets or sets the version of the model.", "kind": "PropertySetter", "signature": "setModelVersion(value: string): FoundryDeploymentResource", "parameters": [ @@ -2521,7 +2617,7 @@ "name": "setParent", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setParent", "qualifiedName": "FoundryDeploymentResource.setParent", - "description": "Sets the Parent property", + "description": "Gets the parent Microsoft Foundry resource.", "kind": "PropertySetter", "signature": "setParent(value: FoundryResource): FoundryDeploymentResource", "parameters": [ @@ -2540,7 +2636,8 @@ "name": "setSkuCapacity", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setSkuCapacity", "qualifiedName": "FoundryDeploymentResource.setSkuCapacity", - "description": "Sets the SkuCapacity property", + "description": "Gets or sets the capacity of the SKU, in thousands of tokens per minute (TPM).", + "remarks": "For example, a value of 10 means 10,000 tokens per minute. Exceeding this rate\nlimit results in HTTP 429 responses. See\nAzure AI quota management\nfor more information.", "kind": "PropertySetter", "signature": "setSkuCapacity(value: number): FoundryDeploymentResource", "parameters": [ @@ -2559,7 +2656,7 @@ "name": "setSkuName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.setSkuName", "qualifiedName": "FoundryDeploymentResource.setSkuName", - "description": "Sets the SkuName property", + "description": "Gets or sets the name of the SKU.", "kind": "PropertySetter", "signature": "setSkuName(value: string): FoundryDeploymentResource", "parameters": [ @@ -2578,7 +2675,8 @@ "name": "skuCapacity", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.skuCapacity", "qualifiedName": "FoundryDeploymentResource.skuCapacity", - "description": "Gets the SkuCapacity property", + "description": "Gets or sets the capacity of the SKU, in thousands of tokens per minute (TPM).", + "remarks": "For example, a value of 10 means 10,000 tokens per minute. Exceeding this rate\nlimit results in HTTP 429 responses. See\nAzure AI quota management\nfor more information.", "kind": "PropertyGetter", "signature": "skuCapacity(): number", "parameters": [], @@ -2592,7 +2690,7 @@ "name": "skuName", "capabilityId": "Aspire.Hosting.Foundry/FoundryDeploymentResource.skuName", "qualifiedName": "FoundryDeploymentResource.skuName", - "description": "Gets the SkuName property", + "description": "Gets or sets the name of the SKU.", "kind": "PropertyGetter", "signature": "skuName(): string", "parameters": [], @@ -2606,15 +2704,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Foundry/withFoundryDeploymentProperties", "qualifiedName": "withProperties", - "description": "Configures properties of a Microsoft Foundry deployment resource.", + "description": "Allows setting the properties of a Microsoft Foundry Deployment resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: FoundryDeploymentResource) =\u003E Promise\u003Cvoid\u003E): FoundryDeploymentResource", + "signature": "withProperties(configure: (obj: FoundryDeploymentResource) => Promise): FoundryDeploymentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: FoundryDeploymentResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: FoundryDeploymentResource) => Promise", + "description": "A method that can be used for customizing the `FoundryDeploymentResource`." } ], "returnType": "FoundryDeploymentResource", @@ -2630,6 +2730,7 @@ "name": "FoundryResource", "fullName": "Aspire.Hosting.Foundry.FoundryResource", "kind": "handle", + "description": "Represents a Microsoft Foundry resource. This corresponds to the Azure Cognitive Services account with Microsoft Foundry capabilities enabled.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IAzureResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -2682,13 +2783,15 @@ "name": "addProject", "capabilityId": "Aspire.Hosting.Foundry/addProject", "qualifiedName": "addProject", - "description": "Adds a Microsoft Foundry project resource to a Microsoft Foundry resource.", + "description": "Adds a Microsoft Foundry project resource to the application model. This will also attach the project as a deployment target for agents.", + "returns": "A reference to the `IResourceBuilder`1` for the Microsoft Foundry project resource.", "kind": "Method", "signature": "addProject(name: string): AzureCognitiveServicesProjectResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Microsoft Foundry project resource." } ], "returnType": "AzureCognitiveServicesProjectResource", @@ -2702,7 +2805,8 @@ "name": "runAsFoundryLocal", "capabilityId": "Aspire.Hosting.Foundry/runAsFoundryLocal", "qualifiedName": "runAsFoundryLocal", - "description": "Configures the Microsoft Foundry resource to run by using Foundry Local.", + "description": "Adds a Foundry Local resource to the distributed application builder.", + "returns": "A resource builder for the Foundry Local resource.", "kind": "Method", "signature": "runAsFoundryLocal(): FoundryResource", "parameters": [], @@ -2719,6 +2823,8 @@ "name": "FoundryToolResource", "fullName": "Aspire.Hosting.Foundry.FoundryToolResource", "kind": "handle", + "description": "Base class for Foundry tool resources that participate in the Aspire application model.", + "remarks": "All Foundry tools are modeled as project-level resources, enabling dashboard visibility,\nreusability across agents, and consistent lifecycle management. Create tool instances using\nthe `Add*Tool` extension methods on `AzureCognitiveServicesProjectResource`.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -2729,6 +2835,8 @@ "name": "FunctionToolResource", "fullName": "Aspire.Hosting.Foundry.FunctionToolResource", "kind": "handle", + "description": "A Foundry tool resource that enables an agent to call a user-defined function.", + "remarks": "Function calling tools allow agents to invoke functions defined by the application.\nThe agent decides when to call the function based on the function name, description,\nand parameter schema, then returns a structured function call request that the\napplication handles.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -2740,13 +2848,15 @@ "fullName": "Aspire.Hosting.Foundry.HostedAgentConfiguration", "kind": "handle", "exposeProperties": true, + "description": "A configuration helper for hosted agents.", + "remarks": "This type is used instead of `ProjectsAgentVersionCreationOptions` to provide a strongly typed\nconfiguration surface for hosted agent definitions. When used from polyglot app hosts, only the\nATS-compatible properties are exported; Azure SDK-specific members remain .NET-only.", "implementedInterfaces": [], "capabilities": [ { "name": "cpu", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.cpu", "qualifiedName": "HostedAgentConfiguration.cpu", - "description": "Gets the Cpu property", + "description": "CPU allocation for each hosted agent instance, in vCPU cores.", "kind": "PropertyGetter", "signature": "cpu(): number", "parameters": [], @@ -2760,7 +2870,7 @@ "name": "description", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.description", "qualifiedName": "HostedAgentConfiguration.description", - "description": "Gets the Description property", + "description": "The description of the hosted agent.", "kind": "PropertyGetter", "signature": "description(): string", "parameters": [], @@ -2774,11 +2884,11 @@ "name": "environmentVariables", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.environmentVariables", "qualifiedName": "HostedAgentConfiguration.environmentVariables", - "description": "Gets the EnvironmentVariables property", + "description": "Environment variables to set in the hosted agent container.", "kind": "PropertyGetter", - "signature": "environmentVariables(): Dict\u003Cstring,string\u003E", + "signature": "environmentVariables(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.HostedAgentConfiguration", "expandedTargetTypes": [ "Aspire.Hosting.Foundry.HostedAgentConfiguration" @@ -2788,7 +2898,7 @@ "name": "memory", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.memory", "qualifiedName": "HostedAgentConfiguration.memory", - "description": "Gets the Memory property", + "description": "Memory allocation for each hosted agent instance, in GiB. Must be 2x the CPU allocation.", "kind": "PropertyGetter", "signature": "memory(): number", "parameters": [], @@ -2802,11 +2912,11 @@ "name": "metadata", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.metadata", "qualifiedName": "HostedAgentConfiguration.metadata", - "description": "Gets the Metadata property", + "description": "Additional metadata to associate with the hosted agent.", "kind": "PropertyGetter", - "signature": "metadata(): Dict\u003Cstring,string\u003E", + "signature": "metadata(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.HostedAgentConfiguration", "expandedTargetTypes": [ "Aspire.Hosting.Foundry.HostedAgentConfiguration" @@ -2816,7 +2926,7 @@ "name": "setCpu", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.setCpu", "qualifiedName": "HostedAgentConfiguration.setCpu", - "description": "Sets the Cpu property", + "description": "CPU allocation for each hosted agent instance, in vCPU cores.", "kind": "PropertySetter", "signature": "setCpu(value: number): HostedAgentConfiguration", "parameters": [ @@ -2835,7 +2945,7 @@ "name": "setDescription", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.setDescription", "qualifiedName": "HostedAgentConfiguration.setDescription", - "description": "Sets the Description property", + "description": "The description of the hosted agent.", "kind": "PropertySetter", "signature": "setDescription(value: string): HostedAgentConfiguration", "parameters": [ @@ -2850,30 +2960,11 @@ "Aspire.Hosting.Foundry.HostedAgentConfiguration" ] }, - { - "name": "setEnvironmentVariables", - "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.setEnvironmentVariables", - "qualifiedName": "HostedAgentConfiguration.setEnvironmentVariables", - "description": "Sets the EnvironmentVariables property", - "kind": "PropertySetter", - "signature": "setEnvironmentVariables(value: Dict\u003Cstring,string\u003E): HostedAgentConfiguration", - "parameters": [ - { - "name": "value", - "type": "Dict\u003Cstring,string\u003E" - } - ], - "returnType": "HostedAgentConfiguration", - "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.HostedAgentConfiguration", - "expandedTargetTypes": [ - "Aspire.Hosting.Foundry.HostedAgentConfiguration" - ] - }, { "name": "setMemory", "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.setMemory", "qualifiedName": "HostedAgentConfiguration.setMemory", - "description": "Sets the Memory property", + "description": "Memory allocation for each hosted agent instance, in GiB. Must be 2x the CPU allocation.", "kind": "PropertySetter", "signature": "setMemory(value: number): HostedAgentConfiguration", "parameters": [ @@ -2887,25 +2978,6 @@ "expandedTargetTypes": [ "Aspire.Hosting.Foundry.HostedAgentConfiguration" ] - }, - { - "name": "setMetadata", - "capabilityId": "Aspire.Hosting.Foundry/HostedAgentConfiguration.setMetadata", - "qualifiedName": "HostedAgentConfiguration.setMetadata", - "description": "Sets the Metadata property", - "kind": "PropertySetter", - "signature": "setMetadata(value: Dict\u003Cstring,string\u003E): HostedAgentConfiguration", - "parameters": [ - { - "name": "value", - "type": "Dict\u003Cstring,string\u003E" - } - ], - "returnType": "HostedAgentConfiguration", - "targetTypeId": "Aspire.Hosting.Foundry/Aspire.Hosting.Foundry.HostedAgentConfiguration", - "expandedTargetTypes": [ - "Aspire.Hosting.Foundry.HostedAgentConfiguration" - ] } ] }, @@ -2913,6 +2985,7 @@ "name": "ImageGenerationToolResource", "fullName": "Aspire.Hosting.Foundry.ImageGenerationToolResource", "kind": "handle", + "description": "A Foundry tool resource that enables an agent to generate and edit images.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -2923,6 +2996,8 @@ "name": "SharePointToolResource", "fullName": "Aspire.Hosting.Foundry.SharePointToolResource", "kind": "handle", + "description": "A Foundry tool resource that grounds an agent's responses using SharePoint data.", + "remarks": "SharePoint connections must be configured in the Foundry project beforehand.\nThis tool references existing connections by their Foundry project connection IDs.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -2933,6 +3008,8 @@ "name": "WebSearchToolResource", "fullName": "Aspire.Hosting.Foundry.WebSearchToolResource", "kind": "handle", + "description": "A Foundry tool resource that retrieves real-time information from the public web and returns answers with inline citations.", + "remarks": "This is the recommended way to add web grounding to an agent.\nNo Azure provisioning is required — the tool is provided by the Foundry Agent Service.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.Foundry.IFoundryTool" @@ -2945,18 +3022,22 @@ "name": "FoundryModel", "fullName": "Aspire.Hosting.Foundry.FoundryModel", "kind": "dto", + "description": "Describes a model that can be deployed to Microsoft Foundry.", "fields": [ { "name": "Name", - "type": "string" + "type": "string", + "description": "The name of the model." }, { "name": "Version", - "type": "string" + "type": "string", + "description": "The version of the model." }, { "name": "Format", - "type": "string" + "type": "string", + "description": "The format or provider of the model (e.g., OpenAI, Microsoft, xAi, Deepseek)." } ] } @@ -2966,10 +3047,25 @@ "name": "FoundryRole", "fullName": "Aspire.Hosting.FoundryRole", "kind": "enum", + "description": "Represents ATS-compatible Microsoft Foundry roles.", "members": [ "CognitiveServicesOpenAIContributor", "CognitiveServicesOpenAIUser", "CognitiveServicesUser" + ], + "memberDocs": [ + { + "name": "CognitiveServicesOpenAIContributor", + "description": "Allows full management of Azure OpenAI resources." + }, + { + "name": "CognitiveServicesOpenAIUser", + "description": "Allows using Azure OpenAI models for inference." + }, + { + "name": "CognitiveServicesUser", + "description": "Allows access to Azure Cognitive Services resources." + } ] } ] diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Garnet.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Garnet.13.3.0.json index 65a5dcca4..033a3e7b0 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Garnet.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Garnet.13.3.0.json @@ -41,7 +41,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.connectionStringExpression", "qualifiedName": "GarnetResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Garnet server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -55,7 +55,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.host", "qualifiedName": "GarnetResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -69,7 +69,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.passwordParameter", "qualifiedName": "GarnetResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the Garnet server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -83,7 +83,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.port", "qualifiedName": "GarnetResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -97,7 +97,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.primaryEndpoint", "qualifiedName": "GarnetResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Garnet server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -111,7 +111,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.uriExpression", "qualifiedName": "GarnetResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Garnet server.", + "remarks": "Format: `redis://[:{password}@]{host}:{port}`. The password segment is omitted when no password is configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -125,19 +126,23 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Garnet/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Mounts a host directory as the Garnet data directory.", + "description": "Adds a bind mount for the data folder to a Garnet container resource and enables Garnet persistence.", + "remarks": "Use `WithPersistence` to adjust Garnet persistence configuration, e.g.:\n```\nvar garnet = builder.AddGarnet(\"garnet\")\n.WithDataBindMount(\"mydata\")\n.WithPersistence(TimeSpan.FromSeconds(10));\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): GarnetResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount. Setting this to `true` will disable Garnet persistence. Defaults to `false`." } ], "returnType": "GarnetResource", @@ -151,20 +156,24 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Garnet/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a persistent data volume to the Garnet resource.", + "description": "Adds a named volume for the data folder to a Garnet container resource and enables Garnet persistence.", + "remarks": "Use `WithPersistence` to adjust Garnet persistence configuration, e.g.:\n```\nvar cache = builder.AddGarnet(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10));\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): GarnetResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume. Setting this to `true` will disable Garnet persistence. Defaults to `false`." } ], "returnType": "GarnetResource", @@ -178,7 +187,9 @@ "name": "withPersistence", "capabilityId": "Aspire.Hosting.Garnet/withPersistence", "qualifiedName": "withPersistence", - "description": "Configures snapshot persistence for the Garnet resource.", + "description": "Configures a Garnet container resource for persistence.", + "remarks": "Use with `WithDataBindMount`\nor `WithDataVolume` to persist Garnet data across sessions with custom persistence configuration, e.g.:\n```\nvar cache = builder.AddGarnet(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10));\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPersistence(interval?: timespan): GarnetResource", "parameters": [ @@ -186,7 +197,8 @@ "name": "interval", "type": "timespan", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The interval between snapshot exports. Defaults to 60 seconds." } ], "returnType": "GarnetResource", @@ -203,6 +215,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.GarnetResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a Garnet resource independent of the hosting model.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -222,7 +235,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.connectionStringExpression", "qualifiedName": "GarnetResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Garnet server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -236,7 +249,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.host", "qualifiedName": "GarnetResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -250,7 +263,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.passwordParameter", "qualifiedName": "GarnetResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the Garnet server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -264,7 +277,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.port", "qualifiedName": "GarnetResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -278,7 +291,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.primaryEndpoint", "qualifiedName": "GarnetResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Garnet server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -292,7 +305,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/GarnetResource.uriExpression", "qualifiedName": "GarnetResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Garnet server.", + "remarks": "Format: `redis://[:{password}@]{host}:{port}`. The password segment is omitted when no password is configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -306,19 +320,23 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Garnet/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Mounts a host directory as the Garnet data directory.", + "description": "Adds a bind mount for the data folder to a Garnet container resource and enables Garnet persistence.", + "remarks": "Use `WithPersistence` to adjust Garnet persistence configuration, e.g.:\n```\nvar garnet = builder.AddGarnet(\"garnet\")\n.WithDataBindMount(\"mydata\")\n.WithPersistence(TimeSpan.FromSeconds(10));\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): GarnetResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount. Setting this to `true` will disable Garnet persistence. Defaults to `false`." } ], "returnType": "GarnetResource", @@ -332,20 +350,24 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Garnet/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a persistent data volume to the Garnet resource.", + "description": "Adds a named volume for the data folder to a Garnet container resource and enables Garnet persistence.", + "remarks": "Use `WithPersistence` to adjust Garnet persistence configuration, e.g.:\n```\nvar cache = builder.AddGarnet(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10));\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): GarnetResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume. Setting this to `true` will disable Garnet persistence. Defaults to `false`." } ], "returnType": "GarnetResource", @@ -359,7 +381,9 @@ "name": "withPersistence", "capabilityId": "Aspire.Hosting.Garnet/withPersistence", "qualifiedName": "withPersistence", - "description": "Configures snapshot persistence for the Garnet resource.", + "description": "Configures a Garnet container resource for persistence.", + "remarks": "Use with `WithDataBindMount`\nor `WithDataVolume` to persist Garnet data across sessions with custom persistence configuration, e.g.:\n```\nvar cache = builder.AddGarnet(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10));\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPersistence(interval?: timespan): GarnetResource", "parameters": [ @@ -367,7 +391,8 @@ "name": "interval", "type": "timespan", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The interval between snapshot exports. Defaults to 60 seconds." } ], "returnType": "GarnetResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.GitHub.Models.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.GitHub.Models.13.3.0.json index 713c27131..2debed04f 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.GitHub.Models.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.GitHub.Models.13.3.0.json @@ -10,22 +10,26 @@ "name": "addGitHubModel", "capabilityId": "Aspire.Hosting.GitHub.Models/addGitHubModel", "qualifiedName": "addGitHubModel", - "description": "Adds a GitHub Model resource to the distributed application model.", + "description": "Adds a GitHub Model resource to the application model using a known `GitHubModelName`.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addGitHubModel(name: string, model: GitHubModelName, organization?: ParameterResource): GitHubModelResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "model", - "type": "GitHubModelName" + "type": "GitHubModelName", + "description": "The known model name from the `GitHubModelName` enumeration." }, { "name": "organization", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The organization login associated with the organization to which the request is to be attributed." } ], "returnType": "GitHubModelResource", @@ -39,22 +43,26 @@ "name": "addGitHubModelById", "capabilityId": "Aspire.Hosting.GitHub.Models/addGitHubModelById", "qualifiedName": "addGitHubModelById", - "description": "Adds a GitHub Model resource using a model identifier string.", + "description": "Adds a GitHub Model resource to the application model using a model identifier string.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addGitHubModelById(name: string, modelId: string, organization?: ParameterResource): GitHubModelResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "modelId", - "type": "string" + "type": "string", + "description": "The model identifier string, for example `\"openai/gpt-4o\"`." }, { "name": "organization", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The organization login associated with the organization to which the request is to be attributed." } ], "returnType": "GitHubModelResource", @@ -68,13 +76,15 @@ "name": "withApiKey", "capabilityId": "Aspire.Hosting.GitHub.Models/withApiKey", "qualifiedName": "withApiKey", - "description": "Configures the API key for the GitHub Model resource.", + "description": "Configures the API key for the GitHub Model resource from a parameter.", + "returns": "The resource builder.", "kind": "Method", "signature": "withApiKey(apiKey: ParameterResource): GitHubModelResource", "parameters": [ { "name": "apiKey", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The API key parameter." } ], "returnType": "GitHubModelResource", @@ -88,7 +98,9 @@ "name": "withHealthCheck", "capabilityId": "Aspire.Hosting.GitHub.Models/enableHealthCheck", "qualifiedName": "withHealthCheck", - "description": "Adds a health check for the GitHub Model resource.", + "description": "Adds a health check to the GitHub Model resource.", + "remarks": "This method adds a health check that verifies the GitHub Models endpoint is accessible,\nthe API key is valid, and the specified model is available. The health check will:\n-\n-\n-\nBecause health checks are included in the rate limit of the GitHub Models API,\nit is recommended to use this health check sparingly, such as when you are having issues understanding the reason\nthe model is not working as expected. Furthermore, the health check will run a single time per application instance.", + "returns": "The resource builder.", "kind": "Method", "signature": "withHealthCheck(): GitHubModelResource", "parameters": [], @@ -118,13 +130,15 @@ "name": "withApiKey", "capabilityId": "Aspire.Hosting.GitHub.Models/withApiKey", "qualifiedName": "withApiKey", - "description": "Configures the API key for the GitHub Model resource.", + "description": "Configures the API key for the GitHub Model resource from a parameter.", + "returns": "The resource builder.", "kind": "Method", "signature": "withApiKey(apiKey: ParameterResource): GitHubModelResource", "parameters": [ { "name": "apiKey", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The API key parameter." } ], "returnType": "GitHubModelResource", @@ -138,7 +152,9 @@ "name": "withHealthCheck", "capabilityId": "Aspire.Hosting.GitHub.Models/enableHealthCheck", "qualifiedName": "withHealthCheck", - "description": "Adds a health check for the GitHub Model resource.", + "description": "Adds a health check to the GitHub Model resource.", + "remarks": "This method adds a health check that verifies the GitHub Models endpoint is accessible,\nthe API key is valid, and the specified model is available. The health check will:\n-\n-\n-\nBecause health checks are included in the rate limit of the GitHub Models API,\nit is recommended to use this health check sparingly, such as when you are having issues understanding the reason\nthe model is not working as expected. Furthermore, the health check will run a single time per application instance.", + "returns": "The resource builder.", "kind": "Method", "signature": "withHealthCheck(): GitHubModelResource", "parameters": [], @@ -158,6 +174,7 @@ "name": "GitHubModelName", "fullName": "Aspire.Hosting.GitHub.GitHubModelName", "kind": "enum", + "description": "Enumerates known GitHub model names for polyglot app host support.", "members": [ "AI21Jamba15Large", "CohereCommandA", @@ -202,6 +219,180 @@ "OpenAITextEmbedding3Small", "Grok3", "Grok3Mini" + ], + "memberDocs": [ + { + "name": "AI21Jamba15Large", + "description": "A 398B parameters (94B active) multilingual model, offering a 256K long context window, function calling, structured output, and grounded generation." + }, + { + "name": "CohereCommandA", + "description": "Command A is a highly efficient generative model that excels at agentic and multilingual use cases." + }, + { + "name": "CohereCommandR082024", + "description": "Command R is a scalable generative model targeting RAG and Tool Use to enable production-scale AI for enterprise." + }, + { + "name": "CohereCommandRPlus082024", + "description": "Command R+ is a state-of-the-art RAG-optimized model designed to tackle enterprise-grade workloads." + }, + { + "name": "DeepSeekR1", + "description": "DeepSeek-R1 excels at reasoning tasks using a step-by-step training process, such as language, scientific reasoning, and coding tasks." + }, + { + "name": "DeepSeekR10528", + "description": "The DeepSeek R1 0528 model has improved reasoning capabilities, this version also offers a reduced hallucination rate, enhanced support for function calling, and better experience for vibe coding." + }, + { + "name": "DeepSeekV30324", + "description": "DeepSeek-V3-0324 demonstrates notable improvements over its predecessor, DeepSeek-V3, in several key aspects, including enhanced reasoning, improved function calling, and superior code generation capabilities." + }, + { + "name": "Llama4Maverick17B128EInstructFP8", + "description": "Llama 4 Maverick 17B 128E Instruct FP8 is great at precise image understanding and creative writing, offering high quality at a lower price compared to Llama 3.3 70B" + }, + { + "name": "Llama4Scout17B16EInstruct", + "description": "Llama 4 Scout 17B 16E Instruct is great at multi-document summarization, parsing extensive user activity for personalized tasks, and reasoning over vast codebases." + }, + { + "name": "Llama3211BVisionInstruct", + "description": "Excels in image reasoning capabilities on high-res images for visual understanding apps." + }, + { + "name": "Llama3290BVisionInstruct", + "description": "Advanced image reasoning capabilities for visual understanding agentic apps." + }, + { + "name": "Llama3370BInstruct", + "description": "Llama 3.3 70B Instruct offers enhanced reasoning, math, and instruction following with performance comparable to Llama 3.1 405B." + }, + { + "name": "MetaLlama31405BInstruct", + "description": "The Llama 3.1 instruction tuned text only models are optimized for multilingual dialogue use cases and outperform many of the available open source and closed chat models on common industry benchmarks." + }, + { + "name": "MetaLlama318BInstruct", + "description": "The Llama 3.1 instruction tuned text only models are optimized for multilingual dialogue use cases and outperform many of the available open source and closed chat models on common industry benchmarks." + }, + { + "name": "MaiDSR1", + "description": "MAI-DS-R1 is a DeepSeek-R1 reasoning model that has been post-trained by the Microsoft AI team to fill in information gaps in the previous version of the model and improve its harm protections while maintaining R1 reasoning capabilities." + }, + { + "name": "Phi4", + "description": "Phi-4 14B, a highly capable model for low latency scenarios." + }, + { + "name": "Phi4MiniInstruct", + "description": "3.8B parameters Small Language Model outperforming larger models in reasoning, math, coding, and function-calling" + }, + { + "name": "Phi4MiniReasoning", + "description": "Lightweight math reasoning model optimized for multi-step problem solving" + }, + { + "name": "Phi4MultimodalInstruct", + "description": "First small multimodal model to have 3 modality inputs (text, audio, image), excelling in quality and efficiency" + }, + { + "name": "Phi4Reasoning", + "description": "State-of-the-art open-weight reasoning model." + }, + { + "name": "Codestral2501", + "description": "Codestral 25.01 by Mistral AI is designed for code generation, supporting 80+ programming languages, and optimized for tasks like code completion and fill-in-the-middle" + }, + { + "name": "Ministral3B", + "description": "Ministral 3B is a state-of-the-art Small Language Model (SLM) optimized for edge computing and on-device applications. As it is designed for low-latency and compute-efficient inference, it it also the perfect model for standard GenAI applications that have" + }, + { + "name": "MistralMedium32505", + "description": "Mistral Medium 3 is an advanced Large Language Model (LLM) with state-of-the-art reasoning, knowledge, coding and vision capabilities." + }, + { + "name": "MistralSmall31", + "description": "Enhanced Mistral Small 3 with multimodal capabilities and a 128k context length." + }, + { + "name": "OpenAIGpt41", + "description": "gpt-4.1 outperforms gpt-4o across the board, with major gains in coding, instruction following, and long-context understanding" + }, + { + "name": "OpenAIGpt41Mini", + "description": "gpt-4.1-mini outperform gpt-4o-mini across the board, with major gains in coding, instruction following, and long-context handling" + }, + { + "name": "OpenAIGpt41Nano", + "description": "gpt-4.1-nano provides gains in coding, instruction following, and long-context handling along with lower latency and cost" + }, + { + "name": "OpenAIGpt4o", + "description": "OpenAI's most advanced multimodal model in the gpt-4o family. Can handle both text and image inputs." + }, + { + "name": "OpenAIGpt4oMini", + "description": "An affordable, efficient AI solution for diverse text and image tasks." + }, + { + "name": "OpenAIGpt5", + "description": "gpt-5 is designed for logic-heavy and multi-step tasks." + }, + { + "name": "OpenAIGpt5ChatPreview", + "description": "gpt-5-chat (preview) is an advanced, natural, multimodal, and context-aware conversations for enterprise applications." + }, + { + "name": "OpenAIGpt5Mini", + "description": "gpt-5-mini is a lightweight version for cost-sensitive applications." + }, + { + "name": "OpenAIGpt5Nano", + "description": "gpt-5-nano is optimized for speed, ideal for applications requiring low latency." + }, + { + "name": "OpenAIO1", + "description": "Focused on advanced reasoning and solving complex problems, including math and science tasks. Ideal for applications that require deep contextual understanding and agentic workflows." + }, + { + "name": "OpenAIO1Mini", + "description": "Smaller, faster, and 80% cheaper than o1-preview, performs well at code generation and small context operations." + }, + { + "name": "OpenAIO1Preview", + "description": "Focused on advanced reasoning and solving complex problems, including math and science tasks. Ideal for applications that require deep contextual understanding and agentic workflows." + }, + { + "name": "OpenAIO3", + "description": "o3 includes significant improvements on quality and safety while supporting the existing features of o1 and delivering comparable or better performance." + }, + { + "name": "OpenAIO3Mini", + "description": "o3-mini includes the o1 features with significant cost-efficiencies for scenarios requiring high performance." + }, + { + "name": "OpenAIO4Mini", + "description": "o4-mini includes significant improvements on quality and safety while supporting the existing features of o3-mini and delivering comparable or better performance." + }, + { + "name": "OpenAITextEmbedding3Large", + "description": "Text-embedding-3 series models are the latest and most capable embedding model from OpenAI." + }, + { + "name": "OpenAITextEmbedding3Small", + "description": "Text-embedding-3 series models are the latest and most capable embedding model from OpenAI." + }, + { + "name": "Grok3", + "description": "Grok 3 is xAI's debut model, pretrained by Colossus at supermassive scale to excel in specialized domains like finance, healthcare, and the law." + }, + { + "name": "Grok3Mini", + "description": "Grok 3 Mini is a lightweight model that thinks before responding. Trained on mathematic and scientific problems, it is great for logic-based tasks." + } ] } ] diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.JavaScript.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.JavaScript.13.3.0.json index 3dee9a0e7..32e396e86 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.JavaScript.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.JavaScript.13.3.0.json @@ -10,23 +10,28 @@ "name": "addJavaScriptApp", "capabilityId": "Aspire.Hosting.JavaScript/addJavaScriptApp", "qualifiedName": "addJavaScriptApp", - "description": "Adds a JavaScript application resource", + "description": "Adds a JavaScript application resource to the distributed application using the specified app directory and run script.", + "remarks": "If a Dockerfile does not exist in the application's directory, one will be generated\nautomatically when publishing. The method configures the resource with Node.js defaults and sets up npm\nintegration.", + "returns": "A resource builder for the newly added JavaScript application resource.", "kind": "Method", "signature": "addJavaScriptApp(name: string, appDirectory: string, runScriptName?: string): JavaScriptAppResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The unique name of the JavaScript application resource. Cannot be null or empty." }, { "name": "appDirectory", - "type": "string" + "type": "string", + "description": "The path to the directory containing the JavaScript application." }, { "name": "runScriptName", "type": "string", "isOptional": true, - "defaultValue": "dev" + "defaultValue": "dev", + "description": "The name of the npm script to run when starting the application. Defaults to \"dev\". Cannot be null or empty." } ], "returnType": "JavaScriptAppResource", @@ -40,23 +45,28 @@ "name": "addNextJsApp", "capabilityId": "Aspire.Hosting.JavaScript/addNextJsApp", "qualifiedName": "addNextJsApp", - "description": "Adds a Next.js application resource", + "description": "Adds a Next.js app to the distributed application builder.", + "remarks": "This method configures the Next.js application for both local development and publishing.\nIn run mode, it starts the Next.js dev server with the correct port binding.\nIn publish mode, it generates a multi-stage Dockerfile using Next.js standalone output mode,\nwhich copies `public/`, `.next/standalone/`, and `.next/static/` into a\nNode.js runtime container.\nThe Next.js application must have `output: \"standalone\"` configured in `next.config.ts`\nand a `public/` directory (even if empty) for the published container to build correctly.\nThe following example creates a Next.js app.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddNextJsApp(\"frontend\", \"./frontend\");\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addNextJsApp(name: string, appDirectory: string, runScriptName?: string): NextJsAppResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Next.js app." }, { "name": "appDirectory", - "type": "string" + "type": "string", + "description": "The path to the directory containing the Next.js app." }, { "name": "runScriptName", "type": "string", "isOptional": true, - "defaultValue": "dev" + "defaultValue": "dev", + "description": "The name of the script that runs the Next.js dev server. Defaults to \"dev\"." } ], "returnType": "NextJsAppResource", @@ -70,21 +80,26 @@ "name": "addNodeApp", "capabilityId": "Aspire.Hosting.JavaScript/addNodeApp", "qualifiedName": "addNodeApp", - "description": "Adds a Node.js application resource", + "description": "Adds a node application to the application model. Node should be available on the PATH.", + "remarks": "This method executes a Node script directly using `node script.js`. If you want to use a package manager\nyou can add one and configure the install and run scripts using the provided extension methods.\nIf the application directory contains a `package.json` file, npm will be added as the default package manager.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addNodeApp(name: string, appDirectory: string, scriptPath: string): NodeAppResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "appDirectory", - "type": "string" + "type": "string", + "description": "The path to the directory containing the node application." }, { "name": "scriptPath", - "type": "string" + "type": "string", + "description": "The path to the script relative to the app directory to run." } ], "returnType": "NodeAppResource", @@ -98,23 +113,28 @@ "name": "addViteApp", "capabilityId": "Aspire.Hosting.JavaScript/addViteApp", "qualifiedName": "addViteApp", - "description": "Adds a Vite application resource", + "description": "Adds a Vite app to the distributed application builder.", + "remarks": "The following example creates a Vite app using npm as the package manager.\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nbuilder.AddViteApp(\"frontend\", \"./frontend\");\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addViteApp(name: string, appDirectory: string, runScriptName?: string): ViteAppResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Vite app." }, { "name": "appDirectory", - "type": "string" + "type": "string", + "description": "The path to the directory containing the Vite app." }, { "name": "runScriptName", "type": "string", "isOptional": true, - "defaultValue": "dev" + "defaultValue": "dev", + "description": "The name of the script that runs the Vite app. Defaults to \"dev\"." } ], "returnType": "ViteAppResource", @@ -129,6 +149,8 @@ "capabilityId": "Aspire.Hosting.JavaScript/disableBuildValidation", "qualifiedName": "disableBuildValidation", "description": "Disables deploy-time build validation checks for the Next.js application.", + "remarks": "By default, `AddNextJsApp` adds publish prerequisite steps that verify\nthe Next.js configuration (e.g. that `output: \"standalone\"` is set). Use this method\nto suppress those checks when the configuration is set dynamically or via an external\nmechanism that cannot be detected by static file inspection.", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "disableBuildValidation(): NextJsAppResource", "parameters": [], @@ -143,19 +165,23 @@ "name": "publishAsNodeServer", "capabilityId": "Aspire.Hosting.JavaScript/publishAsNodeServer", "qualifiedName": "publishAsNodeServer", - "description": "Publishes the JavaScript application as a standalone Node.js server that runs a built artifact directly.", + "description": "Configures the JavaScript application to publish as a standalone Node.js server that runs a built artifact directly.", + "remarks": "Use this method for frameworks that produce a Node.js server artifact during the build and recommend\nrunning that artifact directly in production rather than invoking a package manager script at runtime.\nThe application source is still built using the configured package manager and build script; this method\nonly changes the publish-time runtime container shape.\nThe container files source path is automatically set to `outputPath` so that only\nthe built output directory is copied into the runtime container, not the full application source.", + "returns": "The updated resource builder.", "kind": "Method", "signature": "publishAsNodeServer(entryPoint: string, outputPath?: string): JavaScriptAppResource", "parameters": [ { "name": "entryPoint", - "type": "string" + "type": "string", + "description": "The relative path to the Node.js entry point to execute in the published container after the build completes, such as `.output/server/index.mjs` or `build/index.js`." }, { "name": "outputPath", "type": "string", "isOptional": true, - "defaultValue": "." + "defaultValue": ".", + "description": "The relative path containing the built runtime files to copy into the published container. Defaults to the application root." } ], "returnType": "JavaScriptAppResource", @@ -172,7 +198,9 @@ "name": "publishAsNpmScript", "capabilityId": "Aspire.Hosting.JavaScript/publishAsNpmScript", "qualifiedName": "publishAsNpmScript", - "description": "Publishes the JavaScript application as a Node.js server that uses a package manager script at runtime.", + "description": "Configures the JavaScript application to publish as a Node.js server that uses a package manager script at runtime.", + "remarks": "Use this method for frameworks where the production server depends on packages in `node_modules` at runtime.\nThe resulting container includes the full application with production dependencies installed.\nThis method is appropriate for frameworks like Nuxt (where `useAsyncData`/`useFetch` requires the\nfull Nitro environment), Remix (where `react-router-serve` is an npm dependency), and Astro SSR\n(where the built entry point imports unbundled `@astrojs/*` packages).\nFor frameworks that produce a self-contained server artifact that does not require `node_modules`,\nuse `PublishAsNodeServer``1` instead for a smaller runtime image.", + "returns": "The updated resource builder.", "kind": "Method", "signature": "publishAsNpmScript(startScriptName?: string, runScriptArguments?: string): JavaScriptAppResource", "parameters": [ @@ -180,12 +208,14 @@ "name": "startScriptName", "type": "string", "isOptional": true, - "defaultValue": "start" + "defaultValue": "start", + "description": "The name of the package manager script to run in the published container. For example, `start` runs `npm run start`." }, { "name": "runScriptArguments", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional arguments appended after the script name at runtime, such as `-- --port \"$PORT\"`." } ], "returnType": "JavaScriptAppResource", @@ -202,7 +232,7 @@ "name": "publishAsStaticWebsite", "capabilityId": "Aspire.Hosting.JavaScript/publishAsStaticWebsite", "qualifiedName": "publishAsStaticWebsite", - "description": "Publishes the JavaScript application as a standalone static website using YARP.", + "description": "Polyglot-compatible overload. All parameters are optional so the TS codegen wraps them in a single options object rather than positional args.", "kind": "Method", "signature": "publishAsStaticWebsite(apiPath?: string, apiTarget?: IResourceWithServiceDiscovery, outputPath?: string, stripPrefix?: boolean, targetEndpointName?: string): JavaScriptAppResource", "parameters": [ @@ -248,7 +278,9 @@ "name": "withBrowserDebugger", "capabilityId": "Aspire.Hosting.JavaScript/withBrowserDebugger", "qualifiedName": "withBrowserDebugger", - "description": "Configures a browser debugger for the JavaScript application", + "description": "Configures a browser debugger for the JavaScript application resource, enabling browser-based debugging through a child resource that launches when the parent application is ready.", + "remarks": "This method creates a child `BrowserDebuggerResource` that waits for the parent JavaScript\napplication to start, then launches a browser debug session targeting the parent's HTTP or HTTPS endpoint.\nThe parent resource must have at least one HTTP or HTTPS endpoint configured.", + "returns": "A reference to the `IResourceBuilder`1` for chaining additional configuration.", "kind": "Method", "signature": "withBrowserDebugger(browser?: string): JavaScriptAppResource", "parameters": [ @@ -256,7 +288,8 @@ "name": "browser", "type": "string", "isOptional": true, - "defaultValue": "msedge" + "defaultValue": "msedge", + "description": "The browser to use for debugging. Defaults to `\"msedge\"`. Supported values include `\"msedge\"` and `\"chrome\"`." } ], "returnType": "JavaScriptAppResource", @@ -273,18 +306,22 @@ "name": "withBuildScript", "capabilityId": "Aspire.Hosting.JavaScript/withBuildScript", "qualifiedName": "withBuildScript", - "description": "Specifies an npm script to run before starting the application", + "description": "Adds a build script annotation to the resource builder using the specified command-line arguments.", + "remarks": "Use this method to specify custom build scripts for JavaScript application resources during\ndeployment.", + "returns": "The same resource builder instance with the build script annotation applied.", "kind": "Method", "signature": "withBuildScript(scriptName: string, args?: string[]): JavaScriptAppResource", "parameters": [ { "name": "scriptName", - "type": "string" + "type": "string", + "description": "The name of the script to be executed when the resource is built." }, { "name": "args", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "An array of command-line arguments to use for the build script." } ], "returnType": "JavaScriptAppResource", @@ -301,7 +338,9 @@ "name": "withBun", "capabilityId": "Aspire.Hosting.JavaScript/withBun", "qualifiedName": "withBun", - "description": "Configures Bun as the package manager", + "description": "Configures the JavaScript resource to use Bun as the package manager and optionally installs packages before the application starts.", + "remarks": "Bun forwards script arguments without requiring the `--` command separator, so this method configures the resource to omit it.\nWhen publishing and a bun lockfile (`bun.lock` or `bun.lockb`) is present, `--frozen-lockfile` is used by default.\nPublishing to a container requires Bun to be present in the build image. This method configures a Bun build image when one is not already specified.\nTo use a specific Bun version, configure a custom build image (for example, `oven/bun:`) using `WithDockerfileBaseImage``1`.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withBun(install?: boolean, installArgs?: string[]): JavaScriptAppResource", "parameters": [ @@ -309,12 +348,14 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically installs packages before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "installArgs", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Additional command-line arguments passed to \"bun install\". When null, defaults are applied based on publish mode and lockfile presence." } ], "returnType": "JavaScriptAppResource", @@ -331,7 +372,8 @@ "name": "withNpm", "capabilityId": "Aspire.Hosting.JavaScript/withNpm", "qualifiedName": "withNpm", - "description": "Configures npm as the package manager", + "description": "Configures the Node.js resource to use npm as the package manager and optionally installs packages before the application starts.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withNpm(install?: boolean, installCommand?: string, installArgs?: string[]): JavaScriptAppResource", "parameters": [ @@ -339,17 +381,20 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically installs packages before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "installCommand", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The install command itself passed to npm to install dependencies." }, { "name": "installArgs", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "The command-line arguments passed to npm to install dependencies." } ], "returnType": "JavaScriptAppResource", @@ -366,7 +411,8 @@ "name": "withPnpm", "capabilityId": "Aspire.Hosting.JavaScript/withPnpm", "qualifiedName": "withPnpm", - "description": "Configures pnpm as the package manager", + "description": "Configures the Node.js resource to use pnpm as the package manager and optionally installs packages before the application starts.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withPnpm(install?: boolean, installArgs?: string[]): JavaScriptAppResource", "parameters": [ @@ -374,12 +420,14 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically installs packages before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "installArgs", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "The command-line arguments passed to \"pnpm install\"." } ], "returnType": "JavaScriptAppResource", @@ -396,18 +444,22 @@ "name": "withRunScript", "capabilityId": "Aspire.Hosting.JavaScript/withRunScript", "qualifiedName": "withRunScript", - "description": "Specifies an npm script to run during development", + "description": "Adds a run script annotation to the specified JavaScript application resource builder, specifying the script to execute and its arguments during run mode.", + "remarks": "Use this method to specify a custom script and its arguments that should be executed when the resource is executed\nin RunMode.", + "returns": "The same resource builder instance with the run script annotation applied, enabling further configuration.", "kind": "Method", "signature": "withRunScript(scriptName: string, args?: string[]): JavaScriptAppResource", "parameters": [ { "name": "scriptName", - "type": "string" + "type": "string", + "description": "The name of the script to be executed when the resource is run." }, { "name": "args", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "An array of arguments to pass to the script." } ], "returnType": "JavaScriptAppResource", @@ -424,13 +476,16 @@ "name": "withViteConfig", "capabilityId": "Aspire.Hosting.JavaScript/withViteConfig", "qualifiedName": "withViteConfig", - "description": "Configures a custom Vite configuration file", + "description": "Configures the Vite app to use the specified Vite configuration file instead of the default resolution behavior.", + "remarks": "Use this method to specify a specific Vite configuration file if you need to override the default Vite configuration resolution behavior.", + "returns": "The resource builder.", "kind": "Method", "signature": "withViteConfig(configPath: string): ViteAppResource", "parameters": [ { "name": "configPath", - "type": "string" + "type": "string", + "description": "The path to the Vite configuration file. Relative to the Vite service project root." } ], "returnType": "ViteAppResource", @@ -444,7 +499,8 @@ "name": "withYarn", "capabilityId": "Aspire.Hosting.JavaScript/withYarn", "qualifiedName": "withYarn", - "description": "Configures yarn as the package manager", + "description": "Configures the Node.js resource to use yarn as the package manager and optionally installs packages before the application starts.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withYarn(install?: boolean, installArgs?: string[]): JavaScriptAppResource", "parameters": [ @@ -452,12 +508,14 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically installs packages before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "installArgs", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "The command-line arguments passed to \"yarn install\"." } ], "returnType": "JavaScriptAppResource", @@ -477,6 +535,7 @@ "fullName": "Aspire.Hosting.JavaScript.JavaScriptAppResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a JavaScript application.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IResource", @@ -493,19 +552,23 @@ "name": "publishAsNodeServer", "capabilityId": "Aspire.Hosting.JavaScript/publishAsNodeServer", "qualifiedName": "publishAsNodeServer", - "description": "Publishes the JavaScript application as a standalone Node.js server that runs a built artifact directly.", + "description": "Configures the JavaScript application to publish as a standalone Node.js server that runs a built artifact directly.", + "remarks": "Use this method for frameworks that produce a Node.js server artifact during the build and recommend\nrunning that artifact directly in production rather than invoking a package manager script at runtime.\nThe application source is still built using the configured package manager and build script; this method\nonly changes the publish-time runtime container shape.\nThe container files source path is automatically set to `outputPath` so that only\nthe built output directory is copied into the runtime container, not the full application source.", + "returns": "The updated resource builder.", "kind": "Method", "signature": "publishAsNodeServer(entryPoint: string, outputPath?: string): JavaScriptAppResource", "parameters": [ { "name": "entryPoint", - "type": "string" + "type": "string", + "description": "The relative path to the Node.js entry point to execute in the published container after the build completes, such as `.output/server/index.mjs` or `build/index.js`." }, { "name": "outputPath", "type": "string", "isOptional": true, - "defaultValue": "." + "defaultValue": ".", + "description": "The relative path containing the built runtime files to copy into the published container. Defaults to the application root." } ], "returnType": "JavaScriptAppResource", @@ -522,7 +585,9 @@ "name": "publishAsNpmScript", "capabilityId": "Aspire.Hosting.JavaScript/publishAsNpmScript", "qualifiedName": "publishAsNpmScript", - "description": "Publishes the JavaScript application as a Node.js server that uses a package manager script at runtime.", + "description": "Configures the JavaScript application to publish as a Node.js server that uses a package manager script at runtime.", + "remarks": "Use this method for frameworks where the production server depends on packages in `node_modules` at runtime.\nThe resulting container includes the full application with production dependencies installed.\nThis method is appropriate for frameworks like Nuxt (where `useAsyncData`/`useFetch` requires the\nfull Nitro environment), Remix (where `react-router-serve` is an npm dependency), and Astro SSR\n(where the built entry point imports unbundled `@astrojs/*` packages).\nFor frameworks that produce a self-contained server artifact that does not require `node_modules`,\nuse `PublishAsNodeServer``1` instead for a smaller runtime image.", + "returns": "The updated resource builder.", "kind": "Method", "signature": "publishAsNpmScript(startScriptName?: string, runScriptArguments?: string): JavaScriptAppResource", "parameters": [ @@ -530,12 +595,14 @@ "name": "startScriptName", "type": "string", "isOptional": true, - "defaultValue": "start" + "defaultValue": "start", + "description": "The name of the package manager script to run in the published container. For example, `start` runs `npm run start`." }, { "name": "runScriptArguments", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional arguments appended after the script name at runtime, such as `-- --port \"$PORT\"`." } ], "returnType": "JavaScriptAppResource", @@ -552,7 +619,7 @@ "name": "publishAsStaticWebsite", "capabilityId": "Aspire.Hosting.JavaScript/publishAsStaticWebsite", "qualifiedName": "publishAsStaticWebsite", - "description": "Publishes the JavaScript application as a standalone static website using YARP.", + "description": "Polyglot-compatible overload. All parameters are optional so the TS codegen wraps them in a single options object rather than positional args.", "kind": "Method", "signature": "publishAsStaticWebsite(apiPath?: string, apiTarget?: IResourceWithServiceDiscovery, outputPath?: string, stripPrefix?: boolean, targetEndpointName?: string): JavaScriptAppResource", "parameters": [ @@ -598,7 +665,9 @@ "name": "withBrowserDebugger", "capabilityId": "Aspire.Hosting.JavaScript/withBrowserDebugger", "qualifiedName": "withBrowserDebugger", - "description": "Configures a browser debugger for the JavaScript application", + "description": "Configures a browser debugger for the JavaScript application resource, enabling browser-based debugging through a child resource that launches when the parent application is ready.", + "remarks": "This method creates a child `BrowserDebuggerResource` that waits for the parent JavaScript\napplication to start, then launches a browser debug session targeting the parent's HTTP or HTTPS endpoint.\nThe parent resource must have at least one HTTP or HTTPS endpoint configured.", + "returns": "A reference to the `IResourceBuilder`1` for chaining additional configuration.", "kind": "Method", "signature": "withBrowserDebugger(browser?: string): JavaScriptAppResource", "parameters": [ @@ -606,7 +675,8 @@ "name": "browser", "type": "string", "isOptional": true, - "defaultValue": "msedge" + "defaultValue": "msedge", + "description": "The browser to use for debugging. Defaults to `\"msedge\"`. Supported values include `\"msedge\"` and `\"chrome\"`." } ], "returnType": "JavaScriptAppResource", @@ -623,18 +693,22 @@ "name": "withBuildScript", "capabilityId": "Aspire.Hosting.JavaScript/withBuildScript", "qualifiedName": "withBuildScript", - "description": "Specifies an npm script to run before starting the application", + "description": "Adds a build script annotation to the resource builder using the specified command-line arguments.", + "remarks": "Use this method to specify custom build scripts for JavaScript application resources during\ndeployment.", + "returns": "The same resource builder instance with the build script annotation applied.", "kind": "Method", "signature": "withBuildScript(scriptName: string, args?: string[]): JavaScriptAppResource", "parameters": [ { "name": "scriptName", - "type": "string" + "type": "string", + "description": "The name of the script to be executed when the resource is built." }, { "name": "args", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "An array of command-line arguments to use for the build script." } ], "returnType": "JavaScriptAppResource", @@ -651,7 +725,9 @@ "name": "withBun", "capabilityId": "Aspire.Hosting.JavaScript/withBun", "qualifiedName": "withBun", - "description": "Configures Bun as the package manager", + "description": "Configures the JavaScript resource to use Bun as the package manager and optionally installs packages before the application starts.", + "remarks": "Bun forwards script arguments without requiring the `--` command separator, so this method configures the resource to omit it.\nWhen publishing and a bun lockfile (`bun.lock` or `bun.lockb`) is present, `--frozen-lockfile` is used by default.\nPublishing to a container requires Bun to be present in the build image. This method configures a Bun build image when one is not already specified.\nTo use a specific Bun version, configure a custom build image (for example, `oven/bun:`) using `WithDockerfileBaseImage``1`.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withBun(install?: boolean, installArgs?: string[]): JavaScriptAppResource", "parameters": [ @@ -659,12 +735,14 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically installs packages before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "installArgs", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Additional command-line arguments passed to \"bun install\". When null, defaults are applied based on publish mode and lockfile presence." } ], "returnType": "JavaScriptAppResource", @@ -681,7 +759,8 @@ "name": "withNpm", "capabilityId": "Aspire.Hosting.JavaScript/withNpm", "qualifiedName": "withNpm", - "description": "Configures npm as the package manager", + "description": "Configures the Node.js resource to use npm as the package manager and optionally installs packages before the application starts.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withNpm(install?: boolean, installCommand?: string, installArgs?: string[]): JavaScriptAppResource", "parameters": [ @@ -689,17 +768,20 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically installs packages before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "installCommand", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The install command itself passed to npm to install dependencies." }, { "name": "installArgs", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "The command-line arguments passed to npm to install dependencies." } ], "returnType": "JavaScriptAppResource", @@ -716,7 +798,8 @@ "name": "withPnpm", "capabilityId": "Aspire.Hosting.JavaScript/withPnpm", "qualifiedName": "withPnpm", - "description": "Configures pnpm as the package manager", + "description": "Configures the Node.js resource to use pnpm as the package manager and optionally installs packages before the application starts.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withPnpm(install?: boolean, installArgs?: string[]): JavaScriptAppResource", "parameters": [ @@ -724,12 +807,14 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically installs packages before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "installArgs", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "The command-line arguments passed to \"pnpm install\"." } ], "returnType": "JavaScriptAppResource", @@ -746,18 +831,22 @@ "name": "withRunScript", "capabilityId": "Aspire.Hosting.JavaScript/withRunScript", "qualifiedName": "withRunScript", - "description": "Specifies an npm script to run during development", + "description": "Adds a run script annotation to the specified JavaScript application resource builder, specifying the script to execute and its arguments during run mode.", + "remarks": "Use this method to specify a custom script and its arguments that should be executed when the resource is executed\nin RunMode.", + "returns": "The same resource builder instance with the run script annotation applied, enabling further configuration.", "kind": "Method", "signature": "withRunScript(scriptName: string, args?: string[]): JavaScriptAppResource", "parameters": [ { "name": "scriptName", - "type": "string" + "type": "string", + "description": "The name of the script to be executed when the resource is run." }, { "name": "args", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "An array of arguments to pass to the script." } ], "returnType": "JavaScriptAppResource", @@ -774,7 +863,8 @@ "name": "withYarn", "capabilityId": "Aspire.Hosting.JavaScript/withYarn", "qualifiedName": "withYarn", - "description": "Configures yarn as the package manager", + "description": "Configures the Node.js resource to use yarn as the package manager and optionally installs packages before the application starts.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withYarn(install?: boolean, installArgs?: string[]): JavaScriptAppResource", "parameters": [ @@ -782,12 +872,14 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically installs packages before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "installArgs", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "The command-line arguments passed to \"yarn install\"." } ], "returnType": "JavaScriptAppResource", @@ -807,6 +899,7 @@ "fullName": "Aspire.Hosting.JavaScript.NextJsAppResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a Next.js application resource.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IResource", @@ -824,6 +917,8 @@ "capabilityId": "Aspire.Hosting.JavaScript/disableBuildValidation", "qualifiedName": "disableBuildValidation", "description": "Disables deploy-time build validation checks for the Next.js application.", + "remarks": "By default, `AddNextJsApp` adds publish prerequisite steps that verify\nthe Next.js configuration (e.g. that `output: \"standalone\"` is set). Use this method\nto suppress those checks when the configuration is set dynamically or via an external\nmechanism that cannot be detected by static file inspection.", + "returns": "The resource builder for chaining.", "kind": "Method", "signature": "disableBuildValidation(): NextJsAppResource", "parameters": [], @@ -841,6 +936,7 @@ "fullName": "Aspire.Hosting.JavaScript.NodeAppResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a node application.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IContainerFilesDestinationResource", @@ -860,6 +956,7 @@ "fullName": "Aspire.Hosting.JavaScript.ViteAppResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a Vite application resource that can be managed and executed within a Node.js environment.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IResource", @@ -876,13 +973,16 @@ "name": "withViteConfig", "capabilityId": "Aspire.Hosting.JavaScript/withViteConfig", "qualifiedName": "withViteConfig", - "description": "Configures a custom Vite configuration file", + "description": "Configures the Vite app to use the specified Vite configuration file instead of the default resolution behavior.", + "remarks": "Use this method to specify a specific Vite configuration file if you need to override the default Vite configuration resolution behavior.", + "returns": "The resource builder.", "kind": "Method", "signature": "withViteConfig(configPath: string): ViteAppResource", "parameters": [ { "name": "configPath", - "type": "string" + "type": "string", + "description": "The path to the Vite configuration file. Relative to the Vite service project root." } ], "returnType": "ViteAppResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Kafka.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Kafka.13.3.0.json index 25950bf2f..c04db5f06 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Kafka.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Kafka.13.3.0.json @@ -10,19 +10,23 @@ "name": "addKafka", "capabilityId": "Aspire.Hosting.Kafka/addKafka", "qualifiedName": "addKafka", - "description": "Adds a Kafka container resource", + "description": "Adds a Kafka resource to the application. A container is used for local development.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addKafka(name: string, port?: number): KafkaServerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency" }, { "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port of Kafka broker." } ], "returnType": "KafkaServerResource", @@ -36,7 +40,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting/KafkaServerResource.connectionStringExpression", "qualifiedName": "KafkaServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Kafka broker.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -50,7 +54,7 @@ "name": "host", "capabilityId": "Aspire.Hosting/KafkaServerResource.host", "qualifiedName": "KafkaServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for the primary endpoint.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -64,7 +68,7 @@ "name": "internalEndpoint", "capabilityId": "Aspire.Hosting/KafkaServerResource.internalEndpoint", "qualifiedName": "KafkaServerResource.internalEndpoint", - "description": "Gets the InternalEndpoint property", + "description": "Gets the internal endpoint for the Kafka broker. This endpoint is used for container to broker communication. To connect to the Kafka broker from a host process, use `PrimaryEndpoint`.", "kind": "PropertyGetter", "signature": "internalEndpoint(): EndpointReference", "parameters": [], @@ -78,7 +82,7 @@ "name": "port", "capabilityId": "Aspire.Hosting/KafkaServerResource.port", "qualifiedName": "KafkaServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for the primary endpoint.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -92,7 +96,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting/KafkaServerResource.primaryEndpoint", "qualifiedName": "KafkaServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Kafka broker. This endpoint is used for host processes to Kafka broker communication. To connect to the Kafka broker from a container, use `InternalEndpoint`.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -106,19 +110,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Kafka/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount to the Kafka container", + "description": "Adds a bind mount for the data folder to a Kafka container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): KafkaServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "KafkaServerResource", @@ -132,20 +139,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Kafka/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume to the Kafka container", + "description": "Adds a named volume for the data folder to a Kafka container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): KafkaServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "KafkaServerResource", @@ -159,14 +169,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Kafka/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Kafka UI container", + "description": "Configures the host port that the KafkaUI resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for KafkaUI.", "kind": "Method", "signature": "withHostPort(port: number): KafkaUIContainerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "KafkaUIContainerResource", @@ -180,21 +192,25 @@ "name": "withKafkaUI", "capabilityId": "Aspire.Hosting.Kafka/withKafkaUI", "qualifiedName": "withKafkaUI", - "description": "Adds a Kafka UI container to manage the Kafka resource", + "description": "Adds a Kafka UI container to the application.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withKafkaUI(configureContainer?: (obj: KafkaUIContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): KafkaServerResource", + "signature": "withKafkaUI(configureContainer?: (obj: KafkaUIContainerResource) => Promise, containerName?: string): KafkaServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: KafkaUIContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: KafkaUIContainerResource) => Promise", + "description": "Configuration callback for KafkaUI container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "KafkaServerResource", @@ -211,6 +227,7 @@ "fullName": "Aspire.Hosting.KafkaServerResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a Kafka broker.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -230,7 +247,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting/KafkaServerResource.connectionStringExpression", "qualifiedName": "KafkaServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Kafka broker.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -244,7 +261,7 @@ "name": "host", "capabilityId": "Aspire.Hosting/KafkaServerResource.host", "qualifiedName": "KafkaServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for the primary endpoint.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -258,7 +275,7 @@ "name": "internalEndpoint", "capabilityId": "Aspire.Hosting/KafkaServerResource.internalEndpoint", "qualifiedName": "KafkaServerResource.internalEndpoint", - "description": "Gets the InternalEndpoint property", + "description": "Gets the internal endpoint for the Kafka broker. This endpoint is used for container to broker communication. To connect to the Kafka broker from a host process, use `PrimaryEndpoint`.", "kind": "PropertyGetter", "signature": "internalEndpoint(): EndpointReference", "parameters": [], @@ -272,7 +289,7 @@ "name": "port", "capabilityId": "Aspire.Hosting/KafkaServerResource.port", "qualifiedName": "KafkaServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for the primary endpoint.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -286,7 +303,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting/KafkaServerResource.primaryEndpoint", "qualifiedName": "KafkaServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Kafka broker. This endpoint is used for host processes to Kafka broker communication. To connect to the Kafka broker from a container, use `InternalEndpoint`.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -300,19 +317,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Kafka/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount to the Kafka container", + "description": "Adds a bind mount for the data folder to a Kafka container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): KafkaServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "KafkaServerResource", @@ -326,20 +346,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Kafka/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume to the Kafka container", + "description": "Adds a named volume for the data folder to a Kafka container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): KafkaServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "KafkaServerResource", @@ -353,21 +376,25 @@ "name": "withKafkaUI", "capabilityId": "Aspire.Hosting.Kafka/withKafkaUI", "qualifiedName": "withKafkaUI", - "description": "Adds a Kafka UI container to manage the Kafka resource", + "description": "Adds a Kafka UI container to the application.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withKafkaUI(configureContainer?: (obj: KafkaUIContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): KafkaServerResource", + "signature": "withKafkaUI(configureContainer?: (obj: KafkaUIContainerResource) => Promise, containerName?: string): KafkaServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: KafkaUIContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: KafkaUIContainerResource) => Promise", + "description": "Configuration callback for KafkaUI container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "KafkaServerResource", @@ -397,14 +424,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Kafka/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Kafka UI container", + "description": "Configures the host port that the KafkaUI resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for KafkaUI.", "kind": "Method", "signature": "withHostPort(port: number): KafkaUIContainerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "KafkaUIContainerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Keycloak.13.3.0-preview.1.26254.5.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Keycloak.13.3.0-preview.1.26254.5.json index e3c1da232..d7247ea6f 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Keycloak.13.3.0-preview.1.26254.5.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Keycloak.13.3.0-preview.1.26254.5.json @@ -10,29 +10,35 @@ "name": "addKeycloak", "capabilityId": "Aspire.Hosting.Keycloak/addKeycloak", "qualifiedName": "addKeycloak", - "description": "Adds a Keycloak container resource", + "description": "Adds a Keycloak container to the application model.", + "remarks": "The container exposes port 8080 by default.\nThis version of the package defaults to the tag of the / container image.\nUse in application host\n```\nvar keycloak = builder.AddKeycloak(\"keycloak\");\nvar myService = builder.AddProject Promise): KubernetesEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: KubernetesAspireDashboardResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: KubernetesAspireDashboardResource) => Promise", + "description": "A method that can be used for customizing the dashboard resource." } ], "returnType": "KubernetesEnvironmentResource", @@ -108,6 +121,44 @@ "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" ] }, + { + "name": "withChartDescription", + "capabilityId": "Aspire.Hosting.Kubernetes/HelmChartOptions.withChartDescription", + "qualifiedName": "HelmChartOptions.withChartDescription", + "description": "Sets the Helm chart description written to the generated Chart.yaml.", + "kind": "InstanceMethod", + "signature": "withChartDescription(description: ParameterResource): HelmChartOptions", + "parameters": [ + { + "name": "description", + "type": "ParameterResource" + } + ], + "returnType": "HelmChartOptions", + "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.HelmChartOptions", + "expandedTargetTypes": [ + "Aspire.Hosting.Kubernetes.HelmChartOptions" + ] + }, + { + "name": "withChartName", + "capabilityId": "Aspire.Hosting.Kubernetes/HelmChartOptions.withChartName", + "qualifiedName": "HelmChartOptions.withChartName", + "description": "Sets the Helm chart name written to the generated Chart.yaml.", + "kind": "InstanceMethod", + "signature": "withChartName(name: ParameterResource): HelmChartOptions", + "parameters": [ + { + "name": "name", + "type": "ParameterResource" + } + ], + "returnType": "HelmChartOptions", + "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.HelmChartOptions", + "expandedTargetTypes": [ + "Aspire.Hosting.Kubernetes.HelmChartOptions" + ] + }, { "name": "withChartVersion", "capabilityId": "Aspire.Hosting.Kubernetes/HelmChartOptions.withChartVersion", @@ -169,7 +220,7 @@ "name": "otlpGrpcEndpoint", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesAspireDashboardResource.otlpGrpcEndpoint", "qualifiedName": "KubernetesAspireDashboardResource.otlpGrpcEndpoint", - "description": "Gets the OtlpGrpcEndpoint property", + "description": "Gets the OTLP gRPC endpoint for receiving telemetry data.", "kind": "PropertyGetter", "signature": "otlpGrpcEndpoint(): EndpointReference", "parameters": [], @@ -183,7 +234,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesAspireDashboardResource.primaryEndpoint", "qualifiedName": "KubernetesAspireDashboardResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary HTTP endpoint of the Aspire Dashboard UI.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -197,7 +248,7 @@ "name": "dashboardEnabled", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.dashboardEnabled", "qualifiedName": "KubernetesEnvironmentResource.dashboardEnabled", - "description": "Gets the DashboardEnabled property", + "description": "Determines whether to include an Aspire dashboard for telemetry visualization in this environment.", "kind": "PropertyGetter", "signature": "dashboardEnabled(): boolean", "parameters": [], @@ -211,7 +262,7 @@ "name": "defaultImagePullPolicy", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultImagePullPolicy", "qualifiedName": "KubernetesEnvironmentResource.defaultImagePullPolicy", - "description": "Gets the DefaultImagePullPolicy property", + "description": "Gets or sets the default policy that determines how Docker images are pulled during deployment. Possible values are: \"Always\" - Always attempt to pull the image from the registry. \"IfNotPresent\" - Pull the image only if it is not already present locally. \"Never\" - Never pull the image, use only the local image. The default value is \"IfNotPresent\".", "kind": "PropertyGetter", "signature": "defaultImagePullPolicy(): string", "parameters": [], @@ -225,7 +276,8 @@ "name": "defaultServiceType", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultServiceType", "qualifiedName": "KubernetesEnvironmentResource.defaultServiceType", - "description": "Gets the DefaultServiceType property", + "description": "Gets or sets the default Kubernetes service type to be used when generating artifacts.", + "remarks": "The default value is \"ClusterIP\". This property determines the type of service\n(e.g., ClusterIP, NodePort, LoadBalancer) created in Kubernetes for the application.", "kind": "PropertyGetter", "signature": "defaultServiceType(): string", "parameters": [], @@ -239,7 +291,7 @@ "name": "defaultStorageClassName", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultStorageClassName", "qualifiedName": "KubernetesEnvironmentResource.defaultStorageClassName", - "description": "Gets the DefaultStorageClassName property", + "description": "Specifies the default name of the storage class to be used for persistent volume claims in Kubernetes. This property allows customization of the storage class for specifying storage requirements such as performance, retention policies, and provisioning parameters. If set to null, the default storage class for the cluster will be used.", "kind": "PropertyGetter", "signature": "defaultStorageClassName(): string", "parameters": [], @@ -253,7 +305,7 @@ "name": "defaultStorageReadWritePolicy", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultStorageReadWritePolicy", "qualifiedName": "KubernetesEnvironmentResource.defaultStorageReadWritePolicy", - "description": "Gets the DefaultStorageReadWritePolicy property", + "description": "Gets or sets the default access policy for reading and writing to the storage.", "kind": "PropertyGetter", "signature": "defaultStorageReadWritePolicy(): string", "parameters": [], @@ -267,7 +319,7 @@ "name": "defaultStorageSize", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultStorageSize", "qualifiedName": "KubernetesEnvironmentResource.defaultStorageSize", - "description": "Gets the DefaultStorageSize property", + "description": "Gets or sets the default storage size for persistent volumes.", "kind": "PropertyGetter", "signature": "defaultStorageSize(): string", "parameters": [], @@ -281,7 +333,8 @@ "name": "defaultStorageType", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultStorageType", "qualifiedName": "KubernetesEnvironmentResource.defaultStorageType", - "description": "Gets the DefaultStorageType property", + "description": "Specifies the default type of storage used for Kubernetes deployments.", + "remarks": "This property determines the storage medium used for the application.\nPossible values include \"emptyDir\", \"hostPath\", \"pvc\"", "kind": "PropertyGetter", "signature": "defaultStorageType(): string", "parameters": [], @@ -291,53 +344,12 @@ "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" ] }, - { - "name": "helmChartDescription", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.helmChartDescription", - "qualifiedName": "KubernetesEnvironmentResource.helmChartDescription", - "description": "Gets the HelmChartDescription property", - "kind": "PropertyGetter", - "signature": "helmChartDescription(): string", - "parameters": [], - "returnType": "string", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, - { - "name": "helmChartName", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.helmChartName", - "qualifiedName": "KubernetesEnvironmentResource.helmChartName", - "description": "Gets the HelmChartName property", - "kind": "PropertyGetter", - "signature": "helmChartName(): string", - "parameters": [], - "returnType": "string", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, - { - "name": "helmChartVersion", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.helmChartVersion", - "qualifiedName": "KubernetesEnvironmentResource.helmChartVersion", - "description": "Gets the HelmChartVersion property", - "kind": "PropertyGetter", - "signature": "helmChartVersion(): string", - "parameters": [], - "returnType": "string", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, { "name": "kubeConfigPath", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.kubeConfigPath", "qualifiedName": "KubernetesEnvironmentResource.kubeConfigPath", - "description": "Gets the KubeConfigPath property", + "description": "Gets or sets the path to an explicit kubeconfig file for Helm and kubectl commands. When set, all Helm and kubectl commands will use `--kubeconfig` to target this file instead of the default `~/.kube/config`.", + "remarks": "This is used by Azure Kubernetes Service (AKS) integration to isolate credentials\nfetched via `az aks get-credentials` from the user's default kubectl context.", "kind": "PropertyGetter", "signature": "kubeConfigPath(): string", "parameters": [], @@ -351,7 +363,7 @@ "name": "setDashboardEnabled", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDashboardEnabled", "qualifiedName": "KubernetesEnvironmentResource.setDashboardEnabled", - "description": "Sets the DashboardEnabled property", + "description": "Determines whether to include an Aspire dashboard for telemetry visualization in this environment.", "kind": "PropertySetter", "signature": "setDashboardEnabled(value: boolean): KubernetesEnvironmentResource", "parameters": [ @@ -370,7 +382,7 @@ "name": "setDefaultImagePullPolicy", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultImagePullPolicy", "qualifiedName": "KubernetesEnvironmentResource.setDefaultImagePullPolicy", - "description": "Sets the DefaultImagePullPolicy property", + "description": "Gets or sets the default policy that determines how Docker images are pulled during deployment. Possible values are: \"Always\" - Always attempt to pull the image from the registry. \"IfNotPresent\" - Pull the image only if it is not already present locally. \"Never\" - Never pull the image, use only the local image. The default value is \"IfNotPresent\".", "kind": "PropertySetter", "signature": "setDefaultImagePullPolicy(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -389,7 +401,8 @@ "name": "setDefaultServiceType", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultServiceType", "qualifiedName": "KubernetesEnvironmentResource.setDefaultServiceType", - "description": "Sets the DefaultServiceType property", + "description": "Gets or sets the default Kubernetes service type to be used when generating artifacts.", + "remarks": "The default value is \"ClusterIP\". This property determines the type of service\n(e.g., ClusterIP, NodePort, LoadBalancer) created in Kubernetes for the application.", "kind": "PropertySetter", "signature": "setDefaultServiceType(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -408,7 +421,7 @@ "name": "setDefaultStorageClassName", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultStorageClassName", "qualifiedName": "KubernetesEnvironmentResource.setDefaultStorageClassName", - "description": "Sets the DefaultStorageClassName property", + "description": "Specifies the default name of the storage class to be used for persistent volume claims in Kubernetes. This property allows customization of the storage class for specifying storage requirements such as performance, retention policies, and provisioning parameters. If set to null, the default storage class for the cluster will be used.", "kind": "PropertySetter", "signature": "setDefaultStorageClassName(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -427,7 +440,7 @@ "name": "setDefaultStorageReadWritePolicy", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultStorageReadWritePolicy", "qualifiedName": "KubernetesEnvironmentResource.setDefaultStorageReadWritePolicy", - "description": "Sets the DefaultStorageReadWritePolicy property", + "description": "Gets or sets the default access policy for reading and writing to the storage.", "kind": "PropertySetter", "signature": "setDefaultStorageReadWritePolicy(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -446,7 +459,7 @@ "name": "setDefaultStorageSize", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultStorageSize", "qualifiedName": "KubernetesEnvironmentResource.setDefaultStorageSize", - "description": "Sets the DefaultStorageSize property", + "description": "Gets or sets the default storage size for persistent volumes.", "kind": "PropertySetter", "signature": "setDefaultStorageSize(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -465,7 +478,8 @@ "name": "setDefaultStorageType", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultStorageType", "qualifiedName": "KubernetesEnvironmentResource.setDefaultStorageType", - "description": "Sets the DefaultStorageType property", + "description": "Specifies the default type of storage used for Kubernetes deployments.", + "remarks": "This property determines the storage medium used for the application.\nPossible values include \"emptyDir\", \"hostPath\", \"pvc\"", "kind": "PropertySetter", "signature": "setDefaultStorageType(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -480,68 +494,12 @@ "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" ] }, - { - "name": "setHelmChartDescription", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setHelmChartDescription", - "qualifiedName": "KubernetesEnvironmentResource.setHelmChartDescription", - "description": "Sets the HelmChartDescription property", - "kind": "PropertySetter", - "signature": "setHelmChartDescription(value: string): KubernetesEnvironmentResource", - "parameters": [ - { - "name": "value", - "type": "string" - } - ], - "returnType": "KubernetesEnvironmentResource", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, - { - "name": "setHelmChartName", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setHelmChartName", - "qualifiedName": "KubernetesEnvironmentResource.setHelmChartName", - "description": "Sets the HelmChartName property", - "kind": "PropertySetter", - "signature": "setHelmChartName(value: string): KubernetesEnvironmentResource", - "parameters": [ - { - "name": "value", - "type": "string" - } - ], - "returnType": "KubernetesEnvironmentResource", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, - { - "name": "setHelmChartVersion", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setHelmChartVersion", - "qualifiedName": "KubernetesEnvironmentResource.setHelmChartVersion", - "description": "Sets the HelmChartVersion property", - "kind": "PropertySetter", - "signature": "setHelmChartVersion(value: string): KubernetesEnvironmentResource", - "parameters": [ - { - "name": "value", - "type": "string" - } - ], - "returnType": "KubernetesEnvironmentResource", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, { "name": "setKubeConfigPath", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setKubeConfigPath", "qualifiedName": "KubernetesEnvironmentResource.setKubeConfigPath", - "description": "Sets the KubeConfigPath property", + "description": "Gets or sets the path to an explicit kubeconfig file for Helm and kubectl commands. When set, all Helm and kubectl commands will use `--kubeconfig` to target this file instead of the default `~/.kube/config`.", + "remarks": "This is used by Azure Kubernetes Service (AKS) integration to isolate credentials\nfetched via `az aks get-credentials` from the user's default kubectl context.", "kind": "PropertySetter", "signature": "setKubeConfigPath(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -574,15 +532,18 @@ "name": "publishAsKubernetesService", "capabilityId": "Aspire.Hosting.Kubernetes/publishAsKubernetesService", "qualifiedName": "publishAsKubernetesService", - "description": "Publishes the resource as a Kubernetes service", + "description": "Publishes the specified resource as a Kubernetes service.", + "remarks": "This method checks if the application is in publish mode. If it is, it adds a customization annotation\nthat will be applied by the infrastructure when generating the Kubernetes service.\n```\nbuilder.AddContainer(\"redis\", \"redis:alpine\").PublishAsKubernetesService((service) =>\n{\nservice.Name = \"redis\";\n});\n```", + "returns": "The updated resource builder.", "kind": "Method", - "signature": "publishAsKubernetesService(configure: (obj: KubernetesResource) =\u003E Promise\u003Cvoid\u003E): IComputeResource", + "signature": "publishAsKubernetesService(configure: (obj: KubernetesResource) => Promise): IComputeResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: KubernetesResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: KubernetesResource) => Promise", + "description": "The configuration action for the Kubernetes service." } ], "returnType": "IComputeResource", @@ -601,7 +562,9 @@ "name": "withDashboard", "capabilityId": "Aspire.Hosting.Kubernetes/withDashboard", "qualifiedName": "withDashboard", - "description": "Enables or disables the Aspire dashboard for the Kubernetes environment", + "description": "Enables the Aspire dashboard for telemetry visualization in this Kubernetes environment.", + "remarks": "When enabled, an Aspire Dashboard container is deployed alongside the application resources\nin the Kubernetes cluster. All resources with OTLP telemetry support are automatically\nconfigured to send telemetry data to the dashboard.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withDashboard(enabled?: boolean): KubernetesEnvironmentResource", "parameters": [ @@ -609,7 +572,8 @@ "name": "enabled", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to enable the dashboard. Default is true." } ], "returnType": "KubernetesEnvironmentResource", @@ -623,13 +587,15 @@ "name": "withDefaultBackend", "capabilityId": "Aspire.Hosting.Kubernetes/withDefaultBackend", "qualifiedName": "withDefaultBackend", - "description": "Sets the default backend for a Kubernetes Ingress", + "description": "Sets the default backend for the ingress. The default backend handles requests that do not match any of the defined routing rules.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withDefaultBackend(endpoint: EndpointReference): KubernetesIngressResource", "parameters": [ { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint reference identifying the default backend service and port." } ], "returnType": "KubernetesIngressResource", @@ -643,7 +609,9 @@ "name": "withForwardedHeaders", "capabilityId": "Aspire.Hosting.Kubernetes/withForwardedHeaders", "qualifiedName": "withForwardedHeaders", - "description": "Enables or disables forwarded headers support for the Aspire dashboard", + "description": "Configures whether forwarded headers processing is enabled for the Aspire dashboard container.", + "remarks": "This sets the `ASPIRE_DASHBOARD_FORWARDEDHEADERS_ENABLED` environment variable inside the dashboard\ncontainer. When enabled, the dashboard will process `X-Forwarded-Host` and `X-Forwarded-Proto`\nheaders which is required when the dashboard is accessed through a reverse proxy or ingress controller.", + "returns": "The same `IResourceBuilder`1` to allow chaining.", "kind": "Method", "signature": "withForwardedHeaders(enabled?: boolean): KubernetesAspireDashboardResource", "parameters": [ @@ -651,7 +619,8 @@ "name": "enabled", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "True to enable forwarded headers, false to disable." } ], "returnType": "KubernetesAspireDashboardResource", @@ -665,17 +634,21 @@ "name": "withGatewayAnnotation", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayAnnotation", "qualifiedName": "withGatewayAnnotation", - "description": "Adds a Kubernetes metadata annotation to a Gateway", + "description": "Adds a Kubernetes metadata annotation to the generated Gateway resource.", + "remarks": "This sets Kubernetes `metadata.annotations` on the generated K8S Gateway resource,\nnot Aspire `IResourceAnnotation` instances. These are key-value\nstring pairs used by ingress controllers for provider-specific configuration.\nFor Azure Application Gateway for Containers (AGC), you typically need:\n`alb.networking.azure.io/alb-name` and `alb.networking.azure.io/alb-namespace`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayAnnotation(key: string, value: string): KubernetesGatewayResource", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The annotation key." }, { "name": "value", - "type": "string" + "type": "string", + "description": "The annotation value." } ], "returnType": "KubernetesGatewayResource", @@ -689,17 +662,20 @@ "name": "withGatewayAnnotationParam", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayAnnotationParam", "qualifiedName": "withGatewayAnnotationParam", - "description": "Adds a parameterized Kubernetes metadata annotation to a Gateway", + "description": "Adds a Kubernetes metadata annotation with a parameter value that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayAnnotationParam(key: string, value: ParameterResource): KubernetesGatewayResource", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The annotation key." }, { "name": "value", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the annotation value." } ], "returnType": "KubernetesGatewayResource", @@ -713,13 +689,15 @@ "name": "withGatewayClass", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayClass", "qualifiedName": "withGatewayClass", - "description": "Sets the GatewayClass for a Kubernetes Gateway", + "description": "Sets the GatewayClass name that selects which controller implementation handles this gateway.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayClass(className: string): KubernetesGatewayResource", "parameters": [ { "name": "className", - "type": "string" + "type": "string", + "description": "The GatewayClass name (e.g., `\"azure-alb-external\"`, `\"istio\"`)." } ], "returnType": "KubernetesGatewayResource", @@ -733,13 +711,15 @@ "name": "withGatewayClassParam", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayClassParam", "qualifiedName": "withGatewayClassParam", - "description": "Sets a parameterized GatewayClass for a Kubernetes Gateway", + "description": "Sets the GatewayClass name using a parameter that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayClassParam(className: ParameterResource): KubernetesGatewayResource", "parameters": [ { "name": "className", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the GatewayClass name." } ], "returnType": "KubernetesGatewayResource", @@ -753,13 +733,15 @@ "name": "withGatewayHostnameParam", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayHostnameParam", "qualifiedName": "withGatewayHostnameParam", - "description": "Adds a parameterized hostname to a Kubernetes Gateway", + "description": "Adds a hostname using a parameter that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayHostnameParam(hostname: ParameterResource): KubernetesGatewayResource", "parameters": [ { "name": "hostname", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the hostname value." } ], "returnType": "KubernetesGatewayResource", @@ -773,27 +755,32 @@ "name": "withGatewayHostRoute", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayHostRoute", "qualifiedName": "withGatewayHostRoute", - "description": "Adds a host-and-path route to a Kubernetes Gateway", + "description": "Adds a host-and-path-based routing rule to the gateway. The rule matches traffic for the specified host and path, routing it to the given endpoint's backing Kubernetes service. This generates an `HTTPRoute` resource with a `hostnames` filter.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayHostRoute(host: string, path: string, endpoint: EndpointReference, pathType?: IngressPathType): KubernetesGatewayResource", "parameters": [ { "name": "host", - "type": "string" + "type": "string", + "description": "The hostname to match (e.g., `\"api.example.com\"`)." }, { "name": "path", - "type": "string" + "type": "string", + "description": "The URL path to match. Must start with `/`." }, { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint reference identifying the target service and port." }, { "name": "pathType", "type": "IngressPathType", "isOptional": true, - "defaultValue": "Prefix" + "defaultValue": "Prefix", + "description": "The path matching strategy. Defaults to `Prefix`." } ], "returnType": "KubernetesGatewayResource", @@ -807,23 +794,27 @@ "name": "withGatewayPathRoute", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayPathRoute", "qualifiedName": "withGatewayPathRoute", - "description": "Adds a path-based route to a Kubernetes Gateway", + "description": "Adds a path-based routing rule to the gateway. The rule matches all hosts and routes traffic matching the specified path to the given endpoint's backing Kubernetes service. This generates an `HTTPRoute` resource attached to the Gateway.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayPathRoute(path: string, endpoint: EndpointReference, pathType?: IngressPathType): KubernetesGatewayResource", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "The URL path to match (e.g., `\"/\"` or `\"/api\"`). Must start with `/`." }, { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint reference identifying the target service and port." }, { "name": "pathType", "type": "IngressPathType", "isOptional": true, - "defaultValue": "Prefix" + "defaultValue": "Prefix", + "description": "The path matching strategy. Defaults to `Prefix`." } ], "returnType": "KubernetesGatewayResource", @@ -837,7 +828,8 @@ "name": "withGatewayTlsAuto", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayTlsAuto", "qualifiedName": "withGatewayTlsAuto", - "description": "Configures TLS on a Kubernetes Gateway with an auto-generated secret", + "description": "Configures TLS termination with an auto-generated secret name derived from the gateway name.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayTlsAuto(): KubernetesGatewayResource", "parameters": [], @@ -852,13 +844,15 @@ "name": "withGatewayTlsParam", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayTlsParam", "qualifiedName": "withGatewayTlsParam", - "description": "Configures TLS on a Kubernetes Gateway with a parameterized secret", + "description": "Configures TLS termination using a parameter for the secret name.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayTlsParam(secretName: ParameterResource): KubernetesGatewayResource", "parameters": [ { "name": "secretName", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the secret name." } ], "returnType": "KubernetesGatewayResource", @@ -872,16 +866,19 @@ "name": "withHelm", "capabilityId": "Aspire.Hosting.Kubernetes/withHelm", "qualifiedName": "withHelm", - "description": "Configures Helm chart deployment settings", + "description": "Configures the Kubernetes environment to deploy using Helm charts.", + "remarks": "Helm is the default deployment engine. Call this method to customize Helm-specific settings.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withHelm(configure?: (obj: HelmChartOptions) =\u003E Promise\u003Cvoid\u003E): KubernetesEnvironmentResource", + "signature": "withHelm(configure?: (obj: HelmChartOptions) => Promise): KubernetesEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: HelmChartOptions) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: HelmChartOptions) => Promise", + "description": "An optional callback to configure Helm chart settings such as namespace, release name, and chart version." } ], "returnType": "KubernetesEnvironmentResource", @@ -895,13 +892,15 @@ "name": "withHostname", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayHostname", "qualifiedName": "withHostname", - "description": "Adds a hostname to a Kubernetes Gateway", + "description": "Adds a hostname that this gateway's routes match. Multiple hostnames can be added by calling this method repeatedly. Hostnames are used as `hostnames` in generated `HTTPRoute` resources and as HTTPS listener hostnames when TLS is configured.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withHostname(hostname: string): KubernetesGatewayResource", "parameters": [ { "name": "hostname", - "type": "string" + "type": "string", + "description": "The hostname to match (e.g., `\"api.example.com\"`)." } ], "returnType": "KubernetesGatewayResource", @@ -915,13 +914,15 @@ "name": "withHostname", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressHostname", "qualifiedName": "withHostname", - "description": "Adds a hostname to a Kubernetes Ingress", + "description": "Adds a hostname that this ingress matches. Multiple hostnames can be added by calling this method repeatedly. If no hostnames are configured, the ingress matches all hosts.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withHostname(hostname: string): KubernetesIngressResource", "parameters": [ { "name": "hostname", - "type": "string" + "type": "string", + "description": "The hostname to match (e.g., `\"api.example.com\"`)." } ], "returnType": "KubernetesIngressResource", @@ -935,17 +936,21 @@ "name": "withIngressAnnotation", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressAnnotation", "qualifiedName": "withIngressAnnotation", - "description": "Adds a Kubernetes metadata annotation to a Kubernetes Ingress", + "description": "Adds a Kubernetes metadata annotation to the generated Ingress resource. These are key-value pairs in the `metadata.annotations` field of the K8S Ingress, commonly used to configure ingress controller-specific behavior.", + "remarks": "This method sets Kubernetes metadata annotations, not Aspire `IResourceAnnotation`\ninstances. Use these for controller-specific features like path rewriting, rate limiting,\nCORS configuration, or SSL redirect behavior.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressAnnotation(key: string, value: string): KubernetesIngressResource", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The annotation key (e.g., `\"nginx.ingress.kubernetes.io/rewrite-target\"`)." }, { "name": "value", - "type": "string" + "type": "string", + "description": "The annotation value." } ], "returnType": "KubernetesIngressResource", @@ -959,17 +964,20 @@ "name": "withIngressAnnotationParam", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressAnnotationParam", "qualifiedName": "withIngressAnnotationParam", - "description": "Adds a parameterized Kubernetes metadata annotation to an Ingress", + "description": "Adds a Kubernetes metadata annotation with a parameter value that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressAnnotationParam(key: string, value: ParameterResource): KubernetesIngressResource", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The annotation key." }, { "name": "value", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the annotation value." } ], "returnType": "KubernetesIngressResource", @@ -983,13 +991,15 @@ "name": "withIngressClass", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressClass", "qualifiedName": "withIngressClass", - "description": "Sets the ingress class for a Kubernetes Ingress", + "description": "Sets the Kubernetes ingress class name that selects which ingress controller handles this ingress resource.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressClass(className: string): KubernetesIngressResource", "parameters": [ { "name": "className", - "type": "string" + "type": "string", + "description": "The ingress class name (e.g., `\"nginx\"`, `\"traefik\"`, `\"azure-alb-external\"`)." } ], "returnType": "KubernetesIngressResource", @@ -1003,13 +1013,15 @@ "name": "withIngressClassParam", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressClassParam", "qualifiedName": "withIngressClassParam", - "description": "Sets a parameterized ingress class for a Kubernetes Ingress", + "description": "Sets the Kubernetes ingress class name using a parameter that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressClassParam(className: ParameterResource): KubernetesIngressResource", "parameters": [ { "name": "className", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the ingress class name." } ], "returnType": "KubernetesIngressResource", @@ -1023,13 +1035,15 @@ "name": "withIngressHostnameParam", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressHostnameParam", "qualifiedName": "withIngressHostnameParam", - "description": "Adds a parameterized hostname to a Kubernetes Ingress", + "description": "Adds a hostname using a parameter that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressHostnameParam(hostname: ParameterResource): KubernetesIngressResource", "parameters": [ { "name": "hostname", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the hostname value." } ], "returnType": "KubernetesIngressResource", @@ -1043,27 +1057,32 @@ "name": "withIngressHostRoute", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressHostRoute", "qualifiedName": "withIngressHostRoute", - "description": "Adds a host-and-path route to a Kubernetes Ingress", + "description": "Adds a host-and-path-based routing rule to the ingress. The rule matches traffic for the specified host and path, routing it to the given endpoint's backing Kubernetes service.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressHostRoute(host: string, path: string, endpoint: EndpointReference, pathType?: IngressPathType): KubernetesIngressResource", "parameters": [ { "name": "host", - "type": "string" + "type": "string", + "description": "The hostname to match (e.g., `\"api.example.com\"`)." }, { "name": "path", - "type": "string" + "type": "string", + "description": "The URL path to match (e.g., `\"/\"` or `\"/api\"`). Must start with `/`." }, { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint reference identifying the target service and port." }, { "name": "pathType", "type": "IngressPathType", "isOptional": true, - "defaultValue": "Prefix" + "defaultValue": "Prefix", + "description": "The path matching strategy. Defaults to `Prefix`." } ], "returnType": "KubernetesIngressResource", @@ -1077,23 +1096,27 @@ "name": "withIngressPathRoute", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressPathRoute", "qualifiedName": "withIngressPathRoute", - "description": "Adds a path-based route to a Kubernetes Ingress", + "description": "Adds a path-based routing rule to the ingress. The rule matches all hosts and routes traffic matching the specified path to the given endpoint's backing Kubernetes service.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressPathRoute(path: string, endpoint: EndpointReference, pathType?: IngressPathType): KubernetesIngressResource", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "The URL path to match (e.g., `\"/\"` or `\"/api\"`). Must start with `/`." }, { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint reference identifying the target service and port." }, { "name": "pathType", "type": "IngressPathType", "isOptional": true, - "defaultValue": "Prefix" + "defaultValue": "Prefix", + "description": "The path matching strategy. Defaults to `Prefix`." } ], "returnType": "KubernetesIngressResource", @@ -1107,7 +1130,8 @@ "name": "withIngressTlsAuto", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressTlsAuto", "qualifiedName": "withIngressTlsAuto", - "description": "Configures TLS for a Kubernetes Ingress with an auto-generated secret", + "description": "Configures TLS termination with an auto-generated secret name derived from the ingress name.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressTlsAuto(): KubernetesIngressResource", "parameters": [], @@ -1122,13 +1146,15 @@ "name": "withIngressTlsParam", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressTlsParam", "qualifiedName": "withIngressTlsParam", - "description": "Configures TLS for a Kubernetes Ingress with a parameterized secret", + "description": "Configures TLS termination using a parameter for the secret name.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressTlsParam(secretName: ParameterResource): KubernetesIngressResource", "parameters": [ { "name": "secretName", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the secret name." } ], "returnType": "KubernetesIngressResource", @@ -1142,13 +1168,15 @@ "name": "withNodePool", "capabilityId": "Aspire.Hosting.Kubernetes/withKubernetesNodePool", "qualifiedName": "withNodePool", - "description": "Schedules a workload on a specific Kubernetes node pool", + "description": "Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withNodePool(nodePool: KubernetesNodePoolResource): IResource", "parameters": [ { "name": "nodePool", - "type": "KubernetesNodePoolResource" + "type": "KubernetesNodePoolResource", + "description": "The node pool to schedule the workload on." } ], "returnType": "IResource", @@ -1175,7 +1203,9 @@ "name": "withOtlpServicePort", "capabilityId": "Aspire.Hosting.Kubernetes/withOtlpServicePort", "qualifiedName": "withOtlpServicePort", - "description": "Sets the Kubernetes Service ports for the OTLP endpoints", + "description": "Sets the Kubernetes Service ports for the Aspire Dashboard OTLP endpoints.", + "remarks": "This sets the `port` field on the generated Kubernetes Service for the OTLP endpoints\nwhile keeping the `targetPort` as the original container port. Application resources\nin the cluster send telemetry to these Service ports. Use standard OTLP ports (4317 for gRPC,\n4318 for HTTP) if your services are configured with those defaults.", + "returns": "The `IResourceBuilder`1` instance for chaining.", "kind": "Method", "signature": "withOtlpServicePort(grpcPort?: number, httpPort?: number): KubernetesAspireDashboardResource", "parameters": [ @@ -1183,13 +1213,15 @@ "name": "grpcPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The Service port for the OTLP gRPC endpoint. If `null`, the Service port defaults to the container port (18889)." }, { "name": "httpPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The Service port for the OTLP HTTP endpoint. If `null`, the Service port defaults to the container port (18890)." } ], "returnType": "KubernetesAspireDashboardResource", @@ -1203,15 +1235,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Kubernetes/withProperties", "qualifiedName": "withProperties", - "description": "Configures properties of a Kubernetes environment", + "description": "Allows setting the properties of a Kubernetes environment resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: KubernetesEnvironmentResource) =\u003E Promise\u003Cvoid\u003E): KubernetesEnvironmentResource", + "signature": "withProperties(configure: (obj: KubernetesEnvironmentResource) => Promise): KubernetesEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: KubernetesEnvironmentResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: KubernetesEnvironmentResource) => Promise", + "description": "A method that can be used for customizing the `KubernetesEnvironmentResource`." } ], "returnType": "KubernetesEnvironmentResource", @@ -1225,7 +1259,9 @@ "name": "withServicePort", "capabilityId": "Aspire.Hosting.Kubernetes/withServicePort", "qualifiedName": "withServicePort", - "description": "Sets the Kubernetes Service port for the Aspire dashboard", + "description": "Sets the Kubernetes Service port for the Aspire Dashboard HTTP endpoint.", + "remarks": "This sets the `port` field on the generated Kubernetes Service while keeping the\n`targetPort` as the original container port. This is useful when placing the dashboard\nbehind an ingress controller that expects a specific Service port (for example, port 80).\nTo access the dashboard from outside the cluster, use `kubectl port-forward` or\nconfigure the environment's `DefaultServiceType`\nto `NodePort` or `LoadBalancer`.", + "returns": "The `IResourceBuilder`1` instance for chaining.", "kind": "Method", "signature": "withServicePort(port?: number): KubernetesAspireDashboardResource", "parameters": [ @@ -1233,7 +1269,8 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The Service port number. Cluster-internal clients will connect to this port, which routes to the dashboard's container port (18888). If `null`, the Service port defaults to the container port." } ], "returnType": "KubernetesAspireDashboardResource", @@ -1247,13 +1284,15 @@ "name": "withTls", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayTls", "qualifiedName": "withTls", - "description": "Configures TLS on a Kubernetes Gateway listener", + "description": "Configures TLS termination on the gateway by adding an HTTPS listener that references a Kubernetes TLS secret. The Gateway terminates TLS and forwards plain HTTP to backends. This does not create a separate route — existing HTTPRoutes serve both HTTP and HTTPS. The TLS configuration applies to all hostnames configured via `WithHostname`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withTls(secretName: string): KubernetesGatewayResource", "parameters": [ { "name": "secretName", - "type": "string" + "type": "string", + "description": "The name of the Kubernetes `kubernetes.io/tls` Secret." } ], "returnType": "KubernetesGatewayResource", @@ -1267,13 +1306,15 @@ "name": "withTls", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressTls", "qualifiedName": "withTls", - "description": "Configures TLS for a Kubernetes Ingress using a K8S secret", + "description": "Configures TLS termination for the ingress by referencing a Kubernetes TLS secret. The TLS configuration applies to all hostnames configured via `WithHostname`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withTls(secretName: string): KubernetesIngressResource", "parameters": [ { "name": "secretName", - "type": "string" + "type": "string", + "description": "The name of the Kubernetes `kubernetes.io/tls` Secret." } ], "returnType": "KubernetesIngressResource", @@ -1290,8 +1331,48 @@ "fullName": "Aspire.Hosting.Kubernetes.HelmChartOptions", "kind": "handle", "exposeMethods": true, + "description": "Provides options for configuring Helm chart deployment settings on a `KubernetesEnvironmentResource`.", + "remarks": "This class is used as the configuration callback parameter for\n`WithHelm`.\nEach method adds a corresponding annotation to the environment resource.", "implementedInterfaces": [], "capabilities": [ + { + "name": "withChartDescription", + "capabilityId": "Aspire.Hosting.Kubernetes/HelmChartOptions.withChartDescription", + "qualifiedName": "HelmChartOptions.withChartDescription", + "description": "Sets the Helm chart description written to the generated Chart.yaml.", + "kind": "InstanceMethod", + "signature": "withChartDescription(description: ParameterResource): HelmChartOptions", + "parameters": [ + { + "name": "description", + "type": "ParameterResource" + } + ], + "returnType": "HelmChartOptions", + "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.HelmChartOptions", + "expandedTargetTypes": [ + "Aspire.Hosting.Kubernetes.HelmChartOptions" + ] + }, + { + "name": "withChartName", + "capabilityId": "Aspire.Hosting.Kubernetes/HelmChartOptions.withChartName", + "qualifiedName": "HelmChartOptions.withChartName", + "description": "Sets the Helm chart name written to the generated Chart.yaml.", + "kind": "InstanceMethod", + "signature": "withChartName(name: ParameterResource): HelmChartOptions", + "parameters": [ + { + "name": "name", + "type": "ParameterResource" + } + ], + "returnType": "HelmChartOptions", + "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.HelmChartOptions", + "expandedTargetTypes": [ + "Aspire.Hosting.Kubernetes.HelmChartOptions" + ] + }, { "name": "withChartVersion", "capabilityId": "Aspire.Hosting.Kubernetes/HelmChartOptions.withChartVersion", @@ -1356,6 +1437,7 @@ "fullName": "Aspire.Hosting.Kubernetes.KubernetesAspireDashboardResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a resource for the Aspire Dashboard deployed into a Kubernetes environment. This resource is used to visualize telemetry data from resources running in the cluster.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IResource", @@ -1370,7 +1452,7 @@ "name": "otlpGrpcEndpoint", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesAspireDashboardResource.otlpGrpcEndpoint", "qualifiedName": "KubernetesAspireDashboardResource.otlpGrpcEndpoint", - "description": "Gets the OtlpGrpcEndpoint property", + "description": "Gets the OTLP gRPC endpoint for receiving telemetry data.", "kind": "PropertyGetter", "signature": "otlpGrpcEndpoint(): EndpointReference", "parameters": [], @@ -1384,7 +1466,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesAspireDashboardResource.primaryEndpoint", "qualifiedName": "KubernetesAspireDashboardResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary HTTP endpoint of the Aspire Dashboard UI.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -1398,7 +1480,9 @@ "name": "withForwardedHeaders", "capabilityId": "Aspire.Hosting.Kubernetes/withForwardedHeaders", "qualifiedName": "withForwardedHeaders", - "description": "Enables or disables forwarded headers support for the Aspire dashboard", + "description": "Configures whether forwarded headers processing is enabled for the Aspire dashboard container.", + "remarks": "This sets the `ASPIRE_DASHBOARD_FORWARDEDHEADERS_ENABLED` environment variable inside the dashboard\ncontainer. When enabled, the dashboard will process `X-Forwarded-Host` and `X-Forwarded-Proto`\nheaders which is required when the dashboard is accessed through a reverse proxy or ingress controller.", + "returns": "The same `IResourceBuilder`1` to allow chaining.", "kind": "Method", "signature": "withForwardedHeaders(enabled?: boolean): KubernetesAspireDashboardResource", "parameters": [ @@ -1406,7 +1490,8 @@ "name": "enabled", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "True to enable forwarded headers, false to disable." } ], "returnType": "KubernetesAspireDashboardResource", @@ -1420,7 +1505,9 @@ "name": "withOtlpServicePort", "capabilityId": "Aspire.Hosting.Kubernetes/withOtlpServicePort", "qualifiedName": "withOtlpServicePort", - "description": "Sets the Kubernetes Service ports for the OTLP endpoints", + "description": "Sets the Kubernetes Service ports for the Aspire Dashboard OTLP endpoints.", + "remarks": "This sets the `port` field on the generated Kubernetes Service for the OTLP endpoints\nwhile keeping the `targetPort` as the original container port. Application resources\nin the cluster send telemetry to these Service ports. Use standard OTLP ports (4317 for gRPC,\n4318 for HTTP) if your services are configured with those defaults.", + "returns": "The `IResourceBuilder`1` instance for chaining.", "kind": "Method", "signature": "withOtlpServicePort(grpcPort?: number, httpPort?: number): KubernetesAspireDashboardResource", "parameters": [ @@ -1428,13 +1515,15 @@ "name": "grpcPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The Service port for the OTLP gRPC endpoint. If `null`, the Service port defaults to the container port (18889)." }, { "name": "httpPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The Service port for the OTLP HTTP endpoint. If `null`, the Service port defaults to the container port (18890)." } ], "returnType": "KubernetesAspireDashboardResource", @@ -1448,7 +1537,9 @@ "name": "withServicePort", "capabilityId": "Aspire.Hosting.Kubernetes/withServicePort", "qualifiedName": "withServicePort", - "description": "Sets the Kubernetes Service port for the Aspire dashboard", + "description": "Sets the Kubernetes Service port for the Aspire Dashboard HTTP endpoint.", + "remarks": "This sets the `port` field on the generated Kubernetes Service while keeping the\n`targetPort` as the original container port. This is useful when placing the dashboard\nbehind an ingress controller that expects a specific Service port (for example, port 80).\nTo access the dashboard from outside the cluster, use `kubectl port-forward` or\nconfigure the environment's `DefaultServiceType`\nto `NodePort` or `LoadBalancer`.", + "returns": "The `IResourceBuilder`1` instance for chaining.", "kind": "Method", "signature": "withServicePort(port?: number): KubernetesAspireDashboardResource", "parameters": [ @@ -1456,7 +1547,8 @@ "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The Service port number. Cluster-internal clients will connect to this port, which routes to the dashboard's container port (18888). If `null`, the Service port defaults to the container port." } ], "returnType": "KubernetesAspireDashboardResource", @@ -1473,6 +1565,8 @@ "fullName": "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a Kubernetes environment resource that can host application resources.", + "remarks": "This resource models the Kubernetes publishing environment used by Aspire when generating\nHelm charts and other Kubernetes manifests for application resources that will run on a\nKubernetes cluster.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeEnvironmentResource", "Aspire.Hosting.ApplicationModel.IResource" @@ -1482,13 +1576,15 @@ "name": "addGateway", "capabilityId": "Aspire.Hosting.Kubernetes/addGateway", "qualifiedName": "addGateway", - "description": "Adds a Kubernetes Gateway API Gateway resource", + "description": "Adds a Kubernetes Gateway API Gateway resource to the application model as a child of the specified Kubernetes environment. The gateway generates a `gateway.networking.k8s.io/v1 Gateway` resource and one or more `HTTPRoute` resources in the Helm chart output at publish time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "addGateway(name: string): KubernetesGatewayResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the gateway resource." } ], "returnType": "KubernetesGatewayResource", @@ -1502,13 +1598,16 @@ "name": "addIngress", "capabilityId": "Aspire.Hosting.Kubernetes/addIngress", "qualifiedName": "addIngress", - "description": "Adds a Kubernetes Ingress resource for HTTP routing", + "description": "Adds a Kubernetes Ingress resource to the application model as a child of the specified Kubernetes environment. The ingress generates a `networking.k8s.io/v1 Ingress` resource in the Helm chart output at publish time.", + "remarks": "After creating the ingress, configure routes using\n`WithRoute`\nand optionally set an ingress class with `WithIngressClass`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "addIngress(name: string): KubernetesIngressResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the ingress resource. This is used as the Kubernetes resource name." } ], "returnType": "KubernetesIngressResource", @@ -1522,13 +1621,16 @@ "name": "addNodePool", "capabilityId": "Aspire.Hosting.Kubernetes/addNodePool", "qualifiedName": "addNodePool", - "description": "Adds a named node pool to a Kubernetes environment", + "description": "Adds a named node pool to the Kubernetes environment.", + "remarks": "For vanilla Kubernetes, this creates a named reference to an existing node pool.\nFor managed Kubernetes services (e.g., AKS), the cloud-specific `AddNodePool` overload\nprovisions the pool with additional configuration such as VM size and autoscaling.\nUse `WithNodePool``1` to schedule workloads on the returned node pool.", + "returns": "A reference to the `IResourceBuilder`1` for the new node pool.", "kind": "Method", "signature": "addNodePool(name: string): KubernetesNodePoolResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the node pool. This value is used as the `nodeSelector` value." } ], "returnType": "KubernetesNodePoolResource", @@ -1542,15 +1644,18 @@ "name": "configureDashboard", "capabilityId": "Aspire.Hosting.Kubernetes/configureDashboard", "qualifiedName": "configureDashboard", - "description": "Configures the Aspire dashboard resource for the Kubernetes environment", + "description": "Configures the dashboard properties for this Kubernetes environment.", + "remarks": "Use this overload to customize the dashboard container, for example to set a specific host port\nor enable forwarded headers for ingress access.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "configureDashboard(configure: (obj: KubernetesAspireDashboardResource) =\u003E Promise\u003Cvoid\u003E): KubernetesEnvironmentResource", + "signature": "configureDashboard(configure: (obj: KubernetesAspireDashboardResource) => Promise): KubernetesEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: KubernetesAspireDashboardResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: KubernetesAspireDashboardResource) => Promise", + "description": "A method that can be used for customizing the dashboard resource." } ], "returnType": "KubernetesEnvironmentResource", @@ -1564,7 +1669,7 @@ "name": "dashboardEnabled", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.dashboardEnabled", "qualifiedName": "KubernetesEnvironmentResource.dashboardEnabled", - "description": "Gets the DashboardEnabled property", + "description": "Determines whether to include an Aspire dashboard for telemetry visualization in this environment.", "kind": "PropertyGetter", "signature": "dashboardEnabled(): boolean", "parameters": [], @@ -1578,7 +1683,7 @@ "name": "defaultImagePullPolicy", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultImagePullPolicy", "qualifiedName": "KubernetesEnvironmentResource.defaultImagePullPolicy", - "description": "Gets the DefaultImagePullPolicy property", + "description": "Gets or sets the default policy that determines how Docker images are pulled during deployment. Possible values are: \"Always\" - Always attempt to pull the image from the registry. \"IfNotPresent\" - Pull the image only if it is not already present locally. \"Never\" - Never pull the image, use only the local image. The default value is \"IfNotPresent\".", "kind": "PropertyGetter", "signature": "defaultImagePullPolicy(): string", "parameters": [], @@ -1592,7 +1697,8 @@ "name": "defaultServiceType", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultServiceType", "qualifiedName": "KubernetesEnvironmentResource.defaultServiceType", - "description": "Gets the DefaultServiceType property", + "description": "Gets or sets the default Kubernetes service type to be used when generating artifacts.", + "remarks": "The default value is \"ClusterIP\". This property determines the type of service\n(e.g., ClusterIP, NodePort, LoadBalancer) created in Kubernetes for the application.", "kind": "PropertyGetter", "signature": "defaultServiceType(): string", "parameters": [], @@ -1606,7 +1712,7 @@ "name": "defaultStorageClassName", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultStorageClassName", "qualifiedName": "KubernetesEnvironmentResource.defaultStorageClassName", - "description": "Gets the DefaultStorageClassName property", + "description": "Specifies the default name of the storage class to be used for persistent volume claims in Kubernetes. This property allows customization of the storage class for specifying storage requirements such as performance, retention policies, and provisioning parameters. If set to null, the default storage class for the cluster will be used.", "kind": "PropertyGetter", "signature": "defaultStorageClassName(): string", "parameters": [], @@ -1620,7 +1726,7 @@ "name": "defaultStorageReadWritePolicy", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultStorageReadWritePolicy", "qualifiedName": "KubernetesEnvironmentResource.defaultStorageReadWritePolicy", - "description": "Gets the DefaultStorageReadWritePolicy property", + "description": "Gets or sets the default access policy for reading and writing to the storage.", "kind": "PropertyGetter", "signature": "defaultStorageReadWritePolicy(): string", "parameters": [], @@ -1634,7 +1740,7 @@ "name": "defaultStorageSize", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultStorageSize", "qualifiedName": "KubernetesEnvironmentResource.defaultStorageSize", - "description": "Gets the DefaultStorageSize property", + "description": "Gets or sets the default storage size for persistent volumes.", "kind": "PropertyGetter", "signature": "defaultStorageSize(): string", "parameters": [], @@ -1648,7 +1754,8 @@ "name": "defaultStorageType", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.defaultStorageType", "qualifiedName": "KubernetesEnvironmentResource.defaultStorageType", - "description": "Gets the DefaultStorageType property", + "description": "Specifies the default type of storage used for Kubernetes deployments.", + "remarks": "This property determines the storage medium used for the application.\nPossible values include \"emptyDir\", \"hostPath\", \"pvc\"", "kind": "PropertyGetter", "signature": "defaultStorageType(): string", "parameters": [], @@ -1658,53 +1765,12 @@ "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" ] }, - { - "name": "helmChartDescription", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.helmChartDescription", - "qualifiedName": "KubernetesEnvironmentResource.helmChartDescription", - "description": "Gets the HelmChartDescription property", - "kind": "PropertyGetter", - "signature": "helmChartDescription(): string", - "parameters": [], - "returnType": "string", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, - { - "name": "helmChartName", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.helmChartName", - "qualifiedName": "KubernetesEnvironmentResource.helmChartName", - "description": "Gets the HelmChartName property", - "kind": "PropertyGetter", - "signature": "helmChartName(): string", - "parameters": [], - "returnType": "string", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, - { - "name": "helmChartVersion", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.helmChartVersion", - "qualifiedName": "KubernetesEnvironmentResource.helmChartVersion", - "description": "Gets the HelmChartVersion property", - "kind": "PropertyGetter", - "signature": "helmChartVersion(): string", - "parameters": [], - "returnType": "string", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, { "name": "kubeConfigPath", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.kubeConfigPath", "qualifiedName": "KubernetesEnvironmentResource.kubeConfigPath", - "description": "Gets the KubeConfigPath property", + "description": "Gets or sets the path to an explicit kubeconfig file for Helm and kubectl commands. When set, all Helm and kubectl commands will use `--kubeconfig` to target this file instead of the default `~/.kube/config`.", + "remarks": "This is used by Azure Kubernetes Service (AKS) integration to isolate credentials\nfetched via `az aks get-credentials` from the user's default kubectl context.", "kind": "PropertyGetter", "signature": "kubeConfigPath(): string", "parameters": [], @@ -1718,7 +1784,7 @@ "name": "setDashboardEnabled", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDashboardEnabled", "qualifiedName": "KubernetesEnvironmentResource.setDashboardEnabled", - "description": "Sets the DashboardEnabled property", + "description": "Determines whether to include an Aspire dashboard for telemetry visualization in this environment.", "kind": "PropertySetter", "signature": "setDashboardEnabled(value: boolean): KubernetesEnvironmentResource", "parameters": [ @@ -1737,7 +1803,7 @@ "name": "setDefaultImagePullPolicy", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultImagePullPolicy", "qualifiedName": "KubernetesEnvironmentResource.setDefaultImagePullPolicy", - "description": "Sets the DefaultImagePullPolicy property", + "description": "Gets or sets the default policy that determines how Docker images are pulled during deployment. Possible values are: \"Always\" - Always attempt to pull the image from the registry. \"IfNotPresent\" - Pull the image only if it is not already present locally. \"Never\" - Never pull the image, use only the local image. The default value is \"IfNotPresent\".", "kind": "PropertySetter", "signature": "setDefaultImagePullPolicy(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -1756,7 +1822,8 @@ "name": "setDefaultServiceType", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultServiceType", "qualifiedName": "KubernetesEnvironmentResource.setDefaultServiceType", - "description": "Sets the DefaultServiceType property", + "description": "Gets or sets the default Kubernetes service type to be used when generating artifacts.", + "remarks": "The default value is \"ClusterIP\". This property determines the type of service\n(e.g., ClusterIP, NodePort, LoadBalancer) created in Kubernetes for the application.", "kind": "PropertySetter", "signature": "setDefaultServiceType(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -1775,7 +1842,7 @@ "name": "setDefaultStorageClassName", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultStorageClassName", "qualifiedName": "KubernetesEnvironmentResource.setDefaultStorageClassName", - "description": "Sets the DefaultStorageClassName property", + "description": "Specifies the default name of the storage class to be used for persistent volume claims in Kubernetes. This property allows customization of the storage class for specifying storage requirements such as performance, retention policies, and provisioning parameters. If set to null, the default storage class for the cluster will be used.", "kind": "PropertySetter", "signature": "setDefaultStorageClassName(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -1794,7 +1861,7 @@ "name": "setDefaultStorageReadWritePolicy", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultStorageReadWritePolicy", "qualifiedName": "KubernetesEnvironmentResource.setDefaultStorageReadWritePolicy", - "description": "Sets the DefaultStorageReadWritePolicy property", + "description": "Gets or sets the default access policy for reading and writing to the storage.", "kind": "PropertySetter", "signature": "setDefaultStorageReadWritePolicy(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -1813,7 +1880,7 @@ "name": "setDefaultStorageSize", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultStorageSize", "qualifiedName": "KubernetesEnvironmentResource.setDefaultStorageSize", - "description": "Sets the DefaultStorageSize property", + "description": "Gets or sets the default storage size for persistent volumes.", "kind": "PropertySetter", "signature": "setDefaultStorageSize(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -1832,7 +1899,8 @@ "name": "setDefaultStorageType", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setDefaultStorageType", "qualifiedName": "KubernetesEnvironmentResource.setDefaultStorageType", - "description": "Sets the DefaultStorageType property", + "description": "Specifies the default type of storage used for Kubernetes deployments.", + "remarks": "This property determines the storage medium used for the application.\nPossible values include \"emptyDir\", \"hostPath\", \"pvc\"", "kind": "PropertySetter", "signature": "setDefaultStorageType(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -1847,68 +1915,12 @@ "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" ] }, - { - "name": "setHelmChartDescription", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setHelmChartDescription", - "qualifiedName": "KubernetesEnvironmentResource.setHelmChartDescription", - "description": "Sets the HelmChartDescription property", - "kind": "PropertySetter", - "signature": "setHelmChartDescription(value: string): KubernetesEnvironmentResource", - "parameters": [ - { - "name": "value", - "type": "string" - } - ], - "returnType": "KubernetesEnvironmentResource", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, - { - "name": "setHelmChartName", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setHelmChartName", - "qualifiedName": "KubernetesEnvironmentResource.setHelmChartName", - "description": "Sets the HelmChartName property", - "kind": "PropertySetter", - "signature": "setHelmChartName(value: string): KubernetesEnvironmentResource", - "parameters": [ - { - "name": "value", - "type": "string" - } - ], - "returnType": "KubernetesEnvironmentResource", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, - { - "name": "setHelmChartVersion", - "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setHelmChartVersion", - "qualifiedName": "KubernetesEnvironmentResource.setHelmChartVersion", - "description": "Sets the HelmChartVersion property", - "kind": "PropertySetter", - "signature": "setHelmChartVersion(value: string): KubernetesEnvironmentResource", - "parameters": [ - { - "name": "value", - "type": "string" - } - ], - "returnType": "KubernetesEnvironmentResource", - "targetTypeId": "Aspire.Hosting.Kubernetes/Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource", - "expandedTargetTypes": [ - "Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource" - ] - }, { "name": "setKubeConfigPath", "capabilityId": "Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.setKubeConfigPath", "qualifiedName": "KubernetesEnvironmentResource.setKubeConfigPath", - "description": "Sets the KubeConfigPath property", + "description": "Gets or sets the path to an explicit kubeconfig file for Helm and kubectl commands. When set, all Helm and kubectl commands will use `--kubeconfig` to target this file instead of the default `~/.kube/config`.", + "remarks": "This is used by Azure Kubernetes Service (AKS) integration to isolate credentials\nfetched via `az aks get-credentials` from the user's default kubectl context.", "kind": "PropertySetter", "signature": "setKubeConfigPath(value: string): KubernetesEnvironmentResource", "parameters": [ @@ -1927,7 +1939,9 @@ "name": "withDashboard", "capabilityId": "Aspire.Hosting.Kubernetes/withDashboard", "qualifiedName": "withDashboard", - "description": "Enables or disables the Aspire dashboard for the Kubernetes environment", + "description": "Enables the Aspire dashboard for telemetry visualization in this Kubernetes environment.", + "remarks": "When enabled, an Aspire Dashboard container is deployed alongside the application resources\nin the Kubernetes cluster. All resources with OTLP telemetry support are automatically\nconfigured to send telemetry data to the dashboard.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withDashboard(enabled?: boolean): KubernetesEnvironmentResource", "parameters": [ @@ -1935,7 +1949,8 @@ "name": "enabled", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to enable the dashboard. Default is true." } ], "returnType": "KubernetesEnvironmentResource", @@ -1949,16 +1964,19 @@ "name": "withHelm", "capabilityId": "Aspire.Hosting.Kubernetes/withHelm", "qualifiedName": "withHelm", - "description": "Configures Helm chart deployment settings", + "description": "Configures the Kubernetes environment to deploy using Helm charts.", + "remarks": "Helm is the default deployment engine. Call this method to customize Helm-specific settings.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withHelm(configure?: (obj: HelmChartOptions) =\u003E Promise\u003Cvoid\u003E): KubernetesEnvironmentResource", + "signature": "withHelm(configure?: (obj: HelmChartOptions) => Promise): KubernetesEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: HelmChartOptions) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: HelmChartOptions) => Promise", + "description": "An optional callback to configure Helm chart settings such as namespace, release name, and chart version." } ], "returnType": "KubernetesEnvironmentResource", @@ -1972,15 +1990,17 @@ "name": "withProperties", "capabilityId": "Aspire.Hosting.Kubernetes/withProperties", "qualifiedName": "withProperties", - "description": "Configures properties of a Kubernetes environment", + "description": "Allows setting the properties of a Kubernetes environment resource.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withProperties(configure: (obj: KubernetesEnvironmentResource) =\u003E Promise\u003Cvoid\u003E): KubernetesEnvironmentResource", + "signature": "withProperties(configure: (obj: KubernetesEnvironmentResource) => Promise): KubernetesEnvironmentResource", "parameters": [ { "name": "configure", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: KubernetesEnvironmentResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: KubernetesEnvironmentResource) => Promise", + "description": "A method that can be used for customizing the `KubernetesEnvironmentResource`." } ], "returnType": "KubernetesEnvironmentResource", @@ -1996,27 +2016,33 @@ "name": "KubernetesGatewayResource", "fullName": "Aspire.Hosting.Kubernetes.KubernetesGatewayResource", "kind": "handle", + "description": "Represents a Kubernetes Gateway API Gateway as a first-class resource in the Aspire application model. A Gateway defines listeners (ports, protocols, TLS) and HTTPRoutes attach to it for routing.", + "remarks": "Create a gateway using `AddGateway` and configure\nroutes using `WithRoute`.\nAt publish time, the gateway generates a `gateway.networking.k8s.io/v1 Gateway` resource\nwith auto-inferred listeners and one or more `HTTPRoute` resources in the Helm chart output.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource]]" + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource]]" ], "capabilities": [ { "name": "withGatewayAnnotation", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayAnnotation", "qualifiedName": "withGatewayAnnotation", - "description": "Adds a Kubernetes metadata annotation to a Gateway", + "description": "Adds a Kubernetes metadata annotation to the generated Gateway resource.", + "remarks": "This sets Kubernetes `metadata.annotations` on the generated K8S Gateway resource,\nnot Aspire `IResourceAnnotation` instances. These are key-value\nstring pairs used by ingress controllers for provider-specific configuration.\nFor Azure Application Gateway for Containers (AGC), you typically need:\n`alb.networking.azure.io/alb-name` and `alb.networking.azure.io/alb-namespace`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayAnnotation(key: string, value: string): KubernetesGatewayResource", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The annotation key." }, { "name": "value", - "type": "string" + "type": "string", + "description": "The annotation value." } ], "returnType": "KubernetesGatewayResource", @@ -2030,17 +2056,20 @@ "name": "withGatewayAnnotationParam", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayAnnotationParam", "qualifiedName": "withGatewayAnnotationParam", - "description": "Adds a parameterized Kubernetes metadata annotation to a Gateway", + "description": "Adds a Kubernetes metadata annotation with a parameter value that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayAnnotationParam(key: string, value: ParameterResource): KubernetesGatewayResource", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The annotation key." }, { "name": "value", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the annotation value." } ], "returnType": "KubernetesGatewayResource", @@ -2054,13 +2083,15 @@ "name": "withGatewayClass", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayClass", "qualifiedName": "withGatewayClass", - "description": "Sets the GatewayClass for a Kubernetes Gateway", + "description": "Sets the GatewayClass name that selects which controller implementation handles this gateway.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayClass(className: string): KubernetesGatewayResource", "parameters": [ { "name": "className", - "type": "string" + "type": "string", + "description": "The GatewayClass name (e.g., `\"azure-alb-external\"`, `\"istio\"`)." } ], "returnType": "KubernetesGatewayResource", @@ -2074,13 +2105,15 @@ "name": "withGatewayClassParam", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayClassParam", "qualifiedName": "withGatewayClassParam", - "description": "Sets a parameterized GatewayClass for a Kubernetes Gateway", + "description": "Sets the GatewayClass name using a parameter that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayClassParam(className: ParameterResource): KubernetesGatewayResource", "parameters": [ { "name": "className", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the GatewayClass name." } ], "returnType": "KubernetesGatewayResource", @@ -2094,13 +2127,15 @@ "name": "withGatewayHostnameParam", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayHostnameParam", "qualifiedName": "withGatewayHostnameParam", - "description": "Adds a parameterized hostname to a Kubernetes Gateway", + "description": "Adds a hostname using a parameter that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayHostnameParam(hostname: ParameterResource): KubernetesGatewayResource", "parameters": [ { "name": "hostname", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the hostname value." } ], "returnType": "KubernetesGatewayResource", @@ -2114,27 +2149,32 @@ "name": "withGatewayHostRoute", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayHostRoute", "qualifiedName": "withGatewayHostRoute", - "description": "Adds a host-and-path route to a Kubernetes Gateway", + "description": "Adds a host-and-path-based routing rule to the gateway. The rule matches traffic for the specified host and path, routing it to the given endpoint's backing Kubernetes service. This generates an `HTTPRoute` resource with a `hostnames` filter.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayHostRoute(host: string, path: string, endpoint: EndpointReference, pathType?: IngressPathType): KubernetesGatewayResource", "parameters": [ { "name": "host", - "type": "string" + "type": "string", + "description": "The hostname to match (e.g., `\"api.example.com\"`)." }, { "name": "path", - "type": "string" + "type": "string", + "description": "The URL path to match. Must start with `/`." }, { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint reference identifying the target service and port." }, { "name": "pathType", "type": "IngressPathType", "isOptional": true, - "defaultValue": "Prefix" + "defaultValue": "Prefix", + "description": "The path matching strategy. Defaults to `Prefix`." } ], "returnType": "KubernetesGatewayResource", @@ -2148,23 +2188,27 @@ "name": "withGatewayPathRoute", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayPathRoute", "qualifiedName": "withGatewayPathRoute", - "description": "Adds a path-based route to a Kubernetes Gateway", + "description": "Adds a path-based routing rule to the gateway. The rule matches all hosts and routes traffic matching the specified path to the given endpoint's backing Kubernetes service. This generates an `HTTPRoute` resource attached to the Gateway.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayPathRoute(path: string, endpoint: EndpointReference, pathType?: IngressPathType): KubernetesGatewayResource", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "The URL path to match (e.g., `\"/\"` or `\"/api\"`). Must start with `/`." }, { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint reference identifying the target service and port." }, { "name": "pathType", "type": "IngressPathType", "isOptional": true, - "defaultValue": "Prefix" + "defaultValue": "Prefix", + "description": "The path matching strategy. Defaults to `Prefix`." } ], "returnType": "KubernetesGatewayResource", @@ -2178,7 +2222,8 @@ "name": "withGatewayTlsAuto", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayTlsAuto", "qualifiedName": "withGatewayTlsAuto", - "description": "Configures TLS on a Kubernetes Gateway with an auto-generated secret", + "description": "Configures TLS termination with an auto-generated secret name derived from the gateway name.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayTlsAuto(): KubernetesGatewayResource", "parameters": [], @@ -2193,13 +2238,15 @@ "name": "withGatewayTlsParam", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayTlsParam", "qualifiedName": "withGatewayTlsParam", - "description": "Configures TLS on a Kubernetes Gateway with a parameterized secret", + "description": "Configures TLS termination using a parameter for the secret name.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withGatewayTlsParam(secretName: ParameterResource): KubernetesGatewayResource", "parameters": [ { "name": "secretName", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the secret name." } ], "returnType": "KubernetesGatewayResource", @@ -2213,13 +2260,15 @@ "name": "withHostname", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayHostname", "qualifiedName": "withHostname", - "description": "Adds a hostname to a Kubernetes Gateway", + "description": "Adds a hostname that this gateway's routes match. Multiple hostnames can be added by calling this method repeatedly. Hostnames are used as `hostnames` in generated `HTTPRoute` resources and as HTTPS listener hostnames when TLS is configured.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withHostname(hostname: string): KubernetesGatewayResource", "parameters": [ { "name": "hostname", - "type": "string" + "type": "string", + "description": "The hostname to match (e.g., `\"api.example.com\"`)." } ], "returnType": "KubernetesGatewayResource", @@ -2233,13 +2282,15 @@ "name": "withTls", "capabilityId": "Aspire.Hosting.Kubernetes/withGatewayTls", "qualifiedName": "withTls", - "description": "Configures TLS on a Kubernetes Gateway listener", + "description": "Configures TLS termination on the gateway by adding an HTTPS listener that references a Kubernetes TLS secret. The Gateway terminates TLS and forwards plain HTTP to backends. This does not create a separate route — existing HTTPRoutes serve both HTTP and HTTPS. The TLS configuration applies to all hostnames configured via `WithHostname`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withTls(secretName: string): KubernetesGatewayResource", "parameters": [ { "name": "secretName", - "type": "string" + "type": "string", + "description": "The name of the Kubernetes `kubernetes.io/tls` Secret." } ], "returnType": "KubernetesGatewayResource", @@ -2255,23 +2306,27 @@ "name": "KubernetesIngressResource", "fullName": "Aspire.Hosting.Kubernetes.KubernetesIngressResource", "kind": "handle", + "description": "Represents a Kubernetes Ingress as a first-class resource in the Aspire application model. An Ingress defines HTTP routing rules that direct external traffic to services in the cluster.", + "remarks": "Create an ingress using `AddIngress` and configure\nroutes using `WithRoute`.\nAt publish time, the ingress generates a Kubernetes `networking.k8s.io/v1 Ingress` resource\nin the Helm chart output with rules derived from the configured routes.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource]]" + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource]]" ], "capabilities": [ { "name": "withDefaultBackend", "capabilityId": "Aspire.Hosting.Kubernetes/withDefaultBackend", "qualifiedName": "withDefaultBackend", - "description": "Sets the default backend for a Kubernetes Ingress", + "description": "Sets the default backend for the ingress. The default backend handles requests that do not match any of the defined routing rules.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withDefaultBackend(endpoint: EndpointReference): KubernetesIngressResource", "parameters": [ { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint reference identifying the default backend service and port." } ], "returnType": "KubernetesIngressResource", @@ -2285,13 +2340,15 @@ "name": "withHostname", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressHostname", "qualifiedName": "withHostname", - "description": "Adds a hostname to a Kubernetes Ingress", + "description": "Adds a hostname that this ingress matches. Multiple hostnames can be added by calling this method repeatedly. If no hostnames are configured, the ingress matches all hosts.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withHostname(hostname: string): KubernetesIngressResource", "parameters": [ { "name": "hostname", - "type": "string" + "type": "string", + "description": "The hostname to match (e.g., `\"api.example.com\"`)." } ], "returnType": "KubernetesIngressResource", @@ -2305,17 +2362,21 @@ "name": "withIngressAnnotation", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressAnnotation", "qualifiedName": "withIngressAnnotation", - "description": "Adds a Kubernetes metadata annotation to a Kubernetes Ingress", + "description": "Adds a Kubernetes metadata annotation to the generated Ingress resource. These are key-value pairs in the `metadata.annotations` field of the K8S Ingress, commonly used to configure ingress controller-specific behavior.", + "remarks": "This method sets Kubernetes metadata annotations, not Aspire `IResourceAnnotation`\ninstances. Use these for controller-specific features like path rewriting, rate limiting,\nCORS configuration, or SSL redirect behavior.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressAnnotation(key: string, value: string): KubernetesIngressResource", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The annotation key (e.g., `\"nginx.ingress.kubernetes.io/rewrite-target\"`)." }, { "name": "value", - "type": "string" + "type": "string", + "description": "The annotation value." } ], "returnType": "KubernetesIngressResource", @@ -2329,17 +2390,20 @@ "name": "withIngressAnnotationParam", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressAnnotationParam", "qualifiedName": "withIngressAnnotationParam", - "description": "Adds a parameterized Kubernetes metadata annotation to an Ingress", + "description": "Adds a Kubernetes metadata annotation with a parameter value that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressAnnotationParam(key: string, value: ParameterResource): KubernetesIngressResource", "parameters": [ { "name": "key", - "type": "string" + "type": "string", + "description": "The annotation key." }, { "name": "value", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the annotation value." } ], "returnType": "KubernetesIngressResource", @@ -2353,13 +2417,15 @@ "name": "withIngressClass", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressClass", "qualifiedName": "withIngressClass", - "description": "Sets the ingress class for a Kubernetes Ingress", + "description": "Sets the Kubernetes ingress class name that selects which ingress controller handles this ingress resource.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressClass(className: string): KubernetesIngressResource", "parameters": [ { "name": "className", - "type": "string" + "type": "string", + "description": "The ingress class name (e.g., `\"nginx\"`, `\"traefik\"`, `\"azure-alb-external\"`)." } ], "returnType": "KubernetesIngressResource", @@ -2373,13 +2439,15 @@ "name": "withIngressClassParam", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressClassParam", "qualifiedName": "withIngressClassParam", - "description": "Sets a parameterized ingress class for a Kubernetes Ingress", + "description": "Sets the Kubernetes ingress class name using a parameter that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressClassParam(className: ParameterResource): KubernetesIngressResource", "parameters": [ { "name": "className", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the ingress class name." } ], "returnType": "KubernetesIngressResource", @@ -2393,13 +2461,15 @@ "name": "withIngressHostnameParam", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressHostnameParam", "qualifiedName": "withIngressHostnameParam", - "description": "Adds a parameterized hostname to a Kubernetes Ingress", + "description": "Adds a hostname using a parameter that will be resolved at deploy time.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressHostnameParam(hostname: ParameterResource): KubernetesIngressResource", "parameters": [ { "name": "hostname", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the hostname value." } ], "returnType": "KubernetesIngressResource", @@ -2413,27 +2483,32 @@ "name": "withIngressHostRoute", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressHostRoute", "qualifiedName": "withIngressHostRoute", - "description": "Adds a host-and-path route to a Kubernetes Ingress", + "description": "Adds a host-and-path-based routing rule to the ingress. The rule matches traffic for the specified host and path, routing it to the given endpoint's backing Kubernetes service.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressHostRoute(host: string, path: string, endpoint: EndpointReference, pathType?: IngressPathType): KubernetesIngressResource", "parameters": [ { "name": "host", - "type": "string" + "type": "string", + "description": "The hostname to match (e.g., `\"api.example.com\"`)." }, { "name": "path", - "type": "string" + "type": "string", + "description": "The URL path to match (e.g., `\"/\"` or `\"/api\"`). Must start with `/`." }, { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint reference identifying the target service and port." }, { "name": "pathType", "type": "IngressPathType", "isOptional": true, - "defaultValue": "Prefix" + "defaultValue": "Prefix", + "description": "The path matching strategy. Defaults to `Prefix`." } ], "returnType": "KubernetesIngressResource", @@ -2447,23 +2522,27 @@ "name": "withIngressPathRoute", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressPathRoute", "qualifiedName": "withIngressPathRoute", - "description": "Adds a path-based route to a Kubernetes Ingress", + "description": "Adds a path-based routing rule to the ingress. The rule matches all hosts and routes traffic matching the specified path to the given endpoint's backing Kubernetes service.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressPathRoute(path: string, endpoint: EndpointReference, pathType?: IngressPathType): KubernetesIngressResource", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "The URL path to match (e.g., `\"/\"` or `\"/api\"`). Must start with `/`." }, { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint reference identifying the target service and port." }, { "name": "pathType", "type": "IngressPathType", "isOptional": true, - "defaultValue": "Prefix" + "defaultValue": "Prefix", + "description": "The path matching strategy. Defaults to `Prefix`." } ], "returnType": "KubernetesIngressResource", @@ -2477,7 +2556,8 @@ "name": "withIngressTlsAuto", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressTlsAuto", "qualifiedName": "withIngressTlsAuto", - "description": "Configures TLS for a Kubernetes Ingress with an auto-generated secret", + "description": "Configures TLS termination with an auto-generated secret name derived from the ingress name.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressTlsAuto(): KubernetesIngressResource", "parameters": [], @@ -2492,13 +2572,15 @@ "name": "withIngressTlsParam", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressTlsParam", "qualifiedName": "withIngressTlsParam", - "description": "Configures TLS for a Kubernetes Ingress with a parameterized secret", + "description": "Configures TLS termination using a parameter for the secret name.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withIngressTlsParam(secretName: ParameterResource): KubernetesIngressResource", "parameters": [ { "name": "secretName", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "A parameter resource builder for the secret name." } ], "returnType": "KubernetesIngressResource", @@ -2512,13 +2594,15 @@ "name": "withTls", "capabilityId": "Aspire.Hosting.Kubernetes/withIngressTls", "qualifiedName": "withTls", - "description": "Configures TLS for a Kubernetes Ingress using a K8S secret", + "description": "Configures TLS termination for the ingress by referencing a Kubernetes TLS secret. The TLS configuration applies to all hostnames configured via `WithHostname`.", + "returns": "A reference to the `IResourceBuilder`1` for chaining.", "kind": "Method", "signature": "withTls(secretName: string): KubernetesIngressResource", "parameters": [ { "name": "secretName", - "type": "string" + "type": "string", + "description": "The name of the Kubernetes `kubernetes.io/tls` Secret." } ], "returnType": "KubernetesIngressResource", @@ -2534,10 +2618,11 @@ "name": "KubernetesNodePoolResource", "fullName": "Aspire.Hosting.Kubernetes.KubernetesNodePoolResource", "kind": "handle", + "description": "Represents a Kubernetes node pool as a child resource of a `KubernetesEnvironmentResource`. Node pools can be referenced by compute resources to schedule workloads on specific node pools using `WithNodePool``1`.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource]]" + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource]]" ], "capabilities": [] }, @@ -2546,10 +2631,11 @@ "fullName": "Aspire.Hosting.Kubernetes.KubernetesResource", "kind": "handle", "exposeProperties": true, + "description": "Represents a compute resource for Kubernetes.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource]]" + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Kubernetes.KubernetesEnvironmentResource]]" ], "capabilities": [ { @@ -2575,10 +2661,25 @@ "name": "IngressPathType", "fullName": "Aspire.Hosting.Kubernetes.IngressPathType", "kind": "enum", + "description": "Specifies the type of path matching used in a Kubernetes Ingress rule.", "members": [ "Prefix", "Exact", "ImplementationSpecific" + ], + "memberDocs": [ + { + "name": "Prefix", + "description": "Matches based on a URL path prefix split by `/`. Matching is case-sensitive and done element-by-element. For example, `/api` matches `/api`, `/api/`, and `/api/v1` but not `/apiv1`." + }, + { + "name": "Exact", + "description": "Matches the URL path exactly and with case sensitivity." + }, + { + "name": "ImplementationSpecific", + "description": "Matching is delegated to the ingress controller. Check the controller's documentation for the supported matching semantics." + } ] } ] diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Maui.13.3.0-preview.1.26254.5.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Maui.13.3.0-preview.1.26254.5.json index febb5138a..ef39edd5a 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Maui.13.3.0-preview.1.26254.5.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Maui.13.3.0-preview.1.26254.5.json @@ -10,18 +10,22 @@ "name": "addAndroidDevice", "capabilityId": "Aspire.Hosting.Maui/addAndroidDevice", "qualifiedName": "addAndroidDevice", - "description": "Adds an Android device resource for a .NET MAUI project.", + "description": "Adds an Android physical device resource to run the MAUI application on an Android device with a specific name and device ID.", + "remarks": "This method creates a new Android device platform resource that will run the MAUI application\ntargeting the Android platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nMultiple Android device resources can be added to the same MAUI project if needed, each with\na unique name.\nThis will run the application on a physical Android device connected via USB/WiFi debugging.\nMake sure an Android device is connected and visible via `adb devices`.\nTo target a specific device when multiple are attached, provide the device ID (e.g., \"abc12345\" or \"192.168.1.100:5555\" for WiFi debugging).\nUse `adb devices` to list available device IDs.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAndroidDevice(name: string, deviceId?: string): MauiAndroidDeviceResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Android device resource." }, { "name": "deviceId", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional device ID to target a specific Android device. If not specified, uses the only attached device (requires exactly one device to be connected)." } ], "returnType": "MauiAndroidDeviceResource", @@ -35,18 +39,22 @@ "name": "addAndroidEmulator", "capabilityId": "Aspire.Hosting.Maui/addAndroidEmulator", "qualifiedName": "addAndroidEmulator", - "description": "Adds an Android emulator resource for a .NET MAUI project.", + "description": "Adds an Android emulator resource to run the MAUI application on an Android emulator with a specific name.", + "remarks": "This method creates a new Android emulator platform resource that will run the MAUI application\ntargeting the Android platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nMultiple Android emulator resources can be added to the same MAUI project if needed, each with\na unique name.\nThis will run the application on an Android emulator. Make sure you have created an Android\nVirtual Device (AVD) using Android Studio or `avdmanager`. The emulator should be running\nand visible via `adb devices`.\nTo target a specific emulator, provide the emulator ID (e.g., \"Pixel_5_API_33\" or \"emulator-5554\").\nUse `adb devices` to list available emulator IDs.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAndroidEmulator(name: string, emulatorId?: string): MauiAndroidEmulatorResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Android emulator resource." }, { "name": "emulatorId", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional emulator ID to target a specific Android emulator. If not specified, uses the currently running emulator or starts the default emulator." } ], "returnType": "MauiAndroidEmulatorResource", @@ -60,18 +68,22 @@ "name": "addiOSDevice", "capabilityId": "Aspire.Hosting.Maui/addiOSDevice", "qualifiedName": "addiOSDevice", - "description": "Adds an iOS device resource for a .NET MAUI project.", + "description": "Adds an iOS physical device resource to run the MAUI application on an iOS device with a specific name and device UDID.", + "remarks": "This method creates a new iOS device platform resource that will run the MAUI application\ntargeting the iOS platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nMultiple iOS device resources can be added to the same MAUI project if needed, each with\na unique name.\nThis will run the application on a physical iOS device connected via USB.\nThe device must be provisioned before deployment. For more information, see\nhttps://learn.microsoft.com/dotnet/maui/ios/device-provisioning\nTo target a specific device when multiple are connected, provide the device UDID.\nYou can find the device UDID in Xcode under Window > Devices and Simulators > Devices tab,\nor right-click on the device and select \"Copy Identifier\".", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addiOSDevice(name: string, deviceId?: string): MauiiOSDeviceResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the iOS device resource." }, { "name": "deviceId", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional device UDID to target a specific iOS device. If not specified, uses the only attached device (requires exactly one device to be connected)." } ], "returnType": "MauiiOSDeviceResource", @@ -85,18 +97,22 @@ "name": "addiOSSimulator", "capabilityId": "Aspire.Hosting.Maui/addiOSSimulator", "qualifiedName": "addiOSSimulator", - "description": "Adds an iOS simulator resource for a .NET MAUI project.", + "description": "Adds an iOS simulator resource to run the MAUI application on an iOS simulator with a specific name and simulator UDID.", + "remarks": "This method creates a new iOS simulator platform resource that will run the MAUI application\ntargeting the iOS platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nMultiple iOS simulator resources can be added to the same MAUI project if needed, each with\na unique name.\nTo target a specific simulator, provide the simulator UDID. You can find simulator UDIDs in Xcode\nunder Window > Devices and Simulators > Simulators tab, right-click on a simulator and select\n\"Copy Identifier\", or use the command: /Applications/Xcode.app/Contents/Developer/usr/bin/simctl list", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addiOSSimulator(name: string, simulatorId?: string): MauiiOSSimulatorResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the iOS simulator resource." }, { "name": "simulatorId", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional simulator UDID to target a specific iOS simulator. If not specified, uses the default simulator." } ], "returnType": "MauiiOSSimulatorResource", @@ -110,13 +126,16 @@ "name": "addMacCatalystDevice", "capabilityId": "Aspire.Hosting.Maui/addMacCatalystDevice", "qualifiedName": "addMacCatalystDevice", - "description": "Adds a Mac Catalyst platform resource for a .NET MAUI project.", + "description": "Adds a Mac Catalyst device resource to run the MAUI application on the macOS platform with a specific name.", + "remarks": "This method creates a new Mac Catalyst platform resource that will run the MAUI application\ntargeting the Mac Catalyst platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nYou can add multiple Mac Catalyst device resources to a MAUI project by calling this method multiple times with different names.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addMacCatalystDevice(name: string): MauiMacCatalystPlatformResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Mac Catalyst device resource." } ], "returnType": "MauiMacCatalystPlatformResource", @@ -130,17 +149,21 @@ "name": "addMauiProject", "capabilityId": "Aspire.Hosting.Maui/addMauiProject", "qualifiedName": "addMauiProject", - "description": "Adds a .NET MAUI project to the application model.", + "description": "Adds a .NET MAUI project to the application model. This resource can be used to create platform-specific resources.", + "remarks": "This method creates a parent MAUI project resource that serves as a container for platform-specific\nresources such as Windows, Android, iOS, and macOS. The actual platform instances are added using\nextension methods like `AddWindowsDevice`.\nThe MAUI project is not built immediately when the AppHost starts. Instead, builds are deferred\nuntil a platform-specific resource is started, allowing faster AppHost startup and enabling\nincremental builds during development.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addMauiProject(name: string, projectPath: string): MauiProjectResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "projectPath", - "type": "string" + "type": "string", + "description": "The path to the .NET MAUI project file (.csproj). This can be a relative or absolute path." } ], "returnType": "MauiProjectResource", @@ -154,13 +177,16 @@ "name": "addWindowsDevice", "capabilityId": "Aspire.Hosting.Maui/addWindowsDevice", "qualifiedName": "addWindowsDevice", - "description": "Adds a Windows platform resource for a .NET MAUI project.", + "description": "Adds a Windows device resource to run the MAUI application on the Windows platform with a specific name.", + "remarks": "This method creates a new Windows platform resource that will run the MAUI application\ntargeting the Windows platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nYou can add multiple Windows device resources to a MAUI project by calling this method multiple times with different names.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addWindowsDevice(name: string): MauiWindowsPlatformResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Windows device resource." } ], "returnType": "MauiWindowsPlatformResource", @@ -174,7 +200,9 @@ "name": "withOtlpDevTunnel", "capabilityId": "Aspire.Hosting.Maui/withOtlpDevTunnel", "qualifiedName": "withOtlpDevTunnel", - "description": "Configures a .NET MAUI platform resource to send OpenTelemetry data through a development tunnel.", + "description": "Configures the MAUI platform resource to send OpenTelemetry data through an automatically created dev tunnel. This is the easiest option for most scenarios, as it handles tunnel creation, configuration, and endpoint injection automatically.", + "remarks": "This method creates a dev tunnel automatically and configures the MAUI platform resource to route\nOTLP traffic through it. This is the recommended approach for most scenarios as it requires minimal\nconfiguration and works reliably across all mobile platforms.\nPrerequisites:\n-\n-\n-", + "returns": "The resource builder.", "kind": "Method", "signature": "withOtlpDevTunnel(): IMauiPlatformResource", "parameters": [], @@ -204,7 +232,7 @@ "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Maui.MauiProjectResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Maui.MauiProjectResource]]", "Aspire.Hosting.ApplicationModel.IResourceWithProbes", "Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport", "Aspire.Hosting.IResourceWithServiceDiscovery", @@ -224,7 +252,7 @@ "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Maui.MauiProjectResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Maui.MauiProjectResource]]", "Aspire.Hosting.ApplicationModel.IResourceWithProbes", "Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport", "Aspire.Hosting.IResourceWithServiceDiscovery", @@ -244,7 +272,7 @@ "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Maui.MauiProjectResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Maui.MauiProjectResource]]", "Aspire.Hosting.ApplicationModel.IResourceWithProbes", "Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport", "Aspire.Hosting.IResourceWithServiceDiscovery", @@ -264,7 +292,7 @@ "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Maui.MauiProjectResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Maui.MauiProjectResource]]", "Aspire.Hosting.ApplicationModel.IResourceWithProbes", "Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport", "Aspire.Hosting.IResourceWithServiceDiscovery", @@ -284,7 +312,7 @@ "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Maui.MauiProjectResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Maui.MauiProjectResource]]", "Aspire.Hosting.ApplicationModel.IResourceWithProbes", "Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport", "Aspire.Hosting.IResourceWithServiceDiscovery", @@ -304,18 +332,22 @@ "name": "addAndroidDevice", "capabilityId": "Aspire.Hosting.Maui/addAndroidDevice", "qualifiedName": "addAndroidDevice", - "description": "Adds an Android device resource for a .NET MAUI project.", + "description": "Adds an Android physical device resource to run the MAUI application on an Android device with a specific name and device ID.", + "remarks": "This method creates a new Android device platform resource that will run the MAUI application\ntargeting the Android platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nMultiple Android device resources can be added to the same MAUI project if needed, each with\na unique name.\nThis will run the application on a physical Android device connected via USB/WiFi debugging.\nMake sure an Android device is connected and visible via `adb devices`.\nTo target a specific device when multiple are attached, provide the device ID (e.g., \"abc12345\" or \"192.168.1.100:5555\" for WiFi debugging).\nUse `adb devices` to list available device IDs.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAndroidDevice(name: string, deviceId?: string): MauiAndroidDeviceResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Android device resource." }, { "name": "deviceId", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional device ID to target a specific Android device. If not specified, uses the only attached device (requires exactly one device to be connected)." } ], "returnType": "MauiAndroidDeviceResource", @@ -329,18 +361,22 @@ "name": "addAndroidEmulator", "capabilityId": "Aspire.Hosting.Maui/addAndroidEmulator", "qualifiedName": "addAndroidEmulator", - "description": "Adds an Android emulator resource for a .NET MAUI project.", + "description": "Adds an Android emulator resource to run the MAUI application on an Android emulator with a specific name.", + "remarks": "This method creates a new Android emulator platform resource that will run the MAUI application\ntargeting the Android platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nMultiple Android emulator resources can be added to the same MAUI project if needed, each with\na unique name.\nThis will run the application on an Android emulator. Make sure you have created an Android\nVirtual Device (AVD) using Android Studio or `avdmanager`. The emulator should be running\nand visible via `adb devices`.\nTo target a specific emulator, provide the emulator ID (e.g., \"Pixel_5_API_33\" or \"emulator-5554\").\nUse `adb devices` to list available emulator IDs.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addAndroidEmulator(name: string, emulatorId?: string): MauiAndroidEmulatorResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Android emulator resource." }, { "name": "emulatorId", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional emulator ID to target a specific Android emulator. If not specified, uses the currently running emulator or starts the default emulator." } ], "returnType": "MauiAndroidEmulatorResource", @@ -354,18 +390,22 @@ "name": "addiOSDevice", "capabilityId": "Aspire.Hosting.Maui/addiOSDevice", "qualifiedName": "addiOSDevice", - "description": "Adds an iOS device resource for a .NET MAUI project.", + "description": "Adds an iOS physical device resource to run the MAUI application on an iOS device with a specific name and device UDID.", + "remarks": "This method creates a new iOS device platform resource that will run the MAUI application\ntargeting the iOS platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nMultiple iOS device resources can be added to the same MAUI project if needed, each with\na unique name.\nThis will run the application on a physical iOS device connected via USB.\nThe device must be provisioned before deployment. For more information, see\nhttps://learn.microsoft.com/dotnet/maui/ios/device-provisioning\nTo target a specific device when multiple are connected, provide the device UDID.\nYou can find the device UDID in Xcode under Window > Devices and Simulators > Devices tab,\nor right-click on the device and select \"Copy Identifier\".", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addiOSDevice(name: string, deviceId?: string): MauiiOSDeviceResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the iOS device resource." }, { "name": "deviceId", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional device UDID to target a specific iOS device. If not specified, uses the only attached device (requires exactly one device to be connected)." } ], "returnType": "MauiiOSDeviceResource", @@ -379,18 +419,22 @@ "name": "addiOSSimulator", "capabilityId": "Aspire.Hosting.Maui/addiOSSimulator", "qualifiedName": "addiOSSimulator", - "description": "Adds an iOS simulator resource for a .NET MAUI project.", + "description": "Adds an iOS simulator resource to run the MAUI application on an iOS simulator with a specific name and simulator UDID.", + "remarks": "This method creates a new iOS simulator platform resource that will run the MAUI application\ntargeting the iOS platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nMultiple iOS simulator resources can be added to the same MAUI project if needed, each with\na unique name.\nTo target a specific simulator, provide the simulator UDID. You can find simulator UDIDs in Xcode\nunder Window > Devices and Simulators > Simulators tab, right-click on a simulator and select\n\"Copy Identifier\", or use the command: /Applications/Xcode.app/Contents/Developer/usr/bin/simctl list", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addiOSSimulator(name: string, simulatorId?: string): MauiiOSSimulatorResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the iOS simulator resource." }, { "name": "simulatorId", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Optional simulator UDID to target a specific iOS simulator. If not specified, uses the default simulator." } ], "returnType": "MauiiOSSimulatorResource", @@ -404,13 +448,16 @@ "name": "addMacCatalystDevice", "capabilityId": "Aspire.Hosting.Maui/addMacCatalystDevice", "qualifiedName": "addMacCatalystDevice", - "description": "Adds a Mac Catalyst platform resource for a .NET MAUI project.", + "description": "Adds a Mac Catalyst device resource to run the MAUI application on the macOS platform with a specific name.", + "remarks": "This method creates a new Mac Catalyst platform resource that will run the MAUI application\ntargeting the Mac Catalyst platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nYou can add multiple Mac Catalyst device resources to a MAUI project by calling this method multiple times with different names.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addMacCatalystDevice(name: string): MauiMacCatalystPlatformResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Mac Catalyst device resource." } ], "returnType": "MauiMacCatalystPlatformResource", @@ -424,13 +471,16 @@ "name": "addWindowsDevice", "capabilityId": "Aspire.Hosting.Maui/addWindowsDevice", "qualifiedName": "addWindowsDevice", - "description": "Adds a Windows platform resource for a .NET MAUI project.", + "description": "Adds a Windows device resource to run the MAUI application on the Windows platform with a specific name.", + "remarks": "This method creates a new Windows platform resource that will run the MAUI application\ntargeting the Windows platform using `dotnet run`. The resource does not auto-start\nand must be explicitly started from the dashboard by clicking the start button.\nYou can add multiple Windows device resources to a MAUI project by calling this method multiple times with different names.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addWindowsDevice(name: string): MauiWindowsPlatformResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Windows device resource." } ], "returnType": "MauiWindowsPlatformResource", @@ -454,7 +504,7 @@ "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Maui.MauiProjectResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Maui.MauiProjectResource]]", "Aspire.Hosting.ApplicationModel.IResourceWithProbes", "Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport", "Aspire.Hosting.IResourceWithServiceDiscovery", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Milvus.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Milvus.13.3.0.json index 1ffcc056f..1fa17067f 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Milvus.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Milvus.13.3.0.json @@ -10,18 +10,22 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.Milvus/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds a Milvus database resource to a Milvus server resource.", + "description": "Adds a Milvus database to the application model.", + "remarks": "This method does not actually create the database in Milvus, rather helps complete a connection string that is used by the client component.\nUse in application host\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar booksdb = builder.AddMilvus(\"milvus\");\n.AddDatabase(\"booksdb\");\nvar api = builder.AddProject(\"api\")\n.WithReference(booksdb);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): MilvusDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "MilvusDatabaseResource", @@ -35,24 +39,29 @@ "name": "addMilvus", "capabilityId": "Aspire.Hosting.Milvus/addMilvus", "qualifiedName": "addMilvus", - "description": "Adds a Milvus server resource to the distributed application model.", + "description": "Adds a Milvus container resource to the application model.", + "remarks": "The .NET client library uses the gRPC port by default to communicate and this resource exposes that endpoint.\nA web-based administration tool for Milvus can also be added using `WithAttu``1`.\nThis version of the package defaults to the tag of the container image.\nUse in application host\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar milvus = builder.AddMilvus(\"milvus\");\nvar api = builder.AddProject(\"api\")\n.WithReference(milvus);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addMilvus(name: string, apiKey?: ParameterResource, grpcPort?: number): MilvusServerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency" }, { "name": "apiKey", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The parameter used to provide the auth key/token user for the Milvus resource." }, { "name": "grpcPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port of gRPC endpoint of Milvus database." } ], "returnType": "MilvusServerResource", @@ -66,7 +75,8 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MilvusDatabaseResource.connectionStringExpression", "qualifiedName": "MilvusDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Milvus database.", + "remarks": "Format: `Endpoint={uri};Key={token};Database={DatabaseName}`.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -80,7 +90,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.ApplicationModel/MilvusDatabaseResource.databaseName", "qualifiedName": "MilvusDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -94,7 +104,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/MilvusDatabaseResource.parent", "qualifiedName": "MilvusDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Milvus container resource.", "kind": "PropertyGetter", "signature": "parent(): MilvusServerResource", "parameters": [], @@ -108,7 +118,7 @@ "name": "apiKeyParameter", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.apiKeyParameter", "qualifiedName": "MilvusServerResource.apiKeyParameter", - "description": "Gets the ApiKeyParameter property", + "description": "Gets the parameter that contains the Milvus API key.", "kind": "PropertyGetter", "signature": "apiKeyParameter(): ParameterResource", "parameters": [], @@ -122,7 +132,8 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.connectionStringExpression", "qualifiedName": "MilvusServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Milvus gRPC endpoint.", + "remarks": "Format: `Endpoint={uri};Key={token}`.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -136,11 +147,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.databases", "qualifiedName": "MilvusServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Milvus/Aspire.Hosting.Milvus.MilvusServerResource", "expandedTargetTypes": [ "Aspire.Hosting.Milvus.MilvusServerResource" @@ -150,7 +161,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.host", "qualifiedName": "MilvusServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -164,7 +175,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.port", "qualifiedName": "MilvusServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -178,7 +189,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.primaryEndpoint", "qualifiedName": "MilvusServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the gRPC endpoint for the Milvus database.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -192,7 +203,7 @@ "name": "token", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.token", "qualifiedName": "MilvusServerResource.token", - "description": "Gets the Token property", + "description": "Gets a valid access token to access the Milvus instance.", "kind": "PropertyGetter", "signature": "token(): ReferenceExpression", "parameters": [], @@ -206,7 +217,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.uriExpression", "qualifiedName": "MilvusServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets URI expression for the Milvus instance.", + "remarks": "Format: `http://{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -220,21 +232,25 @@ "name": "withAttu", "capabilityId": "Aspire.Hosting.Milvus/withAttu", "qualifiedName": "withAttu", - "description": "Adds the Attu administration tool for Milvus.", + "description": "Adds an administration and development platform for Milvus to the application model using Attu.", + "remarks": "This version of the package defaults to the tag of the container image.\nUse in application host with a Milvus resource\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar milvus = builder.AddMilvus(\"milvus\")\n.WithAttu();\nvar api = builder.AddProject(\"api\")\n.WithReference(milvus);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withAttu(configureContainer?: (obj: AttuResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): MilvusServerResource", + "signature": "withAttu(configureContainer?: (obj: AttuResource) => Promise, containerName?: string): MilvusServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AttuResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AttuResource) => Promise", + "description": "Configuration callback for Attu container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "MilvusServerResource", @@ -248,13 +264,15 @@ "name": "withConfigurationFile", "capabilityId": "Aspire.Hosting.Milvus/withConfigurationFile", "qualifiedName": "withConfigurationFile", - "description": "Copies a Milvus configuration file into the container.", + "description": "Copies a configuration file into a Milvus container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withConfigurationFile(configurationFilePath: string): MilvusServerResource", "parameters": [ { "name": "configurationFilePath", - "type": "string" + "type": "string", + "description": "The configuration file on the host to copy into the container." } ], "returnType": "MilvusServerResource", @@ -268,19 +286,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Milvus/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Mounts a host directory as the Milvus data directory.", + "description": "Adds a bind mount for the data folder to a Milvus container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): MilvusServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "MilvusServerResource", @@ -294,20 +315,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Milvus/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a persistent data volume to the Milvus server resource.", + "description": "Adds a named volume for the data folder to a Milvus container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): MilvusServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the resource name." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "MilvusServerResource", @@ -324,13 +348,14 @@ "fullName": "Aspire.Hosting.ApplicationModel.MilvusDatabaseResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a Milvus database. This is a child resource of a `MilvusServerResource`.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.Milvus.MilvusServerResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.Milvus.MilvusServerResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -339,7 +364,8 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MilvusDatabaseResource.connectionStringExpression", "qualifiedName": "MilvusDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Milvus database.", + "remarks": "Format: `Endpoint={uri};Key={token};Database={DatabaseName}`.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -353,7 +379,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.ApplicationModel/MilvusDatabaseResource.databaseName", "qualifiedName": "MilvusDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -367,7 +393,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/MilvusDatabaseResource.parent", "qualifiedName": "MilvusDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Milvus container resource.", "kind": "PropertyGetter", "signature": "parent(): MilvusServerResource", "parameters": [], @@ -399,6 +425,7 @@ "fullName": "Aspire.Hosting.Milvus.MilvusServerResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a Milvus database.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -418,18 +445,22 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.Milvus/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds a Milvus database resource to a Milvus server resource.", + "description": "Adds a Milvus database to the application model.", + "remarks": "This method does not actually create the database in Milvus, rather helps complete a connection string that is used by the client component.\nUse in application host\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar booksdb = builder.AddMilvus(\"milvus\");\n.AddDatabase(\"booksdb\");\nvar api = builder.AddProject(\"api\")\n.WithReference(booksdb);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): MilvusDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "MilvusDatabaseResource", @@ -443,7 +474,7 @@ "name": "apiKeyParameter", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.apiKeyParameter", "qualifiedName": "MilvusServerResource.apiKeyParameter", - "description": "Gets the ApiKeyParameter property", + "description": "Gets the parameter that contains the Milvus API key.", "kind": "PropertyGetter", "signature": "apiKeyParameter(): ParameterResource", "parameters": [], @@ -457,7 +488,8 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.connectionStringExpression", "qualifiedName": "MilvusServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Milvus gRPC endpoint.", + "remarks": "Format: `Endpoint={uri};Key={token}`.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -471,11 +503,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.databases", "qualifiedName": "MilvusServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Milvus/Aspire.Hosting.Milvus.MilvusServerResource", "expandedTargetTypes": [ "Aspire.Hosting.Milvus.MilvusServerResource" @@ -485,7 +517,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.host", "qualifiedName": "MilvusServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -499,7 +531,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.port", "qualifiedName": "MilvusServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -513,7 +545,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.primaryEndpoint", "qualifiedName": "MilvusServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the gRPC endpoint for the Milvus database.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -527,7 +559,7 @@ "name": "token", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.token", "qualifiedName": "MilvusServerResource.token", - "description": "Gets the Token property", + "description": "Gets a valid access token to access the Milvus instance.", "kind": "PropertyGetter", "signature": "token(): ReferenceExpression", "parameters": [], @@ -541,7 +573,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.Milvus/MilvusServerResource.uriExpression", "qualifiedName": "MilvusServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets URI expression for the Milvus instance.", + "remarks": "Format: `http://{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -555,21 +588,25 @@ "name": "withAttu", "capabilityId": "Aspire.Hosting.Milvus/withAttu", "qualifiedName": "withAttu", - "description": "Adds the Attu administration tool for Milvus.", + "description": "Adds an administration and development platform for Milvus to the application model using Attu.", + "remarks": "This version of the package defaults to the tag of the container image.\nUse in application host with a Milvus resource\n```\nvar builder = DistributedApplication.CreateBuilder(args);\nvar milvus = builder.AddMilvus(\"milvus\")\n.WithAttu();\nvar api = builder.AddProject(\"api\")\n.WithReference(milvus);\nbuilder.Build().Run();\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withAttu(configureContainer?: (obj: AttuResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): MilvusServerResource", + "signature": "withAttu(configureContainer?: (obj: AttuResource) => Promise, containerName?: string): MilvusServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: AttuResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: AttuResource) => Promise", + "description": "Configuration callback for Attu container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "MilvusServerResource", @@ -583,13 +620,15 @@ "name": "withConfigurationFile", "capabilityId": "Aspire.Hosting.Milvus/withConfigurationFile", "qualifiedName": "withConfigurationFile", - "description": "Copies a Milvus configuration file into the container.", + "description": "Copies a configuration file into a Milvus container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withConfigurationFile(configurationFilePath: string): MilvusServerResource", "parameters": [ { "name": "configurationFilePath", - "type": "string" + "type": "string", + "description": "The configuration file on the host to copy into the container." } ], "returnType": "MilvusServerResource", @@ -603,19 +642,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Milvus/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Mounts a host directory as the Milvus data directory.", + "description": "Adds a bind mount for the data folder to a Milvus container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): MilvusServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "MilvusServerResource", @@ -629,20 +671,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Milvus/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a persistent data volume to the Milvus server resource.", + "description": "Adds a named volume for the data folder to a Milvus container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): MilvusServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the resource name." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "MilvusServerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.MongoDB.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.MongoDB.13.3.0.json index 5b67920e8..a6d00aa17 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.MongoDB.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.MongoDB.13.3.0.json @@ -10,18 +10,21 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.MongoDB/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds a MongoDB database resource", + "description": "Adds a MongoDB database to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): MongoDBDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "MongoDBDatabaseResource", @@ -36,28 +39,33 @@ "capabilityId": "Aspire.Hosting.MongoDB/addMongoDB", "qualifiedName": "addMongoDB", "description": "Adds a MongoDB container resource", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addMongoDB(name: string, port?: number, userName?: ParameterResource, password?: ParameterResource): MongoDBServerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port for MongoDB." }, { "name": "userName", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "A parameter that contains the MongoDb server user name, or `null` to use a default value." }, { "name": "password", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "A parameter that contains the MongoDb server password, or `null` to use a generated password." } ], "returnType": "MongoDBServerResource", @@ -71,7 +79,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBDatabaseResource.connectionStringExpression", "qualifiedName": "MongoDBDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the MongoDB database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -85,7 +93,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBDatabaseResource.databaseName", "qualifiedName": "MongoDBDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -99,7 +107,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBDatabaseResource.parent", "qualifiedName": "MongoDBDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent MongoDB container resource.", "kind": "PropertyGetter", "signature": "parent(): MongoDBServerResource", "parameters": [], @@ -113,7 +121,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBDatabaseResource.uriExpression", "qualifiedName": "MongoDBDatabaseResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the MongoDB database.", + "remarks": "Format: `mongodb://[user:password@]{host}:{port}/{database}[?authSource=admin&authMechanism=SCRAM-SHA-256]`. The credential and query segments are included only when a password is configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -127,7 +136,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.connectionStringExpression", "qualifiedName": "MongoDBServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string for the MongoDB server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -141,11 +150,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.databases", "qualifiedName": "MongoDBServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.MongoDB/Aspire.Hosting.ApplicationModel.MongoDBServerResource", "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.MongoDBServerResource" @@ -155,7 +164,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.host", "qualifiedName": "MongoDBServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -169,7 +178,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.passwordParameter", "qualifiedName": "MongoDBServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the MongoDb server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -183,7 +192,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.port", "qualifiedName": "MongoDBServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -197,7 +206,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.primaryEndpoint", "qualifiedName": "MongoDBServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the MongoDB server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -211,7 +220,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.uriExpression", "qualifiedName": "MongoDBServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the MongoDB server.", + "remarks": "Format: `mongodb://[user:password@]{host}:{port}[?authSource=admin&authMechanism=SCRAM-SHA-256]`. The credential and query segments are included only when a password is configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -225,7 +235,7 @@ "name": "userNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.userNameParameter", "qualifiedName": "MongoDBServerResource.userNameParameter", - "description": "Gets the UserNameParameter property", + "description": "Gets the parameter that contains the MongoDb server username.", "kind": "PropertyGetter", "signature": "userNameParameter(): ParameterResource", "parameters": [], @@ -239,7 +249,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.userNameReference", "qualifiedName": "MongoDBServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the MongoDB server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"admin\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -253,19 +264,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.MongoDB/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a bind mount for the MongoDB data folder", + "description": "Adds a bind mount for the data folder to a MongoDB container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): MongoDBServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "MongoDBServerResource", @@ -279,20 +293,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.MongoDB/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a named volume for the MongoDB data folder", + "description": "Adds a named volume for the data folder to a MongoDB container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): MongoDBServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "MongoDBServerResource", @@ -306,14 +323,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.MongoDB/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Mongo Express resource", + "description": "Configures the host port that the Mongo Express resource is exposed on instead of using randomly assigned port.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withHostPort(port: number): MongoExpressContainerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "MongoExpressContainerResource", @@ -327,13 +346,15 @@ "name": "withInitFiles", "capabilityId": "Aspire.Hosting.MongoDB/withInitFiles", "qualifiedName": "withInitFiles", - "description": "Copies init files into a MongoDB container", + "description": "Copies init files into a MongoDB container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withInitFiles(source: string): MongoDBServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source file or directory on the host to copy into the container." } ], "returnType": "MongoDBServerResource", @@ -347,21 +368,25 @@ "name": "withMongoExpress", "capabilityId": "Aspire.Hosting.MongoDB/withMongoExpress", "qualifiedName": "withMongoExpress", - "description": "Adds a MongoExpress administration platform for MongoDB", + "description": "Adds a MongoExpress administration and development platform for MongoDB to the application model.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withMongoExpress(configureContainer?: (obj: MongoExpressContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): MongoDBServerResource", + "signature": "withMongoExpress(configureContainer?: (obj: MongoExpressContainerResource) => Promise, containerName?: string): MongoDBServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: MongoExpressContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: MongoExpressContainerResource) => Promise", + "description": "Configuration callback for Mongo Express container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "MongoDBServerResource", @@ -378,13 +403,14 @@ "fullName": "Aspire.Hosting.ApplicationModel.MongoDBDatabaseResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a MongoDB database. This is a child resource of a `MongoDBServerResource`.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.ApplicationModel.MongoDBServerResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.ApplicationModel.MongoDBServerResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -393,7 +419,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBDatabaseResource.connectionStringExpression", "qualifiedName": "MongoDBDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the MongoDB database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -407,7 +433,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBDatabaseResource.databaseName", "qualifiedName": "MongoDBDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -421,7 +447,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBDatabaseResource.parent", "qualifiedName": "MongoDBDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent MongoDB container resource.", "kind": "PropertyGetter", "signature": "parent(): MongoDBServerResource", "parameters": [], @@ -435,7 +461,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBDatabaseResource.uriExpression", "qualifiedName": "MongoDBDatabaseResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the MongoDB database.", + "remarks": "Format: `mongodb://[user:password@]{host}:{port}/{database}[?authSource=admin&authMechanism=SCRAM-SHA-256]`. The credential and query segments are included only when a password is configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -452,6 +479,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.MongoDBServerResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a MongoDB container.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -471,18 +499,21 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.MongoDB/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds a MongoDB database resource", + "description": "Adds a MongoDB database to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): MongoDBDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "MongoDBDatabaseResource", @@ -496,7 +527,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.connectionStringExpression", "qualifiedName": "MongoDBServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string for the MongoDB server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -510,11 +541,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.databases", "qualifiedName": "MongoDBServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.MongoDB/Aspire.Hosting.ApplicationModel.MongoDBServerResource", "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.MongoDBServerResource" @@ -524,7 +555,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.host", "qualifiedName": "MongoDBServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -538,7 +569,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.passwordParameter", "qualifiedName": "MongoDBServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the MongoDb server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -552,7 +583,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.port", "qualifiedName": "MongoDBServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -566,7 +597,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.primaryEndpoint", "qualifiedName": "MongoDBServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the MongoDB server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -580,7 +611,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.uriExpression", "qualifiedName": "MongoDBServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the MongoDB server.", + "remarks": "Format: `mongodb://[user:password@]{host}:{port}[?authSource=admin&authMechanism=SCRAM-SHA-256]`. The credential and query segments are included only when a password is configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -594,7 +626,7 @@ "name": "userNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.userNameParameter", "qualifiedName": "MongoDBServerResource.userNameParameter", - "description": "Gets the UserNameParameter property", + "description": "Gets the parameter that contains the MongoDb server username.", "kind": "PropertyGetter", "signature": "userNameParameter(): ParameterResource", "parameters": [], @@ -608,7 +640,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/MongoDBServerResource.userNameReference", "qualifiedName": "MongoDBServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the MongoDB server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"admin\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -622,19 +655,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.MongoDB/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a bind mount for the MongoDB data folder", + "description": "Adds a bind mount for the data folder to a MongoDB container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): MongoDBServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "MongoDBServerResource", @@ -648,20 +684,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.MongoDB/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a named volume for the MongoDB data folder", + "description": "Adds a named volume for the data folder to a MongoDB container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): MongoDBServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "MongoDBServerResource", @@ -675,13 +714,15 @@ "name": "withInitFiles", "capabilityId": "Aspire.Hosting.MongoDB/withInitFiles", "qualifiedName": "withInitFiles", - "description": "Copies init files into a MongoDB container", + "description": "Copies init files into a MongoDB container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withInitFiles(source: string): MongoDBServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source file or directory on the host to copy into the container." } ], "returnType": "MongoDBServerResource", @@ -695,21 +736,25 @@ "name": "withMongoExpress", "capabilityId": "Aspire.Hosting.MongoDB/withMongoExpress", "qualifiedName": "withMongoExpress", - "description": "Adds a MongoExpress administration platform for MongoDB", + "description": "Adds a MongoExpress administration and development platform for MongoDB to the application model.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withMongoExpress(configureContainer?: (obj: MongoExpressContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): MongoDBServerResource", + "signature": "withMongoExpress(configureContainer?: (obj: MongoExpressContainerResource) => Promise, containerName?: string): MongoDBServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: MongoExpressContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: MongoExpressContainerResource) => Promise", + "description": "Configuration callback for Mongo Express container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "MongoDBServerResource", @@ -739,14 +784,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.MongoDB/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the Mongo Express resource", + "description": "Configures the host port that the Mongo Express resource is exposed on instead of using randomly assigned port.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withHostPort(port: number): MongoExpressContainerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "MongoExpressContainerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.MySql.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.MySql.13.3.0.json index 8178276c4..815d2d097 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.MySql.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.MySql.13.3.0.json @@ -10,18 +10,22 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.MySql/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds a MySQL database", + "description": "Adds a MySQL database to the application model.", + "remarks": "When adding a `MySqlDatabaseResource` to your application model the resource can then\nbe referenced by other resources using the resource name. When the dependent resource is using\nthe extension method `WaitFor``1`\nthen the dependent resource will wait until the MySQL database is available.\nNote that calling `AddDatabase`\nwill result in the database being created on the MySQL server when the server becomes ready.\nThe database creation happens automatically as part of the resource lifecycle.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): MySqlDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "MySqlDatabaseResource", @@ -35,24 +39,29 @@ "name": "addMySql", "capabilityId": "Aspire.Hosting.MySql/addMySql", "qualifiedName": "addMySql", - "description": "Adds a MySQL server resource", + "description": "Adds a MySQL server resource to the application model. For local development a container is used.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addMySql(name: string, password?: ParameterResource, port?: number): MySqlServerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "password", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The parameter used to provide the root password for the MySQL resource. If `null` a random password will be generated." }, { "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port for MySQL." } ], "returnType": "MySqlServerResource", @@ -66,7 +75,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlDatabaseResource.connectionStringExpression", "qualifiedName": "MySqlDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the MySQL database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -80,7 +89,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlDatabaseResource.databaseName", "qualifiedName": "MySqlDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -94,7 +103,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlDatabaseResource.jdbcConnectionString", "qualifiedName": "MySqlDatabaseResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the MySQL database.", + "remarks": "Format: `jdbc:mysql://{host}:{port}/{database}`.\nUser and password credentials are not included in the JDBC connection string. Use the `GetConnectionProperties` method to access the `Username` and `Password` properties.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -108,7 +118,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlDatabaseResource.parent", "qualifiedName": "MySqlDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent MySQL container resource.", "kind": "PropertyGetter", "signature": "parent(): MySqlServerResource", "parameters": [], @@ -122,7 +132,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlDatabaseResource.uriExpression", "qualifiedName": "MySqlDatabaseResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the MySQL database.", + "remarks": "Format: `mysql://{user}:{password}@{host}:{port}/{database}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -136,7 +147,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.connectionStringExpression", "qualifiedName": "MySqlServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the MySQL server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -150,11 +161,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.databases", "qualifiedName": "MySqlServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.MySql/Aspire.Hosting.ApplicationModel.MySqlServerResource", "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.MySqlServerResource" @@ -164,7 +175,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.host", "qualifiedName": "MySqlServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -178,7 +189,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.jdbcConnectionString", "qualifiedName": "MySqlServerResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the MySQL server.", + "remarks": "Format: `jdbc:mysql://{host}:{port}`.\nUser and password credentials are not included in the JDBC connection string. Use the `Username` and `Password` connection properties to access credentials.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -192,7 +204,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.passwordParameter", "qualifiedName": "MySqlServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets or sets the parameter that contains the MySQL server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -206,7 +218,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.port", "qualifiedName": "MySqlServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -220,7 +232,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.primaryEndpoint", "qualifiedName": "MySqlServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the MySQL server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -234,7 +246,7 @@ "name": "setPasswordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.setPasswordParameter", "qualifiedName": "MySqlServerResource.setPasswordParameter", - "description": "Sets the PasswordParameter property", + "description": "Gets or sets the parameter that contains the MySQL server password.", "kind": "PropertySetter", "signature": "setPasswordParameter(value: ParameterResource): MySqlServerResource", "parameters": [ @@ -253,7 +265,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.uriExpression", "qualifiedName": "MySqlServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the MySQL server.", + "remarks": "Format: `mysql://{user}:{password}@{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -267,13 +280,16 @@ "name": "withCreationScript", "capabilityId": "Aspire.Hosting.MySql/withCreationScript", "qualifiedName": "withCreationScript", - "description": "Defines the SQL script for database creation", + "description": "Defines the SQL script used to create the database.", + "remarks": "Default script is\n```\nCREATE DATABASE IF NOT EXISTS `QUOTED_DATABASE_NAME`;\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withCreationScript(script: string): MySqlDatabaseResource", "parameters": [ { "name": "script", - "type": "string" + "type": "string", + "description": "The SQL script used to create the database." } ], "returnType": "MySqlDatabaseResource", @@ -287,19 +303,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.MySql/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for MySQL", + "description": "Adds a bind mount for the data folder to a MySql container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): MySqlServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "MySqlServerResource", @@ -313,20 +332,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.MySql/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for MySQL", + "description": "Adds a named volume for the data folder to a MySql container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): MySqlServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "MySqlServerResource", @@ -340,14 +362,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.MySql/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for phpMyAdmin", + "description": "Configures the host port that the PGAdmin resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for PGAdmin.", "kind": "Method", "signature": "withHostPort(port: number): PhpMyAdminContainerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used, a random port will be assigned." } ], "returnType": "PhpMyAdminContainerResource", @@ -361,13 +385,15 @@ "name": "withInitFiles", "capabilityId": "Aspire.Hosting.MySql/withInitFiles", "qualifiedName": "withInitFiles", - "description": "Copies init files to MySQL", + "description": "Copies init files into a MySql container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withInitFiles(source: string): MySqlServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source file or directory on the host to copy into the container." } ], "returnType": "MySqlServerResource", @@ -381,13 +407,15 @@ "name": "withPassword", "capabilityId": "Aspire.Hosting.MySql/withPassword", "qualifiedName": "withPassword", - "description": "Configures the MySQL password", + "description": "Configures the password that the MySQL resource uses.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPassword(password: ParameterResource): MySqlServerResource", "parameters": [ { "name": "password", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The parameter used to provide the password for the MySQL resource." } ], "returnType": "MySqlServerResource", @@ -401,21 +429,25 @@ "name": "withPhpMyAdmin", "capabilityId": "Aspire.Hosting.MySql/withPhpMyAdmin", "qualifiedName": "withPhpMyAdmin", - "description": "Adds phpMyAdmin management UI", + "description": "Adds a phpMyAdmin administration and development platform for MySql to the application model.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withPhpMyAdmin(configureContainer?: (obj: PhpMyAdminContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): MySqlServerResource", + "signature": "withPhpMyAdmin(configureContainer?: (obj: PhpMyAdminContainerResource) => Promise, containerName?: string): MySqlServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PhpMyAdminContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PhpMyAdminContainerResource) => Promise", + "description": "Callback to configure PhpMyAdmin container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "MySqlServerResource", @@ -432,13 +464,14 @@ "fullName": "Aspire.Hosting.ApplicationModel.MySqlDatabaseResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a MySQL database. This is a child resource of a `MySqlServerResource`.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.ApplicationModel.MySqlServerResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.ApplicationModel.MySqlServerResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -447,7 +480,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlDatabaseResource.connectionStringExpression", "qualifiedName": "MySqlDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the MySQL database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -461,7 +494,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlDatabaseResource.databaseName", "qualifiedName": "MySqlDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -475,7 +508,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlDatabaseResource.jdbcConnectionString", "qualifiedName": "MySqlDatabaseResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the MySQL database.", + "remarks": "Format: `jdbc:mysql://{host}:{port}/{database}`.\nUser and password credentials are not included in the JDBC connection string. Use the `GetConnectionProperties` method to access the `Username` and `Password` properties.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -489,7 +523,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlDatabaseResource.parent", "qualifiedName": "MySqlDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent MySQL container resource.", "kind": "PropertyGetter", "signature": "parent(): MySqlServerResource", "parameters": [], @@ -503,7 +537,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlDatabaseResource.uriExpression", "qualifiedName": "MySqlDatabaseResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the MySQL database.", + "remarks": "Format: `mysql://{user}:{password}@{host}:{port}/{database}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -517,13 +552,16 @@ "name": "withCreationScript", "capabilityId": "Aspire.Hosting.MySql/withCreationScript", "qualifiedName": "withCreationScript", - "description": "Defines the SQL script for database creation", + "description": "Defines the SQL script used to create the database.", + "remarks": "Default script is\n```\nCREATE DATABASE IF NOT EXISTS `QUOTED_DATABASE_NAME`;\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withCreationScript(script: string): MySqlDatabaseResource", "parameters": [ { "name": "script", - "type": "string" + "type": "string", + "description": "The SQL script used to create the database." } ], "returnType": "MySqlDatabaseResource", @@ -540,6 +578,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.MySqlServerResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a MySQL container.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -559,18 +598,22 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.MySql/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds a MySQL database", + "description": "Adds a MySQL database to the application model.", + "remarks": "When adding a `MySqlDatabaseResource` to your application model the resource can then\nbe referenced by other resources using the resource name. When the dependent resource is using\nthe extension method `WaitFor``1`\nthen the dependent resource will wait until the MySQL database is available.\nNote that calling `AddDatabase`\nwill result in the database being created on the MySQL server when the server becomes ready.\nThe database creation happens automatically as part of the resource lifecycle.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): MySqlDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "MySqlDatabaseResource", @@ -584,7 +627,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.connectionStringExpression", "qualifiedName": "MySqlServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the MySQL server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -598,11 +641,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.databases", "qualifiedName": "MySqlServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.MySql/Aspire.Hosting.ApplicationModel.MySqlServerResource", "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.MySqlServerResource" @@ -612,7 +655,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.host", "qualifiedName": "MySqlServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -626,7 +669,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.jdbcConnectionString", "qualifiedName": "MySqlServerResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the MySQL server.", + "remarks": "Format: `jdbc:mysql://{host}:{port}`.\nUser and password credentials are not included in the JDBC connection string. Use the `Username` and `Password` connection properties to access credentials.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -640,7 +684,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.passwordParameter", "qualifiedName": "MySqlServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets or sets the parameter that contains the MySQL server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -654,7 +698,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.port", "qualifiedName": "MySqlServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -668,7 +712,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.primaryEndpoint", "qualifiedName": "MySqlServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the MySQL server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -682,7 +726,7 @@ "name": "setPasswordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.setPasswordParameter", "qualifiedName": "MySqlServerResource.setPasswordParameter", - "description": "Sets the PasswordParameter property", + "description": "Gets or sets the parameter that contains the MySQL server password.", "kind": "PropertySetter", "signature": "setPasswordParameter(value: ParameterResource): MySqlServerResource", "parameters": [ @@ -701,7 +745,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/MySqlServerResource.uriExpression", "qualifiedName": "MySqlServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the MySQL server.", + "remarks": "Format: `mysql://{user}:{password}@{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -715,19 +760,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.MySql/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for MySQL", + "description": "Adds a bind mount for the data folder to a MySql container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): MySqlServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "MySqlServerResource", @@ -741,20 +789,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.MySql/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for MySQL", + "description": "Adds a named volume for the data folder to a MySql container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): MySqlServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "MySqlServerResource", @@ -768,13 +819,15 @@ "name": "withInitFiles", "capabilityId": "Aspire.Hosting.MySql/withInitFiles", "qualifiedName": "withInitFiles", - "description": "Copies init files to MySQL", + "description": "Copies init files into a MySql container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withInitFiles(source: string): MySqlServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source file or directory on the host to copy into the container." } ], "returnType": "MySqlServerResource", @@ -788,13 +841,15 @@ "name": "withPassword", "capabilityId": "Aspire.Hosting.MySql/withPassword", "qualifiedName": "withPassword", - "description": "Configures the MySQL password", + "description": "Configures the password that the MySQL resource uses.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPassword(password: ParameterResource): MySqlServerResource", "parameters": [ { "name": "password", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The parameter used to provide the password for the MySQL resource." } ], "returnType": "MySqlServerResource", @@ -808,21 +863,25 @@ "name": "withPhpMyAdmin", "capabilityId": "Aspire.Hosting.MySql/withPhpMyAdmin", "qualifiedName": "withPhpMyAdmin", - "description": "Adds phpMyAdmin management UI", + "description": "Adds a phpMyAdmin administration and development platform for MySql to the application model.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withPhpMyAdmin(configureContainer?: (obj: PhpMyAdminContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): MySqlServerResource", + "signature": "withPhpMyAdmin(configureContainer?: (obj: PhpMyAdminContainerResource) => Promise, containerName?: string): MySqlServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PhpMyAdminContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PhpMyAdminContainerResource) => Promise", + "description": "Callback to configure PhpMyAdmin container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "MySqlServerResource", @@ -852,14 +911,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.MySql/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for phpMyAdmin", + "description": "Configures the host port that the PGAdmin resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for PGAdmin.", "kind": "Method", "signature": "withHostPort(port: number): PhpMyAdminContainerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used, a random port will be assigned." } ], "returnType": "PhpMyAdminContainerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Nats.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Nats.13.3.0.json index 1236026ea..25a73b87c 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Nats.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Nats.13.3.0.json @@ -46,7 +46,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.connectionStringExpression", "qualifiedName": "NatsServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the NATS server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -60,7 +60,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.host", "qualifiedName": "NatsServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -74,7 +74,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.passwordParameter", "qualifiedName": "NatsServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets or sets the password for the NATS server.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -88,7 +88,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.port", "qualifiedName": "NatsServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -102,7 +102,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.primaryEndpoint", "qualifiedName": "NatsServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the NATS server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -116,7 +116,7 @@ "name": "setPasswordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.setPasswordParameter", "qualifiedName": "NatsServerResource.setPasswordParameter", - "description": "Sets the PasswordParameter property", + "description": "Gets or sets the password for the NATS server.", "kind": "PropertySetter", "signature": "setPasswordParameter(value: ParameterResource): NatsServerResource", "parameters": [ @@ -135,7 +135,7 @@ "name": "setUserNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.setUserNameParameter", "qualifiedName": "NatsServerResource.setUserNameParameter", - "description": "Sets the UserNameParameter property", + "description": "Gets or sets the user name for the NATS server.", "kind": "PropertySetter", "signature": "setUserNameParameter(value: ParameterResource): NatsServerResource", "parameters": [ @@ -154,7 +154,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.uriExpression", "qualifiedName": "NatsServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the NATS server.", + "remarks": "Format: `nats://[user:password@]{host}:{port}`. The credential segment is omitted when no credentials are configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -168,7 +169,7 @@ "name": "userNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.userNameParameter", "qualifiedName": "NatsServerResource.userNameParameter", - "description": "Gets the UserNameParameter property", + "description": "Gets or sets the user name for the NATS server.", "kind": "PropertyGetter", "signature": "userNameParameter(): ParameterResource", "parameters": [], @@ -182,7 +183,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.userNameReference", "qualifiedName": "NatsServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the NATS server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"nats\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -196,19 +198,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Nats/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Mounts a host directory as the NATS data directory.", + "description": "Adds a bind mount for the data folder to a NATS container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): NatsServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "NatsServerResource", @@ -222,20 +227,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Nats/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a persistent data volume to the NATS resource.", + "description": "Adds a named volume for the data folder to a NATS container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): NatsServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "NatsServerResource", @@ -249,7 +257,8 @@ "name": "withJetStream", "capabilityId": "Aspire.Hosting.Nats/withJetStream", "qualifiedName": "withJetStream", - "description": "Configures the NATS resource to enable JetStream.", + "description": "Adds JetStream support to the NATS server resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withJetStream(): NatsServerResource", "parameters": [], @@ -267,6 +276,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.NatsServerResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a NATS server container.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -286,7 +296,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.connectionStringExpression", "qualifiedName": "NatsServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the NATS server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -300,7 +310,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.host", "qualifiedName": "NatsServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -314,7 +324,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.passwordParameter", "qualifiedName": "NatsServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets or sets the password for the NATS server.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -328,7 +338,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.port", "qualifiedName": "NatsServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -342,7 +352,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.primaryEndpoint", "qualifiedName": "NatsServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the NATS server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -356,7 +366,7 @@ "name": "setPasswordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.setPasswordParameter", "qualifiedName": "NatsServerResource.setPasswordParameter", - "description": "Sets the PasswordParameter property", + "description": "Gets or sets the password for the NATS server.", "kind": "PropertySetter", "signature": "setPasswordParameter(value: ParameterResource): NatsServerResource", "parameters": [ @@ -375,7 +385,7 @@ "name": "setUserNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.setUserNameParameter", "qualifiedName": "NatsServerResource.setUserNameParameter", - "description": "Sets the UserNameParameter property", + "description": "Gets or sets the user name for the NATS server.", "kind": "PropertySetter", "signature": "setUserNameParameter(value: ParameterResource): NatsServerResource", "parameters": [ @@ -394,7 +404,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.uriExpression", "qualifiedName": "NatsServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the NATS server.", + "remarks": "Format: `nats://[user:password@]{host}:{port}`. The credential segment is omitted when no credentials are configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -408,7 +419,7 @@ "name": "userNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.userNameParameter", "qualifiedName": "NatsServerResource.userNameParameter", - "description": "Gets the UserNameParameter property", + "description": "Gets or sets the user name for the NATS server.", "kind": "PropertyGetter", "signature": "userNameParameter(): ParameterResource", "parameters": [], @@ -422,7 +433,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/NatsServerResource.userNameReference", "qualifiedName": "NatsServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the NATS server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"nats\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -436,19 +448,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Nats/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Mounts a host directory as the NATS data directory.", + "description": "Adds a bind mount for the data folder to a NATS container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): NatsServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "NatsServerResource", @@ -462,20 +477,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Nats/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a persistent data volume to the NATS resource.", + "description": "Adds a named volume for the data folder to a NATS container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): NatsServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "NatsServerResource", @@ -489,7 +507,8 @@ "name": "withJetStream", "capabilityId": "Aspire.Hosting.Nats/withJetStream", "qualifiedName": "withJetStream", - "description": "Configures the NATS resource to enable JetStream.", + "description": "Adds JetStream support to the NATS server resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withJetStream(): NatsServerResource", "parameters": [], diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.OpenAI.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.OpenAI.13.3.0.json index 79d268998..d8dc5ce15 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.OpenAI.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.OpenAI.13.3.0.json @@ -10,17 +10,20 @@ "name": "addModel", "capabilityId": "Aspire.Hosting.OpenAI/addModel", "qualifiedName": "addModel", - "description": "Adds an OpenAI model resource.", + "description": "Adds an OpenAI Model child to the provided OpenAI resource.", + "returns": "The model resource builder.", "kind": "Method", "signature": "addModel(name: string, model: string): OpenAIModelResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the model resource. This name is used as the connection string name." }, { "name": "model", - "type": "string" + "type": "string", + "description": "The model identifier, e.g., \"gpt-4o-mini\"." } ], "returnType": "OpenAIModelResource", @@ -34,13 +37,15 @@ "name": "addOpenAI", "capabilityId": "Aspire.Hosting.OpenAI/addOpenAI", "qualifiedName": "addOpenAI", - "description": "Adds an OpenAI resource to the distributed application model.", + "description": "Adds an OpenAI parent resource that can host multiple models.", + "returns": "The OpenAI resource builder.", "kind": "Method", "signature": "addOpenAI(name: string): OpenAIResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the OpenAI resource." } ], "returnType": "OpenAIResource", @@ -54,7 +59,7 @@ "name": "withApiKey", "capabilityId": "Aspire.Hosting.OpenAI/withApiKey", "qualifiedName": "withApiKey", - "description": "Configures the API key for the OpenAI resource.", + "description": "Configures the API key for the OpenAI parent resource from a parameter.", "kind": "Method", "signature": "withApiKey(apiKey: ParameterResource): OpenAIResource", "parameters": [ @@ -74,13 +79,14 @@ "name": "withEndpoint", "capabilityId": "Aspire.Hosting.OpenAI/withEndpoint", "qualifiedName": "withEndpoint", - "description": "Configures the endpoint URI for the OpenAI resource.", + "description": "Sets a custom OpenAI-compatible service endpoint URI on the parent resource.", "kind": "Method", "signature": "withEndpoint(endpoint: string): OpenAIResource", "parameters": [ { "name": "endpoint", - "type": "string" + "type": "string", + "description": "The endpoint URI, e.g., https://mygateway.example.com/v1." } ], "returnType": "OpenAIResource", @@ -94,7 +100,9 @@ "name": "withHealthCheck", "capabilityId": "Aspire.Hosting.OpenAI/withHealthCheck", "qualifiedName": "withHealthCheck", - "description": "Adds a health check for the OpenAI model resource.", + "description": "Adds a health check to the OpenAI Model resource.", + "remarks": "This method adds a health check that verifies the OpenAI endpoint is accessible,\nthe API key is valid, and the specified model is available. The health check will:\n-\n-\n-\nBecause health checks are included in the rate limit of the OpenAI API,\nit is recommended to use this health check sparingly, such as when you are having issues understanding the reason\nthe model is not working as expected. Furthermore, the health check will run a single time per application instance.", + "returns": "The resource builder.", "kind": "Method", "signature": "withHealthCheck(): OpenAIModelResource", "parameters": [], @@ -117,7 +125,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.OpenAI.OpenAIResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.OpenAI.OpenAIResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -126,7 +134,9 @@ "name": "withHealthCheck", "capabilityId": "Aspire.Hosting.OpenAI/withHealthCheck", "qualifiedName": "withHealthCheck", - "description": "Adds a health check for the OpenAI model resource.", + "description": "Adds a health check to the OpenAI Model resource.", + "remarks": "This method adds a health check that verifies the OpenAI endpoint is accessible,\nthe API key is valid, and the specified model is available. The health check will:\n-\n-\n-\nBecause health checks are included in the rate limit of the OpenAI API,\nit is recommended to use this health check sparingly, such as when you are having issues understanding the reason\nthe model is not working as expected. Furthermore, the health check will run a single time per application instance.", + "returns": "The resource builder.", "kind": "Method", "signature": "withHealthCheck(): OpenAIModelResource", "parameters": [], @@ -156,17 +166,20 @@ "name": "addModel", "capabilityId": "Aspire.Hosting.OpenAI/addModel", "qualifiedName": "addModel", - "description": "Adds an OpenAI model resource.", + "description": "Adds an OpenAI Model child to the provided OpenAI resource.", + "returns": "The model resource builder.", "kind": "Method", "signature": "addModel(name: string, model: string): OpenAIModelResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the model resource. This name is used as the connection string name." }, { "name": "model", - "type": "string" + "type": "string", + "description": "The model identifier, e.g., \"gpt-4o-mini\"." } ], "returnType": "OpenAIModelResource", @@ -180,7 +193,7 @@ "name": "withApiKey", "capabilityId": "Aspire.Hosting.OpenAI/withApiKey", "qualifiedName": "withApiKey", - "description": "Configures the API key for the OpenAI resource.", + "description": "Configures the API key for the OpenAI parent resource from a parameter.", "kind": "Method", "signature": "withApiKey(apiKey: ParameterResource): OpenAIResource", "parameters": [ @@ -200,13 +213,14 @@ "name": "withEndpoint", "capabilityId": "Aspire.Hosting.OpenAI/withEndpoint", "qualifiedName": "withEndpoint", - "description": "Configures the endpoint URI for the OpenAI resource.", + "description": "Sets a custom OpenAI-compatible service endpoint URI on the parent resource.", "kind": "Method", "signature": "withEndpoint(endpoint: string): OpenAIResource", "parameters": [ { "name": "endpoint", - "type": "string" + "type": "string", + "description": "The endpoint URI, e.g., https://mygateway.example.com/v1." } ], "returnType": "OpenAIResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Oracle.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Oracle.13.3.0.json index c8b11d201..3db5bd29a 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Oracle.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Oracle.13.3.0.json @@ -10,18 +10,21 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.Oracle/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds an Oracle database resource to an Oracle server resource.", + "description": "Adds a Oracle Database database to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): OracleDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "OracleDatabaseResource", @@ -35,24 +38,29 @@ "name": "addOracle", "capabilityId": "Aspire.Hosting.Oracle/addOracle", "qualifiedName": "addOracle", - "description": "Adds an Oracle server resource to the distributed application model.", + "description": "Adds a Oracle Server resource to the application model. A container is used for local development.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addOracle(name: string, password?: ParameterResource, port?: number): OracleDatabaseServerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "password", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The parameter used to provide the administrator password for the Oracle Server resource. If `null` a random password will be generated." }, { "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port for Oracle Server." } ], "returnType": "OracleDatabaseServerResource", @@ -66,7 +74,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseResource.connectionStringExpression", "qualifiedName": "OracleDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Oracle Database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -80,7 +88,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseResource.databaseName", "qualifiedName": "OracleDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -94,7 +102,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseResource.jdbcConnectionString", "qualifiedName": "OracleDatabaseResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the Oracle Database.", + "remarks": "Format: `jdbc:oracle:thin:@//{host}:{port}/{database}`.\nUser and password credentials are not included in the JDBC connection string. Use the `GetConnectionProperties` method to access the `Username` and `Password` properties.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -108,7 +117,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseResource.parent", "qualifiedName": "OracleDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Oracle container resource.", "kind": "PropertyGetter", "signature": "parent(): OracleDatabaseServerResource", "parameters": [], @@ -122,7 +131,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseResource.uriExpression", "qualifiedName": "OracleDatabaseResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Oracle database.", + "remarks": "Format: `oracle://{user}:{password}@{host}:{port}/{database}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -136,7 +146,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.connectionStringExpression", "qualifiedName": "OracleDatabaseServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Oracle Database server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -150,11 +160,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.databases", "qualifiedName": "OracleDatabaseServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Oracle/Aspire.Hosting.ApplicationModel.OracleDatabaseServerResource", "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.OracleDatabaseServerResource" @@ -164,7 +174,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.host", "qualifiedName": "OracleDatabaseServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -178,7 +188,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.jdbcConnectionString", "qualifiedName": "OracleDatabaseServerResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the Oracle Database server.", + "remarks": "Format: `jdbc:oracle:thin:@//{host}:{port}`.\nUser and password credentials are not included in the JDBC connection string. Use the `Username` and `Password` connection properties to access credentials.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -192,7 +203,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.passwordParameter", "qualifiedName": "OracleDatabaseServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the Oracle Database server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -206,7 +217,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.port", "qualifiedName": "OracleDatabaseServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -220,7 +231,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.primaryEndpoint", "qualifiedName": "OracleDatabaseServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Oracle server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -234,7 +245,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.uriExpression", "qualifiedName": "OracleDatabaseServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Oracle server.", + "remarks": "Format: `oracle://{user}:{password}@{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -248,7 +260,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.userNameReference", "qualifiedName": "OracleDatabaseServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the Oracle server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"system\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -262,13 +275,15 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Oracle/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Mounts a host directory as the Oracle data directory.", + "description": "Adds a bind mount for the data folder to a Oracle Database server container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string): OracleDatabaseServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." } ], "returnType": "OracleDatabaseServerResource", @@ -282,14 +297,16 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Oracle/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a persistent data volume to the Oracle server resource.", + "description": "Adds a named volume for the data folder to a Oracle Database server container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string): OracleDatabaseServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." } ], "returnType": "OracleDatabaseServerResource", @@ -303,13 +320,15 @@ "name": "withDbSetupBindMount", "capabilityId": "Aspire.Hosting.Oracle/withDbSetupBindMount", "qualifiedName": "withDbSetupBindMount", - "description": "Mounts a host directory as the Oracle DB setup directory.", + "description": "Adds a bind mount for the database setup folder to a Oracle Database server container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDbSetupBindMount(source: string): OracleDatabaseServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." } ], "returnType": "OracleDatabaseServerResource", @@ -323,13 +342,15 @@ "name": "withInitFiles", "capabilityId": "Aspire.Hosting.Oracle/withInitFiles", "qualifiedName": "withInitFiles", - "description": "Copies initialization files into the Oracle container.", + "description": "Copies init files into a Oracle Database server container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withInitFiles(source: string): OracleDatabaseServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source file or directory on the host to copy into the container." } ], "returnType": "OracleDatabaseServerResource", @@ -346,13 +367,14 @@ "fullName": "Aspire.Hosting.ApplicationModel.OracleDatabaseResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents an Oracle Database database. This is a child resource of a `OracleDatabaseServerResource`.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.ApplicationModel.OracleDatabaseServerResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.ApplicationModel.OracleDatabaseServerResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -361,7 +383,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseResource.connectionStringExpression", "qualifiedName": "OracleDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Oracle Database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -375,7 +397,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseResource.databaseName", "qualifiedName": "OracleDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -389,7 +411,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseResource.jdbcConnectionString", "qualifiedName": "OracleDatabaseResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the Oracle Database.", + "remarks": "Format: `jdbc:oracle:thin:@//{host}:{port}/{database}`.\nUser and password credentials are not included in the JDBC connection string. Use the `GetConnectionProperties` method to access the `Username` and `Password` properties.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -403,7 +426,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseResource.parent", "qualifiedName": "OracleDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent Oracle container resource.", "kind": "PropertyGetter", "signature": "parent(): OracleDatabaseServerResource", "parameters": [], @@ -417,7 +440,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseResource.uriExpression", "qualifiedName": "OracleDatabaseResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Oracle database.", + "remarks": "Format: `oracle://{user}:{password}@{host}:{port}/{database}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -434,6 +458,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.OracleDatabaseServerResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents an Oracle Database container.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -453,18 +478,21 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.Oracle/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds an Oracle database resource to an Oracle server resource.", + "description": "Adds a Oracle Database database to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): OracleDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "OracleDatabaseResource", @@ -478,7 +506,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.connectionStringExpression", "qualifiedName": "OracleDatabaseServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Oracle Database server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -492,11 +520,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.databases", "qualifiedName": "OracleDatabaseServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.Oracle/Aspire.Hosting.ApplicationModel.OracleDatabaseServerResource", "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.OracleDatabaseServerResource" @@ -506,7 +534,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.host", "qualifiedName": "OracleDatabaseServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -520,7 +548,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.jdbcConnectionString", "qualifiedName": "OracleDatabaseServerResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the Oracle Database server.", + "remarks": "Format: `jdbc:oracle:thin:@//{host}:{port}`.\nUser and password credentials are not included in the JDBC connection string. Use the `Username` and `Password` connection properties to access credentials.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -534,7 +563,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.passwordParameter", "qualifiedName": "OracleDatabaseServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the Oracle Database server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -548,7 +577,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.port", "qualifiedName": "OracleDatabaseServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -562,7 +591,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.primaryEndpoint", "qualifiedName": "OracleDatabaseServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Oracle server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -576,7 +605,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.uriExpression", "qualifiedName": "OracleDatabaseServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Oracle server.", + "remarks": "Format: `oracle://{user}:{password}@{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -590,7 +620,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/OracleDatabaseServerResource.userNameReference", "qualifiedName": "OracleDatabaseServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the Oracle server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"system\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -604,13 +635,15 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Oracle/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Mounts a host directory as the Oracle data directory.", + "description": "Adds a bind mount for the data folder to a Oracle Database server container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string): OracleDatabaseServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." } ], "returnType": "OracleDatabaseServerResource", @@ -624,14 +657,16 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Oracle/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a persistent data volume to the Oracle server resource.", + "description": "Adds a named volume for the data folder to a Oracle Database server container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string): OracleDatabaseServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." } ], "returnType": "OracleDatabaseServerResource", @@ -645,13 +680,15 @@ "name": "withDbSetupBindMount", "capabilityId": "Aspire.Hosting.Oracle/withDbSetupBindMount", "qualifiedName": "withDbSetupBindMount", - "description": "Mounts a host directory as the Oracle DB setup directory.", + "description": "Adds a bind mount for the database setup folder to a Oracle Database server container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDbSetupBindMount(source: string): OracleDatabaseServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." } ], "returnType": "OracleDatabaseServerResource", @@ -665,13 +702,15 @@ "name": "withInitFiles", "capabilityId": "Aspire.Hosting.Oracle/withInitFiles", "qualifiedName": "withInitFiles", - "description": "Copies initialization files into the Oracle container.", + "description": "Copies init files into a Oracle Database server container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withInitFiles(source: string): OracleDatabaseServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source file or directory on the host to copy into the container." } ], "returnType": "OracleDatabaseServerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Orleans.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Orleans.13.3.0.json index 17b0e04c4..1e74c0c59 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Orleans.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Orleans.13.3.0.json @@ -10,13 +10,15 @@ "name": "addOrleans", "capabilityId": "Aspire.Hosting.Orleans/addOrleans", "qualifiedName": "addOrleans", - "description": "Adds an Orleans service configuration", + "description": "Adds an Orleans service to the application.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "addOrleans(name: string): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the Orleans service." } ], "returnType": "OrleansService", @@ -29,7 +31,8 @@ "name": "asClient", "capabilityId": "Aspire.Hosting.Orleans/asClient", "qualifiedName": "asClient", - "description": "Creates an Orleans client view for the service", + "description": "Returns a model of the clients of an Orleans service.", + "returns": "A model of the clients of an Orleans service.", "kind": "Method", "signature": "asClient(): OrleansServiceClient", "parameters": [], @@ -43,13 +46,15 @@ "name": "withBroadcastChannel", "capabilityId": "Aspire.Hosting.Orleans/withBroadcastChannel", "qualifiedName": "withBroadcastChannel", - "description": "Adds an Orleans broadcast channel provider", + "description": "Adds a broadcast channel provider to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withBroadcastChannel(name: string): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." } ], "returnType": "OrleansService", @@ -62,13 +67,15 @@ "name": "withClusterId", "capabilityId": "Aspire.Hosting.Orleans/withClusterId", "qualifiedName": "withClusterId", - "description": "Sets the Orleans cluster ID", + "description": "Sets the ClusterId of the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withClusterId(clusterId: string): OrleansService", "parameters": [ { "name": "clusterId", - "type": "string" + "type": "string", + "description": "The ClusterId value." } ], "returnType": "OrleansService", @@ -81,13 +88,15 @@ "name": "withClustering", "capabilityId": "Aspire.Hosting.Orleans/withClustering", "qualifiedName": "withClustering", - "description": "Configures Orleans clustering using a resource connection", + "description": "Configures the Orleans service to use the provided clustering provider.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withClustering(provider: IResourceWithConnectionString): OrleansService", "parameters": [ { "name": "provider", - "type": "IResourceWithConnectionString" + "type": "IResourceWithConnectionString", + "description": "The provider." } ], "returnType": "OrleansService", @@ -100,7 +109,8 @@ "name": "withDevelopmentClustering", "capabilityId": "Aspire.Hosting.Orleans/withDevelopmentClustering", "qualifiedName": "withDevelopmentClustering", - "description": "Configures Orleans development clustering", + "description": "Configures the Orleans service to use development-only clustering.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withDevelopmentClustering(): OrleansService", "parameters": [], @@ -114,17 +124,20 @@ "name": "withGrainDirectory", "capabilityId": "Aspire.Hosting.Orleans/withGrainDirectory", "qualifiedName": "withGrainDirectory", - "description": "Adds an Orleans grain directory provider", + "description": "Adds a grain directory provider to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withGrainDirectory(name: string, provider: IResourceWithConnectionString): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." }, { "name": "provider", - "type": "IResourceWithConnectionString" + "type": "IResourceWithConnectionString", + "description": "The provider to add." } ], "returnType": "OrleansService", @@ -137,17 +150,20 @@ "name": "withGrainStorage", "capabilityId": "Aspire.Hosting.Orleans/withGrainStorage", "qualifiedName": "withGrainStorage", - "description": "Adds an Orleans grain storage provider", + "description": "Adds a grain storage provider to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withGrainStorage(name: string, provider: IResourceWithConnectionString): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." }, { "name": "provider", - "type": "IResourceWithConnectionString" + "type": "IResourceWithConnectionString", + "description": "The provider to add." } ], "returnType": "OrleansService", @@ -160,13 +176,15 @@ "name": "withMemoryGrainStorage", "capabilityId": "Aspire.Hosting.Orleans/withMemoryGrainStorage", "qualifiedName": "withMemoryGrainStorage", - "description": "Adds in-memory Orleans grain storage", + "description": "Adds an in-memory grain storage to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withMemoryGrainStorage(name: string): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." } ], "returnType": "OrleansService", @@ -179,7 +197,8 @@ "name": "withMemoryReminders", "capabilityId": "Aspire.Hosting.Orleans/withMemoryReminders", "qualifiedName": "withMemoryReminders", - "description": "Configures in-memory Orleans reminders", + "description": "Configures in-memory reminder storage for the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withMemoryReminders(): OrleansService", "parameters": [], @@ -193,13 +212,15 @@ "name": "withMemoryStreaming", "capabilityId": "Aspire.Hosting.Orleans/withMemoryStreaming", "qualifiedName": "withMemoryStreaming", - "description": "Adds in-memory Orleans streaming", + "description": "Adds an in-memory stream provider to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withMemoryStreaming(name: string): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." } ], "returnType": "OrleansService", @@ -212,13 +233,15 @@ "name": "withReference", "capabilityId": "Aspire.Hosting.Orleans/withOrleansClientReference", "qualifiedName": "withReference", - "description": "Adds an Orleans client reference to a resource", + "description": "Adds an Orleans client to the resource.", + "returns": "The resource builder.", "kind": "Method", "signature": "withReference(orleansServiceClient: OrleansServiceClient): IResourceWithEnvironment", "parameters": [ { "name": "orleansServiceClient", - "type": "OrleansServiceClient" + "type": "OrleansServiceClient", + "description": "The Orleans service client, containing clustering, etc." } ], "returnType": "IResourceWithEnvironment", @@ -236,13 +259,15 @@ "name": "withReminders", "capabilityId": "Aspire.Hosting.Orleans/withReminders", "qualifiedName": "withReminders", - "description": "Configures Orleans reminder storage", + "description": "Configures reminder storage for the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withReminders(provider: IResourceWithConnectionString): OrleansService", "parameters": [ { "name": "provider", - "type": "IResourceWithConnectionString" + "type": "IResourceWithConnectionString", + "description": "The reminder storage provider." } ], "returnType": "OrleansService", @@ -255,13 +280,15 @@ "name": "withServiceId", "capabilityId": "Aspire.Hosting.Orleans/withServiceId", "qualifiedName": "withServiceId", - "description": "Sets the Orleans service ID", + "description": "Sets the ServiceId of the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withServiceId(serviceId: string): OrleansService", "parameters": [ { "name": "serviceId", - "type": "string" + "type": "string", + "description": "The ServiceId value." } ], "returnType": "OrleansService", @@ -274,17 +301,20 @@ "name": "withStreaming", "capabilityId": "Aspire.Hosting.Orleans/withStreaming", "qualifiedName": "withStreaming", - "description": "Adds an Orleans stream provider", + "description": "Adds a stream provider to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withStreaming(name: string, provider: IResourceWithConnectionString): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." }, { "name": "provider", - "type": "IResourceWithConnectionString" + "type": "IResourceWithConnectionString", + "description": "The provider to add." } ], "returnType": "OrleansService", @@ -299,13 +329,15 @@ "name": "OrleansService", "fullName": "Aspire.Hosting.Orleans.OrleansService", "kind": "handle", + "description": "Describes an Orleans service.", "implementedInterfaces": [], "capabilities": [ { "name": "asClient", "capabilityId": "Aspire.Hosting.Orleans/asClient", "qualifiedName": "asClient", - "description": "Creates an Orleans client view for the service", + "description": "Returns a model of the clients of an Orleans service.", + "returns": "A model of the clients of an Orleans service.", "kind": "Method", "signature": "asClient(): OrleansServiceClient", "parameters": [], @@ -319,13 +351,15 @@ "name": "withBroadcastChannel", "capabilityId": "Aspire.Hosting.Orleans/withBroadcastChannel", "qualifiedName": "withBroadcastChannel", - "description": "Adds an Orleans broadcast channel provider", + "description": "Adds a broadcast channel provider to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withBroadcastChannel(name: string): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." } ], "returnType": "OrleansService", @@ -338,13 +372,15 @@ "name": "withClusterId", "capabilityId": "Aspire.Hosting.Orleans/withClusterId", "qualifiedName": "withClusterId", - "description": "Sets the Orleans cluster ID", + "description": "Sets the ClusterId of the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withClusterId(clusterId: string): OrleansService", "parameters": [ { "name": "clusterId", - "type": "string" + "type": "string", + "description": "The ClusterId value." } ], "returnType": "OrleansService", @@ -357,13 +393,15 @@ "name": "withClustering", "capabilityId": "Aspire.Hosting.Orleans/withClustering", "qualifiedName": "withClustering", - "description": "Configures Orleans clustering using a resource connection", + "description": "Configures the Orleans service to use the provided clustering provider.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withClustering(provider: IResourceWithConnectionString): OrleansService", "parameters": [ { "name": "provider", - "type": "IResourceWithConnectionString" + "type": "IResourceWithConnectionString", + "description": "The provider." } ], "returnType": "OrleansService", @@ -376,7 +414,8 @@ "name": "withDevelopmentClustering", "capabilityId": "Aspire.Hosting.Orleans/withDevelopmentClustering", "qualifiedName": "withDevelopmentClustering", - "description": "Configures Orleans development clustering", + "description": "Configures the Orleans service to use development-only clustering.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withDevelopmentClustering(): OrleansService", "parameters": [], @@ -390,17 +429,20 @@ "name": "withGrainDirectory", "capabilityId": "Aspire.Hosting.Orleans/withGrainDirectory", "qualifiedName": "withGrainDirectory", - "description": "Adds an Orleans grain directory provider", + "description": "Adds a grain directory provider to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withGrainDirectory(name: string, provider: IResourceWithConnectionString): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." }, { "name": "provider", - "type": "IResourceWithConnectionString" + "type": "IResourceWithConnectionString", + "description": "The provider to add." } ], "returnType": "OrleansService", @@ -413,17 +455,20 @@ "name": "withGrainStorage", "capabilityId": "Aspire.Hosting.Orleans/withGrainStorage", "qualifiedName": "withGrainStorage", - "description": "Adds an Orleans grain storage provider", + "description": "Adds a grain storage provider to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withGrainStorage(name: string, provider: IResourceWithConnectionString): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." }, { "name": "provider", - "type": "IResourceWithConnectionString" + "type": "IResourceWithConnectionString", + "description": "The provider to add." } ], "returnType": "OrleansService", @@ -436,13 +481,15 @@ "name": "withMemoryGrainStorage", "capabilityId": "Aspire.Hosting.Orleans/withMemoryGrainStorage", "qualifiedName": "withMemoryGrainStorage", - "description": "Adds in-memory Orleans grain storage", + "description": "Adds an in-memory grain storage to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withMemoryGrainStorage(name: string): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." } ], "returnType": "OrleansService", @@ -455,7 +502,8 @@ "name": "withMemoryReminders", "capabilityId": "Aspire.Hosting.Orleans/withMemoryReminders", "qualifiedName": "withMemoryReminders", - "description": "Configures in-memory Orleans reminders", + "description": "Configures in-memory reminder storage for the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withMemoryReminders(): OrleansService", "parameters": [], @@ -469,13 +517,15 @@ "name": "withMemoryStreaming", "capabilityId": "Aspire.Hosting.Orleans/withMemoryStreaming", "qualifiedName": "withMemoryStreaming", - "description": "Adds in-memory Orleans streaming", + "description": "Adds an in-memory stream provider to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withMemoryStreaming(name: string): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." } ], "returnType": "OrleansService", @@ -488,13 +538,15 @@ "name": "withReminders", "capabilityId": "Aspire.Hosting.Orleans/withReminders", "qualifiedName": "withReminders", - "description": "Configures Orleans reminder storage", + "description": "Configures reminder storage for the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withReminders(provider: IResourceWithConnectionString): OrleansService", "parameters": [ { "name": "provider", - "type": "IResourceWithConnectionString" + "type": "IResourceWithConnectionString", + "description": "The reminder storage provider." } ], "returnType": "OrleansService", @@ -507,13 +559,15 @@ "name": "withServiceId", "capabilityId": "Aspire.Hosting.Orleans/withServiceId", "qualifiedName": "withServiceId", - "description": "Sets the Orleans service ID", + "description": "Sets the ServiceId of the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withServiceId(serviceId: string): OrleansService", "parameters": [ { "name": "serviceId", - "type": "string" + "type": "string", + "description": "The ServiceId value." } ], "returnType": "OrleansService", @@ -526,17 +580,20 @@ "name": "withStreaming", "capabilityId": "Aspire.Hosting.Orleans/withStreaming", "qualifiedName": "withStreaming", - "description": "Adds an Orleans stream provider", + "description": "Adds a stream provider to the Orleans service.", + "returns": "The Orleans service builder.", "kind": "Method", "signature": "withStreaming(name: string, provider: IResourceWithConnectionString): OrleansService", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the provider. This is the name the application will use to resolve the provider." }, { "name": "provider", - "type": "IResourceWithConnectionString" + "type": "IResourceWithConnectionString", + "description": "The provider to add." } ], "returnType": "OrleansService", @@ -551,6 +608,7 @@ "name": "OrleansServiceClient", "fullName": "Aspire.Hosting.Orleans.OrleansServiceClient", "kind": "handle", + "description": "Represents an Orleans client configuration that can be referenced by application resources.", "implementedInterfaces": [], "capabilities": [] } diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.PostgreSQL.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.PostgreSQL.13.3.0.json index 7a5b3cdce..7edb1008c 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.PostgreSQL.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.PostgreSQL.13.3.0.json @@ -10,18 +10,22 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.PostgreSQL/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds a PostgreSQL database", + "description": "Adds a PostgreSQL database to the application model.", + "remarks": "This resource includes built-in health checks. When this resource is referenced as a dependency\nusing the `WaitFor``1`\nextension method then the dependent resource will wait until the Postgres database is available.\nNote that calling `AddDatabase`\nwill result in the database being created on the Postgres server when the server becomes ready.\nThe database creation happens automatically as part of the resource lifecycle.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): PostgresDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "PostgresDatabaseResource", @@ -35,29 +39,35 @@ "name": "addPostgres", "capabilityId": "Aspire.Hosting.PostgreSQL/addPostgres", "qualifiedName": "addPostgres", - "description": "Adds a PostgreSQL server resource", + "description": "Adds a PostgreSQL resource to the application model. A container is used for local development.", + "remarks": "This resource includes built-in health checks. When this resource is referenced as a dependency\nusing the `WaitFor``1`\nextension method then the dependent resource will wait until the Postgres resource is able to service\nrequests.\nThis version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addPostgres(name: string, userName?: ParameterResource, password?: ParameterResource, port?: number): PostgresServerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "userName", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The parameter used to provide the user name for the PostgreSQL resource. If `null` a default value will be used." }, { "name": "password", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The parameter used to provide the administrator password for the PostgreSQL resource. If `null` a random password will be generated." }, { "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port used when launching the container. If null a random port will be assigned." } ], "returnType": "PostgresServerResource", @@ -71,7 +81,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresDatabaseResource.connectionStringExpression", "qualifiedName": "PostgresDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Postgres database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -85,7 +95,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresDatabaseResource.databaseName", "qualifiedName": "PostgresDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -99,7 +109,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresDatabaseResource.jdbcConnectionString", "qualifiedName": "PostgresDatabaseResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the PostgreSQL database.", + "remarks": "Format: `jdbc:postgresql://{host}:{port}/{database}`.\nUser and password credentials are not included in the JDBC connection string. Use the `GetConnectionProperties` method to access the `Username` and `Password` properties.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -113,7 +124,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresDatabaseResource.parent", "qualifiedName": "PostgresDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent PostgresSQL container resource.", "kind": "PropertyGetter", "signature": "parent(): PostgresServerResource", "parameters": [], @@ -127,7 +138,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresDatabaseResource.uriExpression", "qualifiedName": "PostgresDatabaseResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the PostgreSQL database.", + "remarks": "Format: `postgresql://{user}:{password}@{host}:{port}/{database}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -141,7 +153,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.connectionStringExpression", "qualifiedName": "PostgresServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the PostgreSQL server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -155,11 +167,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.databases", "qualifiedName": "PostgresServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.PostgreSQL/Aspire.Hosting.ApplicationModel.PostgresServerResource", "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.PostgresServerResource" @@ -169,7 +181,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.host", "qualifiedName": "PostgresServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this service.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -183,7 +195,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.jdbcConnectionString", "qualifiedName": "PostgresServerResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the PostgreSQL server.", + "remarks": "Format: `jdbc:postgresql://{host}:{port}`.\nUser and password credentials are not included in the JDBC connection string. Use the `Username` and `Password` connection properties to access credentials.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -197,7 +210,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.passwordParameter", "qualifiedName": "PostgresServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets or sets the parameter that contains the PostgreSQL server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -211,7 +224,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.port", "qualifiedName": "PostgresServerResource.port", - "description": "Gets the Port property", + "description": "Gets the endpoint reference expression that identifies the port for this endpoint.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -225,7 +238,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.primaryEndpoint", "qualifiedName": "PostgresServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the PostgreSQL server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -239,7 +252,7 @@ "name": "setPasswordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.setPasswordParameter", "qualifiedName": "PostgresServerResource.setPasswordParameter", - "description": "Sets the PasswordParameter property", + "description": "Gets or sets the parameter that contains the PostgreSQL server password.", "kind": "PropertySetter", "signature": "setPasswordParameter(value: ParameterResource): PostgresServerResource", "parameters": [ @@ -258,7 +271,7 @@ "name": "setUserNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.setUserNameParameter", "qualifiedName": "PostgresServerResource.setUserNameParameter", - "description": "Sets the UserNameParameter property", + "description": "Gets or sets the parameter that contains the PostgreSQL server user name.", "kind": "PropertySetter", "signature": "setUserNameParameter(value: ParameterResource): PostgresServerResource", "parameters": [ @@ -277,7 +290,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.uriExpression", "qualifiedName": "PostgresServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the PostgreSQL server.", + "remarks": "Format: `postgresql://{user}:{password}@{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -291,7 +305,7 @@ "name": "userNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.userNameParameter", "qualifiedName": "PostgresServerResource.userNameParameter", - "description": "Gets the UserNameParameter property", + "description": "Gets or sets the parameter that contains the PostgreSQL server user name.", "kind": "PropertyGetter", "signature": "userNameParameter(): ParameterResource", "parameters": [], @@ -305,7 +319,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.userNameReference", "qualifiedName": "PostgresServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the PostgreSQL server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"postgres\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -319,13 +334,16 @@ "name": "withCreationScript", "capabilityId": "Aspire.Hosting.PostgreSQL/withCreationScript", "qualifiedName": "withCreationScript", - "description": "Defines the SQL script for database creation", + "description": "Defines the SQL script used to create the database.", + "remarks": "The script can only contain SQL statements applying to the default database like CREATE DATABASE. Custom statements like table creation\nand data insertion are not supported since they require a distinct connection to the newly created database.\nDefault script is\n```\nCREATE DATABASE \"\"\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withCreationScript(script: string): PostgresDatabaseResource", "parameters": [ { "name": "script", - "type": "string" + "type": "string", + "description": "The SQL script used to create the database." } ], "returnType": "PostgresDatabaseResource", @@ -339,19 +357,23 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.PostgreSQL/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for PostgreSQL", + "description": "Adds a bind mount for the data folder to a PostgreSQL container resource.", + "remarks": "The data directory location varies by PostgreSQL version:\n- PostgreSQL 17 and earlier: `/var/lib/postgresql/data`\n- PostgreSQL 18 and later: `/var/lib/postgresql`\nThis method automatically selects the correct path based on the configured container image tag.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): PostgresServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "PostgresServerResource", @@ -365,20 +387,24 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.PostgreSQL/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for PostgreSQL", + "description": "Adds a named volume for the data folder to a PostgreSQL container resource.", + "remarks": "The data directory location varies by PostgreSQL version:\n- PostgreSQL 17 and earlier: `/var/lib/postgresql/data`\n- PostgreSQL 18 and later: `/var/lib/postgresql`\nThis method automatically selects the correct path based on the configured container image tag.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): PostgresServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "PostgresServerResource", @@ -392,14 +418,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.PostgreSQL/withPgAdminHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for pgAdmin", + "description": "Configures the host port that the PGAdmin resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for PGAdmin.", "kind": "Method", "signature": "withHostPort(port: number): PgAdminContainerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "PgAdminContainerResource", @@ -413,14 +441,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.PostgreSQL/withPgWebHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for pgweb", + "description": "Configures the host port that the pgweb resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for pgweb.", "kind": "Method", "signature": "withHostPort(port: number): PgWebContainerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "PgWebContainerResource", @@ -434,14 +464,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.PostgreSQL/withPostgresHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for PostgreSQL", + "description": "Configures the host port that the PostgreSQL resource is exposed on instead of using randomly assigned port.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHostPort(port: number): PostgresServerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "PostgresServerResource", @@ -455,13 +487,15 @@ "name": "withInitFiles", "capabilityId": "Aspire.Hosting.PostgreSQL/withInitFiles", "qualifiedName": "withInitFiles", - "description": "Copies init files to PostgreSQL", + "description": "Copies init files to a PostgreSQL container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withInitFiles(source: string): PostgresServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory or files on the host to copy into the container." } ], "returnType": "PostgresServerResource", @@ -475,13 +509,15 @@ "name": "withPassword", "capabilityId": "Aspire.Hosting.PostgreSQL/withPassword", "qualifiedName": "withPassword", - "description": "Configures the PostgreSQL password", + "description": "Configures the password that the PostgreSQL resource is used.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPassword(password: ParameterResource): PostgresServerResource", "parameters": [ { "name": "password", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The parameter used to provide the password for the PostgreSQL resource." } ], "returnType": "PostgresServerResource", @@ -495,21 +531,25 @@ "name": "withPgAdmin", "capabilityId": "Aspire.Hosting.PostgreSQL/withPgAdmin", "qualifiedName": "withPgAdmin", - "description": "Adds pgAdmin 4 management UI", + "description": "Adds a pgAdmin 4 administration and development platform for PostgreSQL to the application model.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withPgAdmin(configureContainer?: (obj: PgAdminContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): PostgresServerResource", + "signature": "withPgAdmin(configureContainer?: (obj: PgAdminContainerResource) => Promise, containerName?: string): PostgresServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PgAdminContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PgAdminContainerResource) => Promise", + "description": "Callback to configure PgAdmin container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "PostgresServerResource", @@ -523,21 +563,25 @@ "name": "withPgWeb", "capabilityId": "Aspire.Hosting.PostgreSQL/withPgWeb", "qualifiedName": "withPgWeb", - "description": "Adds pgweb management UI", + "description": "Adds an administration and development platform for PostgreSQL to the application model using pgweb.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withPgWeb(configureContainer?: (obj: PgWebContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): PostgresServerResource", + "signature": "withPgWeb(configureContainer?: (obj: PgWebContainerResource) => Promise, containerName?: string): PostgresServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PgWebContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PgWebContainerResource) => Promise", + "description": "Configuration callback for pgweb container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "PostgresServerResource", @@ -551,21 +595,25 @@ "name": "withPostgresMcp", "capabilityId": "Aspire.Hosting.PostgreSQL/withPostgresMcp", "qualifiedName": "withPostgresMcp", - "description": "Adds Postgres MCP server", + "description": "Adds a Postgres MCP server container and configures it to connect to the database represented by `builder`.", + "remarks": "The Postgres MCP server is configured to use SSE transport and will expose an HTTP endpoint.\nThis version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withPostgresMcp(configureContainer?: (obj: PostgresMcpContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): PostgresDatabaseResource", + "signature": "withPostgresMcp(configureContainer?: (obj: PostgresMcpContainerResource) => Promise, containerName?: string): PostgresDatabaseResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PostgresMcpContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PostgresMcpContainerResource) => Promise", + "description": "Configuration callback for the Postgres MCP container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (optional)." } ], "returnType": "PostgresDatabaseResource", @@ -579,13 +627,15 @@ "name": "withUserName", "capabilityId": "Aspire.Hosting.PostgreSQL/withUserName", "qualifiedName": "withUserName", - "description": "Configures the PostgreSQL user name", + "description": "Configures the user name that the PostgreSQL resource is used.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withUserName(userName: ParameterResource): PostgresServerResource", "parameters": [ { "name": "userName", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The parameter used to provide the user name for the PostgreSQL resource." } ], "returnType": "PostgresServerResource", @@ -602,13 +652,14 @@ "fullName": "Aspire.Hosting.ApplicationModel.PostgresDatabaseResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a PostgreSQL database. This is a child resource of a `PostgresServerResource`.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IExpressionValue", "Aspire.Hosting.ApplicationModel.IManifestExpressionProvider", "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", "Aspire.Hosting.ApplicationModel.IResourceWithParent", - "Aspire.Hosting.ApplicationModel.IResourceWithParent\u00601[[Aspire.Hosting.ApplicationModel.PostgresServerResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithParent`1[[Aspire.Hosting.ApplicationModel.PostgresServerResource]]", "Aspire.Hosting.ApplicationModel.IValueProvider", "Aspire.Hosting.ApplicationModel.IValueWithReferences" ], @@ -617,7 +668,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresDatabaseResource.connectionStringExpression", "qualifiedName": "PostgresDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Postgres database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -631,7 +682,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresDatabaseResource.databaseName", "qualifiedName": "PostgresDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -645,7 +696,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresDatabaseResource.jdbcConnectionString", "qualifiedName": "PostgresDatabaseResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the PostgreSQL database.", + "remarks": "Format: `jdbc:postgresql://{host}:{port}/{database}`.\nUser and password credentials are not included in the JDBC connection string. Use the `GetConnectionProperties` method to access the `Username` and `Password` properties.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -659,7 +711,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresDatabaseResource.parent", "qualifiedName": "PostgresDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent PostgresSQL container resource.", "kind": "PropertyGetter", "signature": "parent(): PostgresServerResource", "parameters": [], @@ -673,7 +725,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresDatabaseResource.uriExpression", "qualifiedName": "PostgresDatabaseResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the PostgreSQL database.", + "remarks": "Format: `postgresql://{user}:{password}@{host}:{port}/{database}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -687,13 +740,16 @@ "name": "withCreationScript", "capabilityId": "Aspire.Hosting.PostgreSQL/withCreationScript", "qualifiedName": "withCreationScript", - "description": "Defines the SQL script for database creation", + "description": "Defines the SQL script used to create the database.", + "remarks": "The script can only contain SQL statements applying to the default database like CREATE DATABASE. Custom statements like table creation\nand data insertion are not supported since they require a distinct connection to the newly created database.\nDefault script is\n```\nCREATE DATABASE \"\"\n```", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "withCreationScript(script: string): PostgresDatabaseResource", "parameters": [ { "name": "script", - "type": "string" + "type": "string", + "description": "The SQL script used to create the database." } ], "returnType": "PostgresDatabaseResource", @@ -707,21 +763,25 @@ "name": "withPostgresMcp", "capabilityId": "Aspire.Hosting.PostgreSQL/withPostgresMcp", "qualifiedName": "withPostgresMcp", - "description": "Adds Postgres MCP server", + "description": "Adds a Postgres MCP server container and configures it to connect to the database represented by `builder`.", + "remarks": "The Postgres MCP server is configured to use SSE transport and will expose an HTTP endpoint.\nThis version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withPostgresMcp(configureContainer?: (obj: PostgresMcpContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): PostgresDatabaseResource", + "signature": "withPostgresMcp(configureContainer?: (obj: PostgresMcpContainerResource) => Promise, containerName?: string): PostgresDatabaseResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PostgresMcpContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PostgresMcpContainerResource) => Promise", + "description": "Configuration callback for the Postgres MCP container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (optional)." } ], "returnType": "PostgresDatabaseResource", @@ -738,6 +798,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.PostgresServerResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a PostgreSQL container.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -757,18 +818,22 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.PostgreSQL/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds a PostgreSQL database", + "description": "Adds a PostgreSQL database to the application model.", + "remarks": "This resource includes built-in health checks. When this resource is referenced as a dependency\nusing the `WaitFor``1`\nextension method then the dependent resource will wait until the Postgres database is available.\nNote that calling `AddDatabase`\nwill result in the database being created on the Postgres server when the server becomes ready.\nThe database creation happens automatically as part of the resource lifecycle.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): PostgresDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "PostgresDatabaseResource", @@ -782,7 +847,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.connectionStringExpression", "qualifiedName": "PostgresServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the PostgreSQL server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -796,11 +861,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.databases", "qualifiedName": "PostgresServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.PostgreSQL/Aspire.Hosting.ApplicationModel.PostgresServerResource", "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.PostgresServerResource" @@ -810,7 +875,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.host", "qualifiedName": "PostgresServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this service.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -824,7 +889,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.jdbcConnectionString", "qualifiedName": "PostgresServerResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the PostgreSQL server.", + "remarks": "Format: `jdbc:postgresql://{host}:{port}`.\nUser and password credentials are not included in the JDBC connection string. Use the `Username` and `Password` connection properties to access credentials.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -838,7 +904,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.passwordParameter", "qualifiedName": "PostgresServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets or sets the parameter that contains the PostgreSQL server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -852,7 +918,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.port", "qualifiedName": "PostgresServerResource.port", - "description": "Gets the Port property", + "description": "Gets the endpoint reference expression that identifies the port for this endpoint.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -866,7 +932,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.primaryEndpoint", "qualifiedName": "PostgresServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the PostgreSQL server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -880,7 +946,7 @@ "name": "setPasswordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.setPasswordParameter", "qualifiedName": "PostgresServerResource.setPasswordParameter", - "description": "Sets the PasswordParameter property", + "description": "Gets or sets the parameter that contains the PostgreSQL server password.", "kind": "PropertySetter", "signature": "setPasswordParameter(value: ParameterResource): PostgresServerResource", "parameters": [ @@ -899,7 +965,7 @@ "name": "setUserNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.setUserNameParameter", "qualifiedName": "PostgresServerResource.setUserNameParameter", - "description": "Sets the UserNameParameter property", + "description": "Gets or sets the parameter that contains the PostgreSQL server user name.", "kind": "PropertySetter", "signature": "setUserNameParameter(value: ParameterResource): PostgresServerResource", "parameters": [ @@ -918,7 +984,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.uriExpression", "qualifiedName": "PostgresServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the PostgreSQL server.", + "remarks": "Format: `postgresql://{user}:{password}@{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -932,7 +999,7 @@ "name": "userNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.userNameParameter", "qualifiedName": "PostgresServerResource.userNameParameter", - "description": "Gets the UserNameParameter property", + "description": "Gets or sets the parameter that contains the PostgreSQL server user name.", "kind": "PropertyGetter", "signature": "userNameParameter(): ParameterResource", "parameters": [], @@ -946,7 +1013,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/PostgresServerResource.userNameReference", "qualifiedName": "PostgresServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the PostgreSQL server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"postgres\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -960,19 +1028,23 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.PostgreSQL/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for PostgreSQL", + "description": "Adds a bind mount for the data folder to a PostgreSQL container resource.", + "remarks": "The data directory location varies by PostgreSQL version:\n- PostgreSQL 17 and earlier: `/var/lib/postgresql/data`\n- PostgreSQL 18 and later: `/var/lib/postgresql`\nThis method automatically selects the correct path based on the configured container image tag.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): PostgresServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "PostgresServerResource", @@ -986,20 +1058,24 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.PostgreSQL/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for PostgreSQL", + "description": "Adds a named volume for the data folder to a PostgreSQL container resource.", + "remarks": "The data directory location varies by PostgreSQL version:\n- PostgreSQL 17 and earlier: `/var/lib/postgresql/data`\n- PostgreSQL 18 and later: `/var/lib/postgresql`\nThis method automatically selects the correct path based on the configured container image tag.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): PostgresServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "PostgresServerResource", @@ -1013,14 +1089,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.PostgreSQL/withPostgresHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for PostgreSQL", + "description": "Configures the host port that the PostgreSQL resource is exposed on instead of using randomly assigned port.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHostPort(port: number): PostgresServerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "PostgresServerResource", @@ -1034,13 +1112,15 @@ "name": "withInitFiles", "capabilityId": "Aspire.Hosting.PostgreSQL/withInitFiles", "qualifiedName": "withInitFiles", - "description": "Copies init files to PostgreSQL", + "description": "Copies init files to a PostgreSQL container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withInitFiles(source: string): PostgresServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory or files on the host to copy into the container." } ], "returnType": "PostgresServerResource", @@ -1054,13 +1134,15 @@ "name": "withPassword", "capabilityId": "Aspire.Hosting.PostgreSQL/withPassword", "qualifiedName": "withPassword", - "description": "Configures the PostgreSQL password", + "description": "Configures the password that the PostgreSQL resource is used.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPassword(password: ParameterResource): PostgresServerResource", "parameters": [ { "name": "password", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The parameter used to provide the password for the PostgreSQL resource." } ], "returnType": "PostgresServerResource", @@ -1074,21 +1156,25 @@ "name": "withPgAdmin", "capabilityId": "Aspire.Hosting.PostgreSQL/withPgAdmin", "qualifiedName": "withPgAdmin", - "description": "Adds pgAdmin 4 management UI", + "description": "Adds a pgAdmin 4 administration and development platform for PostgreSQL to the application model.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withPgAdmin(configureContainer?: (obj: PgAdminContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): PostgresServerResource", + "signature": "withPgAdmin(configureContainer?: (obj: PgAdminContainerResource) => Promise, containerName?: string): PostgresServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PgAdminContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PgAdminContainerResource) => Promise", + "description": "Callback to configure PgAdmin container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "PostgresServerResource", @@ -1102,21 +1188,25 @@ "name": "withPgWeb", "capabilityId": "Aspire.Hosting.PostgreSQL/withPgWeb", "qualifiedName": "withPgWeb", - "description": "Adds pgweb management UI", + "description": "Adds an administration and development platform for PostgreSQL to the application model using pgweb.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", - "signature": "withPgWeb(configureContainer?: (obj: PgWebContainerResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): PostgresServerResource", + "signature": "withPgWeb(configureContainer?: (obj: PgWebContainerResource) => Promise, containerName?: string): PostgresServerResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: PgWebContainerResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: PgWebContainerResource) => Promise", + "description": "Configuration callback for pgweb container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the container (Optional)." } ], "returnType": "PostgresServerResource", @@ -1130,13 +1220,15 @@ "name": "withUserName", "capabilityId": "Aspire.Hosting.PostgreSQL/withUserName", "qualifiedName": "withUserName", - "description": "Configures the PostgreSQL user name", + "description": "Configures the user name that the PostgreSQL resource is used.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withUserName(userName: ParameterResource): PostgresServerResource", "parameters": [ { "name": "userName", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The parameter used to provide the user name for the PostgreSQL resource." } ], "returnType": "PostgresServerResource", @@ -1166,14 +1258,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.PostgreSQL/withPgAdminHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for pgAdmin", + "description": "Configures the host port that the PGAdmin resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for PGAdmin.", "kind": "Method", "signature": "withHostPort(port: number): PgAdminContainerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "PgAdminContainerResource", @@ -1203,14 +1297,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.PostgreSQL/withPgWebHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for pgweb", + "description": "Configures the host port that the pgweb resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for pgweb.", "kind": "Method", "signature": "withHostPort(port: number): PgWebContainerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "PgWebContainerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Python.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Python.13.3.0.json index a87dc51b8..42d22ccbf 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Python.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Python.13.3.0.json @@ -10,21 +10,26 @@ "name": "addPythonApp", "capabilityId": "Aspire.Hosting.Python/addPythonApp", "qualifiedName": "addPythonApp", - "description": "Adds a Python script application resource", + "description": "Adds a Python application to the application model.", + "remarks": "This method executes a Python script directly using `python script.py`.\nBy default, the virtual environment is resolved using the following priority:\n-\n-\n-\nUse `WithVirtualEnvironment``1` to specify a different virtual environment path.\nUse `WithArgs` to pass arguments to the script.\nPython applications automatically have debugging support enabled.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addPythonApp(name: string, appDirectory: string, scriptPath: string): PythonAppResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "appDirectory", - "type": "string" + "type": "string", + "description": "The path to the directory containing the python application." }, { "name": "scriptPath", - "type": "string" + "type": "string", + "description": "The path to the script relative to the app directory to run." } ], "returnType": "PythonAppResource", @@ -38,21 +43,26 @@ "name": "addPythonExecutable", "capabilityId": "Aspire.Hosting.Python/addPythonExecutable", "qualifiedName": "addPythonExecutable", - "description": "Adds a Python executable application resource", + "description": "Adds a Python executable to the application model.", + "remarks": "This method runs an executable from the virtual environment's bin directory.\nBy default, the virtual environment folder is expected to be named `.venv` and located in the app directory.\nUse `WithVirtualEnvironment``1` to specify a different virtual environment path.\nUse `WithArgs` to pass arguments to the executable.\nUnlike scripts and modules, Python executables do not have debugging support enabled by default.\nUse `WithDebugging``1` to explicitly enable debugging support if the executable is a Python-based\ntool that can be debugged.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addPythonExecutable(name: string, appDirectory: string, executableName: string): PythonAppResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "appDirectory", - "type": "string" + "type": "string", + "description": "The path to the directory containing the python application." }, { "name": "executableName", - "type": "string" + "type": "string", + "description": "The name of the executable in the virtual environment (e.g., \"pytest\", \"uvicorn\", \"flask\")." } ], "returnType": "PythonAppResource", @@ -66,21 +76,26 @@ "name": "addPythonModule", "capabilityId": "Aspire.Hosting.Python/addPythonModule", "qualifiedName": "addPythonModule", - "description": "Adds a Python module application resource", + "description": "Adds a Python module to the application model.", + "remarks": "This method runs a Python module using `python -m `.\nBy default, the virtual environment folder is expected to be named `.venv` and located in the app directory.\nUse `WithVirtualEnvironment``1` to specify a different virtual environment path.\nUse `WithArgs` to pass arguments to the module.\nPython modules automatically have debugging support enabled.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addPythonModule(name: string, appDirectory: string, moduleName: string): PythonAppResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource." }, { "name": "appDirectory", - "type": "string" + "type": "string", + "description": "The path to the directory containing the python application." }, { "name": "moduleName", - "type": "string" + "type": "string", + "description": "The name of the Python module to run (e.g., \"flask\", \"uvicorn\")." } ], "returnType": "PythonAppResource", @@ -94,21 +109,26 @@ "name": "addUvicornApp", "capabilityId": "Aspire.Hosting.Python/addUvicornApp", "qualifiedName": "addUvicornApp", - "description": "Adds a Uvicorn-based Python application resource", + "description": "Adds a Uvicorn-based Python application to the distributed application builder with HTTP endpoint configuration.", + "remarks": "This method configures the application to use Uvicorn as the ASGI server and exposes an HTTP\nendpoint. When publishing, it sets the entry point to use the Uvicorn executable with appropriate arguments for\nhost and port.\nBy default, the virtual environment folder is expected to be named `.venv` and located in the app directory.\nUse `WithVirtualEnvironment``1` to specify a different virtual environment path.\nIn non-publish mode, the `--reload` flag is automatically added to enable hot reload during development.", + "returns": "A resource builder for further configuration of the Uvicorn Python application resource.", "kind": "Method", "signature": "addUvicornApp(name: string, appDirectory: string, app: string): UvicornAppResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The unique name of the Uvicorn application resource." }, { "name": "appDirectory", - "type": "string" + "type": "string", + "description": "The directory containing the Python application files." }, { "name": "app", - "type": "string" + "type": "string", + "description": "The ASGI app import path which informs Uvicorn which module and variable to load as your web application. For example, \"main:app\" means \"main.py\" file and variable named \"app\"." } ], "returnType": "UvicornAppResource", @@ -122,7 +142,9 @@ "name": "withDebugging", "capabilityId": "Aspire.Hosting.Python/withDebugging", "qualifiedName": "withDebugging", - "description": "Enables debugging support for a Python application", + "description": "Enables debugging support for the Python application.", + "remarks": "This method adds the `PythonExecutableDebuggableAnnotation` to the resource, which enables\ndebugging support. The debugging configuration is automatically set up based on the\nentrypoint type (Script, Module, or Executable).\nThe debug configuration includes the Python interpreter path from the virtual environment,\nthe program or module to debug, and appropriate launch settings.", + "returns": "A reference to the `IResourceBuilder`1` for method chaining.", "kind": "Method", "signature": "withDebugging(): PythonAppResource", "parameters": [], @@ -138,17 +160,21 @@ "name": "withEntrypoint", "capabilityId": "Aspire.Hosting.Python/withEntrypoint", "qualifiedName": "withEntrypoint", - "description": "Configures the entrypoint for a Python application", + "description": "Configures the entrypoint for the Python application.", + "remarks": "This method allows you to change the entrypoint configuration of a Python application after it has been created.\nThe command and arguments will be updated based on the specified entrypoint type:\n- Script: Runs as `python `\n- Module: Runs as `python -m `\n- Executable: Runs the executable directly from the virtual environment\nImportant: This method resets all command-line arguments. If you need to add arguments after changing\nthe entrypoint, call `WithArgs` after this method.", + "returns": "A reference to the `IResourceBuilder`1` for method chaining.", "kind": "Method", "signature": "withEntrypoint(entrypointType: EntrypointType, entrypoint: string): PythonAppResource", "parameters": [ { "name": "entrypointType", - "type": "EntrypointType" + "type": "EntrypointType", + "description": "The type of entrypoint (Script, Module, or Executable)." }, { "name": "entrypoint", - "type": "string" + "type": "string", + "description": "The entrypoint value (script path, module name, or executable name)." } ], "returnType": "PythonAppResource", @@ -163,7 +189,9 @@ "name": "withPip", "capabilityId": "Aspire.Hosting.Python/withPip", "qualifiedName": "withPip", - "description": "Configures pip package installation for a Python application", + "description": "Configures the Python resource to use pip as the package manager and optionally installs packages before the application starts.", + "remarks": "This method creates a child resource that runs `pip install` in the working directory of the Python application.\nThe Python application will wait for this resource to complete successfully before starting.\nPip will automatically detect and use either pyproject.toml or requirements.txt based on which file exists in the application directory.\nIf pyproject.toml exists, pip will use it. Otherwise, if requirements.txt exists, pip will use that.\nCalling this method will replace any previously configured package manager (such as uv).", + "returns": "A reference to the `IResourceBuilder`1` for method chaining.", "kind": "Method", "signature": "withPip(install?: boolean, installArgs?: string[]): PythonAppResource", "parameters": [ @@ -171,12 +199,14 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically installs packages before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "installArgs", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "The command-line arguments passed to pip install command." } ], "returnType": "PythonAppResource", @@ -191,7 +221,9 @@ "name": "withUv", "capabilityId": "Aspire.Hosting.Python/withUv", "qualifiedName": "withUv", - "description": "Configures uv package management for a Python application", + "description": "Adds a UV environment setup task to ensure the virtual environment exists before running the Python application.", + "remarks": "This method creates a child resource that runs `uv sync` in the working directory of the Python application.\nThe Python application will wait for this resource to complete successfully before starting.\nUV (https://github.com/astral-sh/uv) is a modern Python package manager written in Rust that can manage virtual environments\nand dependencies with significantly faster performance than traditional tools. The `uv sync` command ensures that the virtual\nenvironment exists, Python is installed if needed, and all dependencies specified in pyproject.toml are installed and synchronized.\nCalling this method will replace any previously configured package manager (such as pip).", + "returns": "A reference to the `IResourceBuilder`1` for method chaining.", "kind": "Method", "signature": "withUv(install?: boolean, args?: string[]): PythonAppResource", "parameters": [ @@ -199,12 +231,14 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically runs uv sync before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "args", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional custom arguments to pass to the uv command. If not provided, defaults to [\"sync\"]." } ], "returnType": "PythonAppResource", @@ -219,19 +253,23 @@ "name": "withVirtualEnvironment", "capabilityId": "Aspire.Hosting.Python/withVirtualEnvironment", "qualifiedName": "withVirtualEnvironment", - "description": "Configures the virtual environment for a Python application", + "description": "Configures a custom virtual environment path for the Python application.", + "remarks": "This method updates the Python executable path to use the specified virtual environment.\nBy default (`createIfNotExists` = `true`), if the virtual environment doesn't exist,\nit will be automatically created before running the application (when using pip package manager, not uv).\nSet `createIfNotExists` to `false` to disable this behavior and require the venv to already exist.\nVirtual environments allow Python applications to have isolated dependencies separate from\nthe system Python installation. This is the recommended approach for Python applications.\nWhen you explicitly specify a virtual environment path using this method, the path is used verbatim.\nThe automatic multi-location lookup (checking both app and AppHost directories) only applies when\nusing the default \".venv\" path during initial app creation via AddPythonScript, AddPythonModule, or AddPythonExecutable.", + "returns": "A reference to the `IResourceBuilder`1` for method chaining.", "kind": "Method", "signature": "withVirtualEnvironment(virtualEnvironmentPath: string, createIfNotExists?: boolean): PythonAppResource", "parameters": [ { "name": "virtualEnvironmentPath", - "type": "string" + "type": "string", + "description": "The path to the virtual environment. Can be absolute or relative to the app directory. When relative, it is resolved from the working directory of the Python application. Common values include \".venv\", \"venv\", or \"myenv\"." }, { "name": "createIfNotExists", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to automatically create the virtual environment if it doesn't exist. Defaults to `true`. Set to `false` to disable automatic venv creation (the venv must already exist)." } ], "returnType": "PythonAppResource", @@ -264,7 +302,9 @@ "name": "withDebugging", "capabilityId": "Aspire.Hosting.Python/withDebugging", "qualifiedName": "withDebugging", - "description": "Enables debugging support for a Python application", + "description": "Enables debugging support for the Python application.", + "remarks": "This method adds the `PythonExecutableDebuggableAnnotation` to the resource, which enables\ndebugging support. The debugging configuration is automatically set up based on the\nentrypoint type (Script, Module, or Executable).\nThe debug configuration includes the Python interpreter path from the virtual environment,\nthe program or module to debug, and appropriate launch settings.", + "returns": "A reference to the `IResourceBuilder`1` for method chaining.", "kind": "Method", "signature": "withDebugging(): PythonAppResource", "parameters": [], @@ -280,17 +320,21 @@ "name": "withEntrypoint", "capabilityId": "Aspire.Hosting.Python/withEntrypoint", "qualifiedName": "withEntrypoint", - "description": "Configures the entrypoint for a Python application", + "description": "Configures the entrypoint for the Python application.", + "remarks": "This method allows you to change the entrypoint configuration of a Python application after it has been created.\nThe command and arguments will be updated based on the specified entrypoint type:\n- Script: Runs as `python `\n- Module: Runs as `python -m `\n- Executable: Runs the executable directly from the virtual environment\nImportant: This method resets all command-line arguments. If you need to add arguments after changing\nthe entrypoint, call `WithArgs` after this method.", + "returns": "A reference to the `IResourceBuilder`1` for method chaining.", "kind": "Method", "signature": "withEntrypoint(entrypointType: EntrypointType, entrypoint: string): PythonAppResource", "parameters": [ { "name": "entrypointType", - "type": "EntrypointType" + "type": "EntrypointType", + "description": "The type of entrypoint (Script, Module, or Executable)." }, { "name": "entrypoint", - "type": "string" + "type": "string", + "description": "The entrypoint value (script path, module name, or executable name)." } ], "returnType": "PythonAppResource", @@ -305,7 +349,9 @@ "name": "withPip", "capabilityId": "Aspire.Hosting.Python/withPip", "qualifiedName": "withPip", - "description": "Configures pip package installation for a Python application", + "description": "Configures the Python resource to use pip as the package manager and optionally installs packages before the application starts.", + "remarks": "This method creates a child resource that runs `pip install` in the working directory of the Python application.\nThe Python application will wait for this resource to complete successfully before starting.\nPip will automatically detect and use either pyproject.toml or requirements.txt based on which file exists in the application directory.\nIf pyproject.toml exists, pip will use it. Otherwise, if requirements.txt exists, pip will use that.\nCalling this method will replace any previously configured package manager (such as uv).", + "returns": "A reference to the `IResourceBuilder`1` for method chaining.", "kind": "Method", "signature": "withPip(install?: boolean, installArgs?: string[]): PythonAppResource", "parameters": [ @@ -313,12 +359,14 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically installs packages before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "installArgs", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "The command-line arguments passed to pip install command." } ], "returnType": "PythonAppResource", @@ -333,7 +381,9 @@ "name": "withUv", "capabilityId": "Aspire.Hosting.Python/withUv", "qualifiedName": "withUv", - "description": "Configures uv package management for a Python application", + "description": "Adds a UV environment setup task to ensure the virtual environment exists before running the Python application.", + "remarks": "This method creates a child resource that runs `uv sync` in the working directory of the Python application.\nThe Python application will wait for this resource to complete successfully before starting.\nUV (https://github.com/astral-sh/uv) is a modern Python package manager written in Rust that can manage virtual environments\nand dependencies with significantly faster performance than traditional tools. The `uv sync` command ensures that the virtual\nenvironment exists, Python is installed if needed, and all dependencies specified in pyproject.toml are installed and synchronized.\nCalling this method will replace any previously configured package manager (such as pip).", + "returns": "A reference to the `IResourceBuilder`1` for method chaining.", "kind": "Method", "signature": "withUv(install?: boolean, args?: string[]): PythonAppResource", "parameters": [ @@ -341,12 +391,14 @@ "name": "install", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "When true (default), automatically runs uv sync before the application starts. When false, only sets the package manager annotation without creating an installer resource." }, { "name": "args", "type": "string[]", - "isOptional": true + "isOptional": true, + "description": "Optional custom arguments to pass to the uv command. If not provided, defaults to [\"sync\"]." } ], "returnType": "PythonAppResource", @@ -361,19 +413,23 @@ "name": "withVirtualEnvironment", "capabilityId": "Aspire.Hosting.Python/withVirtualEnvironment", "qualifiedName": "withVirtualEnvironment", - "description": "Configures the virtual environment for a Python application", + "description": "Configures a custom virtual environment path for the Python application.", + "remarks": "This method updates the Python executable path to use the specified virtual environment.\nBy default (`createIfNotExists` = `true`), if the virtual environment doesn't exist,\nit will be automatically created before running the application (when using pip package manager, not uv).\nSet `createIfNotExists` to `false` to disable this behavior and require the venv to already exist.\nVirtual environments allow Python applications to have isolated dependencies separate from\nthe system Python installation. This is the recommended approach for Python applications.\nWhen you explicitly specify a virtual environment path using this method, the path is used verbatim.\nThe automatic multi-location lookup (checking both app and AppHost directories) only applies when\nusing the default \".venv\" path during initial app creation via AddPythonScript, AddPythonModule, or AddPythonExecutable.", + "returns": "A reference to the `IResourceBuilder`1` for method chaining.", "kind": "Method", "signature": "withVirtualEnvironment(virtualEnvironmentPath: string, createIfNotExists?: boolean): PythonAppResource", "parameters": [ { "name": "virtualEnvironmentPath", - "type": "string" + "type": "string", + "description": "The path to the virtual environment. Can be absolute or relative to the app directory. When relative, it is resolved from the working directory of the Python application. Common values include \".venv\", \"venv\", or \"myenv\"." }, { "name": "createIfNotExists", "type": "boolean", "isOptional": true, - "defaultValue": "True" + "defaultValue": "True", + "description": "Whether to automatically create the virtual environment if it doesn't exist. Defaults to `true`. Set to `false` to disable automatic venv creation (the venv must already exist)." } ], "returnType": "PythonAppResource", @@ -410,10 +466,25 @@ "name": "EntrypointType", "fullName": "Aspire.Hosting.Python.EntrypointType", "kind": "enum", + "description": "Specifies the type of entrypoint for a Python application.", "members": [ "Executable", "Script", "Module" + ], + "memberDocs": [ + { + "name": "Executable", + "description": "A standalone executable from the virtual environment (e.g., \"uvicorn\", \"flask\", \"pytest\")." + }, + { + "name": "Script", + "description": "A Python script file to execute directly (e.g., \"main.py\", \"app.py\")." + }, + { + "name": "Module", + "description": "A Python module to run via `python -m ` (e.g., \"flask\", \"uvicorn\")." + } ] } ] diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Qdrant.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Qdrant.13.3.0.json index 77b775057..3ccf6db25 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Qdrant.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Qdrant.13.3.0.json @@ -11,29 +11,35 @@ "capabilityId": "Aspire.Hosting.Qdrant/addQdrant", "qualifiedName": "addQdrant", "description": "Adds a Qdrant resource to the application. A container is used for local development.", + "remarks": "The .NET client library uses the gRPC port by default to communicate and this resource exposes that endpoint.\nThis version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addQdrant(name: string, apiKey?: ParameterResource, grpcPort?: number, httpPort?: number): QdrantServerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency" }, { "name": "apiKey", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The parameter used to provide the API Key for the Qdrant resource. If `null` a random key will be generated as {name}-Key." }, { "name": "grpcPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port of gRPC endpoint of Qdrant database." }, { "name": "httpPort", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port of HTTP endpoint of Qdrant database." } ], "returnType": "QdrantServerResource", @@ -47,7 +53,7 @@ "name": "apiKeyParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.apiKeyParameter", "qualifiedName": "QdrantServerResource.apiKeyParameter", - "description": "Gets the ApiKeyParameter property", + "description": "Gets the parameter that contains the Qdrant API key.", "kind": "PropertyGetter", "signature": "apiKeyParameter(): ParameterResource", "parameters": [], @@ -61,7 +67,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.connectionStringExpression", "qualifiedName": "QdrantServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Qdrant gRPC endpoint.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -75,7 +81,7 @@ "name": "grpcHost", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.grpcHost", "qualifiedName": "QdrantServerResource.grpcHost", - "description": "Gets the GrpcHost property", + "description": "Gets the host endpoint reference for the gRPC endpoint.", "kind": "PropertyGetter", "signature": "grpcHost(): EndpointReferenceExpression", "parameters": [], @@ -89,7 +95,7 @@ "name": "grpcPort", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.grpcPort", "qualifiedName": "QdrantServerResource.grpcPort", - "description": "Gets the GrpcPort property", + "description": "Gets the port endpoint reference for the gRPC endpoint.", "kind": "PropertyGetter", "signature": "grpcPort(): EndpointReferenceExpression", "parameters": [], @@ -103,7 +109,7 @@ "name": "httpConnectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.httpConnectionStringExpression", "qualifiedName": "QdrantServerResource.httpConnectionStringExpression", - "description": "Gets the HttpConnectionStringExpression property", + "description": "Gets the connection string expression for the Qdrant HTTP endpoint.", "kind": "PropertyGetter", "signature": "httpConnectionStringExpression(): ReferenceExpression", "parameters": [], @@ -117,7 +123,7 @@ "name": "httpEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.httpEndpoint", "qualifiedName": "QdrantServerResource.httpEndpoint", - "description": "Gets the HttpEndpoint property", + "description": "Gets the HTTP endpoint for the Qdrant database.", "kind": "PropertyGetter", "signature": "httpEndpoint(): EndpointReference", "parameters": [], @@ -131,7 +137,7 @@ "name": "httpHost", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.httpHost", "qualifiedName": "QdrantServerResource.httpHost", - "description": "Gets the HttpHost property", + "description": "Gets the host endpoint reference for the HTTP endpoint.", "kind": "PropertyGetter", "signature": "httpHost(): EndpointReferenceExpression", "parameters": [], @@ -145,7 +151,7 @@ "name": "httpPort", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.httpPort", "qualifiedName": "QdrantServerResource.httpPort", - "description": "Gets the HttpPort property", + "description": "Gets the port endpoint reference for the HTTP endpoint.", "kind": "PropertyGetter", "signature": "httpPort(): EndpointReferenceExpression", "parameters": [], @@ -159,7 +165,8 @@ "name": "httpUriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.httpUriExpression", "qualifiedName": "QdrantServerResource.httpUriExpression", - "description": "Gets the HttpUriExpression property", + "description": "Gets the connection URI expression for the Qdrant HTTP endpoint.", + "remarks": "Format: `http://{host}:{port}`. The scheme reflects the endpoint configuration and may be `https` when TLS is enabled.", "kind": "PropertyGetter", "signature": "httpUriExpression(): ReferenceExpression", "parameters": [], @@ -173,7 +180,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.primaryEndpoint", "qualifiedName": "QdrantServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the gRPC endpoint for the Qdrant database.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -187,7 +194,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.uriExpression", "qualifiedName": "QdrantServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Qdrant gRPC endpoint.", + "remarks": "Format: `http://{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -202,18 +210,21 @@ "capabilityId": "Aspire.Hosting.Qdrant/withDataBindMount", "qualifiedName": "withDataBindMount", "description": "Adds a bind mount for the data folder to a Qdrant container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): QdrantServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "QdrantServerResource", @@ -228,19 +239,22 @@ "capabilityId": "Aspire.Hosting.Qdrant/withDataVolume", "qualifiedName": "withDataVolume", "description": "Adds a named volume for the data folder to a Qdrant container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): QdrantServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the resource name." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "QdrantServerResource", @@ -257,6 +271,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.QdrantServerResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a Qdrant database.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -264,7 +279,7 @@ "Aspire.Hosting.ApplicationModel.IResource", "Aspire.Hosting.ApplicationModel.IResourceWithArgs", "Aspire.Hosting.ApplicationModel.IResourceWithConnectionString", - "Aspire.Hosting.ApplicationModel.IResourceWithCustomWithReference\u00601[[Aspire.Hosting.ApplicationModel.QdrantServerResource]]", + "Aspire.Hosting.ApplicationModel.IResourceWithCustomWithReference`1[[Aspire.Hosting.ApplicationModel.QdrantServerResource]]", "Aspire.Hosting.ApplicationModel.IResourceWithEndpoints", "Aspire.Hosting.ApplicationModel.IResourceWithEnvironment", "Aspire.Hosting.ApplicationModel.IResourceWithProbes", @@ -277,7 +292,7 @@ "name": "apiKeyParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.apiKeyParameter", "qualifiedName": "QdrantServerResource.apiKeyParameter", - "description": "Gets the ApiKeyParameter property", + "description": "Gets the parameter that contains the Qdrant API key.", "kind": "PropertyGetter", "signature": "apiKeyParameter(): ParameterResource", "parameters": [], @@ -291,7 +306,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.connectionStringExpression", "qualifiedName": "QdrantServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Qdrant gRPC endpoint.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -305,7 +320,7 @@ "name": "grpcHost", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.grpcHost", "qualifiedName": "QdrantServerResource.grpcHost", - "description": "Gets the GrpcHost property", + "description": "Gets the host endpoint reference for the gRPC endpoint.", "kind": "PropertyGetter", "signature": "grpcHost(): EndpointReferenceExpression", "parameters": [], @@ -319,7 +334,7 @@ "name": "grpcPort", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.grpcPort", "qualifiedName": "QdrantServerResource.grpcPort", - "description": "Gets the GrpcPort property", + "description": "Gets the port endpoint reference for the gRPC endpoint.", "kind": "PropertyGetter", "signature": "grpcPort(): EndpointReferenceExpression", "parameters": [], @@ -333,7 +348,7 @@ "name": "httpConnectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.httpConnectionStringExpression", "qualifiedName": "QdrantServerResource.httpConnectionStringExpression", - "description": "Gets the HttpConnectionStringExpression property", + "description": "Gets the connection string expression for the Qdrant HTTP endpoint.", "kind": "PropertyGetter", "signature": "httpConnectionStringExpression(): ReferenceExpression", "parameters": [], @@ -347,7 +362,7 @@ "name": "httpEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.httpEndpoint", "qualifiedName": "QdrantServerResource.httpEndpoint", - "description": "Gets the HttpEndpoint property", + "description": "Gets the HTTP endpoint for the Qdrant database.", "kind": "PropertyGetter", "signature": "httpEndpoint(): EndpointReference", "parameters": [], @@ -361,7 +376,7 @@ "name": "httpHost", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.httpHost", "qualifiedName": "QdrantServerResource.httpHost", - "description": "Gets the HttpHost property", + "description": "Gets the host endpoint reference for the HTTP endpoint.", "kind": "PropertyGetter", "signature": "httpHost(): EndpointReferenceExpression", "parameters": [], @@ -375,7 +390,7 @@ "name": "httpPort", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.httpPort", "qualifiedName": "QdrantServerResource.httpPort", - "description": "Gets the HttpPort property", + "description": "Gets the port endpoint reference for the HTTP endpoint.", "kind": "PropertyGetter", "signature": "httpPort(): EndpointReferenceExpression", "parameters": [], @@ -389,7 +404,8 @@ "name": "httpUriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.httpUriExpression", "qualifiedName": "QdrantServerResource.httpUriExpression", - "description": "Gets the HttpUriExpression property", + "description": "Gets the connection URI expression for the Qdrant HTTP endpoint.", + "remarks": "Format: `http://{host}:{port}`. The scheme reflects the endpoint configuration and may be `https` when TLS is enabled.", "kind": "PropertyGetter", "signature": "httpUriExpression(): ReferenceExpression", "parameters": [], @@ -403,7 +419,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.primaryEndpoint", "qualifiedName": "QdrantServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the gRPC endpoint for the Qdrant database.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -417,7 +433,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/QdrantServerResource.uriExpression", "qualifiedName": "QdrantServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Qdrant gRPC endpoint.", + "remarks": "Format: `http://{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -432,18 +449,21 @@ "capabilityId": "Aspire.Hosting.Qdrant/withDataBindMount", "qualifiedName": "withDataBindMount", "description": "Adds a bind mount for the data folder to a Qdrant container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): QdrantServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "QdrantServerResource", @@ -458,19 +478,22 @@ "capabilityId": "Aspire.Hosting.Qdrant/withDataVolume", "qualifiedName": "withDataVolume", "description": "Adds a named volume for the data folder to a Qdrant container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): QdrantServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the resource name." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "QdrantServerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.RabbitMQ.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.RabbitMQ.13.3.0.json index 47ccd4380..9e7d0c47e 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.RabbitMQ.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.RabbitMQ.13.3.0.json @@ -10,29 +10,35 @@ "name": "addRabbitMQ", "capabilityId": "Aspire.Hosting.RabbitMQ/addRabbitMQ", "qualifiedName": "addRabbitMQ", - "description": "Adds a RabbitMQ container resource", + "description": "Adds a RabbitMQ container to the application model.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addRabbitMQ(name: string, userName?: ParameterResource, password?: ParameterResource, port?: number): RabbitMQServerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "userName", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The parameter used to provide the user name for the RabbitMQ resource. If `null` a default value will be used." }, { "name": "password", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The parameter used to provide the password for the RabbitMQ resource. If `null` a random password will be generated." }, { "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port that the underlying container is bound to when running locally." } ], "returnType": "RabbitMQServerResource", @@ -46,7 +52,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.connectionStringExpression", "qualifiedName": "RabbitMQServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the RabbitMQ server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -60,7 +66,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.host", "qualifiedName": "RabbitMQServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -74,7 +80,7 @@ "name": "managementEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.managementEndpoint", "qualifiedName": "RabbitMQServerResource.managementEndpoint", - "description": "Gets the ManagementEndpoint property", + "description": "Gets the management endpoint for the RabbitMQ server.", "kind": "PropertyGetter", "signature": "managementEndpoint(): EndpointReference", "parameters": [], @@ -88,7 +94,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.passwordParameter", "qualifiedName": "RabbitMQServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the RabbitMQ server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -102,7 +108,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.port", "qualifiedName": "RabbitMQServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -116,7 +122,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.primaryEndpoint", "qualifiedName": "RabbitMQServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the RabbitMQ server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -130,7 +136,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.uriExpression", "qualifiedName": "RabbitMQServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the RabbitMQ server.", + "remarks": "Format: `amqp://{user}:{password}@{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -144,7 +151,7 @@ "name": "userNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.userNameParameter", "qualifiedName": "RabbitMQServerResource.userNameParameter", - "description": "Gets the UserNameParameter property", + "description": "Gets the parameter that contains the RabbitMQ server user name.", "kind": "PropertyGetter", "signature": "userNameParameter(): ParameterResource", "parameters": [], @@ -158,7 +165,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.userNameReference", "qualifiedName": "RabbitMQServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the RabbitMQ server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"guest\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -172,19 +180,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.RabbitMQ/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount to the RabbitMQ container", + "description": "Adds a bind mount for the data folder to a RabbitMQ container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): RabbitMQServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "RabbitMQServerResource", @@ -198,20 +209,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.RabbitMQ/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume to the RabbitMQ container", + "description": "Adds a named volume for the data folder to a RabbitMQ container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): RabbitMQServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "RabbitMQServerResource", @@ -250,6 +264,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.RabbitMQServerResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a RabbitMQ resource.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -269,7 +284,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.connectionStringExpression", "qualifiedName": "RabbitMQServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the RabbitMQ server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -283,7 +298,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.host", "qualifiedName": "RabbitMQServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -297,7 +312,7 @@ "name": "managementEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.managementEndpoint", "qualifiedName": "RabbitMQServerResource.managementEndpoint", - "description": "Gets the ManagementEndpoint property", + "description": "Gets the management endpoint for the RabbitMQ server.", "kind": "PropertyGetter", "signature": "managementEndpoint(): EndpointReference", "parameters": [], @@ -311,7 +326,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.passwordParameter", "qualifiedName": "RabbitMQServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the RabbitMQ server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -325,7 +340,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.port", "qualifiedName": "RabbitMQServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -339,7 +354,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.primaryEndpoint", "qualifiedName": "RabbitMQServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the RabbitMQ server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -353,7 +368,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.uriExpression", "qualifiedName": "RabbitMQServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the RabbitMQ server.", + "remarks": "Format: `amqp://{user}:{password}@{host}:{port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -367,7 +383,7 @@ "name": "userNameParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.userNameParameter", "qualifiedName": "RabbitMQServerResource.userNameParameter", - "description": "Gets the UserNameParameter property", + "description": "Gets the parameter that contains the RabbitMQ server user name.", "kind": "PropertyGetter", "signature": "userNameParameter(): ParameterResource", "parameters": [], @@ -381,7 +397,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/RabbitMQServerResource.userNameReference", "qualifiedName": "RabbitMQServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the RabbitMQ server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"guest\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -395,19 +412,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.RabbitMQ/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount to the RabbitMQ container", + "description": "Adds a bind mount for the data folder to a RabbitMQ container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): RabbitMQServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "RabbitMQServerResource", @@ -421,20 +441,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.RabbitMQ/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume to the RabbitMQ container", + "description": "Adds a named volume for the data folder to a RabbitMQ container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): RabbitMQServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "RabbitMQServerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Redis.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Redis.13.3.0.json index d0473dc6a..b08d8d6da 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Redis.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Redis.13.3.0.json @@ -10,24 +10,29 @@ "name": "addRedis", "capabilityId": "Aspire.Hosting.Redis/addRedis", "qualifiedName": "addRedis", - "description": "Adds a Redis container resource", + "description": "Adds a Redis container to the application model.", + "remarks": "This resource includes built-in health checks. When this resource is referenced as a dependency\nusing the `WaitFor``1`\nextension method then the dependent resource will wait until the Redis resource is able to service\nrequests.\nThis version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addRedis(name: string, port?: number, password?: ParameterResource): RedisResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port to bind the underlying container to." }, { "name": "password", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The parameter used to provide the password for the Redis resource. If `null` a random password will be generated." } ], "returnType": "RedisResource", @@ -41,7 +46,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.connectionStringExpression", "qualifiedName": "RedisResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Redis server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -55,7 +60,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.host", "qualifiedName": "RedisResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -69,7 +74,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.passwordParameter", "qualifiedName": "RedisResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the Redis server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -83,7 +88,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.port", "qualifiedName": "RedisResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -97,7 +102,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.primaryEndpoint", "qualifiedName": "RedisResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Redis server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -111,7 +116,7 @@ "name": "setPasswordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.setPasswordParameter", "qualifiedName": "RedisResource.setPasswordParameter", - "description": "Sets the PasswordParameter property", + "description": "Gets the parameter that contains the Redis server password.", "kind": "PropertySetter", "signature": "setPasswordParameter(value: ParameterResource): RedisResource", "parameters": [ @@ -130,7 +135,8 @@ "name": "tlsEnabled", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.tlsEnabled", "qualifiedName": "RedisResource.tlsEnabled", - "description": "Gets the TlsEnabled property", + "description": "Indicates whether TLS is enabled for the Redis server.", + "remarks": "This property proxies through to `TlsEnabled` on the\n`PrimaryEndpoint`. When set to `true`, the connection string\nexpression dynamically includes `,ssl=true` and the URI expression uses the\n`rediss://` 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 `BeforeStartEvent`).", "kind": "PropertyGetter", "signature": "tlsEnabled(): boolean", "parameters": [], @@ -144,7 +150,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.uriExpression", "qualifiedName": "RedisResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Redis server.", + "remarks": "Format: `redis://[:{password}@]{host}:{port}`. The password segment is omitted when no password is configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -158,19 +165,23 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Redis/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount with persistence", + "description": "Adds a bind mount for the data folder to a Redis container resource and enables Redis persistence.", + "remarks": "Use `WithPersistence` to adjust Redis persistence configuration, e.g.:\n```\nvar cache = builder.AddRedis(\"cache\")\n.WithDataBindMount(\"myredisdata\")\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): RedisResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount. Setting this to `true` will disable Redis persistence. Defaults to `false`." } ], "returnType": "RedisResource", @@ -184,13 +195,15 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Redis/withRedisInsightDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for Redis Insight", + "description": "Adds a bind mount for the data folder to a Redis Insight container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string): RedisInsightResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." } ], "returnType": "RedisInsightResource", @@ -204,20 +217,24 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Redis/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume with persistence", + "description": "Adds a named volume for the data folder to a Redis container resource and enables Redis persistence.", + "remarks": "Use `WithPersistence` to adjust Redis persistence configuration, e.g.:\n```\nvar cache = builder.AddRedis(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): RedisResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume. Setting this to `true` will disable Redis persistence. Defaults to `false`." } ], "returnType": "RedisResource", @@ -231,14 +248,16 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Redis/withRedisInsightDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for Redis Insight", + "description": "Adds a named volume for the data folder to a Redis Insight container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string): RedisInsightResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." } ], "returnType": "RedisInsightResource", @@ -252,14 +271,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Redis/withRedisCommanderHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for Redis Commander", + "description": "Configures the host port that the Redis Commander resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for RedisCommander.", "kind": "Method", "signature": "withHostPort(port: number): RedisCommanderResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "RedisCommanderResource", @@ -273,14 +294,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Redis/withRedisInsightHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for Redis Insight", + "description": "Configures the host port that the Redis Insight resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for RedisInsight.", "kind": "Method", "signature": "withHostPort(port: number): RedisInsightResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "RedisInsightResource", @@ -294,14 +317,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Redis/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for Redis", + "description": "Configures the host port that the Redis resource is exposed on instead of using randomly assigned port.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHostPort(port: number): RedisResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "RedisResource", @@ -315,13 +340,15 @@ "name": "withPassword", "capabilityId": "Aspire.Hosting.Redis/withPassword", "qualifiedName": "withPassword", - "description": "Configures the password for Redis", + "description": "Configures the password that the Redis resource is used.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPassword(password: ParameterResource): RedisResource", "parameters": [ { "name": "password", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The parameter used to provide the password for the Redis resource. If `null`, no password will be configured." } ], "returnType": "RedisResource", @@ -335,7 +362,9 @@ "name": "withPersistence", "capabilityId": "Aspire.Hosting.Redis/withPersistence", "qualifiedName": "withPersistence", - "description": "Configures Redis persistence", + "description": "Configures a Redis container resource for persistence.", + "remarks": "Use with `WithDataBindMount`\nor `WithDataVolume` to persist Redis data across sessions with custom persistence configuration, e.g.:\n```\nvar cache = builder.AddRedis(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPersistence(interval?: timespan, keysChangedThreshold?: number): RedisResource", "parameters": [ @@ -343,13 +372,15 @@ "name": "interval", "type": "timespan", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The interval between snapshot exports. Defaults to 60 seconds." }, { "name": "keysChangedThreshold", "type": "number", "isOptional": true, - "defaultValue": "1" + "defaultValue": "1", + "description": "The number of key change operations required to trigger a snapshot at the interval. Defaults to 1." } ], "returnType": "RedisResource", @@ -363,21 +394,24 @@ "name": "withRedisCommander", "capabilityId": "Aspire.Hosting.Redis/withRedisCommander", "qualifiedName": "withRedisCommander", - "description": "Adds Redis Commander management UI", + "description": "Configures a container resource for Redis Commander which is pre-configured to connect to the `RedisResource` that this method is used on.", + "remarks": "This version of the package defaults to the tag of the container image.", "kind": "Method", - "signature": "withRedisCommander(configureContainer?: (obj: RedisCommanderResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): RedisResource", + "signature": "withRedisCommander(configureContainer?: (obj: RedisCommanderResource) => Promise, containerName?: string): RedisResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: RedisCommanderResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: RedisCommanderResource) => Promise", + "description": "Configuration callback for Redis Commander container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Override the container name used for Redis Commander." } ], "returnType": "RedisResource", @@ -391,21 +425,24 @@ "name": "withRedisInsight", "capabilityId": "Aspire.Hosting.Redis/withRedisInsight", "qualifiedName": "withRedisInsight", - "description": "Adds Redis Insight management UI", + "description": "Configures a container resource for Redis Insight which is pre-configured to connect to the `RedisResource` that this method is used on.", + "remarks": "This version of the package defaults to the tag of the container image.", "kind": "Method", - "signature": "withRedisInsight(configureContainer?: (obj: RedisInsightResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): RedisResource", + "signature": "withRedisInsight(configureContainer?: (obj: RedisInsightResource) => Promise, containerName?: string): RedisResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: RedisInsightResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: RedisInsightResource) => Promise", + "description": "Configuration callback for Redis Insight container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Override the container name used for Redis Insight." } ], "returnType": "RedisResource", @@ -422,6 +459,8 @@ "fullName": "Aspire.Hosting.ApplicationModel.RedisResource", "kind": "handle", "exposeProperties": true, + "description": "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.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -441,7 +480,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.connectionStringExpression", "qualifiedName": "RedisResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Redis server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -455,7 +494,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.host", "qualifiedName": "RedisResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -469,7 +508,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.passwordParameter", "qualifiedName": "RedisResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the Redis server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -483,7 +522,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.port", "qualifiedName": "RedisResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -497,7 +536,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.primaryEndpoint", "qualifiedName": "RedisResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Redis server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -511,7 +550,7 @@ "name": "setPasswordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.setPasswordParameter", "qualifiedName": "RedisResource.setPasswordParameter", - "description": "Sets the PasswordParameter property", + "description": "Gets the parameter that contains the Redis server password.", "kind": "PropertySetter", "signature": "setPasswordParameter(value: ParameterResource): RedisResource", "parameters": [ @@ -530,7 +569,8 @@ "name": "tlsEnabled", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.tlsEnabled", "qualifiedName": "RedisResource.tlsEnabled", - "description": "Gets the TlsEnabled property", + "description": "Indicates whether TLS is enabled for the Redis server.", + "remarks": "This property proxies through to `TlsEnabled` on the\n`PrimaryEndpoint`. When set to `true`, the connection string\nexpression dynamically includes `,ssl=true` and the URI expression uses the\n`rediss://` 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 `BeforeStartEvent`).", "kind": "PropertyGetter", "signature": "tlsEnabled(): boolean", "parameters": [], @@ -544,7 +584,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/RedisResource.uriExpression", "qualifiedName": "RedisResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Redis server.", + "remarks": "Format: `redis://[:{password}@]{host}:{port}`. The password segment is omitted when no password is configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -558,19 +599,23 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Redis/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount with persistence", + "description": "Adds a bind mount for the data folder to a Redis container resource and enables Redis persistence.", + "remarks": "Use `WithPersistence` to adjust Redis persistence configuration, e.g.:\n```\nvar cache = builder.AddRedis(\"cache\")\n.WithDataBindMount(\"myredisdata\")\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): RedisResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount. Setting this to `true` will disable Redis persistence. Defaults to `false`." } ], "returnType": "RedisResource", @@ -584,20 +629,24 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Redis/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume with persistence", + "description": "Adds a named volume for the data folder to a Redis container resource and enables Redis persistence.", + "remarks": "Use `WithPersistence` to adjust Redis persistence configuration, e.g.:\n```\nvar cache = builder.AddRedis(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): RedisResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume. Setting this to `true` will disable Redis persistence. Defaults to `false`." } ], "returnType": "RedisResource", @@ -611,14 +660,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Redis/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for Redis", + "description": "Configures the host port that the Redis resource is exposed on instead of using randomly assigned port.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHostPort(port: number): RedisResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "RedisResource", @@ -632,13 +683,15 @@ "name": "withPassword", "capabilityId": "Aspire.Hosting.Redis/withPassword", "qualifiedName": "withPassword", - "description": "Configures the password for Redis", + "description": "Configures the password that the Redis resource is used.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPassword(password: ParameterResource): RedisResource", "parameters": [ { "name": "password", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The parameter used to provide the password for the Redis resource. If `null`, no password will be configured." } ], "returnType": "RedisResource", @@ -652,7 +705,9 @@ "name": "withPersistence", "capabilityId": "Aspire.Hosting.Redis/withPersistence", "qualifiedName": "withPersistence", - "description": "Configures Redis persistence", + "description": "Configures a Redis container resource for persistence.", + "remarks": "Use with `WithDataBindMount`\nor `WithDataVolume` to persist Redis data across sessions with custom persistence configuration, e.g.:\n```\nvar cache = builder.AddRedis(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPersistence(interval?: timespan, keysChangedThreshold?: number): RedisResource", "parameters": [ @@ -660,13 +715,15 @@ "name": "interval", "type": "timespan", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The interval between snapshot exports. Defaults to 60 seconds." }, { "name": "keysChangedThreshold", "type": "number", "isOptional": true, - "defaultValue": "1" + "defaultValue": "1", + "description": "The number of key change operations required to trigger a snapshot at the interval. Defaults to 1." } ], "returnType": "RedisResource", @@ -680,21 +737,24 @@ "name": "withRedisCommander", "capabilityId": "Aspire.Hosting.Redis/withRedisCommander", "qualifiedName": "withRedisCommander", - "description": "Adds Redis Commander management UI", + "description": "Configures a container resource for Redis Commander which is pre-configured to connect to the `RedisResource` that this method is used on.", + "remarks": "This version of the package defaults to the tag of the container image.", "kind": "Method", - "signature": "withRedisCommander(configureContainer?: (obj: RedisCommanderResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): RedisResource", + "signature": "withRedisCommander(configureContainer?: (obj: RedisCommanderResource) => Promise, containerName?: string): RedisResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: RedisCommanderResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: RedisCommanderResource) => Promise", + "description": "Configuration callback for Redis Commander container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Override the container name used for Redis Commander." } ], "returnType": "RedisResource", @@ -708,21 +768,24 @@ "name": "withRedisInsight", "capabilityId": "Aspire.Hosting.Redis/withRedisInsight", "qualifiedName": "withRedisInsight", - "description": "Adds Redis Insight management UI", + "description": "Configures a container resource for Redis Insight which is pre-configured to connect to the `RedisResource` that this method is used on.", + "remarks": "This version of the package defaults to the tag of the container image.", "kind": "Method", - "signature": "withRedisInsight(configureContainer?: (obj: RedisInsightResource) =\u003E Promise\u003Cvoid\u003E, containerName?: string): RedisResource", + "signature": "withRedisInsight(configureContainer?: (obj: RedisInsightResource) => Promise, containerName?: string): RedisResource", "parameters": [ { "name": "configureContainer", "type": "callback", "isOptional": true, "isCallback": true, - "callbackSignature": "(obj: RedisInsightResource) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: RedisInsightResource) => Promise", + "description": "Configuration callback for Redis Insight container resource." }, { "name": "containerName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "Override the container name used for Redis Insight." } ], "returnType": "RedisResource", @@ -752,14 +815,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Redis/withRedisCommanderHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for Redis Commander", + "description": "Configures the host port that the Redis Commander resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for RedisCommander.", "kind": "Method", "signature": "withHostPort(port: number): RedisCommanderResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "RedisCommanderResource", @@ -789,13 +854,15 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Redis/withRedisInsightDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for Redis Insight", + "description": "Adds a bind mount for the data folder to a Redis Insight container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string): RedisInsightResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." } ], "returnType": "RedisInsightResource", @@ -809,14 +876,16 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Redis/withRedisInsightDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for Redis Insight", + "description": "Adds a named volume for the data folder to a Redis Insight container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string): RedisInsightResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." } ], "returnType": "RedisInsightResource", @@ -830,14 +899,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.Redis/withRedisInsightHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for Redis Insight", + "description": "Configures the host port that the Redis Insight resource is exposed on instead of using randomly assigned port.", + "returns": "The resource builder for RedisInsight.", "kind": "Method", "signature": "withHostPort(port: number): RedisInsightResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "RedisInsightResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Seq.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Seq.13.3.0.json index 5310f4bbf..7e6ce1f8d 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Seq.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Seq.13.3.0.json @@ -10,23 +10,27 @@ "name": "addSeq", "capabilityId": "Aspire.Hosting.Seq/addSeq", "qualifiedName": "addSeq", - "description": "Adds a Seq server container resource", + "description": "Adds a Seq server resource to the application model with authentication enabled. A container is used for local development.", + "remarks": "This version of the package defaults to the tag of the container image.", "kind": "Method", "signature": "addSeq(name: string, adminPassword: ParameterResource, port?: number): SeqResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name to give the resource." }, { "name": "adminPassword", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The admin password for Seq. If not provided, authentication will be disabled." }, { "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port for the Seq server." } ], "returnType": "SeqResource", @@ -40,7 +44,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/SeqResource.connectionStringExpression", "qualifiedName": "SeqResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Seq server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -54,7 +58,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/SeqResource.host", "qualifiedName": "SeqResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -68,7 +72,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/SeqResource.port", "qualifiedName": "SeqResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -82,7 +86,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/SeqResource.primaryEndpoint", "qualifiedName": "SeqResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Seq server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -96,7 +100,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/SeqResource.uriExpression", "qualifiedName": "SeqResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Seq server.", + "remarks": "Format: `http://{host}:{port}`. The scheme reflects the endpoint configuration and may be `https` when TLS is enabled.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -110,19 +115,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Seq/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for Seq", + "description": "Adds a bind mount for the data folder to a Seq container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): SeqResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "SeqResource", @@ -136,20 +144,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Seq/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for Seq", + "description": "Adds a named volume for the data folder to a Seq container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): SeqResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "SeqResource", @@ -166,6 +177,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.SeqResource", "kind": "handle", "exposeProperties": true, + "description": "An Aspire resource that is a Seq server.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -185,7 +197,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/SeqResource.connectionStringExpression", "qualifiedName": "SeqResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Seq server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -199,7 +211,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/SeqResource.host", "qualifiedName": "SeqResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -213,7 +225,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/SeqResource.port", "qualifiedName": "SeqResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -227,7 +239,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/SeqResource.primaryEndpoint", "qualifiedName": "SeqResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Seq server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -241,7 +253,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/SeqResource.uriExpression", "qualifiedName": "SeqResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Seq server.", + "remarks": "Format: `http://{host}:{port}`. The scheme reflects the endpoint configuration and may be `https` when TLS is enabled.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -255,19 +268,22 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Seq/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for Seq", + "description": "Adds a bind mount for the data folder to a Seq container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): SeqResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "SeqResource", @@ -281,20 +297,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Seq/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for Seq", + "description": "Adds a named volume for the data folder to a Seq container resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): SeqResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "SeqResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.SqlServer.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.SqlServer.13.3.0.json index 51595581f..e98535c74 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.SqlServer.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.SqlServer.13.3.0.json @@ -10,18 +10,22 @@ "name": "addDatabase", "capabilityId": "Aspire.Hosting.SqlServer/addDatabase", "qualifiedName": "addDatabase", - "description": "Adds a SQL Server database resource", + "description": "Adds a SQL Server database to the application model. This is a child resource of a `SqlServerServerResource`.", + "remarks": "When adding a `SqlServerDatabaseResource` to your application model the resource can then\nbe referenced by other resources using the resource name. When the dependent resource is using\nthe extension method `WaitFor``1`\nthen the dependent resource will wait until the SQL Server database is available.\nNote that calling `AddDatabase`\nwill result in the database being created on the SQL Server when the server becomes ready.\nThe database creation happens automatically as part of the resource lifecycle.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addDatabase(name: string, databaseName?: string): SqlServerDatabaseResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "databaseName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the database. If not provided, this defaults to the same value as `name`." } ], "returnType": "SqlServerDatabaseResource", @@ -35,24 +39,29 @@ "name": "addSqlServer", "capabilityId": "Aspire.Hosting.SqlServer/addSqlServer", "qualifiedName": "addSqlServer", - "description": "Adds a SQL Server container resource", + "description": "Adds a SQL Server resource to the application model. A container is used for local development.", + "remarks": "This version of the package defaults to the tag of the / container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addSqlServer(name: string, password?: ParameterResource, port?: number): SqlServerServerResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "password", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The parameter used to provide the administrator password for the SQL Server resource. If `null` a random password will be generated." }, { "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port for the SQL Server." } ], "returnType": "SqlServerServerResource", @@ -66,7 +75,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerDatabaseResource.connectionStringExpression", "qualifiedName": "SqlServerDatabaseResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the SQL Server database.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -80,7 +89,7 @@ "name": "databaseName", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerDatabaseResource.databaseName", "qualifiedName": "SqlServerDatabaseResource.databaseName", - "description": "Gets the DatabaseName property", + "description": "Gets the database name.", "kind": "PropertyGetter", "signature": "databaseName(): string", "parameters": [], @@ -94,7 +103,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerDatabaseResource.jdbcConnectionString", "qualifiedName": "SqlServerDatabaseResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the SQL Server database.", + "remarks": "Format: `jdbc:sqlserver://{host}:{port};trustServerCertificate=true;databaseName={database}`.\nUser and password credentials are not included in the JDBC connection string. Use the `Username` and `Password` connection properties to access credentials.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -108,7 +118,7 @@ "name": "parent", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerDatabaseResource.parent", "qualifiedName": "SqlServerDatabaseResource.parent", - "description": "Gets the Parent property", + "description": "Gets the parent SQL Server container resource.", "kind": "PropertyGetter", "signature": "parent(): SqlServerServerResource", "parameters": [], @@ -122,7 +132,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerDatabaseResource.uriExpression", "qualifiedName": "SqlServerDatabaseResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the SQL Server database.", + "remarks": "Format: `mssql://{Username}:{Password}@{Host}:{Port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -136,7 +147,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.connectionStringExpression", "qualifiedName": "SqlServerServerResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the SQL Server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -150,11 +161,11 @@ "name": "databases", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.databases", "qualifiedName": "SqlServerServerResource.databases", - "description": "Gets the Databases property", + "description": "A dictionary where the key is the resource name and the value is the database name.", "kind": "PropertyGetter", - "signature": "databases(): Dict\u003Cstring,string\u003E", + "signature": "databases(): Dict", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource", "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.SqlServerServerResource" @@ -164,7 +175,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.host", "qualifiedName": "SqlServerServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -178,7 +189,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.jdbcConnectionString", "qualifiedName": "SqlServerServerResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the SQL Server.", + "remarks": "Format: `jdbc:sqlserver://{host}:{port};trustServerCertificate=true`.\nUser and password credentials are not included in the JDBC connection string. Use the `Username` and `Password` connection properties to access credentials.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -192,7 +204,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.passwordParameter", "qualifiedName": "SqlServerServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the SQL Server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -206,7 +218,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.port", "qualifiedName": "SqlServerServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -220,7 +232,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.primaryEndpoint", "qualifiedName": "SqlServerServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the SQL Server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -234,7 +246,7 @@ "name": "setPasswordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.setPasswordParameter", "qualifiedName": "SqlServerServerResource.setPasswordParameter", - "description": "Sets the PasswordParameter property", + "description": "Gets the parameter that contains the SQL Server password.", "kind": "PropertySetter", "signature": "setPasswordParameter(value: ParameterResource): SqlServerServerResource", "parameters": [ @@ -253,7 +265,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.uriExpression", "qualifiedName": "SqlServerServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the SQL Server.", + "remarks": "Format: `mssql://{Username}:{Password}@{Host}:{Port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -267,7 +280,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.userNameReference", "qualifiedName": "SqlServerServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the SQL Server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"sa\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -281,13 +295,16 @@ "name": "withCreationScript", "capabilityId": "Aspire.Hosting.SqlServer/withCreationScript", "qualifiedName": "withCreationScript", - "description": "Defines the SQL script used to create the database", + "description": "Defines the SQL script used to create the database.", + "remarks": "Default script is\n```\nIF ( NOT EXISTS ( SELECT 1 FROM sys.databases WHERE name = @DatabaseName ) ) CREATE DATABASE [", "parameters": [], - "returnType": "Dict\u003Cstring,string\u003E", + "returnType": "Dict", "targetTypeId": "Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource", "expandedTargetTypes": [ "Aspire.Hosting.ApplicationModel.SqlServerServerResource" @@ -578,7 +617,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.host", "qualifiedName": "SqlServerServerResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -592,7 +631,8 @@ "name": "jdbcConnectionString", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.jdbcConnectionString", "qualifiedName": "SqlServerServerResource.jdbcConnectionString", - "description": "Gets the JdbcConnectionString property", + "description": "Gets the JDBC connection string for the SQL Server.", + "remarks": "Format: `jdbc:sqlserver://{host}:{port};trustServerCertificate=true`.\nUser and password credentials are not included in the JDBC connection string. Use the `Username` and `Password` connection properties to access credentials.", "kind": "PropertyGetter", "signature": "jdbcConnectionString(): ReferenceExpression", "parameters": [], @@ -606,7 +646,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.passwordParameter", "qualifiedName": "SqlServerServerResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the SQL Server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -620,7 +660,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.port", "qualifiedName": "SqlServerServerResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -634,7 +674,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.primaryEndpoint", "qualifiedName": "SqlServerServerResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the SQL Server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -648,7 +688,7 @@ "name": "setPasswordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.setPasswordParameter", "qualifiedName": "SqlServerServerResource.setPasswordParameter", - "description": "Sets the PasswordParameter property", + "description": "Gets the parameter that contains the SQL Server password.", "kind": "PropertySetter", "signature": "setPasswordParameter(value: ParameterResource): SqlServerServerResource", "parameters": [ @@ -667,7 +707,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.uriExpression", "qualifiedName": "SqlServerServerResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the SQL Server.", + "remarks": "Format: `mssql://{Username}:{Password}@{Host}:{Port}`.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -681,7 +722,8 @@ "name": "userNameReference", "capabilityId": "Aspire.Hosting.ApplicationModel/SqlServerServerResource.userNameReference", "qualifiedName": "SqlServerServerResource.userNameReference", - "description": "Gets the UserNameReference property", + "description": "Gets a reference to the user name for the SQL Server.", + "remarks": "Returns the user name parameter if specified, otherwise returns the default user name \"sa\".", "kind": "PropertyGetter", "signature": "userNameReference(): ReferenceExpression", "parameters": [], @@ -695,19 +737,23 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.SqlServer/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a bind mount for the SQL Server data folder", + "description": "Adds a bind mount for the data folder to a SQL Server resource.", + "remarks": "The container starts up as non-root and the `source` directory must be readable by the user that the container runs as.\nhttps://learn.microsoft.com/sql/linux/sql-server-linux-docker-container-configure?view=sql-server-ver16&pivots=cs1-bash#mount-a-host-directory-as-data-volume", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): SqlServerServerResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount." } ], "returnType": "SqlServerServerResource", @@ -721,20 +767,23 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.SqlServer/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a named volume for the SQL Server data folder", + "description": "Adds a named volume for the data folder to a SQL Server resource.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): SqlServerServerResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume." } ], "returnType": "SqlServerServerResource", @@ -748,14 +797,16 @@ "name": "withHostPort", "capabilityId": "Aspire.Hosting.SqlServer/withHostPort", "qualifiedName": "withHostPort", - "description": "Sets the host port for the SQL Server resource", + "description": "Configures the host port that the SqlServer resource is exposed on instead of using randomly assigned port.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withHostPort(port: number): SqlServerServerResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "SqlServerServerResource", @@ -769,13 +820,15 @@ "name": "withPassword", "capabilityId": "Aspire.Hosting.SqlServer/withPassword", "qualifiedName": "withPassword", - "description": "Configures the password for the SQL Server resource", + "description": "Configures the password that the SqlServer resource is used.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPassword(password: ParameterResource): SqlServerServerResource", "parameters": [ { "name": "password", - "type": "ParameterResource" + "type": "ParameterResource", + "description": "The parameter used to provide the password for the SqlServer resource." } ], "returnType": "SqlServerServerResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Testing.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Testing.13.3.0.json index 17348c68f..4b4c6d059 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Testing.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Testing.13.3.0.json @@ -11,12 +11,14 @@ "capabilityId": "Aspire.Hosting.Testing/getConnectionString", "qualifiedName": "getConnectionString", "description": "Gets the connection string for the specified resource.", + "returns": "The connection string for the specified resource.", "kind": "Method", "signature": "getConnectionString(resourceName: string): string", "parameters": [ { "name": "resourceName", - "type": "string" + "type": "string", + "description": "The resource name." } ], "returnType": "string", @@ -30,17 +32,20 @@ "capabilityId": "Aspire.Hosting.Testing/getEndpoint", "qualifiedName": "getEndpoint", "description": "Gets the endpoint for the specified resource.", + "returns": "A URI representation of the endpoint.", "kind": "Method", "signature": "getEndpoint(resourceName: string, endpointName?: string): uri", "parameters": [ { "name": "resourceName", - "type": "string" + "type": "string", + "description": "The resource name." }, { "name": "endpointName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The optional endpoint name. If none are specified, the single defined endpoint is returned." } ], "returnType": "uri", @@ -54,22 +59,26 @@ "capabilityId": "Aspire.Hosting.Testing/getEndpointForNetworkExport", "qualifiedName": "getEndpointForNetworkExport", "description": "Gets the endpoint for the specified resource in the specified network context.", + "returns": "A URI representation of the endpoint.", "kind": "Method", "signature": "getEndpointForNetworkExport(resourceName: string, networkIdentifier?: string, endpointName?: string): uri", "parameters": [ { "name": "resourceName", - "type": "string" + "type": "string", + "description": "The resource name." }, { "name": "networkIdentifier", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The optional network identifier string. If none is specified, the default network is used." }, { "name": "endpointName", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The optional endpoint name. If none are specified, the single defined endpoint is returned." } ], "returnType": "uri", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Valkey.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Valkey.13.3.0.json index 975a3f592..274a077c7 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Valkey.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Valkey.13.3.0.json @@ -10,24 +10,29 @@ "name": "addValkey", "capabilityId": "Aspire.Hosting.Valkey/addValkey", "qualifiedName": "addValkey", - "description": "Adds a Valkey container resource", + "description": "Adds a Valkey container to the application model.", + "remarks": "This version of the package defaults to the tag of the container image.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addValkey(name: string, port?: number, password?: ParameterResource): ValkeyResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." }, { "name": "port", "type": "number", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The host port to bind the underlying container to." }, { "name": "password", "type": "ParameterResource", - "isOptional": true + "isOptional": true, + "description": "The parameter used to provide the password for the Valkey resource. If `null` a random password will be generated." } ], "returnType": "ValkeyResource", @@ -41,7 +46,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.connectionStringExpression", "qualifiedName": "ValkeyResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Valkey server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -55,7 +60,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.host", "qualifiedName": "ValkeyResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -69,7 +74,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.passwordParameter", "qualifiedName": "ValkeyResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the Valkey server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -83,7 +88,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.port", "qualifiedName": "ValkeyResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -97,7 +102,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.primaryEndpoint", "qualifiedName": "ValkeyResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Valkey server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -111,7 +116,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.uriExpression", "qualifiedName": "ValkeyResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Valkey server.", + "remarks": "Format: `valkey://[:{password}@]{host}:{port}`. The password segment is omitted when no password is configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -125,19 +131,23 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Valkey/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for Valkey and enables persistence", + "description": "Adds a bind mount for the data folder to a Valkey container resource and enables Valkey persistence.", + "remarks": "Use `WithPersistence` to adjust Valkey persistence configuration, e.g.:\n```\nvar valkey = builder.AddValkey(\"valkey\")\n.WithDataBindMount(\"mydata\")\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): ValkeyResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount. Setting this to `true` will disable Valkey persistence. Defaults to `false`." } ], "returnType": "ValkeyResource", @@ -151,20 +161,24 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Valkey/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for Valkey and enables persistence", + "description": "Adds a named volume for the data folder to a Valkey container resource and enables Valkey persistence.", + "remarks": "Use `WithPersistence` to adjust Valkey persistence configuration, e.g.:\n```\nvar cache = builder.AddValkey(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): ValkeyResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume. Setting this to `true` will disable Valkey persistence. Defaults to `false`." } ], "returnType": "ValkeyResource", @@ -178,7 +192,9 @@ "name": "withPersistence", "capabilityId": "Aspire.Hosting.Valkey/withPersistence", "qualifiedName": "withPersistence", - "description": "Configures Valkey persistence", + "description": "Configures a Valkey container resource for persistence.", + "remarks": "Use with `WithDataBindMount`\nor `WithDataVolume` to persist Valkey data across sessions with custom persistence configuration, e.g.:\n```\nvar cache = builder.AddValkey(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPersistence(interval?: timespan, keysChangedThreshold?: number): ValkeyResource", "parameters": [ @@ -186,13 +202,15 @@ "name": "interval", "type": "timespan", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The interval between snapshot exports. Defaults to 60 seconds." }, { "name": "keysChangedThreshold", "type": "number", "isOptional": true, - "defaultValue": "1" + "defaultValue": "1", + "description": "The number of key change operations required to trigger a snapshot at the interval. Defaults to 1." } ], "returnType": "ValkeyResource", @@ -209,6 +227,7 @@ "fullName": "Aspire.Hosting.ApplicationModel.ValkeyResource", "kind": "handle", "exposeProperties": true, + "description": "A resource that represents a Valkey resource independent of the hosting model.", "implementedInterfaces": [ "Aspire.Hosting.ApplicationModel.IComputeResource", "Aspire.Hosting.ApplicationModel.IExpressionValue", @@ -228,7 +247,7 @@ "name": "connectionStringExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.connectionStringExpression", "qualifiedName": "ValkeyResource.connectionStringExpression", - "description": "Gets the ConnectionStringExpression property", + "description": "Gets the connection string expression for the Valkey server.", "kind": "PropertyGetter", "signature": "connectionStringExpression(): ReferenceExpression", "parameters": [], @@ -242,7 +261,7 @@ "name": "host", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.host", "qualifiedName": "ValkeyResource.host", - "description": "Gets the Host property", + "description": "Gets the host endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "host(): EndpointReferenceExpression", "parameters": [], @@ -256,7 +275,7 @@ "name": "passwordParameter", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.passwordParameter", "qualifiedName": "ValkeyResource.passwordParameter", - "description": "Gets the PasswordParameter property", + "description": "Gets the parameter that contains the Valkey server password.", "kind": "PropertyGetter", "signature": "passwordParameter(): ParameterResource", "parameters": [], @@ -270,7 +289,7 @@ "name": "port", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.port", "qualifiedName": "ValkeyResource.port", - "description": "Gets the Port property", + "description": "Gets the port endpoint reference for this resource.", "kind": "PropertyGetter", "signature": "port(): EndpointReferenceExpression", "parameters": [], @@ -284,7 +303,7 @@ "name": "primaryEndpoint", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.primaryEndpoint", "qualifiedName": "ValkeyResource.primaryEndpoint", - "description": "Gets the PrimaryEndpoint property", + "description": "Gets the primary endpoint for the Valkey server.", "kind": "PropertyGetter", "signature": "primaryEndpoint(): EndpointReference", "parameters": [], @@ -298,7 +317,8 @@ "name": "uriExpression", "capabilityId": "Aspire.Hosting.ApplicationModel/ValkeyResource.uriExpression", "qualifiedName": "ValkeyResource.uriExpression", - "description": "Gets the UriExpression property", + "description": "Gets the connection URI expression for the Valkey server.", + "remarks": "Format: `valkey://[:{password}@]{host}:{port}`. The password segment is omitted when no password is configured.", "kind": "PropertyGetter", "signature": "uriExpression(): ReferenceExpression", "parameters": [], @@ -312,19 +332,23 @@ "name": "withDataBindMount", "capabilityId": "Aspire.Hosting.Valkey/withDataBindMount", "qualifiedName": "withDataBindMount", - "description": "Adds a data bind mount for Valkey and enables persistence", + "description": "Adds a bind mount for the data folder to a Valkey container resource and enables Valkey persistence.", + "remarks": "Use `WithPersistence` to adjust Valkey persistence configuration, e.g.:\n```\nvar valkey = builder.AddValkey(\"valkey\")\n.WithDataBindMount(\"mydata\")\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataBindMount(source: string, isReadOnly?: boolean): ValkeyResource", "parameters": [ { "name": "source", - "type": "string" + "type": "string", + "description": "The source directory on the host to mount into the container." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only mount. Setting this to `true` will disable Valkey persistence. Defaults to `false`." } ], "returnType": "ValkeyResource", @@ -338,20 +362,24 @@ "name": "withDataVolume", "capabilityId": "Aspire.Hosting.Valkey/withDataVolume", "qualifiedName": "withDataVolume", - "description": "Adds a data volume for Valkey and enables persistence", + "description": "Adds a named volume for the data folder to a Valkey container resource and enables Valkey persistence.", + "remarks": "Use `WithPersistence` to adjust Valkey persistence configuration, e.g.:\n```\nvar cache = builder.AddValkey(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withDataVolume(name?: string, isReadOnly?: boolean): ValkeyResource", "parameters": [ { "name": "name", "type": "string", - "isOptional": true + "isOptional": true, + "description": "The name of the volume. Defaults to an auto-generated name based on the application and resource names." }, { "name": "isReadOnly", "type": "boolean", "isOptional": true, - "defaultValue": "False" + "defaultValue": "False", + "description": "A flag that indicates if this is a read-only volume. Setting this to `true` will disable Valkey persistence. Defaults to `false`." } ], "returnType": "ValkeyResource", @@ -365,7 +393,9 @@ "name": "withPersistence", "capabilityId": "Aspire.Hosting.Valkey/withPersistence", "qualifiedName": "withPersistence", - "description": "Configures Valkey persistence", + "description": "Configures a Valkey container resource for persistence.", + "remarks": "Use with `WithDataBindMount`\nor `WithDataVolume` to persist Valkey data across sessions with custom persistence configuration, e.g.:\n```\nvar cache = builder.AddValkey(\"cache\")\n.WithDataVolume()\n.WithPersistence(TimeSpan.FromSeconds(10), 5);\n```", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withPersistence(interval?: timespan, keysChangedThreshold?: number): ValkeyResource", "parameters": [ @@ -373,13 +403,15 @@ "name": "interval", "type": "timespan", "isOptional": true, - "isNullable": true + "isNullable": true, + "description": "The interval between snapshot exports. Defaults to 60 seconds." }, { "name": "keysChangedThreshold", "type": "number", "isOptional": true, - "defaultValue": "1" + "defaultValue": "1", + "description": "The number of key change operations required to trigger a snapshot at the interval. Defaults to 1." } ], "returnType": "ValkeyResource", diff --git a/src/frontend/src/data/ts-modules/Aspire.Hosting.Yarp.13.3.0.json b/src/frontend/src/data/ts-modules/Aspire.Hosting.Yarp.13.3.0.json index 2cd6296bc..c10779e8b 100644 --- a/src/frontend/src/data/ts-modules/Aspire.Hosting.Yarp.13.3.0.json +++ b/src/frontend/src/data/ts-modules/Aspire.Hosting.Yarp.13.3.0.json @@ -10,13 +10,15 @@ "name": "addCatchAllRoute", "capabilityId": "Aspire.Hosting.Yarp/addCatchAllRoute", "qualifiedName": "addCatchAllRoute", - "description": "Adds a YARP catch-all route for a cluster, endpoint, resource, or string destination target.", + "description": "Adds a catch-all route for a cluster, endpoint, resource, or string destination target.", + "returns": "The created route.", "kind": "Method", "signature": "addCatchAllRoute(target: ExternalServiceResource|string): YarpRoute", "parameters": [ { "name": "target", - "type": "ExternalServiceResource|string" + "type": "ExternalServiceResource|string", + "description": "The target cluster, endpoint, resource, or string destination for this route." } ], "returnType": "YarpRoute", @@ -29,13 +31,15 @@ "name": "addClusterFromEndpoint", "capabilityId": "Aspire.Hosting.Yarp/addClusterFromEndpoint", "qualifiedName": "addClusterFromEndpoint", - "description": "Adds a YARP cluster for an endpoint reference.", + "description": "Adds a cluster for an endpoint reference.", + "returns": "The created cluster.", "kind": "Method", "signature": "addClusterFromEndpoint(endpoint: EndpointReference): YarpCluster", "parameters": [ { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint target for this cluster." } ], "returnType": "YarpCluster", @@ -48,13 +52,15 @@ "name": "addClusterFromExternalService", "capabilityId": "Aspire.Hosting.Yarp/addClusterFromExternalService", "qualifiedName": "addClusterFromExternalService", - "description": "Adds a YARP cluster for an external service resource.", + "description": "Adds a cluster for an external service resource.", + "returns": "The created cluster.", "kind": "Method", "signature": "addClusterFromExternalService(externalService: ExternalServiceResource): YarpCluster", "parameters": [ { "name": "externalService", - "type": "ExternalServiceResource" + "type": "ExternalServiceResource", + "description": "The external service used by this cluster." } ], "returnType": "YarpCluster", @@ -67,13 +73,15 @@ "name": "addClusterFromResource", "capabilityId": "Aspire.Hosting.Yarp/addClusterFromResource", "qualifiedName": "addClusterFromResource", - "description": "Adds a YARP cluster for a resource that supports service discovery.", + "description": "Adds a cluster for a resource that supports service discovery.", + "returns": "The created cluster.", "kind": "Method", "signature": "addClusterFromResource(resource: IResourceWithServiceDiscovery): YarpCluster", "parameters": [ { "name": "resource", - "type": "IResourceWithServiceDiscovery" + "type": "IResourceWithServiceDiscovery", + "description": "The resource target for this cluster." } ], "returnType": "YarpCluster", @@ -86,17 +94,20 @@ "name": "addClusterWithDestination", "capabilityId": "Aspire.Hosting.Yarp/addClusterWithDestination", "qualifiedName": "addClusterWithDestination", - "description": "Adds a YARP cluster with a single destination.", + "description": "Adds a cluster from a single destination.", + "returns": "The created cluster.", "kind": "Method", "signature": "addClusterWithDestination(clusterName: string, destination: any): YarpCluster", "parameters": [ { "name": "clusterName", - "type": "string" + "type": "string", + "description": "The name of the cluster." }, { "name": "destination", - "type": "any" + "type": "any", + "description": "The destination used by this cluster." } ], "returnType": "YarpCluster", @@ -109,17 +120,20 @@ "name": "addClusterWithDestinations", "capabilityId": "Aspire.Hosting.Yarp/addClusterWithDestinations", "qualifiedName": "addClusterWithDestinations", - "description": "Adds a YARP cluster with multiple destinations.", + "description": "Adds a cluster from multiple destinations.", + "returns": "The created cluster.", "kind": "Method", "signature": "addClusterWithDestinations(clusterName: string, destinations: any[]): YarpCluster", "parameters": [ { "name": "clusterName", - "type": "string" + "type": "string", + "description": "The name of the cluster." }, { "name": "destinations", - "type": "any[]" + "type": "any[]", + "description": "The destinations used by this cluster." } ], "returnType": "YarpCluster", @@ -132,17 +146,20 @@ "name": "addRoute", "capabilityId": "Aspire.Hosting.Yarp/addRoute", "qualifiedName": "addRoute", - "description": "Adds a YARP route for a cluster, endpoint, resource, or string destination target.", + "description": "Adds a route for a cluster, endpoint, resource, or string destination target.", + "returns": "The created route.", "kind": "Method", "signature": "addRoute(path: string, target: ExternalServiceResource|string): YarpRoute", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "The path to match for this route." }, { "name": "target", - "type": "ExternalServiceResource|string" + "type": "ExternalServiceResource|string", + "description": "The target cluster, endpoint, resource, or string destination for this route." } ], "returnType": "YarpRoute", @@ -156,12 +173,14 @@ "capabilityId": "Aspire.Hosting.Yarp/addYarp", "qualifiedName": "addYarp", "description": "Adds a YARP container to the application model.", + "returns": "A reference to the `IResourceBuilder`1`.", "kind": "Method", "signature": "addYarp(name: string): YarpResource", "parameters": [ { "name": "name", - "type": "string" + "type": "string", + "description": "The name of the resource. This name will be used as the connection string name when referenced in a dependency." } ], "returnType": "YarpResource", @@ -176,12 +195,14 @@ "capabilityId": "Aspire.Hosting.Yarp/publishWithStaticFiles", "qualifiedName": "publishWithStaticFiles", "description": "In publish mode, generates a Dockerfile that copies static files from the specified resource into /app/wwwroot.", + "returns": "The updated resource builder.", "kind": "Method", "signature": "publishWithStaticFiles(resourceWithFiles: IResourceWithContainerFiles): YarpResource", "parameters": [ { "name": "resourceWithFiles", - "type": "IResourceWithContainerFiles" + "type": "IResourceWithContainerFiles", + "description": "The resource with container files." } ], "returnType": "YarpResource", @@ -197,13 +218,14 @@ "qualifiedName": "withConfiguration", "description": "Configure the YARP resource.", "kind": "Method", - "signature": "withConfiguration(configurationBuilder: (obj: IYarpConfigurationBuilder) =\u003E Promise\u003Cvoid\u003E): YarpResource", + "signature": "withConfiguration(configurationBuilder: (obj: IYarpConfigurationBuilder) => Promise): YarpResource", "parameters": [ { "name": "configurationBuilder", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: IYarpConfigurationBuilder) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: IYarpConfigurationBuilder) => Promise", + "description": "The delegate to configure YARP." } ], "returnType": "YarpResource", @@ -217,7 +239,7 @@ "name": "withForwarderRequestConfig", "capabilityId": "Aspire.Hosting.Yarp/withForwarderRequestConfig", "qualifiedName": "withForwarderRequestConfig", - "description": "Sets the forwarder request configuration for the cluster.", + "description": "Set the forwarder request configuration for the cluster.", "kind": "Method", "signature": "withForwarderRequestConfig(config: YarpForwarderRequestConfig): YarpCluster", "parameters": [ @@ -236,7 +258,7 @@ "name": "withHealthCheckConfig", "capabilityId": "Aspire.Hosting.Yarp/withHealthCheckConfig", "qualifiedName": "withHealthCheckConfig", - "description": "Sets the health check configuration for the cluster.", + "description": "Set the health check configuration for the cluster.", "kind": "Method", "signature": "withHealthCheckConfig(config: YarpHealthCheckConfig): YarpCluster", "parameters": [ @@ -255,14 +277,16 @@ "name": "withHostHttpsPort", "capabilityId": "Aspire.Hosting.Yarp/withHostHttpsPort", "qualifiedName": "withHostHttpsPort", - "description": "Configures the host HTTPS port that the YARP resource is exposed on instead of using randomly assigned port.", + "description": "Configures the host HTTPS port that the YARP resource is exposed on instead of using randomly assigned port. This will only have effect if an HTTPS endpoint is configured on the YARP resource due to TLS termination being enabled.", + "returns": "The updated resource builder.", "kind": "Method", "signature": "withHostHttpsPort(port: number): YarpResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "YarpResource", @@ -283,7 +307,8 @@ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "YarpResource", @@ -297,7 +322,7 @@ "name": "withHttpClientConfig", "capabilityId": "Aspire.Hosting.Yarp/withHttpClientConfig", "qualifiedName": "withHttpClientConfig", - "description": "Sets the HTTP client configuration for the cluster.", + "description": "Set the HTTP client configuration for the cluster.", "kind": "Method", "signature": "withHttpClientConfig(config: YarpHttpClientConfig): YarpCluster", "parameters": [ @@ -316,7 +341,7 @@ "name": "withLoadBalancingPolicy", "capabilityId": "Aspire.Hosting.Yarp/withLoadBalancingPolicy", "qualifiedName": "withLoadBalancingPolicy", - "description": "Sets the load balancing policy for the cluster.", + "description": "Set the LoadBalancingPolicy for the cluster.", "kind": "Method", "signature": "withLoadBalancingPolicy(policy: string): YarpCluster", "parameters": [ @@ -335,7 +360,7 @@ "name": "withMatch", "capabilityId": "Aspire.Hosting.Yarp/withMatch", "qualifiedName": "withMatch", - "description": "Sets the route match criteria.", + "description": "Set the parameters used to match requests.", "kind": "Method", "signature": "withMatch(match: YarpRouteMatch): YarpRoute", "parameters": [ @@ -354,7 +379,7 @@ "name": "withMatchHeaders", "capabilityId": "Aspire.Hosting.Yarp/withMatchHeaders", "qualifiedName": "withMatchHeaders", - "description": "Matches requests that contain the specified headers.", + "description": "Only match requests that contain all of these headers.", "kind": "Method", "signature": "withMatchHeaders(headers: YarpRouteHeaderMatch[]): YarpRoute", "parameters": [ @@ -373,7 +398,7 @@ "name": "withMatchHosts", "capabilityId": "Aspire.Hosting.Yarp/withMatchHosts", "qualifiedName": "withMatchHosts", - "description": "Matches requests that contain the specified host headers.", + "description": "Only match requests with the given Host header. Supports wildcards and ports. For unicode host names, do not use punycode.", "kind": "Method", "signature": "withMatchHosts(hosts: string[]): YarpRoute", "parameters": [ @@ -392,7 +417,7 @@ "name": "withMatchMethods", "capabilityId": "Aspire.Hosting.Yarp/withMatchMethods", "qualifiedName": "withMatchMethods", - "description": "Matches requests that use the specified HTTP methods.", + "description": "Only match requests that use these optional HTTP methods. E.g. GET, POST.", "kind": "Method", "signature": "withMatchMethods(methods: string[]): YarpRoute", "parameters": [ @@ -411,7 +436,7 @@ "name": "withMatchPath", "capabilityId": "Aspire.Hosting.Yarp/withMatchPath", "qualifiedName": "withMatchPath", - "description": "Matches requests with the specified path pattern.", + "description": "Only match requests with the given Path pattern.", "kind": "Method", "signature": "withMatchPath(path: string): YarpRoute", "parameters": [ @@ -430,7 +455,7 @@ "name": "withMatchRouteQueryParameter", "capabilityId": "Aspire.Hosting.Yarp/withMatchRouteQueryParameter", "qualifiedName": "withMatchRouteQueryParameter", - "description": "Matches requests that contain the specified query parameters.", + "description": "Only match requests that contain all of these query parameters.", "kind": "Method", "signature": "withMatchRouteQueryParameter(queryParameters: YarpRouteQueryParameterMatch[]): YarpRoute", "parameters": [ @@ -449,7 +474,7 @@ "name": "withMaxRequestBodySize", "capabilityId": "Aspire.Hosting.Yarp/withMaxRequestBodySize", "qualifiedName": "withMaxRequestBodySize", - "description": "Sets the maximum request body size for the route.", + "description": "Set the MaxRequestBodySize for the destination", "kind": "Method", "signature": "withMaxRequestBodySize(maxRequestBodySize: number): YarpRoute", "parameters": [ @@ -468,13 +493,13 @@ "name": "withMetadata", "capabilityId": "Aspire.Hosting.Yarp/withClusterMetadata", "qualifiedName": "withMetadata", - "description": "Sets metadata for the cluster.", + "description": "Set the Metadata for the cluster.", "kind": "Method", - "signature": "withMetadata(metadata: Dict\u003Cstring,string\u003E): YarpCluster", + "signature": "withMetadata(metadata: Dict): YarpCluster", "parameters": [ { "name": "metadata", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "YarpCluster", @@ -487,13 +512,13 @@ "name": "withMetadata", "capabilityId": "Aspire.Hosting.Yarp/withRouteMetadata", "qualifiedName": "withMetadata", - "description": "Sets metadata for the route.", + "description": "Set the Metadata of the destination", "kind": "Method", - "signature": "withMetadata(metadata: Dict\u003Cstring,string\u003E): YarpRoute", + "signature": "withMetadata(metadata: Dict): YarpRoute", "parameters": [ { "name": "metadata", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "YarpRoute", @@ -506,7 +531,7 @@ "name": "withOrder", "capabilityId": "Aspire.Hosting.Yarp/withOrder", "qualifiedName": "withOrder", - "description": "Sets the route order.", + "description": "Set the order for the destination", "kind": "Method", "signature": "withOrder(order: number): YarpRoute", "parameters": [ @@ -526,7 +551,7 @@ "name": "withSessionAffinityConfig", "capabilityId": "Aspire.Hosting.Yarp/withSessionAffinityConfig", "qualifiedName": "withSessionAffinityConfig", - "description": "Sets the session affinity configuration for the cluster.", + "description": "Set the session affinity configuration for the cluster.", "kind": "Method", "signature": "withSessionAffinityConfig(config: YarpSessionAffinityConfig): YarpCluster", "parameters": [ @@ -546,6 +571,7 @@ "capabilityId": "Aspire.Hosting.Yarp/withStaticFiles1", "qualifiedName": "withStaticFiles", "description": "Enables static file serving in the YARP resource. Static files are served from the wwwroot folder.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withStaticFiles(): YarpResource", "parameters": [], @@ -560,13 +586,13 @@ "name": "withTransform", "capabilityId": "Aspire.Hosting.Yarp/withTransform", "qualifiedName": "withTransform", - "description": "Adds a transform to the route.", + "description": "Add a new transform to the destination.", "kind": "Method", - "signature": "withTransform(transform: Dict\u003Cstring,string\u003E): YarpRoute", + "signature": "withTransform(transform: Dict): YarpRoute", "parameters": [ { "name": "transform", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "YarpRoute", @@ -730,12 +756,14 @@ "capabilityId": "Aspire.Hosting.Yarp/withTransformPathPrefix", "qualifiedName": "withTransformPathPrefix", "description": "Adds the transform which will prefix the request path with the given value.", + "returns": "The configured `YarpRoute`.", "kind": "Method", "signature": "withTransformPathPrefix(prefix: string): YarpRoute", "parameters": [ { "name": "prefix", - "type": "string" + "type": "string", + "description": "The path prefix to add." } ], "returnType": "YarpRoute", @@ -749,12 +777,14 @@ "capabilityId": "Aspire.Hosting.Yarp/withTransformPathRemovePrefix", "qualifiedName": "withTransformPathRemovePrefix", "description": "Adds the transform which will remove the matching prefix from the request path.", + "returns": "The configured `YarpRoute`.", "kind": "Method", "signature": "withTransformPathRemovePrefix(prefix: string): YarpRoute", "parameters": [ { "name": "prefix", - "type": "string" + "type": "string", + "description": "The matching prefix to remove." } ], "returnType": "YarpRoute", @@ -768,12 +798,14 @@ "capabilityId": "Aspire.Hosting.Yarp/withTransformPathRouteValues", "qualifiedName": "withTransformPathRouteValues", "description": "Adds the transform which will set the request path with route values.", + "returns": "The configured `YarpRoute`.", "kind": "Method", "signature": "withTransformPathRouteValues(pattern: string): YarpRoute", "parameters": [ { "name": "pattern", - "type": "string" + "type": "string", + "description": "The route pattern to apply." } ], "returnType": "YarpRoute", @@ -787,12 +819,14 @@ "capabilityId": "Aspire.Hosting.Yarp/withTransformPathSet", "qualifiedName": "withTransformPathSet", "description": "Adds the transform which sets the request path with the given value.", + "returns": "The configured `YarpRoute`.", "kind": "Method", "signature": "withTransformPathSet(path: string): YarpRoute", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "The path value to set." } ], "returnType": "YarpRoute", @@ -959,7 +993,7 @@ "name": "withTransformRequestHeadersAllowed", "capabilityId": "Aspire.Hosting.Yarp/withTransformRequestHeadersAllowed", "qualifiedName": "withTransformRequestHeadersAllowed", - "description": "Adds the transform which will only copy the allowed request headers. Other transforms", + "description": "Adds the transform which will only copy the allowed request headers. Other transforms that modify or append to existing headers may be affected if not included in the allow list.", "kind": "Method", "signature": "withTransformRequestHeadersAllowed(allowedHeaders: string[]): YarpRoute", "parameters": [ @@ -1038,7 +1072,7 @@ "name": "withTransformResponseHeadersAllowed", "capabilityId": "Aspire.Hosting.Yarp/withTransformResponseHeadersAllowed", "qualifiedName": "withTransformResponseHeadersAllowed", - "description": "Adds the transform which will only copy the allowed response headers. Other transforms", + "description": "Adds the transform which will only copy the allowed response headers. Other transforms that modify or append to existing headers may be affected if not included in the allow list.", "kind": "Method", "signature": "withTransformResponseHeadersAllowed(allowedHeaders: string[]): YarpRoute", "parameters": [ @@ -1117,7 +1151,7 @@ "name": "withTransformResponseTrailersAllowed", "capabilityId": "Aspire.Hosting.Yarp/withTransformResponseTrailersAllowed", "qualifiedName": "withTransformResponseTrailersAllowed", - "description": "Adds the transform which will only copy the allowed response trailers. Other transforms", + "description": "Adds the transform which will only copy the allowed response trailers. Other transforms that modify or append to existing trailers may be affected if not included in the allow list.", "kind": "Method", "signature": "withTransformResponseTrailersAllowed(allowedHeaders: string[]): YarpRoute", "parameters": [ @@ -1136,13 +1170,13 @@ "name": "withTransforms", "capabilityId": "Aspire.Hosting.Yarp/withTransforms", "qualifiedName": "withTransforms", - "description": "Sets the transforms for the route.", + "description": "Set the Transforms of the destination", "kind": "Method", - "signature": "withTransforms(transforms: Dict\u003Cstring,string\u003E[]): YarpRoute", + "signature": "withTransforms(transforms: Dict[]): YarpRoute", "parameters": [ { "name": "transforms", - "type": "Dict\u003Cstring,string\u003E[]" + "type": "Dict[]" } ], "returnType": "YarpRoute", @@ -1231,19 +1265,22 @@ "kind": "handle", "isInterface": true, "exposeMethods": true, + "description": "Interface to build a configuration file for YARP", "implementedInterfaces": [], "capabilities": [ { "name": "addCatchAllRoute", "capabilityId": "Aspire.Hosting.Yarp/addCatchAllRoute", "qualifiedName": "addCatchAllRoute", - "description": "Adds a YARP catch-all route for a cluster, endpoint, resource, or string destination target.", + "description": "Adds a catch-all route for a cluster, endpoint, resource, or string destination target.", + "returns": "The created route.", "kind": "Method", "signature": "addCatchAllRoute(target: ExternalServiceResource|string): YarpRoute", "parameters": [ { "name": "target", - "type": "ExternalServiceResource|string" + "type": "ExternalServiceResource|string", + "description": "The target cluster, endpoint, resource, or string destination for this route." } ], "returnType": "YarpRoute", @@ -1256,13 +1293,15 @@ "name": "addClusterFromEndpoint", "capabilityId": "Aspire.Hosting.Yarp/addClusterFromEndpoint", "qualifiedName": "addClusterFromEndpoint", - "description": "Adds a YARP cluster for an endpoint reference.", + "description": "Adds a cluster for an endpoint reference.", + "returns": "The created cluster.", "kind": "Method", "signature": "addClusterFromEndpoint(endpoint: EndpointReference): YarpCluster", "parameters": [ { "name": "endpoint", - "type": "EndpointReference" + "type": "EndpointReference", + "description": "The endpoint target for this cluster." } ], "returnType": "YarpCluster", @@ -1275,13 +1314,15 @@ "name": "addClusterFromExternalService", "capabilityId": "Aspire.Hosting.Yarp/addClusterFromExternalService", "qualifiedName": "addClusterFromExternalService", - "description": "Adds a YARP cluster for an external service resource.", + "description": "Adds a cluster for an external service resource.", + "returns": "The created cluster.", "kind": "Method", "signature": "addClusterFromExternalService(externalService: ExternalServiceResource): YarpCluster", "parameters": [ { "name": "externalService", - "type": "ExternalServiceResource" + "type": "ExternalServiceResource", + "description": "The external service used by this cluster." } ], "returnType": "YarpCluster", @@ -1294,13 +1335,15 @@ "name": "addClusterFromResource", "capabilityId": "Aspire.Hosting.Yarp/addClusterFromResource", "qualifiedName": "addClusterFromResource", - "description": "Adds a YARP cluster for a resource that supports service discovery.", + "description": "Adds a cluster for a resource that supports service discovery.", + "returns": "The created cluster.", "kind": "Method", "signature": "addClusterFromResource(resource: IResourceWithServiceDiscovery): YarpCluster", "parameters": [ { "name": "resource", - "type": "IResourceWithServiceDiscovery" + "type": "IResourceWithServiceDiscovery", + "description": "The resource target for this cluster." } ], "returnType": "YarpCluster", @@ -1313,17 +1356,20 @@ "name": "addClusterWithDestination", "capabilityId": "Aspire.Hosting.Yarp/addClusterWithDestination", "qualifiedName": "addClusterWithDestination", - "description": "Adds a YARP cluster with a single destination.", + "description": "Adds a cluster from a single destination.", + "returns": "The created cluster.", "kind": "Method", "signature": "addClusterWithDestination(clusterName: string, destination: any): YarpCluster", "parameters": [ { "name": "clusterName", - "type": "string" + "type": "string", + "description": "The name of the cluster." }, { "name": "destination", - "type": "any" + "type": "any", + "description": "The destination used by this cluster." } ], "returnType": "YarpCluster", @@ -1336,17 +1382,20 @@ "name": "addClusterWithDestinations", "capabilityId": "Aspire.Hosting.Yarp/addClusterWithDestinations", "qualifiedName": "addClusterWithDestinations", - "description": "Adds a YARP cluster with multiple destinations.", + "description": "Adds a cluster from multiple destinations.", + "returns": "The created cluster.", "kind": "Method", "signature": "addClusterWithDestinations(clusterName: string, destinations: any[]): YarpCluster", "parameters": [ { "name": "clusterName", - "type": "string" + "type": "string", + "description": "The name of the cluster." }, { "name": "destinations", - "type": "any[]" + "type": "any[]", + "description": "The destinations used by this cluster." } ], "returnType": "YarpCluster", @@ -1359,17 +1408,20 @@ "name": "addRoute", "capabilityId": "Aspire.Hosting.Yarp/addRoute", "qualifiedName": "addRoute", - "description": "Adds a YARP route for a cluster, endpoint, resource, or string destination target.", + "description": "Adds a route for a cluster, endpoint, resource, or string destination target.", + "returns": "The created route.", "kind": "Method", "signature": "addRoute(path: string, target: ExternalServiceResource|string): YarpRoute", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "The path to match for this route." }, { "name": "target", - "type": "ExternalServiceResource|string" + "type": "ExternalServiceResource|string", + "description": "The target cluster, endpoint, resource, or string destination for this route." } ], "returnType": "YarpRoute", @@ -1384,13 +1436,14 @@ "name": "YarpCluster", "fullName": "Aspire.Hosting.Yarp.YarpCluster", "kind": "handle", + "description": "Represents a cluster for YARP routes", "implementedInterfaces": [], "capabilities": [ { "name": "withForwarderRequestConfig", "capabilityId": "Aspire.Hosting.Yarp/withForwarderRequestConfig", "qualifiedName": "withForwarderRequestConfig", - "description": "Sets the forwarder request configuration for the cluster.", + "description": "Set the forwarder request configuration for the cluster.", "kind": "Method", "signature": "withForwarderRequestConfig(config: YarpForwarderRequestConfig): YarpCluster", "parameters": [ @@ -1409,7 +1462,7 @@ "name": "withHealthCheckConfig", "capabilityId": "Aspire.Hosting.Yarp/withHealthCheckConfig", "qualifiedName": "withHealthCheckConfig", - "description": "Sets the health check configuration for the cluster.", + "description": "Set the health check configuration for the cluster.", "kind": "Method", "signature": "withHealthCheckConfig(config: YarpHealthCheckConfig): YarpCluster", "parameters": [ @@ -1428,7 +1481,7 @@ "name": "withHttpClientConfig", "capabilityId": "Aspire.Hosting.Yarp/withHttpClientConfig", "qualifiedName": "withHttpClientConfig", - "description": "Sets the HTTP client configuration for the cluster.", + "description": "Set the HTTP client configuration for the cluster.", "kind": "Method", "signature": "withHttpClientConfig(config: YarpHttpClientConfig): YarpCluster", "parameters": [ @@ -1447,7 +1500,7 @@ "name": "withLoadBalancingPolicy", "capabilityId": "Aspire.Hosting.Yarp/withLoadBalancingPolicy", "qualifiedName": "withLoadBalancingPolicy", - "description": "Sets the load balancing policy for the cluster.", + "description": "Set the LoadBalancingPolicy for the cluster.", "kind": "Method", "signature": "withLoadBalancingPolicy(policy: string): YarpCluster", "parameters": [ @@ -1466,13 +1519,13 @@ "name": "withMetadata", "capabilityId": "Aspire.Hosting.Yarp/withClusterMetadata", "qualifiedName": "withMetadata", - "description": "Sets metadata for the cluster.", + "description": "Set the Metadata for the cluster.", "kind": "Method", - "signature": "withMetadata(metadata: Dict\u003Cstring,string\u003E): YarpCluster", + "signature": "withMetadata(metadata: Dict): YarpCluster", "parameters": [ { "name": "metadata", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "YarpCluster", @@ -1485,7 +1538,7 @@ "name": "withSessionAffinityConfig", "capabilityId": "Aspire.Hosting.Yarp/withSessionAffinityConfig", "qualifiedName": "withSessionAffinityConfig", - "description": "Sets the session affinity configuration for the cluster.", + "description": "Set the session affinity configuration for the cluster.", "kind": "Method", "signature": "withSessionAffinityConfig(config: YarpSessionAffinityConfig): YarpCluster", "parameters": [ @@ -1523,12 +1576,14 @@ "capabilityId": "Aspire.Hosting.Yarp/publishWithStaticFiles", "qualifiedName": "publishWithStaticFiles", "description": "In publish mode, generates a Dockerfile that copies static files from the specified resource into /app/wwwroot.", + "returns": "The updated resource builder.", "kind": "Method", "signature": "publishWithStaticFiles(resourceWithFiles: IResourceWithContainerFiles): YarpResource", "parameters": [ { "name": "resourceWithFiles", - "type": "IResourceWithContainerFiles" + "type": "IResourceWithContainerFiles", + "description": "The resource with container files." } ], "returnType": "YarpResource", @@ -1544,13 +1599,14 @@ "qualifiedName": "withConfiguration", "description": "Configure the YARP resource.", "kind": "Method", - "signature": "withConfiguration(configurationBuilder: (obj: IYarpConfigurationBuilder) =\u003E Promise\u003Cvoid\u003E): YarpResource", + "signature": "withConfiguration(configurationBuilder: (obj: IYarpConfigurationBuilder) => Promise): YarpResource", "parameters": [ { "name": "configurationBuilder", "type": "callback", "isCallback": true, - "callbackSignature": "(obj: IYarpConfigurationBuilder) =\u003E Promise\u003Cvoid\u003E" + "callbackSignature": "(obj: IYarpConfigurationBuilder) => Promise", + "description": "The delegate to configure YARP." } ], "returnType": "YarpResource", @@ -1564,14 +1620,16 @@ "name": "withHostHttpsPort", "capabilityId": "Aspire.Hosting.Yarp/withHostHttpsPort", "qualifiedName": "withHostHttpsPort", - "description": "Configures the host HTTPS port that the YARP resource is exposed on instead of using randomly assigned port.", + "description": "Configures the host HTTPS port that the YARP resource is exposed on instead of using randomly assigned port. This will only have effect if an HTTPS endpoint is configured on the YARP resource due to TLS termination being enabled.", + "returns": "The updated resource builder.", "kind": "Method", "signature": "withHostHttpsPort(port: number): YarpResource", "parameters": [ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "YarpResource", @@ -1592,7 +1650,8 @@ { "name": "port", "type": "number", - "isNullable": true + "isNullable": true, + "description": "The port to bind on the host. If `null` is used random port will be assigned." } ], "returnType": "YarpResource", @@ -1607,6 +1666,7 @@ "capabilityId": "Aspire.Hosting.Yarp/withStaticFiles1", "qualifiedName": "withStaticFiles", "description": "Enables static file serving in the YARP resource. Static files are served from the wwwroot folder.", + "returns": "The `IResourceBuilder`1`.", "kind": "Method", "signature": "withStaticFiles(): YarpResource", "parameters": [], @@ -1623,13 +1683,14 @@ "name": "YarpRoute", "fullName": "Aspire.Hosting.Yarp.YarpRoute", "kind": "handle", + "description": "Represents a route for YARP", "implementedInterfaces": [], "capabilities": [ { "name": "withMatch", "capabilityId": "Aspire.Hosting.Yarp/withMatch", "qualifiedName": "withMatch", - "description": "Sets the route match criteria.", + "description": "Set the parameters used to match requests.", "kind": "Method", "signature": "withMatch(match: YarpRouteMatch): YarpRoute", "parameters": [ @@ -1648,7 +1709,7 @@ "name": "withMatchHeaders", "capabilityId": "Aspire.Hosting.Yarp/withMatchHeaders", "qualifiedName": "withMatchHeaders", - "description": "Matches requests that contain the specified headers.", + "description": "Only match requests that contain all of these headers.", "kind": "Method", "signature": "withMatchHeaders(headers: YarpRouteHeaderMatch[]): YarpRoute", "parameters": [ @@ -1667,7 +1728,7 @@ "name": "withMatchHosts", "capabilityId": "Aspire.Hosting.Yarp/withMatchHosts", "qualifiedName": "withMatchHosts", - "description": "Matches requests that contain the specified host headers.", + "description": "Only match requests with the given Host header. Supports wildcards and ports. For unicode host names, do not use punycode.", "kind": "Method", "signature": "withMatchHosts(hosts: string[]): YarpRoute", "parameters": [ @@ -1686,7 +1747,7 @@ "name": "withMatchMethods", "capabilityId": "Aspire.Hosting.Yarp/withMatchMethods", "qualifiedName": "withMatchMethods", - "description": "Matches requests that use the specified HTTP methods.", + "description": "Only match requests that use these optional HTTP methods. E.g. GET, POST.", "kind": "Method", "signature": "withMatchMethods(methods: string[]): YarpRoute", "parameters": [ @@ -1705,7 +1766,7 @@ "name": "withMatchPath", "capabilityId": "Aspire.Hosting.Yarp/withMatchPath", "qualifiedName": "withMatchPath", - "description": "Matches requests with the specified path pattern.", + "description": "Only match requests with the given Path pattern.", "kind": "Method", "signature": "withMatchPath(path: string): YarpRoute", "parameters": [ @@ -1724,7 +1785,7 @@ "name": "withMatchRouteQueryParameter", "capabilityId": "Aspire.Hosting.Yarp/withMatchRouteQueryParameter", "qualifiedName": "withMatchRouteQueryParameter", - "description": "Matches requests that contain the specified query parameters.", + "description": "Only match requests that contain all of these query parameters.", "kind": "Method", "signature": "withMatchRouteQueryParameter(queryParameters: YarpRouteQueryParameterMatch[]): YarpRoute", "parameters": [ @@ -1743,7 +1804,7 @@ "name": "withMaxRequestBodySize", "capabilityId": "Aspire.Hosting.Yarp/withMaxRequestBodySize", "qualifiedName": "withMaxRequestBodySize", - "description": "Sets the maximum request body size for the route.", + "description": "Set the MaxRequestBodySize for the destination", "kind": "Method", "signature": "withMaxRequestBodySize(maxRequestBodySize: number): YarpRoute", "parameters": [ @@ -1762,13 +1823,13 @@ "name": "withMetadata", "capabilityId": "Aspire.Hosting.Yarp/withRouteMetadata", "qualifiedName": "withMetadata", - "description": "Sets metadata for the route.", + "description": "Set the Metadata of the destination", "kind": "Method", - "signature": "withMetadata(metadata: Dict\u003Cstring,string\u003E): YarpRoute", + "signature": "withMetadata(metadata: Dict): YarpRoute", "parameters": [ { "name": "metadata", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "YarpRoute", @@ -1781,7 +1842,7 @@ "name": "withOrder", "capabilityId": "Aspire.Hosting.Yarp/withOrder", "qualifiedName": "withOrder", - "description": "Sets the route order.", + "description": "Set the order for the destination", "kind": "Method", "signature": "withOrder(order: number): YarpRoute", "parameters": [ @@ -1801,13 +1862,13 @@ "name": "withTransform", "capabilityId": "Aspire.Hosting.Yarp/withTransform", "qualifiedName": "withTransform", - "description": "Adds a transform to the route.", + "description": "Add a new transform to the destination.", "kind": "Method", - "signature": "withTransform(transform: Dict\u003Cstring,string\u003E): YarpRoute", + "signature": "withTransform(transform: Dict): YarpRoute", "parameters": [ { "name": "transform", - "type": "Dict\u003Cstring,string\u003E" + "type": "Dict" } ], "returnType": "YarpRoute", @@ -1971,12 +2032,14 @@ "capabilityId": "Aspire.Hosting.Yarp/withTransformPathPrefix", "qualifiedName": "withTransformPathPrefix", "description": "Adds the transform which will prefix the request path with the given value.", + "returns": "The configured `YarpRoute`.", "kind": "Method", "signature": "withTransformPathPrefix(prefix: string): YarpRoute", "parameters": [ { "name": "prefix", - "type": "string" + "type": "string", + "description": "The path prefix to add." } ], "returnType": "YarpRoute", @@ -1990,12 +2053,14 @@ "capabilityId": "Aspire.Hosting.Yarp/withTransformPathRemovePrefix", "qualifiedName": "withTransformPathRemovePrefix", "description": "Adds the transform which will remove the matching prefix from the request path.", + "returns": "The configured `YarpRoute`.", "kind": "Method", "signature": "withTransformPathRemovePrefix(prefix: string): YarpRoute", "parameters": [ { "name": "prefix", - "type": "string" + "type": "string", + "description": "The matching prefix to remove." } ], "returnType": "YarpRoute", @@ -2009,12 +2074,14 @@ "capabilityId": "Aspire.Hosting.Yarp/withTransformPathRouteValues", "qualifiedName": "withTransformPathRouteValues", "description": "Adds the transform which will set the request path with route values.", + "returns": "The configured `YarpRoute`.", "kind": "Method", "signature": "withTransformPathRouteValues(pattern: string): YarpRoute", "parameters": [ { "name": "pattern", - "type": "string" + "type": "string", + "description": "The route pattern to apply." } ], "returnType": "YarpRoute", @@ -2028,12 +2095,14 @@ "capabilityId": "Aspire.Hosting.Yarp/withTransformPathSet", "qualifiedName": "withTransformPathSet", "description": "Adds the transform which sets the request path with the given value.", + "returns": "The configured `YarpRoute`.", "kind": "Method", "signature": "withTransformPathSet(path: string): YarpRoute", "parameters": [ { "name": "path", - "type": "string" + "type": "string", + "description": "The path value to set." } ], "returnType": "YarpRoute", @@ -2200,7 +2269,7 @@ "name": "withTransformRequestHeadersAllowed", "capabilityId": "Aspire.Hosting.Yarp/withTransformRequestHeadersAllowed", "qualifiedName": "withTransformRequestHeadersAllowed", - "description": "Adds the transform which will only copy the allowed request headers. Other transforms", + "description": "Adds the transform which will only copy the allowed request headers. Other transforms that modify or append to existing headers may be affected if not included in the allow list.", "kind": "Method", "signature": "withTransformRequestHeadersAllowed(allowedHeaders: string[]): YarpRoute", "parameters": [ @@ -2279,7 +2348,7 @@ "name": "withTransformResponseHeadersAllowed", "capabilityId": "Aspire.Hosting.Yarp/withTransformResponseHeadersAllowed", "qualifiedName": "withTransformResponseHeadersAllowed", - "description": "Adds the transform which will only copy the allowed response headers. Other transforms", + "description": "Adds the transform which will only copy the allowed response headers. Other transforms that modify or append to existing headers may be affected if not included in the allow list.", "kind": "Method", "signature": "withTransformResponseHeadersAllowed(allowedHeaders: string[]): YarpRoute", "parameters": [ @@ -2358,7 +2427,7 @@ "name": "withTransformResponseTrailersAllowed", "capabilityId": "Aspire.Hosting.Yarp/withTransformResponseTrailersAllowed", "qualifiedName": "withTransformResponseTrailersAllowed", - "description": "Adds the transform which will only copy the allowed response trailers. Other transforms", + "description": "Adds the transform which will only copy the allowed response trailers. Other transforms that modify or append to existing trailers may be affected if not included in the allow list.", "kind": "Method", "signature": "withTransformResponseTrailersAllowed(allowedHeaders: string[]): YarpRoute", "parameters": [ @@ -2377,13 +2446,13 @@ "name": "withTransforms", "capabilityId": "Aspire.Hosting.Yarp/withTransforms", "qualifiedName": "withTransforms", - "description": "Sets the transforms for the route.", + "description": "Set the Transforms of the destination", "kind": "Method", - "signature": "withTransforms(transforms: Dict\u003Cstring,string\u003E[]): YarpRoute", + "signature": "withTransforms(transforms: Dict[]): YarpRoute", "parameters": [ { "name": "transforms", - "type": "Dict\u003Cstring,string\u003E[]" + "type": "Dict[]" } ], "returnType": "YarpRoute", @@ -2472,30 +2541,40 @@ "name": "YarpActiveHealthCheckConfig", "fullName": "Aspire.Hosting.Yarp.YarpActiveHealthCheckConfig", "kind": "dto", + "description": "Represents active health check configuration for a YARP cluster.", "fields": [ { "name": "Enabled", - "type": "boolean" + "type": "boolean", + "isOptional": true, + "description": "Gets or sets a value indicating whether active health checks are enabled." }, { "name": "Interval", - "type": "timespan" + "type": "timespan", + "isOptional": true, + "description": "Gets or sets the health check interval." }, { "name": "Path", - "type": "string" + "type": "string", + "description": "Gets or sets the health check path." }, { "name": "Policy", - "type": "string" + "type": "string", + "description": "Gets or sets the health check policy." }, { "name": "Query", - "type": "string" + "type": "string", + "description": "Gets or sets the health check query string." }, { "name": "Timeout", - "type": "timespan" + "type": "timespan", + "isOptional": true, + "description": "Gets or sets the health check timeout." } ] }, @@ -2503,22 +2582,30 @@ "name": "YarpForwarderRequestConfig", "fullName": "Aspire.Hosting.Yarp.YarpForwarderRequestConfig", "kind": "dto", + "description": "Represents forwarder request configuration for a YARP cluster.", "fields": [ { "name": "ActivityTimeout", - "type": "timespan" + "type": "timespan", + "isOptional": true, + "description": "Gets or sets the activity timeout." }, { "name": "AllowResponseBuffering", - "type": "boolean" + "type": "boolean", + "isOptional": true, + "description": "Gets or sets a value indicating whether response buffering is allowed." }, { "name": "Version", - "type": "string" + "type": "string", + "description": "Gets or sets the HTTP version string." }, { "name": "VersionPolicy", - "type": "HttpVersionPolicy" + "type": "HttpVersionPolicy", + "isOptional": true, + "description": "Gets or sets the HTTP version policy." } ] }, @@ -2526,18 +2613,22 @@ "name": "YarpHealthCheckConfig", "fullName": "Aspire.Hosting.Yarp.YarpHealthCheckConfig", "kind": "dto", + "description": "Represents health check configuration for a YARP cluster.", "fields": [ { "name": "Active", - "type": "YarpActiveHealthCheckConfig" + "type": "YarpActiveHealthCheckConfig", + "description": "Gets or sets the active health check configuration." }, { "name": "AvailableDestinationsPolicy", - "type": "string" + "type": "string", + "description": "Gets or sets the available destinations policy." }, { "name": "Passive", - "type": "YarpPassiveHealthCheckConfig" + "type": "YarpPassiveHealthCheckConfig", + "description": "Gets or sets the passive health check configuration." } ] }, @@ -2545,34 +2636,45 @@ "name": "YarpHttpClientConfig", "fullName": "Aspire.Hosting.Yarp.YarpHttpClientConfig", "kind": "dto", + "description": "Represents HTTP client configuration for a YARP cluster.", "fields": [ { "name": "DangerousAcceptAnyServerCertificate", - "type": "boolean" + "type": "boolean", + "isOptional": true, + "description": "Gets or sets a value indicating whether to accept any server certificate." }, { "name": "EnableMultipleHttp2Connections", - "type": "boolean" + "type": "boolean", + "isOptional": true, + "description": "Gets or sets a value indicating whether multiple HTTP/2 connections are enabled." }, { "name": "MaxConnectionsPerServer", - "type": "number" + "type": "number", + "isOptional": true, + "description": "Gets or sets the maximum connections per server." }, { "name": "RequestHeaderEncoding", - "type": "string" + "type": "string", + "description": "Gets or sets the request header encoding." }, { "name": "ResponseHeaderEncoding", - "type": "string" + "type": "string", + "description": "Gets or sets the response header encoding." }, { "name": "SslProtocols", - "type": "YarpSslProtocol[]" + "type": "YarpSslProtocol[]", + "description": "Gets or sets the SSL protocols to enable." }, { "name": "WebProxy", - "type": "YarpWebProxyConfig" + "type": "YarpWebProxyConfig", + "description": "Gets or sets the web proxy configuration." } ] }, @@ -2580,18 +2682,24 @@ "name": "YarpPassiveHealthCheckConfig", "fullName": "Aspire.Hosting.Yarp.YarpPassiveHealthCheckConfig", "kind": "dto", + "description": "Represents passive health check configuration for a YARP cluster.", "fields": [ { "name": "Enabled", - "type": "boolean" + "type": "boolean", + "isOptional": true, + "description": "Gets or sets a value indicating whether passive health checks are enabled." }, { "name": "Policy", - "type": "string" + "type": "string", + "description": "Gets or sets the health check policy." }, { "name": "ReactivationPeriod", - "type": "timespan" + "type": "timespan", + "isOptional": true, + "description": "Gets or sets the reactivation period." } ] }, @@ -2599,22 +2707,27 @@ "name": "YarpRouteHeaderMatch", "fullName": "Aspire.Hosting.Yarp.YarpRouteHeaderMatch", "kind": "dto", + "description": "Represents a header-based route match for a YARP route.", "fields": [ { "name": "Name", - "type": "string" + "type": "string", + "description": "Gets or sets the header name to match." }, { "name": "Values", - "type": "string[]" + "type": "string[]", + "description": "Gets or sets the header values to match." }, { "name": "IsCaseSensitive", - "type": "boolean" + "type": "boolean", + "description": "Gets or sets a value indicating whether the header comparison is case-sensitive." }, { "name": "Mode", - "type": "HeaderMatchMode" + "type": "HeaderMatchMode", + "description": "Gets or sets the matching mode for the header comparison." } ] }, @@ -2622,26 +2735,32 @@ "name": "YarpRouteMatch", "fullName": "Aspire.Hosting.Yarp.YarpRouteMatch", "kind": "dto", + "description": "Represents route match criteria for a YARP route.", "fields": [ { "name": "Path", - "type": "string" + "type": "string", + "description": "Gets or sets the path pattern to match." }, { "name": "Methods", - "type": "string[]" + "type": "string[]", + "description": "Gets or sets the HTTP methods to match." }, { "name": "Hosts", - "type": "string[]" + "type": "string[]", + "description": "Gets or sets the host headers to match." }, { "name": "Headers", - "type": "YarpRouteHeaderMatch[]" + "type": "YarpRouteHeaderMatch[]", + "description": "Gets or sets the header match criteria." }, { "name": "QueryParameters", - "type": "YarpRouteQueryParameterMatch[]" + "type": "YarpRouteQueryParameterMatch[]", + "description": "Gets or sets the query parameter match criteria." } ] }, @@ -2649,22 +2768,27 @@ "name": "YarpRouteQueryParameterMatch", "fullName": "Aspire.Hosting.Yarp.YarpRouteQueryParameterMatch", "kind": "dto", + "description": "Represents a query-parameter-based route match for a YARP route.", "fields": [ { "name": "Name", - "type": "string" + "type": "string", + "description": "Gets or sets the query parameter name to match." }, { "name": "Values", - "type": "string[]" + "type": "string[]", + "description": "Gets or sets the query parameter values to match." }, { "name": "IsCaseSensitive", - "type": "boolean" + "type": "boolean", + "description": "Gets or sets a value indicating whether the query parameter comparison is case-sensitive." }, { "name": "Mode", - "type": "QueryParameterMatchMode" + "type": "QueryParameterMatchMode", + "description": "Gets or sets the matching mode for the query parameter comparison." } ] }, @@ -2672,26 +2796,33 @@ "name": "YarpSessionAffinityConfig", "fullName": "Aspire.Hosting.Yarp.YarpSessionAffinityConfig", "kind": "dto", + "description": "Represents session affinity configuration for a YARP cluster.", "fields": [ { "name": "AffinityKeyName", - "type": "string" + "type": "string", + "description": "Gets or sets the affinity key name." }, { "name": "Cookie", - "type": "YarpSessionAffinityCookieConfig" + "type": "YarpSessionAffinityCookieConfig", + "description": "Gets or sets the cookie configuration." }, { "name": "Enabled", - "type": "boolean" + "type": "boolean", + "isOptional": true, + "description": "Gets or sets a value indicating whether session affinity is enabled." }, { "name": "FailurePolicy", - "type": "string" + "type": "string", + "description": "Gets or sets the failure policy." }, { "name": "Policy", - "type": "string" + "type": "string", + "description": "Gets or sets the session affinity policy." } ] }, @@ -2699,38 +2830,53 @@ "name": "YarpSessionAffinityCookieConfig", "fullName": "Aspire.Hosting.Yarp.YarpSessionAffinityCookieConfig", "kind": "dto", + "description": "Represents session affinity cookie configuration for a YARP cluster.", "fields": [ { "name": "Domain", - "type": "string" + "type": "string", + "description": "Gets or sets the cookie domain." }, { "name": "Expiration", - "type": "timespan" + "type": "timespan", + "isOptional": true, + "description": "Gets or sets the cookie expiration." }, { "name": "HttpOnly", - "type": "boolean" + "type": "boolean", + "isOptional": true, + "description": "Gets or sets a value indicating whether the cookie is HTTP only." }, { "name": "IsEssential", - "type": "boolean" + "type": "boolean", + "isOptional": true, + "description": "Gets or sets a value indicating whether the cookie is essential." }, { "name": "MaxAge", - "type": "timespan" + "type": "timespan", + "isOptional": true, + "description": "Gets or sets the cookie max age." }, { "name": "Path", - "type": "string" + "type": "string", + "description": "Gets or sets the cookie path." }, { "name": "SameSite", - "type": "SameSiteMode" + "type": "SameSiteMode", + "isOptional": true, + "description": "Gets or sets the same-site mode." }, { "name": "SecurePolicy", - "type": "CookieSecurePolicy" + "type": "CookieSecurePolicy", + "isOptional": true, + "description": "Gets or sets the secure policy." } ] }, @@ -2738,18 +2884,24 @@ "name": "YarpWebProxyConfig", "fullName": "Aspire.Hosting.Yarp.YarpWebProxyConfig", "kind": "dto", + "description": "Represents web proxy configuration for a YARP cluster.", "fields": [ { "name": "Address", - "type": "uri" + "type": "uri", + "description": "Gets or sets the proxy address." }, { "name": "BypassOnLocal", - "type": "boolean" + "type": "boolean", + "isOptional": true, + "description": "Gets or sets a value indicating whether local addresses bypass the proxy." }, { "name": "UseDefaultCredentials", - "type": "boolean" + "type": "boolean", + "isOptional": true, + "description": "Gets or sets a value indicating whether the default credentials are used." } ] } @@ -2759,10 +2911,25 @@ "name": "YarpSslProtocol", "fullName": "Aspire.Hosting.Yarp.YarpSslProtocol", "kind": "enum", + "description": "Specifies the SSL protocols to enable for a YARP cluster. This enum exists because `SslProtocols` includes obsolete members and values that YARP does not accept.", "members": [ "None", "Tls12", "Tls13" + ], + "memberDocs": [ + { + "name": "None", + "description": "No SSL protocol." + }, + { + "name": "Tls12", + "description": "TLS 1.2." + }, + { + "name": "Tls13", + "description": "TLS 1.3." + } ] } ] diff --git a/src/frontend/src/data/twoslash/aspire.d.ts b/src/frontend/src/data/twoslash/aspire.d.ts index 1f9a80af1..d9e6234cd 100644 --- a/src/frontend/src/data/twoslash/aspire.d.ts +++ b/src/frontend/src/data/twoslash/aspire.d.ts @@ -1,6 +1,6 @@ // Auto-generated by scripts/generate-twoslash-types.ts — do not edit. // This file is consumed by expressive-code-twoslash to provide hover tooltips -// for TypeScript code samples in the docs that import './.modules/aspire.js'. +// for TypeScript code samples in the docs that import './.aspire/modules/aspire.mjs'. declare global { type Dict = Record; @@ -23,6 +23,34 @@ export type PropertyAccessor = (T extends object ? T : unknown) & (() => Prom }; // ---- enums ---- +/** + * Enum Aspire.Hosting.ApplicationModel.InputType + */ +export type InputType = "Text" | "Number" | "Choice" | "SecretText"; +export declare const InputType: { + readonly Text: "Text"; + readonly Number: "Number"; + readonly Choice: "Choice"; + readonly SecretText: "SecretText"; +}; + +export interface ParameterCustomInputOptions { + inputType?: InputType; + label?: string; + placeholder?: string; + options?: Record; +} + +export interface BeforePublishEvent extends IDistributedApplicationEvent { + model: PropertyAccessor; + services: PropertyAccessor; +} + +export interface AfterPublishEvent extends IDistributedApplicationEvent { + model: PropertyAccessor; + services: PropertyAccessor; +} + /** * Enum Aspire.Hosting.ApplicationModel.CertificateTrustScope */ @@ -117,6 +145,17 @@ export declare const ProbeType: { readonly Liveness: "Liveness"; }; +/** + * Enum Aspire.Hosting.ApplicationModel.ResourceCommandState + */ + +export type ResourceCommandState = "Enabled" | "Disabled" | "Hidden"; +export declare const ResourceCommandState: { + readonly Enabled: "Enabled"; + readonly Disabled: "Disabled"; + readonly Hidden: "Hidden"; +}; + /** * Enum Aspire.Hosting.ApplicationModel.UrlDisplayLocation */ @@ -435,7 +474,7 @@ export interface CommandOptions { iconName: string; iconVariant: IconVariant; isHighlighted: boolean; - updateState: UpdateCommandStateContext; + updateState: callback; } /** @@ -802,12 +841,12 @@ export interface YarpWebProxyConfig { export interface AfterResourcesCreatedEvent extends IDistributedApplicationEvent { /** - * Gets the Model property + * The `DistributedApplicationModel` instance. */ model: PropertyAccessor; /** - * Gets the Services property + * The `IServiceProvider` instance. */ services: PropertyAccessor; @@ -836,12 +875,12 @@ export interface BeforeResourceStartedEvent extends IDistributedApplicationEvent export interface BeforeStartEvent extends IDistributedApplicationEvent { /** - * Gets the Model property + * The `DistributedApplicationModel` instance. */ model: PropertyAccessor; /** - * Gets the Services property + * The `IServiceProvider` instance. */ services: PropertyAccessor; @@ -853,22 +892,22 @@ export interface BeforeStartEvent extends IDistributedApplicationEvent { export interface CommandLineArgsCallbackContext { /** - * Gets the command-line argument editor + * Gets the editor used to manipulate command-line arguments in polyglot callbacks. */ args: PropertyAccessor; /** - * Gets the execution context for this callback invocation + * Gets the execution context associated with this callback. */ executionContext: PropertyAccessor; /** - * Gets the callback logger facade + * Gets the logger facade used by polyglot callbacks. */ log: PropertyAccessor; /** - * Gets the resource associated with this callback + * The resource associated with this callback context. */ resource: PropertyAccessor; @@ -880,7 +919,7 @@ export interface CommandLineArgsCallbackContext { export interface CommandLineArgsEditor { /** - * Adds a command-line argument + * Adds a command-line argument. */ add(value: IExpressionValue): void; @@ -909,22 +948,22 @@ export interface ConnectionStringAvailableEvent extends IDistributedApplicationE export interface ContainerImagePushOptions { /** - * Gets the RemoteImageName property + * Gets or sets the remote image name (repository path without registry endpoint or tag). */ remoteImageName: PropertyAccessor; /** - * Gets the RemoteImageTag property + * Gets or sets the remote image tag. */ remoteImageTag: PropertyAccessor; /** - * Sets the RemoteImageName property + * Gets or sets the remote image name (repository path without registry endpoint or tag). */ setRemoteImageName(value: string): ContainerImagePushOptions; /** - * Sets the RemoteImageTag property + * Gets or sets the remote image tag. */ setRemoteImageTag(value: string): ContainerImagePushOptions; @@ -936,35 +975,20 @@ export interface ContainerImagePushOptions { export interface ContainerImagePushOptionsCallbackContext { /** - * Gets the CancellationToken property + * Gets the cancellation token to observe while configuring image push options. */ cancellationToken: PropertyAccessor; /** - * Gets the Options property + * Gets the container image push options that can be modified by the callback. */ options: PropertyAccessor; /** - * Gets the Resource property + * Gets the resource being configured for container image push operations. */ resource: PropertyAccessor; - /** - * Sets the CancellationToken property - */ - - setCancellationToken(value: cancellationToken): ContainerImagePushOptionsCallbackContext; - /** - * Sets the Options property - */ - - setOptions(value: ContainerImagePushOptions): ContainerImagePushOptionsCallbackContext; - /** - * Sets the Resource property - */ - - setResource(value: IResource): ContainerImagePushOptionsCallbackContext; } /** @@ -1001,132 +1025,132 @@ export interface ContainerRegistryResource extends IContainerRegistry, IResource export interface ContainerResource extends IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Publishes the resource as a connection string + * Changes the resource to be published as a connection string reference in the manifest. */ publishAsConnectionString(): this; /** - * Configures the resource to be published as a container + * Changes the resource to be published as a container in the manifest. */ publishAsContainer(): this; /** - * Adds a bind mount + * Adds a bind mount to a container resource. */ withBindMount(source: string, target: string, options?: { isReadOnly?: boolean }): this; /** - * Adds a bind mount + * Adds a bind mount to a container resource. */ withBindMount(source: string, target: string, isReadOnly?: boolean): this; /** - * Adds a build argument from a string value or parameter resource + * Adds a build argument when the container is built from a Dockerfile. */ withBuildArg(name: string, value: string | ParameterResource): this; /** - * Adds a build secret from a parameter resource + * Adds a secret build argument when the container is built from a Dockerfile. */ withBuildSecret(name: string, value: string | ParameterResource): this; /** - * Overrides container certificate bundle and directory paths used for trust configuration + * Adds container certificate path overrides used for certificate trust at run time. */ withContainerCertificatePaths(options?: { customCertificatesDestination?: string; defaultCertificateBundlePaths?: string[]; defaultCertificateDirectoryPaths?: string[] }): this; /** - * Overrides container certificate bundle and directory paths used for trust configuration + * Adds container certificate path overrides used for certificate trust at run time. */ withContainerCertificatePaths(customCertificatesDestination?: string, defaultCertificateBundlePaths?: string[], defaultCertificateDirectoryPaths?: string[]): this; /** - * Sets the container name + * 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. */ withContainerName(name: string): this; /** - * Adds a network alias for the container + * Adds a network alias to container resource. */ withContainerNetworkAlias(alias: string): this; /** - * Adds runtime arguments for the container + * 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. */ withContainerRuntimeArgs(args: string[]): this; /** - * Configures the resource to use a Dockerfile + * Causes Aspire to build the specified container image from a Dockerfile. */ withDockerfile(contextPath: string, options?: { dockerfilePath?: string; stage?: string }): this; /** - * Configures the resource to use a Dockerfile + * Causes Aspire to build the specified container image from a Dockerfile. */ withDockerfile(contextPath: string, dockerfilePath?: string, stage?: string): this; /** - * Configures the resource to use a programmatically generated Dockerfile + * Builds the specified container image from a Dockerfile generated by a callback using the `DockerfileBuilder` API. */ withDockerfileBuilder(contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) => Promise, options?: { stage?: string }): this; /** - * Configures the resource to use a programmatically generated Dockerfile + * Builds the specified container image from a Dockerfile generated by a callback using the `DockerfileBuilder` API. */ withDockerfileBuilder(contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) => Promise, stage?: string): this; /** - * Configures endpoint proxy support + * Set whether a container resource can use proxied endpoints or whether they should be disabled for all endpoints belonging to the container. If set to `false`, endpoints belonging to the container resource will ignore the configured proxy settings and run proxy-less. */ withEndpointProxySupport(proxyEnabled: boolean): this; /** - * Sets the container entrypoint + * Sets the Entrypoint for the container. */ withEntrypoint(entrypoint: string): this; /** - * Sets the container image + * Allows overriding the image on a container. */ withImage(image: string, options?: { tag?: string }): this; /** - * Sets the container image + * Allows overriding the image on a container. */ withImage(image: string, tag?: string): this; /** - * Sets the container image pull policy + * Sets the pull policy for the container resource. */ withImagePullPolicy(pullPolicy: ImagePullPolicy): this; /** - * Sets the container image registry + * Allows overriding the image registry on a container. */ withImageRegistry(registry: string): this; /** - * Sets the image SHA256 digest + * Allows setting the image to a specific sha256 on a container. */ withImageSHA256(sha256: string): this; /** - * Sets the container image tag + * Allows overriding the image tag on a container. */ withImageTag(tag: string): this; /** - * Sets the lifetime behavior of the container resource + * Sets the lifetime behavior of the container resource. */ withLifetime(lifetime: ContainerLifetime): this; /** - * Adds a volume + * Adds a volume to a container resource. */ withVolume(target: string, options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a volume + * Adds a volume to a container resource. */ withVolume(target: string, name?: string, isReadOnly?: boolean): this; @@ -1145,12 +1169,12 @@ export interface CSharpAppResource extends ProjectResource, IComputeResource, IC export interface DistributedApplicationModel { /** - * Finds a resource by name + * Finds a resource by name. */ findResourceByName(name: string): IResource; /** - * Gets resources from the distributed application model + * Gets all resources in the distributed application model. */ getResources(): IResource[]; @@ -1271,22 +1295,22 @@ export interface DockerfileStage { export interface DockerfileBuilderCallbackContext { /** - * Gets the Builder property + * Gets the Dockerfile builder instance. */ builder: PropertyAccessor; /** - * Gets the CancellationToken property + * Gets the cancellation token to observe while waiting for the task to complete. */ cancellationToken: PropertyAccessor; /** - * Gets the Resource property + * Gets the resource being built. */ resource: PropertyAccessor; /** - * Gets the Services property + * Gets the service provider for dependency injection. */ services: PropertyAccessor; @@ -1298,32 +1322,32 @@ export interface DockerfileBuilderCallbackContext { export interface DotnetToolResource extends ExecutableResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Ignores existing NuGet feeds + * Configures the tool to use only the specified package sources, ignoring existing NuGet configuration. */ withToolIgnoreExistingFeeds(): this; /** - * Ignores failed NuGet sources + * Configures the resource to treat package source failures as warnings. */ withToolIgnoreFailedSources(): this; /** - * Sets the tool package ID + * Sets the package identifier for the tool configuration associated with the resource builder. */ withToolPackage(packageId: string): this; /** - * Allows prerelease tool versions + * Allows prerelease versions of the tool to be used */ withToolPrerelease(): this; /** - * Adds a NuGet source for the tool + * Adds a NuGet package source for tool acquisition. */ withToolSource(source: string): this; /** - * Sets the tool version + * Sets the package version for a tool to use. */ withToolVersion(version: string): this; @@ -1335,97 +1359,92 @@ export interface DotnetToolResource extends ExecutableResource, IComputeResource export interface EndpointReference extends IExpressionValue, IManifestExpressionProvider, IValueProvider, IValueWithReferences { /** - * Gets the EndpointName property + * Gets the name of the endpoint associated with the endpoint reference. */ endpointName: PropertyAccessor; /** - * Gets the ErrorMessage property + * Gets or sets a custom error message to be thrown when the endpoint annotation is not found. */ errorMessage: PropertyAccessor; /** - * Gets the ExcludeReferenceEndpoint property + * Gets a value indicating whether this endpoint is excluded from the default set when referencing the resource's endpoints. */ excludeReferenceEndpoint: PropertyAccessor; /** - * Gets the Exists property + * Gets a value indicating whether the endpoint exists. */ exists: PropertyAccessor; /** - * Gets a conditional expression that resolves to the enabledValue when TLS is enabled on the endpoint, or to the disabledValue otherwise. + * Creates a conditional `ReferenceExpression` that resolves to `enabledValue` when `TlsEnabled` is `true` on this endpoint, or to `disabledValue` otherwise. */ getTlsValue(enabledValue: ReferenceExpression, disabledValue: ReferenceExpression): ReferenceExpression; /** - * Gets the URL of the endpoint asynchronously + * Gets the URL of the endpoint asynchronously. Waits for the endpoint to be allocated if necessary. */ getValueAsync(cancellationToken?: cancellationToken): string; /** - * Gets the Host property + * Gets the host for this endpoint. */ host: PropertyAccessor; /** - * Gets the IsAllocated property + * Gets a value indicating whether the endpoint is allocated. */ isAllocated: PropertyAccessor; /** - * Gets the IsHttp property + * Gets a value indicating whether the endpoint uses HTTP scheme. */ isHttp: PropertyAccessor; /** - * Gets the IsHttps property + * Gets a value indicating whether the endpoint uses HTTPS scheme. */ isHttps: PropertyAccessor; /** - * Gets the IsHttpSchemeNamedEndpoint property + * Gets a value indicating whether the endpoint name is "http" or "https", 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. */ isHttpSchemeNamedEndpoint: PropertyAccessor; /** - * Gets the Port property + * Gets the port for this endpoint. */ port: PropertyAccessor; /** - * Gets the specified property expression of the endpoint + * Gets the specified property expression of the endpoint. */ property(property: EndpointProperty): EndpointReferenceExpression; /** - * Gets the Resource property + * Gets the resource owner of the endpoint reference. */ resource: PropertyAccessor; /** - * Gets the Scheme property + * Gets the scheme for this endpoint. */ scheme: PropertyAccessor; /** - * Sets the ErrorMessage property - */ - - setErrorMessage(value: string): EndpointReference; - /** - * Gets the TargetPort property + * Gets the target port for this endpoint. If the port is dynamically allocated, this will return `null`. */ targetPort: PropertyAccessor; /** - * Gets the TlsEnabled property + * Gets a value indicating whether TLS is enabled for this endpoint. */ tlsEnabled: PropertyAccessor; /** - * Gets the Url property + * Gets the URL for this endpoint. */ url: PropertyAccessor; @@ -1437,17 +1456,17 @@ export interface EndpointReference extends IExpressionValue, IManifestExpression export interface EndpointReferenceExpression extends IExpressionValue, IManifestExpressionProvider, IValueProvider, IValueWithReferences { /** - * Gets the Endpoint property + * Gets the `EndpointReference`. */ endpoint: PropertyAccessor; /** - * Gets the Property property + * Gets the `EndpointProperty` for the property expression. */ property: PropertyAccessor; /** - * Gets the ValueExpression property + * Gets the expression of the property of the endpoint. */ valueExpression: PropertyAccessor; @@ -1459,107 +1478,107 @@ export interface EndpointReferenceExpression extends IExpressionValue, IManifest export interface EndpointUpdateContext { /** - * Gets the ExcludeReferenceEndpoint property + * Gets or sets a value indicating whether the endpoint is excluded from the default reference set. */ excludeReferenceEndpoint: PropertyAccessor; /** - * Gets the IsExternal property + * Gets or sets a value indicating whether the endpoint is external. */ isExternal: PropertyAccessor; /** - * Gets the IsProxied property + * Gets or sets a value indicating whether the endpoint is proxied. */ isProxied: PropertyAccessor; /** - * Gets the Name property + * Gets the endpoint name. */ name: PropertyAccessor; /** - * Gets the Port property + * Gets or sets the desired host port. */ port: PropertyAccessor; /** - * Gets the Protocol property + * Gets or sets the network protocol. */ protocol: PropertyAccessor; /** - * Sets the ExcludeReferenceEndpoint property + * Gets or sets a value indicating whether the endpoint is excluded from the default reference set. */ setExcludeReferenceEndpoint(value: boolean): EndpointUpdateContext; /** - * Sets the IsExternal property + * Gets or sets a value indicating whether the endpoint is external. */ setIsExternal(value: boolean): EndpointUpdateContext; /** - * Sets the IsProxied property + * Gets or sets a value indicating whether the endpoint is proxied. */ setIsProxied(value: boolean): EndpointUpdateContext; /** - * Sets the Port property + * Gets or sets the desired host port. */ setPort(value: number): EndpointUpdateContext; /** - * Sets the Protocol property + * Gets or sets the network protocol. */ setProtocol(value: ProtocolType): EndpointUpdateContext; /** - * Sets the TargetHost property + * Gets or sets the target host. */ setTargetHost(value: string): EndpointUpdateContext; /** - * Sets the TargetPort property + * Gets or sets the target port. */ setTargetPort(value: number): EndpointUpdateContext; /** - * Sets the TlsEnabled property + * Gets or sets a value indicating whether TLS is enabled. */ setTlsEnabled(value: boolean): EndpointUpdateContext; /** - * Sets the Transport property + * Gets or sets the transport. */ setTransport(value: string): EndpointUpdateContext; /** - * Sets the UriScheme property + * Gets or sets the URI scheme. */ setUriScheme(value: string): EndpointUpdateContext; /** - * Gets the TargetHost property + * Gets or sets the target host. */ targetHost: PropertyAccessor; /** - * Gets the TargetPort property + * Gets or sets the target port. */ targetPort: PropertyAccessor; /** - * Gets the TlsEnabled property + * Gets or sets a value indicating whether TLS is enabled. */ tlsEnabled: PropertyAccessor; /** - * Gets the Transport property + * Gets or sets the transport. */ transport: PropertyAccessor; /** - * Gets the UriScheme property + * Gets or sets the URI scheme. */ uriScheme: PropertyAccessor; @@ -1571,22 +1590,22 @@ export interface EndpointUpdateContext { export interface EnvironmentCallbackContext { /** - * Gets the environment variable editor + * Gets the editor used to set environment variables in polyglot callbacks. */ environment: PropertyAccessor; /** - * Gets the execution context for this callback invocation + * Gets the execution context associated with this invocation of the AppHost. */ executionContext: PropertyAccessor; /** - * Gets the callback logger facade + * Gets the logger facade used by polyglot callbacks. */ log: PropertyAccessor; /** - * Gets the resource associated with this callback + * The resource associated with this callback context. */ resource: PropertyAccessor; @@ -1598,7 +1617,7 @@ export interface EnvironmentCallbackContext { export interface EnvironmentEditor { /** - * Sets an environment variable + * Sets an environment variable. */ set(name: string, value: IExpressionValue): void; @@ -1610,17 +1629,17 @@ export interface EnvironmentEditor { export interface ExecutableResource extends IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Publishes an executable as a Docker file + * Adds support for containerizing this `ExecutableResource` during deployment. The resulting container image is built, and when the optional `configure` action is provided, it is used to configure the container resource. */ publishAsDockerFile(configure: (obj: ContainerResource) => Promise): this; /** - * Sets the executable command + * Sets the command for the executable resource. */ withExecutableCommand(command: string): this; /** - * Sets the executable working directory + * Sets the working directory for the executable resource. */ withWorkingDirectory(workingDirectory: string): this; @@ -1632,45 +1651,25 @@ export interface ExecutableResource extends IComputeResource, IResource, IResour export interface ExecuteCommandContext { /** - * Gets the CancellationToken property + * The cancellation token. */ cancellationToken: PropertyAccessor; /** - * Gets the Logger property + * The logger for the resource. */ logger: PropertyAccessor; /** - * Gets the ResourceName property + * The resource name. */ resourceName: PropertyAccessor; /** - * Gets the ServiceProvider property + * The service provider. */ serviceProvider: PropertyAccessor; - /** - * Sets the CancellationToken property - */ - - setCancellationToken(value: cancellationToken): ExecuteCommandContext; - /** - * Sets the Logger property - */ - - setLogger(value: ILogger): ExecuteCommandContext; - /** - * Sets the ResourceName property - */ - - setResourceName(value: string): ExecuteCommandContext; - /** - * Sets the ServiceProvider property - */ - - setServiceProvider(value: IServiceProvider): ExecuteCommandContext; } /** @@ -1679,7 +1678,7 @@ export interface ExecuteCommandContext { export interface IAspireStore { /** - * Gets a deterministic file path for the specified file contents + * Gets a deterministic file path that is a copy of the `sourceFilename`. The resulting file name will depend on the content of the file. */ getFileNameWithContent(filenameTemplate: string, sourceFilename: string): string; @@ -1691,27 +1690,27 @@ export interface IAspireStore { export interface IExecutionConfigurationBuilder { /** - * Builds the execution configuration + * Builds the execution configuration for the specified builder. */ build(executionContext: DistributedApplicationExecutionContext, resourceLogger?: ILogger, cancellationToken?: cancellationToken): IExecutionConfigurationResult; /** - * Adds an arguments configuration gatherer + * Adds a command line arguments configuration gatherer to the builder. */ withArgumentsConfig(): IExecutionConfigurationBuilder; /** - * Adds a certificate trust configuration gatherer + * Adds a certificate trust configuration gatherer to the builder. */ withCertificateTrustConfig(configContextFactory: (arg: CertificateTrustScope) => Promise): IExecutionConfigurationBuilder; /** - * Adds an environment variables configuration gatherer + * Adds an environment variables configuration gatherer to the builder. */ withEnvironmentVariablesConfig(): IExecutionConfigurationBuilder; /** - * Adds an HTTPS certificate configuration gatherer + * Adds an HTTPS certificate configuration gatherer using certificate metadata instead of a raw X509 certificate. */ withHttpsCertificateConfig(configContextFactory: (arg: HttpsCertificateInfo) => Promise): IExecutionConfigurationBuilder; @@ -1723,12 +1722,12 @@ export interface IExecutionConfigurationBuilder { export interface IExecutionConfigurationResult { /** - * Gets certificate trust execution-configuration data + * Gets certificate trust execution-configuration data when present. */ getCertificateTrustData(): CertificateTrustExecutionConfigurationExportData; /** - * Gets HTTPS certificate execution-configuration data + * Gets HTTPS certificate execution-configuration data when present. */ getHttpsCertificateData(): HttpsCertificateExecutionConfigurationExportData; @@ -1747,17 +1746,17 @@ export interface IExpressionValue { export interface InitializeResourceEvent extends IDistributedApplicationEvent, IDistributedApplicationResourceEvent { /** - * Gets the Eventing property + * The `IDistributedApplicationEventing` service for the app host. */ eventing: PropertyAccessor; /** - * Gets the Logger property + * An instance of `ILogger` that can be used to log messages for the resource. */ logger: PropertyAccessor; /** - * Gets the Notifications property + * The `ResourceNotificationService` for the app host. */ notifications: PropertyAccessor; @@ -1767,7 +1766,7 @@ export interface InitializeResourceEvent extends IDistributedApplicationEvent, I resource: PropertyAccessor; /** - * Gets the Services property + * The `IServiceProvider` for the app host. */ services: PropertyAccessor; @@ -1779,127 +1778,127 @@ export interface InitializeResourceEvent extends IDistributedApplicationEvent, I export interface IResource { /** - * Creates an execution configuration builder + * Creates an execution configuration builder for the specified resource. */ createExecutionConfiguration(): IExecutionConfigurationBuilder; /** - * Excludes the resource from the deployment manifest + * Excludes a resource from being published to the manifest. */ excludeFromManifest(): IResource; /** - * Excludes the resource from MCP server exposure + * Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry. */ excludeFromMcp(): IResource; /** - * Gets the resource name + * Gets the name of the resource from a builder. */ getResourceName(): string; /** - * Subscribes to the BeforeResourceStarted event + * Subscribes to the BeforeResourceStarted event. */ onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) => Promise): this; /** - * Subscribes to the InitializeResource event + * Subscribes to the InitializeResource event. */ onInitializeResource(callback: (arg: InitializeResourceEvent) => Promise): this; /** - * Subscribes to the ResourceReady event + * Subscribes to the ResourceReady event. */ onResourceReady(callback: (arg: ResourceReadyEvent) => Promise): this; /** - * Subscribes to the ResourceStopped event + * Subscribes to the ResourceStopped event. */ onResourceStopped(callback: (arg: ResourceStoppedEvent) => Promise): this; /** - * Sets a child relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withChildRelationship(child: IResource): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, options?: { commandOptions?: CommandOptions }): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, commandOptions?: CommandOptions): this; /** - * Configures a resource to use a container registry + * Configures the resource to use the specified container registry for container image operations. */ withContainerRegistry(registry: IResource): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(options?: { buildImage?: string; runtimeImage?: string }): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(buildImage?: string, runtimeImage?: string): this; /** - * Prevents resource from starting automatically + * Adds a `ExplicitStartupAnnotation` annotation to the resource so it doesn't automatically start with the app host startup. */ withExplicitStart(): this; /** - * Adds a health check by key + * Adds a `HealthCheckAnnotation` to the resource annotations to associate a resource with a named health check managed by the health check service. */ withHealthCheck(key: string): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, options?: { iconVariant?: IconVariant }): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, iconVariant?: IconVariant): this; /** - * Sets the parent relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withParentRelationship(parent: IResource): this; /** - * Configures pipeline step dependencies via a callback + * Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships. */ withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) => Promise): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, options?: { dependsOn?: string[]; requiredBy?: string[]; tags?: string[]; description?: string }): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): this; /** - * Adds a relationship to another resource + * Adds a relationship to another resource using its builder. */ withRelationship(resourceBuilder: IResource, type: string): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, options?: { helpLink?: string }): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, helpLink?: string): this; @@ -1914,12 +1913,12 @@ export interface IResource { withUrl(url: ReferenceExpression, displayText?: string): this; /** - * Customizes the URL for a specific endpoint via callback + * Registers a callback to update the URL displayed for the endpoint with the specified name. */ withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) => Promise): this; /** - * Customizes displayed URLs via callback + * Registers a callback to customize the URLs displayed for the resource. */ withUrls(callback: (obj: ResourceUrlsCallbackContext) => Promise): this; @@ -1931,12 +1930,12 @@ export interface IResource { export interface IResourceWithArgs { /** - * Adds arguments + * Adds arguments to be passed to a resource that supports arguments when it is launched. */ withArgs(args: string[]): this; /** - * Sets command-line arguments via callback + * Adds a callback to be executed with a list of command-line arguments when a resource is started. */ withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) => Promise): this; @@ -1948,17 +1947,17 @@ export interface IResourceWithArgs { export interface IResourceWithConnectionString { /** - * Gets a connection property by key + * Retrieves the value of a specified connection property from the resource's connection properties. */ getConnectionProperty(key: string): ReferenceExpression; /** - * Subscribes to the ConnectionStringAvailable event + * Subscribes to the ConnectionStringAvailable event. */ onConnectionStringAvailable(callback: (arg: ConnectionStringAvailableEvent) => Promise): this; /** - * Adds a connection property with a string or reference expression value + * Adds a connection property annotation to the resource being built. */ withConnectionProperty(name: string, value: ReferenceExpression): this; @@ -1970,27 +1969,27 @@ export interface IResourceWithConnectionString { export interface IResourceWithEndpoints { /** - * Configures resource for HTTP/2 + * Configures a resource to mark all endpoints' transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge. */ asHttp2Service(): IResourceWithEndpoints; /** - * Gets an endpoint reference + * Gets an `EndpointReference` by name from the resource. These endpoints are declared either using `WithEndpoint``1` or by launch settings (for project resources). The `EndpointReference` can be used to resolve the address of the endpoint in `WithEnvironment``1`. */ getEndpoint(name: string): EndpointReference; /** - * Subscribes to the ResourceEndpointsAllocated event + * Subscribes to the ResourceEndpointsAllocated event. */ onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) => Promise): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(options?: { port?: number; targetPort?: number; scheme?: string; name?: string; env?: string; isProxied?: boolean; isExternal?: boolean; protocol?: ProtocolType }): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(port?: number, targetPort?: number, scheme?: string, name?: string, env?: string, isProxied?: boolean, isExternal?: boolean, protocol?: ProtocolType): this; @@ -2005,7 +2004,7 @@ export interface IResourceWithEndpoints { withEndpointCallback(endpointName: string, callback: (obj: EndpointUpdateContext) => Promise, createIfNotExists?: boolean): this; /** - * Makes HTTP endpoints externally accessible + * Marks existing http or https endpoints on a resource as external. */ withExternalHttpEndpoints(): this; @@ -2020,12 +2019,12 @@ export interface IResourceWithEndpoints { withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -2040,32 +2039,32 @@ export interface IResourceWithEndpoints { withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(options?: { path?: string; statusCode?: number; endpointName?: string }): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(path?: string, statusCode?: number, endpointName?: string): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, options?: { path?: string; initialDelaySeconds?: number; periodSeconds?: number; timeoutSeconds?: number; failureThreshold?: number; successThreshold?: number; endpointName?: string }): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, path?: string, initialDelaySeconds?: number, periodSeconds?: number, timeoutSeconds?: number, failureThreshold?: number, successThreshold?: number, endpointName?: string): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -2080,12 +2079,12 @@ export interface IResourceWithEndpoints { withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(options?: { path?: string; endpointName?: string }): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(path?: string, endpointName?: string): this; @@ -2097,12 +2096,12 @@ export interface IResourceWithEndpoints { export interface IResourceWithEnvironment { /** - * Sets the certificate trust scope + * Sets the `CertificateTrustScope` for custom certificate authorities associated with the resource. The scope specifies how custom certificate authorities should be applied to a resource at run time in local development scenarios. Custom certificate trust is only applied in run mode; in publish mode resources will use their default certificate trust behavior. */ withCertificateTrustScope(scope: CertificateTrustScope): this; /** - * Configures developer certificate trust + * 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. */ withDeveloperCertificateTrust(trust: boolean): this; @@ -2112,17 +2111,17 @@ export interface IResourceWithEnvironment { withEnvironment(name: string, value: string | IResourceWithConnectionString | IValueProvider): this; /** - * Sets environment variables via callback + * Allows for the population of environment variables on a resource. */ withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) => Promise): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(options?: { password?: string | ParameterResource }): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(password?: string | ParameterResource): this; @@ -2137,7 +2136,7 @@ export interface IResourceWithEnvironment { withOtlpExporter(protocol?: OtlpProtocol): this; /** - * Removes HTTPS certificate configuration + * Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied. */ withoutHttpsCertificate(): IResourceWithEnvironment; @@ -2152,7 +2151,7 @@ export interface IResourceWithEnvironment { withReference(source: EndpointReference|string|uri, connectionName?: string, optional?: boolean, name?: string): this; /** - * Configures which reference values are injected into environment variables + * Configures how information is injected into environment variables when the resource references other resources. */ withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): this; @@ -2174,9 +2173,9 @@ export interface IResourceWithWaitSupport { * Waits for another resource to be ready */ - waitFor(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitFor(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; /** - * Waits for resource completion + * Waits for the dependency resource to enter the Exited or Finished state before starting the resource. */ waitForCompletion(dependency: IResource, exitCode?: number): this; @@ -2184,7 +2183,7 @@ export interface IResourceWithWaitSupport { * Waits for another resource to start */ - waitForStart(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitForStart(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; } /** @@ -2193,22 +2192,22 @@ export interface IResourceWithWaitSupport { export interface LogFacade { /** - * Writes a debug log message + * Writes a debug log message. */ debug(message: string): void; /** - * Writes an error log message + * Writes an error log message. */ error(message: string): void; /** - * Writes an informational log message + * Writes an informational log message. */ info(message: string): void; /** - * Writes a warning log message + * Writes a warning log message. */ warning(message: string): void; @@ -2220,12 +2219,12 @@ export interface LogFacade { export interface ParameterResource extends IExpressionValue, IManifestExpressionProvider, IResource, IValueProvider { /** - * Sets a parameter description + * Sets the description of the parameter resource. */ withDescription(description: string, options?: { enableMarkdown?: boolean }): this; /** - * Sets a parameter description + * Sets the description of the parameter resource. */ withDescription(description: string, enableMarkdown?: boolean): this; @@ -2237,22 +2236,22 @@ export interface ParameterResource extends IExpressionValue, IManifestExpression export interface ProjectResource extends IComputeResource, IContainerFilesDestinationResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IResourceWithServiceDiscovery { /** - * Disables forwarded headers for the project + * Configures the project to disable forwarded headers when being published. */ disableForwardedHeaders(): ProjectResource; /** - * Publishes a project as a Docker file with optional container configuration + * Adds support for containerizing this `ProjectResource` during deployment. The resulting container image is built, and when the optional `configure` action is provided, it is used to configure the container resource. */ publishAsDockerFile(options?: { configure?: (obj: ContainerResource) => Promise }): this; /** - * Publishes a project as a Docker file with optional container configuration + * Adds support for containerizing this `ProjectResource` during deployment. The resulting container image is built, and when the optional `configure` action is provided, it is used to configure the container resource. */ publishAsDockerFile(configure?: (obj: ContainerResource) => Promise): this; /** - * Sets the number of replicas + * Configures how many replicas of the project should be created for the project. */ withReplicas(replicas: number): this; @@ -2264,7 +2263,7 @@ export interface ProjectResource extends IComputeResource, IContainerFilesDestin export interface ReferenceExpression extends IExpressionValue, IManifestExpressionProvider, IValueProvider, IValueWithReferences { /** - * Gets the resolved string value of the reference expression asynchronously + * Gets the value of the expression. The final string value after evaluating the format string and its parameters. */ getValueAsync(cancellationToken: cancellationToken): string; @@ -2276,27 +2275,27 @@ export interface ReferenceExpression extends IExpressionValue, IManifestExpressi export interface ReferenceExpressionBuilder { /** - * Appends a formatted string value to the reference expression + * Appends a formatted value to the expression. */ appendFormatted(value: string, format?: string): void; /** - * Appends a literal string to the reference expression + * Appends a literal value to the expression. */ appendLiteral(value: string): void; /** - * Appends a value provider to the reference expression + * Appends a value provider to the expression using late binding. The object must implement both `IValueProvider` and `IManifestExpressionProvider`, or be an `IResourceBuilder`1` where T implements both interfaces. */ appendValueProvider(valueProvider: any, format?: string): void; /** - * Builds the reference expression + * Builds the `ReferenceExpression`. */ build(): ReferenceExpression; /** - * Gets the IsEmpty property + * Indicates whether the expression is empty. */ isEmpty: PropertyAccessor; @@ -2325,12 +2324,12 @@ export interface ResourceEndpointsAllocatedEvent extends IDistributedApplication export interface ResourceLoggerService extends IDisposable { /** - * Completes the log stream for a resource + * Completes the log stream for a resource. */ completeLog(resource: IResource): void; /** - * Completes the log stream by resource name + * Completes the log stream by resource name. */ completeLogByName(resourceName: string): void; @@ -2342,37 +2341,37 @@ export interface ResourceLoggerService extends IDisposable { export interface ResourceNotificationService extends IDisposable { /** - * Publishes an update for a resource's state + * Publishes an update for a resource's state. */ publishResourceUpdate(resource: IResource, options?: { state?: string; stateStyle?: string }): void; /** - * Publishes an update for a resource's state + * Publishes an update for a resource's state. */ publishResourceUpdate(resource: IResource, state?: string, stateStyle?: string): void; /** - * Tries to get the current state of a resource + * Tries to get the current state of a resource. */ tryGetResourceState(resourceName: string): ResourceEventDto; /** - * Waits for all dependencies of a resource to be ready + * Waits for all dependencies of a resource to be ready. */ waitForDependencies(resource: IResource): void; /** - * Waits for a resource to become healthy + * Waits for a resource to become healthy. */ waitForResourceHealthy(resourceName: string): ResourceEventDto; /** - * Waits for a resource to reach a specified state + * Waits for a resource to reach a specified state. */ waitForResourceState(resourceName: string, targetState?: string): void; /** - * Waits for a resource to reach one of the specified states + * Waits for a resource to reach one of the specified states. */ waitForResourceStates(resourceName: string, targetStates: string[]): string; @@ -2384,7 +2383,7 @@ export interface ResourceNotificationService extends IDisposable { export interface ResourceReadyEvent extends IDistributedApplicationEvent, IDistributedApplicationResourceEvent { /** - * Gets the Resource property + * The resource that is in a healthy state. */ resource: PropertyAccessor; @@ -2418,27 +2417,27 @@ export interface ResourceStoppedEvent extends IDistributedApplicationEvent, IDis export interface ResourceUrlsCallbackContext { /** - * Gets the execution context for this callback invocation + * Gets the execution context associated with this invocation of the AppHost. */ executionContext: PropertyAccessor; /** - * Gets an endpoint reference from the associated resource + * Gets an endpoint reference from `Resource` for the specified endpoint name. If `Resource` does not implement `IResourceWithEndpoints` then returns `null`. */ getEndpoint(name: string): EndpointReference; /** - * Gets the callback logger facade + * Gets the logger facade used by polyglot callbacks. */ log: PropertyAccessor; /** - * Gets the resource associated with these URLs + * Gets the resource this the URLs are associated with. */ resource: PropertyAccessor; /** - * Gets the URL editor + * Gets the editor used to manipulate displayed URLs in polyglot callbacks. */ urls: PropertyAccessor; @@ -2450,22 +2449,22 @@ export interface ResourceUrlsCallbackContext { export interface ResourceUrlsEditor { /** - * Adds a displayed URL + * Adds a displayed URL. */ add(url: ReferenceExpression, displayText?: string): void; /** - * Adds a displayed URL for a specific endpoint + * Adds a displayed URL for a specific endpoint. */ addForEndpoint(endpoint: EndpointReference, url: ReferenceExpression, options?: { displayText?: string }): void; /** - * Adds a displayed URL for a specific endpoint + * Adds a displayed URL for a specific endpoint. */ addForEndpoint(endpoint: EndpointReference, url: ReferenceExpression, displayText?: string): void; /** - * Gets the execution context for this URL editor + * Gets the execution context associated with this editor. */ executionContext: PropertyAccessor; @@ -2477,15 +2476,10 @@ export interface ResourceUrlsEditor { export interface UpdateCommandStateContext { /** - * Gets the ServiceProvider property + * The service provider. */ serviceProvider: PropertyAccessor; - /** - * Sets the ServiceProvider property - */ - - setServiceProvider(value: IServiceProvider): UpdateCommandStateContext; } /** @@ -2494,22 +2488,22 @@ export interface UpdateCommandStateContext { export interface EventingSubscriberRegistrationContext { /** - * Gets the CancellationToken property + * The cancellation token associated with the subscriber registration. */ cancellationToken: PropertyAccessor; /** - * Gets the ExecutionContext property + * The execution context for the AppHost invocation. */ executionContext: PropertyAccessor; /** - * Subscribes an eventing subscriber to the AfterResourcesCreated event + * Subscribes to the AfterResourcesCreated event from an eventing subscriber registration context. */ onAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) => Promise): DistributedApplicationEventSubscription; /** - * Subscribes an eventing subscriber to the BeforeStart event + * Subscribes to the BeforeStart event from an eventing subscriber registration context. */ onBeforeStart(callback: (arg: BeforeStartEvent) => Promise): DistributedApplicationEventSubscription; @@ -2521,7 +2515,7 @@ export interface EventingSubscriberRegistrationContext { export interface DistributedApplication extends IHost, IAsyncDisposable, IDisposable { /** - * Runs the distributed application + * Runs an application and returns a Task that only completes when the token is triggered or shutdown is triggered and all `IHostedService` instances are stopped. */ run(cancellationToken?: cancellationToken): void; @@ -2533,32 +2527,32 @@ export interface DistributedApplication extends IHost, IAsyncDisposable, IDispos export interface DistributedApplicationExecutionContext { /** - * Gets the IsPublishMode property + * Returns true if the current operation is publishing. */ isPublishMode: PropertyAccessor; /** - * Gets the IsRunMode property + * Returns true if the current operation is running. */ isRunMode: PropertyAccessor; /** - * Gets the Operation property + * The operation currently being performed by the AppHost. */ operation: PropertyAccessor; /** - * Gets the PublisherName property + * The name of the publisher that is being used if `Operation` is set to `Publish`. */ publisherName: PropertyAccessor; /** - * Gets the ServiceProvider property + * The `IServiceProvider` for the AppHost. */ serviceProvider: PropertyAccessor; /** - * Sets the PublisherName property + * The name of the publisher that is being used if `Operation` is set to `Publish`. */ setPublisherName(value: string): DistributedApplicationExecutionContext; @@ -2598,7 +2592,7 @@ export interface IDistributedApplicationEvent { export interface IDistributedApplicationEventing { /** - * Invokes the Unsubscribe method + * Unsubscribe from an event. */ unsubscribe(subscription: DistributedApplicationEventSubscription): void; @@ -2617,12 +2611,12 @@ export interface IDistributedApplicationResourceEvent { export interface ExternalServiceResource extends IResource { /** - * Adds an HTTP health check to the external service + * Adds an HTTP health check to the external service for polyglot app hosts. */ withHttpHealthCheck(options?: { path?: string; statusCode?: number; endpointName?: string }): this; /** - * Adds an HTTP health check to the external service + * Adds an HTTP health check to the external service for polyglot app hosts. */ withHttpHealthCheck(path?: string, statusCode?: number, endpointName?: string): this; @@ -2644,7 +2638,7 @@ export interface IDistributedApplicationBuilder { addConnectionString(name: string, environmentVariableNameOrExpression?: ReferenceExpression): IResourceWithConnectionString; /** - * Adds a container resource + * Adds a container resource to the application. */ addContainer(name: string, image: AddContainerOptions): ContainerResource; @@ -2669,37 +2663,37 @@ export interface IDistributedApplicationBuilder { addCSharpApp(name: string, path: string, options?: ProjectResourceOptions): CSharpAppResource; /** - * Adds a container resource built from a Dockerfile + * Adds a Dockerfile to the application model that can be treated like a container resource. */ addDockerfile(name: string, contextPath: string, options?: { dockerfilePath?: string; stage?: string }): ContainerResource; /** - * Adds a container resource built from a Dockerfile + * Adds a Dockerfile to the application model that can be treated like a container resource. */ addDockerfile(name: string, contextPath: string, dockerfilePath?: string, stage?: string): ContainerResource; /** - * Adds a container resource built from a programmatically generated Dockerfile + * Adds a Dockerfile to the application model that can be treated like a container resource, with the Dockerfile generated programmatically using the `DockerfileBuilder` API. */ addDockerfileBuilder(name: string, contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) => Promise, options?: { stage?: string }): ContainerResource; /** - * Adds a container resource built from a programmatically generated Dockerfile + * Adds a Dockerfile to the application model that can be treated like a container resource, with the Dockerfile generated programmatically using the `DockerfileBuilder` API. */ addDockerfileBuilder(name: string, contextPath: string, callback: (arg: DockerfileBuilderCallbackContext) => Promise, stage?: string): ContainerResource; /** - * Adds a .NET tool resource + * Adds a .NET tool resource to the application model. */ addDotnetTool(name: string, packageId: string): DotnetToolResource; /** - * Adds an eventing subscriber + * Adds an ATS-friendly eventing subscriber callback to the distributed-application builder. */ addEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) => Promise): void; /** - * Adds an executable resource + * Adds an executable resource to the application model. */ addExecutable(name: string, command: string, workingDirectory: string, args: string[]): ExecutableResource; @@ -2719,12 +2713,12 @@ export interface IDistributedApplicationBuilder { addParameter(name: string, value?: string, publishValueAsDefault?: boolean, secret?: boolean): ParameterResource; /** - * Adds a parameter sourced from configuration + * Adds a parameter resource to the application, with a value coming from configuration. */ addParameterFromConfiguration(name: string, configurationKey: string, options?: { secret?: boolean }): ParameterResource; /** - * Adds a parameter sourced from configuration + * Adds a parameter resource to the application, with a value coming from configuration. */ addParameterFromConfiguration(name: string, configurationKey: string, secret?: boolean): ParameterResource; @@ -2749,17 +2743,17 @@ export interface IDistributedApplicationBuilder { addProject(name: string, projectPath: string, launchProfileOrOptions?: ProjectResourceOptions): ProjectResource; /** - * Gets the application configuration + * Gets the application configuration. */ getConfiguration(): IConfiguration; /** - * Gets the AppHostDirectory property + * Directory of the project where the app host is located. Defaults to the content root if there's no project. */ appHostDirectory: PropertyAccessor; /** - * Builds the distributed application + * Builds and returns a new `DistributedApplication` instance. This can only be called once. */ build(): DistributedApplication; @@ -2769,37 +2763,37 @@ export interface IDistributedApplicationBuilder { environment: PropertyAccessor; /** - * Gets the Eventing property + * Eventing infrastructure for AppHost lifecycle. */ eventing: PropertyAccessor; /** - * Gets the ExecutionContext property + * Execution context for this invocation of the AppHost. */ executionContext: PropertyAccessor; /** - * Gets the Pipeline property + * Gets the deployment pipeline for this distributed application. */ pipeline: PropertyAccessor; /** - * Gets the UserSecretsManager property + * Gets the service for managing user secrets. */ userSecretsManager: PropertyAccessor; /** - * Subscribes to the AfterResourcesCreated event + * Subscribes to the AfterResourcesCreated event, which fires after all resources are created. */ subscribeAfterResourcesCreated(callback: (arg: AfterResourcesCreatedEvent) => Promise): DistributedApplicationEventSubscription; /** - * Subscribes to the BeforeStart event + * Subscribes to the BeforeStart event, which fires before the application starts. */ subscribeBeforeStart(callback: (arg: BeforeStartEvent) => Promise): DistributedApplicationEventSubscription; /** - * Attempts to add an eventing subscriber + * Attempts to add an ATS-friendly eventing subscriber callback to the distributed-application builder. */ tryAddEventingSubscriber(subscribe: (arg: EventingSubscriberRegistrationContext) => Promise): void; @@ -2811,12 +2805,12 @@ export interface IDistributedApplicationBuilder { export interface IResourceWithContainerFiles { /** - * Clears all container file sources + * Removes any container files source annotation from the resource being built. */ clearContainerFilesSources(): IResourceWithContainerFiles; /** - * Sets the source directory for container files + * Adds a container files source annotation to the resource being built, specifying the path to the container files source. */ withContainerFilesSource(sourcePath: string): this; @@ -2828,32 +2822,32 @@ export interface IResourceWithContainerFiles { export interface IUserSecretsManager { /** - * Gets a secret value if it exists, or sets it to the provided value if it does not + * Gets a secret value if it exists in configuration, or sets it to the provided value if it does not. */ getOrSetSecret(resourceBuilder: IResource, name: string, value: string): void; /** - * Gets the FilePath property + * Gets the path to the user secrets file. */ filePath: PropertyAccessor; /** - * Gets the IsAvailable property + * Gets a value indicating whether user secrets are available. */ isAvailable: PropertyAccessor; /** - * Attempts to delete a user secret value + * Attempts to delete a user secret value synchronously. */ tryDeleteSecret(name: string): boolean; /** - * Attempts to set a user secret value + * Attempts to set a user secret value synchronously. */ trySetSecret(name: string, value: string): boolean; /** - * Saves state to user secrets from a JSON string + * Saves state to user secrets from a JSON string. */ saveStateJson(json: string, cancellationToken?: cancellationToken): void; @@ -2865,22 +2859,22 @@ export interface IUserSecretsManager { export interface IDistributedApplicationPipeline { /** - * Adds a pipeline step to the application + * Adds an application-level pipeline step in a TypeScript-friendly shape. */ addStep(stepName: string, callback: (arg: PipelineStepContext) => Promise, options?: { dependsOn?: string[]; requiredBy?: string[] }): void; /** - * Adds a pipeline step to the application + * Adds an application-level pipeline step in a TypeScript-friendly shape. */ addStep(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[]): void; /** - * Configures the application pipeline via a callback + * Registers a pipeline configuration callback in a TypeScript-friendly shape. */ configure(callback: (arg: PipelineConfigurationContext) => Promise): void; /** - * Disables publish and deploy validation for unconsumed build-only containers. + * Disables the publish and deploy validation that requires build-only containers to be consumed by another resource. */ disableBuildOnlyContainerValidation(): IDistributedApplicationPipeline; @@ -2892,32 +2886,32 @@ export interface IDistributedApplicationPipeline { export interface IReportingStep { /** - * Completes the reporting step with plain-text completion text + * Completes the reporting step with plain-text completion text. */ completeStep(completionText: string, completionState?: string, cancellationToken?: cancellationToken): void; /** - * Completes the reporting step with Markdown-formatted completion text + * Completes the reporting step with Markdown-formatted completion text. */ completeStepMarkdown(markdownString: string, completionState?: string, cancellationToken?: cancellationToken): void; /** - * Creates a reporting task with Markdown-formatted status text + * Creates a reporting task with Markdown-formatted status text. */ createMarkdownTask(markdownString: string, cancellationToken?: cancellationToken): IReportingTask; /** - * Creates a reporting task with plain-text status text + * Creates a reporting task with plain-text status text. */ createTask(statusText: string, cancellationToken?: cancellationToken): IReportingTask; /** - * Logs a plain-text message for the reporting step + * Logs a plain-text message for the reporting step. */ logStep(level: string, message: string): void; /** - * Logs a Markdown-formatted message for the reporting step + * Logs a Markdown-formatted message for the reporting step. */ logStepMarkdown(level: string, markdownString: string): void; @@ -2929,22 +2923,22 @@ export interface IReportingStep { export interface IReportingTask { /** - * Completes the reporting task with plain-text completion text + * Completes the reporting task with plain-text completion text. */ completeTask(completionMessage?: string, completionState?: string, cancellationToken?: cancellationToken): void; /** - * Completes the reporting task with Markdown-formatted completion text + * Completes the reporting task with Markdown-formatted completion text. */ completeTaskMarkdown(markdownString: string, completionState?: string, cancellationToken?: cancellationToken): void; /** - * Updates the reporting task with plain-text status text + * Updates the reporting task with plain-text status text. */ updateTask(statusText: string, cancellationToken?: cancellationToken): void; /** - * Updates the reporting task with Markdown-formatted status text + * Updates the reporting task with Markdown-formatted status text. */ updateTaskMarkdown(markdownString: string, cancellationToken?: cancellationToken): void; @@ -2956,17 +2950,17 @@ export interface IReportingTask { export interface PipelineConfigurationContext { /** - * Gets pipeline steps with the specified tag + * Gets all pipeline steps with the specified tag. */ getSteps(tag: string): PipelineStep[]; /** - * Gets the callback logger facade + * Gets the logger facade used by polyglot callbacks. */ log: PropertyAccessor; /** - * Gets the pipeline editor + * Gets the pipeline editor used by polyglot callbacks. */ pipeline: PropertyAccessor; @@ -2978,37 +2972,37 @@ export interface PipelineConfigurationContext { export interface PipelineContext { /** - * Gets the CancellationToken property + * Gets the cancellation token for the pipeline operation. */ cancellationToken: PropertyAccessor; /** - * Gets the ExecutionContext property + * Gets the execution context for the distributed application. */ executionContext: PropertyAccessor; /** - * Gets the Logger property + * Gets the logger for pipeline operations. */ logger: PropertyAccessor; /** - * Gets the Model property + * Gets the distributed application model to be deployed. */ model: PropertyAccessor; /** - * Gets the Services property + * Gets the service provider for dependency resolution. */ services: PropertyAccessor; /** - * Sets the CancellationToken property + * Gets the cancellation token for the pipeline operation. */ setCancellationToken(value: cancellationToken): PipelineContext; /** - * Gets the Summary property + * Gets the pipeline summary that steps can add information to. The summary will be displayed to users after pipeline execution completes. */ summary: PropertyAccessor; @@ -3020,12 +3014,12 @@ export interface PipelineContext { export interface PipelineEditor { /** - * Gets all configured pipeline steps + * Gets all configured pipeline steps. */ steps(): PipelineStep[]; /** - * Gets pipeline steps with the specified tag + * Gets all pipeline steps that have the specified tag. */ stepsByTag(tag: string): PipelineStep[]; @@ -3037,27 +3031,27 @@ export interface PipelineEditor { export interface PipelineStep { /** - * Adds a tag to the step + * Adds a tag to the step. */ addTag(tag: string): void; /** - * Adds a dependency on another step by name + * Adds a dependency on another step. */ dependsOn(stepName: string): void; /** - * Gets the human-readable description of the step + * Gets the exported description projection for polyglot SDKs. */ description: PropertyAccessor; /** - * Gets the unique name of the step + * Gets the exported name projection for polyglot SDKs. */ name: PropertyAccessor; /** - * Specifies that another step requires this step by name + * Specifies that this step is required by another step. This creates the inverse relationship where the other step will depend on this step. */ requiredBy(stepName: string): void; @@ -3069,52 +3063,42 @@ export interface PipelineStep { export interface PipelineStepContext { /** - * Gets the CancellationToken property + * Gets the cancellation token for the pipeline operation. */ cancellationToken: PropertyAccessor; /** - * Gets the ExecutionContext property + * Gets the execution context for the distributed application. */ executionContext: PropertyAccessor; /** - * Gets the Logger property + * Gets the logger for pipeline operations that writes to both the pipeline logger and the step logger. */ logger: PropertyAccessor; /** - * Gets the Model property + * Gets the distributed application model to be deployed. */ model: PropertyAccessor; /** - * Gets the PipelineContext property + * Gets the pipeline context shared across all steps. */ pipelineContext: PropertyAccessor; /** - * Gets the ReportingStep property + * Gets the publishing step associated with this specific step execution. */ reportingStep: PropertyAccessor; /** - * Gets the Services property + * Gets the service provider for dependency resolution. */ services: PropertyAccessor; /** - * Sets the PipelineContext property - */ - - setPipelineContext(value: PipelineContext): PipelineStepContext; - /** - * Sets the ReportingStep property - */ - - setReportingStep(value: IReportingStep): PipelineStepContext; - /** - * Gets the Summary property + * Gets the pipeline summary that steps can add information to. The summary will be displayed to users after pipeline execution completes. */ summary: PropertyAccessor; @@ -3126,25 +3110,15 @@ export interface PipelineStepContext { export interface PipelineStepFactoryContext { /** - * Gets the PipelineContext property + * Gets the pipeline context that has the model and other properties. */ pipelineContext: PropertyAccessor; /** - * Gets the Resource property + * Gets the resource that this factory is associated with. */ resource: PropertyAccessor; - /** - * Sets the PipelineContext property - */ - - setPipelineContext(value: PipelineContext): PipelineStepFactoryContext; - /** - * Sets the Resource property - */ - - setResource(value: IResource): PipelineStepFactoryContext; } /** @@ -3153,12 +3127,12 @@ export interface PipelineStepFactoryContext { export interface PipelineSummary { /** - * Adds a Markdown-formatted value to the pipeline summary + * Adds a key-value pair to the pipeline summary with a Markdown-formatted value. */ addMarkdown(key: string, markdownString: string): void; /** - * Invokes the Add method + * Adds a key-value pair to the pipeline summary with a plain-text value. */ add(key: string, value: string): void; @@ -3170,32 +3144,32 @@ export interface PipelineSummary { export interface ProjectResourceOptions { /** - * Gets the ExcludeKestrelEndpoints property + * If set, ignore endpoints coming from Kestrel configuration. */ excludeKestrelEndpoints: PropertyAccessor; /** - * Gets the ExcludeLaunchProfile property + * If set, no launch profile will be used, and LaunchProfileName will be ignored. */ excludeLaunchProfile: PropertyAccessor; /** - * Gets the LaunchProfileName property + * The launch profile to use. If `null` then the default launch profile will be used. */ launchProfileName: PropertyAccessor; /** - * Sets the ExcludeKestrelEndpoints property + * If set, ignore endpoints coming from Kestrel configuration. */ setExcludeKestrelEndpoints(value: boolean): ProjectResourceOptions; /** - * Sets the ExcludeLaunchProfile property + * If set, no launch profile will be used, and LaunchProfileName will be ignored. */ setExcludeLaunchProfile(value: boolean): ProjectResourceOptions; /** - * Sets the LaunchProfileName property + * The launch profile to use. If `null` then the default launch profile will be used. */ setLaunchProfileName(value: string): ProjectResourceOptions; @@ -3207,42 +3181,42 @@ export interface ProjectResourceOptions { export interface IAzureResource { /** - * Marks an Azure resource as existing in both run and publish modes + * Marks the resource as an existing resource in both run and publish modes. */ asExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): IAzureResource; /** - * Clears the default Azure role assignments from a resource + * Clears all default role assignments for the specified Azure resource. */ clearDefaultRoleAssignments(): IAzureResource; /** - * Gets the normalized Bicep identifier for an Azure resource + * Gets the Bicep identifier for the Azure resource. */ getBicepIdentifier(): string; /** - * Determines whether a resource is marked as existing + * Determines whether the Azure resource is marked as existing. */ isExisting(): boolean; /** - * Publishes an Azure resource to the manifest as a connection string + * Changes the resource to be published as a connection string reference in the manifest. */ publishAsConnectionString(): this; /** - * Marks an Azure resource as existing in publish mode + * Marks the resource as an existing resource when the application is deployed. */ publishAsExisting(name: string | ParameterResource, options?: { resourceGroup?: string | ParameterResource }): this; /** - * Marks an Azure resource as existing in publish mode + * Marks the resource as an existing resource when the application is deployed. */ publishAsExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): this; /** - * Marks an Azure resource as existing in run mode + * Marks the resource as an existing resource when the application is running. */ runAsExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): IAzureResource; @@ -3254,7 +3228,7 @@ export interface IAzureResource { export interface AzureBicepResource extends IAzureResource, IResource, IResourceWithParameters { /** - * Gets an output reference from an Azure Bicep template resource + * Gets a reference to an output from a bicep template. */ getOutput(name: string): BicepOutputReference; @@ -3276,12 +3250,12 @@ export interface AzureBicepResource extends IAzureResource, IResource, IResource export interface AzureEnvironmentResource extends IResource { /** - * Sets the Azure location for the shared Azure environment resource + * Sets the location of the Azure environment resource. */ withLocation(location: string | ParameterResource): this; /** - * Sets the Azure resource group for the shared Azure environment resource + * Sets the resource group name of the Azure environment resource. */ withResourceGroup(resourceGroup: string | ParameterResource): this; @@ -3293,7 +3267,7 @@ export interface AzureEnvironmentResource extends IResource { export interface AzureProvisioningResource extends AzureBicepResource, IAzureResource, IResource, IResourceWithParameters { /** - * Configures the Azure provisioning infrastructure callback + * Configures the Azure provisioning resource `Infrastructure`. */ configureInfrastructure(configure: (obj: AzureResourceInfrastructure) => Promise): AzureProvisioningResource; @@ -3319,17 +3293,17 @@ export interface AzureUserAssignedIdentityResource extends AzureBicepResource, A export interface BicepOutputReference extends IExpressionValue, IManifestExpressionProvider, IValueProvider, IValueWithReferences { /** - * Gets the Name property + * Name of the output. */ name: PropertyAccessor; /** - * Gets the Value property + * The value of the output. */ value: PropertyAccessor; /** - * Gets the ValueExpression property + * The expression used in the manifest to reference the value of the output. */ valueExpression: PropertyAccessor; @@ -3355,27 +3329,27 @@ export interface IAzureKeyVaultSecretReference { export interface AzureAppConfigurationEmulatorResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Adds a data bind mount for the App Configuration emulator + * Adds a bind mount for the storage of an Azure App Configuration emulator resource. */ withDataBindMount(options?: { path?: string }): this; /** - * Adds a data bind mount for the App Configuration emulator + * Adds a bind mount for the storage of an Azure App Configuration emulator resource. */ withDataBindMount(path?: string): this; /** - * Adds a data volume for the App Configuration emulator + * Adds a named volume for the data folder to an Azure App Configuration emulator resource. */ withDataVolume(options?: { name?: string }): this; /** - * Adds a data volume for the App Configuration emulator + * Adds a named volume for the data folder to an Azure App Configuration emulator resource. */ withDataVolume(name?: string): this; /** - * Sets the host port for the App Configuration emulator + * Configures the host port for the Azure App Configuration emulator is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; @@ -3387,7 +3361,7 @@ export interface AzureAppConfigurationEmulatorResource extends ContainerResource export interface AzureAppConfigurationResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithParameters, IValueProvider, IValueWithReferences, IAzurePrivateEndpointTarget { /** - * Configures Azure App Configuration to run with the local emulator + * Configures an Azure App Configuration resource to be emulated. This resource requires an `AzureAppConfigurationResource` to be added to the application model. */ runAsEmulator(configureEmulator?: (obj: AzureAppConfigurationEmulatorResource) => Promise): AzureAppConfigurationResource; @@ -3399,37 +3373,37 @@ export interface AzureAppConfigurationResource extends AzureBicepResource, Azure export interface AzureContainerAppEnvironmentResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IComputeEnvironmentResource, IContainerRegistry, IResource, IResourceWithParameters, IAzureComputeEnvironmentResource, IAzureContainerRegistry, IAzureDelegatedSubnetResource { /** - * Configures resources to use azd naming conventions + * Configures the container app environment resources to use the same naming conventions as azd. */ withAzdResourceNaming(): this; /** - * Configures the container app environment to use a specific Log Analytics Workspace + * Configures the container app environment resource to use the specified Log Analytics Workspace. */ withAzureLogAnalyticsWorkspace(workspaceBuilder: AzureLogAnalyticsWorkspaceResource): this; /** - * Configures resources to use compact naming for length-constrained Azure resources + * Configures the container app environment to use compact resource naming that maximally preserves the `uniqueString` suffix for length-constrained Azure resources such as storage accounts. */ withCompactResourceNaming(): this; /** - * Configures whether the Aspire dashboard is included in the container app environment + * Configures whether the Aspire dashboard should be included in the container app environment. */ withDashboard(options?: { enable?: boolean }): this; /** - * Configures whether the Aspire dashboard is included in the container app environment + * Configures whether the Aspire dashboard should be included in the container app environment. */ withDashboard(enable?: boolean): this; /** - * Configures whether HTTP endpoints are upgraded to HTTPS + * Configures whether HTTP endpoints should be upgraded to HTTPS in Azure Container Apps. By default, HTTP endpoints are upgraded to HTTPS for security and WebSocket compatibility. */ withHttpsUpgrade(options?: { upgrade?: boolean }): this; /** - * Configures whether HTTP endpoints are upgraded to HTTPS + * Configures whether HTTP endpoints should be upgraded to HTTPS in Azure Container Apps. By default, HTTP endpoints are upgraded to HTTPS for security and WebSocket compatibility. */ withHttpsUpgrade(upgrade?: boolean): this; @@ -3451,12 +3425,12 @@ export interface AzureAppServiceEnvironmentResource extends AzureBicepResource, withAzureApplicationInsights(applicationInsights?: AzureApplicationInsightsResource): this; /** - * Configures whether the Aspire dashboard is included in the Azure App Service environment + * Configures whether the Aspire dashboard should be included in the Azure App Service environment. */ withDashboard(options?: { enable?: boolean }): this; /** - * Configures whether the Aspire dashboard is included in the Azure App Service environment + * Configures whether the Aspire dashboard should be included in the Azure App Service environment. */ withDashboard(enable?: boolean): this; @@ -3466,12 +3440,12 @@ export interface AzureAppServiceEnvironmentResource extends AzureBicepResource, withDeploymentSlot(deploymentSlot: string | ParameterResource): this; /** - * Configures whether HTTP endpoints are automatically upgraded to HTTPS in Azure App Service + * Configures whether HTTP endpoints should be automatically upgraded to HTTPS for the Azure App Service environment. By default, HTTP endpoints are upgraded to HTTPS for security and WebSocket compatibility. */ withHttpsUpgrade(options?: { upgrade?: boolean }): this; /** - * Configures whether HTTP endpoints are automatically upgraded to HTTPS in Azure App Service + * Configures whether HTTP endpoints should be automatically upgraded to HTTPS for the Azure App Service environment. By default, HTTP endpoints are upgraded to HTTPS for security and WebSocket compatibility. */ withHttpsUpgrade(upgrade?: boolean): this; @@ -3483,7 +3457,7 @@ export interface AzureAppServiceEnvironmentResource extends AzureBicepResource, export interface AzureApplicationInsightsResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParameters, IValueProvider, IValueWithReferences { /** - * Configures the Application Insights resource to use a Log Analytics Workspace + * Configures the Application Insights resource to use the specified Log Analytics Workspace resource. */ withLogAnalyticsWorkspace(logAnalyticsWorkspace: AzureLogAnalyticsWorkspaceResource): this; @@ -3495,67 +3469,67 @@ export interface AzureApplicationInsightsResource extends AzureBicepResource, Az export interface AzureOpenAIDeploymentResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Azure OpenAI Deployment resource. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DeploymentName property + * Gets or sets the name of the deployment. */ deploymentName: PropertyAccessor; /** - * Gets the ModelName property + * Gets the name of the model. */ modelName: PropertyAccessor; /** - * Gets the ModelVersion property + * Gets the version of the model. */ modelVersion: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent Azure OpenAI resource. */ parent: PropertyAccessor; /** - * Sets the DeploymentName property + * Gets or sets the name of the deployment. */ setDeploymentName(value: string): AzureOpenAIDeploymentResource; /** - * Sets the ModelName property + * Gets the name of the model. */ setModelName(value: string): AzureOpenAIDeploymentResource; /** - * Sets the ModelVersion property + * Gets the version of the model. */ setModelVersion(value: string): AzureOpenAIDeploymentResource; /** - * Sets the SkuCapacity property + * Gets the capacity of the SKU. */ setSkuCapacity(value: number): AzureOpenAIDeploymentResource; /** - * Sets the SkuName property + * Gets the name of the SKU. */ setSkuName(value: string): AzureOpenAIDeploymentResource; /** - * Gets the SkuCapacity property + * Gets the capacity of the SKU. */ skuCapacity: PropertyAccessor; /** - * Gets the SkuName property + * Gets the name of the SKU. */ skuName: PropertyAccessor; /** - * Configures properties of an Azure OpenAI deployment + * Allows setting the properties of an Azure OpenAI Deployment resource. */ withProperties(configure: (obj: AzureOpenAIDeploymentResource) => Promise): this; @@ -3567,7 +3541,7 @@ export interface AzureOpenAIDeploymentResource extends IExpressionValue, IManife export interface AzureOpenAIResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParameters, IValueProvider, IValueWithReferences, IAzureNspAssociationTarget, IAzurePrivateEndpointTarget { /** - * Adds an Azure OpenAI deployment resource + * Adds and returns an Azure OpenAI Deployment resource to the `AzureOpenAIResource` resource. */ addDeployment(name: string, modelName: string, modelVersion: string): AzureOpenAIDeploymentResource; @@ -3579,12 +3553,12 @@ export interface AzureOpenAIResource extends AzureBicepResource, AzureProvisioni export interface AzureContainerRegistryResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IContainerRegistry, IResource, IResourceWithParameters, IAzureContainerRegistryResource, IAzurePrivateEndpointTarget { /** - * Configures a purge task for the Azure Container Registry resource. + * Adds a scheduled ACR purge task to remove old or unused container images from the registry. */ withPurgeTask(schedule: string, options?: { filter?: string; ago?: timespan; keep?: number; taskName?: string }): this; /** - * Configures a purge task for the Azure Container Registry resource. + * Adds a scheduled ACR purge task to remove old or unused container images from the registry. */ withPurgeTask(schedule: string, filter?: string, ago?: timespan, keep?: number, taskName?: string): this; @@ -3620,32 +3594,32 @@ export interface AzureCosmosDBDatabaseResource extends IExpressionValue, IManife export interface AzureCosmosDBEmulatorResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Exposes the Data Explorer endpoint for the preview emulator + * Configures the Azure Cosmos DB preview emulator to expose the Data Explorer endpoint. */ withDataExplorer(options?: { port?: number }): this; /** - * Exposes the Data Explorer endpoint for the preview emulator + * Configures the Azure Cosmos DB preview emulator to expose the Data Explorer endpoint. */ withDataExplorer(port?: number): this; /** - * Adds a named volume for the data folder to an Azure Cosmos DB emulator resource + * Adds a named volume for the data folder to an Azure Cosmos DB emulator resource. */ withDataVolume(options?: { name?: string }): this; /** - * Adds a named volume for the data folder to an Azure Cosmos DB emulator resource + * Adds a named volume for the data folder to an Azure Cosmos DB emulator resource. */ withDataVolume(name?: string): this; /** - * Sets the host port for the Cosmos DB emulator gateway endpoint + * Configures the gateway port for the Azure Cosmos DB emulator. */ withGatewayPort(port: number | null): this; /** - * Sets the partition count for the Azure Cosmos DB emulator + * Configures the partition count for the Azure Cosmos DB emulator. */ withPartitionCount(count: number): this; @@ -3657,22 +3631,22 @@ export interface AzureCosmosDBEmulatorResource extends ContainerResource, ICompu export interface AzureCosmosDBResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithParameters, IValueProvider, IValueWithReferences, IAzureNspAssociationTarget, IAzurePrivateEndpointTarget, IResourceWithAzureFunctionsConfig { /** - * Adds an Azure Cosmos DB database resource + * Adds a database to the associated Cosmos DB account resource. */ addCosmosDatabase(name: string, options?: { databaseName?: string }): AzureCosmosDBDatabaseResource; /** - * Adds an Azure Cosmos DB database resource + * Adds a database to the associated Cosmos DB account resource. */ addCosmosDatabase(name: string, databaseName?: string): AzureCosmosDBDatabaseResource; /** - * Configures the Azure Cosmos DB resource to run using the local emulator + * Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB emulator with the NoSQL API. This resource requires an `AzureCosmosDBResource` to be added to the application model. For more information on the Azure Cosmos DB emulator, see . */ runAsEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) => Promise): AzureCosmosDBResource; /** - * Configures the Azure Cosmos DB resource to run using the preview emulator + * Configures an Azure Cosmos DB resource to be emulated using the Azure Cosmos DB Linux-based emulator (preview) with the NoSQL API. This resource requires an `AzureCosmosDBResource` to be added to the application model. For more information on the Azure Cosmos DB emulator, see . */ runAsPreviewEmulator(configureContainer?: (obj: AzureCosmosDBEmulatorResource) => Promise): AzureCosmosDBResource; @@ -3687,7 +3661,7 @@ export interface AzureCosmosDBResource extends AzureBicepResource, AzureProvisio withAccessKeyAuthentication(keyVaultBuilder?: IAzureKeyVaultResource): this; /** - * Configures Azure Cosmos DB to use the default Azure SKU + * Configures the Azure Cosmos DB resource to be deployed use the default SKU provided by Azure. */ withDefaultAzureSku(): this; @@ -3706,47 +3680,47 @@ export interface AzureEventHubConsumerGroupResource extends IExpressionValue, IM export interface AzureEventHubResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences, IResourceWithAzureFunctionsConfig { /** - * Adds an Azure Event Hub consumer group resource + * Adds an Azure Event Hub Consumer Group resource to the application model. */ addConsumerGroup(name: string, options?: { groupName?: string }): AzureEventHubConsumerGroupResource; /** - * Adds an Azure Event Hub consumer group resource + * Adds an Azure Event Hub Consumer Group resource to the application model. */ addConsumerGroup(name: string, groupName?: string): AzureEventHubConsumerGroupResource; /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Azure Event Hub. */ connectionStringExpression: PropertyAccessor; /** - * Gets the HubName property + * The event hub name. */ hubName: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent Azure Event Hubs resource. */ parent: PropertyAccessor; /** - * Gets the PartitionCount property + * Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions. */ partitionCount: PropertyAccessor; /** - * Sets the HubName property + * The event hub name. */ setHubName(value: string): AzureEventHubResource; /** - * Sets the PartitionCount property + * Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions. */ setPartitionCount(value: number): AzureEventHubResource; /** - * Configures properties of an Azure Event Hub + * Allows setting the properties of an Azure Event Hub resource. */ withProperties(configure: (obj: AzureEventHubResource) => Promise): this; @@ -3758,12 +3732,12 @@ export interface AzureEventHubResource extends IExpressionValue, IManifestExpres export interface AzureEventHubsEmulatorResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Sets the emulator configuration file path + * Adds a bind mount for the configuration file of an Azure Event Hubs emulator resource. */ withConfigurationFile(path: string): this; /** - * Sets the host port for the Event Hubs emulator endpoint + * Configures the host port for the Azure Event Hubs emulator is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; @@ -3775,17 +3749,17 @@ export interface AzureEventHubsEmulatorResource extends ContainerResource, IComp export interface AzureEventHubsResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithParameters, IValueProvider, IValueWithReferences, IAzureNspAssociationTarget, IAzurePrivateEndpointTarget, IResourceWithAzureFunctionsConfig { /** - * Adds an Azure Event Hub resource + * Adds an Azure Event Hubs hub resource to the application model. */ addHub(name: string, options?: { hubName?: string }): AzureEventHubResource; /** - * Adds an Azure Event Hub resource + * Adds an Azure Event Hubs hub resource to the application model. */ addHub(name: string, hubName?: string): AzureEventHubResource; /** - * Configures the Azure Event Hubs resource to run with the local emulator + * Configures an Azure Event Hubs resource to be emulated. This resource requires an `AzureEventHubsResource` to be added to the application model. */ runAsEmulator(configureContainer?: (obj: AzureEventHubsEmulatorResource) => Promise): AzureEventHubsResource; @@ -3797,7 +3771,7 @@ export interface AzureEventHubsResource extends AzureBicepResource, AzureProvisi export interface AzureFrontDoorResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IResource, IResourceWithParameters { /** - * Adds an origin (backend) to the Azure Front Door resource + * Adds an origin (backend) to the Azure Front Door resource. Each origin gets its own Front Door endpoint with a distinct `*.azurefd.net` hostname, its own origin group, and a default route. */ withOrigin(resource: IComputeResource): this; @@ -3809,7 +3783,7 @@ export interface AzureFrontDoorResource extends AzureBicepResource, AzureProvisi export interface AzureFunctionsProjectResource extends ProjectResource, IComputeResource, IContainerFilesDestinationResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IResourceWithServiceDiscovery { /** - * Configures the Azure Functions project to use specified Azure Storage as host storage + * Configures the Azure Functions project resource to use the specified Azure Storage resource as its host storage. */ withHostStorage(storage: AzureStorageResource): this; @@ -3821,12 +3795,12 @@ export interface AzureFunctionsProjectResource extends ProjectResource, ICompute export interface DurableTaskHubResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences, IResourceWithAzureFunctionsConfig { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression composed of the scheduler connection string and the TaskHub name. */ connectionStringExpression: PropertyAccessor; /** - * Gets the TaskHubName property + * Gets the name of the Task Hub. If not provided, the logical name of this resource is returned. */ taskHubName: PropertyAccessor; @@ -3850,12 +3824,12 @@ export interface DurableTaskSchedulerEmulatorResource extends ContainerResource, export interface DurableTaskSchedulerResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithEndpoints, IValueProvider, IValueWithReferences { /** - * Adds a Durable Task hub resource associated with the scheduler. + * Adds a Durable Task hub resource associated with the specified scheduler. */ addTaskHub(name: string): DurableTaskHubResource; /** - * Configures the Durable Task scheduler to run using the local emulator. + * Configures the Durable Task scheduler to run using the local emulator (only in non-publish modes). */ runAsEmulator(configureContainer?: (obj: DurableTaskSchedulerEmulatorResource) => Promise): DurableTaskSchedulerResource; @@ -3882,7 +3856,7 @@ export interface AzureKeyVaultResource extends AzureBicepResource, AzureProvisio addSecret(name: string, value: ReferenceExpression, secretName?: string): AzureKeyVaultSecretResource; /** - * Gets a secret reference from the Azure Key Vault + * Gets a secret reference for the specified secret name from the Azure Key Vault resource. */ getSecret(secretName: string): IAzureKeyVaultSecretReference; @@ -3901,7 +3875,7 @@ export interface AzureKeyVaultSecretResource extends IExpressionValue, IManifest export interface AksNodePoolResource extends KubernetesNodePoolResource, IResource, IResourceWithParent { /** - * Configures an AKS node pool to use a specific VNet subnet + * Configures a specific AKS node pool to use its own VNet subnet. When applied, this node pool's subnet overrides the environment-level subnet set via `WithSubnet`. */ withSubnet(subnet: AzureSubnetResource): this; @@ -3913,52 +3887,52 @@ export interface AksNodePoolResource extends KubernetesNodePoolResource, IResour export interface AzureKubernetesEnvironmentResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IComputeEnvironmentResource, IResource, IResourceWithParameters, IAzureComputeEnvironmentResource, IAzureNspAssociationTarget { /** - * Adds a Kubernetes Gateway API Gateway to an AKS environment + * Adds a Kubernetes Gateway API Gateway resource to the application model, associated with the inner Kubernetes environment of the specified AKS environment. */ addGateway(name: string): KubernetesGatewayResource; /** - * Adds a Kubernetes Ingress resource to an AKS environment + * Adds a Kubernetes Ingress resource to the application model, associated with the inner Kubernetes environment of the specified AKS environment. The ingress generates a `networking.k8s.io/v1 Ingress` resource in the Helm chart output at publish time. */ addIngress(name: string): KubernetesIngressResource; /** - * Adds a node pool to the AKS cluster + * Adds a node pool to the AKS cluster. */ addNodePool(name: string, options?: { vmSize?: string; minCount?: number; maxCount?: number }): AksNodePoolResource; /** - * Adds a node pool to the AKS cluster + * Adds a node pool to the AKS cluster. */ addNodePool(name: string, vmSize?: string, minCount?: number, maxCount?: number): AksNodePoolResource; /** - * Configures the AKS environment to use a specific container registry + * Configures the AKS environment to use a specific Azure Container Registry for image storage. When set, this replaces the auto-created default container registry. */ withContainerRegistry(registry: AzureContainerRegistryResource): this; /** - * Configures the AKS cluster to use a VNet subnet + * Configures the AKS cluster to use a VNet subnet for node pool networking. Unlike `WithDelegatedSubnet``1`, this does NOT add a service delegation to the subnet — AKS uses plain (non-delegated) subnets. */ withSubnet(subnet: AzureSubnetResource): this; /** - * Replaces the default system node pool with a customized configuration + * Replaces the default system node pool with a customized configuration. */ withSystemNodePool(options?: { vmSize?: string; minCount?: number; maxCount?: number }): this; /** - * Replaces the default system node pool with a customized configuration + * Replaces the default system node pool with a customized configuration. */ withSystemNodePool(vmSize?: string, minCount?: number, maxCount?: number): this; /** - * Enables workload identity on the AKS cluster + * Enables or disables workload identity on the AKS environment, allowing pods to authenticate to Azure services using federated credentials. */ withWorkloadIdentity(options?: { enabled?: boolean }): this; /** - * Enables workload identity on the AKS cluster + * Enables or disables workload identity on the AKS environment, allowing pods to authenticate to Azure services using federated credentials. */ withWorkloadIdentity(enabled?: boolean): this; @@ -3970,17 +3944,17 @@ export interface AzureKubernetesEnvironmentResource extends AzureBicepResource, export interface AzureKustoClusterResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithParameters, IValueProvider, IValueWithReferences { /** - * Adds a Kusto read-write database resource + * Adds a Kusto read-write database to the application model. */ addReadWriteDatabase(name: string, options?: { databaseName?: string }): AzureKustoReadWriteDatabaseResource; /** - * Adds a Kusto read-write database resource + * Adds a Kusto read-write database to the application model. */ addReadWriteDatabase(name: string, databaseName?: string): AzureKustoReadWriteDatabaseResource; /** - * Gets the ClusterUri property + * Gets the cluster URI output reference for the Azure Kusto cluster. */ clusterUri: PropertyAccessor; @@ -3990,22 +3964,22 @@ export interface AzureKustoClusterResource extends AzureBicepResource, AzureProv connectionStringExpression: PropertyAccessor; /** - * Gets the IsEmulator property + * Gets whether the resource is running the local emulator. */ isEmulator: PropertyAccessor; /** - * Gets the NameOutputReference property + * Gets the "name" output reference for the resource. */ nameOutputReference: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the Kusto cluster. */ uriExpression: PropertyAccessor; /** - * Configures the Kusto cluster to run using the local emulator + * Configures the Kusto resource to run as an emulator using the Kustainer container. */ runAsEmulator(configureContainer?: (obj: AzureKustoEmulatorResource) => Promise): AzureKustoClusterResource; @@ -4017,7 +3991,7 @@ export interface AzureKustoClusterResource extends AzureBicepResource, AzureProv export interface AzureKustoEmulatorResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Sets the host port for the Kusto emulator endpoint + * Configures the host port that the Kusto emulator listens on for HTTP query requests. */ withHostPort(port: number): this; @@ -4029,27 +4003,27 @@ export interface AzureKustoEmulatorResource extends ContainerResource, IComputeR export interface AzureKustoReadWriteDatabaseResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Kusto database. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DatabaseName property + * Gets the database name. */ databaseName: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent Kusto resource. */ parent: PropertyAccessor; /** - * Gets the KQL script used to create the database. + * Gets the database creation script from the resource annotation if it exists. If not, creates the default database creation script. */ getDatabaseCreationScript(): string; /** - * Defines the KQL script used to create the database + * Defines the script used to create the database. */ withCreationScript(script: string): this; @@ -4061,7 +4035,7 @@ export interface AzureKustoReadWriteDatabaseResource extends IExpressionValue, I export interface AzureNatGatewayResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IResource, IResourceWithParameters { /** - * Associates an Azure Public IP Address resource with an Azure NAT Gateway resource. + * Associates an explicit Public IP Address resource with the NAT Gateway. */ withPublicIPAddress(publicIPAddress: AzurePublicIPAddressResource): this; @@ -4073,7 +4047,7 @@ export interface AzureNatGatewayResource extends AzureBicepResource, AzureProvis export interface AzureNetworkSecurityGroupResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IResource, IResourceWithParameters { /** - * Adds a security rule to an Azure Network Security Group resource. + * Adds a security rule to the Network Security Group. */ withSecurityRule(rule: AzureSecurityRule): this; @@ -4085,7 +4059,7 @@ export interface AzureNetworkSecurityGroupResource extends AzureBicepResource, A export interface AzureNetworkSecurityPerimeterResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IResource, IResourceWithParameters { /** - * Adds an access rule to an Azure Network Security Perimeter resource. + * Adds an access rule to the Network Security Perimeter. */ withAccessRule(rule: AzureNspAccessRule): this; @@ -4111,37 +4085,37 @@ export interface AzurePublicIPAddressResource extends AzureBicepResource, AzureP export interface AzureSubnetResource extends IResource, IResourceWithParent { /** - * Adds an Azure Private Endpoint resource to an Azure subnet resource. + * Adds an Azure Private Endpoint resource to the subnet. */ addPrivateEndpoint(target: IAzurePrivateEndpointTarget): AzurePrivateEndpointResource; /** - * Adds an inbound allow rule to the Azure subnet resource's Network Security Group. + * Adds an inbound allow rule to the subnet's Network Security Group. */ allowInbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource; /** - * Adds an outbound allow rule to the Azure subnet resource's Network Security Group. + * Adds an outbound allow rule to the subnet's Network Security Group. */ allowOutbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource; /** - * Adds an inbound deny rule to the Azure subnet resource's Network Security Group. + * Adds an inbound deny rule to the subnet's Network Security Group. */ denyInbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource; /** - * Adds an outbound deny rule to the Azure subnet resource's Network Security Group. + * Adds an outbound deny rule to the subnet's Network Security Group. */ denyOutbound(port?: string, from?: string, to?: string, protocol?: SecurityRuleProtocol, priority?: number, name?: string): AzureSubnetResource; /** - * Associates an Azure NAT Gateway resource with an Azure subnet resource. + * Associates a NAT Gateway with the subnet. */ withNatGateway(natGateway: AzureNatGatewayResource): this; /** - * Associates an Azure Network Security Group resource with an Azure subnet resource. + * Associates a Network Security Group with the subnet. */ withNetworkSecurityGroup(nsg: AzureNetworkSecurityGroupResource): this; @@ -4153,12 +4127,12 @@ export interface AzureSubnetResource extends IResource, IResourceWithParent { export interface AzureVirtualNetworkResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IResource, IResourceWithParameters { /** - * Adds an Azure subnet resource to an Azure Virtual Network resource. + * Adds an Azure Subnet to the Virtual Network. */ addSubnet(name: string, addressPrefix: string, options?: { subnetName?: string }): AzureSubnetResource; /** - * Adds an Azure subnet resource to an Azure Virtual Network resource. + * Adds an Azure Subnet to the Virtual Network. */ addSubnet(name: string, addressPrefix: string, subnetName?: string): AzureSubnetResource; @@ -4177,12 +4151,12 @@ export interface AzureLogAnalyticsWorkspaceResource extends AzureBicepResource, export interface AzurePostgresFlexibleServerDatabaseResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Adds a Postgres MCP server container + * Adds a Postgres MCP server container and configures it to connect to the database represented by `builder`. */ withPostgresMcp(options?: { configureContainer?: (obj: PostgresMcpContainerResource) => Promise; containerName?: string }): this; /** - * Adds a Postgres MCP server container + * Adds a Postgres MCP server container and configures it to connect to the database represented by `builder`. */ withPostgresMcp(configureContainer?: (obj: PostgresMcpContainerResource) => Promise, containerName?: string): this; @@ -4194,17 +4168,17 @@ export interface AzurePostgresFlexibleServerDatabaseResource extends IExpression export interface AzurePostgresFlexibleServerResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithParameters, IValueProvider, IValueWithReferences, IAzurePrivateEndpointTarget { /** - * Adds an Azure PostgreSQL database + * Adds an Azure PostgreSQL database to the application model. */ addDatabase(name: string, options?: { databaseName?: string }): AzurePostgresFlexibleServerDatabaseResource; /** - * Adds an Azure PostgreSQL database + * Adds an Azure PostgreSQL database to the application model. */ addDatabase(name: string, databaseName?: string): AzurePostgresFlexibleServerDatabaseResource; /** - * Configures the Azure PostgreSQL Flexible Server resource to run locally in a container + * Configures an Azure PostgreSQL Flexible Server resource to run locally in a container. */ runAsContainer(configureContainer?: (obj: PostgresServerResource) => Promise): AzurePostgresFlexibleServerResource; @@ -4226,47 +4200,47 @@ export interface AzurePostgresFlexibleServerResource extends AzureBicepResource, export interface AzureManagedRedisResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParameters, IValueProvider, IValueWithReferences, IAzurePrivateEndpointTarget { /** - * Gets the ConnectionStringExpression property + * Gets the connection string template for the manifest for the Azure Managed Redis resource. */ connectionStringExpression: PropertyAccessor; /** - * Gets the HostName property + * Gets the host name for the Redis server. */ hostName: PropertyAccessor; /** - * Gets the Id property + * Gets the "id" output reference for the resource. */ id: PropertyAccessor; /** - * Gets the NameOutputReference property + * Gets the "name" output reference for the resource. */ nameOutputReference: PropertyAccessor; /** - * Gets the Password property + * Gets the password/access key for the Redis server. */ password: PropertyAccessor; /** - * Gets the Port property + * Gets the port for the Redis server. */ port: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the Redis server. */ uriExpression: PropertyAccessor; /** - * Gets the UseAccessKeyAuthentication property + * Gets a value indicating whether the resource uses access key authentication. */ useAccessKeyAuthentication: PropertyAccessor; /** - * Configures Azure Managed Redis to run in a local container + * Configures an Azure Managed Redis resource to run locally in a container. */ runAsContainer(configureContainer?: (obj: RedisResource) => Promise): AzureManagedRedisResource; @@ -4295,12 +4269,12 @@ export interface AzureSearchResource extends AzureBicepResource, AzureProvisioni export interface AzureServiceBusEmulatorResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Sets the emulator configuration file path + * Copies the configuration file into an Azure Service Bus emulator resource. */ withConfigurationFile(path: string): this; /** - * Sets the host port for the Service Bus emulator endpoint + * Configures the host port for the Azure Service Bus emulator is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; @@ -4312,117 +4286,117 @@ export interface AzureServiceBusEmulatorResource extends ContainerResource, ICom export interface AzureServiceBusQueueResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences, IResourceWithAzureFunctionsConfig { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Azure Service Bus Queue. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DeadLetteringOnMessageExpiration property + * A value that indicates whether this queue has dead letter support when a message expires. */ deadLetteringOnMessageExpiration: PropertyAccessor; /** - * Gets the DefaultMessageTimeToLive property + * ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. */ defaultMessageTimeToLive: PropertyAccessor; /** - * Gets the DuplicateDetectionHistoryTimeWindow property + * ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. */ duplicateDetectionHistoryTimeWindow: PropertyAccessor; /** - * Gets the ForwardDeadLetteredMessagesTo property + * Queue/Topic name to forward the Dead Letter message. */ forwardDeadLetteredMessagesTo: PropertyAccessor; /** - * Gets the ForwardTo property + * Queue/Topic name to forward the messages. */ forwardTo: PropertyAccessor; /** - * Gets the LockDuration property + * ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. */ lockDuration: PropertyAccessor; /** - * Gets the MaxDeliveryCount property + * The maximum delivery count. A message is automatically dead-lettered after this number of deliveries. */ maxDeliveryCount: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent Azure Service Bus resource. */ parent: PropertyAccessor; /** - * Gets the QueueName property + * The queue name. */ queueName: PropertyAccessor; /** - * Gets the RequiresDuplicateDetection property + * A value indicating if this queue requires duplicate detection. */ requiresDuplicateDetection: PropertyAccessor; /** - * Gets the RequiresSession property + * A value that indicates whether the queue supports the concept of sessions. */ requiresSession: PropertyAccessor; /** - * Sets the DeadLetteringOnMessageExpiration property + * A value that indicates whether this queue has dead letter support when a message expires. */ setDeadLetteringOnMessageExpiration(value: boolean): AzureServiceBusQueueResource; /** - * Sets the DefaultMessageTimeToLive property + * ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. */ setDefaultMessageTimeToLive(value: timespan): AzureServiceBusQueueResource; /** - * Sets the DuplicateDetectionHistoryTimeWindow property + * ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. */ setDuplicateDetectionHistoryTimeWindow(value: timespan): AzureServiceBusQueueResource; /** - * Sets the ForwardDeadLetteredMessagesTo property + * Queue/Topic name to forward the Dead Letter message. */ setForwardDeadLetteredMessagesTo(value: string): AzureServiceBusQueueResource; /** - * Sets the ForwardTo property + * Queue/Topic name to forward the messages. */ setForwardTo(value: string): AzureServiceBusQueueResource; /** - * Sets the LockDuration property + * ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. */ setLockDuration(value: timespan): AzureServiceBusQueueResource; /** - * Sets the MaxDeliveryCount property + * The maximum delivery count. A message is automatically dead-lettered after this number of deliveries. */ setMaxDeliveryCount(value: number): AzureServiceBusQueueResource; /** - * Sets the QueueName property + * The queue name. */ setQueueName(value: string): AzureServiceBusQueueResource; /** - * Sets the RequiresDuplicateDetection property + * A value indicating if this queue requires duplicate detection. */ setRequiresDuplicateDetection(value: boolean): AzureServiceBusQueueResource; /** - * Sets the RequiresSession property + * A value that indicates whether the queue supports the concept of sessions. */ setRequiresSession(value: boolean): AzureServiceBusQueueResource; /** - * Configures properties of an Azure Service Bus queue + * Allows setting the properties of an Azure Service Bus Queue resource. */ withProperties(configure: (obj: AzureServiceBusQueueResource) => Promise): this; @@ -4434,27 +4408,27 @@ export interface AzureServiceBusQueueResource extends IExpressionValue, IManifes export interface AzureServiceBusResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithParameters, IValueProvider, IValueWithReferences, IAzureNspAssociationTarget, IAzurePrivateEndpointTarget, IResourceWithAzureFunctionsConfig { /** - * Adds an Azure Service Bus queue resource + * Adds an Azure Service Bus Queue resource to the application model. */ addServiceBusQueue(name: string, options?: { queueName?: string }): AzureServiceBusQueueResource; /** - * Adds an Azure Service Bus queue resource + * Adds an Azure Service Bus Queue resource to the application model. */ addServiceBusQueue(name: string, queueName?: string): AzureServiceBusQueueResource; /** - * Adds an Azure Service Bus topic resource + * Adds an Azure Service Bus Topic resource to the application model. */ addServiceBusTopic(name: string, options?: { topicName?: string }): AzureServiceBusTopicResource; /** - * Adds an Azure Service Bus topic resource + * Adds an Azure Service Bus Topic resource to the application model. */ addServiceBusTopic(name: string, topicName?: string): AzureServiceBusTopicResource; /** - * Configures the Azure Service Bus resource to run with the local emulator + * Configures an Azure Service Bus resource to be emulated. This resource requires an `AzureServiceBusResource` to be added to the application model. */ runAsEmulator(configureContainer?: (obj: AzureServiceBusEmulatorResource) => Promise): AzureServiceBusResource; @@ -4466,102 +4440,102 @@ export interface AzureServiceBusResource extends AzureBicepResource, AzureProvis export interface AzureServiceBusSubscriptionResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences, IResourceWithAzureFunctionsConfig { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Azure Service Bus Subscription. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DeadLetteringOnMessageExpiration property + * A value that indicates whether this queue has dead letter support when a message expires. */ deadLetteringOnMessageExpiration: PropertyAccessor; /** - * Gets the DefaultMessageTimeToLive property + * ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. */ defaultMessageTimeToLive: PropertyAccessor; /** - * Gets the ForwardDeadLetteredMessagesTo property + * Queue/Topic name to forward the Dead Letter message. */ forwardDeadLetteredMessagesTo: PropertyAccessor; /** - * Gets the ForwardTo property + * Queue/Topic name to forward the messages. */ forwardTo: PropertyAccessor; /** - * Gets the LockDuration property + * ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. */ lockDuration: PropertyAccessor; /** - * Gets the MaxDeliveryCount property + * The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10. */ maxDeliveryCount: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent Azure Service Bus Topic resource. */ parent: PropertyAccessor; /** - * Gets the RequiresSession property + * A value that indicates whether the queue supports the concept of sessions. */ requiresSession: PropertyAccessor; /** - * Gets the Rules property + * The rules for this subscription. */ rules: PropertyAccessor>; /** - * Sets the DeadLetteringOnMessageExpiration property + * A value that indicates whether this queue has dead letter support when a message expires. */ setDeadLetteringOnMessageExpiration(value: boolean): AzureServiceBusSubscriptionResource; /** - * Sets the DefaultMessageTimeToLive property + * ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. */ setDefaultMessageTimeToLive(value: timespan): AzureServiceBusSubscriptionResource; /** - * Sets the ForwardDeadLetteredMessagesTo property + * Queue/Topic name to forward the Dead Letter message. */ setForwardDeadLetteredMessagesTo(value: string): AzureServiceBusSubscriptionResource; /** - * Sets the ForwardTo property + * Queue/Topic name to forward the messages. */ setForwardTo(value: string): AzureServiceBusSubscriptionResource; /** - * Sets the LockDuration property + * ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. */ setLockDuration(value: timespan): AzureServiceBusSubscriptionResource; /** - * Sets the MaxDeliveryCount property + * The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10. */ setMaxDeliveryCount(value: number): AzureServiceBusSubscriptionResource; /** - * Sets the RequiresSession property + * A value that indicates whether the queue supports the concept of sessions. */ setRequiresSession(value: boolean): AzureServiceBusSubscriptionResource; /** - * Sets the SubscriptionName property + * The subscription name. */ setSubscriptionName(value: string): AzureServiceBusSubscriptionResource; /** - * Gets the SubscriptionName property + * The subscription name. */ subscriptionName: PropertyAccessor; /** - * Configures properties of an Azure Service Bus subscription + * Allows setting the properties of an Azure Service Bus Subscription resource. */ withProperties(configure: (obj: AzureServiceBusSubscriptionResource) => Promise): this; @@ -4573,67 +4547,67 @@ export interface AzureServiceBusSubscriptionResource extends IExpressionValue, I export interface AzureServiceBusTopicResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences, IResourceWithAzureFunctionsConfig { /** - * Adds an Azure Service Bus subscription resource + * Adds an Azure Service Bus Subscription resource to the application model. */ addServiceBusSubscription(name: string, options?: { subscriptionName?: string }): AzureServiceBusSubscriptionResource; /** - * Adds an Azure Service Bus subscription resource + * Adds an Azure Service Bus Subscription resource to the application model. */ addServiceBusSubscription(name: string, subscriptionName?: string): AzureServiceBusSubscriptionResource; /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Azure Service Bus Topic. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DefaultMessageTimeToLive property + * ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. */ defaultMessageTimeToLive: PropertyAccessor; /** - * Gets the DuplicateDetectionHistoryTimeWindow property + * ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. */ duplicateDetectionHistoryTimeWindow: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent Azure Service Bus resource. */ parent: PropertyAccessor; /** - * Gets the RequiresDuplicateDetection property + * A value indicating if this topic requires duplicate detection. */ requiresDuplicateDetection: PropertyAccessor; /** - * Sets the DefaultMessageTimeToLive property + * ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. */ setDefaultMessageTimeToLive(value: timespan): AzureServiceBusTopicResource; /** - * Sets the DuplicateDetectionHistoryTimeWindow property + * ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes. */ setDuplicateDetectionHistoryTimeWindow(value: timespan): AzureServiceBusTopicResource; /** - * Sets the RequiresDuplicateDetection property + * A value indicating if this topic requires duplicate detection. */ setRequiresDuplicateDetection(value: boolean): AzureServiceBusTopicResource; /** - * Sets the TopicName property + * The topic name. */ setTopicName(value: string): AzureServiceBusTopicResource; /** - * Gets the TopicName property + * The topic name. */ topicName: PropertyAccessor; /** - * Configures properties of an Azure Service Bus topic + * Allows setting the properties of an Azure Service Bus Topic resource. */ withProperties(configure: (obj: AzureServiceBusTopicResource) => Promise): this; @@ -4645,7 +4619,7 @@ export interface AzureServiceBusTopicResource extends IExpressionValue, IManifes export interface AzureSignalRResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithParameters, IValueProvider, IValueWithReferences, IAzurePrivateEndpointTarget { /** - * Configures an Azure SignalR resource to be emulated. This resource requires an Azure SignalR resource to be added to the application model. Please note that the resource will be emulated in Serverless mode. + * Configures an Azure SignalR resource to be emulated. This resource requires an `AzureSignalRResource` to be added to the application model. Please note that the resource will be emulated in Serverless mode. */ runAsEmulator(configureContainer?: (obj: AzureSignalREmulatorResource) => Promise): AzureSignalRResource; @@ -4664,37 +4638,37 @@ export interface AzureSignalREmulatorResource extends ContainerResource, IComput export interface AzureSqlDatabaseResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Azure SQL database. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DatabaseName property + * Gets the database name. */ databaseName: PropertyAccessor; /** - * Gets the IsContainer property + * Gets a value indicating whether the current resource represents a container. If so the actual resource is not running in Azure. */ isContainer: PropertyAccessor; /** - * Gets the JdbcConnectionString property + * Gets the JDBC connection string for the Azure SQL database. */ jdbcConnectionString: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent Azure SQL Database (server) resource. */ parent: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the Azure SQL database. */ uriExpression: PropertyAccessor; /** - * Configures the Azure SQL database to use the default Azure SKU + * Configures the Azure SQL Database to be deployed use the default SKU provided by Azure. Please be aware that the Azure default Sku might not take advantage of the free offer. */ withDefaultAzureSku(): this; @@ -4706,82 +4680,82 @@ export interface AzureSqlDatabaseResource extends IExpressionValue, IManifestExp export interface AzureSqlServerResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParameters, IValueProvider, IValueWithReferences, IAzureNspAssociationTarget, IAzurePrivateEndpointTarget, IAzurePrivateEndpointTargetNotification { /** - * Adds an Azure SQL database resource + * Adds an Azure SQL Database to the application model. The Free Offer option will be used when deploying the resource in Azure */ addDatabase(name: string, options?: { databaseName?: string }): AzureSqlDatabaseResource; /** - * Adds an Azure SQL database resource + * Adds an Azure SQL Database to the application model. The Free Offer option will be used when deploying the resource in Azure */ addDatabase(name: string, databaseName?: string): AzureSqlDatabaseResource; /** - * Gets the AzureSqlDatabases property + * A dictionary where the key is the resource name and the value is the Azure SQL database resource. */ azureSqlDatabases: PropertyAccessor>; /** - * Gets the ConnectionStringExpression property + * Gets the connection template for the manifest for the Azure SQL Server resource. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Databases property + * A dictionary where the key is the resource name and the value is the Azure SQL database name. */ databases: PropertyAccessor>; /** - * Gets the FullyQualifiedDomainName property + * Gets the fully qualified domain name (FQDN) output reference from the bicep template for the Azure SQL Server resource. */ fullyQualifiedDomainName: PropertyAccessor; /** - * Gets the HostName property + * Gets the host name for the SQL Server. */ hostName: PropertyAccessor; /** - * Gets the Id property + * Gets the "id" output reference for the resource. */ id: PropertyAccessor; /** - * Gets the IsContainer property + * Gets a value indicating whether the current resource represents a container. If so the actual resource is not running in Azure. */ isContainer: PropertyAccessor; /** - * Gets the JdbcConnectionString property + * Gets the JDBC connection string for the server. */ jdbcConnectionString: PropertyAccessor; /** - * Gets the NameOutputReference property + * Gets the "name" output reference for the resource. */ nameOutputReference: PropertyAccessor; /** - * Gets the Port property + * Gets the port for the PostgreSQL server. */ port: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the SQL Server. */ uriExpression: PropertyAccessor; /** - * Configures the Azure SQL server to run locally in a SQL Server container + * Configures an Azure SQL Database (server) resource to run locally in a container. */ runAsContainer(configureContainer?: (obj: SqlServerServerResource) => Promise): AzureSqlServerResource; /** - * Configures the Azure SQL server to use a specific storage account for deployment scripts + * Configures the Azure SQL Server to use the specified storage account for deployment script execution. */ withAdminDeploymentScriptStorage(storage: AzureStorageResource): this; /** - * Configures the Azure SQL server to use a specific subnet for deployment scripts + * Configures the Azure SQL Server to use the specified subnet for deployment script execution. */ withAdminDeploymentScriptSubnet(subnet: AzureSubnetResource): this; @@ -4835,47 +4809,47 @@ export interface AzureQueueStorageResource extends IExpressionValue, IManifestEx export interface AzureStorageEmulatorResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Configures whether the emulator checks API version validity + * Ensures the emulator checks that the requested API version is valid. */ withApiVersionCheck(options?: { enable?: boolean }): this; /** - * Configures whether the emulator checks API version validity + * Ensures the emulator checks that the requested API version is valid. */ withApiVersionCheck(enable?: boolean): this; /** - * Sets the host port for blob requests on the storage emulator + * Modifies the host port that the storage emulator listens on for blob requests. */ withBlobPort(port: number): this; /** - * Adds a bind mount for the data folder to an Azure Storage emulator resource + * Adds a bind mount for the data folder to an Azure Storage emulator resource. */ withDataBindMount(options?: { path?: string; isReadOnly?: boolean }): this; /** - * Adds a bind mount for the data folder to an Azure Storage emulator resource + * Adds a bind mount for the data folder to an Azure Storage emulator resource. */ withDataBindMount(path?: string, isReadOnly?: boolean): this; /** - * Adds a named volume for the data folder to an Azure Storage emulator resource + * Adds a named volume for the data folder to an Azure Storage emulator resource. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a named volume for the data folder to an Azure Storage emulator resource + * Adds a named volume for the data folder to an Azure Storage emulator resource. */ withDataVolume(name?: string, isReadOnly?: boolean): this; /** - * Sets the host port for queue requests on the storage emulator + * Modifies the host port that the storage emulator listens on for queue requests. */ withQueuePort(port: number): this; /** - * Sets the host port for table requests on the storage emulator + * Modifies the host port that the storage emulator listens on for table requests. */ withTablePort(port: number): this; @@ -4887,57 +4861,57 @@ export interface AzureStorageEmulatorResource extends ContainerResource, IComput export interface AzureStorageResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IResource, IResourceWithEndpoints, IResourceWithParameters, IAzureNspAssociationTarget, IResourceWithAzureFunctionsConfig { /** - * Adds an Azure Blob Storage container resource + * Creates a builder for the `AzureBlobStorageContainerResource` which can be referenced to get the Azure Storage blob container endpoint for the storage account. */ addBlobContainer(name: string, options?: { blobContainerName?: string }): AzureBlobStorageContainerResource; /** - * Adds an Azure Blob Storage container resource + * Creates a builder for the `AzureBlobStorageContainerResource` which can be referenced to get the Azure Storage blob container endpoint for the storage account. */ addBlobContainer(name: string, blobContainerName?: string): AzureBlobStorageContainerResource; /** - * Adds an Azure Blob Storage resource + * Creates a builder for the `AzureBlobStorageResource` which can be referenced to get the Azure Storage blob endpoint for the storage account. */ addBlobs(name: string): AzureBlobStorageResource; /** - * Adds an Azure Data Lake Storage resource + * Creates a builder for the `AzureDataLakeStorageResource` which can be referenced to get the Azure Data Lake endpoint for the storage account. */ addDataLake(name: string): AzureDataLakeStorageResource; /** - * Adds an Azure Data Lake Storage file system resource + * Creates a builder for the `AzureDataLakeStorageFileSystemResource` which can be referenced to get the Azure DataLake file system connection string. */ addDataLakeFileSystem(name: string, options?: { dataLakeFileSystemName?: string }): AzureDataLakeStorageFileSystemResource; /** - * Adds an Azure Data Lake Storage file system resource + * Creates a builder for the `AzureDataLakeStorageFileSystemResource` which can be referenced to get the Azure DataLake file system connection string. */ addDataLakeFileSystem(name: string, dataLakeFileSystemName?: string): AzureDataLakeStorageFileSystemResource; /** - * Adds an Azure Storage queue resource + * Creates a builder for the `AzureQueueStorageQueueResource` which can be referenced to get the Azure Storage queue for the storage account. */ addQueue(name: string, options?: { queueName?: string }): AzureQueueStorageQueueResource; /** - * Adds an Azure Storage queue resource + * Creates a builder for the `AzureQueueStorageQueueResource` which can be referenced to get the Azure Storage queue for the storage account. */ addQueue(name: string, queueName?: string): AzureQueueStorageQueueResource; /** - * Adds an Azure Queue Storage resource + * Creates a builder for the `AzureQueueStorageResource` which can be referenced to get the Azure Storage queues endpoint for the storage account. */ addQueues(name: string): AzureQueueStorageResource; /** - * Adds an Azure Table Storage resource + * Creates a builder for the `AzureTableStorageResource` which can be referenced to get the Azure Storage tables endpoint for the storage account. */ addTables(name: string): AzureTableStorageResource; /** - * Configures the Azure Storage resource to be emulated using Azurite + * Configures an Azure Storage resource to be emulated using Azurite. This resource requires an `AzureStorageResource` to be added to the application model. */ runAsEmulator(configureContainer?: (obj: AzureStorageEmulatorResource) => Promise): AzureStorageResource; @@ -4973,12 +4947,12 @@ export interface AzureWebPubSubHubResource extends IExpressionValue, IManifestEx export interface AzureWebPubSubResource extends AzureBicepResource, AzureProvisioningResource, IAzureResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParameters, IValueProvider, IValueWithReferences, IAzurePrivateEndpointTarget { /** - * Adds a hub to the Azure Web PubSub resource. + * Adds an Azure Web Pub Sub hub resource to the application model. */ addHub(name: string, options?: { hubName?: string }): AzureWebPubSubHubResource; /** - * Adds a hub to the Azure Web PubSub resource. + * Adds an Azure Web Pub Sub hub resource to the application model. */ addHub(name: string, hubName?: string): AzureWebPubSubHubResource; @@ -4990,27 +4964,27 @@ export interface AzureWebPubSubResource extends AzureBicepResource, AzureProvisi export interface DevTunnelResource extends ExecutableResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Gets the public endpoint exposed by the dev tunnel. + * Gets the tunnel endpoint reference for the specified target endpoint. */ getTunnelEndpoint(targetEndpointReference: EndpointReference): EndpointReference; /** - * Configures the dev tunnel to allow anonymous access. + * Allows the tunnel to be publicly accessed without authentication. */ withAnonymousAccess(): this; /** - * Configures the dev tunnel to expose a target endpoint. + * Exposes the specified endpoint via the dev tunnel. */ withTunnelReference(targetEndpoint: EndpointReference): this; /** - * Configures the dev tunnel to expose all endpoints on the referenced resource. + * Adds ports on the dev tunnel for all endpoints found on the referenced resource and sets whether anonymous access is allowed. */ withTunnelReferenceAll(resourceBuilder: IResourceWithEndpoints, allowAnonymous: boolean): this; /** - * Configures the dev tunnel to expose a target endpoint with access control. + * Exposes the specified endpoint via the dev tunnel and sets whether anonymous access is allowed. */ withTunnelReferenceAnonymous(targetEndpoint: EndpointReference, allowAnonymous: boolean): this; @@ -5022,32 +4996,32 @@ export interface DevTunnelResource extends ExecutableResource, IComputeResource, export interface CapturedEnvironmentVariable { /** - * Gets the DefaultValue property + * Gets or sets the default value for the environment variable. */ defaultValue: PropertyAccessor; /** - * Gets the Description property + * Gets or sets the description for the environment variable. */ description: PropertyAccessor; /** - * Sets the DefaultValue property + * Gets or sets the default value for the environment variable. */ setDefaultValue(value: string): CapturedEnvironmentVariable; /** - * Sets the Description property + * Gets or sets the description for the environment variable. */ setDescription(value: string): CapturedEnvironmentVariable; /** - * Sets the Source property + * Gets or sets the source object that originated this environment variable. This could be a `ParameterResource`, `ContainerMountAnnotation`, `ContainerImageReference`, or `ContainerPortReference`. */ setSource(value: ContainerPortReference): CapturedEnvironmentVariable; /** - * Gets the Source property + * Gets or sets the source object that originated this environment variable. This could be a `ParameterResource`, `ContainerMountAnnotation`, `ContainerImageReference`, or `ContainerPortReference`. */ source: PropertyAccessor; @@ -5059,32 +5033,32 @@ export interface CapturedEnvironmentVariable { export interface DockerComposeAspireDashboardResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Gets the OtlpGrpcEndpoint property + * Gets the OTLP gRPC endpoint for telemetry data. */ otlpGrpcEndpoint: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint of the Aspire Dashboard. */ primaryEndpoint: PropertyAccessor; /** - * Enables or disables forwarded headers support for the Aspire dashboard + * Configures whether forwarded headers processing is enabled for the Aspire dashboard container. */ withForwardedHeaders(options?: { enabled?: boolean }): this; /** - * Enables or disables forwarded headers support for the Aspire dashboard + * Configures whether forwarded headers processing is enabled for the Aspire dashboard container. */ withForwardedHeaders(enabled?: boolean): this; /** - * Sets the host port for the Aspire dashboard + * Configures the port used to access the Aspire Dashboard from a browser. */ withHostPort(options?: { port?: number }): this; /** - * Sets the host port for the Aspire dashboard + * Configures the port used to access the Aspire Dashboard from a browser. */ withHostPort(port?: number): this; @@ -5096,27 +5070,27 @@ export interface DockerComposeAspireDashboardResource extends ContainerResource, export interface DockerComposeEnvironmentResource extends IComputeEnvironmentResource, IResource { /** - * Configures the generated Docker Compose file before it is written to disk + * Configures the Docker Compose file for the environment resource. */ configureComposeFile(configure: (obj: ComposeFile) => Promise): DockerComposeEnvironmentResource; /** - * Configures the Aspire dashboard resource for the Docker Compose environment + * Configures the dashboard properties for this Docker Compose environment. */ configureDashboard(configure: (obj: DockerComposeAspireDashboardResource) => Promise): DockerComposeEnvironmentResource; /** - * Configures the captured environment variables written to the Docker Compose .env file + * Configures the captured environment variables for the Docker Compose environment before they are written to the .env file. */ configureEnvFile(configure: (obj: Dict) => Promise): DockerComposeEnvironmentResource; /** - * Gets the DashboardEnabled property + * Determines whether to include an Aspire dashboard for telemetry visualization in this environment. */ dashboardEnabled: PropertyAccessor; /** - * Gets the DefaultNetworkName property + * The name of an existing network to be used. */ defaultNetworkName: PropertyAccessor; @@ -5126,27 +5100,27 @@ export interface DockerComposeEnvironmentResource extends IComputeEnvironmentRes getHostAddressExpression(endpointReference: EndpointReference): ReferenceExpression; /** - * Sets the DashboardEnabled property + * Determines whether to include an Aspire dashboard for telemetry visualization in this environment. */ setDashboardEnabled(value: boolean): DockerComposeEnvironmentResource; /** - * Sets the DefaultNetworkName property + * The name of an existing network to be used. */ setDefaultNetworkName(value: string): DockerComposeEnvironmentResource; /** - * Enables or disables the Aspire dashboard for the Docker Compose environment + * Enables the Aspire dashboard for telemetry visualization in this Docker Compose environment. */ withDashboard(options?: { enabled?: boolean }): this; /** - * Enables or disables the Aspire dashboard for the Docker Compose environment + * Enables the Aspire dashboard for telemetry visualization in this Docker Compose environment. */ withDashboard(enabled?: boolean): this; /** - * Configures properties of the Docker Compose environment + * Allows setting the properties of a Docker Compose environment resource. */ withProperties(configure: (obj: DockerComposeEnvironmentResource) => Promise): this; @@ -5170,82 +5144,82 @@ export interface DockerComposeServiceResource extends IResource, IResourceWithPa export interface ComposeFile { /** - * Gets the Configs property + * Represents a collection of configuration objects within a Docker Compose file. Each key in the dictionary corresponds to a configuration name, and the value is an instance of the `Config` class that contains the associated configuration details. */ configs: PropertyAccessor>; /** - * Gets the Extensions property + * Represents a collection of user-defined extension fields that can be added to the Compose file. These extensions are represented as a dictionary where the key is a string identifier for the extension, and the value is an object that holds the custom data relevant to the extension. This allows flexibility for including additional metadata or configuration outside the scope of standard Compose file specifications. */ extensions: PropertyAccessor>; /** - * Gets the Name property + * Represents the name of the Docker Compose file or project. */ name: PropertyAccessor; /** - * Gets the Networks property + * Represents the collection of networks defined in a Docker Compose file. */ networks: PropertyAccessor>; /** - * Gets the Secrets property + * Represents the secrets section in a Docker Compose file. Contains a collection of secret definitions used within the Compose file. */ secrets: PropertyAccessor>; /** - * Gets the Services property + * Represents a collection of services defined in a Docker Compose file. Each service is identified by a unique name and contains configuration details as defined by the `Service` class. */ services: PropertyAccessor>; /** - * Sets the Configs property + * Represents a collection of configuration objects within a Docker Compose file. Each key in the dictionary corresponds to a configuration name, and the value is an instance of the `Config` class that contains the associated configuration details. */ setConfigs(value: Dict): ComposeFile; /** - * Sets the Extensions property + * Represents a collection of user-defined extension fields that can be added to the Compose file. These extensions are represented as a dictionary where the key is a string identifier for the extension, and the value is an object that holds the custom data relevant to the extension. This allows flexibility for including additional metadata or configuration outside the scope of standard Compose file specifications. */ setExtensions(value: Dict): ComposeFile; /** - * Sets the Name property + * Represents the name of the Docker Compose file or project. */ setName(value: string): ComposeFile; /** - * Sets the Networks property + * Represents the collection of networks defined in a Docker Compose file. */ setNetworks(value: Dict): ComposeFile; /** - * Sets the Secrets property + * Represents the secrets section in a Docker Compose file. Contains a collection of secret definitions used within the Compose file. */ setSecrets(value: Dict): ComposeFile; /** - * Sets the Services property + * Represents a collection of services defined in a Docker Compose file. Each service is identified by a unique name and contains configuration details as defined by the `Service` class. */ setServices(value: Dict): ComposeFile; /** - * Sets the Version property + * Represents the version of the Docker Compose file format being used. This property specifies the format of the Compose file and determines the supported features and behaviors. */ setVersion(value: string): ComposeFile; /** - * Sets the Volumes property + * Represents a collection of volume definitions within a Docker Compose file. */ setVolumes(value: Dict): ComposeFile; /** - * Gets the Version property + * Represents the version of the Docker Compose file format being used. This property specifies the format of the Compose file and determines the supported features and behaviors. */ version: PropertyAccessor; /** - * Gets the Volumes property + * Represents a collection of volume definitions within a Docker Compose file. */ volumes: PropertyAccessor>; @@ -5257,52 +5231,52 @@ export interface ComposeFile { export interface Config { /** - * Gets the Content property + * Gets or sets the contents of the configuration file. This property is used to specify the actual configuration data that will be included in the Docker Compose file. */ content: PropertyAccessor; /** - * Gets the External property + * Indicates whether the configuration is external to the current project context. When set to true, the configuration will not be managed or created by the Compose file; instead, it references an existing resource outside the current scope. If null, the external status is not explicitly specified. */ external: PropertyAccessor; /** - * Gets the File property + * Gets or sets the path to the configuration file. This property is used to specify the file containing the configuration data for the service or component. */ file: PropertyAccessor; /** - * Gets the Labels property + * Represents a collection of key-value pairs used as metadata for configuration objects. The labels provide additional descriptive information, which can be utilized for tagging, grouping, or identification purposes. */ labels: PropertyAccessor>; /** - * Gets the Name property + * Gets or sets the name of the Docker Compose member. */ name: PropertyAccessor; /** - * Sets the Content property + * Gets or sets the contents of the configuration file. This property is used to specify the actual configuration data that will be included in the Docker Compose file. */ setContent(value: string): Config; /** - * Sets the External property + * Indicates whether the configuration is external to the current project context. When set to true, the configuration will not be managed or created by the Compose file; instead, it references an existing resource outside the current scope. If null, the external status is not explicitly specified. */ setExternal(value: boolean): Config; /** - * Sets the File property + * Gets or sets the path to the configuration file. This property is used to specify the file containing the configuration data for the service or component. */ setFile(value: string): Config; /** - * Sets the Labels property + * Represents a collection of key-value pairs used as metadata for configuration objects. The labels provide additional descriptive information, which can be utilized for tagging, grouping, or identification purposes. */ setLabels(value: Dict): Config; /** - * Sets the Name property + * Gets or sets the name of the Docker Compose member. */ setName(value: string): Config; @@ -5314,82 +5288,82 @@ export interface Config { export interface Network { /** - * Gets the Attachable property + * Gets or sets a value indicating whether the network is attachable. When this property is set to true, containers can dynamically attach to the network at runtime. This feature is primarily used in Docker Swarm mode to enable service discovery and communication between services. */ attachable: PropertyAccessor; /** - * Gets the Driver property + * Gets or sets the driver used for the network. The driver determines the networking implementation that the container network is based on. Examples include bridge, overlay, host, etc. */ driver: PropertyAccessor; /** - * Gets the DriverOpts property + * Represents a dictionary of driver-specific options for the network configuration in a Docker service node. */ driverOpts: PropertyAccessor>; /** - * Gets the External property + * Indicates whether the network is external or managed by Docker outside of the application stack. When set to true, the network is assumed to be pre-existing and not defined by the application's configuration. When set to false or null, the network can be defined and created within the application scope. */ external: PropertyAccessor; /** - * Gets the Ingress property + * Represents whether the network is configured as an ingress network. An ingress network is used to manage the internal routing and load balancing for swarm services in Docker. */ ingress: PropertyAccessor; /** - * Gets the Internal property + * Determines if the network is restricted to internal usage only. When set to true, the network is not accessible externally. */ internal: PropertyAccessor; /** - * Gets the Labels property + * Represents a collection of metadata labels applied to the network configuration. These labels can be used to organize, manage, or identify network resources. */ labels: PropertyAccessor>; /** - * Gets the Name property + * Gets or sets the name of the Docker Compose member. */ name: PropertyAccessor; /** - * Sets the Attachable property + * Gets or sets a value indicating whether the network is attachable. When this property is set to true, containers can dynamically attach to the network at runtime. This feature is primarily used in Docker Swarm mode to enable service discovery and communication between services. */ setAttachable(value: boolean): Network; /** - * Sets the Driver property + * Gets or sets the driver used for the network. The driver determines the networking implementation that the container network is based on. Examples include bridge, overlay, host, etc. */ setDriver(value: string): Network; /** - * Sets the DriverOpts property + * Represents a dictionary of driver-specific options for the network configuration in a Docker service node. */ setDriverOpts(value: Dict): Network; /** - * Sets the External property + * Indicates whether the network is external or managed by Docker outside of the application stack. When set to true, the network is assumed to be pre-existing and not defined by the application's configuration. When set to false or null, the network can be defined and created within the application scope. */ setExternal(value: boolean): Network; /** - * Sets the Ingress property + * Represents whether the network is configured as an ingress network. An ingress network is used to manage the internal routing and load balancing for swarm services in Docker. */ setIngress(value: boolean): Network; /** - * Sets the Internal property + * Determines if the network is restricted to internal usage only. When set to true, the network is not accessible externally. */ setInternal(value: boolean): Network; /** - * Sets the Labels property + * Represents a collection of metadata labels applied to the network configuration. These labels can be used to organize, manage, or identify network resources. */ setLabels(value: Dict): Network; /** - * Sets the Name property + * Gets or sets the name of the Docker Compose member. */ setName(value: string): Network; @@ -5401,42 +5375,42 @@ export interface Network { export interface Secret { /** - * Gets the External property + * Indicates whether the secret is managed externally. If set to true, the secret must already exist, as it will not be created or modified. */ external: PropertyAccessor; /** - * Gets the File property + * Represents the file path associated with the secret. This specifies the location of the file on the host system that will be used as the source for the secret in the container. */ file: PropertyAccessor; /** - * Gets the Labels property + * Gets or sets a collection of key-value pairs representing metadata or additional information associated with the secret. These labels can be used for categorization, identification, or other purposes as determined by the user. */ labels: PropertyAccessor>; /** - * Gets the Name property + * Gets or sets the name of the secret in the Docker Compose configuration. */ name: PropertyAccessor; /** - * Sets the External property + * Indicates whether the secret is managed externally. If set to true, the secret must already exist, as it will not be created or modified. */ setExternal(value: boolean): Secret; /** - * Sets the File property + * Represents the file path associated with the secret. This specifies the location of the file on the host system that will be used as the source for the secret in the container. */ setFile(value: string): Secret; /** - * Sets the Labels property + * Gets or sets a collection of key-value pairs representing metadata or additional information associated with the secret. These labels can be used for categorization, identification, or other purposes as determined by the user. */ setLabels(value: Dict): Secret; /** - * Sets the Name property + * Gets or sets the name of the secret in the Docker Compose configuration. */ setName(value: string): Secret; @@ -5448,452 +5422,452 @@ export interface Secret { export interface Service { /** - * Gets the CapAdd property + * Specifies a list of Linux capabilities to add to the container. */ capAdd: PropertyAccessor>; /** - * Gets the CapDrop property + * Represents a list of Linux capabilities to be dropped from the service's container. This property can be used to restrict specific capabilities that the container should not have access to, enhancing security by implementing the principle of least privilege. */ capDrop: PropertyAccessor>; /** - * Gets the CgroupParent property + * Gets or sets the parent Cgroup for the container. This property defines the name of the Cgroup under which the container's resource constraints are managed. */ cgroupParent: PropertyAccessor; /** - * Gets the Command property + * Represents the command to override the default command specified in the image's Dockerfile. This property allows specifying how the container should run by defining an executable and its arguments. */ command: PropertyAccessor>; /** - * Gets the ContainerName property + * Specifies the name of the container to be used. This property maps to the "container_name" field in a Docker Compose file. If set, the container will have the specified name; otherwise, a name will be automatically generated. */ containerName: PropertyAccessor; /** - * Gets the DependsOn property + * Specifies a list of services that this service depends on. The dependencies are expressed as service names with optional conditions. Supported conditions are: "service_started", "service_healthy", "service_completed_successfully" This property defines the order in which services should be started, ensuring that the specified services are initialized before the current service. */ dependsOn: PropertyAccessor>; /** - * Gets the Devices property + * Represents a collection of device mappings for the service container. This property defines the host-to-container device paths in Docker. */ devices: PropertyAccessor>; /** - * Gets the Dns property + * Gets or sets a list of custom DNS server IP addresses to be used by the service container. */ dns: PropertyAccessor>; /** - * Gets the DnsSearch property + * Specifies the domain search options for the service's container. This property allows you to define one or more domain search suffixes that will be appended to unqualified DNS queries performed by the container. Typically used to configure how DNS resolution should behave in specific network setups. */ dnsSearch: PropertyAccessor>; /** - * Gets the DomainName property + * Represents the domain name of a service container. */ domainName: PropertyAccessor; /** - * Gets the Entrypoint property + * Specifies the entrypoint to be used for the container. This property allows overriding the default entrypoint of the image and defines the executable or command that is run when the container starts. */ entrypoint: PropertyAccessor>; /** - * Gets the EnvFile property + * Represents a collection of paths to environment variable files used by the service. These files contain key-value pairs of environment variables that will be loaded and applied to the service configuration at runtime. */ envFile: PropertyAccessor>; /** - * Gets the Environment property + * Represents a collection of environment variables for the service container. */ environment: PropertyAccessor>; /** - * Gets the Expose property + * Gets or sets a list of ports to expose from the container without publishing them to the host machine. This property defines internal ports that the container makes available to linked services or other containers within the same network, but these ports are not accessible from outside the container’s network. */ expose: PropertyAccessor>; /** - * Gets the ExternalLinks property + * Gets or sets the external links for the service. External links are references to services defined outside the current Docker Compose file, enabling communication with containers in other projects or environments. */ externalLinks: PropertyAccessor>; /** - * Gets the ExtraHosts property + * Represents additional hostname-to-IP mappings for the service. These mappings allow you to manually define hostnames and corresponding IP addresses, effectively augmenting the DNS resolution for the service's containers. */ extraHosts: PropertyAccessor>; /** - * Gets the GroupAdd property + * Gets or sets a list of additional group IDs to add to the container's process. This allows the container to have access to resources or permissions associated with the specified groups. */ groupAdd: PropertyAccessor>; /** - * Gets the Hostname property + * Gets or sets the hostname for the service container. This defines the hostname that will be assigned to the container and can be used for network identification within the container's network. */ hostname: PropertyAccessor; /** - * Gets the Image property + * Specifies the Docker image to be used for the service. */ image: PropertyAccessor; /** - * Gets the Init property + * Indicates whether the init binary should be used as the container's init process. When set to true, the init process is used to ensure proper reaping of zombie processes and signal forwarding inside the container. */ init: PropertyAccessor; /** - * Gets the Ipc property + * Gets or sets the IPC (Inter-Process Communication) mode for the service. This property determines how IPC namespaces are shared between containers and the host. It can be set to values such as "none", "host", or a specific container ID to share IPC resources with. */ ipc: PropertyAccessor; /** - * Gets the Isolation property + * Specifies the isolation mode for the container. This property determines the level of isolation between the container and the host system. Common values include "default", "process", or "hyperv", and the supported options may depend on the container runtime or the platform being used. */ isolation: PropertyAccessor; /** - * Gets the Labels property + * Represents a set of metadata labels for the service. These key-value pairs can be used to organize and identify objects within the service configuration. */ labels: PropertyAccessor>; /** - * Gets the Links property + * Represents a service definition in a Docker Compose configuration file. */ links: PropertyAccessor>; /** - * Gets the MacAddress property + * Specifies a custom MAC (Media Access Control) address for the container's network interface. */ macAddress: PropertyAccessor; /** - * Gets the Name property + * Gets or sets the name of the Docker Compose member. */ name: PropertyAccessor; /** - * Gets the NetworkMode property + * Specifies the network mode to be used for the container. This property determines the networking configuration, such as whether the container shares the network stack with the host, uses a predefined network, or operates in isolation. The value is typically a string that matches a network mode supported by the environment, such as 'bridge', 'host', 'none', or a custom network name. */ networkMode: PropertyAccessor; /** - * Gets the Networks property + * Defines the collection of networks that the service is connected to. This property specifies the names of the networks the service should be attached to. Each entry in this list represents a network defined in the Docker Compose file or an externally defined network. Connecting a service to one or more networks allows inter-service communication across those networks, as well as communication with external systems configured on those same networks. If no network is specified, the service is connected to the default network that is automatically created by Docker Compose for the project unless `network_mode` is set to another value. */ networks: PropertyAccessor>; /** - * Gets the Pid property + * Gets or sets the PID (Process Identifier) namespace configuration for the container. This property determines whether the container shares the PID namespace with the host or other containers, allowing process visibility and signal sending between them. */ pid: PropertyAccessor; /** - * Gets the Ports property + * Represents a collection of port mappings for the service. Each mapping specifies how a container port is bound to a host port. */ ports: PropertyAccessor>; /** - * Gets the Privileged property + * Indicates whether the container should run in privileged mode. When set to true, the container is granted extended Linux capabilities and device access. */ privileged: PropertyAccessor; /** - * Gets the Profiles property + * Defines a list of profiles associated with the service. Profiles allow grouping of services and provide the ability to selectively enable services based on specified runtime profiles. If no profiles are specified, the service will be active in all configurations. */ profiles: PropertyAccessor>; /** - * Gets the PullPolicy property + * Specifies the policy for pulling the Docker image. */ pullPolicy: PropertyAccessor; /** - * Gets the ReadOnly property + * Defines whether the service containers should be run in read-only mode. If set to true, the containers will have a read-only file system, limiting write operations to specific directories defined by writable mounts or tempfs. */ readOnly: PropertyAccessor; /** - * Gets the Restart property + * Specifies the restart policy for the container. This property determines how the container should behave in case of a crash or termination. Common values include "no", "always", "on-failure", and "unless-stopped". */ restart: PropertyAccessor; /** - * Gets the SecurityOpt property + * Represents a list of security options that can be applied to the container. This is used to configure security-related settings specific to the container such as SELinux labels or AppArmor profiles, providing fine-grained control over the container's security behavior. */ securityOpt: PropertyAccessor>; /** - * Sets the CapAdd property + * Specifies a list of Linux capabilities to add to the container. */ setCapAdd(value: List): Service; /** - * Sets the CapDrop property + * Represents a list of Linux capabilities to be dropped from the service's container. This property can be used to restrict specific capabilities that the container should not have access to, enhancing security by implementing the principle of least privilege. */ setCapDrop(value: List): Service; /** - * Sets the CgroupParent property + * Gets or sets the parent Cgroup for the container. This property defines the name of the Cgroup under which the container's resource constraints are managed. */ setCgroupParent(value: string): Service; /** - * Sets the Command property + * Represents the command to override the default command specified in the image's Dockerfile. This property allows specifying how the container should run by defining an executable and its arguments. */ setCommand(value: List): Service; /** - * Sets the ContainerName property + * Specifies the name of the container to be used. This property maps to the "container_name" field in a Docker Compose file. If set, the container will have the specified name; otherwise, a name will be automatically generated. */ setContainerName(value: string): Service; /** - * Sets the DependsOn property + * Specifies a list of services that this service depends on. The dependencies are expressed as service names with optional conditions. Supported conditions are: "service_started", "service_healthy", "service_completed_successfully" This property defines the order in which services should be started, ensuring that the specified services are initialized before the current service. */ setDependsOn(value: Dict): Service; /** - * Sets the Devices property + * Represents a collection of device mappings for the service container. This property defines the host-to-container device paths in Docker. */ setDevices(value: List): Service; /** - * Sets the Dns property + * Gets or sets a list of custom DNS server IP addresses to be used by the service container. */ setDns(value: List): Service; /** - * Sets the DnsSearch property + * Specifies the domain search options for the service's container. This property allows you to define one or more domain search suffixes that will be appended to unqualified DNS queries performed by the container. Typically used to configure how DNS resolution should behave in specific network setups. */ setDnsSearch(value: List): Service; /** - * Sets the DomainName property + * Represents the domain name of a service container. */ setDomainName(value: string): Service; /** - * Sets the Entrypoint property + * Specifies the entrypoint to be used for the container. This property allows overriding the default entrypoint of the image and defines the executable or command that is run when the container starts. */ setEntrypoint(value: List): Service; /** - * Sets the EnvFile property + * Represents a collection of paths to environment variable files used by the service. These files contain key-value pairs of environment variables that will be loaded and applied to the service configuration at runtime. */ setEnvFile(value: List): Service; /** - * Sets the Environment property + * Represents a collection of environment variables for the service container. */ setEnvironment(value: Dict): Service; /** - * Sets the Expose property + * Gets or sets a list of ports to expose from the container without publishing them to the host machine. This property defines internal ports that the container makes available to linked services or other containers within the same network, but these ports are not accessible from outside the container’s network. */ setExpose(value: List): Service; /** - * Sets the ExternalLinks property + * Gets or sets the external links for the service. External links are references to services defined outside the current Docker Compose file, enabling communication with containers in other projects or environments. */ setExternalLinks(value: List): Service; /** - * Sets the ExtraHosts property + * Represents additional hostname-to-IP mappings for the service. These mappings allow you to manually define hostnames and corresponding IP addresses, effectively augmenting the DNS resolution for the service's containers. */ setExtraHosts(value: Dict): Service; /** - * Sets the GroupAdd property + * Gets or sets a list of additional group IDs to add to the container's process. This allows the container to have access to resources or permissions associated with the specified groups. */ setGroupAdd(value: List): Service; /** - * Sets the Hostname property + * Gets or sets the hostname for the service container. This defines the hostname that will be assigned to the container and can be used for network identification within the container's network. */ setHostname(value: string): Service; /** - * Sets the Image property + * Specifies the Docker image to be used for the service. */ setImage(value: string): Service; /** - * Sets the Init property + * Indicates whether the init binary should be used as the container's init process. When set to true, the init process is used to ensure proper reaping of zombie processes and signal forwarding inside the container. */ setInit(value: boolean): Service; /** - * Sets the Ipc property + * Gets or sets the IPC (Inter-Process Communication) mode for the service. This property determines how IPC namespaces are shared between containers and the host. It can be set to values such as "none", "host", or a specific container ID to share IPC resources with. */ setIpc(value: string): Service; /** - * Sets the Isolation property + * Specifies the isolation mode for the container. This property determines the level of isolation between the container and the host system. Common values include "default", "process", or "hyperv", and the supported options may depend on the container runtime or the platform being used. */ setIsolation(value: string): Service; /** - * Sets the Labels property + * Represents a set of metadata labels for the service. These key-value pairs can be used to organize and identify objects within the service configuration. */ setLabels(value: Dict): Service; /** - * Sets the Links property + * Represents a service definition in a Docker Compose configuration file. */ setLinks(value: List): Service; /** - * Sets the MacAddress property + * Specifies a custom MAC (Media Access Control) address for the container's network interface. */ setMacAddress(value: string): Service; /** - * Sets the Name property + * Gets or sets the name of the Docker Compose member. */ setName(value: string): Service; /** - * Sets the NetworkMode property + * Specifies the network mode to be used for the container. This property determines the networking configuration, such as whether the container shares the network stack with the host, uses a predefined network, or operates in isolation. The value is typically a string that matches a network mode supported by the environment, such as 'bridge', 'host', 'none', or a custom network name. */ setNetworkMode(value: string): Service; /** - * Sets the Networks property + * Defines the collection of networks that the service is connected to. This property specifies the names of the networks the service should be attached to. Each entry in this list represents a network defined in the Docker Compose file or an externally defined network. Connecting a service to one or more networks allows inter-service communication across those networks, as well as communication with external systems configured on those same networks. If no network is specified, the service is connected to the default network that is automatically created by Docker Compose for the project unless `network_mode` is set to another value. */ setNetworks(value: List): Service; /** - * Sets the Pid property + * Gets or sets the PID (Process Identifier) namespace configuration for the container. This property determines whether the container shares the PID namespace with the host or other containers, allowing process visibility and signal sending between them. */ setPid(value: string): Service; /** - * Sets the Ports property + * Represents a collection of port mappings for the service. Each mapping specifies how a container port is bound to a host port. */ setPorts(value: List): Service; /** - * Sets the Privileged property + * Indicates whether the container should run in privileged mode. When set to true, the container is granted extended Linux capabilities and device access. */ setPrivileged(value: boolean): Service; /** - * Sets the Profiles property + * Defines a list of profiles associated with the service. Profiles allow grouping of services and provide the ability to selectively enable services based on specified runtime profiles. If no profiles are specified, the service will be active in all configurations. */ setProfiles(value: List): Service; /** - * Sets the PullPolicy property + * Specifies the policy for pulling the Docker image. */ setPullPolicy(value: string): Service; /** - * Sets the ReadOnly property + * Defines whether the service containers should be run in read-only mode. If set to true, the containers will have a read-only file system, limiting write operations to specific directories defined by writable mounts or tempfs. */ setReadOnly(value: boolean): Service; /** - * Sets the Restart property + * Specifies the restart policy for the container. This property determines how the container should behave in case of a crash or termination. Common values include "no", "always", "on-failure", and "unless-stopped". */ setRestart(value: string): Service; /** - * Sets the SecurityOpt property + * Represents a list of security options that can be applied to the container. This is used to configure security-related settings specific to the container such as SELinux labels or AppArmor profiles, providing fine-grained control over the container's security behavior. */ setSecurityOpt(value: List): Service; /** - * Sets the StdinOpen property + * Indicates whether standard input (stdin) should remain open and be attached to the service container, even if no terminal is connected. */ setStdinOpen(value: boolean): Service; /** - * Sets the StopGracePeriod property + * Gets or sets the stop grace period for the container. This specifies the amount of time to wait before forcing a container to stop after the stop or shutdown signal is sent. The value can be defined in a time duration format, such as "10s" for 10 seconds or "1m" for 1 minute. */ setStopGracePeriod(value: string): Service; /** - * Sets the StopSignal property + * Specifies the signal that will be used to stop the container. This property allows you to define a custom stop signal other than the default SIGTERM. */ setStopSignal(value: string): Service; /** - * Sets the Sysctls property + * Represents a set of kernel parameters, specified as key-value pairs, that can be applied to the container at runtime. This property allows customization of specific Linux kernel settings (sysctl parameters) for the container, enabling fine-tuned control over its behavior. Common use cases include tuning network parameters or configuring shared memory limits. Note: Supported kernel parameters will vary based on the Docker daemon and the host system. Unsupported parameters will result in an error. Example: Use this property to set parameters like `net.ipv4.tcp_syncookies` or `net.core.somaxconn`. */ setSysctls(value: Dict): Service; /** - * Sets the Tmpfs property + * Specifies a list of temporary file systems (tmpfs) to be mounted inside the container. Each entry represents a directory on the container's filesystem, mounted as a tmpfs, which resides in-memory and is typically used for ephemeral storage or caching purposes. */ setTmpfs(value: List): Service; /** - * Sets the Tty property + * Specifies whether a pseudo-TTY (teletypewriter) should be allocated for the container. When set to true, it enables the container to run with an interactive terminal session. */ setTty(value: boolean): Service; /** - * Sets the User property + * Specifies the user that the container will run as. The value can be set to a numeric UID, a string for the username, or a combination of both (e.g., "UID:GID"). */ setUser(value: string): Service; /** - * Sets the Volumes property + * Defines the list of volumes to be mounted into the service's container. */ setVolumes(value: List): Service; /** - * Sets the WorkingDir property + * Gets or sets the working directory of the container. Specifies the directory in which commands are run inside the container. Corresponds to the "working_dir" property in a Docker Compose file. */ setWorkingDir(value: string): Service; /** - * Gets the StdinOpen property + * Indicates whether standard input (stdin) should remain open and be attached to the service container, even if no terminal is connected. */ stdinOpen: PropertyAccessor; /** - * Gets the StopGracePeriod property + * Gets or sets the stop grace period for the container. This specifies the amount of time to wait before forcing a container to stop after the stop or shutdown signal is sent. The value can be defined in a time duration format, such as "10s" for 10 seconds or "1m" for 1 minute. */ stopGracePeriod: PropertyAccessor; /** - * Gets the StopSignal property + * Specifies the signal that will be used to stop the container. This property allows you to define a custom stop signal other than the default SIGTERM. */ stopSignal: PropertyAccessor; /** - * Gets the Sysctls property + * Represents a set of kernel parameters, specified as key-value pairs, that can be applied to the container at runtime. This property allows customization of specific Linux kernel settings (sysctl parameters) for the container, enabling fine-tuned control over its behavior. Common use cases include tuning network parameters or configuring shared memory limits. Note: Supported kernel parameters will vary based on the Docker daemon and the host system. Unsupported parameters will result in an error. Example: Use this property to set parameters like `net.ipv4.tcp_syncookies` or `net.core.somaxconn`. */ sysctls: PropertyAccessor>; /** - * Gets the Tmpfs property + * Specifies a list of temporary file systems (tmpfs) to be mounted inside the container. Each entry represents a directory on the container's filesystem, mounted as a tmpfs, which resides in-memory and is typically used for ephemeral storage or caching purposes. */ tmpfs: PropertyAccessor>; /** - * Gets the Tty property + * Specifies whether a pseudo-TTY (teletypewriter) should be allocated for the container. When set to true, it enables the container to run with an interactive terminal session. */ tty: PropertyAccessor; /** - * Gets the User property + * Specifies the user that the container will run as. The value can be set to a numeric UID, a string for the username, or a combination of both (e.g., "UID:GID"). */ user: PropertyAccessor; /** - * Gets the Volumes property + * Defines the list of volumes to be mounted into the service's container. */ volumes: PropertyAccessor>; /** - * Gets the WorkingDir property + * Gets or sets the working directory of the container. Specifies the directory in which commands are run inside the container. Corresponds to the "working_dir" property in a Docker Compose file. */ workingDir: PropertyAccessor; @@ -5905,12 +5879,12 @@ export interface Service { export interface ServiceDependency { /** - * Gets the Condition property + * Gets or sets the condition under which the service should be started. */ condition: PropertyAccessor; /** - * Sets the Condition property + * Gets or sets the condition under which the service should be started. */ setCondition(value: string): ServiceDependency; @@ -5922,92 +5896,92 @@ export interface ServiceDependency { export interface Volume { /** - * Gets the Driver property + * Gets or sets the name of the driver used for the volume. The driver is responsible for managing the volume and its storage backend. */ driver: PropertyAccessor; /** - * Gets the DriverOpts property + * Represents a collection of driver-specific options for the volume. These options are passed as key-value pairs to the volume driver, allowing customization or configuration specific to the driver being used. */ driverOpts: PropertyAccessor>; /** - * Gets the External property + * Indicates whether the volume is external to the current scope or environment. A value of `true` specifies that the volume is managed outside the scope of the current application or configuration. A value of `false`, or a null value, indicates that the volume is managed internally or by default behavior. */ external: PropertyAccessor; /** - * Gets the Labels property + * Gets or sets a dictionary of labels associated with the volume. Labels are key-value pairs that can be used for metadata purposes or for organizing and identifying volumes within Docker services. */ labels: PropertyAccessor>; /** - * Gets the Name property + * Gets or sets the name of the Docker Compose member. */ name: PropertyAccessor; /** - * Gets the ReadOnly property + * Gets or sets a value indicating whether the volume is mounted as read-only. */ readOnly: PropertyAccessor; /** - * Sets the Driver property + * Gets or sets the name of the driver used for the volume. The driver is responsible for managing the volume and its storage backend. */ setDriver(value: string): Volume; /** - * Sets the DriverOpts property + * Represents a collection of driver-specific options for the volume. These options are passed as key-value pairs to the volume driver, allowing customization or configuration specific to the driver being used. */ setDriverOpts(value: Dict): Volume; /** - * Sets the External property + * Indicates whether the volume is external to the current scope or environment. A value of `true` specifies that the volume is managed outside the scope of the current application or configuration. A value of `false`, or a null value, indicates that the volume is managed internally or by default behavior. */ setExternal(value: boolean): Volume; /** - * Sets the Labels property + * Gets or sets a dictionary of labels associated with the volume. Labels are key-value pairs that can be used for metadata purposes or for organizing and identifying volumes within Docker services. */ setLabels(value: Dict): Volume; /** - * Sets the Name property + * Gets or sets the name of the Docker Compose member. */ setName(value: string): Volume; /** - * Sets the ReadOnly property + * Gets or sets a value indicating whether the volume is mounted as read-only. */ setReadOnly(value: boolean): Volume; /** - * Sets the Source property + * Gets or sets the source property of the volume. The source defines the location on the host system or the specific resource from which the volume is sourced. */ setSource(value: string): Volume; /** - * Sets the Target property + * Gets or sets the target path inside the container where the volume is mounted. This specifies the container location for the volume's data. */ setTarget(value: string): Volume; /** - * Sets the Type property + * Gets or sets the type of volume. This specifies the method of volume provisioning such as bind mounts, named volumes, or other supported volume types in Docker. */ setType(value: string): Volume; /** - * Gets the Source property + * Gets or sets the source property of the volume. The source defines the location on the host system or the specific resource from which the volume is sourced. */ source: PropertyAccessor; /** - * Gets the Target property + * Gets or sets the target path inside the container where the volume is mounted. This specifies the container location for the volume's data. */ target: PropertyAccessor; /** - * Gets the Type property + * Gets or sets the type of volume. This specifies the method of volume provisioning such as bind mounts, named volumes, or other supported volume types in Docker. */ type: PropertyAccessor; @@ -6019,131 +5993,143 @@ export interface Volume { export interface EFMigrationResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Gets the BundleBaseImage property + * Gets or sets the base container image for the migration bundle container. */ bundleBaseImage: PropertyAccessor; /** - * Gets the BundleSelfContained property + * Gets or sets whether the migration bundle should be self-contained. */ bundleSelfContained: PropertyAccessor; /** - * Gets the BundleTargetRuntime property + * Gets or sets the target runtime identifier for the migration bundle (e.g., "linux-x64", "win-x64"). */ bundleTargetRuntime: PropertyAccessor; /** - * Gets the DbContextTypeName property + * Gets the fully qualified name of the DbContext type to use for migrations, or null to auto-detect. */ dbContextTypeName: PropertyAccessor; /** - * Gets the MigrationNamespace property + * Gets or sets the namespace for new migrations. Used by the Add Migration command. */ migrationNamespace: PropertyAccessor; /** - * Gets the MigrationOutputDirectory property + * Gets or sets the output directory for new migrations. Used by the Add Migration command. */ migrationOutputDirectory: PropertyAccessor; /** - * Gets the MigrationsProjectPath property + * Gets or sets the path to the project containing the migrations, when it's not the same as the startup project. */ migrationsProjectPath: PropertyAccessor; /** - * Gets the ProjectResource property + * Gets the parent project resource that contains the DbContext. */ projectResource: PropertyAccessor; /** - * Gets the PublishAsMigrationBundle property + * Gets or sets whether a migration bundle should be generated during publishing. */ publishAsMigrationBundle: PropertyAccessor; /** - * Gets the PublishAsMigrationScript property + * Gets or sets whether a migration script should be generated during publishing. */ publishAsMigrationScript: PropertyAccessor; /** - * Gets the PublishBundleContainer property + * Gets or sets whether the migration bundle should be published as a container image that applies the migrations to the database at deploy time. */ publishBundleContainer: PropertyAccessor; /** - * Gets the ScriptIdempotent property + * Gets or sets whether the migration script should be idempotent (include IF NOT EXISTS checks). */ scriptIdempotent: PropertyAccessor; /** - * Gets the ScriptNoTransactions property + * Gets or sets whether to omit transaction statements from the migration script. */ scriptNoTransactions: PropertyAccessor; /** - * Sets the BundleBaseImage property + * Gets or sets the base container image for the migration bundle container. */ setBundleBaseImage(value: string): EFMigrationResource; /** - * Sets the BundleSelfContained property + * Gets or sets whether the migration bundle should be self-contained. */ setBundleSelfContained(value: boolean): EFMigrationResource; /** - * Sets the BundleTargetRuntime property + * Gets or sets the target runtime identifier for the migration bundle (e.g., "linux-x64", "win-x64"). */ setBundleTargetRuntime(value: string): EFMigrationResource; /** - * Sets the MigrationNamespace property + * Gets or sets the namespace for new migrations. Used by the Add Migration command. */ setMigrationNamespace(value: string): EFMigrationResource; /** - * Sets the MigrationOutputDirectory property + * Gets or sets the output directory for new migrations. Used by the Add Migration command. */ setMigrationOutputDirectory(value: string): EFMigrationResource; /** - * Sets the MigrationsProjectPath property + * Gets or sets the path to the project containing the migrations, when it's not the same as the startup project. */ setMigrationsProjectPath(value: string): EFMigrationResource; /** - * Sets the PublishAsMigrationBundle property + * Gets or sets whether a migration bundle should be generated during publishing. */ setPublishAsMigrationBundle(value: boolean): EFMigrationResource; /** - * Sets the PublishAsMigrationScript property + * Gets or sets whether a migration script should be generated during publishing. */ setPublishAsMigrationScript(value: boolean): EFMigrationResource; /** - * Sets the PublishBundleContainer property + * Gets or sets whether the migration bundle should be published as a container image that applies the migrations to the database at deploy time. */ setPublishBundleContainer(value: boolean): EFMigrationResource; /** - * Sets the ScriptIdempotent property + * Gets or sets whether the migration script should be idempotent (include IF NOT EXISTS checks). */ setScriptIdempotent(value: boolean): EFMigrationResource; /** - * Sets the ScriptNoTransactions property + * Gets or sets whether to omit transaction statements from the migration script. */ setScriptNoTransactions(value: boolean): EFMigrationResource; + /** + * Configures the EF migration resource to run database update when the AppHost starts. + */ runDatabaseUpdateOnStart(): EFMigrationResource; + /** + * Configures the namespace for new migrations created with the Add Migration command. + */ withMigrationNamespace(namespace: string): this; + /** + * Configures the output directory for new migrations created with the Add Migration command. + */ withMigrationOutputDirectory(outputDirectory: string): this; + /** + * Configures a separate project containing the migrations using a project metadata type. + */ withMigrationsProject(): this; } @@ -6154,7 +6140,7 @@ export interface EFMigrationResource extends ContainerResource, IComputeResource export interface AzureAISearchToolResource extends FoundryToolResource, IResource, IFoundryTool { /** - * Links an Azure AI Search tool to a backing search resource. + * Links an Azure AI Search tool to a backing `AzureSearchResource`, creating the necessary Foundry project connection and role assignments. */ withReference(search: AzureSearchResource): this; @@ -6173,17 +6159,17 @@ export interface AzureCognitiveServicesProjectConnectionResource extends IAzureR export interface AzureCognitiveServicesProjectResource extends IAzureResource, IComputeEnvironmentResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParameters, IResourceWithParent, IValueProvider, IValueWithReferences, IAzureComputeEnvironmentResource { /** - * Adds an Azure AI Search tool to a Microsoft Foundry project. + * Adds an Azure AI Search tool to a Microsoft Foundry project, enabling agents to ground their responses using data from an Azure AI Search index. */ addAISearchTool(name: string, options?: { indexName?: string }): AzureAISearchToolResource; /** - * Adds an Azure AI Search tool to a Microsoft Foundry project. + * Adds an Azure AI Search tool to a Microsoft Foundry project, enabling agents to ground their responses using data from an Azure AI Search index. */ addAISearchTool(name: string, indexName?: string): AzureAISearchToolResource; /** - * Adds an Azure Function tool to a Microsoft Foundry project. + * Adds an Azure Function tool to a Microsoft Foundry project, enabling agents to invoke a serverless Azure Function with queue-based input/output bindings. */ addAzureFunctionTool(name: string, functionName: string, description: string, parametersJson: string, inputQueueEndpoint: string, inputQueueName: string, outputQueueEndpoint: string, outputQueueName: string): AzureFunctionToolResource; @@ -6193,32 +6179,32 @@ export interface AzureCognitiveServicesProjectResource extends IAzureResource, I addBingGroundingConnection(name: string, bingResourceId: string): BingGroundingConnectionResource; /** - * Adds a Grounding with Bing Search connection to a Microsoft Foundry project using a parameter. + * Adds a Grounding with Bing Search connection to a Microsoft Foundry project using a parameter resource for the Bing resource ID. */ addBingGroundingConnectionFromParameter(name: string, bingResourceId: string | ParameterResource): BingGroundingConnectionResource; /** - * Adds a Bing Grounding tool to a Microsoft Foundry project. + * Adds a Bing Grounding tool to a Microsoft Foundry project, enabling agents to ground their responses using Bing Search results. */ addBingGroundingTool(name: string): BingGroundingToolResource; /** - * Adds a capability host to a Microsoft Foundry project. + * Adds a capability host to the Microsoft Foundry project. */ addCapabilityHost(name: string): AzureCognitiveServicesProjectResource; /** - * Adds a Code Interpreter tool to a Microsoft Foundry project. + * Adds a Code Interpreter tool to a Microsoft Foundry project, enabling agents to write and run Python code in a sandboxed environment for data analysis, math, and chart generation. */ addCodeInterpreterTool(name: string): CodeInterpreterToolResource; /** - * Adds a Computer Use tool to a Microsoft Foundry project. + * Adds a Computer Use tool to a Microsoft Foundry project, enabling agents to interact with a computer desktop by taking screenshots, moving the mouse, clicking, and typing. */ addComputerUseTool(name: string, options?: { displayWidth?: number; displayHeight?: number; environment?: string }): ComputerToolResource; /** - * Adds a Computer Use tool to a Microsoft Foundry project. + * Adds a Computer Use tool to a Microsoft Foundry project, enabling agents to interact with a computer desktop by taking screenshots, moving the mouse, clicking, and typing. */ addComputerUseTool(name: string, displayWidth?: number, displayHeight?: number, environment?: string): ComputerToolResource; @@ -6228,42 +6214,42 @@ export interface AzureCognitiveServicesProjectResource extends IAzureResource, I addConnection(resource: AzureKeyVaultResource): AzureCognitiveServicesProjectConnectionResource; /** - * Adds an Azure Container Registry connection to a Microsoft Foundry project. + * Adds a container registry connection to the Microsoft Foundry project. */ addContainerRegistryConnection(registry: AzureContainerRegistryResource): AzureCognitiveServicesProjectConnectionResource; /** - * Adds an Azure Cosmos DB connection to a Microsoft Foundry project. + * Adds CosmosDB to a project as a connection */ addCosmosConnection(db: AzureCosmosDBResource): AzureCognitiveServicesProjectConnectionResource; /** - * Adds a Microsoft Fabric data agent tool to a Microsoft Foundry project. + * Adds a Microsoft Fabric data agent tool to a Microsoft Foundry project, enabling agents to query data through Fabric data agents. */ addFabricTool(name: string, projectConnectionIds: string[]): FabricToolResource; /** - * Adds a File Search tool to a Microsoft Foundry project. + * Adds a File Search tool to a Microsoft Foundry project, enabling agents to search uploaded files and proprietary documents using vector search. */ addFileSearchTool(name: string, vectorStoreIds: string[]): FileSearchToolResource; /** - * Adds a function calling tool to a Microsoft Foundry project. + * Adds a function calling tool to a Microsoft Foundry project, enabling agents to call application-defined functions with structured parameters. */ addFunctionTool(name: string, functionName: string, parametersJson: string, options?: { description?: string; strictModeEnabled?: boolean }): FunctionToolResource; /** - * Adds a function calling tool to a Microsoft Foundry project. + * Adds a function calling tool to a Microsoft Foundry project, enabling agents to call application-defined functions with structured parameters. */ addFunctionTool(name: string, functionName: string, parametersJson: string, description?: string, strictModeEnabled?: boolean): FunctionToolResource; /** - * Adds an Image Generation tool to a Microsoft Foundry project. + * Adds an Image Generation tool to a Microsoft Foundry project, enabling agents to generate and edit images. */ addImageGenerationTool(name: string): ImageGenerationToolResource; /** - * Adds an Azure Key Vault connection to a Microsoft Foundry project. + * Adds a Key Vault connection to the Microsoft Foundry project. */ addKeyVaultConnection(keyVault: AzureKeyVaultResource): AzureCognitiveServicesProjectConnectionResource; @@ -6278,12 +6264,12 @@ export interface AzureCognitiveServicesProjectResource extends IAzureResource, I addModelDeployment(name: string, model: FoundryModel|string, modelVersion?: string, format?: string): FoundryDeploymentResource; /** - * Adds a prompt agent to a Microsoft Foundry project. + * Adds a prompt agent to a Microsoft Foundry project with the specified tools. */ addPromptAgent(model: FoundryDeploymentResource, name: string, options?: { instructions?: string }): AzurePromptAgentResource; /** - * Adds a prompt agent to a Microsoft Foundry project. + * Adds a prompt agent to a Microsoft Foundry project with the specified tools. */ addPromptAgent(model: FoundryDeploymentResource, name: string, instructions?: string): AzurePromptAgentResource; @@ -6293,22 +6279,22 @@ export interface AzureCognitiveServicesProjectResource extends IAzureResource, I addSearchConnection(search: AzureSearchResource): AzureCognitiveServicesProjectConnectionResource; /** - * Adds a SharePoint grounding tool to a Microsoft Foundry project. + * Adds a SharePoint grounding tool to a Microsoft Foundry project, enabling agents to search data from SharePoint sites configured as Foundry project connections. */ addSharePointTool(name: string, projectConnectionIds: string[]): SharePointToolResource; /** - * Adds an Azure Storage connection to a Microsoft Foundry project. + * Adds an Azure Storage account to a project as a connection. */ addStorageConnection(storage: AzureStorageResource): AzureCognitiveServicesProjectConnectionResource; /** - * Adds a Web Search tool to a Microsoft Foundry project. + * Adds a Web Search tool to a Microsoft Foundry project, enabling agents to retrieve real-time information from the public web and return answers with inline citations. */ addWebSearchTool(name: string): WebSearchToolResource; /** - * Associates an Azure Application Insights resource with a Microsoft Foundry project. + * Adds an Application Insights resource to the Microsoft Foundry project, overriding the default (which is to create a new Application Insights resource). */ withAppInsights(appInsights: AzureApplicationInsightsResource): this; @@ -6318,7 +6304,7 @@ export interface AzureCognitiveServicesProjectResource extends IAzureResource, I withCapabilityHost(resource: FoundryResource): this; /** - * Associates an Azure Key Vault resource with a Microsoft Foundry project. + * Adds a Key Vault connection to the Microsoft Foundry project. */ withKeyVault(keyVault: AzureKeyVaultResource): this; @@ -6342,42 +6328,37 @@ export interface AzurePromptAgentResource extends IExpressionValue, IManifestExp connectionStringExpression: PropertyAccessor; /** - * Gets the Description property + * Gets or sets a description of the agent. */ description: PropertyAccessor; /** - * Gets the Instructions property + * Gets or sets the system instructions for the agent. */ instructions: PropertyAccessor; /** - * Gets the Metadata property + * Gets the metadata to associate with the agent. */ metadata: PropertyAccessor>; /** - * Gets the Model property + * Gets or sets the model deployment name used by this agent. */ model: PropertyAccessor; /** - * Sets the Description property + * Gets or sets a description of the agent. */ setDescription(value: string): AzurePromptAgentResource; /** - * Sets the Instructions property + * Gets or sets the system instructions for the agent. */ setInstructions(value: string): AzurePromptAgentResource; /** - * Sets the Metadata property - */ - - setMetadata(value: Dict): AzurePromptAgentResource; - /** - * Sets the Model property + * Gets or sets the model deployment name used by this agent. */ setModel(value: string): AzurePromptAgentResource; @@ -6441,82 +6422,82 @@ export interface FileSearchToolResource extends FoundryToolResource, IResource, export interface FoundryDeploymentResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Microsoft Foundry resource with model/deployment information. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DeploymentName property + * Gets or sets the name of the deployment. */ deploymentName: PropertyAccessor; /** - * Gets the Format property + * Gets or sets the format of deployment model. */ format: PropertyAccessor; /** - * Gets the ModelName property + * Gets or sets the name of the model. */ modelName: PropertyAccessor; /** - * Gets the ModelVersion property + * Gets or sets the version of the model. */ modelVersion: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent Microsoft Foundry resource. */ parent: PropertyAccessor; /** - * Sets the DeploymentName property + * Gets or sets the name of the deployment. */ setDeploymentName(value: string): FoundryDeploymentResource; /** - * Sets the Format property + * Gets or sets the format of deployment model. */ setFormat(value: string): FoundryDeploymentResource; /** - * Sets the ModelName property + * Gets or sets the name of the model. */ setModelName(value: string): FoundryDeploymentResource; /** - * Sets the ModelVersion property + * Gets or sets the version of the model. */ setModelVersion(value: string): FoundryDeploymentResource; /** - * Sets the Parent property + * Gets the parent Microsoft Foundry resource. */ setParent(value: FoundryResource): FoundryDeploymentResource; /** - * Sets the SkuCapacity property + * Gets or sets the capacity of the SKU, in thousands of tokens per minute (TPM). */ setSkuCapacity(value: number): FoundryDeploymentResource; /** - * Sets the SkuName property + * Gets or sets the name of the SKU. */ setSkuName(value: string): FoundryDeploymentResource; /** - * Gets the SkuCapacity property + * Gets or sets the capacity of the SKU, in thousands of tokens per minute (TPM). */ skuCapacity: PropertyAccessor; /** - * Gets the SkuName property + * Gets or sets the name of the SKU. */ skuName: PropertyAccessor; /** - * Configures properties of a Microsoft Foundry deployment resource. + * Allows setting the properties of a Microsoft Foundry Deployment resource. */ withProperties(configure: (obj: FoundryDeploymentResource) => Promise): this; @@ -6538,12 +6519,12 @@ export interface FoundryResource extends AzureBicepResource, AzureProvisioningRe addDeployment(name: string, model: FoundryModel|string, modelVersion?: string, format?: string): FoundryDeploymentResource; /** - * Adds a Microsoft Foundry project resource to a Microsoft Foundry resource. + * Adds a Microsoft Foundry project resource to the application model. This will also attach the project as a deployment target for agents. */ addProject(name: string): AzureCognitiveServicesProjectResource; /** - * Configures the Microsoft Foundry resource to run by using Foundry Local. + * Adds a Foundry Local resource to the distributed application builder. */ runAsFoundryLocal(): FoundryResource; @@ -6569,55 +6550,45 @@ export interface FunctionToolResource extends FoundryToolResource, IResource, IF export interface HostedAgentConfiguration { /** - * Gets the Cpu property + * CPU allocation for each hosted agent instance, in vCPU cores. */ cpu: PropertyAccessor; /** - * Gets the Description property + * The description of the hosted agent. */ description: PropertyAccessor; /** - * Gets the EnvironmentVariables property + * Environment variables to set in the hosted agent container. */ environmentVariables: PropertyAccessor>; /** - * Gets the Memory property + * Memory allocation for each hosted agent instance, in GiB. Must be 2x the CPU allocation. */ memory: PropertyAccessor; /** - * Gets the Metadata property + * Additional metadata to associate with the hosted agent. */ metadata: PropertyAccessor>; /** - * Sets the Cpu property + * CPU allocation for each hosted agent instance, in vCPU cores. */ setCpu(value: number): HostedAgentConfiguration; /** - * Sets the Description property + * The description of the hosted agent. */ setDescription(value: string): HostedAgentConfiguration; /** - * Sets the EnvironmentVariables property - */ - - setEnvironmentVariables(value: Dict): HostedAgentConfiguration; - /** - * Sets the Memory property + * Memory allocation for each hosted agent instance, in GiB. Must be 2x the CPU allocation. */ setMemory(value: number): HostedAgentConfiguration; - /** - * Sets the Metadata property - */ - - setMetadata(value: Dict): HostedAgentConfiguration; } /** @@ -6647,62 +6618,62 @@ export interface WebSearchToolResource extends FoundryToolResource, IResource, I export interface GarnetResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Garnet server. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Host property + * Gets the host endpoint reference for this resource. */ host: PropertyAccessor; /** - * Gets the PasswordParameter property + * Gets the parameter that contains the Garnet server password. */ passwordParameter: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for this resource. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the Garnet server. */ primaryEndpoint: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the Garnet server. */ uriExpression: PropertyAccessor; /** - * Mounts a host directory as the Garnet data directory. + * Adds a bind mount for the data folder to a Garnet container resource and enables Garnet persistence. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Mounts a host directory as the Garnet data directory. + * Adds a bind mount for the data folder to a Garnet container resource and enables Garnet persistence. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a persistent data volume to the Garnet resource. + * Adds a named volume for the data folder to a Garnet container resource and enables Garnet persistence. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a persistent data volume to the Garnet resource. + * Adds a named volume for the data folder to a Garnet container resource and enables Garnet persistence. */ withDataVolume(name?: string, isReadOnly?: boolean): this; /** - * Configures snapshot persistence for the Garnet resource. + * Configures a Garnet container resource for persistence. */ withPersistence(options?: { interval?: timespan }): this; /** - * Configures snapshot persistence for the Garnet resource. + * Configures a Garnet container resource for persistence. */ withPersistence(interval?: timespan): this; @@ -6714,12 +6685,12 @@ export interface GarnetResource extends ContainerResource, IComputeResource, IEx export interface GitHubModelResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IValueProvider, IValueWithReferences { /** - * Configures the API key for the GitHub Model resource. + * Configures the API key for the GitHub Model resource from a parameter. */ withApiKey(apiKey: string | ParameterResource): this; /** - * Adds a health check for the GitHub Model resource. + * Adds a health check to the GitHub Model resource. */ withHealthCheck(): this; @@ -6731,102 +6702,102 @@ export interface GitHubModelResource extends IExpressionValue, IManifestExpressi export interface JavaScriptAppResource extends ExecutableResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IResourceWithContainerFiles, IResourceWithServiceDiscovery { /** - * Publishes the JavaScript application as a standalone Node.js server that runs a built artifact directly. + * Configures the JavaScript application to publish as a standalone Node.js server that runs a built artifact directly. */ publishAsNodeServer(entryPoint: string, options?: { outputPath?: string }): this; /** - * Publishes the JavaScript application as a standalone Node.js server that runs a built artifact directly. + * Configures the JavaScript application to publish as a standalone Node.js server that runs a built artifact directly. */ publishAsNodeServer(entryPoint: string, outputPath?: string): this; /** - * Publishes the JavaScript application as a Node.js server that uses a package manager script at runtime. + * Configures the JavaScript application to publish as a Node.js server that uses a package manager script at runtime. */ publishAsNpmScript(options?: { startScriptName?: string; runScriptArguments?: string }): this; /** - * Publishes the JavaScript application as a Node.js server that uses a package manager script at runtime. + * Configures the JavaScript application to publish as a Node.js server that uses a package manager script at runtime. */ publishAsNpmScript(startScriptName?: string, runScriptArguments?: string): this; /** - * Publishes the JavaScript application as a standalone static website using YARP. + * Polyglot-compatible overload. All parameters are optional so the TS codegen wraps them in a single options object rather than positional args. */ publishAsStaticWebsite(options?: { apiPath?: string; apiTarget?: IResourceWithServiceDiscovery; outputPath?: string; stripPrefix?: boolean; targetEndpointName?: string }): this; /** - * Publishes the JavaScript application as a standalone static website using YARP. + * Polyglot-compatible overload. All parameters are optional so the TS codegen wraps them in a single options object rather than positional args. */ publishAsStaticWebsite(apiPath?: string, apiTarget?: IResourceWithServiceDiscovery, outputPath?: string, stripPrefix?: boolean, targetEndpointName?: string): this; /** - * Configures a browser debugger for the JavaScript application + * Configures a browser debugger for the JavaScript application resource, enabling browser-based debugging through a child resource that launches when the parent application is ready. */ withBrowserDebugger(options?: { browser?: string }): this; /** - * Configures a browser debugger for the JavaScript application + * Configures a browser debugger for the JavaScript application resource, enabling browser-based debugging through a child resource that launches when the parent application is ready. */ withBrowserDebugger(browser?: string): this; /** - * Specifies an npm script to run before starting the application + * Adds a build script annotation to the resource builder using the specified command-line arguments. */ withBuildScript(scriptName: string, options?: { args?: string[] }): this; /** - * Specifies an npm script to run before starting the application + * Adds a build script annotation to the resource builder using the specified command-line arguments. */ withBuildScript(scriptName: string, args?: string[]): this; /** - * Configures Bun as the package manager + * Configures the JavaScript resource to use Bun as the package manager and optionally installs packages before the application starts. */ withBun(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures Bun as the package manager + * Configures the JavaScript resource to use Bun as the package manager and optionally installs packages before the application starts. */ withBun(install?: boolean, installArgs?: string[]): this; /** - * Configures npm as the package manager + * Configures the Node.js resource to use npm as the package manager and optionally installs packages before the application starts. */ withNpm(options?: { install?: boolean; installCommand?: string; installArgs?: string[] }): this; /** - * Configures npm as the package manager + * Configures the Node.js resource to use npm as the package manager and optionally installs packages before the application starts. */ withNpm(install?: boolean, installCommand?: string, installArgs?: string[]): this; /** - * Configures pnpm as the package manager + * Configures the Node.js resource to use pnpm as the package manager and optionally installs packages before the application starts. */ withPnpm(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures pnpm as the package manager + * Configures the Node.js resource to use pnpm as the package manager and optionally installs packages before the application starts. */ withPnpm(install?: boolean, installArgs?: string[]): this; /** - * Specifies an npm script to run during development + * Adds a run script annotation to the specified JavaScript application resource builder, specifying the script to execute and its arguments during run mode. */ withRunScript(scriptName: string, options?: { args?: string[] }): this; /** - * Specifies an npm script to run during development + * Adds a run script annotation to the specified JavaScript application resource builder, specifying the script to execute and its arguments during run mode. */ withRunScript(scriptName: string, args?: string[]): this; /** - * Configures yarn as the package manager + * Configures the Node.js resource to use yarn as the package manager and optionally installs packages before the application starts. */ withYarn(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures yarn as the package manager + * Configures the Node.js resource to use yarn as the package manager and optionally installs packages before the application starts. */ withYarn(install?: boolean, installArgs?: string[]): this; @@ -6857,7 +6828,7 @@ export interface NodeAppResource extends ExecutableResource, JavaScriptAppResour export interface ViteAppResource extends ExecutableResource, JavaScriptAppResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IResourceWithContainerFiles, IResourceWithServiceDiscovery { /** - * Configures a custom Vite configuration file + * Configures the Vite app to use the specified Vite configuration file instead of the default resolution behavior. */ withViteConfig(configPath: string): this; @@ -6869,57 +6840,57 @@ export interface ViteAppResource extends ExecutableResource, JavaScriptAppResour export interface KafkaServerResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Kafka broker. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Host property + * Gets the host endpoint reference for the primary endpoint. */ host: PropertyAccessor; /** - * Gets the InternalEndpoint property + * Gets the internal endpoint for the Kafka broker. This endpoint is used for container to broker communication. To connect to the Kafka broker from a host process, use `PrimaryEndpoint`. */ internalEndpoint: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for the primary endpoint. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the Kafka broker. This endpoint is used for host processes to Kafka broker communication. To connect to the Kafka broker from a container, use `InternalEndpoint`. */ primaryEndpoint: PropertyAccessor; /** - * Adds a data bind mount to the Kafka container + * Adds a bind mount for the data folder to a Kafka container resource. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Adds a data bind mount to the Kafka container + * Adds a bind mount for the data folder to a Kafka container resource. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a data volume to the Kafka container + * Adds a named volume for the data folder to a Kafka container resource. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a data volume to the Kafka container + * Adds a named volume for the data folder to a Kafka container resource. */ withDataVolume(name?: string, isReadOnly?: boolean): this; /** - * Adds a Kafka UI container to manage the Kafka resource + * Adds a Kafka UI container to the application. */ withKafkaUI(options?: { configureContainer?: (obj: KafkaUIContainerResource) => Promise; containerName?: string }): this; /** - * Adds a Kafka UI container to manage the Kafka resource + * Adds a Kafka UI container to the application. */ withKafkaUI(configureContainer?: (obj: KafkaUIContainerResource) => Promise, containerName?: string): this; @@ -6931,7 +6902,7 @@ export interface KafkaServerResource extends ContainerResource, IComputeResource export interface KafkaUIContainerResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Sets the host port for the Kafka UI container + * Configures the host port that the KafkaUI resource is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; @@ -6943,37 +6914,37 @@ export interface KafkaUIContainerResource extends ContainerResource, IComputeRes export interface KeycloakResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IResourceWithServiceDiscovery { /** - * Gets the AdminPasswordParameter property + * Gets the parameter that contains the Keycloak admin password. */ adminPasswordParameter: PropertyAccessor; /** - * Gets the AdminUserNameParameter property + * Gets the parameter that contains the Keycloak admin. */ adminUserNameParameter: PropertyAccessor; /** - * Adds a data bind mount for Keycloak + * Adds a bind mount for the data folder to a Keycloak container resource. */ withDataBindMount(source: string): this; /** - * Adds a data volume for Keycloak + * Adds a named volume for the data folder to a Keycloak container resource. */ withDataVolume(options?: { name?: string }): this; /** - * Adds a data volume for Keycloak + * Adds a named volume for the data folder to a Keycloak container resource. */ withDataVolume(name?: string): this; /** - * Disables Keycloak features + * Additional feature names to disable for the keycloak resource */ withDisabledFeatures(features: string[]): this; /** - * Enables Keycloak features + * Additional feature names to enable for the keycloak resource */ withEnabledFeatures(features: string[]): this; @@ -6988,7 +6959,7 @@ export interface KeycloakResource extends ContainerResource, IComputeResource, I withOtlpExporter(protocol?: OtlpProtocol): this; /** - * Imports a Keycloak realm configuration + * Adds a realm import to a Keycloak container resource. */ withRealmImport(importPath: string): this; @@ -6999,6 +6970,16 @@ export interface KeycloakResource extends ContainerResource, IComputeResource, I */ export interface HelmChartOptions { + /** + * Sets the Helm chart description written to the generated Chart.yaml. + */ + + withChartDescription(description: string | ParameterResource): HelmChartOptions; + /** + * Sets the Helm chart name written to the generated Chart.yaml. + */ + + withChartName(name: string | ParameterResource): HelmChartOptions; /** * Sets the Helm chart version for deployment. */ @@ -7022,42 +7003,42 @@ export interface HelmChartOptions { export interface KubernetesAspireDashboardResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Gets the OtlpGrpcEndpoint property + * Gets the OTLP gRPC endpoint for receiving telemetry data. */ otlpGrpcEndpoint: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary HTTP endpoint of the Aspire Dashboard UI. */ primaryEndpoint: PropertyAccessor; /** - * Enables or disables forwarded headers support for the Aspire dashboard + * Configures whether forwarded headers processing is enabled for the Aspire dashboard container. */ withForwardedHeaders(options?: { enabled?: boolean }): this; /** - * Enables or disables forwarded headers support for the Aspire dashboard + * Configures whether forwarded headers processing is enabled for the Aspire dashboard container. */ withForwardedHeaders(enabled?: boolean): this; /** - * Sets the Kubernetes Service ports for the OTLP endpoints + * Sets the Kubernetes Service ports for the Aspire Dashboard OTLP endpoints. */ withOtlpServicePort(options?: { grpcPort?: number; httpPort?: number }): this; /** - * Sets the Kubernetes Service ports for the OTLP endpoints + * Sets the Kubernetes Service ports for the Aspire Dashboard OTLP endpoints. */ withOtlpServicePort(grpcPort?: number, httpPort?: number): this; /** - * Sets the Kubernetes Service port for the Aspire dashboard + * Sets the Kubernetes Service port for the Aspire Dashboard HTTP endpoint. */ withServicePort(options?: { port?: number }): this; /** - * Sets the Kubernetes Service port for the Aspire dashboard + * Sets the Kubernetes Service port for the Aspire Dashboard HTTP endpoint. */ withServicePort(port?: number): this; @@ -7069,157 +7050,127 @@ export interface KubernetesAspireDashboardResource extends ContainerResource, IC export interface KubernetesEnvironmentResource extends IComputeEnvironmentResource, IResource { /** - * Adds a Kubernetes Gateway API Gateway resource + * Adds a Kubernetes Gateway API Gateway resource to the application model as a child of the specified Kubernetes environment. The gateway generates a `gateway.networking.k8s.io/v1 Gateway` resource and one or more `HTTPRoute` resources in the Helm chart output at publish time. */ addGateway(name: string): KubernetesGatewayResource; /** - * Adds a Kubernetes Ingress resource for HTTP routing + * Adds a Kubernetes Ingress resource to the application model as a child of the specified Kubernetes environment. The ingress generates a `networking.k8s.io/v1 Ingress` resource in the Helm chart output at publish time. */ addIngress(name: string): KubernetesIngressResource; /** - * Adds a named node pool to a Kubernetes environment + * Adds a named node pool to the Kubernetes environment. */ addNodePool(name: string): KubernetesNodePoolResource; /** - * Configures the Aspire dashboard resource for the Kubernetes environment + * Configures the dashboard properties for this Kubernetes environment. */ configureDashboard(configure: (obj: KubernetesAspireDashboardResource) => Promise): KubernetesEnvironmentResource; /** - * Gets the DashboardEnabled property + * Determines whether to include an Aspire dashboard for telemetry visualization in this environment. */ dashboardEnabled: PropertyAccessor; /** - * Gets the DefaultImagePullPolicy property + * Gets or sets the default policy that determines how Docker images are pulled during deployment. Possible values are: "Always" - Always attempt to pull the image from the registry. "IfNotPresent" - Pull the image only if it is not already present locally. "Never" - Never pull the image, use only the local image. The default value is "IfNotPresent". */ defaultImagePullPolicy: PropertyAccessor; /** - * Gets the DefaultServiceType property + * Gets or sets the default Kubernetes service type to be used when generating artifacts. */ defaultServiceType: PropertyAccessor; /** - * Gets the DefaultStorageClassName property + * Specifies the default name of the storage class to be used for persistent volume claims in Kubernetes. This property allows customization of the storage class for specifying storage requirements such as performance, retention policies, and provisioning parameters. If set to null, the default storage class for the cluster will be used. */ defaultStorageClassName: PropertyAccessor; /** - * Gets the DefaultStorageReadWritePolicy property + * Gets or sets the default access policy for reading and writing to the storage. */ defaultStorageReadWritePolicy: PropertyAccessor; /** - * Gets the DefaultStorageSize property + * Gets or sets the default storage size for persistent volumes. */ defaultStorageSize: PropertyAccessor; /** - * Gets the DefaultStorageType property + * Specifies the default type of storage used for Kubernetes deployments. */ defaultStorageType: PropertyAccessor; /** - * Gets the HelmChartDescription property - */ - - helmChartDescription: PropertyAccessor; - /** - * Gets the HelmChartName property - */ - - helmChartName: PropertyAccessor; - /** - * Gets the HelmChartVersion property - */ - - helmChartVersion: PropertyAccessor; - /** - * Gets the KubeConfigPath property + * Gets or sets the path to an explicit kubeconfig file for Helm and kubectl commands. When set, all Helm and kubectl commands will use `--kubeconfig` to target this file instead of the default `~/.kube/config`. */ kubeConfigPath: PropertyAccessor; /** - * Sets the DashboardEnabled property + * Determines whether to include an Aspire dashboard for telemetry visualization in this environment. */ setDashboardEnabled(value: boolean): KubernetesEnvironmentResource; /** - * Sets the DefaultImagePullPolicy property + * Gets or sets the default policy that determines how Docker images are pulled during deployment. Possible values are: "Always" - Always attempt to pull the image from the registry. "IfNotPresent" - Pull the image only if it is not already present locally. "Never" - Never pull the image, use only the local image. The default value is "IfNotPresent". */ setDefaultImagePullPolicy(value: string): KubernetesEnvironmentResource; /** - * Sets the DefaultServiceType property + * Gets or sets the default Kubernetes service type to be used when generating artifacts. */ setDefaultServiceType(value: string): KubernetesEnvironmentResource; /** - * Sets the DefaultStorageClassName property + * Specifies the default name of the storage class to be used for persistent volume claims in Kubernetes. This property allows customization of the storage class for specifying storage requirements such as performance, retention policies, and provisioning parameters. If set to null, the default storage class for the cluster will be used. */ setDefaultStorageClassName(value: string): KubernetesEnvironmentResource; /** - * Sets the DefaultStorageReadWritePolicy property + * Gets or sets the default access policy for reading and writing to the storage. */ setDefaultStorageReadWritePolicy(value: string): KubernetesEnvironmentResource; /** - * Sets the DefaultStorageSize property + * Gets or sets the default storage size for persistent volumes. */ setDefaultStorageSize(value: string): KubernetesEnvironmentResource; /** - * Sets the DefaultStorageType property + * Specifies the default type of storage used for Kubernetes deployments. */ setDefaultStorageType(value: string): KubernetesEnvironmentResource; /** - * Sets the HelmChartDescription property - */ - - setHelmChartDescription(value: string): KubernetesEnvironmentResource; - /** - * Sets the HelmChartName property - */ - - setHelmChartName(value: string): KubernetesEnvironmentResource; - /** - * Sets the HelmChartVersion property - */ - - setHelmChartVersion(value: string): KubernetesEnvironmentResource; - /** - * Sets the KubeConfigPath property + * Gets or sets the path to an explicit kubeconfig file for Helm and kubectl commands. When set, all Helm and kubectl commands will use `--kubeconfig` to target this file instead of the default `~/.kube/config`. */ setKubeConfigPath(value: string): KubernetesEnvironmentResource; /** - * Enables or disables the Aspire dashboard for the Kubernetes environment + * Enables the Aspire dashboard for telemetry visualization in this Kubernetes environment. */ withDashboard(options?: { enabled?: boolean }): this; /** - * Enables or disables the Aspire dashboard for the Kubernetes environment + * Enables the Aspire dashboard for telemetry visualization in this Kubernetes environment. */ withDashboard(enabled?: boolean): this; /** - * Configures Helm chart deployment settings + * Configures the Kubernetes environment to deploy using Helm charts. */ withHelm(options?: { configure?: (obj: HelmChartOptions) => Promise }): this; /** - * Configures Helm chart deployment settings + * Configures the Kubernetes environment to deploy using Helm charts. */ withHelm(configure?: (obj: HelmChartOptions) => Promise): this; /** - * Configures properties of a Kubernetes environment + * Allows setting the properties of a Kubernetes environment resource. */ withProperties(configure: (obj: KubernetesEnvironmentResource) => Promise): this; @@ -7231,67 +7182,67 @@ export interface KubernetesEnvironmentResource extends IComputeEnvironmentResour export interface KubernetesGatewayResource extends IResource, IResourceWithParent { /** - * Adds a Kubernetes metadata annotation to a Gateway + * Adds a Kubernetes metadata annotation to the generated Gateway resource. */ withGatewayAnnotation(key: string, value: string): this; /** - * Adds a parameterized Kubernetes metadata annotation to a Gateway + * Adds a Kubernetes metadata annotation with a parameter value that will be resolved at deploy time. */ withGatewayAnnotationParam(key: string, value: string | ParameterResource): this; /** - * Sets the GatewayClass for a Kubernetes Gateway + * Sets the GatewayClass name that selects which controller implementation handles this gateway. */ withGatewayClass(className: string): this; /** - * Sets a parameterized GatewayClass for a Kubernetes Gateway + * Sets the GatewayClass name using a parameter that will be resolved at deploy time. */ withGatewayClassParam(className: string | ParameterResource): this; /** - * Adds a parameterized hostname to a Kubernetes Gateway + * Adds a hostname using a parameter that will be resolved at deploy time. */ withGatewayHostnameParam(hostname: string | ParameterResource): this; /** - * Adds a host-and-path route to a Kubernetes Gateway + * Adds a host-and-path-based routing rule to the gateway. The rule matches traffic for the specified host and path, routing it to the given endpoint's backing Kubernetes service. This generates an `HTTPRoute` resource with a `hostnames` filter. */ withGatewayHostRoute(host: string, path: string, endpoint: EndpointReference, options?: { pathType?: IngressPathType }): this; /** - * Adds a host-and-path route to a Kubernetes Gateway + * Adds a host-and-path-based routing rule to the gateway. The rule matches traffic for the specified host and path, routing it to the given endpoint's backing Kubernetes service. This generates an `HTTPRoute` resource with a `hostnames` filter. */ withGatewayHostRoute(host: string, path: string, endpoint: EndpointReference, pathType?: IngressPathType): this; /** - * Adds a path-based route to a Kubernetes Gateway + * Adds a path-based routing rule to the gateway. The rule matches all hosts and routes traffic matching the specified path to the given endpoint's backing Kubernetes service. This generates an `HTTPRoute` resource attached to the Gateway. */ withGatewayPathRoute(path: string, endpoint: EndpointReference, options?: { pathType?: IngressPathType }): this; /** - * Adds a path-based route to a Kubernetes Gateway + * Adds a path-based routing rule to the gateway. The rule matches all hosts and routes traffic matching the specified path to the given endpoint's backing Kubernetes service. This generates an `HTTPRoute` resource attached to the Gateway. */ withGatewayPathRoute(path: string, endpoint: EndpointReference, pathType?: IngressPathType): this; /** - * Configures TLS on a Kubernetes Gateway with an auto-generated secret + * Configures TLS termination with an auto-generated secret name derived from the gateway name. */ withGatewayTlsAuto(): this; /** - * Configures TLS on a Kubernetes Gateway with a parameterized secret + * Configures TLS termination using a parameter for the secret name. */ withGatewayTlsParam(secretName: string | ParameterResource): this; /** - * Adds a hostname to a Kubernetes Gateway + * Adds a hostname that this gateway's routes match. Multiple hostnames can be added by calling this method repeatedly. Hostnames are used as `hostnames` in generated `HTTPRoute` resources and as HTTPS listener hostnames when TLS is configured. */ withHostname(hostname: string): this; /** - * Configures TLS on a Kubernetes Gateway listener + * Configures TLS termination on the gateway by adding an HTTPS listener that references a Kubernetes TLS secret. The Gateway terminates TLS and forwards plain HTTP to backends. This does not create a separate route — existing HTTPRoutes serve both HTTP and HTTPS. The TLS configuration applies to all hostnames configured via `WithHostname`. */ withTls(secretName: string): this; @@ -7303,72 +7254,72 @@ export interface KubernetesGatewayResource extends IResource, IResourceWithParen export interface KubernetesIngressResource extends IResource, IResourceWithParent { /** - * Sets the default backend for a Kubernetes Ingress + * Sets the default backend for the ingress. The default backend handles requests that do not match any of the defined routing rules. */ withDefaultBackend(endpoint: EndpointReference): this; /** - * Adds a hostname to a Kubernetes Ingress + * Adds a hostname that this ingress matches. Multiple hostnames can be added by calling this method repeatedly. If no hostnames are configured, the ingress matches all hosts. */ withHostname(hostname: string): this; /** - * Adds a Kubernetes metadata annotation to a Kubernetes Ingress + * Adds a Kubernetes metadata annotation to the generated Ingress resource. These are key-value pairs in the `metadata.annotations` field of the K8S Ingress, commonly used to configure ingress controller-specific behavior. */ withIngressAnnotation(key: string, value: string): this; /** - * Adds a parameterized Kubernetes metadata annotation to an Ingress + * Adds a Kubernetes metadata annotation with a parameter value that will be resolved at deploy time. */ withIngressAnnotationParam(key: string, value: string | ParameterResource): this; /** - * Sets the ingress class for a Kubernetes Ingress + * Sets the Kubernetes ingress class name that selects which ingress controller handles this ingress resource. */ withIngressClass(className: string): this; /** - * Sets a parameterized ingress class for a Kubernetes Ingress + * Sets the Kubernetes ingress class name using a parameter that will be resolved at deploy time. */ withIngressClassParam(className: string | ParameterResource): this; /** - * Adds a parameterized hostname to a Kubernetes Ingress + * Adds a hostname using a parameter that will be resolved at deploy time. */ withIngressHostnameParam(hostname: string | ParameterResource): this; /** - * Adds a host-and-path route to a Kubernetes Ingress + * Adds a host-and-path-based routing rule to the ingress. The rule matches traffic for the specified host and path, routing it to the given endpoint's backing Kubernetes service. */ withIngressHostRoute(host: string, path: string, endpoint: EndpointReference, options?: { pathType?: IngressPathType }): this; /** - * Adds a host-and-path route to a Kubernetes Ingress + * Adds a host-and-path-based routing rule to the ingress. The rule matches traffic for the specified host and path, routing it to the given endpoint's backing Kubernetes service. */ withIngressHostRoute(host: string, path: string, endpoint: EndpointReference, pathType?: IngressPathType): this; /** - * Adds a path-based route to a Kubernetes Ingress + * Adds a path-based routing rule to the ingress. The rule matches all hosts and routes traffic matching the specified path to the given endpoint's backing Kubernetes service. */ withIngressPathRoute(path: string, endpoint: EndpointReference, options?: { pathType?: IngressPathType }): this; /** - * Adds a path-based route to a Kubernetes Ingress + * Adds a path-based routing rule to the ingress. The rule matches all hosts and routes traffic matching the specified path to the given endpoint's backing Kubernetes service. */ withIngressPathRoute(path: string, endpoint: EndpointReference, pathType?: IngressPathType): this; /** - * Configures TLS for a Kubernetes Ingress with an auto-generated secret + * Configures TLS termination with an auto-generated secret name derived from the ingress name. */ withIngressTlsAuto(): this; /** - * Configures TLS for a Kubernetes Ingress with a parameterized secret + * Configures TLS termination using a parameter for the secret name. */ withIngressTlsParam(secretName: string | ParameterResource): this; /** - * Configures TLS for a Kubernetes Ingress using a K8S secret + * Configures TLS termination for the ingress by referencing a Kubernetes TLS secret. The TLS configuration applies to all hostnames configured via `WithHostname`. */ withTls(secretName: string): this; @@ -7434,42 +7385,42 @@ export interface MauiMacCatalystPlatformResource extends ProjectResource, ICompu export interface MauiProjectResource extends IResource { /** - * Adds an Android device resource for a .NET MAUI project. + * Adds an Android physical device resource to run the MAUI application on an Android device with a specific name and device ID. */ addAndroidDevice(name: string, options?: { deviceId?: string }): MauiAndroidDeviceResource; /** - * Adds an Android device resource for a .NET MAUI project. + * Adds an Android physical device resource to run the MAUI application on an Android device with a specific name and device ID. */ addAndroidDevice(name: string, deviceId?: string): MauiAndroidDeviceResource; /** - * Adds an Android emulator resource for a .NET MAUI project. + * Adds an Android emulator resource to run the MAUI application on an Android emulator with a specific name. */ addAndroidEmulator(name: string, options?: { emulatorId?: string }): MauiAndroidEmulatorResource; /** - * Adds an Android emulator resource for a .NET MAUI project. + * Adds an Android emulator resource to run the MAUI application on an Android emulator with a specific name. */ addAndroidEmulator(name: string, emulatorId?: string): MauiAndroidEmulatorResource; /** - * Adds an iOS device resource for a .NET MAUI project. + * Adds an iOS physical device resource to run the MAUI application on an iOS device with a specific name and device UDID. */ addiOSDevice(name: string, deviceId?: string): MauiiOSDeviceResource; /** - * Adds an iOS simulator resource for a .NET MAUI project. + * Adds an iOS simulator resource to run the MAUI application on an iOS simulator with a specific name and simulator UDID. */ addiOSSimulator(name: string, simulatorId?: string): MauiiOSSimulatorResource; /** - * Adds a Mac Catalyst platform resource for a .NET MAUI project. + * Adds a Mac Catalyst device resource to run the MAUI application on the macOS platform with a specific name. */ addMacCatalystDevice(name: string): MauiMacCatalystPlatformResource; /** - * Adds a Windows platform resource for a .NET MAUI project. + * Adds a Windows device resource to run the MAUI application on the Windows platform with a specific name. */ addWindowsDevice(name: string): MauiWindowsPlatformResource; @@ -7488,17 +7439,17 @@ export interface MauiWindowsPlatformResource extends ProjectResource, IComputeRe export interface MilvusDatabaseResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Milvus database. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DatabaseName property + * Gets the database name. */ databaseName: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent Milvus container resource. */ parent: PropertyAccessor; @@ -7517,87 +7468,87 @@ export interface AttuResource extends ContainerResource, IComputeResource, IReso export interface MilvusServerResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Adds a Milvus database resource to a Milvus server resource. + * Adds a Milvus database to the application model. */ addDatabase(name: string, options?: { databaseName?: string }): MilvusDatabaseResource; /** - * Adds a Milvus database resource to a Milvus server resource. + * Adds a Milvus database to the application model. */ addDatabase(name: string, databaseName?: string): MilvusDatabaseResource; /** - * Gets the ApiKeyParameter property + * Gets the parameter that contains the Milvus API key. */ apiKeyParameter: PropertyAccessor; /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Milvus gRPC endpoint. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Databases property + * A dictionary where the key is the resource name and the value is the database name. */ databases: PropertyAccessor>; /** - * Gets the Host property + * Gets the host endpoint reference for this resource. */ host: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for this resource. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the gRPC endpoint for the Milvus database. */ primaryEndpoint: PropertyAccessor; /** - * Gets the Token property + * Gets a valid access token to access the Milvus instance. */ token: PropertyAccessor; /** - * Gets the UriExpression property + * Gets URI expression for the Milvus instance. */ uriExpression: PropertyAccessor; /** - * Adds the Attu administration tool for Milvus. + * Adds an administration and development platform for Milvus to the application model using Attu. */ withAttu(options?: { configureContainer?: (obj: AttuResource) => Promise; containerName?: string }): this; /** - * Adds the Attu administration tool for Milvus. + * Adds an administration and development platform for Milvus to the application model using Attu. */ withAttu(configureContainer?: (obj: AttuResource) => Promise, containerName?: string): this; /** - * Copies a Milvus configuration file into the container. + * Copies a configuration file into a Milvus container resource. */ withConfigurationFile(configurationFilePath: string): this; /** - * Mounts a host directory as the Milvus data directory. + * Adds a bind mount for the data folder to a Milvus container resource. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Mounts a host directory as the Milvus data directory. + * Adds a bind mount for the data folder to a Milvus container resource. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a persistent data volume to the Milvus server resource. + * Adds a named volume for the data folder to a Milvus container resource. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a persistent data volume to the Milvus server resource. + * Adds a named volume for the data folder to a Milvus container resource. */ withDataVolume(name?: string, isReadOnly?: boolean): this; @@ -7609,22 +7560,22 @@ export interface MilvusServerResource extends ContainerResource, IComputeResourc export interface MongoDBDatabaseResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the MongoDB database. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DatabaseName property + * Gets the database name. */ databaseName: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent MongoDB container resource. */ parent: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the MongoDB database. */ uriExpression: PropertyAccessor; @@ -7636,92 +7587,92 @@ export interface MongoDBDatabaseResource extends IExpressionValue, IManifestExpr export interface MongoDBServerResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Adds a MongoDB database resource + * Adds a MongoDB database to the application model. */ addDatabase(name: string, options?: { databaseName?: string }): MongoDBDatabaseResource; /** - * Adds a MongoDB database resource + * Adds a MongoDB database to the application model. */ addDatabase(name: string, databaseName?: string): MongoDBDatabaseResource; /** - * Gets the ConnectionStringExpression property + * Gets the connection string for the MongoDB server. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Databases property + * A dictionary where the key is the resource name and the value is the database name. */ databases: PropertyAccessor>; /** - * Gets the Host property + * Gets the host endpoint reference for this resource. */ host: PropertyAccessor; /** - * Gets the PasswordParameter property + * Gets the parameter that contains the MongoDb server password. */ passwordParameter: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for this resource. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the MongoDB server. */ primaryEndpoint: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the MongoDB server. */ uriExpression: PropertyAccessor; /** - * Gets the UserNameParameter property + * Gets the parameter that contains the MongoDb server username. */ userNameParameter: PropertyAccessor; /** - * Gets the UserNameReference property + * Gets a reference to the user name for the MongoDB server. */ userNameReference: PropertyAccessor; /** - * Adds a bind mount for the MongoDB data folder + * Adds a bind mount for the data folder to a MongoDB container resource. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Adds a bind mount for the MongoDB data folder + * Adds a bind mount for the data folder to a MongoDB container resource. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a named volume for the MongoDB data folder + * Adds a named volume for the data folder to a MongoDB container resource. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a named volume for the MongoDB data folder + * Adds a named volume for the data folder to a MongoDB container resource. */ withDataVolume(name?: string, isReadOnly?: boolean): this; /** - * Copies init files into a MongoDB container + * Copies init files into a MongoDB container resource. */ withInitFiles(source: string): this; /** - * Adds a MongoExpress administration platform for MongoDB + * Adds a MongoExpress administration and development platform for MongoDB to the application model. */ withMongoExpress(options?: { configureContainer?: (obj: MongoExpressContainerResource) => Promise; containerName?: string }): this; /** - * Adds a MongoExpress administration platform for MongoDB + * Adds a MongoExpress administration and development platform for MongoDB to the application model. */ withMongoExpress(configureContainer?: (obj: MongoExpressContainerResource) => Promise, containerName?: string): this; @@ -7733,7 +7684,7 @@ export interface MongoDBServerResource extends ContainerResource, IComputeResour export interface MongoExpressContainerResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Sets the host port for the Mongo Express resource + * Configures the host port that the Mongo Express resource is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; @@ -7745,32 +7696,32 @@ export interface MongoExpressContainerResource extends ContainerResource, ICompu export interface MySqlDatabaseResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the MySQL database. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DatabaseName property + * Gets the database name. */ databaseName: PropertyAccessor; /** - * Gets the JdbcConnectionString property + * Gets the JDBC connection string for the MySQL database. */ jdbcConnectionString: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent MySQL container resource. */ parent: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the MySQL database. */ uriExpression: PropertyAccessor; /** - * Defines the SQL script for database creation + * Defines the SQL script used to create the database. */ withCreationScript(script: string): this; @@ -7782,97 +7733,97 @@ export interface MySqlDatabaseResource extends IExpressionValue, IManifestExpres export interface MySqlServerResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Adds a MySQL database + * Adds a MySQL database to the application model. */ addDatabase(name: string, options?: { databaseName?: string }): MySqlDatabaseResource; /** - * Adds a MySQL database + * Adds a MySQL database to the application model. */ addDatabase(name: string, databaseName?: string): MySqlDatabaseResource; /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the MySQL server. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Databases property + * A dictionary where the key is the resource name and the value is the database name. */ databases: PropertyAccessor>; /** - * Gets the Host property + * Gets the host endpoint reference for this resource. */ host: PropertyAccessor; /** - * Gets the JdbcConnectionString property + * Gets the JDBC connection string for the MySQL server. */ jdbcConnectionString: PropertyAccessor; /** - * Gets the PasswordParameter property + * Gets or sets the parameter that contains the MySQL server password. */ passwordParameter: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for this resource. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the MySQL server. */ primaryEndpoint: PropertyAccessor; /** - * Sets the PasswordParameter property + * Gets or sets the parameter that contains the MySQL server password. */ setPasswordParameter(value: string | ParameterResource): MySqlServerResource; /** - * Gets the UriExpression property + * Gets the connection URI expression for the MySQL server. */ uriExpression: PropertyAccessor; /** - * Adds a data bind mount for MySQL + * Adds a bind mount for the data folder to a MySql container resource. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Adds a data bind mount for MySQL + * Adds a bind mount for the data folder to a MySql container resource. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a data volume for MySQL + * Adds a named volume for the data folder to a MySql container resource. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a data volume for MySQL + * Adds a named volume for the data folder to a MySql container resource. */ withDataVolume(name?: string, isReadOnly?: boolean): this; /** - * Copies init files to MySQL + * Copies init files into a MySql container resource. */ withInitFiles(source: string): this; /** - * Configures the MySQL password + * Configures the password that the MySQL resource uses. */ withPassword(password: string | ParameterResource): this; /** - * Adds phpMyAdmin management UI + * Adds a phpMyAdmin administration and development platform for MySql to the application model. */ withPhpMyAdmin(options?: { configureContainer?: (obj: PhpMyAdminContainerResource) => Promise; containerName?: string }): this; /** - * Adds phpMyAdmin management UI + * Adds a phpMyAdmin administration and development platform for MySql to the application model. */ withPhpMyAdmin(configureContainer?: (obj: PhpMyAdminContainerResource) => Promise, containerName?: string): this; @@ -7884,7 +7835,7 @@ export interface MySqlServerResource extends ContainerResource, IComputeResource export interface PhpMyAdminContainerResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Sets the host port for phpMyAdmin + * Configures the host port that the PGAdmin resource is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; @@ -7896,77 +7847,77 @@ export interface PhpMyAdminContainerResource extends ContainerResource, ICompute export interface NatsServerResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the NATS server. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Host property + * Gets the host endpoint reference for this resource. */ host: PropertyAccessor; /** - * Gets the PasswordParameter property + * Gets or sets the password for the NATS server. */ passwordParameter: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for this resource. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the NATS server. */ primaryEndpoint: PropertyAccessor; /** - * Sets the PasswordParameter property + * Gets or sets the password for the NATS server. */ setPasswordParameter(value: string | ParameterResource): NatsServerResource; /** - * Sets the UserNameParameter property + * Gets or sets the user name for the NATS server. */ setUserNameParameter(value: string | ParameterResource): NatsServerResource; /** - * Gets the UriExpression property + * Gets the connection URI expression for the NATS server. */ uriExpression: PropertyAccessor; /** - * Gets the UserNameParameter property + * Gets or sets the user name for the NATS server. */ userNameParameter: PropertyAccessor; /** - * Gets the UserNameReference property + * Gets a reference to the user name for the NATS server. */ userNameReference: PropertyAccessor; /** - * Mounts a host directory as the NATS data directory. + * Adds a bind mount for the data folder to a NATS container resource. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Mounts a host directory as the NATS data directory. + * Adds a bind mount for the data folder to a NATS container resource. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a persistent data volume to the NATS resource. + * Adds a named volume for the data folder to a NATS container resource. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a persistent data volume to the NATS resource. + * Adds a named volume for the data folder to a NATS container resource. */ withDataVolume(name?: string, isReadOnly?: boolean): this; /** - * Configures the NATS resource to enable JetStream. + * Adds JetStream support to the NATS server resource. */ withJetStream(): this; @@ -7978,7 +7929,7 @@ export interface NatsServerResource extends ContainerResource, IComputeResource, export interface OpenAIModelResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Adds a health check for the OpenAI model resource. + * Adds a health check to the OpenAI Model resource. */ withHealthCheck(): this; @@ -7990,17 +7941,17 @@ export interface OpenAIModelResource extends IExpressionValue, IManifestExpressi export interface OpenAIResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IValueProvider, IValueWithReferences { /** - * Adds an OpenAI model resource. + * Adds an OpenAI Model child to the provided OpenAI resource. */ addModel(name: string, model: string): OpenAIModelResource; /** - * Configures the API key for the OpenAI resource. + * Configures the API key for the OpenAI parent resource from a parameter. */ withApiKey(apiKey: string | ParameterResource): this; /** - * Configures the endpoint URI for the OpenAI resource. + * Sets a custom OpenAI-compatible service endpoint URI on the parent resource. */ withEndpoint(endpoint: string): this; @@ -8012,27 +7963,27 @@ export interface OpenAIResource extends IExpressionValue, IManifestExpressionPro export interface OracleDatabaseResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Oracle Database. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DatabaseName property + * Gets the database name. */ databaseName: PropertyAccessor; /** - * Gets the JdbcConnectionString property + * Gets the JDBC connection string for the Oracle Database. */ jdbcConnectionString: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent Oracle container resource. */ parent: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the Oracle database. */ uriExpression: PropertyAccessor; @@ -8044,82 +7995,82 @@ export interface OracleDatabaseResource extends IExpressionValue, IManifestExpre export interface OracleDatabaseServerResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Adds an Oracle database resource to an Oracle server resource. + * Adds a Oracle Database database to the application model. */ addDatabase(name: string, options?: { databaseName?: string }): OracleDatabaseResource; /** - * Adds an Oracle database resource to an Oracle server resource. + * Adds a Oracle Database database to the application model. */ addDatabase(name: string, databaseName?: string): OracleDatabaseResource; /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Oracle Database server. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Databases property + * A dictionary where the key is the resource name and the value is the database name. */ databases: PropertyAccessor>; /** - * Gets the Host property + * Gets the host endpoint reference for this resource. */ host: PropertyAccessor; /** - * Gets the JdbcConnectionString property + * Gets the JDBC connection string for the Oracle Database server. */ jdbcConnectionString: PropertyAccessor; /** - * Gets the PasswordParameter property + * Gets the parameter that contains the Oracle Database server password. */ passwordParameter: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for this resource. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the Oracle server. */ primaryEndpoint: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the Oracle server. */ uriExpression: PropertyAccessor; /** - * Gets the UserNameReference property + * Gets a reference to the user name for the Oracle server. */ userNameReference: PropertyAccessor; /** - * Mounts a host directory as the Oracle data directory. + * Adds a bind mount for the data folder to a Oracle Database server container resource. */ withDataBindMount(source: string): this; /** - * Adds a persistent data volume to the Oracle server resource. + * Adds a named volume for the data folder to a Oracle Database server container resource. */ withDataVolume(options?: { name?: string }): this; /** - * Adds a persistent data volume to the Oracle server resource. + * Adds a named volume for the data folder to a Oracle Database server container resource. */ withDataVolume(name?: string): this; /** - * Mounts a host directory as the Oracle DB setup directory. + * Adds a bind mount for the database setup folder to a Oracle Database server container resource. */ withDbSetupBindMount(source: string): this; /** - * Copies initialization files into the Oracle container. + * Copies init files into a Oracle Database server container resource. */ withInitFiles(source: string): this; @@ -8131,67 +8082,67 @@ export interface OracleDatabaseServerResource extends ContainerResource, IComput export interface OrleansService { /** - * Creates an Orleans client view for the service + * Returns a model of the clients of an Orleans service. */ asClient(): OrleansServiceClient; /** - * Adds an Orleans broadcast channel provider + * Adds a broadcast channel provider to the Orleans service. */ withBroadcastChannel(name: string): OrleansService; /** - * Sets the Orleans cluster ID + * Sets the ClusterId of the Orleans service. */ withClusterId(clusterId: string): OrleansService; /** - * Configures Orleans clustering using a resource connection + * Configures the Orleans service to use the provided clustering provider. */ withClustering(provider: IResourceWithConnectionString): OrleansService; /** - * Configures Orleans development clustering + * Configures the Orleans service to use development-only clustering. */ withDevelopmentClustering(): OrleansService; /** - * Adds an Orleans grain directory provider + * Adds a grain directory provider to the Orleans service. */ withGrainDirectory(name: string, provider: IResourceWithConnectionString): OrleansService; /** - * Adds an Orleans grain storage provider + * Adds a grain storage provider to the Orleans service. */ withGrainStorage(name: string, provider: IResourceWithConnectionString): OrleansService; /** - * Adds in-memory Orleans grain storage + * Adds an in-memory grain storage to the Orleans service. */ withMemoryGrainStorage(name: string): OrleansService; /** - * Configures in-memory Orleans reminders + * Configures in-memory reminder storage for the Orleans service. */ withMemoryReminders(): OrleansService; /** - * Adds in-memory Orleans streaming + * Adds an in-memory stream provider to the Orleans service. */ withMemoryStreaming(name: string): OrleansService; /** - * Configures Orleans reminder storage + * Configures reminder storage for the Orleans service. */ withReminders(provider: IResourceWithConnectionString): OrleansService; /** - * Sets the Orleans service ID + * Sets the ServiceId of the Orleans service. */ withServiceId(serviceId: string): OrleansService; /** - * Adds an Orleans stream provider + * Adds a stream provider to the Orleans service. */ withStreaming(name: string, provider: IResourceWithConnectionString): OrleansService; @@ -8210,42 +8161,42 @@ export interface OrleansServiceClient { export interface PostgresDatabaseResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Postgres database. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DatabaseName property + * Gets the database name. */ databaseName: PropertyAccessor; /** - * Gets the JdbcConnectionString property + * Gets the JDBC connection string for the PostgreSQL database. */ jdbcConnectionString: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent PostgresSQL container resource. */ parent: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the PostgreSQL database. */ uriExpression: PropertyAccessor; /** - * Defines the SQL script for database creation + * Defines the SQL script used to create the database. */ withCreationScript(script: string): this; /** - * Adds Postgres MCP server + * Adds a Postgres MCP server container and configures it to connect to the database represented by `builder`. */ withPostgresMcp(options?: { configureContainer?: (obj: PostgresMcpContainerResource) => Promise; containerName?: string }): this; /** - * Adds Postgres MCP server + * Adds a Postgres MCP server container and configures it to connect to the database represented by `builder`. */ withPostgresMcp(configureContainer?: (obj: PostgresMcpContainerResource) => Promise, containerName?: string): this; @@ -8257,132 +8208,132 @@ export interface PostgresDatabaseResource extends IExpressionValue, IManifestExp export interface PostgresServerResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Adds a PostgreSQL database + * Adds a PostgreSQL database to the application model. */ addDatabase(name: string, options?: { databaseName?: string }): PostgresDatabaseResource; /** - * Adds a PostgreSQL database + * Adds a PostgreSQL database to the application model. */ addDatabase(name: string, databaseName?: string): PostgresDatabaseResource; /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the PostgreSQL server. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Databases property + * A dictionary where the key is the resource name and the value is the database name. */ databases: PropertyAccessor>; /** - * Gets the Host property + * Gets the host endpoint reference for this service. */ host: PropertyAccessor; /** - * Gets the JdbcConnectionString property + * Gets the JDBC connection string for the PostgreSQL server. */ jdbcConnectionString: PropertyAccessor; /** - * Gets the PasswordParameter property + * Gets or sets the parameter that contains the PostgreSQL server password. */ passwordParameter: PropertyAccessor; /** - * Gets the Port property + * Gets the endpoint reference expression that identifies the port for this endpoint. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the PostgreSQL server. */ primaryEndpoint: PropertyAccessor; /** - * Sets the PasswordParameter property + * Gets or sets the parameter that contains the PostgreSQL server password. */ setPasswordParameter(value: string | ParameterResource): PostgresServerResource; /** - * Sets the UserNameParameter property + * Gets or sets the parameter that contains the PostgreSQL server user name. */ setUserNameParameter(value: string | ParameterResource): PostgresServerResource; /** - * Gets the UriExpression property + * Gets the connection URI expression for the PostgreSQL server. */ uriExpression: PropertyAccessor; /** - * Gets the UserNameParameter property + * Gets or sets the parameter that contains the PostgreSQL server user name. */ userNameParameter: PropertyAccessor; /** - * Gets the UserNameReference property + * Gets a reference to the user name for the PostgreSQL server. */ userNameReference: PropertyAccessor; /** - * Adds a data bind mount for PostgreSQL + * Adds a bind mount for the data folder to a PostgreSQL container resource. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Adds a data bind mount for PostgreSQL + * Adds a bind mount for the data folder to a PostgreSQL container resource. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a data volume for PostgreSQL + * Adds a named volume for the data folder to a PostgreSQL container resource. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a data volume for PostgreSQL + * Adds a named volume for the data folder to a PostgreSQL container resource. */ withDataVolume(name?: string, isReadOnly?: boolean): this; /** - * Sets the host port for PostgreSQL + * Configures the host port that the PostgreSQL resource is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; /** - * Copies init files to PostgreSQL + * Copies init files to a PostgreSQL container resource. */ withInitFiles(source: string): this; /** - * Configures the PostgreSQL password + * Configures the password that the PostgreSQL resource is used. */ withPassword(password: string | ParameterResource): this; /** - * Adds pgAdmin 4 management UI + * Adds a pgAdmin 4 administration and development platform for PostgreSQL to the application model. */ withPgAdmin(options?: { configureContainer?: (obj: PgAdminContainerResource) => Promise; containerName?: string }): this; /** - * Adds pgAdmin 4 management UI + * Adds a pgAdmin 4 administration and development platform for PostgreSQL to the application model. */ withPgAdmin(configureContainer?: (obj: PgAdminContainerResource) => Promise, containerName?: string): this; /** - * Adds pgweb management UI + * Adds an administration and development platform for PostgreSQL to the application model using pgweb. */ withPgWeb(options?: { configureContainer?: (obj: PgWebContainerResource) => Promise; containerName?: string }): this; /** - * Adds pgweb management UI + * Adds an administration and development platform for PostgreSQL to the application model using pgweb. */ withPgWeb(configureContainer?: (obj: PgWebContainerResource) => Promise, containerName?: string): this; /** - * Configures the PostgreSQL user name + * Configures the user name that the PostgreSQL resource is used. */ withUserName(userName: string | ParameterResource): this; @@ -8394,7 +8345,7 @@ export interface PostgresServerResource extends ContainerResource, IComputeResou export interface PgAdminContainerResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Sets the host port for pgAdmin + * Configures the host port that the PGAdmin resource is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; @@ -8406,7 +8357,7 @@ export interface PgAdminContainerResource extends ContainerResource, IComputeRes export interface PgWebContainerResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Sets the host port for pgweb + * Configures the host port that the pgweb resource is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; @@ -8425,42 +8376,42 @@ export interface PostgresMcpContainerResource extends ContainerResource, IComput export interface PythonAppResource extends ExecutableResource, IComputeResource, IContainerFilesDestinationResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IResourceWithServiceDiscovery { /** - * Enables debugging support for a Python application + * Enables debugging support for the Python application. */ withDebugging(): this; /** - * Configures the entrypoint for a Python application + * Configures the entrypoint for the Python application. */ withEntrypoint(entrypointType: EntrypointType, entrypoint: string): this; /** - * Configures pip package installation for a Python application + * Configures the Python resource to use pip as the package manager and optionally installs packages before the application starts. */ withPip(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures pip package installation for a Python application + * Configures the Python resource to use pip as the package manager and optionally installs packages before the application starts. */ withPip(install?: boolean, installArgs?: string[]): this; /** - * Configures uv package management for a Python application + * Adds a UV environment setup task to ensure the virtual environment exists before running the Python application. */ withUv(options?: { install?: boolean; args?: string[] }): this; /** - * Configures uv package management for a Python application + * Adds a UV environment setup task to ensure the virtual environment exists before running the Python application. */ withUv(install?: boolean, args?: string[]): this; /** - * Configures the virtual environment for a Python application + * Configures a custom virtual environment path for the Python application. */ withVirtualEnvironment(virtualEnvironmentPath: string, options?: { createIfNotExists?: boolean }): this; /** - * Configures the virtual environment for a Python application + * Configures a custom virtual environment path for the Python application. */ withVirtualEnvironment(virtualEnvironmentPath: string, createIfNotExists?: boolean): this; @@ -8479,57 +8430,57 @@ export interface UvicornAppResource extends ExecutableResource, PythonAppResourc export interface QdrantServerResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Gets the ApiKeyParameter property + * Gets the parameter that contains the Qdrant API key. */ apiKeyParameter: PropertyAccessor; /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Qdrant gRPC endpoint. */ connectionStringExpression: PropertyAccessor; /** - * Gets the GrpcHost property + * Gets the host endpoint reference for the gRPC endpoint. */ grpcHost: PropertyAccessor; /** - * Gets the GrpcPort property + * Gets the port endpoint reference for the gRPC endpoint. */ grpcPort: PropertyAccessor; /** - * Gets the HttpConnectionStringExpression property + * Gets the connection string expression for the Qdrant HTTP endpoint. */ httpConnectionStringExpression: PropertyAccessor; /** - * Gets the HttpEndpoint property + * Gets the HTTP endpoint for the Qdrant database. */ httpEndpoint: PropertyAccessor; /** - * Gets the HttpHost property + * Gets the host endpoint reference for the HTTP endpoint. */ httpHost: PropertyAccessor; /** - * Gets the HttpPort property + * Gets the port endpoint reference for the HTTP endpoint. */ httpPort: PropertyAccessor; /** - * Gets the HttpUriExpression property + * Gets the connection URI expression for the Qdrant HTTP endpoint. */ httpUriExpression: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the gRPC endpoint for the Qdrant database. */ primaryEndpoint: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the Qdrant gRPC endpoint. */ uriExpression: PropertyAccessor; @@ -8561,67 +8512,67 @@ export interface QdrantServerResource extends ContainerResource, IComputeResourc export interface RabbitMQServerResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the RabbitMQ server. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Host property + * Gets the host endpoint reference for this resource. */ host: PropertyAccessor; /** - * Gets the ManagementEndpoint property + * Gets the management endpoint for the RabbitMQ server. */ managementEndpoint: PropertyAccessor; /** - * Gets the PasswordParameter property + * Gets the parameter that contains the RabbitMQ server password. */ passwordParameter: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for this resource. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the RabbitMQ server. */ primaryEndpoint: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the RabbitMQ server. */ uriExpression: PropertyAccessor; /** - * Gets the UserNameParameter property + * Gets the parameter that contains the RabbitMQ server user name. */ userNameParameter: PropertyAccessor; /** - * Gets the UserNameReference property + * Gets a reference to the user name for the RabbitMQ server. */ userNameReference: PropertyAccessor; /** - * Adds a data bind mount to the RabbitMQ container + * Adds a bind mount for the data folder to a RabbitMQ container resource. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Adds a data bind mount to the RabbitMQ container + * Adds a bind mount for the data folder to a RabbitMQ container resource. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a data volume to the RabbitMQ container + * Adds a named volume for the data folder to a RabbitMQ container resource. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a data volume to the RabbitMQ container + * Adds a named volume for the data folder to a RabbitMQ container resource. */ withDataVolume(name?: string, isReadOnly?: boolean): this; @@ -8643,102 +8594,102 @@ export interface RabbitMQServerResource extends ContainerResource, IComputeResou export interface RedisResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Redis server. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Host property + * Gets the host endpoint reference for this resource. */ host: PropertyAccessor; /** - * Gets the PasswordParameter property + * Gets the parameter that contains the Redis server password. */ passwordParameter: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for this resource. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the Redis server. */ primaryEndpoint: PropertyAccessor; /** - * Sets the PasswordParameter property + * Gets the parameter that contains the Redis server password. */ setPasswordParameter(value: string | ParameterResource): RedisResource; /** - * Gets the TlsEnabled property + * Indicates whether TLS is enabled for the Redis server. */ tlsEnabled: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the Redis server. */ uriExpression: PropertyAccessor; /** - * Adds a data bind mount with persistence + * Adds a bind mount for the data folder to a Redis container resource and enables Redis persistence. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Adds a data bind mount with persistence + * Adds a bind mount for the data folder to a Redis container resource and enables Redis persistence. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a data volume with persistence + * Adds a named volume for the data folder to a Redis container resource and enables Redis persistence. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a data volume with persistence + * Adds a named volume for the data folder to a Redis container resource and enables Redis persistence. */ withDataVolume(name?: string, isReadOnly?: boolean): this; /** - * Sets the host port for Redis + * Configures the host port that the Redis resource is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; /** - * Configures the password for Redis + * Configures the password that the Redis resource is used. */ withPassword(password: string | ParameterResource): this; /** - * Configures Redis persistence + * Configures a Redis container resource for persistence. */ withPersistence(options?: { interval?: timespan; keysChangedThreshold?: number }): this; /** - * Configures Redis persistence + * Configures a Redis container resource for persistence. */ withPersistence(interval?: timespan, keysChangedThreshold?: number): this; /** - * Adds Redis Commander management UI + * Configures a container resource for Redis Commander which is pre-configured to connect to the `RedisResource` that this method is used on. */ withRedisCommander(options?: { configureContainer?: (obj: RedisCommanderResource) => Promise; containerName?: string }): this; /** - * Adds Redis Commander management UI + * Configures a container resource for Redis Commander which is pre-configured to connect to the `RedisResource` that this method is used on. */ withRedisCommander(configureContainer?: (obj: RedisCommanderResource) => Promise, containerName?: string): this; /** - * Adds Redis Insight management UI + * Configures a container resource for Redis Insight which is pre-configured to connect to the `RedisResource` that this method is used on. */ withRedisInsight(options?: { configureContainer?: (obj: RedisInsightResource) => Promise; containerName?: string }): this; /** - * Adds Redis Insight management UI + * Configures a container resource for Redis Insight which is pre-configured to connect to the `RedisResource` that this method is used on. */ withRedisInsight(configureContainer?: (obj: RedisInsightResource) => Promise, containerName?: string): this; @@ -8750,7 +8701,7 @@ export interface RedisResource extends ContainerResource, IComputeResource, IExp export interface RedisCommanderResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Sets the host port for Redis Commander + * Configures the host port that the Redis Commander resource is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; @@ -8762,22 +8713,22 @@ export interface RedisCommanderResource extends ContainerResource, IComputeResou export interface RedisInsightResource extends ContainerResource, IComputeResource, IResource, IResourceWithArgs, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport { /** - * Adds a data bind mount for Redis Insight + * Adds a bind mount for the data folder to a Redis Insight container resource. */ withDataBindMount(source: string): this; /** - * Adds a data volume for Redis Insight + * Adds a named volume for the data folder to a Redis Insight container resource. */ withDataVolume(options?: { name?: string }): this; /** - * Adds a data volume for Redis Insight + * Adds a named volume for the data folder to a Redis Insight container resource. */ withDataVolume(name?: string): this; /** - * Sets the host port for Redis Insight + * Configures the host port that the Redis Insight resource is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; @@ -8789,47 +8740,47 @@ export interface RedisInsightResource extends ContainerResource, IComputeResourc export interface SeqResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Seq server. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Host property + * Gets the host endpoint reference for this resource. */ host: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for this resource. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the Seq server. */ primaryEndpoint: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the Seq server. */ uriExpression: PropertyAccessor; /** - * Adds a data bind mount for Seq + * Adds a bind mount for the data folder to a Seq container resource. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Adds a data bind mount for Seq + * Adds a bind mount for the data folder to a Seq container resource. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a data volume for Seq + * Adds a named volume for the data folder to a Seq container resource. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a data volume for Seq + * Adds a named volume for the data folder to a Seq container resource. */ withDataVolume(name?: string, isReadOnly?: boolean): this; @@ -8841,32 +8792,32 @@ export interface SeqResource extends ContainerResource, IComputeResource, IExpre export interface SqlServerDatabaseResource extends IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithConnectionString, IResourceWithParent, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the SQL Server database. */ connectionStringExpression: PropertyAccessor; /** - * Gets the DatabaseName property + * Gets the database name. */ databaseName: PropertyAccessor; /** - * Gets the JdbcConnectionString property + * Gets the JDBC connection string for the SQL Server database. */ jdbcConnectionString: PropertyAccessor; /** - * Gets the Parent property + * Gets the parent SQL Server container resource. */ parent: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the SQL Server database. */ uriExpression: PropertyAccessor; /** - * Defines the SQL script used to create the database + * Defines the SQL script used to create the database. */ withCreationScript(script: string): this; @@ -8878,92 +8829,92 @@ export interface SqlServerDatabaseResource extends IExpressionValue, IManifestEx export interface SqlServerServerResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Adds a SQL Server database resource + * Adds a SQL Server database to the application model. This is a child resource of a `SqlServerServerResource`. */ addDatabase(name: string, options?: { databaseName?: string }): SqlServerDatabaseResource; /** - * Adds a SQL Server database resource + * Adds a SQL Server database to the application model. This is a child resource of a `SqlServerServerResource`. */ addDatabase(name: string, databaseName?: string): SqlServerDatabaseResource; /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the SQL Server. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Databases property + * A dictionary where the key is the resource name and the value is the database name. */ databases: PropertyAccessor>; /** - * Gets the Host property + * Gets the host endpoint reference for this resource. */ host: PropertyAccessor; /** - * Gets the JdbcConnectionString property + * Gets the JDBC connection string for the SQL Server. */ jdbcConnectionString: PropertyAccessor; /** - * Gets the PasswordParameter property + * Gets the parameter that contains the SQL Server password. */ passwordParameter: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for this resource. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the SQL Server. */ primaryEndpoint: PropertyAccessor; /** - * Sets the PasswordParameter property + * Gets the parameter that contains the SQL Server password. */ setPasswordParameter(value: string | ParameterResource): SqlServerServerResource; /** - * Gets the UriExpression property + * Gets the connection URI expression for the SQL Server. */ uriExpression: PropertyAccessor; /** - * Gets the UserNameReference property + * Gets a reference to the user name for the SQL Server. */ userNameReference: PropertyAccessor; /** - * Adds a bind mount for the SQL Server data folder + * Adds a bind mount for the data folder to a SQL Server resource. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Adds a bind mount for the SQL Server data folder + * Adds a bind mount for the data folder to a SQL Server resource. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a named volume for the SQL Server data folder + * Adds a named volume for the data folder to a SQL Server resource. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a named volume for the SQL Server data folder + * Adds a named volume for the data folder to a SQL Server resource. */ withDataVolume(name?: string, isReadOnly?: boolean): this; /** - * Sets the host port for the SQL Server resource + * Configures the host port that the SqlServer resource is exposed on instead of using randomly assigned port. */ withHostPort(port: number | null): this; /** - * Configures the password for the SQL Server resource + * Configures the password that the SqlServer resource is used. */ withPassword(password: string | ParameterResource): this; @@ -8975,62 +8926,62 @@ export interface SqlServerServerResource extends ContainerResource, IComputeReso export interface ValkeyResource extends ContainerResource, IComputeResource, IExpressionValue, IManifestExpressionProvider, IResource, IResourceWithArgs, IResourceWithConnectionString, IResourceWithEndpoints, IResourceWithEnvironment, IResourceWithProbes, IResourceWithWaitSupport, IValueProvider, IValueWithReferences { /** - * Gets the ConnectionStringExpression property + * Gets the connection string expression for the Valkey server. */ connectionStringExpression: PropertyAccessor; /** - * Gets the Host property + * Gets the host endpoint reference for this resource. */ host: PropertyAccessor; /** - * Gets the PasswordParameter property + * Gets the parameter that contains the Valkey server password. */ passwordParameter: PropertyAccessor; /** - * Gets the Port property + * Gets the port endpoint reference for this resource. */ port: PropertyAccessor; /** - * Gets the PrimaryEndpoint property + * Gets the primary endpoint for the Valkey server. */ primaryEndpoint: PropertyAccessor; /** - * Gets the UriExpression property + * Gets the connection URI expression for the Valkey server. */ uriExpression: PropertyAccessor; /** - * Adds a data bind mount for Valkey and enables persistence + * Adds a bind mount for the data folder to a Valkey container resource and enables Valkey persistence. */ withDataBindMount(source: string, options?: { isReadOnly?: boolean }): this; /** - * Adds a data bind mount for Valkey and enables persistence + * Adds a bind mount for the data folder to a Valkey container resource and enables Valkey persistence. */ withDataBindMount(source: string, isReadOnly?: boolean): this; /** - * Adds a data volume for Valkey and enables persistence + * Adds a named volume for the data folder to a Valkey container resource and enables Valkey persistence. */ withDataVolume(options?: { name?: string; isReadOnly?: boolean }): this; /** - * Adds a data volume for Valkey and enables persistence + * Adds a named volume for the data folder to a Valkey container resource and enables Valkey persistence. */ withDataVolume(name?: string, isReadOnly?: boolean): this; /** - * Configures Valkey persistence + * Configures a Valkey container resource for persistence. */ withPersistence(options?: { interval?: timespan; keysChangedThreshold?: number }): this; /** - * Configures Valkey persistence + * Configures a Valkey container resource for persistence. */ withPersistence(interval?: timespan, keysChangedThreshold?: number): this; @@ -9042,37 +8993,37 @@ export interface ValkeyResource extends ContainerResource, IComputeResource, IEx export interface IYarpConfigurationBuilder { /** - * Adds a YARP catch-all route for a cluster, endpoint, resource, or string destination target. + * Adds a catch-all route for a cluster, endpoint, resource, or string destination target. */ addCatchAllRoute(target: ExternalServiceResource|string): YarpRoute; /** - * Adds a YARP cluster for an endpoint reference. + * Adds a cluster for an endpoint reference. */ addClusterFromEndpoint(endpoint: EndpointReference): YarpCluster; /** - * Adds a YARP cluster for an external service resource. + * Adds a cluster for an external service resource. */ addClusterFromExternalService(externalService: ExternalServiceResource): YarpCluster; /** - * Adds a YARP cluster for a resource that supports service discovery. + * Adds a cluster for a resource that supports service discovery. */ addClusterFromResource(resource: IResourceWithServiceDiscovery): YarpCluster; /** - * Adds a YARP cluster with a single destination. + * Adds a cluster from a single destination. */ addClusterWithDestination(clusterName: string, destination: any): YarpCluster; /** - * Adds a YARP cluster with multiple destinations. + * Adds a cluster from multiple destinations. */ addClusterWithDestinations(clusterName: string, destinations: any[]): YarpCluster; /** - * Adds a YARP route for a cluster, endpoint, resource, or string destination target. + * Adds a route for a cluster, endpoint, resource, or string destination target. */ addRoute(path: string, target: ExternalServiceResource|string): YarpRoute; @@ -9084,32 +9035,32 @@ export interface IYarpConfigurationBuilder { export interface YarpCluster { /** - * Sets the forwarder request configuration for the cluster. + * Set the forwarder request configuration for the cluster. */ withForwarderRequestConfig(config: YarpForwarderRequestConfig): YarpCluster; /** - * Sets the health check configuration for the cluster. + * Set the health check configuration for the cluster. */ withHealthCheckConfig(config: YarpHealthCheckConfig): YarpCluster; /** - * Sets the HTTP client configuration for the cluster. + * Set the HTTP client configuration for the cluster. */ withHttpClientConfig(config: YarpHttpClientConfig): YarpCluster; /** - * Sets the load balancing policy for the cluster. + * Set the LoadBalancingPolicy for the cluster. */ withLoadBalancingPolicy(policy: string): YarpCluster; /** - * Sets metadata for the cluster. + * Set the Metadata for the cluster. */ withMetadata(metadata: Dict): YarpCluster; /** - * Sets the session affinity configuration for the cluster. + * Set the session affinity configuration for the cluster. */ withSessionAffinityConfig(config: YarpSessionAffinityConfig): YarpCluster; @@ -9131,7 +9082,7 @@ export interface YarpResource extends ContainerResource, IComputeResource, ICont withConfiguration(configurationBuilder: (obj: IYarpConfigurationBuilder) => Promise): this; /** - * Configures the host HTTPS port that the YARP resource is exposed on instead of using randomly assigned port. + * Configures the host HTTPS port that the YARP resource is exposed on instead of using randomly assigned port. This will only have effect if an HTTPS endpoint is configured on the YARP resource due to TLS termination being enabled. */ withHostHttpsPort(port: number | null): this; @@ -9153,52 +9104,52 @@ export interface YarpResource extends ContainerResource, IComputeResource, ICont export interface YarpRoute { /** - * Sets the route match criteria. + * Set the parameters used to match requests. */ withMatch(match: YarpRouteMatch): YarpRoute; /** - * Matches requests that contain the specified headers. + * Only match requests that contain all of these headers. */ withMatchHeaders(headers: YarpRouteHeaderMatch[]): YarpRoute; /** - * Matches requests that contain the specified host headers. + * Only match requests with the given Host header. Supports wildcards and ports. For unicode host names, do not use punycode. */ withMatchHosts(hosts: string[]): YarpRoute; /** - * Matches requests that use the specified HTTP methods. + * Only match requests that use these optional HTTP methods. E.g. GET, POST. */ withMatchMethods(methods: string[]): YarpRoute; /** - * Matches requests with the specified path pattern. + * Only match requests with the given Path pattern. */ withMatchPath(path: string): YarpRoute; /** - * Matches requests that contain the specified query parameters. + * Only match requests that contain all of these query parameters. */ withMatchRouteQueryParameter(queryParameters: YarpRouteQueryParameterMatch[]): YarpRoute; /** - * Sets the maximum request body size for the route. + * Set the MaxRequestBodySize for the destination */ withMaxRequestBodySize(maxRequestBodySize: number): YarpRoute; /** - * Sets metadata for the route. + * Set the Metadata of the destination */ withMetadata(metadata: Dict): YarpRoute; /** - * Sets the route order. + * Set the order for the destination */ withOrder(order: number | null): YarpRoute; /** - * Adds a transform to the route. + * Add a new transform to the destination. */ withTransform(transform: Dict): YarpRoute; @@ -9323,7 +9274,7 @@ export interface YarpRoute { withTransformRequestHeaderRouteValue(headerName: string, routeValueKey: string, append?: boolean): YarpRoute; /** - * Adds the transform which will only copy the allowed request headers. Other transforms + * Adds the transform which will only copy the allowed request headers. Other transforms that modify or append to existing headers may be affected if not included in the allow list. */ withTransformRequestHeadersAllowed(allowedHeaders: string[]): YarpRoute; @@ -9348,7 +9299,7 @@ export interface YarpRoute { withTransformResponseHeaderRemove(headerName: string, condition?: ResponseCondition): YarpRoute; /** - * Adds the transform which will only copy the allowed response headers. Other transforms + * Adds the transform which will only copy the allowed response headers. Other transforms that modify or append to existing headers may be affected if not included in the allow list. */ withTransformResponseHeadersAllowed(allowedHeaders: string[]): YarpRoute; @@ -9373,12 +9324,12 @@ export interface YarpRoute { withTransformResponseTrailerRemove(headerName: string, condition?: ResponseCondition): YarpRoute; /** - * Adds the transform which will only copy the allowed response trailers. Other transforms + * Adds the transform which will only copy the allowed response trailers. Other transforms that modify or append to existing trailers may be affected if not included in the allow list. */ withTransformResponseTrailersAllowed(allowedHeaders: string[]): YarpRoute; /** - * Sets the transforms for the route. + * Set the Transforms of the destination */ withTransforms(transforms: Dict[]): YarpRoute; @@ -9408,82 +9359,82 @@ export interface YarpRoute { // augments handle type IDistributedApplicationBuilder with extension methods export interface IDistributedApplicationBuilder { /** - * Adds the shared Azure environment resource to the application model + * Adds an Azure environment resource to the application model. */ addAzureEnvironment(): AzureEnvironmentResource; /** - * Adds an Azure provisioning resource to the application model + * Adds an Azure provisioning resource to the application model. */ addAzureInfrastructure(name: string, configureInfrastructure: (obj: AzureResourceInfrastructure) => Promise): AzureProvisioningResource; /** - * Adds Azure provisioning services to the distributed application builder + * Adds support for generating Azure resources dynamically during application startup. The application must configure the appropriate Azure subscription and location before resources can be provisioned. */ addAzureProvisioning(): IDistributedApplicationBuilder; /** - * Adds an Azure user-assigned identity resource + * Adds an Azure user‑assigned identity resource to the application model. */ addAzureUserAssignedIdentity(name: string): AzureUserAssignedIdentityResource; /** - * Adds an Azure Bicep template resource from a file + * Adds an Azure Bicep resource to the application model. */ addBicepTemplate(name: string, bicepFile: string): AzureBicepResource; /** - * Adds an Azure Bicep template resource from inline Bicep content + * Adds an Azure Bicep resource to the application model. */ addBicepTemplateString(name: string, bicepContent: string): AzureBicepResource; /** - * Adds an Azure App Configuration resource + * Adds an Azure App Configuration resource to the application model. */ addAzureAppConfiguration(name: string): AzureAppConfigurationResource; /** - * Adds an Azure Container App Environment resource + * Adds a container app environment resource to the distributed application builder. */ addAzureContainerAppEnvironment(name: string): AzureContainerAppEnvironmentResource; /** - * Adds an Azure App Service environment resource + * Adds a azure app service environment resource to the distributed application builder. */ addAzureAppServiceEnvironment(name: string): AzureAppServiceEnvironmentResource; /** - * Adds an Azure Application Insights resource + * Adds an Azure Application Insights resource to the application model. */ addAzureApplicationInsights(name: string): AzureApplicationInsightsResource; /** - * Adds an Azure OpenAI resource + * Adds an Azure OpenAI resource to the application model. */ addAzureOpenAI(name: string): AzureOpenAIResource; /** - * Adds an Azure Container Registry resource to the distributed application model. + * Adds an Azure Container Registry resource to the application model. */ addAzureContainerRegistry(name: string): AzureContainerRegistryResource; /** - * Adds an Azure Cosmos DB resource + * Adds an Azure Cosmos DB connection to the application model. */ addAzureCosmosDB(name: string): AzureCosmosDBResource; /** - * Adds an Azure Event Hubs namespace resource + * Adds an Azure Event Hubs Namespace resource to the application model. This resource can be used to create Event Hub resources. */ addAzureEventHubs(name: string): AzureEventHubsResource; /** - * Adds an Azure Front Door resource + * Adds an Azure Front Door resource to the application model. */ addAzureFrontDoor(name: string): AzureFrontDoorResource; /** - * Adds an Azure Functions project to the distributed application + * Adds an Azure Functions project to the distributed application. */ addAzureFunctionsProject(name: string, projectPath: string): AzureFunctionsProjectResource; @@ -9493,17 +9444,17 @@ export interface IDistributedApplicationBuilder { addDurableTaskScheduler(name: string): DurableTaskSchedulerResource; /** - * Adds an Azure Key Vault resource + * Adds an Azure Key Vault resource to the application model. */ addAzureKeyVault(name: string): AzureKeyVaultResource; /** - * Adds an Azure Kubernetes Service environment resource + * Adds an Azure Kubernetes Service (AKS) environment to the distributed application. This provisions an AKS cluster and configures it as a Kubernetes compute environment. */ addAzureKubernetesEnvironment(name: string): AzureKubernetesEnvironmentResource; /** - * Adds an Azure Data Explorer (Kusto) cluster resource + * Adds an Azure Data Explorer (Kusto) cluster resource to the application model. */ addAzureKustoCluster(name: string): AzureKustoClusterResource; @@ -9523,12 +9474,12 @@ export interface IDistributedApplicationBuilder { addNatGateway(name: string): AzureNatGatewayResource; /** - * Adds an Azure Network Security Group resource to the application model. + * Adds an Azure Network Security Group to the application model. */ addNetworkSecurityGroup(name: string): AzureNetworkSecurityGroupResource; /** - * Adds an Azure Network Security Perimeter resource to the application model. + * Adds an Azure Network Security Perimeter to the application model. */ addNetworkSecurityPerimeter(name: string): AzureNetworkSecurityPerimeterResource; @@ -9538,27 +9489,27 @@ export interface IDistributedApplicationBuilder { addPublicIPAddress(name: string): AzurePublicIPAddressResource; /** - * Adds an Azure Log Analytics Workspace resource + * Adds an Azure Log Analytics Workspace resource to the application model. */ addAzureLogAnalyticsWorkspace(name: string): AzureLogAnalyticsWorkspaceResource; /** - * Adds an Azure PostgreSQL Flexible Server resource + * Adds an Azure PostgreSQL Flexible Server resource to the application model. */ addAzurePostgresFlexibleServer(name: string): AzurePostgresFlexibleServerResource; /** - * Adds an Azure Managed Redis resource + * Adds an Azure Managed Redis resource to the application model. */ addAzureManagedRedis(name: string): AzureManagedRedisResource; /** - * Adds an Azure AI Search service resource + * Adds an Azure AI Search service resource to the application model. */ addAzureSearch(name: string): AzureSearchResource; /** - * Adds an Azure Service Bus namespace resource + * Adds an Azure Service Bus Namespace resource to the application model. This resource can be used to create queue, topic, and subscription resources. */ addAzureServiceBus(name: string): AzureServiceBusResource; @@ -9568,17 +9519,17 @@ export interface IDistributedApplicationBuilder { addAzureSignalR(name: string): AzureSignalRResource; /** - * Adds an Azure SQL Database server resource + * Adds an Azure SQL Database (server) resource to the application model. */ addAzureSqlServer(name: string): AzureSqlServerResource; /** - * Adds an Azure Storage resource + * Adds an Azure Storage resource to the application model. This resource can be used to create Azure blob, table, and queue resources. */ addAzureStorage(name: string): AzureStorageResource; /** - * Adds an Azure Web PubSub resource to the distributed application model. + * Adds an Azure Web PubSub resource to the application model. Change sku: WithParameter("sku", "Standard_S1") Change capacity: WithParameter("capacity", 2) */ addAzureWebPubSub(name: string): AzureWebPubSubResource; @@ -9593,12 +9544,12 @@ export interface IDistributedApplicationBuilder { addDevTunnel(name: string, tunnelId?: string, allowAnonymous?: boolean, description?: string, labels?: string[]): DevTunnelResource; /** - * Adds a Docker Compose publishing environment + * Adds a Docker Compose environment to the application model. */ addDockerComposeEnvironment(name: string): DockerComposeEnvironmentResource; /** - * Adds a Microsoft Foundry resource to the distributed application model. + * Adds a Microsoft Foundry resource to the application model. */ addFoundry(name: string): FoundryResource; @@ -9613,97 +9564,97 @@ export interface IDistributedApplicationBuilder { addGarnet(name: string, port?: number, password?: string | ParameterResource): GarnetResource; /** - * Adds a GitHub Model resource to the distributed application model. + * Adds a GitHub Model resource to the application model using a known `GitHubModelName`. */ addGitHubModel(name: string, model: GitHubModelName, options?: { organization?: string | ParameterResource }): GitHubModelResource; /** - * Adds a GitHub Model resource to the distributed application model. + * Adds a GitHub Model resource to the application model using a known `GitHubModelName`. */ addGitHubModel(name: string, model: GitHubModelName, organization?: string | ParameterResource): GitHubModelResource; /** - * Adds a GitHub Model resource using a model identifier string. + * Adds a GitHub Model resource to the application model using a model identifier string. */ addGitHubModelById(name: string, modelId: string, options?: { organization?: string | ParameterResource }): GitHubModelResource; /** - * Adds a GitHub Model resource using a model identifier string. + * Adds a GitHub Model resource to the application model using a model identifier string. */ addGitHubModelById(name: string, modelId: string, organization?: string | ParameterResource): GitHubModelResource; /** - * Adds a JavaScript application resource + * Adds a JavaScript application resource to the distributed application using the specified app directory and run script. */ addJavaScriptApp(name: string, appDirectory: string, options?: { runScriptName?: string }): JavaScriptAppResource; /** - * Adds a JavaScript application resource + * Adds a JavaScript application resource to the distributed application using the specified app directory and run script. */ addJavaScriptApp(name: string, appDirectory: string, runScriptName?: string): JavaScriptAppResource; /** - * Adds a Next.js application resource + * Adds a Next.js app to the distributed application builder. */ addNextJsApp(name: string, appDirectory: string, options?: { runScriptName?: string }): NextJsAppResource; /** - * Adds a Next.js application resource + * Adds a Next.js app to the distributed application builder. */ addNextJsApp(name: string, appDirectory: string, runScriptName?: string): NextJsAppResource; /** - * Adds a Node.js application resource + * Adds a node application to the application model. Node should be available on the PATH. */ addNodeApp(name: string, appDirectory: string, scriptPath: string): NodeAppResource; /** - * Adds a Vite application resource + * Adds a Vite app to the distributed application builder. */ addViteApp(name: string, appDirectory: string, options?: { runScriptName?: string }): ViteAppResource; /** - * Adds a Vite application resource + * Adds a Vite app to the distributed application builder. */ addViteApp(name: string, appDirectory: string, runScriptName?: string): ViteAppResource; /** - * Adds a Kafka container resource + * Adds a Kafka resource to the application. A container is used for local development. */ addKafka(name: string, options?: { port?: number }): KafkaServerResource; /** - * Adds a Kafka container resource + * Adds a Kafka resource to the application. A container is used for local development. */ addKafka(name: string, port?: number): KafkaServerResource; /** - * Adds a Keycloak container resource + * Adds a Keycloak container to the application model. */ addKeycloak(name: string, options?: { port?: number; adminUsername?: string | ParameterResource; adminPassword?: string | ParameterResource }): KeycloakResource; /** - * Adds a Keycloak container resource + * Adds a Keycloak container to the application model. */ addKeycloak(name: string, port?: number, adminUsername?: string | ParameterResource, adminPassword?: string | ParameterResource): KeycloakResource; /** - * Adds a Kubernetes publishing environment + * Adds a Kubernetes environment to the application model. */ addKubernetesEnvironment(name: string): KubernetesEnvironmentResource; /** - * Adds a .NET MAUI project to the application model. + * Adds a .NET MAUI project to the application model. This resource can be used to create platform-specific resources. */ addMauiProject(name: string, projectPath: string): MauiProjectResource; /** - * Adds a Milvus server resource to the distributed application model. + * Adds a Milvus container resource to the application model. */ addMilvus(name: string, options?: { apiKey?: string | ParameterResource; grpcPort?: number }): MilvusServerResource; /** - * Adds a Milvus server resource to the distributed application model. + * Adds a Milvus container resource to the application model. */ addMilvus(name: string, apiKey?: string | ParameterResource, grpcPort?: number): MilvusServerResource; @@ -9718,12 +9669,12 @@ export interface IDistributedApplicationBuilder { addMongoDB(name: string, port?: number, userName?: string | ParameterResource, password?: string | ParameterResource): MongoDBServerResource; /** - * Adds a MySQL server resource + * Adds a MySQL server resource to the application model. For local development a container is used. */ addMySql(name: string, options?: { password?: string | ParameterResource; port?: number }): MySqlServerResource; /** - * Adds a MySQL server resource + * Adds a MySQL server resource to the application model. For local development a container is used. */ addMySql(name: string, password?: string | ParameterResource, port?: number): MySqlServerResource; @@ -9738,52 +9689,52 @@ export interface IDistributedApplicationBuilder { addNats(name: string, port?: number, userName?: string | ParameterResource, password?: string | ParameterResource): NatsServerResource; /** - * Adds an OpenAI resource to the distributed application model. + * Adds an OpenAI parent resource that can host multiple models. */ addOpenAI(name: string): OpenAIResource; /** - * Adds an Oracle server resource to the distributed application model. + * Adds a Oracle Server resource to the application model. A container is used for local development. */ addOracle(name: string, options?: { password?: string | ParameterResource; port?: number }): OracleDatabaseServerResource; /** - * Adds an Oracle server resource to the distributed application model. + * Adds a Oracle Server resource to the application model. A container is used for local development. */ addOracle(name: string, password?: string | ParameterResource, port?: number): OracleDatabaseServerResource; /** - * Adds an Orleans service configuration + * Adds an Orleans service to the application. */ addOrleans(name: string): OrleansService; /** - * Adds a PostgreSQL server resource + * Adds a PostgreSQL resource to the application model. A container is used for local development. */ addPostgres(name: string, options?: { userName?: string | ParameterResource; password?: string | ParameterResource; port?: number }): PostgresServerResource; /** - * Adds a PostgreSQL server resource + * Adds a PostgreSQL resource to the application model. A container is used for local development. */ addPostgres(name: string, userName?: string | ParameterResource, password?: string | ParameterResource, port?: number): PostgresServerResource; /** - * Adds a Python script application resource + * Adds a Python application to the application model. */ addPythonApp(name: string, appDirectory: string, scriptPath: string): PythonAppResource; /** - * Adds a Python executable application resource + * Adds a Python executable to the application model. */ addPythonExecutable(name: string, appDirectory: string, executableName: string): PythonAppResource; /** - * Adds a Python module application resource + * Adds a Python module to the application model. */ addPythonModule(name: string, appDirectory: string, moduleName: string): PythonAppResource; /** - * Adds a Uvicorn-based Python application resource + * Adds a Uvicorn-based Python application to the distributed application builder with HTTP endpoint configuration. */ addUvicornApp(name: string, appDirectory: string, app: string): UvicornAppResource; @@ -9798,52 +9749,52 @@ export interface IDistributedApplicationBuilder { addQdrant(name: string, apiKey?: string | ParameterResource, grpcPort?: number, httpPort?: number): QdrantServerResource; /** - * Adds a RabbitMQ container resource + * Adds a RabbitMQ container to the application model. */ addRabbitMQ(name: string, options?: { userName?: string | ParameterResource; password?: string | ParameterResource; port?: number }): RabbitMQServerResource; /** - * Adds a RabbitMQ container resource + * Adds a RabbitMQ container to the application model. */ addRabbitMQ(name: string, userName?: string | ParameterResource, password?: string | ParameterResource, port?: number): RabbitMQServerResource; /** - * Adds a Redis container resource + * Adds a Redis container to the application model. */ addRedis(name: string, options?: { port?: number; password?: string | ParameterResource }): RedisResource; /** - * Adds a Redis container resource + * Adds a Redis container to the application model. */ addRedis(name: string, port?: number, password?: string | ParameterResource): RedisResource; /** - * Adds a Seq server container resource + * Adds a Seq server resource to the application model with authentication enabled. A container is used for local development. */ addSeq(name: string, adminPassword: string | ParameterResource, options?: { port?: number }): SeqResource; /** - * Adds a Seq server container resource + * Adds a Seq server resource to the application model with authentication enabled. A container is used for local development. */ addSeq(name: string, adminPassword: string | ParameterResource, port?: number): SeqResource; /** - * Adds a SQL Server container resource + * Adds a SQL Server resource to the application model. A container is used for local development. */ addSqlServer(name: string, options?: { password?: string | ParameterResource; port?: number }): SqlServerServerResource; /** - * Adds a SQL Server container resource + * Adds a SQL Server resource to the application model. A container is used for local development. */ addSqlServer(name: string, password?: string | ParameterResource, port?: number): SqlServerServerResource; /** - * Adds a Valkey container resource + * Adds a Valkey container to the application model. */ addValkey(name: string, options?: { port?: number; password?: string | ParameterResource }): ValkeyResource; /** - * Adds a Valkey container resource + * Adds a Valkey container to the application model. */ addValkey(name: string, port?: number, password?: string | ParameterResource): ValkeyResource; @@ -9857,7 +9808,7 @@ export interface IDistributedApplicationBuilder { // augments handle type AzureAppConfigurationEmulatorResource with extension methods export interface AzureAppConfigurationEmulatorResource { /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; @@ -9866,7 +9817,7 @@ export interface AzureAppConfigurationEmulatorResource { // augments handle type AzureAppConfigurationResource with extension methods export interface AzureAppConfigurationResource { /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; @@ -9875,77 +9826,77 @@ export interface AzureAppConfigurationResource { // augments handle type AzureBicepResource with extension methods export interface AzureBicepResource { /** - * Marks an Azure resource as existing in both run and publish modes + * Marks the resource as an existing resource in both run and publish modes. */ asExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): IAzureResource; /** - * Clears the default Azure role assignments from a resource + * Clears all default role assignments for the specified Azure resource. */ clearDefaultRoleAssignments(): IAzureResource; /** - * Gets the normalized Bicep identifier for an Azure resource + * Gets the Bicep identifier for the Azure resource. */ getBicepIdentifier(): string; /** - * Determines whether a resource is marked as existing + * Determines whether the Azure resource is marked as existing. */ isExisting(): boolean; /** - * Publishes an Azure resource to the manifest as a connection string + * Changes the resource to be published as a connection string reference in the manifest. */ publishAsConnectionString(): this; /** - * Marks an Azure resource as existing in publish mode + * Marks the resource as an existing resource when the application is deployed. */ publishAsExisting(name: string | ParameterResource, options?: { resourceGroup?: string | ParameterResource }): this; /** - * Marks an Azure resource as existing in publish mode + * Marks the resource as an existing resource when the application is deployed. */ publishAsExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): this; /** - * Marks an Azure resource as existing in run mode + * Marks the resource as an existing resource when the application is running. */ runAsExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): IAzureResource; /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -9960,27 +9911,27 @@ export interface AzureBicepResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; @@ -9989,12 +9940,12 @@ export interface AzureBicepResource { // augments handle type AzureBlobStorageContainerResource with extension methods export interface AzureBlobStorageContainerResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; @@ -10003,12 +9954,12 @@ export interface AzureBlobStorageContainerResource { // augments handle type AzureBlobStorageResource with extension methods export interface AzureBlobStorageResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; @@ -10017,17 +9968,17 @@ export interface AzureBlobStorageResource { // augments handle type AzureContainerRegistryResource with extension methods export interface AzureContainerRegistryResource { /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; @@ -10036,12 +9987,12 @@ export interface AzureContainerRegistryResource { // augments handle type AzureCosmosDBEmulatorResource with extension methods export interface AzureCosmosDBEmulatorResource { /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; @@ -10050,12 +10001,12 @@ export interface AzureCosmosDBEmulatorResource { // augments handle type AzureCosmosDBResource with extension methods export interface AzureCosmosDBResource { /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; @@ -10064,12 +10015,12 @@ export interface AzureCosmosDBResource { // augments handle type AzureDataLakeStorageFileSystemResource with extension methods export interface AzureDataLakeStorageFileSystemResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; @@ -10078,12 +10029,12 @@ export interface AzureDataLakeStorageFileSystemResource { // augments handle type AzureDataLakeStorageResource with extension methods export interface AzureDataLakeStorageResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; @@ -10092,37 +10043,37 @@ export interface AzureDataLakeStorageResource { // augments handle type AzureEnvironmentResource with extension methods export interface AzureEnvironmentResource { /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -10137,27 +10088,27 @@ export interface AzureEnvironmentResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; @@ -10166,7 +10117,7 @@ export interface AzureEnvironmentResource { // augments handle type AzureEventHubConsumerGroupResource with extension methods export interface AzureEventHubConsumerGroupResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; @@ -10175,7 +10126,7 @@ export interface AzureEventHubConsumerGroupResource { // augments handle type AzureEventHubResource with extension methods export interface AzureEventHubResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; @@ -10184,7 +10135,7 @@ export interface AzureEventHubResource { // augments handle type AzureEventHubsEmulatorResource with extension methods export interface AzureEventHubsEmulatorResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; @@ -10193,7 +10144,7 @@ export interface AzureEventHubsEmulatorResource { // augments handle type AzureEventHubsResource with extension methods export interface AzureEventHubsResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; @@ -10202,17 +10153,17 @@ export interface AzureEventHubsResource { // augments handle type AzureKeyVaultResource with extension methods export interface AzureKeyVaultResource { /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; @@ -10221,7 +10172,7 @@ export interface AzureKeyVaultResource { // augments handle type AzureKeyVaultSecretResource with extension methods export interface AzureKeyVaultSecretResource { /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -10272,7 +10223,7 @@ export interface AzureNetworkSecurityPerimeterResource { // augments handle type AzureOpenAIDeploymentResource with extension methods export interface AzureOpenAIDeploymentResource { /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; @@ -10281,7 +10232,7 @@ export interface AzureOpenAIDeploymentResource { // augments handle type AzureOpenAIResource with extension methods export interface AzureOpenAIResource { /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; @@ -10304,47 +10255,47 @@ export interface AzurePrivateEndpointResource { // augments handle type AzureProvisioningResource with extension methods export interface AzureProvisioningResource { /** - * Marks an Azure resource as existing in both run and publish modes + * Marks the resource as an existing resource in both run and publish modes. */ asExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): IAzureResource; /** - * Clears the default Azure role assignments from a resource + * Clears all default role assignments for the specified Azure resource. */ clearDefaultRoleAssignments(): IAzureResource; /** - * Gets the normalized Bicep identifier for an Azure resource + * Gets the Bicep identifier for the Azure resource. */ getBicepIdentifier(): string; /** - * Gets an output reference from an Azure Bicep template resource + * Gets a reference to an output from a bicep template. */ getOutput(name: string): BicepOutputReference; /** - * Determines whether a resource is marked as existing + * Determines whether the Azure resource is marked as existing. */ isExisting(): boolean; /** - * Publishes an Azure resource to the manifest as a connection string + * Changes the resource to be published as a connection string reference in the manifest. */ publishAsConnectionString(): this; /** - * Marks an Azure resource as existing in publish mode + * Marks the resource as an existing resource when the application is deployed. */ publishAsExisting(name: string | ParameterResource, options?: { resourceGroup?: string | ParameterResource }): this; /** - * Marks an Azure resource as existing in publish mode + * Marks the resource as an existing resource when the application is deployed. */ publishAsExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): this; /** - * Marks an Azure resource as existing in run mode + * Marks the resource as an existing resource when the application is running. */ runAsExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): IAzureResource; @@ -10359,37 +10310,37 @@ export interface AzureProvisioningResource { withParameter(name: string, value?: EndpointReference): this; /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -10404,27 +10355,27 @@ export interface AzureProvisioningResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; @@ -10447,12 +10398,12 @@ export interface AzurePublicIPAddressResource { // augments handle type AzureQueueStorageQueueResource with extension methods export interface AzureQueueStorageQueueResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; @@ -10461,12 +10412,12 @@ export interface AzureQueueStorageQueueResource { // augments handle type AzureQueueStorageResource with extension methods export interface AzureQueueStorageResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; @@ -10475,7 +10426,7 @@ export interface AzureQueueStorageResource { // augments handle type AzureSearchResource with extension methods export interface AzureSearchResource { /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; @@ -10484,7 +10435,7 @@ export interface AzureSearchResource { // augments handle type AzureServiceBusEmulatorResource with extension methods export interface AzureServiceBusEmulatorResource { /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; @@ -10493,7 +10444,7 @@ export interface AzureServiceBusEmulatorResource { // augments handle type AzureServiceBusQueueResource with extension methods export interface AzureServiceBusQueueResource { /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; @@ -10502,7 +10453,7 @@ export interface AzureServiceBusQueueResource { // augments handle type AzureServiceBusResource with extension methods export interface AzureServiceBusResource { /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; @@ -10511,7 +10462,7 @@ export interface AzureServiceBusResource { // augments handle type AzureServiceBusSubscriptionResource with extension methods export interface AzureServiceBusSubscriptionResource { /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; @@ -10520,7 +10471,7 @@ export interface AzureServiceBusSubscriptionResource { // augments handle type AzureServiceBusTopicResource with extension methods export interface AzureServiceBusTopicResource { /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; @@ -10529,7 +10480,7 @@ export interface AzureServiceBusTopicResource { // augments handle type AzureSignalREmulatorResource with extension methods export interface AzureSignalREmulatorResource { /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; @@ -10538,7 +10489,7 @@ export interface AzureSignalREmulatorResource { // augments handle type AzureSignalRResource with extension methods export interface AzureSignalRResource { /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; @@ -10547,22 +10498,22 @@ export interface AzureSignalRResource { // augments handle type AzureStorageEmulatorResource with extension methods export interface AzureStorageEmulatorResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; @@ -10571,22 +10522,22 @@ export interface AzureStorageEmulatorResource { // augments handle type AzureStorageResource with extension methods export interface AzureStorageResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; @@ -10609,12 +10560,12 @@ export interface AzureSubnetResource { // augments handle type AzureTableStorageResource with extension methods export interface AzureTableStorageResource { /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; @@ -10623,52 +10574,52 @@ export interface AzureTableStorageResource { // augments handle type AzureUserAssignedIdentityResource with extension methods export interface AzureUserAssignedIdentityResource { /** - * Marks an Azure resource as existing in both run and publish modes + * Marks the resource as an existing resource in both run and publish modes. */ asExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): IAzureResource; /** - * Clears the default Azure role assignments from a resource + * Clears all default role assignments for the specified Azure resource. */ clearDefaultRoleAssignments(): IAzureResource; /** - * Configures the Azure provisioning infrastructure callback + * Configures the Azure provisioning resource `Infrastructure`. */ configureInfrastructure(configure: (obj: AzureResourceInfrastructure) => Promise): AzureProvisioningResource; /** - * Gets the normalized Bicep identifier for an Azure resource + * Gets the Bicep identifier for the Azure resource. */ getBicepIdentifier(): string; /** - * Gets an output reference from an Azure Bicep template resource + * Gets a reference to an output from a bicep template. */ getOutput(name: string): BicepOutputReference; /** - * Determines whether a resource is marked as existing + * Determines whether the Azure resource is marked as existing. */ isExisting(): boolean; /** - * Publishes an Azure resource to the manifest as a connection string + * Changes the resource to be published as a connection string reference in the manifest. */ publishAsConnectionString(): this; /** - * Marks an Azure resource as existing in publish mode + * Marks the resource as an existing resource when the application is deployed. */ publishAsExisting(name: string | ParameterResource, options?: { resourceGroup?: string | ParameterResource }): this; /** - * Marks an Azure resource as existing in publish mode + * Marks the resource as an existing resource when the application is deployed. */ publishAsExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): this; /** - * Marks an Azure resource as existing in run mode + * Marks the resource as an existing resource when the application is running. */ runAsExisting(name: string | ParameterResource, resourceGroup?: string | ParameterResource): IAzureResource; @@ -10683,37 +10634,37 @@ export interface AzureUserAssignedIdentityResource { withParameter(name: string, value?: EndpointReference): this; /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -10728,27 +10679,27 @@ export interface AzureUserAssignedIdentityResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; @@ -10771,7 +10722,7 @@ export interface AzureVirtualNetworkResource { // augments handle type AzureWebPubSubHubResource with extension methods export interface AzureWebPubSubHubResource { /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; @@ -10780,7 +10731,7 @@ export interface AzureWebPubSubHubResource { // augments handle type AzureWebPubSubResource with extension methods export interface AzureWebPubSubResource { /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; @@ -10788,7 +10739,7 @@ export interface AzureWebPubSubResource { export interface ContainerApp { /** - * Configures the custom domain for the container app + * Configures the custom domain for the container app. */ configureCustomDomain(customDomain: string | ParameterResource, certificateName: string | ParameterResource): void; @@ -10797,127 +10748,127 @@ export interface ContainerApp { // augments handle type ContainerRegistryResource with extension methods export interface ContainerRegistryResource { /** - * Creates an execution configuration builder + * Creates an execution configuration builder for the specified resource. */ createExecutionConfiguration(): IExecutionConfigurationBuilder; /** - * Excludes the resource from the deployment manifest + * Excludes a resource from being published to the manifest. */ excludeFromManifest(): IResource; /** - * Excludes the resource from MCP server exposure + * Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry. */ excludeFromMcp(): IResource; /** - * Gets the resource name + * Gets the name of the resource from a builder. */ getResourceName(): string; /** - * Subscribes to the BeforeResourceStarted event + * Subscribes to the BeforeResourceStarted event. */ onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) => Promise): this; /** - * Subscribes to the InitializeResource event + * Subscribes to the InitializeResource event. */ onInitializeResource(callback: (arg: InitializeResourceEvent) => Promise): this; /** - * Subscribes to the ResourceReady event + * Subscribes to the ResourceReady event. */ onResourceReady(callback: (arg: ResourceReadyEvent) => Promise): this; /** - * Subscribes to the ResourceStopped event + * Subscribes to the ResourceStopped event. */ onResourceStopped(callback: (arg: ResourceStoppedEvent) => Promise): this; /** - * Sets a child relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withChildRelationship(child: IResource): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, options?: { commandOptions?: CommandOptions }): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, commandOptions?: CommandOptions): this; /** - * Configures a resource to use a container registry + * Configures the resource to use the specified container registry for container image operations. */ withContainerRegistry(registry: IResource): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(options?: { buildImage?: string; runtimeImage?: string }): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(buildImage?: string, runtimeImage?: string): this; /** - * Prevents resource from starting automatically + * Adds a `ExplicitStartupAnnotation` annotation to the resource so it doesn't automatically start with the app host startup. */ withExplicitStart(): this; /** - * Adds a health check by key + * Adds a `HealthCheckAnnotation` to the resource annotations to associate a resource with a named health check managed by the health check service. */ withHealthCheck(key: string): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, options?: { iconVariant?: IconVariant }): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, iconVariant?: IconVariant): this; /** - * Sets the parent relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withParentRelationship(parent: IResource): this; /** - * Configures pipeline step dependencies via a callback + * Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships. */ withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) => Promise): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, options?: { dependsOn?: string[]; requiredBy?: string[]; tags?: string[]; description?: string }): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): this; /** - * Adds a relationship to another resource + * Adds a relationship to another resource using its builder. */ withRelationship(resourceBuilder: IResource, type: string): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, options?: { helpLink?: string }): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, helpLink?: string): this; @@ -10932,47 +10883,47 @@ export interface ContainerRegistryResource { withUrl(url: ReferenceExpression, displayText?: string): this; /** - * Customizes the URL for a specific endpoint via callback + * Registers a callback to update the URL displayed for the endpoint with the specified name. */ withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) => Promise): this; /** - * Customizes displayed URLs via callback + * Registers a callback to customize the URLs displayed for the resource. */ withUrls(callback: (obj: ResourceUrlsCallbackContext) => Promise): this; /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -10987,32 +10938,32 @@ export interface ContainerRegistryResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; @@ -11021,57 +10972,57 @@ export interface ContainerRegistryResource { // augments handle type ContainerResource with extension methods export interface ContainerResource { /** - * Configures resource for HTTP/2 + * Configures a resource to mark all endpoints' transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge. */ asHttp2Service(): IResourceWithEndpoints; /** - * Creates an execution configuration builder + * Creates an execution configuration builder for the specified resource. */ createExecutionConfiguration(): IExecutionConfigurationBuilder; /** - * Excludes the resource from the deployment manifest + * Excludes a resource from being published to the manifest. */ excludeFromManifest(): IResource; /** - * Excludes the resource from MCP server exposure + * Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry. */ excludeFromMcp(): IResource; /** - * Gets an endpoint reference + * Gets an `EndpointReference` by name from the resource. These endpoints are declared either using `WithEndpoint``1` or by launch settings (for project resources). The `EndpointReference` can be used to resolve the address of the endpoint in `WithEnvironment``1`. */ getEndpoint(name: string): EndpointReference; /** - * Gets the resource name + * Gets the name of the resource from a builder. */ getResourceName(): string; /** - * Subscribes to the BeforeResourceStarted event + * Subscribes to the BeforeResourceStarted event. */ onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) => Promise): this; /** - * Subscribes to the InitializeResource event + * Subscribes to the InitializeResource event. */ onInitializeResource(callback: (arg: InitializeResourceEvent) => Promise): this; /** - * Subscribes to the ResourceEndpointsAllocated event + * Subscribes to the ResourceEndpointsAllocated event. */ onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) => Promise): this; /** - * Subscribes to the ResourceReady event + * Subscribes to the ResourceReady event. */ onResourceReady(callback: (arg: ResourceReadyEvent) => Promise): this; /** - * Subscribes to the ResourceStopped event + * Subscribes to the ResourceStopped event. */ onResourceStopped(callback: (arg: ResourceStoppedEvent) => Promise): this; @@ -11079,9 +11030,9 @@ export interface ContainerResource { * Waits for another resource to be ready */ - waitFor(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitFor(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; /** - * Waits for resource completion + * Waits for the dependency resource to enter the Exited or Finished state before starting the resource. */ waitForCompletion(dependency: IResource, exitCode?: number): this; @@ -11089,64 +11040,64 @@ export interface ContainerResource { * Waits for another resource to start */ - waitForStart(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitForStart(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; /** - * Adds arguments + * Adds arguments to be passed to a resource that supports arguments when it is launched. */ withArgs(args: string[]): this; /** - * Sets command-line arguments via callback + * Adds a callback to be executed with a list of command-line arguments when a resource is started. */ withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) => Promise): this; /** - * Sets the certificate trust scope + * Sets the `CertificateTrustScope` for custom certificate authorities associated with the resource. The scope specifies how custom certificate authorities should be applied to a resource at run time in local development scenarios. Custom certificate trust is only applied in run mode; in publish mode resources will use their default certificate trust behavior. */ withCertificateTrustScope(scope: CertificateTrustScope): this; /** - * Sets a child relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withChildRelationship(child: IResource): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, options?: { commandOptions?: CommandOptions }): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, commandOptions?: CommandOptions): this; /** - * Configures a resource to use a container registry + * Configures the resource to use the specified container registry for container image operations. */ withContainerRegistry(registry: IResource): this; /** - * Configures developer certificate trust + * 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. */ withDeveloperCertificateTrust(trust: boolean): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(options?: { buildImage?: string; runtimeImage?: string }): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(buildImage?: string, runtimeImage?: string): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(options?: { port?: number; targetPort?: number; scheme?: string; name?: string; env?: string; isProxied?: boolean; isExternal?: boolean; protocol?: ProtocolType }): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(port?: number, targetPort?: number, scheme?: string, name?: string, env?: string, isProxied?: boolean, isExternal?: boolean, protocol?: ProtocolType): this; @@ -11166,22 +11117,22 @@ export interface ContainerResource { withEnvironment(name: string, value: string | IResourceWithConnectionString | IValueProvider): this; /** - * Sets environment variables via callback + * Allows for the population of environment variables on a resource. */ withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) => Promise): this; /** - * Prevents resource from starting automatically + * Adds a `ExplicitStartupAnnotation` annotation to the resource so it doesn't automatically start with the app host startup. */ withExplicitStart(): this; /** - * Makes HTTP endpoints externally accessible + * Marks existing http or https endpoints on a resource as external. */ withExternalHttpEndpoints(): this; /** - * Adds a health check by key + * Adds a `HealthCheckAnnotation` to the resource annotations to associate a resource with a named health check managed by the health check service. */ withHealthCheck(key: string): this; @@ -11196,12 +11147,12 @@ export interface ContainerResource { withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -11216,42 +11167,42 @@ export interface ContainerResource { withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(options?: { path?: string; statusCode?: number; endpointName?: string }): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(path?: string, statusCode?: number, endpointName?: string): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, options?: { path?: string; initialDelaySeconds?: number; periodSeconds?: number; timeoutSeconds?: number; failureThreshold?: number; successThreshold?: number; endpointName?: string }): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, path?: string, initialDelaySeconds?: number, periodSeconds?: number, timeoutSeconds?: number, failureThreshold?: number, successThreshold?: number, endpointName?: string): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(options?: { password?: string | ParameterResource }): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(password?: string | ParameterResource): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -11266,27 +11217,27 @@ export interface ContainerResource { withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, options?: { iconVariant?: IconVariant }): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, iconVariant?: IconVariant): this; /** - * Sets image push options via callback + * Adds an asynchronous callback to configure container image push options for the resource. */ withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) => Promise): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(options?: { path?: string; endpointName?: string }): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(path?: string, endpointName?: string): this; @@ -11301,27 +11252,27 @@ export interface ContainerResource { withOtlpExporter(protocol?: OtlpProtocol): this; /** - * Removes HTTPS certificate configuration + * Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied. */ withoutHttpsCertificate(): IResourceWithEnvironment; /** - * Sets the parent relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withParentRelationship(parent: IResource): this; /** - * Configures pipeline step dependencies via a callback + * Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships. */ withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) => Promise): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, options?: { dependsOn?: string[]; requiredBy?: string[]; tags?: string[]; description?: string }): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): this; @@ -11336,32 +11287,32 @@ export interface ContainerResource { withReference(source: EndpointReference|string|uri, connectionName?: string, optional?: boolean, name?: string): this; /** - * Configures which reference values are injected into environment variables + * Configures how information is injected into environment variables when the resource references other resources. */ withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): this; /** - * Adds a relationship to another resource + * Adds a relationship to another resource using its builder. */ withRelationship(resourceBuilder: IResource, type: string): this; /** - * Sets the remote image name for publishing + * Sets the remote image name (without registry endpoint or tag) for container push operations. */ withRemoteImageName(remoteImageName: string): this; /** - * Sets the remote image tag for publishing + * Sets the remote image tag for container push operations. */ withRemoteImageTag(remoteImageTag: string): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, options?: { helpLink?: string }): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, helpLink?: string): this; @@ -11376,27 +11327,27 @@ export interface ContainerResource { withUrl(url: ReferenceExpression, displayText?: string): this; /** - * Customizes the URL for a specific endpoint via callback + * Registers a callback to update the URL displayed for the endpoint with the specified name. */ withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) => Promise): this; /** - * Customizes displayed URLs via callback + * Registers a callback to customize the URLs displayed for the resource. */ withUrls(callback: (obj: ResourceUrlsCallbackContext) => Promise): this; /** - * Associates an Azure user-assigned identity with a compute resource + * Attaches an existing `AzureUserAssignedIdentityResource` to a compute resource, setting it as the target identity for the builder. */ withAzureUserAssignedIdentity(identityResourceBuilder: AzureUserAssignedIdentityResource): this; /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Configures the container resource to be published as an Azure Container App + * Publishes the specified container resource as a container app. */ publishAsAzureContainerApp(configure: (arg1: AzureResourceInfrastructure, arg2: ContainerApp) => Promise): this; @@ -11421,47 +11372,47 @@ export interface ContainerResource { publishAsScheduledAzureContainerAppJob(cronExpression: string, configure?: (arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) => Promise): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(options?: { configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise; configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise }): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise, configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise): this; /** - * Skips Azure App Service environment variable name validation for the compute resource + * Skips validation for environment variable names that Azure App Service may not support. */ skipEnvironmentVariableNameChecks(): IComputeResource; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -11476,67 +11427,67 @@ export interface ContainerResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(options?: { browser?: string; profile?: string; userDataMode?: BrowserUserDataMode }): this; /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(browser?: string, profile?: string, userDataMode?: BrowserUserDataMode): this; /** - * Publishes the resource as a Docker Compose service with custom service configuration + * Publishes the specified resource as a Docker Compose service. */ publishAsDockerComposeService(configure: (arg1: DockerComposeServiceResource, arg2: Service) => Promise): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; /** - * Publishes the resource as a Kubernetes service + * Publishes the specified resource as a Kubernetes service. */ publishAsKubernetesService(configure: (obj: KubernetesResource) => Promise): this; /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; /** - * Adds an Orleans client reference to a resource + * Adds an Orleans client to the resource. */ withReference(orleansServiceClient: OrleansServiceClient): this; @@ -11545,77 +11496,77 @@ export interface ContainerResource { // augments handle type CSharpAppResource with extension methods export interface CSharpAppResource { /** - * Configures resource for HTTP/2 + * Configures a resource to mark all endpoints' transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge. */ asHttp2Service(): IResourceWithEndpoints; /** - * Creates an execution configuration builder + * Creates an execution configuration builder for the specified resource. */ createExecutionConfiguration(): IExecutionConfigurationBuilder; /** - * Disables forwarded headers for the project + * Configures the project to disable forwarded headers when being published. */ disableForwardedHeaders(): ProjectResource; /** - * Excludes the resource from the deployment manifest + * Excludes a resource from being published to the manifest. */ excludeFromManifest(): IResource; /** - * Excludes the resource from MCP server exposure + * Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry. */ excludeFromMcp(): IResource; /** - * Gets an endpoint reference + * Gets an `EndpointReference` by name from the resource. These endpoints are declared either using `WithEndpoint``1` or by launch settings (for project resources). The `EndpointReference` can be used to resolve the address of the endpoint in `WithEnvironment``1`. */ getEndpoint(name: string): EndpointReference; /** - * Gets the resource name + * Gets the name of the resource from a builder. */ getResourceName(): string; /** - * Subscribes to the BeforeResourceStarted event + * Subscribes to the BeforeResourceStarted event. */ onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) => Promise): this; /** - * Subscribes to the InitializeResource event + * Subscribes to the InitializeResource event. */ onInitializeResource(callback: (arg: InitializeResourceEvent) => Promise): this; /** - * Subscribes to the ResourceEndpointsAllocated event + * Subscribes to the ResourceEndpointsAllocated event. */ onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) => Promise): this; /** - * Subscribes to the ResourceReady event + * Subscribes to the ResourceReady event. */ onResourceReady(callback: (arg: ResourceReadyEvent) => Promise): this; /** - * Subscribes to the ResourceStopped event + * Subscribes to the ResourceStopped event. */ onResourceStopped(callback: (arg: ResourceStoppedEvent) => Promise): this; /** - * Publishes a project as a Docker file with optional container configuration + * Adds support for containerizing this `ProjectResource` during deployment. The resulting container image is built, and when the optional `configure` action is provided, it is used to configure the container resource. */ publishAsDockerFile(options?: { configure?: (obj: ContainerResource) => Promise }): this; /** - * Publishes a project as a Docker file with optional container configuration + * Adds support for containerizing this `ProjectResource` during deployment. The resulting container image is built, and when the optional `configure` action is provided, it is used to configure the container resource. */ publishAsDockerFile(configure?: (obj: ContainerResource) => Promise): this; /** - * Configures the resource to copy container files from the specified source during publishing + * Configures the resource to copy container files from the specified source resource during publishing. */ publishWithContainerFiles(source: IResourceWithContainerFiles, destinationPath: string): this; @@ -11623,9 +11574,9 @@ export interface CSharpAppResource { * Waits for another resource to be ready */ - waitFor(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitFor(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; /** - * Waits for resource completion + * Waits for the dependency resource to enter the Exited or Finished state before starting the resource. */ waitForCompletion(dependency: IResource, exitCode?: number): this; @@ -11633,64 +11584,64 @@ export interface CSharpAppResource { * Waits for another resource to start */ - waitForStart(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitForStart(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; /** - * Adds arguments + * Adds arguments to be passed to a resource that supports arguments when it is launched. */ withArgs(args: string[]): this; /** - * Sets command-line arguments via callback + * Adds a callback to be executed with a list of command-line arguments when a resource is started. */ withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) => Promise): this; /** - * Sets the certificate trust scope + * Sets the `CertificateTrustScope` for custom certificate authorities associated with the resource. The scope specifies how custom certificate authorities should be applied to a resource at run time in local development scenarios. Custom certificate trust is only applied in run mode; in publish mode resources will use their default certificate trust behavior. */ withCertificateTrustScope(scope: CertificateTrustScope): this; /** - * Sets a child relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withChildRelationship(child: IResource): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, options?: { commandOptions?: CommandOptions }): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, commandOptions?: CommandOptions): this; /** - * Configures a resource to use a container registry + * Configures the resource to use the specified container registry for container image operations. */ withContainerRegistry(registry: IResource): this; /** - * Configures developer certificate trust + * 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. */ withDeveloperCertificateTrust(trust: boolean): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(options?: { buildImage?: string; runtimeImage?: string }): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(buildImage?: string, runtimeImage?: string): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(options?: { port?: number; targetPort?: number; scheme?: string; name?: string; env?: string; isProxied?: boolean; isExternal?: boolean; protocol?: ProtocolType }): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(port?: number, targetPort?: number, scheme?: string, name?: string, env?: string, isProxied?: boolean, isExternal?: boolean, protocol?: ProtocolType): this; @@ -11710,22 +11661,22 @@ export interface CSharpAppResource { withEnvironment(name: string, value: string | IResourceWithConnectionString | IValueProvider): this; /** - * Sets environment variables via callback + * Allows for the population of environment variables on a resource. */ withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) => Promise): this; /** - * Prevents resource from starting automatically + * Adds a `ExplicitStartupAnnotation` annotation to the resource so it doesn't automatically start with the app host startup. */ withExplicitStart(): this; /** - * Makes HTTP endpoints externally accessible + * Marks existing http or https endpoints on a resource as external. */ withExternalHttpEndpoints(): this; /** - * Adds a health check by key + * Adds a `HealthCheckAnnotation` to the resource annotations to associate a resource with a named health check managed by the health check service. */ withHealthCheck(key: string): this; @@ -11740,12 +11691,12 @@ export interface CSharpAppResource { withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -11760,42 +11711,42 @@ export interface CSharpAppResource { withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(options?: { path?: string; statusCode?: number; endpointName?: string }): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(path?: string, statusCode?: number, endpointName?: string): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, options?: { path?: string; initialDelaySeconds?: number; periodSeconds?: number; timeoutSeconds?: number; failureThreshold?: number; successThreshold?: number; endpointName?: string }): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, path?: string, initialDelaySeconds?: number, periodSeconds?: number, timeoutSeconds?: number, failureThreshold?: number, successThreshold?: number, endpointName?: string): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(options?: { password?: string | ParameterResource }): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(password?: string | ParameterResource): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -11810,27 +11761,27 @@ export interface CSharpAppResource { withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, options?: { iconVariant?: IconVariant }): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, iconVariant?: IconVariant): this; /** - * Sets image push options via callback + * Adds an asynchronous callback to configure container image push options for the resource. */ withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) => Promise): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(options?: { path?: string; endpointName?: string }): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(path?: string, endpointName?: string): this; @@ -11845,27 +11796,27 @@ export interface CSharpAppResource { withOtlpExporter(protocol?: OtlpProtocol): this; /** - * Removes HTTPS certificate configuration + * Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied. */ withoutHttpsCertificate(): IResourceWithEnvironment; /** - * Sets the parent relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withParentRelationship(parent: IResource): this; /** - * Configures pipeline step dependencies via a callback + * Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships. */ withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) => Promise): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, options?: { dependsOn?: string[]; requiredBy?: string[]; tags?: string[]; description?: string }): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): this; @@ -11880,37 +11831,37 @@ export interface CSharpAppResource { withReference(source: EndpointReference|string|uri, connectionName?: string, optional?: boolean, name?: string): this; /** - * Configures which reference values are injected into environment variables + * Configures how information is injected into environment variables when the resource references other resources. */ withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): this; /** - * Adds a relationship to another resource + * Adds a relationship to another resource using its builder. */ withRelationship(resourceBuilder: IResource, type: string): this; /** - * Sets the remote image name for publishing + * Sets the remote image name (without registry endpoint or tag) for container push operations. */ withRemoteImageName(remoteImageName: string): this; /** - * Sets the remote image tag for publishing + * Sets the remote image tag for container push operations. */ withRemoteImageTag(remoteImageTag: string): this; /** - * Sets the number of replicas + * Configures how many replicas of the project should be created for the project. */ withReplicas(replicas: number): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, options?: { helpLink?: string }): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, helpLink?: string): this; @@ -11925,27 +11876,27 @@ export interface CSharpAppResource { withUrl(url: ReferenceExpression, displayText?: string): this; /** - * Customizes the URL for a specific endpoint via callback + * Registers a callback to update the URL displayed for the endpoint with the specified name. */ withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) => Promise): this; /** - * Customizes displayed URLs via callback + * Registers a callback to customize the URLs displayed for the resource. */ withUrls(callback: (obj: ResourceUrlsCallbackContext) => Promise): this; /** - * Associates an Azure user-assigned identity with a compute resource + * Attaches an existing `AzureUserAssignedIdentityResource` to a compute resource, setting it as the target identity for the builder. */ withAzureUserAssignedIdentity(identityResourceBuilder: AzureUserAssignedIdentityResource): this; /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Configures the project resource to be published as an Azure Container App + * Allows configuring the specified project resource as a container app. */ publishAsAzureContainerApp(configure: (arg1: AzureResourceInfrastructure, arg2: ContainerApp) => Promise): this; @@ -11970,47 +11921,47 @@ export interface CSharpAppResource { publishAsScheduledAzureContainerAppJob(cronExpression: string, configure?: (arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) => Promise): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(options?: { configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise; configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise }): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise, configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise): this; /** - * Skips Azure App Service environment variable name validation for the compute resource + * Skips validation for environment variable names that Azure App Service may not support. */ skipEnvironmentVariableNameChecks(): IComputeResource; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -12025,69 +11976,72 @@ export interface CSharpAppResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(options?: { browser?: string; profile?: string; userDataMode?: BrowserUserDataMode }): this; /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(browser?: string, profile?: string, userDataMode?: BrowserUserDataMode): this; /** - * Publishes the resource as a Docker Compose service with custom service configuration + * Publishes the specified resource as a Docker Compose service. */ publishAsDockerComposeService(configure: (arg1: DockerComposeServiceResource, arg2: Service) => Promise): this; + /** + * Adds EF Core migration management for auto-detected DbContext types. + */ addEFMigrations(name: string): EFMigrationResource; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; /** - * Publishes the resource as a Kubernetes service + * Publishes the specified resource as a Kubernetes service. */ publishAsKubernetesService(configure: (obj: KubernetesResource) => Promise): this; /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; /** - * Adds an Orleans client reference to a resource + * Adds an Orleans client to the resource. */ withReference(orleansServiceClient: OrleansServiceClient): this; @@ -12120,7 +12074,7 @@ export interface DistributedApplication { // augments handle type DockerComposeAspireDashboardResource with extension methods export interface DockerComposeAspireDashboardResource { /** - * Publishes the resource as a Docker Compose service with custom service configuration + * Publishes the specified resource as a Docker Compose service. */ publishAsDockerComposeService(configure: (arg1: DockerComposeServiceResource, arg2: Service) => Promise): this; @@ -12129,62 +12083,62 @@ export interface DockerComposeAspireDashboardResource { // augments handle type DotnetToolResource with extension methods export interface DotnetToolResource { /** - * Configures resource for HTTP/2 + * Configures a resource to mark all endpoints' transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge. */ asHttp2Service(): IResourceWithEndpoints; /** - * Creates an execution configuration builder + * Creates an execution configuration builder for the specified resource. */ createExecutionConfiguration(): IExecutionConfigurationBuilder; /** - * Excludes the resource from the deployment manifest + * Excludes a resource from being published to the manifest. */ excludeFromManifest(): IResource; /** - * Excludes the resource from MCP server exposure + * Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry. */ excludeFromMcp(): IResource; /** - * Gets an endpoint reference + * Gets an `EndpointReference` by name from the resource. These endpoints are declared either using `WithEndpoint``1` or by launch settings (for project resources). The `EndpointReference` can be used to resolve the address of the endpoint in `WithEnvironment``1`. */ getEndpoint(name: string): EndpointReference; /** - * Gets the resource name + * Gets the name of the resource from a builder. */ getResourceName(): string; /** - * Subscribes to the BeforeResourceStarted event + * Subscribes to the BeforeResourceStarted event. */ onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) => Promise): this; /** - * Subscribes to the InitializeResource event + * Subscribes to the InitializeResource event. */ onInitializeResource(callback: (arg: InitializeResourceEvent) => Promise): this; /** - * Subscribes to the ResourceEndpointsAllocated event + * Subscribes to the ResourceEndpointsAllocated event. */ onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) => Promise): this; /** - * Subscribes to the ResourceReady event + * Subscribes to the ResourceReady event. */ onResourceReady(callback: (arg: ResourceReadyEvent) => Promise): this; /** - * Subscribes to the ResourceStopped event + * Subscribes to the ResourceStopped event. */ onResourceStopped(callback: (arg: ResourceStoppedEvent) => Promise): this; /** - * Publishes an executable as a Docker file + * Adds support for containerizing this `ExecutableResource` during deployment. The resulting container image is built, and when the optional `configure` action is provided, it is used to configure the container resource. */ publishAsDockerFile(configure: (obj: ContainerResource) => Promise): this; @@ -12192,9 +12146,9 @@ export interface DotnetToolResource { * Waits for another resource to be ready */ - waitFor(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitFor(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; /** - * Waits for resource completion + * Waits for the dependency resource to enter the Exited or Finished state before starting the resource. */ waitForCompletion(dependency: IResource, exitCode?: number): this; @@ -12202,64 +12156,64 @@ export interface DotnetToolResource { * Waits for another resource to start */ - waitForStart(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitForStart(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; /** - * Adds arguments + * Adds arguments to be passed to a resource that supports arguments when it is launched. */ withArgs(args: string[]): this; /** - * Sets command-line arguments via callback + * Adds a callback to be executed with a list of command-line arguments when a resource is started. */ withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) => Promise): this; /** - * Sets the certificate trust scope + * Sets the `CertificateTrustScope` for custom certificate authorities associated with the resource. The scope specifies how custom certificate authorities should be applied to a resource at run time in local development scenarios. Custom certificate trust is only applied in run mode; in publish mode resources will use their default certificate trust behavior. */ withCertificateTrustScope(scope: CertificateTrustScope): this; /** - * Sets a child relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withChildRelationship(child: IResource): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, options?: { commandOptions?: CommandOptions }): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, commandOptions?: CommandOptions): this; /** - * Configures a resource to use a container registry + * Configures the resource to use the specified container registry for container image operations. */ withContainerRegistry(registry: IResource): this; /** - * Configures developer certificate trust + * 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. */ withDeveloperCertificateTrust(trust: boolean): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(options?: { buildImage?: string; runtimeImage?: string }): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(buildImage?: string, runtimeImage?: string): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(options?: { port?: number; targetPort?: number; scheme?: string; name?: string; env?: string; isProxied?: boolean; isExternal?: boolean; protocol?: ProtocolType }): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(port?: number, targetPort?: number, scheme?: string, name?: string, env?: string, isProxied?: boolean, isExternal?: boolean, protocol?: ProtocolType): this; @@ -12279,27 +12233,27 @@ export interface DotnetToolResource { withEnvironment(name: string, value: string | IResourceWithConnectionString | IValueProvider): this; /** - * Sets environment variables via callback + * Allows for the population of environment variables on a resource. */ withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) => Promise): this; /** - * Sets the executable command + * Sets the command for the executable resource. */ withExecutableCommand(command: string): this; /** - * Prevents resource from starting automatically + * Adds a `ExplicitStartupAnnotation` annotation to the resource so it doesn't automatically start with the app host startup. */ withExplicitStart(): this; /** - * Makes HTTP endpoints externally accessible + * Marks existing http or https endpoints on a resource as external. */ withExternalHttpEndpoints(): this; /** - * Adds a health check by key + * Adds a `HealthCheckAnnotation` to the resource annotations to associate a resource with a named health check managed by the health check service. */ withHealthCheck(key: string): this; @@ -12314,12 +12268,12 @@ export interface DotnetToolResource { withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -12334,42 +12288,42 @@ export interface DotnetToolResource { withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(options?: { path?: string; statusCode?: number; endpointName?: string }): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(path?: string, statusCode?: number, endpointName?: string): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, options?: { path?: string; initialDelaySeconds?: number; periodSeconds?: number; timeoutSeconds?: number; failureThreshold?: number; successThreshold?: number; endpointName?: string }): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, path?: string, initialDelaySeconds?: number, periodSeconds?: number, timeoutSeconds?: number, failureThreshold?: number, successThreshold?: number, endpointName?: string): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(options?: { password?: string | ParameterResource }): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(password?: string | ParameterResource): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -12384,27 +12338,27 @@ export interface DotnetToolResource { withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, options?: { iconVariant?: IconVariant }): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, iconVariant?: IconVariant): this; /** - * Sets image push options via callback + * Adds an asynchronous callback to configure container image push options for the resource. */ withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) => Promise): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(options?: { path?: string; endpointName?: string }): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(path?: string, endpointName?: string): this; @@ -12419,27 +12373,27 @@ export interface DotnetToolResource { withOtlpExporter(protocol?: OtlpProtocol): this; /** - * Removes HTTPS certificate configuration + * Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied. */ withoutHttpsCertificate(): IResourceWithEnvironment; /** - * Sets the parent relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withParentRelationship(parent: IResource): this; /** - * Configures pipeline step dependencies via a callback + * Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships. */ withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) => Promise): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, options?: { dependsOn?: string[]; requiredBy?: string[]; tags?: string[]; description?: string }): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): this; @@ -12454,32 +12408,32 @@ export interface DotnetToolResource { withReference(source: EndpointReference|string|uri, connectionName?: string, optional?: boolean, name?: string): this; /** - * Configures which reference values are injected into environment variables + * Configures how information is injected into environment variables when the resource references other resources. */ withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): this; /** - * Adds a relationship to another resource + * Adds a relationship to another resource using its builder. */ withRelationship(resourceBuilder: IResource, type: string): this; /** - * Sets the remote image name for publishing + * Sets the remote image name (without registry endpoint or tag) for container push operations. */ withRemoteImageName(remoteImageName: string): this; /** - * Sets the remote image tag for publishing + * Sets the remote image tag for container push operations. */ withRemoteImageTag(remoteImageTag: string): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, options?: { helpLink?: string }): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, helpLink?: string): this; @@ -12494,32 +12448,32 @@ export interface DotnetToolResource { withUrl(url: ReferenceExpression, displayText?: string): this; /** - * Customizes the URL for a specific endpoint via callback + * Registers a callback to update the URL displayed for the endpoint with the specified name. */ withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) => Promise): this; /** - * Customizes displayed URLs via callback + * Registers a callback to customize the URLs displayed for the resource. */ withUrls(callback: (obj: ResourceUrlsCallbackContext) => Promise): this; /** - * Sets the executable working directory + * Sets the working directory for the executable resource. */ withWorkingDirectory(workingDirectory: string): this; /** - * Associates an Azure user-assigned identity with a compute resource + * Attaches an existing `AzureUserAssignedIdentityResource` to a compute resource, setting it as the target identity for the builder. */ withAzureUserAssignedIdentity(identityResourceBuilder: AzureUserAssignedIdentityResource): this; /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Configures the executable resource to be published as an Azure Container App + * Publishes the specified container resource as a container app. */ publishAsAzureContainerApp(configure: (arg1: AzureResourceInfrastructure, arg2: ContainerApp) => Promise): this; @@ -12544,47 +12498,47 @@ export interface DotnetToolResource { publishAsScheduledAzureContainerAppJob(cronExpression: string, configure?: (arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) => Promise): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(options?: { configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise; configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise }): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise, configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise): this; /** - * Skips Azure App Service environment variable name validation for the compute resource + * Skips validation for environment variable names that Azure App Service may not support. */ skipEnvironmentVariableNameChecks(): IComputeResource; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -12599,67 +12553,67 @@ export interface DotnetToolResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(options?: { browser?: string; profile?: string; userDataMode?: BrowserUserDataMode }): this; /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(browser?: string, profile?: string, userDataMode?: BrowserUserDataMode): this; /** - * Publishes the resource as a Docker Compose service with custom service configuration + * Publishes the specified resource as a Docker Compose service. */ publishAsDockerComposeService(configure: (arg1: DockerComposeServiceResource, arg2: Service) => Promise): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; /** - * Publishes the resource as a Kubernetes service + * Publishes the specified resource as a Kubernetes service. */ publishAsKubernetesService(configure: (obj: KubernetesResource) => Promise): this; /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; /** - * Adds an Orleans client reference to a resource + * Adds an Orleans client to the resource. */ withReference(orleansServiceClient: OrleansServiceClient): this; @@ -12668,57 +12622,57 @@ export interface DotnetToolResource { // augments handle type ExecutableResource with extension methods export interface ExecutableResource { /** - * Configures resource for HTTP/2 + * Configures a resource to mark all endpoints' transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge. */ asHttp2Service(): IResourceWithEndpoints; /** - * Creates an execution configuration builder + * Creates an execution configuration builder for the specified resource. */ createExecutionConfiguration(): IExecutionConfigurationBuilder; /** - * Excludes the resource from the deployment manifest + * Excludes a resource from being published to the manifest. */ excludeFromManifest(): IResource; /** - * Excludes the resource from MCP server exposure + * Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry. */ excludeFromMcp(): IResource; /** - * Gets an endpoint reference + * Gets an `EndpointReference` by name from the resource. These endpoints are declared either using `WithEndpoint``1` or by launch settings (for project resources). The `EndpointReference` can be used to resolve the address of the endpoint in `WithEnvironment``1`. */ getEndpoint(name: string): EndpointReference; /** - * Gets the resource name + * Gets the name of the resource from a builder. */ getResourceName(): string; /** - * Subscribes to the BeforeResourceStarted event + * Subscribes to the BeforeResourceStarted event. */ onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) => Promise): this; /** - * Subscribes to the InitializeResource event + * Subscribes to the InitializeResource event. */ onInitializeResource(callback: (arg: InitializeResourceEvent) => Promise): this; /** - * Subscribes to the ResourceEndpointsAllocated event + * Subscribes to the ResourceEndpointsAllocated event. */ onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) => Promise): this; /** - * Subscribes to the ResourceReady event + * Subscribes to the ResourceReady event. */ onResourceReady(callback: (arg: ResourceReadyEvent) => Promise): this; /** - * Subscribes to the ResourceStopped event + * Subscribes to the ResourceStopped event. */ onResourceStopped(callback: (arg: ResourceStoppedEvent) => Promise): this; @@ -12726,9 +12680,9 @@ export interface ExecutableResource { * Waits for another resource to be ready */ - waitFor(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitFor(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; /** - * Waits for resource completion + * Waits for the dependency resource to enter the Exited or Finished state before starting the resource. */ waitForCompletion(dependency: IResource, exitCode?: number): this; @@ -12736,64 +12690,64 @@ export interface ExecutableResource { * Waits for another resource to start */ - waitForStart(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitForStart(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; /** - * Adds arguments + * Adds arguments to be passed to a resource that supports arguments when it is launched. */ withArgs(args: string[]): this; /** - * Sets command-line arguments via callback + * Adds a callback to be executed with a list of command-line arguments when a resource is started. */ withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) => Promise): this; /** - * Sets the certificate trust scope + * Sets the `CertificateTrustScope` for custom certificate authorities associated with the resource. The scope specifies how custom certificate authorities should be applied to a resource at run time in local development scenarios. Custom certificate trust is only applied in run mode; in publish mode resources will use their default certificate trust behavior. */ withCertificateTrustScope(scope: CertificateTrustScope): this; /** - * Sets a child relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withChildRelationship(child: IResource): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, options?: { commandOptions?: CommandOptions }): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, commandOptions?: CommandOptions): this; /** - * Configures a resource to use a container registry + * Configures the resource to use the specified container registry for container image operations. */ withContainerRegistry(registry: IResource): this; /** - * Configures developer certificate trust + * 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. */ withDeveloperCertificateTrust(trust: boolean): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(options?: { buildImage?: string; runtimeImage?: string }): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(buildImage?: string, runtimeImage?: string): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(options?: { port?: number; targetPort?: number; scheme?: string; name?: string; env?: string; isProxied?: boolean; isExternal?: boolean; protocol?: ProtocolType }): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(port?: number, targetPort?: number, scheme?: string, name?: string, env?: string, isProxied?: boolean, isExternal?: boolean, protocol?: ProtocolType): this; @@ -12813,22 +12767,22 @@ export interface ExecutableResource { withEnvironment(name: string, value: string | IResourceWithConnectionString | IValueProvider): this; /** - * Sets environment variables via callback + * Allows for the population of environment variables on a resource. */ withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) => Promise): this; /** - * Prevents resource from starting automatically + * Adds a `ExplicitStartupAnnotation` annotation to the resource so it doesn't automatically start with the app host startup. */ withExplicitStart(): this; /** - * Makes HTTP endpoints externally accessible + * Marks existing http or https endpoints on a resource as external. */ withExternalHttpEndpoints(): this; /** - * Adds a health check by key + * Adds a `HealthCheckAnnotation` to the resource annotations to associate a resource with a named health check managed by the health check service. */ withHealthCheck(key: string): this; @@ -12843,12 +12797,12 @@ export interface ExecutableResource { withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -12863,42 +12817,42 @@ export interface ExecutableResource { withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(options?: { path?: string; statusCode?: number; endpointName?: string }): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(path?: string, statusCode?: number, endpointName?: string): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, options?: { path?: string; initialDelaySeconds?: number; periodSeconds?: number; timeoutSeconds?: number; failureThreshold?: number; successThreshold?: number; endpointName?: string }): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, path?: string, initialDelaySeconds?: number, periodSeconds?: number, timeoutSeconds?: number, failureThreshold?: number, successThreshold?: number, endpointName?: string): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(options?: { password?: string | ParameterResource }): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(password?: string | ParameterResource): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -12913,27 +12867,27 @@ export interface ExecutableResource { withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, options?: { iconVariant?: IconVariant }): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, iconVariant?: IconVariant): this; /** - * Sets image push options via callback + * Adds an asynchronous callback to configure container image push options for the resource. */ withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) => Promise): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(options?: { path?: string; endpointName?: string }): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(path?: string, endpointName?: string): this; @@ -12948,27 +12902,27 @@ export interface ExecutableResource { withOtlpExporter(protocol?: OtlpProtocol): this; /** - * Removes HTTPS certificate configuration + * Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied. */ withoutHttpsCertificate(): IResourceWithEnvironment; /** - * Sets the parent relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withParentRelationship(parent: IResource): this; /** - * Configures pipeline step dependencies via a callback + * Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships. */ withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) => Promise): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, options?: { dependsOn?: string[]; requiredBy?: string[]; tags?: string[]; description?: string }): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): this; @@ -12983,32 +12937,32 @@ export interface ExecutableResource { withReference(source: EndpointReference|string|uri, connectionName?: string, optional?: boolean, name?: string): this; /** - * Configures which reference values are injected into environment variables + * Configures how information is injected into environment variables when the resource references other resources. */ withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): this; /** - * Adds a relationship to another resource + * Adds a relationship to another resource using its builder. */ withRelationship(resourceBuilder: IResource, type: string): this; /** - * Sets the remote image name for publishing + * Sets the remote image name (without registry endpoint or tag) for container push operations. */ withRemoteImageName(remoteImageName: string): this; /** - * Sets the remote image tag for publishing + * Sets the remote image tag for container push operations. */ withRemoteImageTag(remoteImageTag: string): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, options?: { helpLink?: string }): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, helpLink?: string): this; @@ -13023,27 +12977,27 @@ export interface ExecutableResource { withUrl(url: ReferenceExpression, displayText?: string): this; /** - * Customizes the URL for a specific endpoint via callback + * Registers a callback to update the URL displayed for the endpoint with the specified name. */ withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) => Promise): this; /** - * Customizes displayed URLs via callback + * Registers a callback to customize the URLs displayed for the resource. */ withUrls(callback: (obj: ResourceUrlsCallbackContext) => Promise): this; /** - * Associates an Azure user-assigned identity with a compute resource + * Attaches an existing `AzureUserAssignedIdentityResource` to a compute resource, setting it as the target identity for the builder. */ withAzureUserAssignedIdentity(identityResourceBuilder: AzureUserAssignedIdentityResource): this; /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Configures the executable resource to be published as an Azure Container App + * Publishes the specified container resource as a container app. */ publishAsAzureContainerApp(configure: (arg1: AzureResourceInfrastructure, arg2: ContainerApp) => Promise): this; @@ -13068,47 +13022,47 @@ export interface ExecutableResource { publishAsScheduledAzureContainerAppJob(cronExpression: string, configure?: (arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) => Promise): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(options?: { configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise; configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise }): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise, configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise): this; /** - * Skips Azure App Service environment variable name validation for the compute resource + * Skips validation for environment variable names that Azure App Service may not support. */ skipEnvironmentVariableNameChecks(): IComputeResource; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -13123,67 +13077,67 @@ export interface ExecutableResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(options?: { browser?: string; profile?: string; userDataMode?: BrowserUserDataMode }): this; /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(browser?: string, profile?: string, userDataMode?: BrowserUserDataMode): this; /** - * Publishes the resource as a Docker Compose service with custom service configuration + * Publishes the specified resource as a Docker Compose service. */ publishAsDockerComposeService(configure: (arg1: DockerComposeServiceResource, arg2: Service) => Promise): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; /** - * Publishes the resource as a Kubernetes service + * Publishes the specified resource as a Kubernetes service. */ publishAsKubernetesService(configure: (obj: KubernetesResource) => Promise): this; /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; /** - * Adds an Orleans client reference to a resource + * Adds an Orleans client to the resource. */ withReference(orleansServiceClient: OrleansServiceClient): this; @@ -13192,127 +13146,127 @@ export interface ExecutableResource { // augments handle type ExternalServiceResource with extension methods export interface ExternalServiceResource { /** - * Creates an execution configuration builder + * Creates an execution configuration builder for the specified resource. */ createExecutionConfiguration(): IExecutionConfigurationBuilder; /** - * Excludes the resource from the deployment manifest + * Excludes a resource from being published to the manifest. */ excludeFromManifest(): IResource; /** - * Excludes the resource from MCP server exposure + * Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry. */ excludeFromMcp(): IResource; /** - * Gets the resource name + * Gets the name of the resource from a builder. */ getResourceName(): string; /** - * Subscribes to the BeforeResourceStarted event + * Subscribes to the BeforeResourceStarted event. */ onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) => Promise): this; /** - * Subscribes to the InitializeResource event + * Subscribes to the InitializeResource event. */ onInitializeResource(callback: (arg: InitializeResourceEvent) => Promise): this; /** - * Subscribes to the ResourceReady event + * Subscribes to the ResourceReady event. */ onResourceReady(callback: (arg: ResourceReadyEvent) => Promise): this; /** - * Subscribes to the ResourceStopped event + * Subscribes to the ResourceStopped event. */ onResourceStopped(callback: (arg: ResourceStoppedEvent) => Promise): this; /** - * Sets a child relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withChildRelationship(child: IResource): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, options?: { commandOptions?: CommandOptions }): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, commandOptions?: CommandOptions): this; /** - * Configures a resource to use a container registry + * Configures the resource to use the specified container registry for container image operations. */ withContainerRegistry(registry: IResource): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(options?: { buildImage?: string; runtimeImage?: string }): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(buildImage?: string, runtimeImage?: string): this; /** - * Prevents resource from starting automatically + * Adds a `ExplicitStartupAnnotation` annotation to the resource so it doesn't automatically start with the app host startup. */ withExplicitStart(): this; /** - * Adds a health check by key + * Adds a `HealthCheckAnnotation` to the resource annotations to associate a resource with a named health check managed by the health check service. */ withHealthCheck(key: string): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, options?: { iconVariant?: IconVariant }): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, iconVariant?: IconVariant): this; /** - * Sets the parent relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withParentRelationship(parent: IResource): this; /** - * Configures pipeline step dependencies via a callback + * Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships. */ withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) => Promise): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, options?: { dependsOn?: string[]; requiredBy?: string[]; tags?: string[]; description?: string }): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): this; /** - * Adds a relationship to another resource + * Adds a relationship to another resource using its builder. */ withRelationship(resourceBuilder: IResource, type: string): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, options?: { helpLink?: string }): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, helpLink?: string): this; @@ -13327,47 +13281,47 @@ export interface ExternalServiceResource { withUrl(url: ReferenceExpression, displayText?: string): this; /** - * Customizes the URL for a specific endpoint via callback + * Registers a callback to update the URL displayed for the endpoint with the specified name. */ withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) => Promise): this; /** - * Customizes displayed URLs via callback + * Registers a callback to customize the URLs displayed for the resource. */ withUrls(callback: (obj: ResourceUrlsCallbackContext) => Promise): this; /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -13382,32 +13336,32 @@ export interface ExternalServiceResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; @@ -13416,12 +13370,12 @@ export interface ExternalServiceResource { // augments handle type FoundryResource with extension methods export interface FoundryResource { /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; @@ -13429,7 +13383,7 @@ export interface FoundryResource { export interface IAzureDelegatedSubnetResource { /** - * Associates a delegated Azure subnet resource with an Azure resource that supports subnet delegation. + * Configures the resource to use the specified subnet with appropriate service delegation. */ withDelegatedSubnet(subnet: AzureSubnetResource): this; @@ -13437,22 +13391,22 @@ export interface IAzureDelegatedSubnetResource { export interface IComputeResource { /** - * Sets image push options via callback + * Adds an asynchronous callback to configure container image push options for the resource. */ withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) => Promise): this; /** - * Sets the remote image name for publishing + * Sets the remote image name (without registry endpoint or tag) for container push operations. */ withRemoteImageName(remoteImageName: string): this; /** - * Sets the remote image tag for publishing + * Sets the remote image tag for container push operations. */ withRemoteImageTag(remoteImageTag: string): this; /** - * Associates an Azure user-assigned identity with a compute resource + * Attaches an existing `AzureUserAssignedIdentityResource` to a compute resource, setting it as the target identity for the builder. */ withAzureUserAssignedIdentity(identityResourceBuilder: AzureUserAssignedIdentityResource): this; @@ -13477,27 +13431,27 @@ export interface IComputeResource { publishAsScheduledAzureContainerAppJob(cronExpression: string, configure?: (arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) => Promise): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(options?: { configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise; configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise }): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise, configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise): this; /** - * Skips Azure App Service environment variable name validation for the compute resource + * Skips validation for environment variable names that Azure App Service may not support. */ skipEnvironmentVariableNameChecks(): IComputeResource; /** - * Publishes the resource as a Docker Compose service with custom service configuration + * Publishes the specified resource as a Docker Compose service. */ publishAsDockerComposeService(configure: (arg1: DockerComposeServiceResource, arg2: Service) => Promise): this; /** - * Publishes the resource as a Kubernetes service + * Publishes the specified resource as a Kubernetes service. */ publishAsKubernetesService(configure: (obj: KubernetesResource) => Promise): this; @@ -13505,27 +13459,27 @@ export interface IComputeResource { export interface IConfiguration { /** - * Checks whether a configuration section exists + * Checks whether a configuration section exists. */ exists(key: string): boolean; /** - * Gets child configuration sections + * Gets the child sections of a configuration handle. */ getChildren(): IConfigurationSection[]; /** - * Gets a configuration value by key + * Gets a configuration value by key. */ getConfigValue(key: string): string; /** - * Gets a connection string by name + * Gets a connection string by name. */ getConnectionString(name: string): string; /** - * Gets a configuration section by key + * Gets a configuration section by key. */ getSection(key: string): IConfigurationSection; @@ -13533,7 +13487,7 @@ export interface IConfiguration { export interface IContainerFilesDestinationResource { /** - * Configures the resource to copy container files from the specified source during publishing + * Configures the resource to copy container files from the specified source resource during publishing. */ publishWithContainerFiles(source: IResourceWithContainerFiles, destinationPath: string): this; @@ -13541,22 +13495,22 @@ export interface IContainerFilesDestinationResource { export interface IHostEnvironment { /** - * Checks if running in Development environment + * Checks if the environment is Development. */ isDevelopment(): boolean; /** - * Checks if the environment matches the specified name + * Checks if the environment matches the specified name. */ isEnvironment(environmentName: string): boolean; /** - * Checks if running in Production environment + * Checks if the environment is Production. */ isProduction(): boolean; /** - * Checks if running in Staging environment + * Checks if the environment is Staging. */ isStaging(): boolean; @@ -13564,27 +13518,27 @@ export interface IHostEnvironment { export interface ILogger { /** - * Logs a message with specified level + * Logs a message with a specified log level. */ log(level: string, message: string): void; /** - * Logs a debug message + * Logs a debug message. */ logDebug(message: string): void; /** - * Logs an error message + * Logs an error message. */ logError(message: string): void; /** - * Logs an information message + * Logs an information message. */ logInformation(message: string): void; /** - * Logs a warning message + * Logs a warning message. */ logWarning(message: string): void; @@ -13592,7 +13546,7 @@ export interface ILogger { export interface ILoggerFactory { /** - * Creates a logger for a category + * Creates a logger for the specified category name. */ createLogger(categoryName: string): ILogger; @@ -13600,7 +13554,7 @@ export interface ILoggerFactory { export interface IMauiPlatformResource { /** - * Configures a .NET MAUI platform resource to send OpenTelemetry data through a development tunnel. + * Configures the MAUI platform resource to send OpenTelemetry data through an automatically created dev tunnel. This is the easiest option for most scenarios, as it handles tunnel creation, configuration, and endpoint injection automatically. */ withOtlpDevTunnel(): this; @@ -13609,37 +13563,37 @@ export interface IMauiPlatformResource { // augments handle type IResource with extension methods export interface IResource { /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -13654,32 +13608,32 @@ export interface IResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; @@ -13688,22 +13642,22 @@ export interface IResource { // augments handle type IResourceWithEndpoints with extension methods export interface IResourceWithEndpoints { /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(options?: { browser?: string; profile?: string; userDataMode?: BrowserUserDataMode }): this; /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(browser?: string, profile?: string, userDataMode?: BrowserUserDataMode): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; @@ -13712,7 +13666,7 @@ export interface IResourceWithEndpoints { // augments handle type IResourceWithEnvironment with extension methods export interface IResourceWithEnvironment { /** - * Adds an Orleans client reference to a resource + * Adds an Orleans client to the resource. */ withReference(orleansServiceClient: OrleansServiceClient): this; @@ -13720,37 +13674,37 @@ export interface IResourceWithEnvironment { export interface IServiceProvider { /** - * Gets the Aspire store from the service provider + * Gets the Aspire store from the service provider. */ getAspireStore(): IAspireStore; /** - * Gets the distributed application model from the service provider + * Gets the distributed application model from the service provider. */ getDistributedApplicationModel(): DistributedApplicationModel; /** - * Gets the distributed application eventing service from the service provider + * Gets the distributed application eventing service from the service provider. */ getEventing(): IDistributedApplicationEventing; /** - * Gets the logger factory from the service provider + * Gets the logger factory from the service provider. */ getLoggerFactory(): ILoggerFactory; /** - * Gets the resource logger service from the service provider + * Gets the resource logger service from the service provider. */ getResourceLoggerService(): ResourceLoggerService; /** - * Gets the resource notification service from the service provider + * Gets the resource notification service from the service provider. */ getResourceNotificationService(): ResourceNotificationService; /** - * Gets the user secrets manager from the service provider + * Gets the user secrets manager from the service provider. */ getUserSecretsManager(): IUserSecretsManager; @@ -13759,12 +13713,12 @@ export interface IServiceProvider { // augments handle type KubernetesAspireDashboardResource with extension methods export interface KubernetesAspireDashboardResource { /** - * Publishes the resource as a Kubernetes service + * Publishes the specified resource as a Kubernetes service. */ publishAsKubernetesService(configure: (obj: KubernetesResource) => Promise): this; /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; @@ -13773,7 +13727,7 @@ export interface KubernetesAspireDashboardResource { // augments handle type KubernetesEnvironmentResource with extension methods export interface KubernetesEnvironmentResource { /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; @@ -13782,7 +13736,7 @@ export interface KubernetesEnvironmentResource { // augments handle type KubernetesGatewayResource with extension methods export interface KubernetesGatewayResource { /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; @@ -13791,7 +13745,7 @@ export interface KubernetesGatewayResource { // augments handle type KubernetesIngressResource with extension methods export interface KubernetesIngressResource { /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; @@ -13800,7 +13754,7 @@ export interface KubernetesIngressResource { // augments handle type KubernetesNodePoolResource with extension methods export interface KubernetesNodePoolResource { /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; @@ -13809,7 +13763,7 @@ export interface KubernetesNodePoolResource { // augments handle type KubernetesResource with extension methods export interface KubernetesResource { /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; @@ -13818,7 +13772,7 @@ export interface KubernetesResource { // augments handle type MauiAndroidDeviceResource with extension methods export interface MauiAndroidDeviceResource { /** - * Configures a .NET MAUI platform resource to send OpenTelemetry data through a development tunnel. + * Configures the MAUI platform resource to send OpenTelemetry data through an automatically created dev tunnel. This is the easiest option for most scenarios, as it handles tunnel creation, configuration, and endpoint injection automatically. */ withOtlpDevTunnel(): this; @@ -13827,7 +13781,7 @@ export interface MauiAndroidDeviceResource { // augments handle type MauiAndroidEmulatorResource with extension methods export interface MauiAndroidEmulatorResource { /** - * Configures a .NET MAUI platform resource to send OpenTelemetry data through a development tunnel. + * Configures the MAUI platform resource to send OpenTelemetry data through an automatically created dev tunnel. This is the easiest option for most scenarios, as it handles tunnel creation, configuration, and endpoint injection automatically. */ withOtlpDevTunnel(): this; @@ -13836,7 +13790,7 @@ export interface MauiAndroidEmulatorResource { // augments handle type MauiiOSDeviceResource with extension methods export interface MauiiOSDeviceResource { /** - * Configures a .NET MAUI platform resource to send OpenTelemetry data through a development tunnel. + * Configures the MAUI platform resource to send OpenTelemetry data through an automatically created dev tunnel. This is the easiest option for most scenarios, as it handles tunnel creation, configuration, and endpoint injection automatically. */ withOtlpDevTunnel(): this; @@ -13845,7 +13799,7 @@ export interface MauiiOSDeviceResource { // augments handle type MauiiOSSimulatorResource with extension methods export interface MauiiOSSimulatorResource { /** - * Configures a .NET MAUI platform resource to send OpenTelemetry data through a development tunnel. + * Configures the MAUI platform resource to send OpenTelemetry data through an automatically created dev tunnel. This is the easiest option for most scenarios, as it handles tunnel creation, configuration, and endpoint injection automatically. */ withOtlpDevTunnel(): this; @@ -13854,7 +13808,7 @@ export interface MauiiOSSimulatorResource { // augments handle type MauiMacCatalystPlatformResource with extension methods export interface MauiMacCatalystPlatformResource { /** - * Configures a .NET MAUI platform resource to send OpenTelemetry data through a development tunnel. + * Configures the MAUI platform resource to send OpenTelemetry data through an automatically created dev tunnel. This is the easiest option for most scenarios, as it handles tunnel creation, configuration, and endpoint injection automatically. */ withOtlpDevTunnel(): this; @@ -13863,7 +13817,7 @@ export interface MauiMacCatalystPlatformResource { // augments handle type MauiWindowsPlatformResource with extension methods export interface MauiWindowsPlatformResource { /** - * Configures a .NET MAUI platform resource to send OpenTelemetry data through a development tunnel. + * Configures the MAUI platform resource to send OpenTelemetry data through an automatically created dev tunnel. This is the easiest option for most scenarios, as it handles tunnel creation, configuration, and endpoint injection automatically. */ withOtlpDevTunnel(): this; @@ -13872,102 +13826,102 @@ export interface MauiWindowsPlatformResource { // augments handle type NextJsAppResource with extension methods export interface NextJsAppResource { /** - * Publishes the JavaScript application as a standalone Node.js server that runs a built artifact directly. + * Configures the JavaScript application to publish as a standalone Node.js server that runs a built artifact directly. */ publishAsNodeServer(entryPoint: string, options?: { outputPath?: string }): this; /** - * Publishes the JavaScript application as a standalone Node.js server that runs a built artifact directly. + * Configures the JavaScript application to publish as a standalone Node.js server that runs a built artifact directly. */ publishAsNodeServer(entryPoint: string, outputPath?: string): this; /** - * Publishes the JavaScript application as a Node.js server that uses a package manager script at runtime. + * Configures the JavaScript application to publish as a Node.js server that uses a package manager script at runtime. */ publishAsNpmScript(options?: { startScriptName?: string; runScriptArguments?: string }): this; /** - * Publishes the JavaScript application as a Node.js server that uses a package manager script at runtime. + * Configures the JavaScript application to publish as a Node.js server that uses a package manager script at runtime. */ publishAsNpmScript(startScriptName?: string, runScriptArguments?: string): this; /** - * Publishes the JavaScript application as a standalone static website using YARP. + * Polyglot-compatible overload. All parameters are optional so the TS codegen wraps them in a single options object rather than positional args. */ publishAsStaticWebsite(options?: { apiPath?: string; apiTarget?: IResourceWithServiceDiscovery; outputPath?: string; stripPrefix?: boolean; targetEndpointName?: string }): this; /** - * Publishes the JavaScript application as a standalone static website using YARP. + * Polyglot-compatible overload. All parameters are optional so the TS codegen wraps them in a single options object rather than positional args. */ publishAsStaticWebsite(apiPath?: string, apiTarget?: IResourceWithServiceDiscovery, outputPath?: string, stripPrefix?: boolean, targetEndpointName?: string): this; /** - * Configures a browser debugger for the JavaScript application + * Configures a browser debugger for the JavaScript application resource, enabling browser-based debugging through a child resource that launches when the parent application is ready. */ withBrowserDebugger(options?: { browser?: string }): this; /** - * Configures a browser debugger for the JavaScript application + * Configures a browser debugger for the JavaScript application resource, enabling browser-based debugging through a child resource that launches when the parent application is ready. */ withBrowserDebugger(browser?: string): this; /** - * Specifies an npm script to run before starting the application + * Adds a build script annotation to the resource builder using the specified command-line arguments. */ withBuildScript(scriptName: string, options?: { args?: string[] }): this; /** - * Specifies an npm script to run before starting the application + * Adds a build script annotation to the resource builder using the specified command-line arguments. */ withBuildScript(scriptName: string, args?: string[]): this; /** - * Configures Bun as the package manager + * Configures the JavaScript resource to use Bun as the package manager and optionally installs packages before the application starts. */ withBun(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures Bun as the package manager + * Configures the JavaScript resource to use Bun as the package manager and optionally installs packages before the application starts. */ withBun(install?: boolean, installArgs?: string[]): this; /** - * Configures npm as the package manager + * Configures the Node.js resource to use npm as the package manager and optionally installs packages before the application starts. */ withNpm(options?: { install?: boolean; installCommand?: string; installArgs?: string[] }): this; /** - * Configures npm as the package manager + * Configures the Node.js resource to use npm as the package manager and optionally installs packages before the application starts. */ withNpm(install?: boolean, installCommand?: string, installArgs?: string[]): this; /** - * Configures pnpm as the package manager + * Configures the Node.js resource to use pnpm as the package manager and optionally installs packages before the application starts. */ withPnpm(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures pnpm as the package manager + * Configures the Node.js resource to use pnpm as the package manager and optionally installs packages before the application starts. */ withPnpm(install?: boolean, installArgs?: string[]): this; /** - * Specifies an npm script to run during development + * Adds a run script annotation to the specified JavaScript application resource builder, specifying the script to execute and its arguments during run mode. */ withRunScript(scriptName: string, options?: { args?: string[] }): this; /** - * Specifies an npm script to run during development + * Adds a run script annotation to the specified JavaScript application resource builder, specifying the script to execute and its arguments during run mode. */ withRunScript(scriptName: string, args?: string[]): this; /** - * Configures yarn as the package manager + * Configures the Node.js resource to use yarn as the package manager and optionally installs packages before the application starts. */ withYarn(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures yarn as the package manager + * Configures the Node.js resource to use yarn as the package manager and optionally installs packages before the application starts. */ withYarn(install?: boolean, installArgs?: string[]): this; @@ -13976,102 +13930,102 @@ export interface NextJsAppResource { // augments handle type NodeAppResource with extension methods export interface NodeAppResource { /** - * Publishes the JavaScript application as a standalone Node.js server that runs a built artifact directly. + * Configures the JavaScript application to publish as a standalone Node.js server that runs a built artifact directly. */ publishAsNodeServer(entryPoint: string, options?: { outputPath?: string }): this; /** - * Publishes the JavaScript application as a standalone Node.js server that runs a built artifact directly. + * Configures the JavaScript application to publish as a standalone Node.js server that runs a built artifact directly. */ publishAsNodeServer(entryPoint: string, outputPath?: string): this; /** - * Publishes the JavaScript application as a Node.js server that uses a package manager script at runtime. + * Configures the JavaScript application to publish as a Node.js server that uses a package manager script at runtime. */ publishAsNpmScript(options?: { startScriptName?: string; runScriptArguments?: string }): this; /** - * Publishes the JavaScript application as a Node.js server that uses a package manager script at runtime. + * Configures the JavaScript application to publish as a Node.js server that uses a package manager script at runtime. */ publishAsNpmScript(startScriptName?: string, runScriptArguments?: string): this; /** - * Publishes the JavaScript application as a standalone static website using YARP. + * Polyglot-compatible overload. All parameters are optional so the TS codegen wraps them in a single options object rather than positional args. */ publishAsStaticWebsite(options?: { apiPath?: string; apiTarget?: IResourceWithServiceDiscovery; outputPath?: string; stripPrefix?: boolean; targetEndpointName?: string }): this; /** - * Publishes the JavaScript application as a standalone static website using YARP. + * Polyglot-compatible overload. All parameters are optional so the TS codegen wraps them in a single options object rather than positional args. */ publishAsStaticWebsite(apiPath?: string, apiTarget?: IResourceWithServiceDiscovery, outputPath?: string, stripPrefix?: boolean, targetEndpointName?: string): this; /** - * Configures a browser debugger for the JavaScript application + * Configures a browser debugger for the JavaScript application resource, enabling browser-based debugging through a child resource that launches when the parent application is ready. */ withBrowserDebugger(options?: { browser?: string }): this; /** - * Configures a browser debugger for the JavaScript application + * Configures a browser debugger for the JavaScript application resource, enabling browser-based debugging through a child resource that launches when the parent application is ready. */ withBrowserDebugger(browser?: string): this; /** - * Specifies an npm script to run before starting the application + * Adds a build script annotation to the resource builder using the specified command-line arguments. */ withBuildScript(scriptName: string, options?: { args?: string[] }): this; /** - * Specifies an npm script to run before starting the application + * Adds a build script annotation to the resource builder using the specified command-line arguments. */ withBuildScript(scriptName: string, args?: string[]): this; /** - * Configures Bun as the package manager + * Configures the JavaScript resource to use Bun as the package manager and optionally installs packages before the application starts. */ withBun(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures Bun as the package manager + * Configures the JavaScript resource to use Bun as the package manager and optionally installs packages before the application starts. */ withBun(install?: boolean, installArgs?: string[]): this; /** - * Configures npm as the package manager + * Configures the Node.js resource to use npm as the package manager and optionally installs packages before the application starts. */ withNpm(options?: { install?: boolean; installCommand?: string; installArgs?: string[] }): this; /** - * Configures npm as the package manager + * Configures the Node.js resource to use npm as the package manager and optionally installs packages before the application starts. */ withNpm(install?: boolean, installCommand?: string, installArgs?: string[]): this; /** - * Configures pnpm as the package manager + * Configures the Node.js resource to use pnpm as the package manager and optionally installs packages before the application starts. */ withPnpm(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures pnpm as the package manager + * Configures the Node.js resource to use pnpm as the package manager and optionally installs packages before the application starts. */ withPnpm(install?: boolean, installArgs?: string[]): this; /** - * Specifies an npm script to run during development + * Adds a run script annotation to the specified JavaScript application resource builder, specifying the script to execute and its arguments during run mode. */ withRunScript(scriptName: string, options?: { args?: string[] }): this; /** - * Specifies an npm script to run during development + * Adds a run script annotation to the specified JavaScript application resource builder, specifying the script to execute and its arguments during run mode. */ withRunScript(scriptName: string, args?: string[]): this; /** - * Configures yarn as the package manager + * Configures the Node.js resource to use yarn as the package manager and optionally installs packages before the application starts. */ withYarn(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures yarn as the package manager + * Configures the Node.js resource to use yarn as the package manager and optionally installs packages before the application starts. */ withYarn(install?: boolean, installArgs?: string[]): this; @@ -14080,127 +14034,127 @@ export interface NodeAppResource { // augments handle type ParameterResource with extension methods export interface ParameterResource { /** - * Creates an execution configuration builder + * Creates an execution configuration builder for the specified resource. */ createExecutionConfiguration(): IExecutionConfigurationBuilder; /** - * Excludes the resource from the deployment manifest + * Excludes a resource from being published to the manifest. */ excludeFromManifest(): IResource; /** - * Excludes the resource from MCP server exposure + * Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry. */ excludeFromMcp(): IResource; /** - * Gets the resource name + * Gets the name of the resource from a builder. */ getResourceName(): string; /** - * Subscribes to the BeforeResourceStarted event + * Subscribes to the BeforeResourceStarted event. */ onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) => Promise): this; /** - * Subscribes to the InitializeResource event + * Subscribes to the InitializeResource event. */ onInitializeResource(callback: (arg: InitializeResourceEvent) => Promise): this; /** - * Subscribes to the ResourceReady event + * Subscribes to the ResourceReady event. */ onResourceReady(callback: (arg: ResourceReadyEvent) => Promise): this; /** - * Subscribes to the ResourceStopped event + * Subscribes to the ResourceStopped event. */ onResourceStopped(callback: (arg: ResourceStoppedEvent) => Promise): this; /** - * Sets a child relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withChildRelationship(child: IResource): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, options?: { commandOptions?: CommandOptions }): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, commandOptions?: CommandOptions): this; /** - * Configures a resource to use a container registry + * Configures the resource to use the specified container registry for container image operations. */ withContainerRegistry(registry: IResource): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(options?: { buildImage?: string; runtimeImage?: string }): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(buildImage?: string, runtimeImage?: string): this; /** - * Prevents resource from starting automatically + * Adds a `ExplicitStartupAnnotation` annotation to the resource so it doesn't automatically start with the app host startup. */ withExplicitStart(): this; /** - * Adds a health check by key + * Adds a `HealthCheckAnnotation` to the resource annotations to associate a resource with a named health check managed by the health check service. */ withHealthCheck(key: string): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, options?: { iconVariant?: IconVariant }): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, iconVariant?: IconVariant): this; /** - * Sets the parent relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withParentRelationship(parent: IResource): this; /** - * Configures pipeline step dependencies via a callback + * Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships. */ withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) => Promise): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, options?: { dependsOn?: string[]; requiredBy?: string[]; tags?: string[]; description?: string }): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): this; /** - * Adds a relationship to another resource + * Adds a relationship to another resource using its builder. */ withRelationship(resourceBuilder: IResource, type: string): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, options?: { helpLink?: string }): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, helpLink?: string): this; @@ -14215,47 +14169,47 @@ export interface ParameterResource { withUrl(url: ReferenceExpression, displayText?: string): this; /** - * Customizes the URL for a specific endpoint via callback + * Registers a callback to update the URL displayed for the endpoint with the specified name. */ withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) => Promise): this; /** - * Customizes displayed URLs via callback + * Registers a callback to customize the URLs displayed for the resource. */ withUrls(callback: (obj: ResourceUrlsCallbackContext) => Promise): this; /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -14270,37 +14224,37 @@ export interface ParameterResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; /** - * Creates a Docker Compose environment variable placeholder from a parameter builder + * Creates a Docker Compose environment variable placeholder for the specified `ParameterResource`. */ asEnvironmentPlaceholder(dockerComposeService: DockerComposeServiceResource): string; /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; @@ -14309,62 +14263,62 @@ export interface ParameterResource { // augments handle type ProjectResource with extension methods export interface ProjectResource { /** - * Configures resource for HTTP/2 + * Configures a resource to mark all endpoints' transport as HTTP/2. This is useful for HTTP/2 services that need prior knowledge. */ asHttp2Service(): IResourceWithEndpoints; /** - * Creates an execution configuration builder + * Creates an execution configuration builder for the specified resource. */ createExecutionConfiguration(): IExecutionConfigurationBuilder; /** - * Excludes the resource from the deployment manifest + * Excludes a resource from being published to the manifest. */ excludeFromManifest(): IResource; /** - * Excludes the resource from MCP server exposure + * Exclude the resource from MCP operations using the Aspire MCP server. The resource is excluded from results that return resources, console logs and telemetry. */ excludeFromMcp(): IResource; /** - * Gets an endpoint reference + * Gets an `EndpointReference` by name from the resource. These endpoints are declared either using `WithEndpoint``1` or by launch settings (for project resources). The `EndpointReference` can be used to resolve the address of the endpoint in `WithEnvironment``1`. */ getEndpoint(name: string): EndpointReference; /** - * Gets the resource name + * Gets the name of the resource from a builder. */ getResourceName(): string; /** - * Subscribes to the BeforeResourceStarted event + * Subscribes to the BeforeResourceStarted event. */ onBeforeResourceStarted(callback: (arg: BeforeResourceStartedEvent) => Promise): this; /** - * Subscribes to the InitializeResource event + * Subscribes to the InitializeResource event. */ onInitializeResource(callback: (arg: InitializeResourceEvent) => Promise): this; /** - * Subscribes to the ResourceEndpointsAllocated event + * Subscribes to the ResourceEndpointsAllocated event. */ onResourceEndpointsAllocated(callback: (arg: ResourceEndpointsAllocatedEvent) => Promise): this; /** - * Subscribes to the ResourceReady event + * Subscribes to the ResourceReady event. */ onResourceReady(callback: (arg: ResourceReadyEvent) => Promise): this; /** - * Subscribes to the ResourceStopped event + * Subscribes to the ResourceStopped event. */ onResourceStopped(callback: (arg: ResourceStoppedEvent) => Promise): this; /** - * Configures the resource to copy container files from the specified source during publishing + * Configures the resource to copy container files from the specified source resource during publishing. */ publishWithContainerFiles(source: IResourceWithContainerFiles, destinationPath: string): this; @@ -14372,9 +14326,9 @@ export interface ProjectResource { * Waits for another resource to be ready */ - waitFor(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitFor(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; /** - * Waits for resource completion + * Waits for the dependency resource to enter the Exited or Finished state before starting the resource. */ waitForCompletion(dependency: IResource, exitCode?: number): this; @@ -14382,64 +14336,64 @@ export interface ProjectResource { * Waits for another resource to start */ - waitForStart(dependency: IResource, waitBehavior?: WaitBehavior): this; + waitForStart(dependency: IResource | IResourceWithConnectionString, waitBehavior?: WaitBehavior): this; /** - * Adds arguments + * Adds arguments to be passed to a resource that supports arguments when it is launched. */ withArgs(args: string[]): this; /** - * Sets command-line arguments via callback + * Adds a callback to be executed with a list of command-line arguments when a resource is started. */ withArgsCallback(callback: (obj: CommandLineArgsCallbackContext) => Promise): this; /** - * Sets the certificate trust scope + * Sets the `CertificateTrustScope` for custom certificate authorities associated with the resource. The scope specifies how custom certificate authorities should be applied to a resource at run time in local development scenarios. Custom certificate trust is only applied in run mode; in publish mode resources will use their default certificate trust behavior. */ withCertificateTrustScope(scope: CertificateTrustScope): this; /** - * Sets a child relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withChildRelationship(child: IResource): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, options?: { commandOptions?: CommandOptions }): this; /** - * Adds a resource command + * Adds a `ResourceCommandAnnotation` to the resource annotations to add a resource command. */ withCommand(name: string, displayName: string, executeCommand: (arg: ExecuteCommandContext) => Promise, commandOptions?: CommandOptions): this; /** - * Configures a resource to use a container registry + * Configures the resource to use the specified container registry for container image operations. */ withContainerRegistry(registry: IResource): this; /** - * Configures developer certificate trust + * 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. */ withDeveloperCertificateTrust(trust: boolean): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(options?: { buildImage?: string; runtimeImage?: string }): this; /** - * Sets the base image for a Dockerfile build + * Configures custom base images for generated Dockerfiles. */ withDockerfileBaseImage(buildImage?: string, runtimeImage?: string): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(options?: { port?: number; targetPort?: number; scheme?: string; name?: string; env?: string; isProxied?: boolean; isExternal?: boolean; protocol?: ProtocolType }): this; /** - * Adds a network endpoint + * Exposes an endpoint on a resource. A reference to this endpoint can be retrieved using `GetEndpoint``1`. The endpoint name will be the scheme name if not specified. */ withEndpoint(port?: number, targetPort?: number, scheme?: string, name?: string, env?: string, isProxied?: boolean, isExternal?: boolean, protocol?: ProtocolType): this; @@ -14459,22 +14413,22 @@ export interface ProjectResource { withEnvironment(name: string, value: string | IResourceWithConnectionString | IValueProvider): this; /** - * Sets environment variables via callback + * Allows for the population of environment variables on a resource. */ withEnvironmentCallback(callback: (arg: EnvironmentCallbackContext) => Promise): this; /** - * Prevents resource from starting automatically + * Adds a `ExplicitStartupAnnotation` annotation to the resource so it doesn't automatically start with the app host startup. */ withExplicitStart(): this; /** - * Makes HTTP endpoints externally accessible + * Marks existing http or https endpoints on a resource as external. */ withExternalHttpEndpoints(): this; /** - * Adds a health check by key + * Adds a `HealthCheckAnnotation` to the resource annotations to associate a resource with a named health check managed by the health check service. */ withHealthCheck(key: string): this; @@ -14489,12 +14443,12 @@ export interface ProjectResource { withHttpCommand(path: string, displayName: string, options?: HttpCommandExportOptions): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTP endpoint + * Exposes an HTTP endpoint on a resource, or updates the existing HTTP endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "http" if not specified. */ withHttpEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -14509,42 +14463,42 @@ export interface ProjectResource { withHttpEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(options?: { path?: string; statusCode?: number; endpointName?: string }): this; /** - * Adds an HTTP health check + * Adds a health check to the resource which is mapped to a specific endpoint. */ withHttpHealthCheck(path?: string, statusCode?: number, endpointName?: string): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, options?: { path?: string; initialDelaySeconds?: number; periodSeconds?: number; timeoutSeconds?: number; failureThreshold?: number; successThreshold?: number; endpointName?: string }): this; /** - * Adds an HTTP health probe to the resource + * ATS export stub for `WithHttpProbe``1` with renamed parameter to avoid reserved keyword conflicts in Go and Rust. */ withHttpProbe(probeType: ProbeType, path?: string, initialDelaySeconds?: number, periodSeconds?: number, timeoutSeconds?: number, failureThreshold?: number, successThreshold?: number, endpointName?: string): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(options?: { password?: string | ParameterResource }): this; /** - * Configures HTTPS with a developer certificate + * 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. */ withHttpsDeveloperCertificate(password?: string | ParameterResource): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(options?: { port?: number; targetPort?: number; name?: string; env?: string; isProxied?: boolean }): this; /** - * Adds an HTTPS endpoint + * Exposes an HTTPS endpoint on a resource, or updates the existing HTTPS endpoint if one with the same name already exists. This endpoint reference can be retrieved using `GetEndpoint``1`. The endpoint name will be "https" if not specified. */ withHttpsEndpoint(port?: number, targetPort?: number, name?: string, env?: string, isProxied?: boolean): this; @@ -14559,27 +14513,27 @@ export interface ProjectResource { withHttpsEndpointCallback(callback: (obj: EndpointUpdateContext) => Promise, name?: string, createIfNotExists?: boolean): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, options?: { iconVariant?: IconVariant }): this; /** - * Sets the icon for the resource + * Specifies the icon to use when displaying the resource in the dashboard. */ withIconName(iconName: string, iconVariant?: IconVariant): this; /** - * Sets image push options via callback + * Adds an asynchronous callback to configure container image push options for the resource. */ withImagePushOptions(callback: (arg: ContainerImagePushOptionsCallbackContext) => Promise): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(options?: { path?: string; endpointName?: string }): this; /** - * Configures an MCP server endpoint on the resource + * Marks the resource as hosting a Model Context Protocol (MCP) server on the specified endpoint. */ withMcpServer(path?: string, endpointName?: string): this; @@ -14594,27 +14548,27 @@ export interface ProjectResource { withOtlpExporter(protocol?: OtlpProtocol): this; /** - * Removes HTTPS certificate configuration + * Disable HTTPS/TLS server certificate configuration for the resource. No HTTPS/TLS termination configuration will be applied. */ withoutHttpsCertificate(): IResourceWithEnvironment; /** - * Sets the parent relationship + * Adds a `ResourceRelationshipAnnotation` to the resource annotations to add a parent-child relationship. */ withParentRelationship(parent: IResource): this; /** - * Configures pipeline step dependencies via a callback + * Registers a callback to be executed during the pipeline configuration phase, allowing modification of step dependencies and relationships. */ withPipelineConfiguration(callback: (obj: PipelineConfigurationContext) => Promise): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, options?: { dependsOn?: string[]; requiredBy?: string[]; tags?: string[]; description?: string }): this; /** - * Adds a pipeline step to the resource + * Adds a pipeline step to the resource that will be executed during deployment. */ withPipelineStepFactory(stepName: string, callback: (arg: PipelineStepContext) => Promise, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string): this; @@ -14629,32 +14583,32 @@ export interface ProjectResource { withReference(source: EndpointReference|string|uri, connectionName?: string, optional?: boolean, name?: string): this; /** - * Configures which reference values are injected into environment variables + * Configures how information is injected into environment variables when the resource references other resources. */ withReferenceEnvironment(options: ReferenceEnvironmentInjectionOptions): this; /** - * Adds a relationship to another resource + * Adds a relationship to another resource using its builder. */ withRelationship(resourceBuilder: IResource, type: string): this; /** - * Sets the remote image name for publishing + * Sets the remote image name (without registry endpoint or tag) for container push operations. */ withRemoteImageName(remoteImageName: string): this; /** - * Sets the remote image tag for publishing + * Sets the remote image tag for container push operations. */ withRemoteImageTag(remoteImageTag: string): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, options?: { helpLink?: string }): this; /** - * Adds a required command dependency + * Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start. */ withRequiredCommand(command: string, helpLink?: string): this; @@ -14669,27 +14623,27 @@ export interface ProjectResource { withUrl(url: ReferenceExpression, displayText?: string): this; /** - * Customizes the URL for a specific endpoint via callback + * Registers a callback to update the URL displayed for the endpoint with the specified name. */ withUrlForEndpoint(endpointName: string, callback: (obj: ResourceUrlAnnotation) => Promise): this; /** - * Customizes displayed URLs via callback + * Registers a callback to customize the URLs displayed for the resource. */ withUrls(callback: (obj: ResourceUrlsCallbackContext) => Promise): this; /** - * Associates an Azure user-assigned identity with a compute resource + * Attaches an existing `AzureUserAssignedIdentityResource` to a compute resource, setting it as the target identity for the builder. */ withAzureUserAssignedIdentity(identityResourceBuilder: AzureUserAssignedIdentityResource): this; /** - * Assigns App Configuration roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure App Configuration resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureAppConfigurationResource, roles: AzureAppConfigurationRole[]): this; /** - * Configures the project resource to be published as an Azure Container App + * Allows configuring the specified project resource as a container app. */ publishAsAzureContainerApp(configure: (arg1: AzureResourceInfrastructure, arg2: ContainerApp) => Promise): this; @@ -14714,47 +14668,47 @@ export interface ProjectResource { publishAsScheduledAzureContainerAppJob(cronExpression: string, configure?: (arg1: AzureResourceInfrastructure, arg2: ContainerAppJob) => Promise): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(options?: { configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise; configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise }): this; /** - * Publishes the compute resource as an Azure App Service website or deployment slot + * Publishes the specified compute resource as an Azure App Service or Azure App Service Slot. */ publishAsAzureAppServiceWebsite(configure?: (arg1: AzureResourceInfrastructure, arg2: WebSite) => Promise, configureSlot?: (arg1: AzureResourceInfrastructure, arg2: WebSiteSlot) => Promise): this; /** - * Skips Azure App Service environment variable name validation for the compute resource + * Skips validation for environment variable names that Azure App Service may not support. */ skipEnvironmentVariableNameChecks(): IComputeResource; /** - * Assigns Cognitive Services roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure OpenAI resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureOpenAIResource, roles: AzureOpenAIRole[]): this; /** - * Gets the Azure Container Registry associated with a compute environment resource. + * Gets the `AzureContainerRegistryResource` associated with the specified Azure compute environment resource. */ getAzureContainerRegistry(): AzureContainerRegistryResource; /** - * Configures a compute environment resource to use an Azure Container Registry. + * Configures a resource that implements `IContainerRegistry` to use the specified Azure Container Registry. */ withAzureContainerRegistry(registryBuilder: AzureContainerRegistryResource): this; /** - * Assigns Azure Container Registry roles to a resource. + * Adds role assignments to the specified Azure Container Registry resource. */ withRoleAssignments(target: AzureContainerRegistryResource, roles: AzureContainerRegistryRole[]): this; /** - * Assigns Event Hubs roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Event Hubs Namespace resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureEventHubsResource, roles: AzureEventHubsRole[]): this; /** - * Assigns Key Vault roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Key Vault resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureKeyVaultResource, roles: AzureKeyVaultRole[]): this; @@ -14769,69 +14723,72 @@ export interface ProjectResource { withNetworkSecurityPerimeter(nsp: AzureNetworkSecurityPerimeterResource, accessMode?: NetworkSecurityPerimeterAssociationAccessMode, associationName?: string): this; /** - * Assigns Azure AI Search roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure AI Search service resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSearchResource, roles: AzureSearchRole[]): this; /** - * Assigns Service Bus roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Service Bus namespace. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureServiceBusResource, roles: AzureServiceBusRole[]): this; /** - * Assigns Azure SignalR roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure SignalR resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureSignalRResource, roles: AzureSignalRRole[]): this; /** - * Assigns Azure Storage roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureStorageResource, roles: AzureStorageRole[]): this; /** - * Assigns Azure Web PubSub roles to a resource + * Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Web PubSub resource. This replaces the default role assignments for the resource. */ withRoleAssignments(target: AzureWebPubSubResource, roles: AzureWebPubSubRole[]): this; /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(options?: { browser?: string; profile?: string; userDataMode?: BrowserUserDataMode }): this; /** - * Adds a child browser logs resource that opens tracked browser sessions, captures browser logs, and captures screenshots. + * Adds a child resource that can open the application's primary browser endpoint in a tracked browser session, surface browser diagnostics, and capture screenshots. */ withBrowserLogs(browser?: string, profile?: string, userDataMode?: BrowserUserDataMode): this; /** - * Publishes the resource as a Docker Compose service with custom service configuration + * Publishes the specified resource as a Docker Compose service. */ publishAsDockerComposeService(configure: (arg1: DockerComposeServiceResource, arg2: Service) => Promise): this; + /** + * Adds EF Core migration management for auto-detected DbContext types. + */ addEFMigrations(name: string): EFMigrationResource; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(options?: { project?: AzureCognitiveServicesProjectResource; configure?: (obj: HostedAgentConfiguration) => Promise }): this; /** - * Publishes an executable resource as a hosted agent in Microsoft Foundry. + * Publish the containerized agent as a hosted agent in Microsoft Foundry. If a project resource is not provided, the method will attempt to find an existing Microsoft Foundry project resource in the application model. If none exists, a new project resource (and its parent account resource) will be created automatically. */ publishAsHostedAgent(project?: AzureCognitiveServicesProjectResource, configure?: (obj: HostedAgentConfiguration) => Promise): this; /** - * Publishes the resource as a Kubernetes service + * Publishes the specified resource as a Kubernetes service. */ publishAsKubernetesService(configure: (obj: KubernetesResource) => Promise): this; /** - * Schedules a workload on a specific Kubernetes node pool + * Schedules a compute resource's workload on the specified Kubernetes node pool. This translates to a Kubernetes `nodeSelector` in the pod specification targeting the named node pool. */ withNodePool(nodePool: KubernetesNodePoolResource): this; /** - * Adds an Orleans client reference to a resource + * Adds an Orleans client to the resource. */ withReference(orleansServiceClient: OrleansServiceClient): this; @@ -14840,42 +14797,42 @@ export interface ProjectResource { // augments handle type UvicornAppResource with extension methods export interface UvicornAppResource { /** - * Enables debugging support for a Python application + * Enables debugging support for the Python application. */ withDebugging(): this; /** - * Configures the entrypoint for a Python application + * Configures the entrypoint for the Python application. */ withEntrypoint(entrypointType: EntrypointType, entrypoint: string): this; /** - * Configures pip package installation for a Python application + * Configures the Python resource to use pip as the package manager and optionally installs packages before the application starts. */ withPip(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures pip package installation for a Python application + * Configures the Python resource to use pip as the package manager and optionally installs packages before the application starts. */ withPip(install?: boolean, installArgs?: string[]): this; /** - * Configures uv package management for a Python application + * Adds a UV environment setup task to ensure the virtual environment exists before running the Python application. */ withUv(options?: { install?: boolean; args?: string[] }): this; /** - * Configures uv package management for a Python application + * Adds a UV environment setup task to ensure the virtual environment exists before running the Python application. */ withUv(install?: boolean, args?: string[]): this; /** - * Configures the virtual environment for a Python application + * Configures a custom virtual environment path for the Python application. */ withVirtualEnvironment(virtualEnvironmentPath: string, options?: { createIfNotExists?: boolean }): this; /** - * Configures the virtual environment for a Python application + * Configures a custom virtual environment path for the Python application. */ withVirtualEnvironment(virtualEnvironmentPath: string, createIfNotExists?: boolean): this; @@ -14884,102 +14841,102 @@ export interface UvicornAppResource { // augments handle type ViteAppResource with extension methods export interface ViteAppResource { /** - * Publishes the JavaScript application as a standalone Node.js server that runs a built artifact directly. + * Configures the JavaScript application to publish as a standalone Node.js server that runs a built artifact directly. */ publishAsNodeServer(entryPoint: string, options?: { outputPath?: string }): this; /** - * Publishes the JavaScript application as a standalone Node.js server that runs a built artifact directly. + * Configures the JavaScript application to publish as a standalone Node.js server that runs a built artifact directly. */ publishAsNodeServer(entryPoint: string, outputPath?: string): this; /** - * Publishes the JavaScript application as a Node.js server that uses a package manager script at runtime. + * Configures the JavaScript application to publish as a Node.js server that uses a package manager script at runtime. */ publishAsNpmScript(options?: { startScriptName?: string; runScriptArguments?: string }): this; /** - * Publishes the JavaScript application as a Node.js server that uses a package manager script at runtime. + * Configures the JavaScript application to publish as a Node.js server that uses a package manager script at runtime. */ publishAsNpmScript(startScriptName?: string, runScriptArguments?: string): this; /** - * Publishes the JavaScript application as a standalone static website using YARP. + * Polyglot-compatible overload. All parameters are optional so the TS codegen wraps them in a single options object rather than positional args. */ publishAsStaticWebsite(options?: { apiPath?: string; apiTarget?: IResourceWithServiceDiscovery; outputPath?: string; stripPrefix?: boolean; targetEndpointName?: string }): this; /** - * Publishes the JavaScript application as a standalone static website using YARP. + * Polyglot-compatible overload. All parameters are optional so the TS codegen wraps them in a single options object rather than positional args. */ publishAsStaticWebsite(apiPath?: string, apiTarget?: IResourceWithServiceDiscovery, outputPath?: string, stripPrefix?: boolean, targetEndpointName?: string): this; /** - * Configures a browser debugger for the JavaScript application + * Configures a browser debugger for the JavaScript application resource, enabling browser-based debugging through a child resource that launches when the parent application is ready. */ withBrowserDebugger(options?: { browser?: string }): this; /** - * Configures a browser debugger for the JavaScript application + * Configures a browser debugger for the JavaScript application resource, enabling browser-based debugging through a child resource that launches when the parent application is ready. */ withBrowserDebugger(browser?: string): this; /** - * Specifies an npm script to run before starting the application + * Adds a build script annotation to the resource builder using the specified command-line arguments. */ withBuildScript(scriptName: string, options?: { args?: string[] }): this; /** - * Specifies an npm script to run before starting the application + * Adds a build script annotation to the resource builder using the specified command-line arguments. */ withBuildScript(scriptName: string, args?: string[]): this; /** - * Configures Bun as the package manager + * Configures the JavaScript resource to use Bun as the package manager and optionally installs packages before the application starts. */ withBun(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures Bun as the package manager + * Configures the JavaScript resource to use Bun as the package manager and optionally installs packages before the application starts. */ withBun(install?: boolean, installArgs?: string[]): this; /** - * Configures npm as the package manager + * Configures the Node.js resource to use npm as the package manager and optionally installs packages before the application starts. */ withNpm(options?: { install?: boolean; installCommand?: string; installArgs?: string[] }): this; /** - * Configures npm as the package manager + * Configures the Node.js resource to use npm as the package manager and optionally installs packages before the application starts. */ withNpm(install?: boolean, installCommand?: string, installArgs?: string[]): this; /** - * Configures pnpm as the package manager + * Configures the Node.js resource to use pnpm as the package manager and optionally installs packages before the application starts. */ withPnpm(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures pnpm as the package manager + * Configures the Node.js resource to use pnpm as the package manager and optionally installs packages before the application starts. */ withPnpm(install?: boolean, installArgs?: string[]): this; /** - * Specifies an npm script to run during development + * Adds a run script annotation to the specified JavaScript application resource builder, specifying the script to execute and its arguments during run mode. */ withRunScript(scriptName: string, options?: { args?: string[] }): this; /** - * Specifies an npm script to run during development + * Adds a run script annotation to the specified JavaScript application resource builder, specifying the script to execute and its arguments during run mode. */ withRunScript(scriptName: string, args?: string[]): this; /** - * Configures yarn as the package manager + * Configures the Node.js resource to use yarn as the package manager and optionally installs packages before the application starts. */ withYarn(options?: { install?: boolean; installArgs?: string[] }): this; /** - * Configures yarn as the package manager + * Configures the Node.js resource to use yarn as the package manager and optionally installs packages before the application starts. */ withYarn(install?: boolean, installArgs?: string[]): this; @@ -14992,6 +14949,62 @@ export interface ViteAppResource { export declare function createBuilder(): IDistributedApplicationBuilder; +/** + * Creates a reference expression from a tagged template literal + */ +export declare function refExpr(strings: TemplateStringsArray, ...values: unknown[]): ReferenceExpression; + +// ---- confirmed post-snapshot API augmentations ---- +export interface IDistributedApplicationBuilder { + /** + * Subscribes to the BeforePublish event + */ + subscribeBeforePublish(callback: (arg: BeforePublishEvent) => Promise): DistributedApplicationEventSubscription; + /** + * Subscribes to the AfterPublish event + */ + subscribeAfterPublish(callback: (arg: AfterPublishEvent) => Promise): DistributedApplicationEventSubscription; +} + +export interface EventingSubscriberRegistrationContext { + /** + * Subscribes an eventing subscriber to the BeforePublish event + */ + onBeforePublish(callback: (arg: BeforePublishEvent) => Promise): DistributedApplicationEventSubscription; + /** + * Subscribes an eventing subscriber to the AfterPublish event + */ + onAfterPublish(callback: (arg: AfterPublishEvent) => Promise): DistributedApplicationEventSubscription; +} + +export interface IResource { + /** + * Assigns Microsoft Foundry roles for this resource + */ + withFoundryRoleAssignments(target: FoundryResource, roles: FoundryRole[]): this; +} + +export interface ParameterResource { + /** + * Customizes the parameter input shown by the dashboard + */ + withCustomInput(options: ParameterCustomInputOptions): this; +} + +export interface ComposeFile { + /** + * Adds a top-level Docker Compose volume + */ + addVolume(name: string, options?: { driver?: string; configure?: (volume: Volume) => Promise }): Promise; +} + +export interface Service { + /** + * Adds a Docker Compose volume mount to a service + */ + addVolume(source: string, target: string, options?: { isReadOnly?: boolean }): Promise; +} + // ---- stubs for referenced SDK types not otherwise described ---- export interface ContainerAppJob {} export interface CookieSecurePolicy {} @@ -15036,6 +15049,7 @@ export interface WebSiteSlot {} export interface arg {} export interface arg1 {} export interface arg2 {} +export interface callback {} export interface cancellationToken {} export interface obj {} export interface timespan {} diff --git a/src/frontend/src/route-data-middleware.ts b/src/frontend/src/route-data-middleware.ts index 6866b255d..08dbba8c5 100644 --- a/src/frontend/src/route-data-middleware.ts +++ b/src/frontend/src/route-data-middleware.ts @@ -1,5 +1,6 @@ import { defineRouteMiddleware } from '@astrojs/starlight/route-data'; import { stripApiReferenceLocale } from './utils/api-reference-routes'; +import { getOgMetadata } from './utils/page-metadata'; /** * Custom route middleware that applies implicit pagination rules: @@ -32,6 +33,14 @@ export const onRequest = defineRouteMiddleware((context) => { // English path so the sidebar never emits a link that 404s. canonicalizeApiReferenceLinks(sidebar); + // --- Step 0.5: Optimize Open Graph metadata in the emitted head --- + // Starlight populates `head` with `og:title` from `data.title` and + // `og:description` from `data.description`. We compose an SEO-optimal + // title (via `seoTitle` or the `· Aspire` suffix) and trim the + // description to the 200-char Open Graph limit so social previews never + // see the raw, sometimes-too-long frontmatter strings. + optimizeOpenGraphHead(routeData, context.url, context.site); + // --- Step 1: Group boundary rules --- const location = findCurrentPage(sidebar); if (location) { @@ -88,6 +97,62 @@ export const onRequest = defineRouteMiddleware((context) => { // Helpers // --------------------------------------------------------------------------- +interface MetaHeadEntry { + tag: string; + attrs?: Record; + content?: string; +} + +/** + * Replace the `og:title` / `og:description` meta entries Starlight emits by + * default with our SEO-optimized values from `getOgMetadata`. The function + * mutates `routeData.head` in place so downstream components (the + * Starlight `` default and our wrapper) emit a single, consistent set + * of Open Graph tags. + * + * Idempotent: callers can invoke it more than once per request without + * accumulating duplicate entries. + */ +function optimizeOpenGraphHead( + routeData: Parameters[0]>[0]['locals']['starlightRoute'], + url: URL, + site: URL | string | undefined +): void { + const head = routeData.head as MetaHeadEntry[]; + if (!Array.isArray(head)) return; + + const og = getOgMetadata(routeData, url, site); + + upsertMetaEntry(head, 'property', 'og:title', og.ogTitle); + upsertMetaEntry(head, 'property', 'og:description', og.description); +} + +/** + * Replace (or insert) a `` entry in the Starlight head array. Matches + * on the `property`/`name` attribute so `og:*` and `name="…"` tags can both + * be addressed. + */ +function upsertMetaEntry( + head: MetaHeadEntry[], + attribute: 'property' | 'name', + attributeValue: string, + content: string +): void { + const existing = head.find( + (entry) => entry.tag === 'meta' && entry.attrs?.[attribute] === attributeValue + ); + + if (existing) { + existing.attrs = { ...existing.attrs, content }; + return; + } + + head.push({ + tag: 'meta', + attrs: { [attribute]: attributeValue, content }, + }); +} + interface SidebarEntry { type: string; label: string; diff --git a/src/frontend/src/utils/og-image-renderer.ts b/src/frontend/src/utils/og-image-renderer.ts index 0e57fc333..7e7620493 100644 --- a/src/frontend/src/utils/og-image-renderer.ts +++ b/src/frontend/src/utils/og-image-renderer.ts @@ -16,6 +16,11 @@ import type { TopicMetadata } from './topic-resolver.ts'; * via the supplied Outfit fonts) and the SVG is then rasterized to PNG with * `sharp`, which is already a project dependency. * + * Every dynamic card also renders a `Read on aspire.dev →` call-to-action + * chip in the lower-right corner so previews give readers an explicit + * reason to click. The chip uses the same brand purple as the topic pill + * to keep the social cards visually consistent across the site. + * * Buffers (fonts + background image) are loaded once and cached because * every static path renders through the same module instance. * @@ -31,9 +36,13 @@ const BG_IMAGE_PATH = path.join('public', 'og-image.png'); const CARD_BG = 'rgba(15, 14, 30, 0.82)'; const DESCRIPTION_BG = 'rgba(15, 14, 30, 0.68)'; const TOPIC_PILL_BG = 'rgba(116, 85, 221, 0.96)'; +const CTA_CHIP_BG = 'rgba(116, 85, 221, 0.96)'; const TITLE_COLOR = '#ffffff'; const DESCRIPTION_COLOR = 'rgb(220, 213, 246)'; const TOPIC_TEXT_COLOR = '#ffffff'; +const CTA_TEXT_COLOR = '#ffffff'; + +const CTA_LABEL = 'Read on aspire.dev →'; let regularFontPromise: Promise | undefined; let boldFontPromise: Promise | undefined; @@ -229,6 +238,7 @@ function buildTree({ title, description, topic, backgroundDataUri }: TreeInput) ].filter(Boolean), }, }, + ctaChip(), ], }, }; @@ -266,6 +276,36 @@ function topicPill(topic: TopicMetadata) { }; } +/** + * Render a small "Read on aspire.dev →" call-to-action chip in the + * upper-right corner of the card. SEO audit tools flag dynamic OG images + * with no visible CTA, so every dynamic card gets one — the chip uses the + * same brand purple as the topic pill to stay visually consistent. + */ +function ctaChip() { + return { + type: 'div', + props: { + style: { + position: 'absolute', + top: 48, + right: 56, + display: 'flex', + alignItems: 'center', + backgroundColor: CTA_CHIP_BG, + color: CTA_TEXT_COLOR, + borderRadius: 999, + padding: '10px 24px', + fontSize: 24, + fontWeight: 600, + letterSpacing: 0.2, + boxShadow: '0 8px 24px rgba(0, 0, 0, 0.32)', + }, + children: CTA_LABEL, + }, + }; +} + function titleBubble(title: string) { return { type: 'div', diff --git a/src/frontend/src/utils/page-metadata.ts b/src/frontend/src/utils/page-metadata.ts index 9a0e02aa6..0cd0e6417 100644 --- a/src/frontend/src/utils/page-metadata.ts +++ b/src/frontend/src/utils/page-metadata.ts @@ -77,6 +77,7 @@ type RouteEntryData = { topic?: string; ogImage?: string; og?: boolean; + seoTitle?: string; template?: string; }; @@ -202,22 +203,33 @@ export function resolveOgDescription(route: MinimalRoute): string { } /** - * Resolve the page title shown in social cards. The home page keeps its - * brand tagline title; every other page is suffixed with `· Aspire` so the - * site identity is always visible in previews. + * Resolve the page title shown in social cards. + * + * - When `seoTitle` is set in frontmatter it is used **verbatim** (no + * `· Aspire` suffix). Authors write the complete SEO string and tune it + * into the 50–60 character optimal range themselves. + * - Otherwise the visible `title` is used and suffixed with `· Aspire` so + * the brand is always visible in social previews. The home page and + * topic-landing splash pages keep the unsuffixed title. */ export function resolveOgTitle(route: MinimalRoute, contentBasePath: string): string { - const title = ((route.entry.data as RouteEntryData).title || SITE_NAME).trim(); + const data = route.entry.data as RouteEntryData; + const seoTitle = data.seoTitle?.trim(); + const fallbackTitle = (data.title || SITE_NAME).trim(); + + if (isHomePagePath(contentBasePath) || data.template === 'splash') { + return seoTitle || fallbackTitle; + } - if (isHomePagePath(contentBasePath) || (route.entry.data as RouteEntryData).template === 'splash') { - return title; + if (seoTitle) { + return seoTitle; } - if (title === SITE_NAME) { - return title; + if (fallbackTitle === SITE_NAME) { + return fallbackTitle; } - return `${title} · ${SITE_NAME}`; + return `${fallbackTitle} · ${SITE_NAME}`; } /** diff --git a/src/frontend/tests/e2e/og-metadata.spec.ts b/src/frontend/tests/e2e/og-metadata.spec.ts index fe479ba70..be409da60 100644 --- a/src/frontend/tests/e2e/og-metadata.spec.ts +++ b/src/frontend/tests/e2e/og-metadata.spec.ts @@ -13,6 +13,12 @@ interface PageExpectation { url: string; /** Title we expect Starlight to emit in ``. */ ogTitle: string; + /** + * Title we expect in ``. Pages that set + * `seoTitle` reuse that verbatim (no `· Aspire` suffix); pages that + * rely on the resolver fallback get `${title} · Aspire`. + */ + twitterTitle: string; /** Description we expect Starlight to emit in ``. */ ogDescription: string; /** Path of the per-page OG image (excluding origin). */ @@ -22,8 +28,10 @@ interface PageExpectation { const PAGES: PageExpectation[] = [ { url: '/dashboard/enable-browser-telemetry/', - ogTitle: 'Enable browser telemetry', - ogDescription: 'Learn how to enable browser telemetry in the Aspire dashboard.', + ogTitle: 'Enable browser telemetry in the Aspire dashboard today', + twitterTitle: 'Enable browser telemetry in the Aspire dashboard today', + ogDescription: + 'Enable browser telemetry in the Aspire dashboard to capture client-side OpenTelemetry logs, traces, and metrics from front-end JavaScript apps.', ogImagePath: '/og/dashboard/enable-browser-telemetry.png', }, ]; @@ -76,7 +84,7 @@ for (const page of PAGES) { ); expect(html).toMatch(metaTagPattern('property', 'og:image:width', '1200')); expect(html).toMatch(metaTagPattern('property', 'og:image:height', '630')); - expect(html).toMatch(metaTagPattern('name', 'twitter:title', `${page.ogTitle} · Aspire`)); + expect(html).toMatch(metaTagPattern('name', 'twitter:title', page.twitterTitle)); expect(html).toMatch( new RegExp( `]*name="twitter:image"[^>]*content="[^"]*${escape(page.ogImagePath)}"`, diff --git a/src/frontend/tests/unit/page-metadata.vitest.test.ts b/src/frontend/tests/unit/page-metadata.vitest.test.ts index 0071b6396..a9c698984 100644 --- a/src/frontend/tests/unit/page-metadata.vitest.test.ts +++ b/src/frontend/tests/unit/page-metadata.vitest.test.ts @@ -29,6 +29,7 @@ interface RouteOverrides { template?: string; ogImage?: string; og?: boolean; + seoTitle?: string; } function createRoute(overrides: RouteOverrides = {}): Route { @@ -42,6 +43,7 @@ function createRoute(overrides: RouteOverrides = {}): Route { template, ogImage, og, + seoTitle, } = overrides; const description = @@ -62,6 +64,7 @@ function createRoute(overrides: RouteOverrides = {}): Route { template, ogImage, og, + seoTitle, }, }, entryMeta: { lang, dir: 'ltr', locale }, @@ -166,6 +169,35 @@ describe('resolveOgTitle', () => { const route = createRoute({ title: 'Aspire' }); expect(resolveOgTitle(route, 'whatever')).toBe('Aspire'); }); + + it('uses seoTitle verbatim when set, without the · Aspire suffix', () => { + const route = createRoute({ + title: 'Browser telemetry', + seoTitle: 'Enable browser telemetry in the Aspire dashboard', + }); + expect(resolveOgTitle(route, 'dashboard/enable-browser-telemetry')).toBe( + 'Enable browser telemetry in the Aspire dashboard' + ); + }); + + it('uses seoTitle verbatim on splash pages too', () => { + const route = createRoute({ + entryId: 'community/index.mdx', + title: 'Aspire Community', + template: 'splash', + seoTitle: 'Join the Aspire open-source community', + }); + expect(resolveOgTitle(route, 'community/index')).toBe('Join the Aspire open-source community'); + }); + + it('trims whitespace from seoTitle before emitting', () => { + const route = createRoute({ + seoTitle: ' Aspire dashboard browser telemetry guide ', + }); + expect(resolveOgTitle(route, 'dashboard/enable-browser-telemetry')).toBe( + 'Aspire dashboard browser telemetry guide' + ); + }); }); describe('resolveOgDescription', () => { @@ -414,4 +446,20 @@ describe('getOgMetadata', () => { expect(meta.ogTitle).toBe('Aspire'); expect(meta.image).toBe('https://aspire.dev/og-image.png'); }); + + it('uses seoTitle for both og:title and twitter:title when set', () => { + const route = createRoute({ + title: 'Browser telemetry', + seoTitle: 'Enable browser telemetry in the Aspire dashboard', + }); + const meta = getOgMetadata( + route, + new URL('https://aspire.dev/dashboard/enable-browser-telemetry/'), + site + ); + + expect(meta.title).toBe('Browser telemetry'); + expect(meta.ogTitle).toBe('Enable browser telemetry in the Aspire dashboard'); + expect(meta.imageAlt).toBe('Browser telemetry'); + }); }); diff --git a/src/frontend/tests/unit/seo-lengths.vitest.test.ts b/src/frontend/tests/unit/seo-lengths.vitest.test.ts new file mode 100644 index 000000000..f4d0cdde6 --- /dev/null +++ b/src/frontend/tests/unit/seo-lengths.vitest.test.ts @@ -0,0 +1,314 @@ +import { readdirSync, readFileSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { describe, expect, test } from 'vitest'; + +import { + getOgMetadata, + isHomePagePath, +} from '../../src/utils/page-metadata.ts'; + +/** + * SEO Open Graph length guard. + * + * Walks every English documentation page and runs it through + * `getOgMetadata`. Fails the build when the composed `og:title` or + * `og:description` strays outside the working SEO ranges: + * + * - `og:title` — 30-65 characters (target: 50-60). + * - `og:description` — 80-200 characters (target: 110-160). + * + * The optimal *target* ranges (50-60 / 110-160) are what social-card + * scanners like LinkedIn, Twitter, and the Yoast tooling treat as + * "great". The wider *guard* ranges (30-65 / 80-200) let new docs land + * with a tighter draft and tighten over time without breaking CI on the + * first commit. The site-wide truncation cap is already 200. + * + * Translated locale pages, partial CLI includes, the home page, splash + * templates, and the 404 page are intentionally exempt — see + * `OPT_OUT_PATTERNS` below. + */ + +const testsDir = path.dirname(fileURLToPath(import.meta.url)); +const frontendRoot = path.resolve(testsDir, '..', '..'); +const docsRoot = path.join(frontendRoot, 'src', 'content', 'docs'); + +const NON_DEFAULT_LOCALE_PREFIXES = [ + 'da', + 'de', + 'es', + 'fr', + 'hi', + 'id', + 'it', + 'ja', + 'ko', + 'pt-br', + 'ru', + 'tr', + 'uk', + 'zh-cn', +] as const; + +const localePrefixPattern = new RegExp( + `^(?:${NON_DEFAULT_LOCALE_PREFIXES.join('|')})(?:/|$)`, + 'i' +); + +/** + * Paths (relative to `src/content/docs/`) that are exempt from the SEO + * guard. Add a comment explaining why every time you extend this list. + */ +const OPT_OUT_PATTERNS: RegExp[] = [ + // Partial CLI snippets transcluded via . + // They are also exposed as routes today; tracked as a separate cleanup + // (move them to a dedicated collection or `_`-prefix them so they are + // not routed). Until then they're allowlisted here. + /^reference\/cli\/includes\//i, + // Auto-generated API reference pages built from package JSON schemas. + // Descriptions come from the upstream package metadata, not authored + // markdown frontmatter, so the guard cannot meaningfully police them. + /^reference\/api\//i, + // The 404 page has an intentionally bare title. + /^404\.mdx?$/i, +]; + +const OG_TITLE_MIN = 30; +const OG_TITLE_MAX = 65; +const OG_DESCRIPTION_MIN = 80; +const OG_DESCRIPTION_MAX = 200; + +const TARGET_TITLE_MIN = 50; +const TARGET_TITLE_MAX = 60; +const TARGET_DESCRIPTION_MIN = 110; +const TARGET_DESCRIPTION_MAX = 160; + +const FRONTMATTER_PATTERN = /^\uFEFF?\s*---\r?\n([\s\S]*?)\r?\n---/; + +interface PageFrontmatter { + title?: string; + description?: string; + seoTitle?: string; + template?: string; + category?: string; + ogImage?: string; + og?: boolean; +} + +interface InspectedPage { + contentPath: string; + ogTitle: string; + ogDescription: string; +} + +function collectMarkdownFiles(dirPath: string): string[] { + const entries = readdirSync(dirPath, { withFileTypes: true }); + return entries.flatMap((entry) => { + const resolvedPath = path.join(dirPath, entry.name); + if (entry.isDirectory()) { + return collectMarkdownFiles(resolvedPath); + } + return /\.(md|mdx)$/i.test(entry.name) ? [resolvedPath] : []; + }); +} + +function parseFrontmatter(source: string): PageFrontmatter { + const match = source.match(FRONTMATTER_PATTERN); + if (!match) return {}; + const block = match[1] ?? ''; + const data: PageFrontmatter = {}; + let key: keyof PageFrontmatter | undefined; + let buffer: string[] = []; + + const flush = () => { + if (!key || buffer.length === 0) return; + const raw = buffer.join('\n').trim(); + const value = cleanScalar(raw); + if (value === undefined) return; + if (key === 'og') { + (data as Record)[key] = value === 'true'; + } else { + (data as Record)[key] = value; + } + }; + + for (const line of block.split(/\r?\n/)) { + const topLevel = /^(?[A-Za-z][A-Za-z0-9_-]*)\s*:\s*(?.*)$/.exec(line); + if (topLevel && !/^[\t ]/.test(line)) { + flush(); + const candidate = topLevel.groups?.key as keyof PageFrontmatter | undefined; + if ( + candidate === 'title' || + candidate === 'description' || + candidate === 'seoTitle' || + candidate === 'template' || + candidate === 'category' || + candidate === 'ogImage' || + candidate === 'og' + ) { + key = candidate; + buffer = [topLevel.groups?.val ?? '']; + } else { + key = undefined; + buffer = []; + } + } else if (key) { + buffer.push(line); + } + } + flush(); + return data; +} + +function cleanScalar(value: string): string | undefined { + const s = value.trim(); + if (s.length === 0) return ''; + if ((s.startsWith('"') && s.endsWith('"')) || (s.startsWith("'") && s.endsWith("'"))) { + return s.slice(1, -1); + } + if (s.startsWith('>') || s.startsWith('|')) { + const lines = s.split(/\r?\n/).slice(1); + const indented = lines.filter((line) => line.trim().length > 0); + const minIndent = indented.length + ? Math.min(...indented.map((line) => line.length - line.trimStart().length)) + : 0; + const stripped = lines.map((line) => + line.length >= minIndent ? line.slice(minIndent) : line.trim() + ); + if (s.startsWith('|')) return stripped.join('\n').trim(); + return stripped + .reduce((acc, line) => { + if (line.trim() === '') acc.push([]); + else (acc[acc.length - 1] ?? acc[acc.push([]) - 1]).push(line.trim()); + return acc; + }, [[]]) + .map((paragraph) => paragraph.join(' ')) + .filter(Boolean) + .join('\n\n') + .trim(); + } + return s + .split(/\r?\n/) + .map((line) => line.trim()) + .filter(Boolean) + .join(' '); +} + +function relativeContentPath(absoluteFile: string): string { + return path + .relative(docsRoot, absoluteFile) + .replaceAll(path.sep, '/') + .replace(/^\.\//, ''); +} + +function isEnglishPage(contentPath: string): boolean { + return !localePrefixPattern.test(contentPath); +} + +function isOptedOut(contentPath: string): boolean { + return OPT_OUT_PATTERNS.some((pattern) => pattern.test(contentPath)); +} + +function inspectPage(absoluteFile: string): InspectedPage | undefined { + const contentPath = relativeContentPath(absoluteFile); + if (!isEnglishPage(contentPath)) return undefined; + if (isOptedOut(contentPath)) return undefined; + + const source = readFileSync(absoluteFile, 'utf8'); + const fm = parseFrontmatter(source); + if (!fm.title) return undefined; + + const entryId = contentPath; + const contentBasePath = contentPath.replace(/\.mdx?$/i, ''); + if (isHomePagePath(contentBasePath)) return undefined; + if (fm.template === 'splash') return undefined; + + const route = { + entry: { + id: entryId, + slug: contentBasePath, + filePath: `src/content/docs/${entryId}`, + body: '', + data: { + title: fm.title, + description: fm.description, + seoTitle: fm.seoTitle, + template: fm.template, + category: fm.category, + ogImage: fm.ogImage, + og: fm.og, + }, + }, + entryMeta: { lang: 'en', dir: 'ltr', locale: undefined }, + head: [], + lang: 'en', + locale: undefined, + } as unknown as Parameters[0]; + + const meta = getOgMetadata(route, new URL(`https://aspire.dev/${contentBasePath}/`), 'https://aspire.dev'); + + return { + contentPath, + ogTitle: meta.ogTitle, + ogDescription: meta.description, + }; +} + +const allFiles = collectMarkdownFiles(docsRoot); +const pages = allFiles + .map(inspectPage) + .filter((page): page is InspectedPage => Boolean(page)) + .sort((a, b) => a.contentPath.localeCompare(b.contentPath)); + +describe('SEO Open Graph length guard', () => { + test('every English documentation page has an og:title between 30 and 65 characters', () => { + const violations = pages + .filter((page) => page.ogTitle.length < OG_TITLE_MIN || page.ogTitle.length > OG_TITLE_MAX) + .map( + (page) => + `${page.contentPath} (${page.ogTitle.length} chars): "${page.ogTitle}"` + ); + + expect( + violations, + [ + 'The following pages have an og:title outside the guard range of', + `${OG_TITLE_MIN}-${OG_TITLE_MAX} characters (target: ${TARGET_TITLE_MIN}-${TARGET_TITLE_MAX}).`, + 'Tighten the visible `title` (preferred) or add an optional `seoTitle`', + 'frontmatter override that lands in the 50-60 character optimal range.', + '', + ].join('\n') + ).toEqual([]); + }); + + test('every English documentation page has an og:description between 80 and 200 characters', () => { + const violations = pages + .filter( + (page) => + page.ogDescription.length < OG_DESCRIPTION_MIN || + page.ogDescription.length > OG_DESCRIPTION_MAX + ) + .map( + (page) => + `${page.contentPath} (${page.ogDescription.length} chars): "${page.ogDescription}"` + ); + + expect( + violations, + [ + 'The following pages have an og:description outside the guard range of', + `${OG_DESCRIPTION_MIN}-${OG_DESCRIPTION_MAX} characters (target: ${TARGET_DESCRIPTION_MIN}-${TARGET_DESCRIPTION_MAX}).`, + 'Edit the frontmatter `description` so it surfaces keywords from the', + 'article body and lands in the 110-160 character optimal range.', + '', + ].join('\n') + ).toEqual([]); + }); + + test('inventory smoke check', () => { + // Lightweight sanity check that the test discovered pages — guards + // against an accidental empty array silently passing the assertions + // above if the docs root ever moves. + expect(pages.length).toBeGreaterThan(100); + }); +}); diff --git a/src/frontend/tests/unit/twoslash-blocks-audit.ts b/src/frontend/tests/unit/twoslash-blocks-audit.ts index 9c1ddf30c..f5e7e2b6f 100644 --- a/src/frontend/tests/unit/twoslash-blocks-audit.ts +++ b/src/frontend/tests/unit/twoslash-blocks-audit.ts @@ -131,75 +131,33 @@ export const KNOWN_TYPE_BUGS: ReadonlyArray = [ page: 'app-host/container-registry.mdx', blockIndex: 7, code: 2345, - messageContains: "'AzureContainerRegistryResource' is not assignable to parameter of type 'IResource'", + messageContains: + "'AzureContainerRegistryResource' is not assignable to parameter of type 'IResource'", label: 'IResource identity (withReference + ACR)', }, { page: 'integrations/cloud/azure/azure-ai-foundry/azure-ai-foundry-host.mdx', blockIndex: 5, code: 2345, - messageContains: "'AzureContainerRegistryResource' is not assignable to parameter of type 'IResource'", + messageContains: + "'AzureContainerRegistryResource' is not assignable to parameter of type 'IResource'", label: 'IResource identity (withContainerRegistry + ACR)', }, - { - page: 'integrations/cloud/azure/azure-openai/azure-openai-host.mdx', - blockIndex: 1, - code: 2345, - messageContains: "'AzureOpenAIDeploymentResource' is not assignable to parameter of type 'IResource'", - label: 'IResource identity (withReference + AOAI deployment)', - }, - { - page: 'integrations/cloud/azure/azure-openai/azure-openai-host.mdx', - blockIndex: 2, - code: 2345, - messageContains: "'AzureOpenAIDeploymentResource' is not assignable to parameter of type 'IResource'", - expectedOccurrences: 2, - label: 'IResource identity (withReference + AOAI deployment)', - }, - { - page: 'integrations/cloud/azure/azure-openai/azure-openai-host.mdx', - blockIndex: 3, - code: 2345, - messageContains: "'AzureOpenAIDeploymentResource' is not assignable to parameter of type 'IResource'", - label: 'IResource identity (withReference + AOAI deployment)', - }, - { - page: 'integrations/cloud/azure/azure-openai/azure-openai-host.mdx', - blockIndex: 5, - code: 2345, - messageContains: "'AzureOpenAIDeploymentResource' is not assignable to parameter of type 'IResource'", - label: 'IResource identity (withReference + AOAI deployment)', - }, - { - page: 'whats-new/aspire-13-2.mdx', - blockIndex: 6, - code: 2345, - messageContains: "is not assignable to parameter of type 'IResource'", - expectedOccurrences: 2, - label: 'IResource identity (waitFor + ADLS)', - }, - { - page: 'ja/whats-new/aspire-13-2.mdx', - blockIndex: 6, - code: 2345, - messageContains: "is not assignable to parameter of type 'IResource'", - expectedOccurrences: 2, - label: 'IResource identity (waitFor + ADLS)', - }, - // 2. AzureResourceInfrastructure.getProvisionableResources() missing { page: 'integrations/cloud/azure/azure-openai/azure-openai-host.mdx', blockIndex: 6, code: 2339, - messageContains: "Property 'getProvisionableResources' does not exist on type 'AzureResourceInfrastructure'", + messageContains: + "Property 'getProvisionableResources' does not exist on type 'AzureResourceInfrastructure'", label: 'getProvisionableResources missing', }, { page: 'integrations/cloud/azure/customize-resources.mdx', blockIndex: 4, code: 2339, - messageContains: "Property 'getProvisionableResources' does not exist on type 'AzureResourceInfrastructure'", + messageContains: + "Property 'getProvisionableResources' does not exist on type 'AzureResourceInfrastructure'", label: 'getProvisionableResources missing', }, @@ -208,7 +166,8 @@ export const KNOWN_TYPE_BUGS: ReadonlyArray = [ page: 'deployment/javascript-apps.mdx', blockIndex: 2, code: 2345, - messageContains: "'EndpointReference' is not assignable to parameter of type 'string | ExternalServiceResource'", + messageContains: + "'EndpointReference' is not assignable to parameter of type 'string | ExternalServiceResource'", label: 'addRoute(path, EndpointReference) overload missing', }, @@ -217,7 +176,8 @@ export const KNOWN_TYPE_BUGS: ReadonlyArray = [ page: 'integrations/cloud/azure/ai-compatibility-matrix.mdx', blockIndex: 4, code: 2769, - messageContains: "'\"openai/gpt-4o-mini\"' is not assignable to parameter of type 'GitHubModelName'", + messageContains: + "'\"openai/gpt-4o-mini\"' is not assignable to parameter of type 'GitHubModelName'", label: 'GitHubModelName literal union outdated', }, ]; @@ -286,11 +246,11 @@ export function filterUnexpectedDiagnostics(report: AuditReport): BlockResult[] continue; } - const budget = new Map(); const applicableKnownBugs = getApplicableKnownBugs( r.location.page, r.location.blockIndex ); + const budget = new Map(); for (const kb of applicableKnownBugs) { budget.set(kb, kb.expectedOccurrences ?? 1); } @@ -299,11 +259,7 @@ export function filterUnexpectedDiagnostics(report: AuditReport): BlockResult[] for (const d of r.diagnostics) { let consumed = false; for (const [kb, remaining] of budget) { - if ( - remaining > 0 && - kb.code === d.code && - d.message.includes(kb.messageContains) - ) { + if (remaining > 0 && kb.code === d.code && d.message.includes(kb.messageContains)) { budget.set(kb, remaining - 1); consumed = true; break; @@ -327,9 +283,7 @@ export function filterUnexpectedDiagnostics(report: AuditReport): BlockResult[] * detect both stale entries (count of zero) AND silently-swallowed new * errors (count greater than `expectedOccurrences`). */ -export function countKnownBugOccurrences( - report: AuditReport -): Map { +export function countKnownBugOccurrences(report: AuditReport): Map { const counts = new Map(); for (const kb of KNOWN_TYPE_BUGS) counts.set(kb, 0); for (const r of report.results) { @@ -445,9 +399,10 @@ function compileBlock(source: string, lang: string): BlockDiagnostic[] { code: e.code, // `@ec-ts/twoslash` puts the rendered diagnostic on `.text` (the // older `@typescript/twoslash` shape used `.renderedMessage`). - message: (e as { text?: string; renderedMessage?: string }).text - ?? (e as { renderedMessage?: string }).renderedMessage - ?? `(unknown ts(${e.code}) diagnostic)`, + message: + (e as { text?: string; renderedMessage?: string }).text ?? + (e as { renderedMessage?: string }).renderedMessage ?? + `(unknown ts(${e.code}) diagnostic)`, // Will be remapped to mdx coordinates by the caller. mdxLine: 0, column: ((e.character as number | undefined) ?? 0) + 1, @@ -476,9 +431,7 @@ export function runAudit(): AuditReport { const { exists } = readAspireTypes(); if (!exists) { - throw new Error( - 'aspire.d.ts is missing — run `pnpm twoslash-types` before auditing.' - ); + throw new Error('aspire.d.ts is missing — run `pnpm twoslash-types` before auditing.'); } const filesAbs = walkMdx(DOCS_ROOT); @@ -514,9 +467,7 @@ export function runAudit(): AuditReport { } } - const blocksWithErrors = results.filter( - (r) => r.diagnostics.length > 0 || r.crashed - ).length; + const blocksWithErrors = results.filter((r) => r.diagnostics.length > 0 || r.crashed).length; const totalDiagnostics = results.reduce((sum, r) => sum + r.diagnostics.length, 0); return { diff --git a/src/tools/AtsJsonGenerator/GenerateCommand.cs b/src/tools/AtsJsonGenerator/GenerateCommand.cs index f9f002d4a..f11732eac 100644 --- a/src/tools/AtsJsonGenerator/GenerateCommand.cs +++ b/src/tools/AtsJsonGenerator/GenerateCommand.cs @@ -1,4 +1,5 @@ using System.CommandLine; +using System.Text.Encodings.Web; using System.Text.Json; using AtsJsonGenerator.Helpers; @@ -145,6 +146,11 @@ internal static int TransformFile( { WriteIndented = true, DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingDefault, + // Match the C# packages JSON output: emit characters like `, <, >, ', + and other + // non-ASCII content as their literal UTF-8 bytes rather than \uXXXX escape sequences. + // The output is read by Astro at build time, not embedded in HTML, so the relaxed + // encoder is safe and keeps diffs human-readable. + Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, }; var wroteFile = StableFileWriter.WriteIfChanged(outputPath, JsonSerializer.Serialize(result, options)); diff --git a/src/tools/AtsJsonGenerator/Helpers/AtsTransformer.cs b/src/tools/AtsJsonGenerator/Helpers/AtsTransformer.cs index 79e0013e6..1a8fc4bfa 100644 --- a/src/tools/AtsJsonGenerator/Helpers/AtsTransformer.cs +++ b/src/tools/AtsJsonGenerator/Helpers/AtsTransformer.cs @@ -117,6 +117,8 @@ private static TsHandleTypeModel TransformHandle(AtsDumpHandleType h) IsInterface = h.IsInterface, ExposeProperties = h.ExposeProperties, ExposeMethods = h.ExposeMethods, + Description = NormalizeDoc(h.Documentation?.Summary), + Remarks = NormalizeDoc(h.Documentation?.Remarks), ImplementedInterfaces = h.ImplementedInterfaces .Select(i => StripAssemblyPrefix(i.TypeId)) .OrderBy(i => i) @@ -131,6 +133,14 @@ private static TsFunctionModel TransformCapability(AtsDumpCapability cap) .Where(p => p.Name != cap.TargetParameterName) .ToList(); + // Build a name → description lookup from the new Documentation block, + // covering only the parameters that will be rendered in the docs. + var paramDocLookup = cap.Documentation?.Parameters + .Where(d => !string.IsNullOrWhiteSpace(d.Description)) + .GroupBy(d => d.Name, StringComparer.Ordinal) + .ToDictionary(g => g.Key, g => g.First().Description, StringComparer.Ordinal) + ?? new Dictionary(StringComparer.Ordinal); + var paramModels = visibleParams.Select(p => new TsParameterModel { Name = p.Name, @@ -140,6 +150,7 @@ private static TsFunctionModel TransformCapability(AtsDumpCapability cap) DefaultValue = p.DefaultValue, IsCallback = p.IsCallback, CallbackSignature = p.IsCallback ? FormatCallbackSignature(p) : null, + Description = paramDocLookup.TryGetValue(p.Name, out var pd) ? NormalizeDoc(pd) : null, }).ToList(); // Build a TypeScript-style signature @@ -155,12 +166,18 @@ private static TsFunctionModel TransformCapability(AtsDumpCapability cap) var returnTypeStr = FormatTypeRef(cap.ReturnType); var sig = $"{cap.MethodName}({string.Join(", ", paramParts)}): {returnTypeStr}"; + // Prefer the richer Documentation.Summary; fall back to the legacy + // Description field for older dumps that don't ship Documentation. + var description = NormalizeDoc(cap.Documentation?.Summary) ?? NormalizeDoc(cap.Description); + return new TsFunctionModel { Name = cap.MethodName, CapabilityId = cap.CapabilityId, QualifiedName = cap.QualifiedMethodName, - Description = cap.Description, + Description = description, + Remarks = NormalizeDoc(cap.Documentation?.Remarks), + Returns = NormalizeDoc(cap.Documentation?.Returns), Kind = cap.CapabilityKind, Signature = sig, Parameters = paramModels, @@ -180,11 +197,14 @@ private static TsDtoTypeModel TransformDto(AtsDumpDtoType dto) { Name = dto.Name, FullName = fullName, + Description = NormalizeDoc(dto.Documentation?.Summary) ?? NormalizeDoc(dto.Description), + Remarks = NormalizeDoc(dto.Documentation?.Remarks), Fields = dto.Properties.Select(p => new TsDtoFieldModel { Name = p.Name, Type = FormatTypeRef(p.Type), IsOptional = p.IsOptional, + Description = NormalizeDoc(p.Documentation?.Summary) ?? NormalizeDoc(p.Description), }).ToList(), }; } @@ -196,14 +216,42 @@ private static TsEnumTypeModel TransformEnum(AtsDumpEnumType e) ? e.TypeId["enum:".Length..] : e.TypeId; + // Build per-member docs from ValueInfos, preserving original order. + // Only emitted if at least one member carries non-empty documentation. + List? memberDocs = null; + if (e.ValueInfos.Count > 0) + { + var docs = e.ValueInfos.Select(v => new TsEnumMemberDocModel + { + Name = v.Name, + Description = NormalizeDoc(v.Documentation?.Summary), + Remarks = NormalizeDoc(v.Documentation?.Remarks), + }).ToList(); + + if (docs.Any(d => d.Description is not null || d.Remarks is not null)) + { + memberDocs = docs; + } + } + return new TsEnumTypeModel { Name = e.Name, FullName = fullName, + Description = NormalizeDoc(e.Documentation?.Summary), + Remarks = NormalizeDoc(e.Documentation?.Remarks), Members = e.Values, + MemberDocs = memberDocs, }; } + /// + /// Treat whitespace-only XML doc strings as missing so they're omitted from + /// the output JSON rather than serialized as empty strings. + /// + private static string? NormalizeDoc(string? value) + => string.IsNullOrWhiteSpace(value) ? null : value; + /// /// Format a callback parameter into a TypeScript-style function type signature. /// diff --git a/src/tools/AtsJsonGenerator/Helpers/Models.cs b/src/tools/AtsJsonGenerator/Helpers/Models.cs index 55db6c337..0f340e864 100644 --- a/src/tools/AtsJsonGenerator/Helpers/Models.cs +++ b/src/tools/AtsJsonGenerator/Helpers/Models.cs @@ -53,6 +53,9 @@ internal sealed class AtsDumpCapability [JsonPropertyName("Description")] public string? Description { get; init; } + [JsonPropertyName("Documentation")] + public AtsDumpDocumentation? Documentation { get; init; } + [JsonPropertyName("CapabilityKind")] public required string CapabilityKind { get; init; } @@ -78,6 +81,33 @@ internal sealed class AtsDumpCapability public List ExpandedTargetTypes { get; init; } = []; } +/// +/// XML-doc payload emitted by the new Aspire CLI (microsoft/aspire#17044). +/// +internal sealed class AtsDumpDocumentation +{ + [JsonPropertyName("Summary")] + public string? Summary { get; init; } + + [JsonPropertyName("Remarks")] + public string? Remarks { get; init; } + + [JsonPropertyName("Returns")] + public string? Returns { get; init; } + + [JsonPropertyName("Parameters")] + public List Parameters { get; init; } = []; +} + +internal sealed class AtsDumpParameterDoc +{ + [JsonPropertyName("Name")] + public required string Name { get; init; } + + [JsonPropertyName("Description")] + public string? Description { get; init; } +} + internal sealed class AtsDumpParameter { [JsonPropertyName("Name")] @@ -146,6 +176,9 @@ internal sealed class AtsDumpHandleType [JsonPropertyName("ExposeMethods")] public bool ExposeMethods { get; init; } + [JsonPropertyName("Documentation")] + public AtsDumpDocumentation? Documentation { get; init; } + [JsonPropertyName("ImplementedInterfaces")] public List ImplementedInterfaces { get; init; } = []; @@ -161,6 +194,12 @@ internal sealed class AtsDumpDtoType [JsonPropertyName("Name")] public required string Name { get; init; } + [JsonPropertyName("Description")] + public string? Description { get; init; } + + [JsonPropertyName("Documentation")] + public AtsDumpDocumentation? Documentation { get; init; } + [JsonPropertyName("Properties")] public List Properties { get; init; } = []; } @@ -175,6 +214,12 @@ internal sealed class AtsDumpDtoProperty [JsonPropertyName("IsOptional")] public bool IsOptional { get; init; } + + [JsonPropertyName("Description")] + public string? Description { get; init; } + + [JsonPropertyName("Documentation")] + public AtsDumpDocumentation? Documentation { get; init; } } internal sealed class AtsDumpEnumType @@ -185,8 +230,23 @@ internal sealed class AtsDumpEnumType [JsonPropertyName("Name")] public required string Name { get; init; } + [JsonPropertyName("Documentation")] + public AtsDumpDocumentation? Documentation { get; init; } + [JsonPropertyName("Values")] public List Values { get; init; } = []; + + [JsonPropertyName("ValueInfos")] + public List ValueInfos { get; init; } = []; +} + +internal sealed class AtsDumpEnumValueInfo +{ + [JsonPropertyName("Name")] + public required string Name { get; init; } + + [JsonPropertyName("Documentation")] + public AtsDumpDocumentation? Documentation { get; init; } } // ════════════════════════════════════════════════════════════════════ @@ -244,8 +304,17 @@ internal sealed class TsFunctionModel public required string QualifiedName { get; init; } [JsonPropertyName("description")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? Description { get; init; } + [JsonPropertyName("remarks")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Remarks { get; init; } + + [JsonPropertyName("returns")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Returns { get; init; } + [JsonPropertyName("kind")] public required string Kind { get; init; } @@ -292,6 +361,10 @@ internal sealed class TsParameterModel [JsonPropertyName("callbackSignature")] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? CallbackSignature { get; init; } + + [JsonPropertyName("description")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Description { get; init; } } internal sealed class TsHandleTypeModel @@ -314,6 +387,14 @@ internal sealed class TsHandleTypeModel [JsonPropertyName("exposeMethods")] public bool ExposeMethods { get; init; } + [JsonPropertyName("description")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Description { get; init; } + + [JsonPropertyName("remarks")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Remarks { get; init; } + [JsonPropertyName("implementedInterfaces")] public List ImplementedInterfaces { get; init; } = []; @@ -335,6 +416,14 @@ internal sealed class TsDtoTypeModel [JsonPropertyName("kind")] public string Kind => "dto"; + [JsonPropertyName("description")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Description { get; init; } + + [JsonPropertyName("remarks")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Remarks { get; init; } + [JsonPropertyName("fields")] public List Fields { get; init; } = []; } @@ -349,6 +438,10 @@ internal sealed class TsDtoFieldModel [JsonPropertyName("isOptional")] public bool IsOptional { get; init; } + + [JsonPropertyName("description")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Description { get; init; } } internal sealed class TsEnumTypeModel @@ -362,6 +455,38 @@ internal sealed class TsEnumTypeModel [JsonPropertyName("kind")] public string Kind => "enum"; + [JsonPropertyName("description")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Description { get; init; } + + [JsonPropertyName("remarks")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Remarks { get; init; } + [JsonPropertyName("members")] public List Members { get; init; } = []; + + /// + /// Per-member XML documentation. Only emitted when at least one member + /// has a non-empty description or remarks. Indexed by name to allow + /// consumers to correlate without breaking the legacy + /// string array. + /// + [JsonPropertyName("memberDocs")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public List? MemberDocs { get; init; } +} + +internal sealed class TsEnumMemberDocModel +{ + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("description")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Description { get; init; } + + [JsonPropertyName("remarks")] + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public string? Remarks { get; init; } }