@volcengine/pulumi
Version:
A Pulumi package for creating and managing volcengine cloud resources.
1,674 lines • 407 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
export interface ProviderAssumeRole {
/**
* The session name to use when making the AssumeRole call.
*/
assumeRoleSessionName: pulumi.Input<string>;
/**
* The TRN of the role to assume.
*/
assumeRoleTrn: pulumi.Input<string>;
/**
* The duration of the session when making the AssumeRole call. Its value ranges from 900 to 43200(seconds), and default is 3600 seconds.
*/
durationSeconds: pulumi.Input<number>;
/**
* A more restrictive policy when making the AssumeRole call.
*/
policy?: pulumi.Input<string>;
}
export interface ProviderAssumeRoleWithOidc {
/**
* The duration of the session when making the AssumeRole call. Its value ranges from 900 to 43200(seconds), and default is 3600 seconds.
*/
durationSeconds: pulumi.Input<number>;
/**
* The OIDC token to use when making the AssumeRole call.
*/
oidcToken: pulumi.Input<string>;
/**
* A more restrictive policy when making the AssumeRole call.
*/
policy?: pulumi.Input<string>;
/**
* The session name to use when making the AssumeRole call.
*/
roleSessionName: pulumi.Input<string>;
/**
* The TRN of the role to assume, in the format `trn:iam:${AccountId}:role/${RoleName}`.
*/
roleTrn: pulumi.Input<string>;
}
export declare namespace alb {
interface AclAclEntry {
/**
* The description of the AclEntry.
*/
description?: pulumi.Input<string>;
/**
* The content of the AclEntry.
*/
entry: pulumi.Input<string>;
}
interface AclTag {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface AclsTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface AclsTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface AlbEipBillingConfig {
/**
* The peek bandwidth of the EIP which automatically assigned to the Alb. Unit: Mbps.
*/
bandwidth: pulumi.Input<number>;
/**
* The billing type of the EIP which automatically assigned to the Alb. Valid values: `PostPaidByBandwidth`, `PostPaidByTraffic`.
*/
eipBillingType: pulumi.Input<string>;
/**
* The ISP of the EIP which automatically associated to the Alb, the value can be `BGP`.
*/
isp: pulumi.Input<string>;
}
interface AlbGlobalAccelerator {
/**
* The global accelerator id.
*/
acceleratorId?: pulumi.Input<string>;
/**
* The global accelerator listener id.
*/
acceleratorListenerId?: pulumi.Input<string>;
/**
* The global accelerator endpoint group id.
*/
endpointGroupId?: pulumi.Input<string>;
/**
* The traffic distribution weight of the endpoint. The value range is: 1 - 100.
*/
weight?: pulumi.Input<number>;
}
interface AlbIpv6EipBillingConfig {
/**
* The peek bandwidth of the Ipv6 EIP which automatically assigned to the Alb. Unit: Mbps.
*/
bandwidth: pulumi.Input<number>;
/**
* The billing type of the Tpv6 EIP which automatically assigned to the Alb. Valid values: `PostPaidByBandwidth`, `PostPaidByTraffic`.
*/
billingType: pulumi.Input<string>;
/**
* The ISP of the Ipv6 EIP which automatically associated to the Alb, the value can be `BGP`.
*/
isp: pulumi.Input<string>;
}
interface AlbTag {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface AlbZoneMapping {
/**
* The IP address information of the Alb in this availability zone.
*/
loadBalancerAddresses?: pulumi.Input<pulumi.Input<inputs.alb.AlbZoneMappingLoadBalancerAddress>[]>;
/**
* The subnet id of the Alb in this availability zone.
*/
subnetId?: pulumi.Input<string>;
/**
* The availability zone id of the Alb.
*/
zoneId?: pulumi.Input<string>;
}
interface AlbZoneMappingLoadBalancerAddress {
/**
* The Eip address of the Alb in this availability zone.
*/
eipAddress?: pulumi.Input<string>;
/**
* The Eip id of alb instance in this availability zone.
*/
eipId?: pulumi.Input<string>;
/**
* The Eni address of the Alb in this availability zone.
*/
eniAddress?: pulumi.Input<string>;
/**
* The Eni id of the Alb in this availability zone.
*/
eniId?: pulumi.Input<string>;
/**
* The Eni Ipv6 address of the Alb in this availability zone.
*/
eniIpv6Address?: pulumi.Input<string>;
/**
* The Ipv6 Eip id of alb instance in this availability zone.
*/
ipv6EipId?: pulumi.Input<string>;
}
interface AlbsTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface AlbsTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface AllCertificatesTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface AllCertificatesTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface CertificateTag {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface CertificatesTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface CertificatesTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface CustomizedCfgTag {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface CustomizedCfgsTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface CustomizedCfgsTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface GetAclsTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface GetAclsTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface GetAlbsTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface GetAlbsTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface GetAllCertificatesTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface GetAllCertificatesTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface GetCertificatesTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface GetCertificatesTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface GetCustomizedCfgsTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface GetCustomizedCfgsTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface GetHealthCheckTemplatesTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface GetHealthCheckTemplatesTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface GetListenersTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface GetListenersTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface GetServerGroupsTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface GetServerGroupsTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface HealthCheckTemplateTag {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface HealthCheckTemplatesTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface HealthCheckTemplatesTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface ListenerDomainExtension {
/**
* The server certificate ID used by the domain name. Valid when the certificateSource is `certCenter`.
*/
certCenterCertificateId?: pulumi.Input<string>;
/**
* The server certificate ID used by the domain name. Valid when the certificateSource is `alb`.
*/
certificateId?: pulumi.Input<string>;
/**
* The source of the certificate. Valid values: `alb`, `certCenter`.
*/
certificateSource?: pulumi.Input<string>;
/**
* The domain name.
*/
domain?: pulumi.Input<string>;
/**
* The extended domain ID, required only for deletion and modification.
*/
domainExtensionId?: pulumi.Input<string>;
/**
* The server certificate ID used by the domain name. Valid when the certificate source is `pcaLeaf`.
*/
pcaLeafCertificateId?: pulumi.Input<string>;
}
interface ListenerTag {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface ListenersTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface ListenersTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface RuleRedirectConfig {
/**
* The redirect domain, only support exact domain name.
*/
redirectDomain?: pulumi.Input<string>;
/**
* The redirect http code, support 301(default), 302, 307, 308.
*/
redirectHttpCode?: pulumi.Input<string>;
/**
* The redirect port.
*/
redirectPort?: pulumi.Input<string>;
/**
* The redirect protocol, support HTTP, HTTPS(default).
*/
redirectProtocol?: pulumi.Input<string>;
/**
* The redirect URI.
*/
redirectUri?: pulumi.Input<string>;
}
interface RuleRewriteConfig {
/**
* Rewrite path.
*/
rewritePath: pulumi.Input<string>;
}
interface RuleRuleAction {
/**
* Fixed response configuration for fixed response type rule.
*/
fixedResponseConfig?: pulumi.Input<inputs.alb.RuleRuleActionFixedResponseConfig>;
/**
* Forward group configuration for ForwardGroup type action.
*/
forwardGroupConfig?: pulumi.Input<inputs.alb.RuleRuleActionForwardGroupConfig>;
/**
* Redirect configuration for Redirect type action.
*/
redirectConfig?: pulumi.Input<inputs.alb.RuleRuleActionRedirectConfig>;
/**
* Rewrite configuration for Rewrite type action.
*/
rewriteConfig?: pulumi.Input<inputs.alb.RuleRuleActionRewriteConfig>;
/**
* Traffic limit configuration for TrafficLimit type action.
*/
trafficLimitConfig?: pulumi.Input<inputs.alb.RuleRuleActionTrafficLimitConfig>;
/**
* The type of rule action. Valid values: ForwardGroup, Redirect, Rewrite, TrafficLimit.
*/
type?: pulumi.Input<string>;
}
interface RuleRuleActionFixedResponseConfig {
/**
* The content type of the fixed response.
*/
contentType?: pulumi.Input<string>;
/**
* The response body of the fixed response.
*/
responseBody?: pulumi.Input<string>;
/**
* The fixed response HTTP status code.
*/
responseCode?: pulumi.Input<string>;
/**
* The fixed response message.
*/
responseMessage?: pulumi.Input<string>;
}
interface RuleRuleActionForwardGroupConfig {
/**
* The config of group session stickiness.
*/
serverGroupStickySession?: pulumi.Input<inputs.alb.RuleRuleActionForwardGroupConfigServerGroupStickySession>;
/**
* The server group tuples.
*/
serverGroupTuples?: pulumi.Input<pulumi.Input<inputs.alb.RuleRuleActionForwardGroupConfigServerGroupTuple>[]>;
}
interface RuleRuleActionForwardGroupConfigServerGroupStickySession {
/**
* Whether to enable sticky session stickiness. Valid values are 'on' and 'off'.
*/
enabled?: pulumi.Input<string>;
/**
* The sticky session timeout, in seconds.
*/
timeout?: pulumi.Input<number>;
}
interface RuleRuleActionForwardGroupConfigServerGroupTuple {
/**
* The server group ID. The priority of this parameter is higher than that of `serverGroupId`.
*/
serverGroupId?: pulumi.Input<string>;
/**
* The weight of the server group.
*/
weight?: pulumi.Input<number>;
}
interface RuleRuleActionRedirectConfig {
/**
* The domain name to which the request was redirected.
*/
host?: pulumi.Input<string>;
/**
* The redirect HTTP code.
*/
httpCode?: pulumi.Input<string>;
/**
* The path to which the request was redirected.
*/
path?: pulumi.Input<string>;
/**
* The redirect port.
*/
port?: pulumi.Input<string>;
/**
* The redirect protocol.
*/
protocol?: pulumi.Input<string>;
}
interface RuleRuleActionRewriteConfig {
/**
* The rewrite path.
*/
path?: pulumi.Input<string>;
}
interface RuleRuleActionTrafficLimitConfig {
/**
* The QPS limit.
*/
qps?: pulumi.Input<number>;
}
interface RuleRuleCondition {
/**
* Header configuration for Header type condition.
*/
headerConfig?: pulumi.Input<inputs.alb.RuleRuleConditionHeaderConfig>;
/**
* Host configuration for Host type condition.
*/
hostConfig?: pulumi.Input<inputs.alb.RuleRuleConditionHostConfig>;
/**
* Method configuration for Method type condition.
*/
methodConfig?: pulumi.Input<inputs.alb.RuleRuleConditionMethodConfig>;
/**
* Path configuration for Path type condition.
*/
pathConfig?: pulumi.Input<inputs.alb.RuleRuleConditionPathConfig>;
/**
* Query string configuration for QueryString type condition.
*/
queryStringConfig?: pulumi.Input<inputs.alb.RuleRuleConditionQueryStringConfig>;
/**
* The type of rule condition. Valid values: Host, Path, Header, Method, QueryString.
*/
type?: pulumi.Input<string>;
}
interface RuleRuleConditionHeaderConfig {
/**
* The header key.
*/
key: pulumi.Input<string>;
/**
* The list of header values.
*/
values: pulumi.Input<pulumi.Input<string>[]>;
}
interface RuleRuleConditionHostConfig {
/**
* The list of domain names.
*/
values: pulumi.Input<pulumi.Input<string>[]>;
}
interface RuleRuleConditionMethodConfig {
/**
* The values of the method. Vaild values: HEAD,GET,POST,OPTIONS,PUT,PATCH,DELETE.
*/
values: pulumi.Input<pulumi.Input<string>[]>;
}
interface RuleRuleConditionPathConfig {
/**
* The list of absolute paths.
*/
values?: pulumi.Input<pulumi.Input<string>[]>;
}
interface RuleRuleConditionQueryStringConfig {
/**
* The list of query string values.
*/
values?: pulumi.Input<pulumi.Input<inputs.alb.RuleRuleConditionQueryStringConfigValue>[]>;
}
interface RuleRuleConditionQueryStringConfigValue {
/**
* The query string key.
*/
key?: pulumi.Input<string>;
/**
* The query string value.
*/
value?: pulumi.Input<string>;
}
interface RuleServerGroupTuple {
/**
* The server group ID. The priority of this parameter is higher than that of `serverGroupId`.
*/
serverGroupId: pulumi.Input<string>;
/**
* The weight of the server group.
*/
weight?: pulumi.Input<number>;
}
interface ServerGroupHealthCheck {
/**
* The domain of health check.
*/
domain?: pulumi.Input<string>;
/**
* The enable status of health check function. Valid values: `on`, `off`. Default is `on`.
*/
enabled?: pulumi.Input<string>;
/**
* The healthy threshold of health check. Valid value range in 2~10. Default is 3.
*/
healthyThreshold?: pulumi.Input<number>;
/**
* The normal http status code of health check, the value can be `http2xx`, `http3xx`, `http4xx` or `http5xx`. Default is `http_2xx,http_3xx`.
*/
httpCode?: pulumi.Input<string>;
/**
* The http version of health check. Valid values: `HTTP1.0`, `HTTP1.1`. Default is `HTTP1.0`.
*/
httpVersion?: pulumi.Input<string>;
/**
* The interval executing health check. Unit: second. Valid value range in 1~300. Default is 2.
*/
interval?: pulumi.Input<number>;
/**
* The method of health check. Valid values: `GET` or `HEAD`. Default is `HEAD`.
*/
method?: pulumi.Input<string>;
/**
* The port of health check. When the value is 0, it means use the backend server port for health check. Valid value range in 0~65535.
*/
port?: pulumi.Input<number>;
/**
* The protocol of health check. Valid values: `HTTP`, `TCP`. Default is `HTTP`.
*/
protocol?: pulumi.Input<string>;
/**
* The response timeout of health check. Unit: second. Valid value range in 1~60. Default is 2.
*/
timeout?: pulumi.Input<number>;
/**
* The unhealthy threshold of health check. Valid value range in 2~10. Default is 3.
*/
unhealthyThreshold?: pulumi.Input<number>;
/**
* The uri of health check.
*/
uri?: pulumi.Input<string>;
}
interface ServerGroupStickySessionConfig {
/**
* The cookie name of the sticky session. This field is required when the value of the `stickySessionType` is `server`.
*/
cookie?: pulumi.Input<string>;
/**
* The cookie timeout of the sticky session. Unit: second. Valid value range in 1~86400. Default is 1000. This field is required when the value of the `stickySessionType` is `insert`.
*/
cookieTimeout?: pulumi.Input<number>;
/**
* The enable status of sticky session. Valid values: `on`, `off`. Default is `off`.
*/
stickySessionEnabled?: pulumi.Input<string>;
/**
* The cookie handle type of the sticky session. Valid values: `insert`, `server`. Default is `insert`. This field is required when the value of the `stickySessionEnabled` is `on`.
*/
stickySessionType?: pulumi.Input<string>;
}
interface ServerGroupTag {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface ServerGroupsTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface ServerGroupsTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
}
export declare namespace apig {
interface ApigGatewayBackendSpec {
/**
* Whether the api gateway support vke flannel cni.
*/
isVkeWithFlannelCniSupported: pulumi.Input<boolean>;
/**
* The vke pod cidr of the api gateway.
*/
vkePodCidr: pulumi.Input<string>;
}
interface ApigGatewayLogSpec {
/**
* Whether the api gateway enable tls log.
*/
enable: pulumi.Input<boolean>;
/**
* The project id of the tls. This field is required when `enable` is true.
*/
projectId?: pulumi.Input<string>;
/**
* The topic id of the tls.
*/
topicId?: pulumi.Input<string>;
}
interface ApigGatewayMonitorSpec {
/**
* Whether the api gateway enable monitor.
*/
enable: pulumi.Input<boolean>;
/**
* The workspace id of the monitor. This field is required when `enable` is true.
*/
workspaceId?: pulumi.Input<string>;
}
interface ApigGatewayNetworkSpec {
/**
* The subnet ids of the network spec.
*/
subnetIds: pulumi.Input<pulumi.Input<string>[]>;
/**
* The vpc id of the network spec.
*/
vpcId: pulumi.Input<string>;
}
interface ApigGatewayResourceSpec {
/**
* The clb spec code of the resource spec. Valid values: `small1`, `small2`, `medium1`, `medium2`, `large1`, `large2`.
*/
clbSpecCode?: pulumi.Input<string>;
/**
* The instance spec code of the resource spec. Valid values: `1c2g`, `2c4g`, `4c8g`, `8c16g`.
*/
instanceSpecCode: pulumi.Input<string>;
/**
* The network type of the resource spec. The default values for both `enablePublicNetwork` and `enablePrivateNetwork` are true.
*/
networkType?: pulumi.Input<inputs.apig.ApigGatewayResourceSpecNetworkType>;
/**
* The public network bandwidth of the resource spec.
*/
publicNetworkBandwidth?: pulumi.Input<number>;
/**
* The public network billing type of the resource spec. Valid values: `traffic`, `bandwidth`.
*/
publicNetworkBillingType?: pulumi.Input<string>;
/**
* The replicas of the resource spec.
*/
replicas: pulumi.Input<number>;
}
interface ApigGatewayResourceSpecNetworkType {
/**
* Whether the api gateway enable private network.
*/
enablePrivateNetwork: pulumi.Input<boolean>;
/**
* Whether the api gateway enable public network.
*/
enablePublicNetwork: pulumi.Input<boolean>;
}
interface ApigGatewayServiceAuthSpec {
/**
* Whether the api gateway service enable auth.
*/
enable: pulumi.Input<boolean>;
}
interface ApigGatewayTag {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface ApigRouteAdvancedSetting {
/**
* The cors policy setting of the api gateway route.
*/
corsPolicySetting?: pulumi.Input<inputs.apig.ApigRouteAdvancedSettingCorsPolicySetting>;
/**
* The header operations of the api gateway route.
*/
headerOperations?: pulumi.Input<pulumi.Input<inputs.apig.ApigRouteAdvancedSettingHeaderOperation>[]>;
/**
* The mirror policies of the api gateway route.
*/
mirrorPolicies?: pulumi.Input<pulumi.Input<inputs.apig.ApigRouteAdvancedSettingMirrorPolicy>[]>;
/**
* The retry policy setting of the api gateway route.
*/
retryPolicySetting?: pulumi.Input<inputs.apig.ApigRouteAdvancedSettingRetryPolicySetting>;
/**
* The timeout setting of the api gateway route.
*/
timeoutSetting?: pulumi.Input<inputs.apig.ApigRouteAdvancedSettingTimeoutSetting>;
/**
* The url rewrite setting of the api gateway route.
*/
urlRewriteSetting?: pulumi.Input<inputs.apig.ApigRouteAdvancedSettingUrlRewriteSetting>;
}
interface ApigRouteAdvancedSettingCorsPolicySetting {
/**
* Whether the cors policy setting is enabled.
*/
enable?: pulumi.Input<boolean>;
}
interface ApigRouteAdvancedSettingHeaderOperation {
/**
* The direction type of the header. Valid values: `request`, `response`.
*/
directionType?: pulumi.Input<string>;
/**
* The key of the header.
*/
key: pulumi.Input<string>;
/**
* The operation of the header. Valid values: `set`, `add`, `remove`.
*/
operation: pulumi.Input<string>;
/**
* The value of the header.
*/
value?: pulumi.Input<string>;
}
interface ApigRouteAdvancedSettingMirrorPolicy {
/**
* The percent of the mirror policy.
*/
percent?: pulumi.Input<inputs.apig.ApigRouteAdvancedSettingMirrorPolicyPercent>;
/**
* The upstream of the mirror policy.
*/
upstream: pulumi.Input<inputs.apig.ApigRouteAdvancedSettingMirrorPolicyUpstream>;
}
interface ApigRouteAdvancedSettingMirrorPolicyPercent {
/**
* The percent value of the mirror policy.
*/
value: pulumi.Input<number>;
}
interface ApigRouteAdvancedSettingMirrorPolicyUpstream {
/**
* The type of the api gateway upstream.
*/
type: pulumi.Input<string>;
/**
* The id of the api gateway upstream.
*/
upstreamId: pulumi.Input<string>;
/**
* The version of the api gateway upstream.
*/
version?: pulumi.Input<string>;
}
interface ApigRouteAdvancedSettingRetryPolicySetting {
/**
* The attempts of the api gateway route.
*/
attempts?: pulumi.Input<number>;
/**
* Whether the retry policy setting is enabled.
*/
enable?: pulumi.Input<boolean>;
/**
* The http codes of the api gateway route.
*/
httpCodes?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The per try timeout of the api gateway route.
*/
perTryTimeout?: pulumi.Input<number>;
/**
* The retry on of the api gateway route. Valid values: `5xx`, `reset`, `connect-failure`, `refused-stream`, `cancelled`, `deadline-exceeded`, `internal`, `resource-exhausted`, `unavailable`.
*/
retryOns?: pulumi.Input<pulumi.Input<string>[]>;
}
interface ApigRouteAdvancedSettingTimeoutSetting {
/**
* Whether the timeout setting is enabled.
*/
enable?: pulumi.Input<boolean>;
/**
* The timeout of the api gateway route. Unit: s.
*/
timeout?: pulumi.Input<number>;
}
interface ApigRouteAdvancedSettingUrlRewriteSetting {
/**
* Whether the url rewrite setting is enabled.
*/
enable?: pulumi.Input<boolean>;
/**
* The url rewrite path of the api gateway route.
*/
urlRewrite?: pulumi.Input<string>;
}
interface ApigRouteCustomDomain {
/**
* The domain of the api gateway route.
*/
domain?: pulumi.Input<string>;
/**
* The id of the custom domain.
*/
id?: pulumi.Input<string>;
}
interface ApigRouteDomain {
/**
* The domain of the api gateway route.
*/
domain?: pulumi.Input<string>;
/**
* The type of the domain.
*/
type?: pulumi.Input<string>;
}
interface ApigRouteMatchRule {
/**
* The header of the api gateway route.
*/
headers?: pulumi.Input<pulumi.Input<inputs.apig.ApigRouteMatchRuleHeader>[]>;
/**
* The method of the api gateway route. Valid values: `GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONS`, `CONNECT`.
*/
methods?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The path of the api gateway route.
*/
path: pulumi.Input<inputs.apig.ApigRouteMatchRulePath>;
/**
* The query string of the api gateway route.
*/
queryStrings?: pulumi.Input<pulumi.Input<inputs.apig.ApigRouteMatchRuleQueryString>[]>;
}
interface ApigRouteMatchRuleHeader {
/**
* The key of the header.
*/
key: pulumi.Input<string>;
/**
* The path of the api gateway route.
*/
value: pulumi.Input<inputs.apig.ApigRouteMatchRuleHeaderValue>;
}
interface ApigRouteMatchRuleHeaderValue {
/**
* The match content of the api gateway route.
*/
matchContent: pulumi.Input<string>;
/**
* The match type of the api gateway route. Valid values: `Prefix`, `Exact`, `Regex`.
*/
matchType: pulumi.Input<string>;
}
interface ApigRouteMatchRulePath {
/**
* The match content of the api gateway route.
*/
matchContent: pulumi.Input<string>;
/**
* The match type of the api gateway route. Valid values: `Prefix`, `Exact`, `Regex`.
*/
matchType: pulumi.Input<string>;
}
interface ApigRouteMatchRuleQueryString {
/**
* The key of the query string.
*/
key: pulumi.Input<string>;
/**
* The path of the api gateway route.
*/
value: pulumi.Input<inputs.apig.ApigRouteMatchRuleQueryStringValue>;
}
interface ApigRouteMatchRuleQueryStringValue {
/**
* The match content of the api gateway route.
*/
matchContent: pulumi.Input<string>;
/**
* The match type of the api gateway route. Valid values: `Prefix`, `Exact`, `Regex`.
*/
matchType: pulumi.Input<string>;
}
interface ApigRouteUpstreamList {
/**
* The ai provider settings of the api gateway route.
*/
aiProviderSettings?: pulumi.Input<inputs.apig.ApigRouteUpstreamListAiProviderSettings>;
/**
* The id of the api gateway upstream.
*/
upstreamId: pulumi.Input<string>;
/**
* The version of the api gateway upstream.
*/
version?: pulumi.Input<string>;
/**
* The weight of the api gateway upstream. Valid values: 0~10000.
*/
weight: pulumi.Input<number>;
}
interface ApigRouteUpstreamListAiProviderSettings {
/**
* The model of the ai provider.
*/
model: pulumi.Input<string>;
/**
* The target path of the ai provider.
*/
targetPath: pulumi.Input<string>;
}
interface ApigUpstreamCircuitBreakingSettings {
/**
* The base ejection time of circuit breaking. Unit: ms. Default is 10s.
*/
baseEjectionTime?: pulumi.Input<number>;
/**
* The consecutive errors of circuit breaking. Default is 5.
*/
consecutiveErrors?: pulumi.Input<number>;
/**
* Whether the circuit breaking is enabled.
*/
enable: pulumi.Input<boolean>;
/**
* The interval of circuit breaking. Unit: ms. Default is 10s.
*/
interval?: pulumi.Input<number>;
/**
* The max ejection percent of circuit breaking. Default is 20%.
*/
maxEjectionPercent?: pulumi.Input<number>;
/**
* The min health percent of circuit breaking. Default is 60%.
*/
minHealthPercent?: pulumi.Input<number>;
}
interface ApigUpstreamLoadBalancerSettings {
/**
* The consistent hash lb of apig upstream.
*/
consistentHashLb?: pulumi.Input<inputs.apig.ApigUpstreamLoadBalancerSettingsConsistentHashLb>;
/**
* The load balancer policy of apig upstream. Valid values: `SimpleLB`, `ConsistentHashLB`.
*/
lbPolicy: pulumi.Input<string>;
/**
* The simple load balancer of apig upstream. Valid values: `ROUND_ROBIN`, `LEAST_CONN`, `RANDOM`.
*/
simpleLb?: pulumi.Input<string>;
/**
* The warmup duration of apig upstream lb. This field is valid when the simpleLb is `ROUND_ROBIN` or `LEAST_CONN`.
*/
warmupDuration?: pulumi.Input<number>;
}
interface ApigUpstreamLoadBalancerSettingsConsistentHashLb {
/**
* The hash key of apig upstream consistent hash lb. Valid values: `HTTPCookie`, `HttpHeaderName`, `HttpQueryParameterName`, `UseSourceIp`.
*/
hashKey: pulumi.Input<string>;
/**
* The http cookie of apig upstream consistent hash lb.
*/
httpCookie?: pulumi.Input<inputs.apig.ApigUpstreamLoadBalancerSettingsConsistentHashLbHttpCookie>;
/**
* The http header name of apig upstream consistent hash lb.
*/
httpHeaderName?: pulumi.Input<string>;
/**
* The http query parameter name of apig upstream consistent hash lb.
*/
httpQueryParameterName?: pulumi.Input<string>;
/**
* The use source ip of apig upstream consistent hash lb.
*/
useSourceIp?: pulumi.Input<boolean>;
}
interface ApigUpstreamLoadBalancerSettingsConsistentHashLbHttpCookie {
/**
* The name of apig upstream consistent hash lb http cookie.
*/
name: pulumi.Input<string>;
/**
* The path of apig upstream consistent hash lb http cookie.
*/
path: pulumi.Input<string>;
/**
* The ttl of apig upstream consistent hash lb http cookie.
*/
ttl: pulumi.Input<number>;
}
interface ApigUpstreamSourceIngressSetting {
/**
* Whether to enable all ingress classes.
*/
enableAllIngressClasses?: pulumi.Input<boolean>;
/**
* Whether to enable all namespaces.
*/
enableAllNamespaces?: pulumi.Input<boolean>;
/**
* Whether to enable ingress.
*/
enableIngress?: pulumi.Input<boolean>;
/**
* Whether to enable ingress without ingress class.
*/
enableIngressWithoutIngressClass?: pulumi.Input<boolean>;
/**
* The ingress classes of ingress settings.
*/
ingressClasses?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The update status of ingress settings.
*/
updateStatus?: pulumi.Input<boolean>;
/**
* The watch namespaces of ingress settings.
*/
watchNamespaces?: pulumi.Input<pulumi.Input<string>[]>;
}
interface ApigUpstreamSourceSourceSpec {
/**
* The k8s source of apig upstream source.
*/
k8sSource?: pulumi.Input<inputs.apig.ApigUpstreamSourceSourceSpecK8sSource>;
/**
* The nacos source of apig upstream source.
*/
nacosSource?: pulumi.Input<inputs.apig.ApigUpstreamSourceSourceSpecNacosSource>;
}
interface ApigUpstreamSourceSourceSpecK8sSource {
/**
* The cluster id of k8s source.
*/
clusterId: pulumi.Input<string>;
/**
* The cluster type of k8s source.
*/
clusterType?: pulumi.Input<string>;
}
interface ApigUpstreamSourceSourceSpecNacosSource {
/**
* The address of nacos source.
*/
address?: pulumi.Input<string>;
/**
* The auth config of nacos source.
*/
authConfig?: pulumi.Input<inputs.apig.ApigUpstreamSourceSourceSpecNacosSourceAuthConfig>;
/**
* The context path of nacos source.
*/
contextPath?: pulumi.Input<string>;
/**
* The grpc port of nacos source.
*/
grpcPort?: pulumi.Input<number>;
/**
* The http port of nacos source.
*/
httpPort?: pulumi.Input<number>;
/**
* The nacos id of nacos source.
*/
nacosId: pulumi.Input<string>;
/**
* The nacos name of nacos source.
*/
nacosName?: pulumi.Input<string>;
}
interface ApigUpstreamSourceSourceSpecNacosSourceAuthConfig {
/**
* The basic auth config of nacos source.
*/
basic?: pulumi.Input<inputs.apig.ApigUpstreamSourceSourceSpecNacosSourceAuthConfigBasic>;
}
interface ApigUpstreamSourceSourceSpecNacosSourceAuthConfigBasic {
/**
* The password of basic auth config of nacos source.
*/
password: pulumi.Input<string>;
/**
* The username of basic auth config of nacos source.
*/
username: pulumi.Input<string>;
}
interface ApigUpstreamTlsSettings {
/**
* The sni of apig upstream tls setting.
*/
sni?: pulumi.Input<string>;
/**
* The tls mode of apig upstream tls setting. Valid values: `DISABLE`, `SIMPLE`.
*/
tlsMode: pulumi.Input<string>;
}
interface ApigUpstreamUpstreamSpec {
/**
* The ai provider of apig upstream.
*/
aiProvider?: pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecAiProvider>;
/**
* The domain of apig upstream.
*/
domain?: pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecDomain>;
/**
* The ecs list of apig upstream.
*/
ecsLists?: pulumi.Input<pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecEcsList>[]>;
/**
* The fixed ip list of apig upstream.
*/
fixedIpLists?: pulumi.Input<pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecFixedIpList>[]>;
/**
* The k8s service of apig upstream.
*/
k8sService?: pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecK8sService>;
/**
* The nacos service of apig upstream.
*/
nacosService?: pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecNacosService>;
/**
* The vefaas of apig upstream.
*/
veFaas?: pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecVeFaas>;
/**
* The mlp of apig upstream.
*/
veMlp?: pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecVeMlp>;
}
interface ApigUpstreamUpstreamSpecAiProvider {
/**
* The base url of ai provider.
*/
baseUrl: pulumi.Input<string>;
/**
* The custom body params of ai provider.
*/
customBodyParams?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The custom header params of ai provider.
*/
customHeaderParams?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The custom model service of ai provider.
*/
customModelService?: pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecAiProviderCustomModelService>;
/**
* The name of ai provider.
*/
name: pulumi.Input<string>;
/**
* The token of ai provider.
*/
token: pulumi.Input<string>;
}
interface ApigUpstreamUpstreamSpecAiProviderCustomModelService {
/**
* The name of custom model service.
*/
name: pulumi.Input<string>;
/**
* The namespace of custom model service.
*/
namespace: pulumi.Input<string>;
/**
* The port of custom model service.
*/
port: pulumi.Input<number>;
}
interface ApigUpstreamUpstreamSpecDomain {
/**
* The domain list of apig upstream.
*/
domainList: pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecDomainDomainList>;
/**
* The protocol of apig upstream. Valid values: `HTTP`, `HTTPS`.
*/
protocol?: pulumi.Input<string>;
}
interface ApigUpstreamUpstreamSpecDomainDomainList {
/**
* The domain of apig upstream.
*/
domain: pulumi.Input<string>;
/**
* The port of domain. Default is 80 for HTTP, 443 for HTTPS.
*/
port?: pulumi.Input<number>;
}
interface ApigUpstreamUpstreamSpecEcsList {
/**
* The instance id of ecs.
*/
ecsId: pulumi.Input<string>;
/**
* The ip of ecs.
*/
ip: pulumi.Input<string>;
/**
* The port of ecs.
*/
port: pulumi.Input<number>;
}
interface ApigUpstreamUpstreamSpecFixedIpList {
/**
* The ip of apig upstream.
*/
ip: pulumi.Input<string>;
/**
* The port of apig upstream.
*/
port: pulumi.Input<number>;
}
interface ApigUpstreamUpstreamSpecK8sService {
/**
* The name of k8s service.
*/
name: pulumi.Input<string>;
/**
* The namespace of k8s service.
*/
namespace: pulumi.Input<string>;
/**
* The port of k8s service.
*/
port: pulumi.Input<number>;
}
interface ApigUpstreamUpstreamSpecNacosService {
/**
* The group of nacos service.
*/
group: pulumi.Input<string>;
/**
* The namespace of nacos service.
*/
namespace: pulumi.Input<string>;
/**
* The namespace id of nacos service.
*/
namespaceId?: pulumi.Input<string>;
/**
* The service of nacos service.
*/
service: pulumi.Input<string>;
/**
* The upstream source id.
*/
upstreamSourceId: pulumi.Input<string>;
}
interface ApigUpstreamUpstreamSpecVeFaas {
/**
* The function id of vefaas.
*/
functionId: pulumi.Input<string>;
}
interface ApigUpstreamUpstreamSpecVeMlp {
/**
* The k8s service of mlp.
*/
k8sService: pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecVeMlpK8sService>;
/**
* The service discover type of mlp.
*/
serviceDiscoverType: pulumi.Input<string>;
/**
* The service id of mlp.
*/
serviceId: pulumi.Input<string>;
/**
* The service name of mlp.
*/
serviceName?: pulumi.Input<string>;
/**
* The service url of mlp.
*/
serviceUrl?: pulumi.Input<string>;
/**
* The upstream source id.
*/
upstreamSourceId?: pulumi.Input<string>;
}
interface ApigUpstreamUpstreamSpecVeMlpK8sService {
/**
* The cluster info of k8s service.
*/
clusterInfo: pulumi.Input<inputs.apig.ApigUpstreamUpstreamSpecVeMlpK8sServiceClusterInfo>;
/**
* The name of k8s service.
*/
name: pulumi.Input<string>;
/**
* The namespace of k8s service.
*/
namespace: pulumi.Input<string>;
/**
* The port of k8s service.
*/
port: pulumi.Input<number>;
}
interface ApigUpstreamUpstreamSpecVeMlpK8sServiceClusterInfo {
/**
* The account id of k8s service.
*/
accountId: pulumi.Input<number>;
/**
* The cluster name of k8s service.
*/
clusterName: pulumi.Input<string>;
}
interface ApigUpstreamVersionDetail {
/**
* The labels of apig upstream version.
*/
labels?: pulumi.Input<pulumi.Input<inputs.apig.ApigUpstreamVersionDetailLabel>[]>;
/**
* The name of the apig upstream.
*/
name?: pulumi.Input<string>;
/**
* The update time of apig upstream version.
*/
updateTime?: pulumi.Input<string>;
}
interface ApigUpstreamVersionDetailLabel {
/**
* The key of apig upstream version label.
*/
key?: pulumi.Input<string>;
/**
* The value of apig upstream version label.
*/
value?: pulumi.Input<string>;
}
interface ApigUpstreamVersionUpstreamVersion {
/**
* The labels of apig upstream version.
*/
labels?: pulumi.Input<pulumi.Input<inputs.apig.ApigUpstreamVersionUpstreamVersionLabel>[]>;
/**
* The name of apig upstream version.
*/
name: pulumi.Input<string>;
/**
* The update time of apig upstream version.
*/
updateTime?: pulumi.Input<string>;
}
interface ApigUpstreamVersionUpstreamVersionLabel {
/**
* The key of apig upstream version label.
*/
key: pulumi.Input<string>;
/**
* The value of apig upstream version label.
*/
value: pulumi.Input<string>;
}
interface GatewaysTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface GatewaysTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
interface GetGatewaysTag {
/**
* The Key of Tags.
*/
key: string;
/**
* The Value of Tags.
*/
value: string;
}
interface GetGatewaysTagArgs {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;
/**
* The Value of Tags.
*/
value: pulumi.Input<string>;
}
}
export declare namespace autoscaling {
interface ScalingConfigurationTag {
/**
* The Key of Tags.
*/
key: pulumi.Input<string>;