/** * Deployment operations for Managed Runtime. * * Handles listing and creating deployments for MRT environments. * * @module operations/mrt/deployment */ import type { AuthStrategy } from '../../auth/types.js'; import type { components } from '../../clients/mrt.js'; /** * Deployment list item from API. */ export type MrtDeployment = components['schemas']['DeployList']; /** * Deployment creation request. */ export type MrtDeploymentCreate = components['schemas']['DeployCreate']; /** * Options for listing MRT deployments. */ export interface ListDeploymentsOptions { /** * The project slug. */ projectSlug: string; /** * The target/environment slug. */ targetSlug: string; /** * Maximum number of results to return. */ limit?: number; /** * Offset for pagination. */ offset?: number; /** * MRT API origin URL. * @default "https://cloud.mobify.com" */ origin?: string; } /** * Result of listing deployments. */ export interface ListDeploymentsResult { /** * Total count of deployments. */ count: number; /** * URL for next page of results. */ next: string | null; /** * URL for previous page of results. */ previous: string | null; /** * Array of deployments. */ deployments: MrtDeployment[]; } /** * Lists deployment history for an MRT environment. * * @param options - List options including project and target slugs * @param auth - Authentication strategy (ApiKeyStrategy) * @returns Paginated list of deployments * @throws Error if request fails * * @example * ```typescript * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth'; * import { listDeployments } from '@salesforce/b2c-tooling-sdk/operations/mrt'; * * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization'); * * const result = await listDeployments({ * projectSlug: 'my-storefront', * targetSlug: 'staging' * }, auth); * * for (const deploy of result.deployments) { * console.log(`Bundle ${deploy.bundle_id}: ${deploy.status}`); * } * ``` */ export declare function listDeployments(options: ListDeploymentsOptions, auth: AuthStrategy): Promise; /** * Options for creating a deployment. */ export interface CreateDeploymentOptions { /** * The project slug. */ projectSlug: string; /** * The target/environment slug. */ targetSlug: string; /** * The bundle ID to deploy. */ bundleId: number; /** * MRT API origin URL. * @default "https://cloud.mobify.com" */ origin?: string; } /** * Deployment creation response. */ export interface CreateDeploymentResult { /** * The bundle ID being deployed. */ bundleId: number; /** * The target slug. */ targetSlug: string; /** * Initial deployment status. */ status: string; /** * Non-blocking warnings returned by MRT for this deployment (e.g. x86 deprecation). * Optional — absent if the deploy endpoint returns no warnings. */ warnings?: string[]; } /** * Deploys a bundle to an MRT environment. * * This endpoint is asynchronous - the deployment will happen in the background. * Request the target for progress updates. * * @param options - Deployment options * @param auth - Authentication strategy (ApiKeyStrategy) * @returns Initial deployment status * @throws Error if request fails * * @example * ```typescript * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth'; * import { createDeployment } from '@salesforce/b2c-tooling-sdk/operations/mrt'; * * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization'); * * const result = await createDeployment({ * projectSlug: 'my-storefront', * targetSlug: 'staging', * bundleId: 12345 * }, auth); * * console.log(`Deployment started: ${result.status}`); * ``` */ export declare function createDeployment(options: CreateDeploymentOptions, auth: AuthStrategy): Promise;