Upstream 是对 API 网关实例后端的抽象。您可以将具有相同功能的后端应用抽象为一个 Upstream,实现路由和后端应用解耦,更灵活地支持后端应用的灰度发布、多版本管理等场景。本文为您介绍 Upstream 的概念及作用。
Example Usage
Example coming soon!
Example coming soon!
Example coming soon!
Example coming soon!
Example coming soon!
resources:
aPIGUpstreamAIProviderDemo:
type: volcenginecc:apig:Upstream
name: APIGUpstreamAIProviderDemo
properties:
name: APIGUpstreamAIProviderDemo
gatewayId: gd45elb819ma6giexxxxx
comments: APIGUpstreamAIProviderDemo
protocol: HTTP
sourceType: K8S
upstreamSpec:
k8_s_service:
namespace: namespace
name: server
port: 2001
loadBalancerSettings:
lb_policy: SimpleLB
simple_lb: RANDOM
circuitBreakingSettings:
enable: true
consecutive_errors: 5
interval: 10000
base_ejection_time: 30000
max_ejection_percent: 20
min_health_percent: 60
tlsSettings:
tls_mode: DISABLE
Create Upstream Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Upstream(name: string, args: UpstreamArgs, opts?: CustomResourceOptions);@overload
def Upstream(resource_name: str,
args: UpstreamArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Upstream(resource_name: str,
opts: Optional[ResourceOptions] = None,
gateway_id: Optional[str] = None,
name: Optional[str] = None,
source_type: Optional[str] = None,
upstream_spec: Optional[UpstreamUpstreamSpecArgs] = None,
circuit_breaking_settings: Optional[UpstreamCircuitBreakingSettingsArgs] = None,
comments: Optional[str] = None,
load_balancer_settings: Optional[UpstreamLoadBalancerSettingsArgs] = None,
protocol: Optional[str] = None,
tls_settings: Optional[UpstreamTlsSettingsArgs] = None)func NewUpstream(ctx *Context, name string, args UpstreamArgs, opts ...ResourceOption) (*Upstream, error)public Upstream(string name, UpstreamArgs args, CustomResourceOptions? opts = null)
public Upstream(String name, UpstreamArgs args)
public Upstream(String name, UpstreamArgs args, CustomResourceOptions options)
type: volcenginecc:apig:Upstream
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args UpstreamArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args UpstreamArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args UpstreamArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args UpstreamArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args UpstreamArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var upstreamResource = new Volcenginecc.Apig.Upstream("upstreamResource", new()
{
GatewayId = "string",
Name = "string",
SourceType = "string",
UpstreamSpec = new Volcenginecc.Apig.Inputs.UpstreamUpstreamSpecArgs
{
AiProvider = new Volcenginecc.Apig.Inputs.UpstreamUpstreamSpecAiProviderArgs
{
BaseUrl = "string",
CustomModelService = new Volcenginecc.Apig.Inputs.UpstreamUpstreamSpecAiProviderCustomModelServiceArgs
{
Name = "string",
Namespace = "string",
Port = 0,
},
Name = "string",
Token = "string",
},
EcsInstances = new[]
{
new Volcenginecc.Apig.Inputs.UpstreamUpstreamSpecEcsInstanceArgs
{
EcsId = "string",
Ip = "string",
Port = 0,
},
},
K8SService = new Volcenginecc.Apig.Inputs.UpstreamUpstreamSpecK8SServiceArgs
{
Name = "string",
Namespace = "string",
Port = 0,
},
NacosService = new Volcenginecc.Apig.Inputs.UpstreamUpstreamSpecNacosServiceArgs
{
Group = "string",
Namespace = "string",
NamespaceId = "string",
Service = "string",
UpstreamSourceId = "string",
},
VeFaas = new Volcenginecc.Apig.Inputs.UpstreamUpstreamSpecVeFaasArgs
{
FunctionId = "string",
},
},
CircuitBreakingSettings = new Volcenginecc.Apig.Inputs.UpstreamCircuitBreakingSettingsArgs
{
BaseEjectionTime = 0,
ConsecutiveErrors = 0,
Enable = false,
Interval = 0,
MaxEjectionPercent = 0,
MinHealthPercent = 0,
},
Comments = "string",
LoadBalancerSettings = new Volcenginecc.Apig.Inputs.UpstreamLoadBalancerSettingsArgs
{
ConsistentHashLb = new Volcenginecc.Apig.Inputs.UpstreamLoadBalancerSettingsConsistentHashLbArgs
{
HashKey = "string",
HttpCookie = new Volcenginecc.Apig.Inputs.UpstreamLoadBalancerSettingsConsistentHashLbHttpCookieArgs
{
Name = "string",
Path = "string",
Ttl = 0,
},
HttpHeaderName = "string",
HttpQueryParameterName = "string",
UseSourceIp = "string",
},
LbPolicy = "string",
SimpleLb = "string",
WarmupDuration = 0,
},
Protocol = "string",
TlsSettings = new Volcenginecc.Apig.Inputs.UpstreamTlsSettingsArgs
{
Sni = "string",
TlsMode = "string",
},
});
example, err := apig.NewUpstream(ctx, "upstreamResource", &apig.UpstreamArgs{
GatewayId: pulumi.String("string"),
Name: pulumi.String("string"),
SourceType: pulumi.String("string"),
UpstreamSpec: &apig.UpstreamUpstreamSpecArgs{
AiProvider: &apig.UpstreamUpstreamSpecAiProviderArgs{
BaseUrl: pulumi.String("string"),
CustomModelService: &apig.UpstreamUpstreamSpecAiProviderCustomModelServiceArgs{
Name: pulumi.String("string"),
Namespace: pulumi.String("string"),
Port: pulumi.Int(0),
},
Name: pulumi.String("string"),
Token: pulumi.String("string"),
},
EcsInstances: apig.UpstreamUpstreamSpecEcsInstanceArray{
&apig.UpstreamUpstreamSpecEcsInstanceArgs{
EcsId: pulumi.String("string"),
Ip: pulumi.String("string"),
Port: pulumi.Int(0),
},
},
K8SService: &apig.UpstreamUpstreamSpecK8SServiceArgs{
Name: pulumi.String("string"),
Namespace: pulumi.String("string"),
Port: pulumi.Int(0),
},
NacosService: &apig.UpstreamUpstreamSpecNacosServiceArgs{
Group: pulumi.String("string"),
Namespace: pulumi.String("string"),
NamespaceId: pulumi.String("string"),
Service: pulumi.String("string"),
UpstreamSourceId: pulumi.String("string"),
},
VeFaas: &apig.UpstreamUpstreamSpecVeFaasArgs{
FunctionId: pulumi.String("string"),
},
},
CircuitBreakingSettings: &apig.UpstreamCircuitBreakingSettingsArgs{
BaseEjectionTime: pulumi.Int(0),
ConsecutiveErrors: pulumi.Int(0),
Enable: pulumi.Bool(false),
Interval: pulumi.Int(0),
MaxEjectionPercent: pulumi.Int(0),
MinHealthPercent: pulumi.Int(0),
},
Comments: pulumi.String("string"),
LoadBalancerSettings: &apig.UpstreamLoadBalancerSettingsArgs{
ConsistentHashLb: &apig.UpstreamLoadBalancerSettingsConsistentHashLbArgs{
HashKey: pulumi.String("string"),
HttpCookie: &apig.UpstreamLoadBalancerSettingsConsistentHashLbHttpCookieArgs{
Name: pulumi.String("string"),
Path: pulumi.String("string"),
Ttl: pulumi.Int(0),
},
HttpHeaderName: pulumi.String("string"),
HttpQueryParameterName: pulumi.String("string"),
UseSourceIp: pulumi.String("string"),
},
LbPolicy: pulumi.String("string"),
SimpleLb: pulumi.String("string"),
WarmupDuration: pulumi.Int(0),
},
Protocol: pulumi.String("string"),
TlsSettings: &apig.UpstreamTlsSettingsArgs{
Sni: pulumi.String("string"),
TlsMode: pulumi.String("string"),
},
})
var upstreamResource = new Upstream("upstreamResource", UpstreamArgs.builder()
.gatewayId("string")
.name("string")
.sourceType("string")
.upstreamSpec(UpstreamUpstreamSpecArgs.builder()
.aiProvider(UpstreamUpstreamSpecAiProviderArgs.builder()
.baseUrl("string")
.customModelService(UpstreamUpstreamSpecAiProviderCustomModelServiceArgs.builder()
.name("string")
.namespace("string")
.port(0)
.build())
.name("string")
.token("string")
.build())
.ecsInstances(UpstreamUpstreamSpecEcsInstanceArgs.builder()
.ecsId("string")
.ip("string")
.port(0)
.build())
.k8SService(UpstreamUpstreamSpecK8SServiceArgs.builder()
.name("string")
.namespace("string")
.port(0)
.build())
.nacosService(UpstreamUpstreamSpecNacosServiceArgs.builder()
.group("string")
.namespace("string")
.namespaceId("string")
.service("string")
.upstreamSourceId("string")
.build())
.veFaas(UpstreamUpstreamSpecVeFaasArgs.builder()
.functionId("string")
.build())
.build())
.circuitBreakingSettings(UpstreamCircuitBreakingSettingsArgs.builder()
.baseEjectionTime(0)
.consecutiveErrors(0)
.enable(false)
.interval(0)
.maxEjectionPercent(0)
.minHealthPercent(0)
.build())
.comments("string")
.loadBalancerSettings(UpstreamLoadBalancerSettingsArgs.builder()
.consistentHashLb(UpstreamLoadBalancerSettingsConsistentHashLbArgs.builder()
.hashKey("string")
.httpCookie(UpstreamLoadBalancerSettingsConsistentHashLbHttpCookieArgs.builder()
.name("string")
.path("string")
.ttl(0)
.build())
.httpHeaderName("string")
.httpQueryParameterName("string")
.useSourceIp("string")
.build())
.lbPolicy("string")
.simpleLb("string")
.warmupDuration(0)
.build())
.protocol("string")
.tlsSettings(UpstreamTlsSettingsArgs.builder()
.sni("string")
.tlsMode("string")
.build())
.build());
upstream_resource = volcenginecc.apig.Upstream("upstreamResource",
gateway_id="string",
name="string",
source_type="string",
upstream_spec={
"ai_provider": {
"base_url": "string",
"custom_model_service": {
"name": "string",
"namespace": "string",
"port": 0,
},
"name": "string",
"token": "string",
},
"ecs_instances": [{
"ecs_id": "string",
"ip": "string",
"port": 0,
}],
"k8_s_service": {
"name": "string",
"namespace": "string",
"port": 0,
},
"nacos_service": {
"group": "string",
"namespace": "string",
"namespace_id": "string",
"service": "string",
"upstream_source_id": "string",
},
"ve_faas": {
"function_id": "string",
},
},
circuit_breaking_settings={
"base_ejection_time": 0,
"consecutive_errors": 0,
"enable": False,
"interval": 0,
"max_ejection_percent": 0,
"min_health_percent": 0,
},
comments="string",
load_balancer_settings={
"consistent_hash_lb": {
"hash_key": "string",
"http_cookie": {
"name": "string",
"path": "string",
"ttl": 0,
},
"http_header_name": "string",
"http_query_parameter_name": "string",
"use_source_ip": "string",
},
"lb_policy": "string",
"simple_lb": "string",
"warmup_duration": 0,
},
protocol="string",
tls_settings={
"sni": "string",
"tls_mode": "string",
})
const upstreamResource = new volcenginecc.apig.Upstream("upstreamResource", {
gatewayId: "string",
name: "string",
sourceType: "string",
upstreamSpec: {
aiProvider: {
baseUrl: "string",
customModelService: {
name: "string",
namespace: "string",
port: 0,
},
name: "string",
token: "string",
},
ecsInstances: [{
ecsId: "string",
ip: "string",
port: 0,
}],
k8SService: {
name: "string",
namespace: "string",
port: 0,
},
nacosService: {
group: "string",
namespace: "string",
namespaceId: "string",
service: "string",
upstreamSourceId: "string",
},
veFaas: {
functionId: "string",
},
},
circuitBreakingSettings: {
baseEjectionTime: 0,
consecutiveErrors: 0,
enable: false,
interval: 0,
maxEjectionPercent: 0,
minHealthPercent: 0,
},
comments: "string",
loadBalancerSettings: {
consistentHashLb: {
hashKey: "string",
httpCookie: {
name: "string",
path: "string",
ttl: 0,
},
httpHeaderName: "string",
httpQueryParameterName: "string",
useSourceIp: "string",
},
lbPolicy: "string",
simpleLb: "string",
warmupDuration: 0,
},
protocol: "string",
tlsSettings: {
sni: "string",
tlsMode: "string",
},
});
type: volcenginecc:apig:Upstream
properties:
circuitBreakingSettings:
baseEjectionTime: 0
consecutiveErrors: 0
enable: false
interval: 0
maxEjectionPercent: 0
minHealthPercent: 0
comments: string
gatewayId: string
loadBalancerSettings:
consistentHashLb:
hashKey: string
httpCookie:
name: string
path: string
ttl: 0
httpHeaderName: string
httpQueryParameterName: string
useSourceIp: string
lbPolicy: string
simpleLb: string
warmupDuration: 0
name: string
protocol: string
sourceType: string
tlsSettings:
sni: string
tlsMode: string
upstreamSpec:
aiProvider:
baseUrl: string
customModelService:
name: string
namespace: string
port: 0
name: string
token: string
ecsInstances:
- ecsId: string
ip: string
port: 0
k8SService:
name: string
namespace: string
port: 0
nacosService:
group: string
namespace: string
namespaceId: string
service: string
upstreamSourceId: string
veFaas:
functionId: string
Upstream Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Upstream resource accepts the following input properties:
- Gateway
Id string - 网关实例ID。
- Name string
- Upstream名称。
- Source
Type string - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- Upstream
Spec Volcengine.Upstream Upstream Spec - Upstream配置。
- Circuit
Breaking Volcengine.Settings Upstream Circuit Breaking Settings - 服务熔断配置。
- Comments string
- 备注。
- Load
Balancer Volcengine.Settings Upstream Load Balancer Settings - 负载均衡配置。
- Protocol string
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- Tls
Settings Volcengine.Upstream Tls Settings - TLS配置。
- Gateway
Id string - 网关实例ID。
- Name string
- Upstream名称。
- Source
Type string - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- Upstream
Spec UpstreamUpstream Spec Args - Upstream配置。
- Circuit
Breaking UpstreamSettings Circuit Breaking Settings Args - 服务熔断配置。
- Comments string
- 备注。
- Load
Balancer UpstreamSettings Load Balancer Settings Args - 负载均衡配置。
- Protocol string
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- Tls
Settings UpstreamTls Settings Args - TLS配置。
- gateway
Id String - 网关实例ID。
- name String
- Upstream名称。
- source
Type String - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- upstream
Spec UpstreamUpstream Spec - Upstream配置。
- circuit
Breaking UpstreamSettings Circuit Breaking Settings - 服务熔断配置。
- comments String
- 备注。
- load
Balancer UpstreamSettings Load Balancer Settings - 负载均衡配置。
- protocol String
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- tls
Settings UpstreamTls Settings - TLS配置。
- gateway
Id string - 网关实例ID。
- name string
- Upstream名称。
- source
Type string - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- upstream
Spec UpstreamUpstream Spec - Upstream配置。
- circuit
Breaking UpstreamSettings Circuit Breaking Settings - 服务熔断配置。
- comments string
- 备注。
- load
Balancer UpstreamSettings Load Balancer Settings - 负载均衡配置。
- protocol string
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- tls
Settings UpstreamTls Settings - TLS配置。
- gateway_
id str - 网关实例ID。
- name str
- Upstream名称。
- source_
type str - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- upstream_
spec UpstreamUpstream Spec Args - Upstream配置。
- circuit_
breaking_ Upstreamsettings Circuit Breaking Settings Args - 服务熔断配置。
- comments str
- 备注。
- load_
balancer_ Upstreamsettings Load Balancer Settings Args - 负载均衡配置。
- protocol str
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- tls_
settings UpstreamTls Settings Args - TLS配置。
- gateway
Id String - 网关实例ID。
- name String
- Upstream名称。
- source
Type String - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- upstream
Spec Property Map - Upstream配置。
- circuit
Breaking Property MapSettings - 服务熔断配置。
- comments String
- 备注。
- load
Balancer Property MapSettings - 负载均衡配置。
- protocol String
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- tls
Settings Property Map - TLS配置。
Outputs
All input properties are implicitly available as output properties. Additionally, the Upstream resource produces the following output properties:
- Backend
Targets List<Volcengine.Upstream Backend Target> - Created
Time string - Upstream创建时间。
- Id string
- The provider-assigned unique ID for this managed resource.
- Updated
Time string - Upstream更新时间。
- Upstream
Id string - Upstream ID。
- Version
Details List<Volcengine.Upstream Version Detail>
- Backend
Targets []UpstreamBackend Target - Created
Time string - Upstream创建时间。
- Id string
- The provider-assigned unique ID for this managed resource.
- Updated
Time string - Upstream更新时间。
- Upstream
Id string - Upstream ID。
- Version
Details []UpstreamVersion Detail
- backend
Targets List<UpstreamBackend Target> - created
Time String - Upstream创建时间。
- id String
- The provider-assigned unique ID for this managed resource.
- updated
Time String - Upstream更新时间。
- upstream
Id String - Upstream ID。
- version
Details List<UpstreamVersion Detail>
- backend
Targets UpstreamBackend Target[] - created
Time string - Upstream创建时间。
- id string
- The provider-assigned unique ID for this managed resource.
- updated
Time string - Upstream更新时间。
- upstream
Id string - Upstream ID。
- version
Details UpstreamVersion Detail[]
- backend_
targets Sequence[UpstreamBackend Target] - created_
time str - Upstream创建时间。
- id str
- The provider-assigned unique ID for this managed resource.
- updated_
time str - Upstream更新时间。
- upstream_
id str - Upstream ID。
- version_
details Sequence[UpstreamVersion Detail]
- backend
Targets List<Property Map> - created
Time String - Upstream创建时间。
- id String
- The provider-assigned unique ID for this managed resource.
- updated
Time String - Upstream更新时间。
- upstream
Id String - Upstream ID。
- version
Details List<Property Map>
Look up Existing Upstream Resource
Get an existing Upstream resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: UpstreamState, opts?: CustomResourceOptions): Upstream@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
backend_targets: Optional[Sequence[UpstreamBackendTargetArgs]] = None,
circuit_breaking_settings: Optional[UpstreamCircuitBreakingSettingsArgs] = None,
comments: Optional[str] = None,
created_time: Optional[str] = None,
gateway_id: Optional[str] = None,
load_balancer_settings: Optional[UpstreamLoadBalancerSettingsArgs] = None,
name: Optional[str] = None,
protocol: Optional[str] = None,
source_type: Optional[str] = None,
tls_settings: Optional[UpstreamTlsSettingsArgs] = None,
updated_time: Optional[str] = None,
upstream_id: Optional[str] = None,
upstream_spec: Optional[UpstreamUpstreamSpecArgs] = None,
version_details: Optional[Sequence[UpstreamVersionDetailArgs]] = None) -> Upstreamfunc GetUpstream(ctx *Context, name string, id IDInput, state *UpstreamState, opts ...ResourceOption) (*Upstream, error)public static Upstream Get(string name, Input<string> id, UpstreamState? state, CustomResourceOptions? opts = null)public static Upstream get(String name, Output<String> id, UpstreamState state, CustomResourceOptions options)resources: _: type: volcenginecc:apig:Upstream get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Backend
Targets List<Volcengine.Upstream Backend Target> - Circuit
Breaking Volcengine.Settings Upstream Circuit Breaking Settings - 服务熔断配置。
- Comments string
- 备注。
- Created
Time string - Upstream创建时间。
- Gateway
Id string - 网关实例ID。
- Load
Balancer Volcengine.Settings Upstream Load Balancer Settings - 负载均衡配置。
- Name string
- Upstream名称。
- Protocol string
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- Source
Type string - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- Tls
Settings Volcengine.Upstream Tls Settings - TLS配置。
- Updated
Time string - Upstream更新时间。
- Upstream
Id string - Upstream ID。
- Upstream
Spec Volcengine.Upstream Upstream Spec - Upstream配置。
- Version
Details List<Volcengine.Upstream Version Detail>
- Backend
Targets []UpstreamBackend Target Args - Circuit
Breaking UpstreamSettings Circuit Breaking Settings Args - 服务熔断配置。
- Comments string
- 备注。
- Created
Time string - Upstream创建时间。
- Gateway
Id string - 网关实例ID。
- Load
Balancer UpstreamSettings Load Balancer Settings Args - 负载均衡配置。
- Name string
- Upstream名称。
- Protocol string
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- Source
Type string - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- Tls
Settings UpstreamTls Settings Args - TLS配置。
- Updated
Time string - Upstream更新时间。
- Upstream
Id string - Upstream ID。
- Upstream
Spec UpstreamUpstream Spec Args - Upstream配置。
- Version
Details []UpstreamVersion Detail Args
- backend
Targets List<UpstreamBackend Target> - circuit
Breaking UpstreamSettings Circuit Breaking Settings - 服务熔断配置。
- comments String
- 备注。
- created
Time String - Upstream创建时间。
- gateway
Id String - 网关实例ID。
- load
Balancer UpstreamSettings Load Balancer Settings - 负载均衡配置。
- name String
- Upstream名称。
- protocol String
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- source
Type String - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- tls
Settings UpstreamTls Settings - TLS配置。
- updated
Time String - Upstream更新时间。
- upstream
Id String - Upstream ID。
- upstream
Spec UpstreamUpstream Spec - Upstream配置。
- version
Details List<UpstreamVersion Detail>
- backend
Targets UpstreamBackend Target[] - circuit
Breaking UpstreamSettings Circuit Breaking Settings - 服务熔断配置。
- comments string
- 备注。
- created
Time string - Upstream创建时间。
- gateway
Id string - 网关实例ID。
- load
Balancer UpstreamSettings Load Balancer Settings - 负载均衡配置。
- name string
- Upstream名称。
- protocol string
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- source
Type string - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- tls
Settings UpstreamTls Settings - TLS配置。
- updated
Time string - Upstream更新时间。
- upstream
Id string - Upstream ID。
- upstream
Spec UpstreamUpstream Spec - Upstream配置。
- version
Details UpstreamVersion Detail[]
- backend_
targets Sequence[UpstreamBackend Target Args] - circuit_
breaking_ Upstreamsettings Circuit Breaking Settings Args - 服务熔断配置。
- comments str
- 备注。
- created_
time str - Upstream创建时间。
- gateway_
id str - 网关实例ID。
- load_
balancer_ Upstreamsettings Load Balancer Settings Args - 负载均衡配置。
- name str
- Upstream名称。
- protocol str
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- source_
type str - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- tls_
settings UpstreamTls Settings Args - TLS配置。
- updated_
time str - Upstream更新时间。
- upstream_
id str - Upstream ID。
- upstream_
spec UpstreamUpstream Spec Args - Upstream配置。
- version_
details Sequence[UpstreamVersion Detail Args]
- backend
Targets List<Property Map> - circuit
Breaking Property MapSettings - 服务熔断配置。
- comments String
- 备注。
- created
Time String - Upstream创建时间。
- gateway
Id String - 网关实例ID。
- load
Balancer Property MapSettings - 负载均衡配置。
- name String
- Upstream名称。
- protocol String
- 协议,取值:HTTP:HTTP/1.1。HTTP2:HTTP/2。GRPC:GRPC。
- source
Type String - Upstream来源类型,取值:VeFaas:函数服务。ECS:云服务器。K8S:容器服务。Nacos:注册中心。AIProvider:AI模型代理。
- tls
Settings Property Map - TLS配置。
- updated
Time String - Upstream更新时间。
- upstream
Id String - Upstream ID。
- upstream
Spec Property Map - Upstream配置。
- version
Details List<Property Map>
Supporting Types
UpstreamBackendTarget, UpstreamBackendTargetArgs
- Health
Status string - 健康检查状态。
- Ip string
- 后端节点IP。
- Port int
- 后端节点端口。
- Health
Status string - 健康检查状态。
- Ip string
- 后端节点IP。
- Port int
- 后端节点端口。
- health
Status String - 健康检查状态。
- ip String
- 后端节点IP。
- port Integer
- 后端节点端口。
- health
Status string - 健康检查状态。
- ip string
- 后端节点IP。
- port number
- 后端节点端口。
- health_
status str - 健康检查状态。
- ip str
- 后端节点IP。
- port int
- 后端节点端口。
- health
Status String - 健康检查状态。
- ip String
- 后端节点IP。
- port Number
- 后端节点端口。
UpstreamCircuitBreakingSettings, UpstreamCircuitBreakingSettingsArgs
- Base
Ejection intTime - 最小弹出时间。单位为毫秒。取值限制为1~86400000。默认值为30秒。
- Consecutive
Errors int - 连续失败次数。取值限制为1~100。默认值为5。
- Enable bool
- 开启。
- Interval int
- 计算周期。单位为毫秒。取值限制为1~86400000。默认值为10秒。
- Max
Ejection intPercent - 最大熔断比例。取值限制为1~100。默认值为20%。
- Min
Health intPercent - 最小健康比例。取值限制为0~100。默认值为60%。
- Base
Ejection intTime - 最小弹出时间。单位为毫秒。取值限制为1~86400000。默认值为30秒。
- Consecutive
Errors int - 连续失败次数。取值限制为1~100。默认值为5。
- Enable bool
- 开启。
- Interval int
- 计算周期。单位为毫秒。取值限制为1~86400000。默认值为10秒。
- Max
Ejection intPercent - 最大熔断比例。取值限制为1~100。默认值为20%。
- Min
Health intPercent - 最小健康比例。取值限制为0~100。默认值为60%。
- base
Ejection IntegerTime - 最小弹出时间。单位为毫秒。取值限制为1~86400000。默认值为30秒。
- consecutive
Errors Integer - 连续失败次数。取值限制为1~100。默认值为5。
- enable Boolean
- 开启。
- interval Integer
- 计算周期。单位为毫秒。取值限制为1~86400000。默认值为10秒。
- max
Ejection IntegerPercent - 最大熔断比例。取值限制为1~100。默认值为20%。
- min
Health IntegerPercent - 最小健康比例。取值限制为0~100。默认值为60%。
- base
Ejection numberTime - 最小弹出时间。单位为毫秒。取值限制为1~86400000。默认值为30秒。
- consecutive
Errors number - 连续失败次数。取值限制为1~100。默认值为5。
- enable boolean
- 开启。
- interval number
- 计算周期。单位为毫秒。取值限制为1~86400000。默认值为10秒。
- max
Ejection numberPercent - 最大熔断比例。取值限制为1~100。默认值为20%。
- min
Health numberPercent - 最小健康比例。取值限制为0~100。默认值为60%。
- base_
ejection_ inttime - 最小弹出时间。单位为毫秒。取值限制为1~86400000。默认值为30秒。
- consecutive_
errors int - 连续失败次数。取值限制为1~100。默认值为5。
- enable bool
- 开启。
- interval int
- 计算周期。单位为毫秒。取值限制为1~86400000。默认值为10秒。
- max_
ejection_ intpercent - 最大熔断比例。取值限制为1~100。默认值为20%。
- min_
health_ intpercent - 最小健康比例。取值限制为0~100。默认值为60%。
- base
Ejection NumberTime - 最小弹出时间。单位为毫秒。取值限制为1~86400000。默认值为30秒。
- consecutive
Errors Number - 连续失败次数。取值限制为1~100。默认值为5。
- enable Boolean
- 开启。
- interval Number
- 计算周期。单位为毫秒。取值限制为1~86400000。默认值为10秒。
- max
Ejection NumberPercent - 最大熔断比例。取值限制为1~100。默认值为20%。
- min
Health NumberPercent - 最小健康比例。取值限制为0~100。默认值为60%。
UpstreamLoadBalancerSettings, UpstreamLoadBalancerSettingsArgs
- Consistent
Hash Volcengine.Lb Upstream Load Balancer Settings Consistent Hash Lb - 一致性哈希负载均衡。
- Lb
Policy string - 负载均衡策略,取值:SimpleLB:简单负载均衡。ConsistentHashLB:一致性哈希负载均衡。
- Simple
Lb string - 简单负载均衡,取值:ROUNDROBIN:轮询。LEASTCONN:最小连接数。RANDOM:随机。
- Warmup
Duration int - 预热时间。单位为秒。
- Consistent
Hash UpstreamLb Load Balancer Settings Consistent Hash Lb - 一致性哈希负载均衡。
- Lb
Policy string - 负载均衡策略,取值:SimpleLB:简单负载均衡。ConsistentHashLB:一致性哈希负载均衡。
- Simple
Lb string - 简单负载均衡,取值:ROUNDROBIN:轮询。LEASTCONN:最小连接数。RANDOM:随机。
- Warmup
Duration int - 预热时间。单位为秒。
- consistent
Hash UpstreamLb Load Balancer Settings Consistent Hash Lb - 一致性哈希负载均衡。
- lb
Policy String - 负载均衡策略,取值:SimpleLB:简单负载均衡。ConsistentHashLB:一致性哈希负载均衡。
- simple
Lb String - 简单负载均衡,取值:ROUNDROBIN:轮询。LEASTCONN:最小连接数。RANDOM:随机。
- warmup
Duration Integer - 预热时间。单位为秒。
- consistent
Hash UpstreamLb Load Balancer Settings Consistent Hash Lb - 一致性哈希负载均衡。
- lb
Policy string - 负载均衡策略,取值:SimpleLB:简单负载均衡。ConsistentHashLB:一致性哈希负载均衡。
- simple
Lb string - 简单负载均衡,取值:ROUNDROBIN:轮询。LEASTCONN:最小连接数。RANDOM:随机。
- warmup
Duration number - 预热时间。单位为秒。
- consistent_
hash_ Upstreamlb Load Balancer Settings Consistent Hash Lb - 一致性哈希负载均衡。
- lb_
policy str - 负载均衡策略,取值:SimpleLB:简单负载均衡。ConsistentHashLB:一致性哈希负载均衡。
- simple_
lb str - 简单负载均衡,取值:ROUNDROBIN:轮询。LEASTCONN:最小连接数。RANDOM:随机。
- warmup_
duration int - 预热时间。单位为秒。
- consistent
Hash Property MapLb - 一致性哈希负载均衡。
- lb
Policy String - 负载均衡策略,取值:SimpleLB:简单负载均衡。ConsistentHashLB:一致性哈希负载均衡。
- simple
Lb String - 简单负载均衡,取值:ROUNDROBIN:轮询。LEASTCONN:最小连接数。RANDOM:随机。
- warmup
Duration Number - 预热时间。单位为秒。
UpstreamLoadBalancerSettingsConsistentHashLb, UpstreamLoadBalancerSettingsConsistentHashLbArgs
- Hash
Key string - 一致性哈希方式,取值:UseSourceIp:基于源IP地址。HttpQueryParameterName:基于参数。HttpHeaderName:基于头。HTTPCookie:基于cookie。
-
Volcengine.
Upstream Load Balancer Settings Consistent Hash Lb Http Cookie - Cookie。
- Http
Header stringName - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- Http
Query stringParameter Name - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- Use
Source stringIp - 源IP地址。
- Hash
Key string - 一致性哈希方式,取值:UseSourceIp:基于源IP地址。HttpQueryParameterName:基于参数。HttpHeaderName:基于头。HTTPCookie:基于cookie。
-
Upstream
Load Balancer Settings Consistent Hash Lb Http Cookie - Cookie。
- Http
Header stringName - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- Http
Query stringParameter Name - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- Use
Source stringIp - 源IP地址。
- hash
Key String - 一致性哈希方式,取值:UseSourceIp:基于源IP地址。HttpQueryParameterName:基于参数。HttpHeaderName:基于头。HTTPCookie:基于cookie。
-
Upstream
Load Balancer Settings Consistent Hash Lb Http Cookie - Cookie。
- http
Header StringName - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- http
Query StringParameter Name - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- use
Source StringIp - 源IP地址。
- hash
Key string - 一致性哈希方式,取值:UseSourceIp:基于源IP地址。HttpQueryParameterName:基于参数。HttpHeaderName:基于头。HTTPCookie:基于cookie。
-
Upstream
Load Balancer Settings Consistent Hash Lb Http Cookie - Cookie。
- http
Header stringName - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- http
Query stringParameter Name - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- use
Source stringIp - 源IP地址。
- hash_
key str - 一致性哈希方式,取值:UseSourceIp:基于源IP地址。HttpQueryParameterName:基于参数。HttpHeaderName:基于头。HTTPCookie:基于cookie。
-
Upstream
Load Balancer Settings Consistent Hash Lb Http Cookie - Cookie。
- http_
header_ strname - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- http_
query_ strparameter_ name - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- use_
source_ strip - 源IP地址。
- hash
Key String - 一致性哈希方式,取值:UseSourceIp:基于源IP地址。HttpQueryParameterName:基于参数。HttpHeaderName:基于头。HTTPCookie:基于cookie。
- Property Map
- Cookie。
- http
Header StringName - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- http
Query StringParameter Name - 参数。支持ASCII可打印字符,长度限制为1~256个字符。
- use
Source StringIp - 源IP地址。
UpstreamLoadBalancerSettingsConsistentHashLbHttpCookie, UpstreamLoadBalancerSettingsConsistentHashLbHttpCookieArgs
UpstreamTlsSettings, UpstreamTlsSettingsArgs
UpstreamUpstreamSpec, UpstreamUpstreamSpecArgs
UpstreamUpstreamSpecAiProvider, UpstreamUpstreamSpecAiProviderArgs
- Base
Url string - 模型地址。
- Custom
Model Volcengine.Service Upstream Upstream Spec Ai Provider Custom Model Service - 火山自部署模型服务。
- Name string
- 模型服务商名称。
- Token string
- 模型API key。
- Base
Url string - 模型地址。
- Custom
Model UpstreamService Upstream Spec Ai Provider Custom Model Service - 火山自部署模型服务。
- Name string
- 模型服务商名称。
- Token string
- 模型API key。
- base
Url String - 模型地址。
- custom
Model UpstreamService Upstream Spec Ai Provider Custom Model Service - 火山自部署模型服务。
- name String
- 模型服务商名称。
- token String
- 模型API key。
- base
Url string - 模型地址。
- custom
Model UpstreamService Upstream Spec Ai Provider Custom Model Service - 火山自部署模型服务。
- name string
- 模型服务商名称。
- token string
- 模型API key。
- base_
url str - 模型地址。
- custom_
model_ Upstreamservice Upstream Spec Ai Provider Custom Model Service - 火山自部署模型服务。
- name str
- 模型服务商名称。
- token str
- 模型API key。
- base
Url String - 模型地址。
- custom
Model Property MapService - 火山自部署模型服务。
- name String
- 模型服务商名称。
- token String
- 模型API key。
UpstreamUpstreamSpecAiProviderCustomModelService, UpstreamUpstreamSpecAiProviderCustomModelServiceArgs
UpstreamUpstreamSpecEcsInstance, UpstreamUpstreamSpecEcsInstanceArgs
UpstreamUpstreamSpecK8SService, UpstreamUpstreamSpecK8SServiceArgs
UpstreamUpstreamSpecNacosService, UpstreamUpstreamSpecNacosServiceArgs
- Group string
- 分组。
- Namespace string
- 命名空间。
- Namespace
Id string - 命名空间ID。
- Service string
- 服务。
- Upstream
Source stringId - Upstream来源ID。
- Group string
- 分组。
- Namespace string
- 命名空间。
- Namespace
Id string - 命名空间ID。
- Service string
- 服务。
- Upstream
Source stringId - Upstream来源ID。
- group String
- 分组。
- namespace String
- 命名空间。
- namespace
Id String - 命名空间ID。
- service String
- 服务。
- upstream
Source StringId - Upstream来源ID。
- group string
- 分组。
- namespace string
- 命名空间。
- namespace
Id string - 命名空间ID。
- service string
- 服务。
- upstream
Source stringId - Upstream来源ID。
- group str
- 分组。
- namespace str
- 命名空间。
- namespace_
id str - 命名空间ID。
- service str
- 服务。
- upstream_
source_ strid - Upstream来源ID。
- group String
- 分组。
- namespace String
- 命名空间。
- namespace
Id String - 命名空间ID。
- service String
- 服务。
- upstream
Source StringId - Upstream来源ID。
UpstreamUpstreamSpecVeFaas, UpstreamUpstreamSpecVeFaasArgs
- Function
Id string - 函数ID。
- Function
Id string - 函数ID。
- function
Id String - 函数ID。
- function
Id string - 函数ID。
- function_
id str - 函数ID。
- function
Id String - 函数ID。
UpstreamVersionDetail, UpstreamVersionDetailArgs
- Labels
List<Volcengine.
Upstream Version Detail Label> - Name string
- 版本名称。支持大小写字母、数字和中划线(-),长度限制为2~63个字符。不能以中划线(-)开头。
- Update
Time string - 更新时间。
- Labels
[]Upstream
Version Detail Label - Name string
- 版本名称。支持大小写字母、数字和中划线(-),长度限制为2~63个字符。不能以中划线(-)开头。
- Update
Time string - 更新时间。
- labels
List<Upstream
Version Detail Label> - name String
- 版本名称。支持大小写字母、数字和中划线(-),长度限制为2~63个字符。不能以中划线(-)开头。
- update
Time String - 更新时间。
- labels
Upstream
Version Detail Label[] - name string
- 版本名称。支持大小写字母、数字和中划线(-),长度限制为2~63个字符。不能以中划线(-)开头。
- update
Time string - 更新时间。
- labels
Sequence[Upstream
Version Detail Label] - name str
- 版本名称。支持大小写字母、数字和中划线(-),长度限制为2~63个字符。不能以中划线(-)开头。
- update_
time str - 更新时间。
- labels List<Property Map>
- name String
- 版本名称。支持大小写字母、数字和中划线(-),长度限制为2~63个字符。不能以中划线(-)开头。
- update
Time String - 更新时间。
UpstreamVersionDetailLabel, UpstreamVersionDetailLabelArgs
Import
$ pulumi import volcenginecc:apig/upstream:Upstream example "upstream_id"
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- volcenginecc volcengine/pulumi-volcenginecc
- License
- MPL-2.0
- Notes
- This Pulumi package is based on the
volcengineccTerraform Provider.
