import type * as sagemaker from "@distilled.cloud/aws/sagemaker"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Endpoint } from "./Endpoint.ts"; export interface UpdateEndpointWeightsAndCapacitiesRequest extends Omit { } /** * Runtime binding for `sagemaker:UpdateEndpointWeightsAndCapacities` — shift * traffic between an endpoint's production variants (or resize one variant) * without redeploying. * * Bind this operation to an `Endpoint` inside a function runtime to get a * callable that automatically injects the endpoint name. Only applies to * instance-based variants (serverless variants have no weights/capacities); * the endpoint transitions through `Updating` back to `InService`. * ### Shifting Traffic * **Example:** Canary a Variant * ```typescript * // init * const updateWeights = * yield* AWS.SageMaker.UpdateEndpointWeightsAndCapacities(endpoint); * * // runtime * yield* updateWeights({ * DesiredWeightsAndCapacities: [ * { VariantName: "Blue", DesiredWeight: 9 }, * { VariantName: "Green", DesiredWeight: 1 }, * ], * }); * ``` * * @binding */ export interface UpdateEndpointWeightsAndCapacities extends Binding.Service(endpoint: E) => Effect.Effect<(request: UpdateEndpointWeightsAndCapacitiesRequest) => Effect.Effect>> { } export declare const UpdateEndpointWeightsAndCapacities: UpdateEndpointWeightsAndCapacities; //# sourceMappingURL=UpdateEndpointWeightsAndCapacities.d.ts.map