import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Upstream is an abstraction of the backend for API gateway instances. You can group backend applications with the same functionality into an upstream, which decouples routing from backend applications and provides flexible support for scenarios such as canary releases and multi-version management. This article introduces the concept and purpose of upstream * * ## Import * * ```sh * $ pulumi import volcenginecc:apig/upstream:Upstream example "upstream_id" * ``` */ export declare class Upstream extends pulumi.CustomResource { /** * Get an existing Upstream resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: UpstreamState, opts?: pulumi.CustomResourceOptions): Upstream; /** * Returns true if the given object is an instance of Upstream. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Upstream; readonly backendTargets: pulumi.Output; /** * Service circuit breaking configuration */ readonly circuitBreakingSettings: pulumi.Output; /** * Remarks */ readonly comments: pulumi.Output; /** * Connection Pool Configuration */ readonly connectionPoolSettings: pulumi.Output; /** * Upstream creation time */ readonly createdTime: pulumi.Output; /** * Gateway Instance ID */ readonly gatewayId: pulumi.Output; /** * Load Balancing Configuration */ readonly loadBalancerSettings: pulumi.Output; /** * Upstream name */ readonly name: pulumi.Output; /** * Protocol. Options: HTTP: HTTP/1.1; HTTP2: HTTP/2; GRPC: GRPC */ readonly protocol: pulumi.Output; /** * Upstream source type. Options: VeFaas: function service. ECS: cloud server. K8S: container service. Nacos: registry. AIProvider: AI model proxy */ readonly sourceType: pulumi.Output; /** * TLS Configuration */ readonly tlsSettings: pulumi.Output; /** * Upstream update time */ readonly updatedTime: pulumi.Output; /** * Upstream ID。 */ readonly upstreamId: pulumi.Output; /** * Upstream Configuration */ readonly upstreamSpec: pulumi.Output; readonly versionDetails: pulumi.Output; /** * Create a Upstream resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: UpstreamArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Upstream resources. */ export interface UpstreamState { backendTargets?: pulumi.Input[]>; /** * Service circuit breaking configuration */ circuitBreakingSettings?: pulumi.Input; /** * Remarks */ comments?: pulumi.Input; /** * Connection Pool Configuration */ connectionPoolSettings?: pulumi.Input; /** * Upstream creation time */ createdTime?: pulumi.Input; /** * Gateway Instance ID */ gatewayId?: pulumi.Input; /** * Load Balancing Configuration */ loadBalancerSettings?: pulumi.Input; /** * Upstream name */ name?: pulumi.Input; /** * Protocol. Options: HTTP: HTTP/1.1; HTTP2: HTTP/2; GRPC: GRPC */ protocol?: pulumi.Input; /** * Upstream source type. Options: VeFaas: function service. ECS: cloud server. K8S: container service. Nacos: registry. AIProvider: AI model proxy */ sourceType?: pulumi.Input; /** * TLS Configuration */ tlsSettings?: pulumi.Input; /** * Upstream update time */ updatedTime?: pulumi.Input; /** * Upstream ID。 */ upstreamId?: pulumi.Input; /** * Upstream Configuration */ upstreamSpec?: pulumi.Input; versionDetails?: pulumi.Input[]>; } /** * The set of arguments for constructing a Upstream resource. */ export interface UpstreamArgs { /** * Service circuit breaking configuration */ circuitBreakingSettings?: pulumi.Input; /** * Remarks */ comments?: pulumi.Input; /** * Connection Pool Configuration */ connectionPoolSettings?: pulumi.Input; /** * Gateway Instance ID */ gatewayId: pulumi.Input; /** * Load Balancing Configuration */ loadBalancerSettings?: pulumi.Input; /** * Upstream name */ name: pulumi.Input; /** * Protocol. Options: HTTP: HTTP/1.1; HTTP2: HTTP/2; GRPC: GRPC */ protocol?: pulumi.Input; /** * Upstream source type. Options: VeFaas: function service. ECS: cloud server. K8S: container service. Nacos: registry. AIProvider: AI model proxy */ sourceType: pulumi.Input; /** * TLS Configuration */ tlsSettings?: pulumi.Input; /** * Upstream Configuration */ upstreamSpec: pulumi.Input; }