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 GetScalingGroupsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetScalingGroupsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ScalingConfigurationTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ScalingConfigurationVolume {
        /**
         * The delete with instance flag of volume. Valid values: true, false. Default value: true.
         */
        deleteWithInstance?: pulumi.Input<boolean>;
        /**
         * The size of volume. System disk value range: 10 - 500. The value range of the data disk: 10 - 8192.
         */
        size: pulumi.Input<number>;
        /**
         * The type of volume.
         */
        volumeType: pulumi.Input<string>;
    }
    interface ScalingGroupLaunchTemplateOverride {
        /**
         * The instance type.
         */
        instanceType: pulumi.Input<string>;
    }
    interface ScalingGroupServerGroupAttribute {
        /**
         * The load balancer id.
         */
        loadBalancerId?: pulumi.Input<string>;
        /**
         * The port receiving request of the server group. Value range: 1 ~ 65535.
         */
        port: pulumi.Input<number>;
        /**
         * The id of the server group.
         */
        serverGroupId: pulumi.Input<string>;
        /**
         * The weight of the instance. Value range: 0 ~ 100.
         */
        weight: pulumi.Input<number>;
    }
    interface ScalingGroupTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ScalingGroupsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface ScalingGroupsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ScalingLifecycleHookLifecycleCommand {
        /**
         * Batch job command ID, which indicates the batch job command to be executed after triggering the lifecycle hook and installed in the instance.
         */
        commandId: pulumi.Input<string>;
        /**
         * Parameters and parameter values in batch job commands.
         * The number of parameters ranges from 0 to 60.
         */
        parameters?: pulumi.Input<string>;
    }
}
export declare namespace bandwidth_package {
    interface BandwidthPackageTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface BandwidthPackagesTagFilter {
        /**
         * The key of the tag.
         */
        key: string;
        /**
         * The values of the tag.
         */
        values: string[];
    }
    interface BandwidthPackagesTagFilterArgs {
        /**
         * The key of the tag.
         */
        key: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface GetBandwidthPackagesTagFilter {
        /**
         * The key of the tag.
         */
        key: string;
        /**
         * The values of the tag.
         */
        values: string[];
    }
    interface GetBandwidthPackagesTagFilterArgs {
        /**
         * The key of the tag.
         */
        key: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace bioos {
    interface ClusterSharedConfig {
        /**
         * Whether to enable a shared cluster. This value must be `true`.
         */
        enable: pulumi.Input<boolean>;
    }
    interface ClusterVkeConfig {
        /**
         * The id of the vke cluster.
         */
        clusterId: pulumi.Input<string>;
        /**
         * The name of the StorageClass that the vke cluster has installed.
         */
        storageClass: pulumi.Input<string>;
    }
}
export declare namespace cdn {
    interface CdnDomainSharedCname {
        /**
         * Assign a CNAME to the accelerated domain.
         */
        cname: pulumi.Input<string>;
        /**
         * Specify whether to enable shared CNAME.
         */
        switch: pulumi.Input<boolean>;
    }
    interface CdnDomainTag {
        /**
         * The key of the tag.
         */
        key: pulumi.Input<string>;
        /**
         * The value of the tag.
         */
        value: pulumi.Input<string>;
    }
    interface SharedConfigAllowIpAccessRule {
        /**
         * The entries in this list are an array of IP addresses and CIDR network segments. The total number of entries cannot exceed 3,000. The IP addresses and segments can be in IPv4 and IPv6 format. Duplicate entries in the list will be removed and will not count towards the limit.
         */
        rules: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface SharedConfigAllowRefererAccessRule {
        /**
         * Indicates whether an empty Referer header, or a request without a Referer header, is not allowed. Default is false.
         */
        allowEmpty?: pulumi.Input<boolean>;
        /**
         * The content indicating the Referer whitelist.
         */
        commonType: pulumi.Input<inputs.cdn.SharedConfigAllowRefererAccessRuleCommonType>;
    }
    interface SharedConfigAllowRefererAccessRuleCommonType {
        /**
         * This list is case-sensitive when matching requests. Default is true.
         */
        ignoreCase?: pulumi.Input<boolean>;
        /**
         * The entries in this list are an array of IP addresses and CIDR network segments. The total number of entries cannot exceed 3,000. The IP addresses and segments can be in IPv4 and IPv6 format. Duplicate entries in the list will be removed and will not count towards the limit.
         */
        rules: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface SharedConfigCommonMatchList {
        /**
         * The content indicating the Referer blacklist.
         */
        commonType: pulumi.Input<inputs.cdn.SharedConfigCommonMatchListCommonType>;
    }
    interface SharedConfigCommonMatchListCommonType {
        /**
         * This list is case-sensitive when matching requests. Default is true.
         */
        ignoreCase?: pulumi.Input<boolean>;
        /**
         * The entries in this list are an array of IP addresses and CIDR network segments. The total number of entries cannot exceed 3,000. The IP addresses and segments can be in IPv4 and IPv6 format. Duplicate entries in the list will be removed and will not count towards the limit.
         */
        rules: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface SharedConfigDenyIpAccessRule {
        /**
         * The entries in this list are an array of IP addresses and CIDR network segments. The total number of entries cannot exceed 3,000. The IP addresses and segments can be in IPv4 and IPv6 format. Duplicate entries in the list will be removed and will not count towards the limit.
         */
        rules: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface SharedConfigDenyRefererAccessRule {
        /**
         * Indicates whether an empty Referer header, or a request without a Referer header, is not allowed. Default is false.
         */
        allowEmpty?: pulumi.Input<boolean>;
        /**
         * The content indicating the Referer blacklist.
         */
        commonType: pulumi.Input<inputs.cdn.SharedConfigDenyRefererAccessRuleCommonType>;
    }
    interface SharedConfigDenyRefererAccessRuleCommonType {
        /**
         * This list is case-sensitive when matching requests. Default is true.
         */
        ignoreCase?: pulumi.Input<boolean>;
        /**
         * The entries in this list are an array of IP addresses and CIDR network segments. The total number of entries cannot exceed 3,000. The IP addresses and segments can be in IPv4 and IPv6 format. Duplicate entries in the list will be removed and will not count towards the limit.
         */
        rules: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace cen {
    interface BandwidthPackageTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface BandwidthPackagesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface BandwidthPackagesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface CenTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface CensTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface CensTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetBandwidthPackagesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetBandwidthPackagesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetCensTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetCensTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ServiceRouteEntryPublishToInstance {
        /**
         * Cloud service access routes need to publish the network instance ID.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * The region where the cloud service access route needs to be published.
         */
        instanceRegionId?: pulumi.Input<string>;
        /**
         * The network instance type that needs to be published for cloud service access routes. The values are as follows: `VPC`, `DCGW`.
         */
        instanceType?: pulumi.Input<string>;
    }
}
export declare namespace clb {
    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 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 ClbEipBillingConfig {
        /**
         * The peek bandwidth of the EIP which automatically assigned to CLB.
         */
        bandwidth?: pulumi.Input<number>;
        /**
         * The ID of the shared bandwidth package that the EIP is to be added to. Only valid when the eipBillingType is `PostPaidByBandwidth` or `PostPaidByTraffic`.
         */
        bandwidthPackageId?: pulumi.Input<string>;
        /**
         * The billing type of the EIP which automatically assigned to CLB. And optional choice contains `PostPaidByBandwidth` or `PostPaidByTraffic` or `PrePaid`.When creating a `PrePaid` public CLB, this field must be specified as `PrePaid` simultaneously.When the LoadBalancerBillingType changes from `PostPaid` to `PrePaid`, please manually modify the value of this field to `PrePaid` simultaneously.
         */
        eipBillingType: pulumi.Input<string>;
        /**
         * The ISP of the EIP which automatically associated to CLB, the value can be `BGP` or `ChinaMobile` or `ChinaUnicom` or `ChinaTelecom` or `SingleLine_BGP` or `Static_BGP` or `Fusion_BGP`.
         */
        isp: pulumi.Input<string>;
        /**
         * The ID of the DDoS native protection (Enterprise Edition) instance.
         */
        securityProtectionInstanceId?: pulumi.Input<string>;
        /**
         * The security protection types of the EIP. Only valid when the eipBillingType is `PostPaidByBandwidth` or `PostPaidByTraffic`.
         */
        securityProtectionTypes?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ClbTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ClbsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface ClbsTagArgs {
        /**
         * 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 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 GetClbsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetClbsTagArgs {
        /**
         * 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 GetRulesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetRulesTagArgs {
        /**
         * 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 ListenerHealthCheck {
        /**
         * The domain of health check.
         */
        domain?: pulumi.Input<string>;
        /**
         * The enable status of health check function. Optional choice contains `on`, `off`.
         */
        enabled?: pulumi.Input<string>;
        /**
         * The healthy threshold of health check, default 3, range in 2~10.
         */
        healthyThreshold?: pulumi.Input<number>;
        /**
         * The normal http status code of health check, the value can be `http2xx` or `http3xx` or `http4xx` or `http5xx`.
         */
        httpCode?: pulumi.Input<string>;
        /**
         * The interval executing health check, default 2, range in 1~300.
         */
        interval?: pulumi.Input<number>;
        /**
         * The method of health check, the value can be `GET` or `HEAD`.
         */
        method?: pulumi.Input<string>;
        /**
         * The port for health check, with a value range of 1-65535.
         */
        port?: pulumi.Input<number>;
        /**
         * The response timeout of health check, default 2, range in 1~60..
         */
        timeout?: pulumi.Input<number>;
        /**
         * The UDP expect of health check. This field must be specified simultaneously with field `udpRequest`.
         */
        udpExpect?: pulumi.Input<string>;
        /**
         * The UDP request of health check. This field must be specified simultaneously with field `udpExpect`.
         */
        udpRequest?: pulumi.Input<string>;
        /**
         * The unhealthy threshold of health check, default 3, range in 2~10.
         */
        unHealthyThreshold?: pulumi.Input<number>;
        /**
         * The uri of health check.
         */
        uri?: 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 host, i.e. the domain name redirected by the rule.
         */
        host?: pulumi.Input<string>;
        /**
         * The redirect path.
         */
        path?: pulumi.Input<string>;
        /**
         * The redirect port, valid range: 1~65535.
         */
        port?: pulumi.Input<string>;
        /**
         * The redirect protocol. Valid values: `HTTP`, `HTTPS`.
         */
        protocol?: pulumi.Input<string>;
        /**
         * The redirect status code. Valid values: 301, 302, 307, 308.
         */
        statusCode?: pulumi.Input<string>;
    }
    interface RuleTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface RulesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface RulesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: 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 cloud_firewall {
    interface CfwDnsControlPolicySource {
        /**
         * The region of the source vpc.
         */
        region: pulumi.Input<string>;
        /**
         * The id of the source vpc.
         */
        vpcId: pulumi.Input<string>;
    }
}
export declare namespace cloud_identity {
    interface GroupMember {
        /**
         * The description of the cloud identity group.
         */
        description?: pulumi.Input<string>;
        /**
         * The display name of the cloud identity group.
         */
        displayName?: pulumi.Input<string>;
        /**
         * The email of the cloud identity user.
         */
        email?: pulumi.Input<string>;
        /**
         * The identity type of the cloud identity user.
         */
        identityType?: pulumi.Input<string>;
        /**
         * The join time of the cloud identity user.
         */
        joinTime?: pulumi.Input<string>;
        /**
         * The phone of the cloud identity user.
         */
        phone?: pulumi.Input<string>;
        /**
         * The source of the cloud identity group.
         */
        source?: pulumi.Input<string>;
        /**
         * The id of the cloud identity user.
         */
        userId?: pulumi.Input<string>;
        /**
         * The name of the cloud identity user.
         */
        userName?: pulumi.Input<string>;
    }
    interface PermissionSetPermissionPolicy {
        /**
         * The document of the cloud identity permission set inline policy. When the `permissionPolicyType` is `Inline`, this field must be specified.
         */
        inlinePolicyDocument?: pulumi.Input<string>;
        /**
         * The name of the cloud identity permission set system policy. When the `permissionPolicyType` is `System`, this field must be specified.
         */
        permissionPolicyName?: pulumi.Input<string>;
        /**
         * The type of the cloud identity permission set policy. Valid values: `System`, `Inline`.
         */
        permissionPolicyType: pulumi.Input<string>;
    }
}
export declare namespace cloud_monitor {
    interface EventRuleEffectiveTime {
        /**
         * End time for rule activation.
         */
        endTime: pulumi.Input<string>;
        /**
         * Start time for rule activation.
         */
        startTime: pulumi.Input<string>;
    }
    interface EventRuleFilterPattern {
        /**
         * Event source corresponding to pattern matching.
         */
        source: pulumi.Input<string>;
        /**
         * The list of corresponding event types in pattern matching, currently set to match any.
         */
        types: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface EventRuleMessageQueue {
        /**
         * The kafka instance id.
         */
        instanceId: pulumi.Input<string>;
        /**
         * The region.
         */
        region: pulumi.Input<string>;
        /**
         * The topic name.
         */
        topic: pulumi.Input<string>;
        /**
         * The message queue type, only support kafka now.
         */
        type: pulumi.Input<string>;
        /**
         * The vpc id.
         */
        vpcId: pulumi.Input<string>;
    }
    interface EventRuleTlsTarget {
        /**
         * The project id.
         */
        projectId: pulumi.Input<string>;
        /**
         * The project name.
         */
        projectName: pulumi.Input<string>;
        /**
         * The Chinese region name.
         */
        regionNameCn: pulumi.Input<string>;
        /**
         * The English region name.
         */
        regionNameEn: pulumi.Input<string>;
        /**
         * The topic id.
         */
        topicId: pulumi.Input<string>;
    }
    interface GetRulesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        values: string[];
    }
    interface GetRulesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface RuleCondition {
        /**
         * The comparison operation of the cloud monitor rule. Valid values: `>`, `>=`, `<`, `<=`, `!=`, `=`.
         */
        comparisonOperator: pulumi.Input<string>;
        /**
         * The metric name of the cloud monitor rule.
         */
        metricName: pulumi.Input<string>;
        /**
         * The metric unit of the cloud monitor rule.
         */
        metricUnit: pulumi.Input<string>;
        /**
         * The period of the cloud monitor rule.
         */
        period?: pulumi.Input<string>;
        /**
         * The statistics of the cloud monitor rule. Valid values: `avg`, `max`, `min`.
         */
        statistics: pulumi.Input<string>;
        /**
         * The threshold of the cloud monitor rule.
         */
        threshold: pulumi.Input<string>;
    }
    interface RuleOriginalDimension {
        /**
         * The key of the dimension.
         */
        key: pulumi.Input<string>;
        /**
         * The value of the dimension.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface RuleRecoveryNotify {
        /**
         * Whether to enable the recovery notify function.
         */
        enable?: pulumi.Input<boolean>;
    }
    interface RuleTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface RulesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        values: string[];
    }
    interface RulesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace cloudfs {
}
export declare namespace config {
}
export declare namespace cr {
    interface EndpointAclPolicy {
        /**
         * The description of the acl policy.
         */
        description?: pulumi.Input<string>;
        /**
         * The ip of the acl policy.
         */
        entry?: pulumi.Input<string>;
    }
    interface GetRegistriesResourceTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        values: string[];
    }
    interface GetRegistriesResourceTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface GetRegistriesStatus {
        /**
         * The condition of registry.
         */
        condition?: string;
        /**
         * The phase of status.
         */
        phase?: string;
    }
    interface GetRegistriesStatusArgs {
        /**
         * The condition of registry.
         */
        condition?: pulumi.Input<string>;
        /**
         * The phase of status.
         */
        phase?: pulumi.Input<string>;
    }
    interface RegistriesResourceTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        values: string[];
    }
    interface RegistriesResourceTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface RegistriesStatus {
        /**
         * The condition of registry.
         */
        condition?: string;
        /**
         * The phase of status.
         */
        phase?: string;
    }
    interface RegistriesStatusArgs {
        /**
         * The condition of registry.
         */
        condition?: pulumi.Input<string>;
        /**
         * The phase of status.
         */
        phase?: pulumi.Input<string>;
    }
    interface RegistryDomain {
        /**
         * The domain of registry.
         */
        domain?: pulumi.Input<string>;
        /**
         * The type of registry. Valid values: `Enterprise`, `Micro`. Default is `Enterprise`.
         */
        type?: pulumi.Input<string>;
    }
    interface RegistryProxyCache {
        /**
         * The endpoint of proxy cache.
         */
        endpoint?: pulumi.Input<string>;
        /**
         * The password of proxy cache.
         */
        password?: pulumi.Input<string>;
        /**
         * Whether to skip ssl verify.
         */
        skipSslVerify?: pulumi.Input<boolean>;
        /**
         * The type of proxy cache. Valid values: `DockerHub`, `DockerRegistry`.
         */
        type: pulumi.Input<string>;
        /**
         * The username of proxy cache.
         */
        username?: pulumi.Input<string>;
    }
    interface RegistryResourceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface RegistryStatus {
        /**
         * The condition of registry.
         */
        conditions?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The phase status of registry.
         */
        phase?: pulumi.Input<string>;
    }
    interface StateStatus {
        /**
         * The condition of instance.
         */
        conditions?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The phase status of instance.
         */
        phase?: pulumi.Input<string>;
    }
    interface TagChartAttribute {
        /**
         * The Helm version.
         */
        apiVersion?: pulumi.Input<string>;
        /**
         * The name of OCI product.
         */
        name?: pulumi.Input<string>;
        /**
         * The Helm Chart version.
         */
        version?: pulumi.Input<string>;
    }
    interface TagImageAttribute {
        /**
         * The image architecture.
         */
        architecture?: pulumi.Input<string>;
        /**
         * The image author.
         */
        author?: pulumi.Input<string>;
        /**
         * The digest of image.
         */
        digest?: pulumi.Input<string>;
        /**
         * The iamge os.
         */
        os?: pulumi.Input<string>;
    }
    interface VpcEndpointVpc {
        /**
         * The id of the account. When you need to expose the Enterprise Edition instance to a VPC under another primary account, you need to specify the ID of the primary account to which the VPC belongs.
         */
        accountId?: pulumi.Input<number>;
        /**
         * The id of the subnet. If not specified, the subnet with the most remaining IPs under the VPC will be automatically selected.
         */
        subnetId?: pulumi.Input<string>;
        /**
         * The id of the vpc.
         */
        vpcId?: pulumi.Input<string>;
    }
}
export declare namespace direct_connect {
    interface ConnectionTag {
        /**
         * The tag key.
         */
        key?: pulumi.Input<string>;
        /**
         * The tag value.
         */
        value?: pulumi.Input<string>;
    }
    interface ConnectionsTagFilter {
        /**
         * The tag key of cloud resource instance.
         */
        key?: string;
        /**
         * The tag value of cloud resource instance.
         */
        value?: string;
    }
    interface ConnectionsTagFilterArgs {
        /**
         * The tag key of cloud resource instance.
         */
        key?: pulumi.Input<string>;
        /**
         * The tag value of cloud resource instance.
         */
        value?: pulumi.Input<string>;
    }
    interface GatewayTag {
        /**
         * The tag key.
         */
        key?: pulumi.Input<string>;
        /**
         * The tag value.
         */
        value?: pulumi.Input<string>;
    }
    interface GatewaysTagFilter {
        /**
         * The tag key of cloud resource instance.
         */
        key?: string;
        /**
         * The tag value of cloud resource instance.
         */
        value?: string;
    }
    interface GatewaysTagFilterArgs {
        /**
         * The tag key of cloud resource instance.
         */
        key?: pulumi.Input<string>;
        /**
         * The tag value of cloud resource instance.
         */
        value?: pulumi.Input<string>;
    }
    interface GetConnectionsTagFilter {
        /**
         * The tag key of cloud resource instance.
         */
        key?: string;
        /**
         * The tag value of cloud resource instance.
         */
        value?: string;
    }
    interface GetConnectionsTagFilterArgs {
        /**
         * The tag key of cloud resource instance.
         */
        key?: pulumi.Input<string>;
        /**
         * The tag value of cloud resource instance.
         */
        value?: pulumi.Input<string>;
    }
    interface GetGatewaysTagFilter {
        /**
         * The tag key of cloud resource instance.
         */
        key?: string;
        /**
         * The tag value of cloud resource instance.
         */
        value?: string;
    }
    interface GetGatewaysTagFilterArgs {
        /**
         * The tag key of cloud resource instance.
         */
        key?: pulumi.Input<string>;
        /**
         * The tag value of cloud resource instance.
         */
        value?: pulumi.Input<string>;
    }
    interface GetVirtualInterfacesTagFilter {
        /**
         * The tag key of cloud resource instance.
         */
        key?: string;
        /**
         * The tag value of cloud resource instance.
         */
        value?: string;
    }
    interface GetVirtualInterfacesTagFilterArgs {
        /**
         * The tag key of cloud resource instance.
         */
        key?: pulumi.Input<string>;
        /**
         * The tag value of cloud resource instance.
         */
        value?: pulumi.Input<string>;
    }
    interface VirtualInterfaceTag {
        /**
         * The tag key.
         */
        key?: pulumi.Input<string>;
        /**
         * The tag value.
         */
        value?: pulumi.Input<string>;
    }
    interface VirtualInterfacesTagFilter {
        /**
         * The tag key of cloud resource instance.
         */
        key?: string;
        /**
         * The tag value of cloud resource instance.
         */
        value?: string;
    }
    interface VirtualInterfacesTagFilterArgs {
        /**
         * The tag key of cloud resource instance.
         */
        key?: pulumi.Input<string>;
        /**
         * The tag value of cloud resource instance.
         */
        value?: pulumi.Input<string>;
    }
}
export declare namespace dns {
    interface GetZonesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        values: string[];
    }
    interface GetZonesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ZoneTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ZonesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        values: string[];
    }
    interface ZonesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace ebs {
    interface AutoSnapshotPoliciesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface AutoSnapshotPoliciesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface AutoSnapshotPolicyTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetAutoSnapshotPoliciesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetAutoSnapshotPoliciesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetSnapshotsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetSnapshotsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetVolumesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetVolumesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface SnapshotGroupTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface SnapshotTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface SnapshotsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface SnapshotsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VolumeTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VolumesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface VolumesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace ecs {
    interface CommandParameterDefinition {
        /**
         * The decimal precision of the custom parameter. This field is required when the parameter type is `Digit`.
         */
        decimalPrecision?: pulumi.Input<number>;
        /**
         * The default value of the custom parameter.
         */
        defaultValue?: pulumi.Input<string>;
        /**
         * The maximum length of the custom parameter. This field is required when the parameter type is `String`.
         */
        maxLength?: pulumi.Input<number>;
        /**
         * The maximum value of the custom parameter. This field is required when the parameter type is `Digit`.
         */
        maxValue?: pulumi.Input<string>;
        /**
         * The minimum length of the custom parameter. This field is required when the parameter type is `String`.
         */
        minLength?: pulumi.Input<number>;
        /**
         * The minimum value of the custom parameter. This field is required when the parameter type is `Digit`.
         */
        minValue?: pulumi.Input<string>;
        /**
         * The name of the custom parameter.
         */
        name: pulumi.Input<string>;
        /**
         * Whether the custom parameter is required.
         */
        required?: pulumi.Input<boolean>;
        /**
         * The type of the custom parameter. Valid values: `String`, `Digit`.
         */
        type: pulumi.Input<string>;
    }
    interface CommandTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface CommandsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface CommandsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetCommandsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetCommandsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetHpcClustersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetHpcClustersTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetImagesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetImagesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetInstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetInstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetInvocationsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetInvocationsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetKeyPairsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetKeyPairsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetLaunchTemplatesLaunchTemplateTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetLaunchTemplatesLaunchTemplateTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface HpcClusterTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface HpcClustersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface HpcClustersTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ImageImportTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ImageTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ImagesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface ImagesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceCpuOptions {
        /**
         * The number of subnuma in socket, only support for ebm. `1` indicates disabling SNC/NPS function. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
         */
        numaPerSocket?: pulumi.Input<number>;
        /**
         * The per core of threads, only support for ebm. `1` indicates disabling hyper threading function.
         */
        threadsPerCore?: pulumi.Input<number>;
    }
    interface InstanceDataVolume {
        /**
         * The delete with instance flag of volume.
         */
        deleteWithInstance?: pulumi.Input<boolean>;
        /**
         * The size of volume. The value range of the data volume size is ESSD_PL0: 10~32768, ESSD_FlexPL: 10~32768, PTSSD: 20~8192.
         */
        size: pulumi.Input<number>;
        /**
         * The type of volume, the value is `PTSSD` or `ESSD_PL0` or `ESSD_PL1` or `ESSD_PL2` or `ESSD_FlexPL`.
         */
        volumeType: pulumi.Input<string>;
    }
    interface InstanceEipAddress {
        /**
         * The peek bandwidth of the EIP. The value range in 1~500 for PostPaidByBandwidth, and 1~200 for PostPaidByTraffic. Default is 1.
         */
        bandwidthMbps?: pulumi.Input<number>;
        /**
         * The id of the bandwidth package, indicates that the public IP address will be added to the bandwidth package.
         */
        bandwidthPackageId?: pulumi.Input<string>;
        /**
         * The billing type of the EIP Address. Valid values: `PayByBandwidth`, `PayByTraffic`. Default is `PayByBandwidth`.
         */
        chargeType?: pulumi.Input<string>;
        /**
         * The ISP of the EIP. Valid values: `BGP`, `ChinaMobile`, `ChinaUnicom`, `ChinaTelecom`, `SingleLine_BGP`, `Static_BGP`.
         */
        isp?: pulumi.Input<string>;
    }
    interface InstanceGpuDevice {
        /**
         * The Count of GPU device.
         */
        count?: pulumi.Input<number>;
        /**
         * The Encrypted Memory Size of GPU device.
         */
        encryptedMemorySize?: pulumi.Input<number>;
        /**
         * The memory size of ECS instance.
         */
        memorySize?: pulumi.Input<number>;
        /**
         * The Product Name of GPU device.
         */
        productName?: pulumi.Input<string>;
    }
    interface InstanceSecondaryNetworkInterface {
        /**
         * The private ip address of secondary networkInterface.
         */
        primaryIpAddress?: pulumi.Input<string>;
        /**
         * The security group ID set of secondary networkInterface.
         */
        securityGroupIds: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The subnet ID of secondary networkInterface.
         */
        subnetId: pulumi.Input<string>;
    }
    interface InstanceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface InstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InvocationParameter {
        /**
         * The name of the parameter.
         */
        name: pulumi.Input<string>;
        /**
         * The value of the parameter.
         */
        value: pulumi.Input<string>;
    }
    interface InvocationTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InvocationsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface InvocationsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface KeyPairTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface KeyPairsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface KeyPairsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface LaunchTemplateLaunchTemplateTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface LaunchTemplateNetworkInterface {
        /**
         * The security group ID associated with the NIC.
         */
        securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The private network subnet ID of the instance, when creating the instance, supports binding the secondary NIC at the same time.
         */
        subnetId?: pulumi.Input<string>;
    }
    interface LaunchTemplateTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface LaunchTemplateVolume {
        /**
         * The delete with instance flag of volume. Valid values: true, false. Default value: true.
         */
        deleteWithInstance?: pulumi.Input<boolean>;
        /**
         * The size of volume.
         */
        size?: pulumi.Input<number>;
        /**
         * The type of volume.
         */
        volumeType?: pulumi.Input<string>;
    }
    interface LaunchTemplatesLaunchTemplateTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface LaunchTemplatesLaunchTemplateTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace eip {
    interface AddressTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface AddressesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface AddressesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetAddressesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetAddressesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace escloud {
    interface InstanceInstanceConfiguration {
        /**
         * The password of administrator account. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
         */
        adminPassword: pulumi.Input<string>;
        /**
         * The name of administrator account(should be admin).
         */
        adminUserName: pulumi.Input<string>;
        /**
         * The charge type of ESCloud instance, the value can be PostPaid or PrePaid.
         */
        chargeType: pulumi.Input<string>;
        /**
         * Configuration code used for billing.
         */
        configurationCode: pulumi.Input<string>;
        /**
         * Whether Https access is enabled.
         */
        enableHttps: pulumi.Input<boolean>;
        /**
         * Whether the Master node is independent.
         */
        enablePureMaster: pulumi.Input<boolean>;
        /**
         * Whether to force restart when changes are made. If true, it means that the cluster will be forced to restart without paying attention to instance availability. Works only on modified the nodeSpecsAssigns field.
         */
        forceRestartAfterScale?: pulumi.Input<boolean>;
        /**
         * The name of ESCloud instance.
         */
        instanceName?: pulumi.Input<string>;
        /**
         * The maintainable date for the instance. Works only on modified scenes.
         */
        maintenanceDays?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The maintainable time period for the instance. Works only on modified scenes.
         */
        maintenanceTime?: pulumi.Input<string>;
        /**
         * The number and configuration of various ESCloud instance node. Kibana NodeSpecsAssign should not be modified.
         */
        nodeSpecsAssigns: pulumi.Input<pulumi.Input<inputs.escloud.InstanceInstanceConfigurationNodeSpecsAssign>[]>;
        /**
         * The project name  to which the ESCloud instance belongs.
         */
        projectName?: pulumi.Input<string>;
        /**
         * The region ID of ESCloud instance.
         */
        regionId?: pulumi.Input<string>;
        /**
         * The ID of subnet, the subnet must belong to the AZ selected.
         */
        subnetId: pulumi.Input<string>;
        /**
         * The version of ESCloud instance, the value is V6_7 or V7_10.
         */
        version: pulumi.Input<string>;
        /**
         * The available zone ID of ESCloud instance.
         */
        zoneId?: pulumi.Input<string>;
        /**
         * The zone count of the ESCloud instance used.
         */
        zoneNumber: pulumi.Input<number>;
    }
    interface InstanceInstanceConfigurationNodeSpecsAssign {
        /**
         * The number of node.
         */
        number: pulumi.Input<number>;
        /**
         * The name of compute resource spec, the value is `kibana.x2.small` or `es.x4.medium` or `es.x4.large` or `es.x4.xlarge` or `es.x2.2xlarge` or `es.x4.2xlarge` or `es.x2.3xlarge`.
         */
        resourceSpecName: pulumi.Input<string>;
        /**
         * The size of storage. Kibana NodeSpecsAssign should not specify this field.
         */
        storageSize?: pulumi.Input<number>;
        /**
         * The name of storage spec. Kibana NodeSpecsAssign should not specify this field.
         */
        storageSpecName?: pulumi.Input<string>;
        /**
         * The type of node, the value is `Master` or `Hot` or `Kibana`.
         */
        type: pulumi.Input<string>;
    }
}
export declare namespace escloud_v2 {
    interface EscloudInstanceV2NetworkSpec {
        /**
         * The bandwidth of the eip. Unit: Mbps.
         */
        bandwidth: pulumi.Input<number>;
        /**
         * Whether the eip is opened.
         */
        isOpen: pulumi.Input<boolean>;
        /**
         * The spec name of public network.
         */
        specName: pulumi.Input<string>;
        /**
         * The type of public network, valid values: `Elasticsearch`, `Kibana`.
         */
        type: pulumi.Input<string>;
    }
    interface EscloudInstanceV2NodeSpecsAssign {
        /**
         * The extra performance of FlexPL storage spec.
         */
        extraPerformance?: pulumi.Input<inputs.escloud_v2.EscloudInstanceV2NodeSpecsAssignExtraPerformance>;
        /**
         * The number of node.
         */
        number: pulumi.Input<number>;
        /**
         * The name of compute resource spec.
         */
        resourceSpecName: pulumi.Input<string>;
        /**
         * The size of storage. Unit: GiB. the adjustment step size is 10GiB. Default is 100 GiB. Kibana NodeSpecsAssign should specify this field to 0.
         */
        storageSize: pulumi.Input<number>;
        /**
         * The name of storage spec. Kibana NodeSpecsAssign should specify this field to ``.
         */
        storageSpecName: pulumi.Input<string>;
        /**
         * The type of node, valid values: `Master`, `Hot`, `Cold`, `Warm`, `Kibana`, `Coordinator`.
         */
        type: pulumi.Input<string>;
    }
    interface EscloudInstanceV2NodeSpecsAssignExtraPerformance {
        /**
         * When your data node chooses to use FlexPL storage type and the storage specification configuration is 500GiB or above, it supports purchasing bandwidth packages to increase disk bandwidth.
         * The unit is MiB, and the adjustment step size is 10MiB.
         */
        throughput: pulumi.Input<number>;
    }
    interface EscloudInstanceV2Tag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface EscloudInstancesV2Tag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        values: string[];
    }
    interface EscloudInstancesV2TagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface GetEscloudInstancesV2Tag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        values: string[];
    }
    interface GetEscloudInstancesV2TagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace financial_relation {
}
export declare namespace iam {
    interface AllowedIpAddressIpList {
        /**
         * The description of the IP address.
         */
        description?: pulumi.Input<string>;
        /**
         * The IP address.
         */
        ip: pulumi.Input<string>;
    }
    interface RoleTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ServiceLinkedRoleTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TagTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface UserTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace kafka {
    interface GetGroupsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetGroupsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetInstancesTag {
        /**
         * The key of tag.
         */
        key: string;
        /**
         * The value of tag.
         */
        value: string;
    }
    interface GetInstancesTagArgs {
        /**
         * The key of tag.
         */
        key: pulumi.Input<string>;
        /**
         * The value of tag.
         */
        value: pulumi.Input<string>;
    }
    interface GetTopicsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetTopicsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GroupTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GroupsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GroupsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceParameter {
        /**
         * Parameter name.
         */
        parameterName: pulumi.Input<string>;
        /**
         * Parameter value.
         */
        parameterValue: pulumi.Input<string>;
    }
    interface InstanceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstancesTag {
        /**
         * The key of tag.
         */
        key: string;
        /**
         * The value of tag.
         */
        value: string;
    }
    interface InstancesTagArgs {
        /**
         * The key of tag.
         */
        key: pulumi.Input<string>;
        /**
         * The value of tag.
         */
        value: pulumi.Input<string>;
    }
    interface TopicAccessPolicy {
        /**
         * The access policy of SASL user. Valid values: `PubSub`, `Pub`, `Sub`.
         */
        accessPolicy: pulumi.Input<string>;
        /**
         * The name of SASL user.
         */
        userName: pulumi.Input<string>;
    }
    interface TopicParameters {
        /**
         * The retention hours of log. Unit: hour. Valid values: 0-2160. Default is 72.
         */
        logRetentionHours?: pulumi.Input<number>;
        /**
         * The max byte of message. Unit: MB. Valid values: 1-12. Default is 10.
         */
        messageMaxByte?: pulumi.Input<number>;
        /**
         * The min number of sync replica. The default value is the replica number minus 1.
         */
        minInsyncReplicaNumber?: pulumi.Input<number>;
    }
    interface TopicTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TopicsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface TopicsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace kms {
    interface GetKeysTag {
        /**
         * The key of the tag.
         */
        key: string;
        /**
         * The values of the tag.
         */
        values: string[];
    }
    interface GetKeysTagArgs {
        /**
         * The key of the tag.
         */
        key: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface KeyMultiRegionConfiguration {
        /**
         * The type of the multi-region key.
         */
        multiRegionKeyType?: pulumi.Input<string>;
        /**
         * Trn and region id of the primary multi-region key.
         */
        primaryKey?: pulumi.Input<inputs.kms.KeyMultiRegionConfigurationPrimaryKey>;
        /**
         * Trn and region id of replica multi-region keys.
         */
        replicaKeys?: pulumi.Input<pulumi.Input<inputs.kms.KeyMultiRegionConfigurationReplicaKey>[]>;
    }
    interface KeyMultiRegionConfigurationPrimaryKey {
        /**
         * The region id of multi-region key.
         */
        region?: pulumi.Input<string>;
        /**
         * The name of the resource.
         */
        trn?: pulumi.Input<string>;
    }
    interface KeyMultiRegionConfigurationReplicaKey {
        /**
         * The region id of multi-region key.
         */
        region?: pulumi.Input<string>;
        /**
         * The name of the resource.
         */
        trn?: pulumi.Input<string>;
    }
    interface KeyTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface KeysTag {
        /**
         * The key of the tag.
         */
        key: string;
        /**
         * The values of the tag.
         */
        values: string[];
    }
    interface KeysTagArgs {
        /**
         * The key of the tag.
         */
        key: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ReplicateKeyTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace mongodb {
    interface AccountAccountPrivilege {
        /**
         * The name of database.
         */
        dbName: pulumi.Input<string>;
        /**
         * The role names of the account.
         */
        roleNames: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface GetInstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetInstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceMongo {
        /**
         * The mongos node ID.
         */
        mongosNodeId?: pulumi.Input<string>;
        /**
         * The spec of node. When the instanceType is ReplicaSet, this parameter represents the computing node specification of the replica set instance. When the instanceType is ShardedCluster, this parameter represents the specification of the Shard node.
         */
        nodeSpec?: pulumi.Input<string>;
        /**
         * The node status.
         */
        nodeStatus?: pulumi.Input<string>;
    }
    interface InstanceNodeAvailabilityZone {
        /**
         * The number of readonly nodes in current zone. Currently, only ReplicaSet instances and Shard in ShardedCluster instances support adding readonly nodes.
         * When the instanceType is ReplicaSet, this value represents the total number of readonly nodes in a single replica set instance. Each instance of the replica set supports adding up to 5 readonly nodes.
         * When the instanceType is ShardedCluster, this value represents the number of readonly nodes in each shard. Each shard can add up to 5 readonly nodes.
         */
        nodeNumber: pulumi.Input<number>;
        /**
         * The zone id of readonly nodes.
         */
        zoneId: pulumi.Input<string>;
    }
    interface InstanceShard {
        /**
         * The shard id.
         */
        shardId?: pulumi.Input<string>;
    }
    interface InstanceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface InstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface MongoAllowListAssociatedInstance {
        /**
         * The instance id that bound to the allow list.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * The instance name that bound to the allow list.
         */
        instanceName?: pulumi.Input<string>;
        /**
         * The project name of the allow list.
         */
        projectName?: pulumi.Input<string>;
        /**
         * The VPC ID.
         */
        vpc?: pulumi.Input<string>;
    }
}
export declare namespace nas {
    interface FileSystemTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface FileSystemsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface FileSystemsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetFileSystemsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetFileSystemsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetPermissionGroupsFilter {
        /**
         * Filters permission groups for specified characteristics based on attributes. The parameters that support filtering are as follows: `PermissionGroupName`, `PermissionGroupId`.
         */
        key: string;
        /**
         * The value of the filter item.
         */
        value: string;
    }
    interface GetPermissionGroupsFilterArgs {
        /**
         * Filters permission groups for specified characteristics based on attributes. The parameters that support filtering are as follows: `PermissionGroupName`, `PermissionGroupId`.
         */
        key: pulumi.Input<string>;
        /**
         * The value of the filter item.
         */
        value: pulumi.Input<string>;
    }
    interface PermissionGroupPermissionRule {
        /**
         * Client IP addresses that are allowed access.
         */
        cidrIp: pulumi.Input<string>;
        /**
         * Permission group read and write rules. The value description is as follows:
         * `RW`: Allows reading and writing.
         * `RO`: read-only mode.
         */
        rwMode: pulumi.Input<string>;
        /**
         * Permission group user permissions. The value description is as follows:
         * `All_squash`: All access users are mapped to anonymous users or user groups.
         * `No_all_squash`: The access user is first matched with the local user, and then mapped to an anonymous user or user group after the match fails.
         * `Root_squash`: Map the Root user as an anonymous user or user group.
         * `No_root_squash`: The Root user maintains the Root account authority.
         */
        useMode: pulumi.Input<string>;
    }
    interface PermissionGroupsFilter {
        /**
         * Filters permission groups for specified characteristics based on attributes. The parameters that support filtering are as follows: `PermissionGroupName`, `PermissionGroupId`.
         */
        key: string;
        /**
         * The value of the filter item.
         */
        value: string;
    }
    interface PermissionGroupsFilterArgs {
        /**
         * Filters permission groups for specified characteristics based on attributes. The parameters that support filtering are as follows: `PermissionGroupName`, `PermissionGroupId`.
         */
        key: pulumi.Input<string>;
        /**
         * The value of the filter item.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace nat {
    interface GatewayTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        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 nlb {
    interface BackendServerBackendServer {
        /**
         * The description of the backend server.
         */
        description?: pulumi.Input<string>;
        /**
         * The instance id of the backend server.
         */
        instanceId: pulumi.Input<string>;
        /**
         * The ip of the backend server.
         */
        ip: pulumi.Input<string>;
        /**
         * The port of the backend server.
         */
        port: pulumi.Input<number>;
        /**
         * The server id of the backend server.
         */
        serverId?: pulumi.Input<string>;
        /**
         * The type of the backend server. Valid values: `ecs`, `eni`, `ip`.
         */
        type: pulumi.Input<string>;
        /**
         * The weight of the backend server.
         */
        weight?: pulumi.Input<number>;
        /**
         * The zone id of the backend server.
         */
        zoneId?: 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 GetNetworkLoadBalancersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetNetworkLoadBalancersTagArgs {
        /**
         * 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 GetTagsTagFilter {
        /**
         * The key of the tag.
         */
        key: string;
        /**
         * The values of the tag.
         */
        values: string[];
    }
    interface GetTagsTagFilterArgs {
        /**
         * The key of the tag.
         */
        key: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values: pulumi.Input<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 NetworkLoadBalancerAccessLogConfig {
        /**
         * Whether to enable access logging. Valid values: `true`, `false`.
         * `true`: Enable.
         * `false`: Disable.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * The project name where the access log topic resides.
         */
        projectName?: pulumi.Input<string>;
        /**
         * The topic ID of the access log.
         */
        topicId?: pulumi.Input<string>;
        /**
         * The topic name of the access log.
         */
        topicName?: pulumi.Input<string>;
    }
    interface NetworkLoadBalancerTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface NetworkLoadBalancerZoneMapping {
        /**
         * The ID of the EIP.
         */
        eipId?: pulumi.Input<string>;
        /**
         * The ID of the ENI.
         */
        eniId?: pulumi.Input<string>;
        /**
         * The IPv4 address of the NLB instance.
         */
        ipv4Address?: pulumi.Input<string>;
        /**
         * The public IPv4 address.
         */
        ipv4EipAddress?: pulumi.Input<string>;
        /**
         * The ID of the EIP.
         */
        ipv4EipId?: pulumi.Input<string>;
        /**
         * The IPv4 health check status.
         */
        ipv4HcStatus?: pulumi.Input<string>;
        /**
         * The IPv6 address of the NLB instance.
         */
        ipv6Address?: pulumi.Input<string>;
        /**
         * The ID of the IPv6 EIP.
         */
        ipv6EipId?: pulumi.Input<string>;
        /**
         * The IPv6 health check status.
         */
        ipv6HcStatus?: pulumi.Input<string>;
        /**
         * The ID of the subnet.
         */
        subnetId: pulumi.Input<string>;
        /**
         * The ID of the zone.
         */
        zoneId: pulumi.Input<string>;
    }
    interface NetworkLoadBalancersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface NetworkLoadBalancersTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ServerGroupHealthCheck {
        /**
         * The domain of health check. Only available when `HealthCheck.Type` is `HTTP`.
         */
        domain?: pulumi.Input<string>;
        /**
         * Whether to enable health check. Valid values: `true` (default), `false`.
         */
        enabled?: pulumi.Input<boolean>;
        /**
         * The healthy threshold of health check. Value range: 2 ~ 10. Default is 3.
         */
        healthyThreshold?: pulumi.Input<number>;
        /**
         * The http code of health check. Valid values: `http2xx`, `http3xx`, `http4xx`, `http5xx`. Default is `http_2xx,http_3xx`. Only available when `HealthCheck.Type` is `HTTP`.
         */
        httpCode?: pulumi.Input<string>;
        /**
         * The interval of health check. Unit: second. Value range: 1 ~ 300. Default is 2.
         */
        interval?: pulumi.Input<number>;
        /**
         * The method of health check. Valid values: `GET` (default), `HEAD`. Only available when `HealthCheck.Type` is `HTTP`.
         */
        method?: pulumi.Input<string>;
        /**
         * The port of health check. Value range: 1 ~ 65535. Default is 0, which means using the port of the backend server.
         */
        port?: pulumi.Input<number>;
        /**
         * The response timeout of health check. Unit: second. Value range: 1 ~ 60. Default is 2.
         */
        timeout?: pulumi.Input<number>;
        /**
         * The type of the health check. Valid values: `TCP` (default), `HTTP`, `UDP`.
         */
        type?: pulumi.Input<string>;
        /**
         * The udp connect timeout of health check. Unit: second. Value range: 1 ~ 60. Default is 3. Only available when `HealthCheck.Type` is `UDP`.
         */
        udpConnectTimeout?: pulumi.Input<number>;
        /**
         * The udp expect of health check. Only available when `HealthCheck.Type` is `UDP`.
         */
        udpExpect?: pulumi.Input<string>;
        /**
         * The udp request of health check. Only available when `HealthCheck.Type` is `UDP`.
         */
        udpRequest?: pulumi.Input<string>;
        /**
         * The unhealthy threshold of health check. Value range: 2 ~ 10. Default is 3.
         */
        unhealthyThreshold?: pulumi.Input<number>;
        /**
         * The uri of health check. Must start with `/`. Only available when `HealthCheck.Type` is `HTTP`.
         */
        uri?: pulumi.Input<string>;
    }
    interface ServerGroupServer {
        /**
         * The description of the backend server.
         */
        description?: pulumi.Input<string>;
        /**
         * The instance ID of the backend server.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * The IP address of the backend server.
         */
        ip?: pulumi.Input<string>;
        /**
         * The port of the backend server.
         */
        port?: pulumi.Input<number>;
        /**
         * The ID of the backend server.
         */
        serverId?: pulumi.Input<string>;
        /**
         * The type of the backend server. Valid values: `ecs`, `eni`, `ip`.
         */
        type?: pulumi.Input<string>;
        /**
         * The weight of the backend server. Value range: 0 ~ 100. Default is 100.
         */
        weight?: pulumi.Input<number>;
        /**
         * The zone ID of the backend server.
         */
        zoneId?: 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>;
    }
    interface TagTag {
        key: pulumi.Input<string>;
        value: pulumi.Input<string>;
    }
    interface TagsTagFilter {
        /**
         * The key of the tag.
         */
        key: string;
        /**
         * The values of the tag.
         */
        values: string[];
    }
    interface TagsTagFilterArgs {
        /**
         * The key of the tag.
         */
        key: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace organization {
    interface AccountTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace private_zone {
    interface GetPrivateZonesTagFilter {
        /**
         * The key of the tag.
         */
        key?: string;
        /**
         * The values of the tag.
         */
        values?: string[];
    }
    interface GetPrivateZonesTagFilterArgs {
        /**
         * The key of the tag.
         */
        key?: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface GetResolverEndpointsTagFilter {
        /**
         * The key of the tag.
         */
        key?: string;
        /**
         * The values of the tag.
         */
        values?: string[];
    }
    interface GetResolverEndpointsTagFilterArgs {
        /**
         * The key of the tag.
         */
        key?: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface GetResolverRulesTagFilter {
        /**
         * The key of the tag.
         */
        key?: string;
        /**
         * The values of the tag.
         */
        values?: string[];
    }
    interface GetResolverRulesTagFilterArgs {
        /**
         * The key of the tag.
         */
        key?: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface PrivateZoneTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface PrivateZoneVpc {
        /**
         * The region of the bind vpc. The default value is the region of the default provider config.
         */
        region?: pulumi.Input<string>;
        /**
         * The id of the bind vpc.
         */
        vpcId: pulumi.Input<string>;
    }
    interface PrivateZonesTagFilter {
        /**
         * The key of the tag.
         */
        key?: string;
        /**
         * The values of the tag.
         */
        values?: string[];
    }
    interface PrivateZonesTagFilterArgs {
        /**
         * The key of the tag.
         */
        key?: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ResolverEndpointIpConfig {
        /**
         * Id of the availability zone.
         */
        azId: pulumi.Input<string>;
        /**
         * Source IP address of traffic. You can add up to 6 IP addresses at most. To ensure high availability, you must add at least two IP addresses.
         */
        ip: pulumi.Input<string>;
        /**
         * Id of the subnet.
         */
        subnetId: pulumi.Input<string>;
    }
    interface ResolverEndpointTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ResolverEndpointsTagFilter {
        /**
         * The key of the tag.
         */
        key?: string;
        /**
         * The values of the tag.
         */
        values?: string[];
    }
    interface ResolverEndpointsTagFilterArgs {
        /**
         * The key of the tag.
         */
        key?: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ResolverRuleForwardIp {
        /**
         * IP address of the external DNS server. This parameter is only valid when the Type parameter is OUTBOUND and is a required parameter.
         */
        ip: pulumi.Input<string>;
        /**
         * The port of the external DNS server. Default is 53. This parameter is only valid and optional when the Type parameter is OUTBOUND.
         */
        port?: pulumi.Input<number>;
    }
    interface ResolverRuleTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ResolverRuleVpc {
        /**
         * The region of the bind vpc. The default value is the region of the default provider config.
         */
        region?: pulumi.Input<string>;
        /**
         * The id of the bind vpc.
         */
        vpcId: pulumi.Input<string>;
    }
    interface ResolverRulesTagFilter {
        /**
         * The key of the tag.
         */
        key?: string;
        /**
         * The values of the tag.
         */
        values?: string[];
    }
    interface ResolverRulesTagFilterArgs {
        /**
         * The key of the tag.
         */
        key?: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace privatelink {
    interface GetVpcEndpointServicesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetVpcEndpointServicesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetVpcEndpointsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetVpcEndpointsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetVpcGatewayEndpointsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetVpcGatewayEndpointsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpcEndpointConnectionZone {
        /**
         * The id of the network interface.
         */
        networkInterfaceId?: pulumi.Input<string>;
        /**
         * The ip address of the network interface.
         */
        networkInterfaceIp?: pulumi.Input<string>;
        /**
         * The id of the resource.
         */
        resourceId?: pulumi.Input<string>;
        /**
         * The id of the subnet.
         */
        subnetId?: pulumi.Input<string>;
        /**
         * The domain of the zone.
         */
        zoneDomain?: pulumi.Input<string>;
        /**
         * The id of the zone.
         */
        zoneId?: pulumi.Input<string>;
        /**
         * The status of the zone.
         */
        zoneStatus?: pulumi.Input<string>;
    }
    interface VpcEndpointServiceResource {
        /**
         * The id of resource.
         */
        resourceId: pulumi.Input<string>;
        /**
         * The type of resource.
         */
        resourceType: pulumi.Input<string>;
    }
    interface VpcEndpointServiceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpcEndpointServicesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface VpcEndpointServicesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpcEndpointTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpcEndpointsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface VpcEndpointsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpcGatewayEndpointTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpcGatewayEndpointsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface VpcGatewayEndpointsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace rabbitmq {
    interface GetInstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetInstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceChargeInfo {
        /**
         * Whether to automatically renew in prepaid scenarios. Default is false.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * The charge type of the rabbitmq instance. Valid values: `PostPaid`, `PrePaid`.
         */
        chargeType: pulumi.Input<string>;
        /**
         * Purchase duration in prepaid scenarios. When PeriodUnit is specified as `Month`, the value range is 1-9. When PeriodUnit is specified as `Year`, the value range is 1-3. Default is 1.
         */
        period?: pulumi.Input<number>;
        /**
         * The purchase cycle in the prepaid scenario. Valid values: `Month`, `Year`. Default is `Month`.
         */
        periodUnit?: pulumi.Input<string>;
    }
    interface InstanceEndpoint {
        /**
         * The endpoint type of the rabbitmq instance.
         */
        endpointType?: pulumi.Input<string>;
        /**
         * The internal endpoint of the rabbitmq instance.
         */
        internalEndpoint?: pulumi.Input<string>;
        /**
         * The network type of the rabbitmq instance.
         */
        networkType?: pulumi.Input<string>;
        /**
         * The public endpoint of the rabbitmq instance.
         */
        publicEndpoint?: pulumi.Input<string>;
    }
    interface InstanceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface InstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace rds {
    interface AccountPrivilegeDbPrivilege {
        /**
         * The privilege type of the account.
         */
        accountPrivilege: pulumi.Input<string>;
        /**
         * The privilege string of the account.
         */
        accountPrivilegeStr?: pulumi.Input<string>;
        /**
         * The name of database.
         */
        dbName: pulumi.Input<string>;
    }
    interface InstanceConnectionInfo {
        /**
         * Whether global read-only is enabled.
         */
        enableReadOnly?: pulumi.Input<string>;
        /**
         * Whether read-write separation is enabled.
         */
        enableReadWriteSplitting?: pulumi.Input<string>;
        /**
         * The internal domain of the RDS instance.
         */
        internalDomain?: pulumi.Input<string>;
        /**
         * The interval port of the RDS instance.
         */
        internalPort?: pulumi.Input<string>;
        /**
         * The public domain of the RDS instance.
         */
        publicDomain?: pulumi.Input<string>;
        /**
         * The public port of the RDS instance.
         */
        publicPort?: pulumi.Input<string>;
    }
    interface ParameterTemplateTemplateParam {
        /**
         * Parameter name.
         */
        name?: pulumi.Input<string>;
        /**
         * Parameter running value.
         */
        runningValue?: pulumi.Input<string>;
    }
}
export declare namespace rds_mssql {
    interface BackupBackupMeta {
        /**
         * The name of the database.
         */
        dbName: pulumi.Input<string>;
    }
    interface GetInstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetInstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceChargeInfo {
        /**
         * Whether to enable automatic renewal in the prepaid scenario. This parameter can be set when the ChargeType is `Prepaid`.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * Charge end time.
         */
        chargeEndTime?: pulumi.Input<string>;
        /**
         * Charge start time.
         */
        chargeStartTime?: pulumi.Input<string>;
        /**
         * The charge status.
         */
        chargeStatus?: pulumi.Input<string>;
        /**
         * The charge type. Valid values: `PostPaid`, `PrePaid`.
         */
        chargeType: pulumi.Input<string>;
        /**
         * Expected release time when overdue fees are shut down.
         */
        overdueReclaimTime?: pulumi.Input<string>;
        /**
         * Time for Disconnection due to Unpaid Fees.
         */
        overdueTime?: pulumi.Input<string>;
        /**
         * Purchase duration in a prepaid scenario. This parameter is required when the ChargeType is `Prepaid`.
         */
        period?: pulumi.Input<number>;
    }
    interface InstanceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface InstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace rds_mysql {
    interface AccountAccountPrivilege {
        /**
         * The privilege type of the account.
         */
        accountPrivilege: pulumi.Input<string>;
        /**
         * The privilege detail of the account.
         */
        accountPrivilegeDetail?: pulumi.Input<string>;
        /**
         * The name of database.
         */
        dbName: pulumi.Input<string>;
    }
    interface AccountTableColumnPrivilege {
        /**
         * Column permission information of the account.
         */
        columnPrivileges?: pulumi.Input<pulumi.Input<inputs.rds_mysql.AccountTableColumnPrivilegeColumnPrivilege>[]>;
        /**
         * Settings for table column permissions of the account.
         */
        dbName: pulumi.Input<string>;
        /**
         * Table permission information of the account.
         */
        tablePrivileges?: pulumi.Input<pulumi.Input<inputs.rds_mysql.AccountTableColumnPrivilegeTablePrivilege>[]>;
    }
    interface AccountTableColumnPrivilegeColumnPrivilege {
        /**
         * Table privileges of the account.
         */
        accountPrivilegeDetail?: pulumi.Input<string>;
        /**
         * The name of the column for setting permissions on the account.
         */
        columnName: pulumi.Input<string>;
        /**
         * The name of the table for setting permissions on the account.
         */
        tableName: pulumi.Input<string>;
    }
    interface AccountTableColumnPrivilegeTablePrivilege {
        /**
         * Table privileges of the account.
         */
        accountPrivilegeDetail?: pulumi.Input<string>;
        /**
         * The name of the table for setting permissions on the account.
         */
        tableName: pulumi.Input<string>;
    }
    interface AllowlistSecurityGroupBindInfo {
        /**
         * The schema for the associated security group.
         * IngressDirectionIp: Incoming Direction IP.
         * AssociateEcsIp: Associate ECSIP.
         * explain: In the CreateAllowList interface, SecurityGroupBindInfoObject BindMode and SecurityGroupId fields are required.
         */
        bindMode: pulumi.Input<string>;
        /**
         * The security group id of the allow list.
         */
        securityGroupId: pulumi.Input<string>;
    }
    interface BackupBackupMeta {
        /**
         * Specify the database that needs to be backed up.
         */
        dbName: pulumi.Input<string>;
        /**
         * Specify the tables to be backed up in the specified database. When this field is empty, it defaults to full database backup.
         */
        tableNames?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface BackupPolicyCrossBackupPolicy {
        /**
         * Whether to enable cross-region backup.
         * true: Enable.
         * false: Disable. Default value.
         */
        backupEnabled?: pulumi.Input<boolean>;
        /**
         * The destination region ID for cross-region backup. When the value of BackupEnabled is true, this parameter is required.
         */
        crossBackupRegion?: pulumi.Input<string>;
        /**
         * Whether to enable cross-region log backup. true: Enable. false: Disable. Default value. Description: Cross-region log backup can only be enabled when cross-region backup is enabled.
         */
        logBackupEnabled?: pulumi.Input<boolean>;
        /**
         * The number of days to retain cross - region backups, with a value range of 7 to 1825 days.
         */
        retention?: pulumi.Input<number>;
    }
    interface EndpointReadOnlyNodeWeight {
        /**
         * Read-only nodes require NodeId to be passed, while primary nodes do not require it.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * The primary node needs to pass in the NodeType as Primary, while the read-only node does not need to pass it in.
         */
        nodeType?: pulumi.Input<string>;
        /**
         * The read weight of the node increases by 100, with a maximum value of 10000.
         */
        weight: pulumi.Input<number>;
    }
    interface GetInstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetInstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceAutoStorageScalingConfig {
        /**
         * Whether to enable the instance's auto - scaling function. Values:
         * true: Yes.
         * false: No. Description: When StorageConfig is used as a request parameter, if the value of EnableStorageAutoScale is false, the StorageThreshold and StorageUpperBound parameters do not need to be passed in.
         */
        enableStorageAutoScale: pulumi.Input<boolean>;
        /**
         * The proportion of available storage space that triggers automatic expansion. The value range is 10 to 50, and the default value is 10, with the unit being %.
         */
        storageThreshold?: pulumi.Input<number>;
        /**
         * The upper limit of the storage space that can be automatically expanded. The lower limit of the value of this field is the instance storage space + 20GB; the upper limit of the value is the upper limit of the storage space value range corresponding to the instance master node specification, with the unit being GB. For detailed information on the selectable storage space value range of different specifications, please refer to Product Specifications.
         */
        storageUpperBound?: pulumi.Input<number>;
    }
    interface InstanceChargeDetail {
        /**
         * Whether to automatically renew in prepaid scenarios.
         * Autorenew_Enable
         * Autorenew_Disable (default).
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * Billing expiry time (yearly and monthly only).
         */
        chargeEndTime?: pulumi.Input<string>;
        /**
         * Billing start time (pay-as-you-go & monthly subscription).
         */
        chargeStartTime?: pulumi.Input<string>;
        /**
         * Pay status. Value:
         * normal - normal
         * overdue - overdue
         * .
         */
        chargeStatus?: pulumi.Input<string>;
        /**
         * Payment type. Value:
         * PostPaid - Pay-As-You-Go
         * PrePaid - Yearly and monthly (default).
         */
        chargeType?: pulumi.Input<string>;
        /**
         * Estimated release time when arrears are closed (pay-as-you-go & monthly subscription).
         */
        overdueReclaimTime?: pulumi.Input<string>;
        /**
         * Shutdown time in arrears (pay-as-you-go & monthly subscription).
         */
        overdueTime?: pulumi.Input<string>;
        /**
         * Purchase duration in prepaid scenarios. Default: 1.
         */
        period?: pulumi.Input<number>;
        /**
         * The purchase cycle in the prepaid scenario.
         * Month - monthly subscription (default)
         * Year - Package year.
         */
        periodUnit?: pulumi.Input<string>;
        /**
         * Restore time of temporary upgrade.
         */
        tempModifyEndTime?: pulumi.Input<string>;
        /**
         * Temporary upgrade start time.
         */
        tempModifyStartTime?: pulumi.Input<string>;
    }
    interface InstanceChargeInfo {
        /**
         * Whether to automatically renew in prepaid scenarios.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * Payment type. Value:
         * PostPaid - Pay-As-You-Go
         * PrePaid - Yearly and monthly (default).
         */
        chargeType: pulumi.Input<string>;
        /**
         * Purchase duration in prepaid scenarios. Default: 1.
         */
        period?: pulumi.Input<number>;
        /**
         * The purchase cycle in the prepaid scenario.
         * Month - monthly subscription (default)
         * Year - Package year.
         */
        periodUnit?: pulumi.Input<string>;
    }
    interface InstanceEndpoint {
        /**
         * Address list.
         */
        addresses?: pulumi.Input<pulumi.Input<inputs.rds_mysql.InstanceEndpointAddress>[]>;
        /**
         * When the terminal type is read-write terminal or read-only terminal, it supports setting whether new nodes are automatically added.
         */
        autoAddNewNodes?: pulumi.Input<string>;
        /**
         * Address description.
         */
        description?: pulumi.Input<string>;
        /**
         * Whether global read-only is enabled, value: Enable: Enable. Disable: Disabled.
         */
        enableReadOnly?: pulumi.Input<string>;
        /**
         * Whether read-write separation is enabled, value: Enable: Enable. Disable: Disabled.
         */
        enableReadWriteSplitting?: pulumi.Input<string>;
        /**
         * Instance connection terminal ID.
         */
        endpointId?: pulumi.Input<string>;
        /**
         * The instance connection terminal name.
         */
        endpointName?: pulumi.Input<string>;
        /**
         * Terminal type:
         * Cluster: The default terminal. (created by default)
         * Primary: Primary node terminal.
         * Custom: Custom terminal.
         * Direct: Direct connection to the terminal. (Only the operation and maintenance side)
         * AllNode: All node terminals. (Only the operation and maintenance side).
         */
        endpointType?: pulumi.Input<string>;
        /**
         * Whether the idle connection reclaim function is enabled. true: Enabled. false: Disabled.
         */
        idleConnectionReclaim?: pulumi.Input<boolean>;
        /**
         * The list of nodes configured by the connection terminal and the corresponding read-only weights.
         */
        nodeWeights?: pulumi.Input<pulumi.Input<inputs.rds_mysql.InstanceEndpointNodeWeight>[]>;
        /**
         * Read and write mode:
         * ReadWrite: read and write
         * ReadOnly: read only (default).
         */
        readWriteMode?: pulumi.Input<string>;
    }
    interface InstanceEndpointAddress {
        /**
         * DNS Visibility.
         */
        dnsVisibility?: pulumi.Input<boolean>;
        /**
         * Connect domain name.
         */
        domain?: pulumi.Input<string>;
        /**
         * The ID of the EIP, only valid for Public addresses.
         */
        eipId?: pulumi.Input<string>;
        /**
         * The IP Address.
         */
        ipAddress?: pulumi.Input<string>;
        /**
         * Network address type, temporarily Private, Public, PublicService.
         */
        networkType?: pulumi.Input<string>;
        /**
         * The Port.
         */
        port?: pulumi.Input<string>;
        /**
         * Subnet ID of the RDS instance.
         */
        subnetId?: pulumi.Input<string>;
    }
    interface InstanceEndpointNodeWeight {
        /**
         * Node ID.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * Node type. Value: Primary: Primary node.
         * Secondary: Standby node.
         * ReadOnly: Read-only node.
         */
        nodeType?: pulumi.Input<string>;
        /**
         * The weight of the node.
         */
        weight?: pulumi.Input<number>;
    }
    interface InstanceFeatureState {
        /**
         * Whether it is enabled. Values:
         * true: Enabled.
         * false: Disabled.
         */
        enable?: pulumi.Input<boolean>;
        /**
         * Feature name.
         */
        featureName?: pulumi.Input<string>;
        /**
         * Whether it support this function. Value:
         * true: Supported.
         * false: Not supported.
         */
        support?: pulumi.Input<boolean>;
    }
    interface InstanceMaintenanceWindow {
        /**
         * Maintenance cycle granularity, values: Week: Week. Month: Month.
         */
        dayKind?: pulumi.Input<string>;
        /**
         * Specify the maintainable time period of a certain day of the week. The values are: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday. Multiple selections are allowed. If this value is not specified or is empty, it defaults to specifying all seven days of the week.
         */
        dayOfWeeks?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Maintenance period of an instance. Format: HH:mmZ-HH:mmZ (UTC time).
         */
        maintenanceTime?: pulumi.Input<string>;
    }
    interface InstanceNode {
        /**
         * Node creation local time.
         */
        createTime?: pulumi.Input<string>;
        /**
         * Instance ID.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * Memory size in GB.
         */
        memory?: pulumi.Input<number>;
        /**
         * Node ID.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * The specification of primary node and secondary node.
         */
        nodeSpec?: pulumi.Input<string>;
        /**
         * Node state, value: aligned with instance state.
         */
        nodeStatus?: pulumi.Input<string>;
        /**
         * Node type. Value: Primary: Primary node.
         * Secondary: Standby node.
         * ReadOnly: Read-only node.
         */
        nodeType?: pulumi.Input<string>;
        /**
         * The region of the RDS instance.
         */
        regionId?: pulumi.Input<string>;
        /**
         * The update time of the RDS instance.
         */
        updateTime?: pulumi.Input<string>;
        /**
         * CPU size.
         */
        vCpu?: pulumi.Input<number>;
        /**
         * The available zone of the RDS instance.
         */
        zoneId?: pulumi.Input<string>;
    }
    interface InstanceParameter {
        /**
         * Parameter name.
         */
        parameterName: pulumi.Input<string>;
        /**
         * Parameter value.
         */
        parameterValue: pulumi.Input<string>;
    }
    interface InstanceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface InstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ParameterTemplateTemplateParam {
        /**
         * Instance parameter name.
         * Description: When using CreateParameterTemplate and ModifyParameterTemplate as request parameters, only Name and RunningValue need to be passed in.
         */
        name: pulumi.Input<string>;
        /**
         * Parameter running value.
         * Description: When making request parameters in CreateParameterTemplate and ModifyParameterTemplate, only Name and RunningValue need to be passed in.
         */
        runningValue: pulumi.Input<string>;
    }
}
export declare namespace rds_postgresql {
    interface AllowlistAssociatedInstance {
        /**
         * The id of the postgresql instance.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * The name of the postgresql instance.
         */
        instanceName?: pulumi.Input<string>;
        /**
         * The id of the vpc.
         */
        vpc?: pulumi.Input<string>;
    }
    interface AllowlistSecurityGroupBindInfo {
        /**
         * The binding mode of the security group. Valid values: IngressDirectionIp, AssociateEcsIp.
         */
        bindMode: pulumi.Input<string>;
        /**
         * IP addresses in the security group.
         */
        ipLists?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The ID of the security group.
         */
        securityGroupId: pulumi.Input<string>;
        /**
         * The name of the security group.
         */
        securityGroupName?: pulumi.Input<string>;
    }
    interface DataBackupBackupMeta {
        /**
         * The name of the database.
         */
        dbName: pulumi.Input<string>;
    }
    interface DatabaseEndpointReadOnlyNodeWeight {
        /**
         * A read-only node requires passing in the NodeId. A primary node does not need to pass in the NodeId.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * Node type. Primary or ReadOnly.
         */
        nodeType?: pulumi.Input<string>;
        /**
         * Custom read weight allocation. Increases by 100, with a maximum value of 40000. Weights cannot all be set to 0.
         */
        weight?: pulumi.Input<number>;
    }
    interface GetInstancePriceDetailsChargeInfo {
        /**
         * Whether to auto renew the subscription in a pre-paid scenario.
         */
        autoRenew?: boolean;
        /**
         * The charge type of the instance. Valid values: PostPaid, PrePaid.
         */
        chargeType: string;
        /**
         * Number of purchased instances. Can be an integer between 1 and 20. Default value:1.
         */
        number?: number;
        /**
         * Subscription duration in a pre-paid scenario.Default value:1.
         */
        period?: number;
        /**
         * Purchase cycle in a pre-paid scenario. Valid values: Month, Year.
         */
        periodUnit?: string;
    }
    interface GetInstancePriceDetailsChargeInfoArgs {
        /**
         * Whether to auto renew the subscription in a pre-paid scenario.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * The charge type of the instance. Valid values: PostPaid, PrePaid.
         */
        chargeType: pulumi.Input<string>;
        /**
         * Number of purchased instances. Can be an integer between 1 and 20. Default value:1.
         */
        number?: pulumi.Input<number>;
        /**
         * Subscription duration in a pre-paid scenario.Default value:1.
         */
        period?: pulumi.Input<number>;
        /**
         * Purchase cycle in a pre-paid scenario. Valid values: Month, Year.
         */
        periodUnit?: pulumi.Input<string>;
    }
    interface GetInstancePriceDetailsNodeInfo {
        /**
         * The id of the node.
         */
        nodeId?: string;
        /**
         * The operate type of the node. Valid values: Create.
         */
        nodeOperateType?: string;
        /**
         * The specification of the node.
         */
        nodeSpec: string;
        /**
         * The type of the node. Valid values: Primary, Secondary, ReadOnly.
         */
        nodeType: string;
        /**
         * The AZ of the node.
         */
        zoneId: string;
    }
    interface GetInstancePriceDetailsNodeInfoArgs {
        /**
         * The id of the node.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * The operate type of the node. Valid values: Create.
         */
        nodeOperateType?: pulumi.Input<string>;
        /**
         * The specification of the node.
         */
        nodeSpec: pulumi.Input<string>;
        /**
         * The type of the node. Valid values: Primary, Secondary, ReadOnly.
         */
        nodeType: pulumi.Input<string>;
        /**
         * The AZ of the node.
         */
        zoneId: pulumi.Input<string>;
    }
    interface GetInstancePriceDifferencesChargeInfo {
        /**
         * Whether to auto renew the subscription in a pre-paid scenario.
         */
        autoRenew?: boolean;
        /**
         * The charge type of the instance. Valid values: PostPaid, PrePaid.
         */
        chargeType: string;
        /**
         * Number of purchased instances. Can be an integer between 1 and 20. Default value:1.
         */
        number?: number;
        /**
         * Subscription duration in a pre-paid scenario.Default value:1.
         */
        period?: number;
        /**
         * Purchase cycle in a pre-paid scenario. Valid values: Month, Year.
         */
        periodUnit?: string;
    }
    interface GetInstancePriceDifferencesChargeInfoArgs {
        /**
         * Whether to auto renew the subscription in a pre-paid scenario.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * The charge type of the instance. Valid values: PostPaid, PrePaid.
         */
        chargeType: pulumi.Input<string>;
        /**
         * Number of purchased instances. Can be an integer between 1 and 20. Default value:1.
         */
        number?: pulumi.Input<number>;
        /**
         * Subscription duration in a pre-paid scenario.Default value:1.
         */
        period?: pulumi.Input<number>;
        /**
         * Purchase cycle in a pre-paid scenario. Valid values: Month, Year.
         */
        periodUnit?: pulumi.Input<string>;
    }
    interface GetInstancePriceDifferencesNodeInfo {
        /**
         * The id of the node.When the modifyType is set to Temporary, this parameter is required.
         */
        nodeId?: string;
        /**
         * The operate type of the node. Valid values: Create, Modify.
         */
        nodeOperateType?: string;
        /**
         * The specification of the node.
         */
        nodeSpec: string;
        /**
         * The type of the node. Valid values: Primary, Secondary, ReadOnly.
         */
        nodeType: string;
        /**
         * The AZ of the node.
         */
        zoneId: string;
    }
    interface GetInstancePriceDifferencesNodeInfoArgs {
        /**
         * The id of the node.When the modifyType is set to Temporary, this parameter is required.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * The operate type of the node. Valid values: Create, Modify.
         */
        nodeOperateType?: pulumi.Input<string>;
        /**
         * The specification of the node.
         */
        nodeSpec: pulumi.Input<string>;
        /**
         * The type of the node. Valid values: Primary, Secondary, ReadOnly.
         */
        nodeType: pulumi.Input<string>;
        /**
         * The AZ of the node.
         */
        zoneId: pulumi.Input<string>;
    }
    interface GetInstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetInstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceChargeDetail {
        /**
         * Whether to automatically renew in prepaid scenarios.
         * Autorenew_Enable
         * Autorenew_Disable (default).
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * Billing expiry time (yearly and monthly only).
         */
        chargeEndTime?: pulumi.Input<string>;
        /**
         * Billing start time (pay-as-you-go & monthly subscription).
         */
        chargeStartTime?: pulumi.Input<string>;
        /**
         * Pay status. Value:
         * normal - normal
         * overdue - overdue
         * unpaid - unpaid.
         */
        chargeStatus?: pulumi.Input<string>;
        /**
         * Payment type. Value:
         * PostPaid - Pay-As-You-Go
         * PrePaid - Yearly and monthly (default).
         */
        chargeType?: pulumi.Input<string>;
        /**
         * The number of the RDS PostgreSQL instance.
         */
        number?: pulumi.Input<number>;
        /**
         * Estimated release time when arrears are closed (pay-as-you-go & monthly subscription).
         */
        overdueReclaimTime?: pulumi.Input<string>;
        /**
         * Shutdown time in arrears (pay-as-you-go & monthly subscription).
         */
        overdueTime?: pulumi.Input<string>;
        /**
         * Purchase duration in prepaid scenarios. Default: 1.
         */
        period?: pulumi.Input<number>;
        /**
         * The purchase cycle in the prepaid scenario.
         * Month - monthly subscription (default)
         * Year - Package year.
         */
        periodUnit?: pulumi.Input<string>;
        /**
         * Temporary upgrade of restoration time.
         */
        tempModifyEndTime?: pulumi.Input<string>;
        /**
         * Start time of temporary upgrade.
         */
        tempModifyStartTime?: pulumi.Input<string>;
    }
    interface InstanceChargeInfo {
        /**
         * Whether to automatically renew in prepaid scenarios.
         */
        autoRenew?: pulumi.Input<boolean>;
        chargeType: pulumi.Input<string>;
        /**
         * Purchase number of the RDS PostgreSQL instance. Range: [1, 20]. Default: 1.
         */
        number?: pulumi.Input<number>;
        /**
         * Purchase duration in prepaid scenarios. Default: 1.
         */
        period?: pulumi.Input<number>;
        /**
         * The purchase cycle in the prepaid scenario.
         * Month - monthly subscription (default)
         * Year - Package year.
         */
        periodUnit?: pulumi.Input<string>;
    }
    interface InstanceEndpoint {
        /**
         * Address list.
         */
        addresses?: pulumi.Input<pulumi.Input<inputs.rds_postgresql.InstanceEndpointAddress>[]>;
        /**
         * When the terminal type is read-write terminal or read-only terminal, it supports setting whether new nodes are automatically added.
         */
        autoAddNewNodes?: pulumi.Input<string>;
        /**
         * Address description.
         */
        description?: pulumi.Input<string>;
        /**
         * Whether global read-only is enabled, value: Enable: Enable. Disable: Disabled.
         */
        enableReadOnly?: pulumi.Input<string>;
        /**
         * Whether read-write separation is enabled, value: Enable: Enable. Disable: Disabled.
         */
        enableReadWriteSplitting?: pulumi.Input<string>;
        /**
         * Instance connection terminal ID.
         */
        endpointId?: pulumi.Input<string>;
        /**
         * The instance connection terminal name.
         */
        endpointName?: pulumi.Input<string>;
        /**
         * Terminal type:
         * Cluster: The default terminal. (created by default)
         * Primary: Primary node terminal.
         * Custom: Custom terminal.
         * Direct: Direct connection to the terminal. (Only the operation and maintenance side)
         * AllNode: All node terminals. (Only the operation and maintenance side).
         */
        endpointType?: pulumi.Input<string>;
        /**
         * The distribution type of the read-only nodes, value:
         * Default: Default distribution.
         * Custom: Custom distribution.
         */
        readOnlyNodeDistributionType?: pulumi.Input<string>;
        /**
         * Maximum latency threshold of read-only node. If the latency of a read-only node exceeds this value, reading traffic won't be routed to this node. Unit: seconds.Values: 0~3600.Default value: 30.
         */
        readOnlyNodeMaxDelayTime?: pulumi.Input<number>;
        /**
         * The list of nodes configured by the connection terminal and the corresponding read-only weights.
         */
        readOnlyNodeWeights?: pulumi.Input<pulumi.Input<inputs.rds_postgresql.InstanceEndpointReadOnlyNodeWeight>[]>;
        /**
         * Read and write mode:
         * ReadWrite: read and write
         * ReadOnly: read only (default).
         */
        readWriteMode?: pulumi.Input<string>;
        /**
         * After the terminal enables read-write separation, the number of proxy connections set for the terminal. The lower limit of the number of proxy connections is 20. The upper limit of the number of proxy connections depends on the specifications of the instance master node.
         */
        readWriteProxyConnection?: pulumi.Input<number>;
        /**
         * Whether the endpoint sends write requests to the write node (currently only the master node is a write node). Values: true: Yes(Default). false: No.
         */
        writeNodeHaltWriting?: pulumi.Input<boolean>;
    }
    interface InstanceEndpointAddress {
        /**
         * Address that can be accessed across regions.
         */
        crossRegionDomain?: pulumi.Input<string>;
        /**
         * Whether to enable public network resolution. Values: false: Default value. PrivateZone of Volcano Engine. true: Private and public network resolution of Volcano Engine.
         */
        dnsVisibility?: pulumi.Input<boolean>;
        /**
         * Connect domain name.
         */
        domain?: pulumi.Input<string>;
        /**
         * The type of private network address. Values: LocalDomain: Local domain name. CrossRegionDomain: Domains accessible across regions.
         */
        domainVisibilitySetting?: pulumi.Input<string>;
        /**
         * The ID of the EIP, only valid for Public addresses.
         */
        eipId?: pulumi.Input<string>;
        /**
         * Address IP protocol, IPv4 or IPv6.
         */
        internetProtocol?: pulumi.Input<string>;
        /**
         * The IP Address.
         */
        ipAddress?: pulumi.Input<string>;
        /**
         * The IPv6 Address.
         */
        ipv6Address?: pulumi.Input<string>;
        /**
         * Network address type, temporarily Private, Public, PublicService.
         */
        networkType?: pulumi.Input<string>;
        /**
         * The Port.
         */
        port?: pulumi.Input<string>;
        /**
         * Subnet ID of the RDS PostgreSQL instance.
         */
        subnetId?: pulumi.Input<string>;
    }
    interface InstanceEndpointReadOnlyNodeWeight {
        /**
         * Node ID.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * Node type. Value: Primary: Primary node.
         * Secondary: Standby node.
         * ReadOnly: Read-only node.
         */
        nodeType?: pulumi.Input<string>;
        /**
         * The weight of the node.
         */
        weight?: pulumi.Input<number>;
    }
    interface InstanceEstimationResult {
        /**
         * After changing according to the current configuration, the estimated impact on the read and write connections of the instance.
         */
        effects?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Estimated impact on the instance after the current configuration changes.
         */
        plans?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface InstanceNode {
        /**
         * Node creation local time.
         */
        createTime?: pulumi.Input<string>;
        /**
         * Instance ID.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * Memory size in GB.
         */
        memory?: pulumi.Input<number>;
        /**
         * Node ID.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * The specification of primary node and secondary node.
         */
        nodeSpec?: pulumi.Input<string>;
        /**
         * Node state, value: aligned with instance state.
         */
        nodeStatus?: pulumi.Input<string>;
        /**
         * Node type. Value: Primary: Primary node.
         * Secondary: Standby node.
         * ReadOnly: Read-only node.
         */
        nodeType?: pulumi.Input<string>;
        /**
         * The region of the RDS PostgreSQL instance.
         */
        regionId?: pulumi.Input<string>;
        /**
         * The update time of the RDS PostgreSQL instance.
         */
        updateTime?: pulumi.Input<string>;
        /**
         * CPU size.
         */
        vCpu?: pulumi.Input<number>;
        /**
         * The available zone of the RDS PostgreSQL instance.
         */
        zoneId?: pulumi.Input<string>;
    }
    interface InstanceParameter {
        /**
         * Parameter name.
         */
        name: pulumi.Input<string>;
        /**
         * Parameter value.
         */
        value: pulumi.Input<string>;
    }
    interface InstancePriceDetailsChargeInfo {
        /**
         * Whether to auto renew the subscription in a pre-paid scenario.
         */
        autoRenew?: boolean;
        /**
         * The charge type of the instance. Valid values: PostPaid, PrePaid.
         */
        chargeType: string;
        /**
         * Number of purchased instances. Can be an integer between 1 and 20. Default value:1.
         */
        number?: number;
        /**
         * Subscription duration in a pre-paid scenario.Default value:1.
         */
        period?: number;
        /**
         * Purchase cycle in a pre-paid scenario. Valid values: Month, Year.
         */
        periodUnit?: string;
    }
    interface InstancePriceDetailsChargeInfoArgs {
        /**
         * Whether to auto renew the subscription in a pre-paid scenario.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * The charge type of the instance. Valid values: PostPaid, PrePaid.
         */
        chargeType: pulumi.Input<string>;
        /**
         * Number of purchased instances. Can be an integer between 1 and 20. Default value:1.
         */
        number?: pulumi.Input<number>;
        /**
         * Subscription duration in a pre-paid scenario.Default value:1.
         */
        period?: pulumi.Input<number>;
        /**
         * Purchase cycle in a pre-paid scenario. Valid values: Month, Year.
         */
        periodUnit?: pulumi.Input<string>;
    }
    interface InstancePriceDetailsNodeInfo {
        /**
         * The id of the node.
         */
        nodeId?: string;
        /**
         * The operate type of the node. Valid values: Create.
         */
        nodeOperateType?: string;
        /**
         * The specification of the node.
         */
        nodeSpec: string;
        /**
         * The type of the node. Valid values: Primary, Secondary, ReadOnly.
         */
        nodeType: string;
        /**
         * The AZ of the node.
         */
        zoneId: string;
    }
    interface InstancePriceDetailsNodeInfoArgs {
        /**
         * The id of the node.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * The operate type of the node. Valid values: Create.
         */
        nodeOperateType?: pulumi.Input<string>;
        /**
         * The specification of the node.
         */
        nodeSpec: pulumi.Input<string>;
        /**
         * The type of the node. Valid values: Primary, Secondary, ReadOnly.
         */
        nodeType: pulumi.Input<string>;
        /**
         * The AZ of the node.
         */
        zoneId: pulumi.Input<string>;
    }
    interface InstancePriceDifferencesChargeInfo {
        /**
         * Whether to auto renew the subscription in a pre-paid scenario.
         */
        autoRenew?: boolean;
        /**
         * The charge type of the instance. Valid values: PostPaid, PrePaid.
         */
        chargeType: string;
        /**
         * Number of purchased instances. Can be an integer between 1 and 20. Default value:1.
         */
        number?: number;
        /**
         * Subscription duration in a pre-paid scenario.Default value:1.
         */
        period?: number;
        /**
         * Purchase cycle in a pre-paid scenario. Valid values: Month, Year.
         */
        periodUnit?: string;
    }
    interface InstancePriceDifferencesChargeInfoArgs {
        /**
         * Whether to auto renew the subscription in a pre-paid scenario.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * The charge type of the instance. Valid values: PostPaid, PrePaid.
         */
        chargeType: pulumi.Input<string>;
        /**
         * Number of purchased instances. Can be an integer between 1 and 20. Default value:1.
         */
        number?: pulumi.Input<number>;
        /**
         * Subscription duration in a pre-paid scenario.Default value:1.
         */
        period?: pulumi.Input<number>;
        /**
         * Purchase cycle in a pre-paid scenario. Valid values: Month, Year.
         */
        periodUnit?: pulumi.Input<string>;
    }
    interface InstancePriceDifferencesNodeInfo {
        /**
         * The id of the node.When the modifyType is set to Temporary, this parameter is required.
         */
        nodeId?: string;
        /**
         * The operate type of the node. Valid values: Create, Modify.
         */
        nodeOperateType?: string;
        /**
         * The specification of the node.
         */
        nodeSpec: string;
        /**
         * The type of the node. Valid values: Primary, Secondary, ReadOnly.
         */
        nodeType: string;
        /**
         * The AZ of the node.
         */
        zoneId: string;
    }
    interface InstancePriceDifferencesNodeInfoArgs {
        /**
         * The id of the node.When the modifyType is set to Temporary, this parameter is required.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * The operate type of the node. Valid values: Create, Modify.
         */
        nodeOperateType?: pulumi.Input<string>;
        /**
         * The specification of the node.
         */
        nodeSpec: pulumi.Input<string>;
        /**
         * The type of the node. Valid values: Primary, Secondary, ReadOnly.
         */
        nodeType: pulumi.Input<string>;
        /**
         * The AZ of the node.
         */
        zoneId: pulumi.Input<string>;
    }
    interface InstanceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceZoneMigration {
        /**
         * Node ID to migrate.
         */
        nodeId: pulumi.Input<string>;
        /**
         * Node type: Secondary or ReadOnly.
         */
        nodeType?: pulumi.Input<string>;
        /**
         * Target zone ID.
         */
        zoneId: pulumi.Input<string>;
    }
    interface InstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface InstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ParameterTemplateTemplateParam {
        /**
         * The name of the parameter.
         */
        name: pulumi.Input<string>;
        /**
         * The value of the parameter.
         */
        value: pulumi.Input<string>;
    }
    interface RestoreBackupDatabase {
        /**
         * Original database name.
         */
        dbName: pulumi.Input<string>;
        /**
         * New database name.
         */
        newDbName: pulumi.Input<string>;
    }
}
export declare namespace rds_v2 {
    interface RdsInstanceV2ChargeInfo {
        /**
         * Whether to automatically renew in prepaid scenarios.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * Payment type. Value:
         * PostPaid - Pay-As-You-Go
         * PrePaid - Yearly and monthly (default).
         */
        chargeType: pulumi.Input<string>;
        /**
         * Purchase duration in prepaid scenarios. Default: 1.
         */
        period?: pulumi.Input<number>;
        /**
         * The purchase cycle in the prepaid scenario.
         * Month - monthly subscription (default)
         * Year - Package year.
         */
        periodUnit?: pulumi.Input<string>;
    }
    interface RdsInstanceV2ConnectionInfo {
        /**
         * Address list.
         */
        addresses?: pulumi.Input<pulumi.Input<inputs.rds_v2.RdsInstanceV2ConnectionInfoAddress>[]>;
        /**
         * When the terminal type is read-write terminal or read-only terminal, it supports setting whether new nodes are automatically added.
         */
        autoAddNewNodes?: pulumi.Input<string>;
        /**
         * Address description.
         */
        description?: pulumi.Input<string>;
        /**
         * Whether global read-only is enabled, value: Enable: Enable. Disable: Disabled.
         */
        enableReadOnly?: pulumi.Input<string>;
        /**
         * Whether read-write separation is enabled, value: Enable: Enable. Disable: Disabled.
         */
        enableReadWriteSplitting?: pulumi.Input<string>;
        /**
         * Instance connection terminal ID.
         */
        endpointId?: pulumi.Input<string>;
        /**
         * The instance connection terminal name.
         */
        endpointName?: pulumi.Input<string>;
        /**
         * Terminal type:
         * Cluster: The default terminal. (created by default)
         * Primary: Primary node terminal.
         * Custom: Custom terminal.
         * Direct: Direct connection to the terminal. (Only the operation and maintenance side)
         * AllNode: All node terminals. (Only the operation and maintenance side).
         */
        endpointType?: pulumi.Input<string>;
        /**
         * The list of nodes configured by the connection terminal and the corresponding read-only weights.
         */
        readOnlyNodeWeights?: pulumi.Input<pulumi.Input<inputs.rds_v2.RdsInstanceV2ConnectionInfoReadOnlyNodeWeight>[]>;
        /**
         * Read and write mode:
         * ReadWrite: read and write
         * ReadOnly: read only (default).
         */
        readWriteMode?: pulumi.Input<string>;
    }
    interface RdsInstanceV2ConnectionInfoAddress {
        /**
         * Connect domain name.
         */
        domain?: pulumi.Input<string>;
        /**
         * The ID of the EIP, only valid for Public addresses.
         */
        eipId?: pulumi.Input<string>;
        /**
         * The IP Address.
         */
        ipAddress?: pulumi.Input<string>;
        /**
         * Network address type, temporarily Private, Public, PublicService.
         */
        networkType?: pulumi.Input<string>;
        /**
         * The Port.
         */
        port?: pulumi.Input<string>;
        /**
         * Subnet ID.
         */
        subnetId?: pulumi.Input<string>;
    }
    interface RdsInstanceV2ConnectionInfoReadOnlyNodeWeight {
        /**
         * The ID of the node.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * The type of the node.
         */
        nodeType?: pulumi.Input<string>;
        /**
         * The weight of the node.
         */
        weight?: pulumi.Input<number>;
    }
    interface RdsInstanceV2NodeInfo {
        /**
         * The ID of the node.
         */
        nodeId?: pulumi.Input<string>;
        /**
         * Masternode specs. Pass
         * DescribeDBInstanceSpecs Query the instance specifications that can be sold.
         */
        nodeSpec: pulumi.Input<string>;
        /**
         * Node type, the value is "Primary", "Secondary", "ReadOnly".
         */
        nodeType: pulumi.Input<string>;
        /**
         * Zone ID.
         */
        zoneId: pulumi.Input<string>;
    }
}
export declare namespace redis {
    interface AllowListAssociatedInstance {
        /**
         * Id of instance.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * Name of instance.
         */
        instanceName?: pulumi.Input<string>;
        /**
         * Id of virtual private cloud.
         */
        vpc?: pulumi.Input<string>;
    }
    interface AllowListSecurityGroupBindInfo {
        /**
         * Security group association mode. The value range is as follows: IngressDirectionIp: The input direction IP, which is the IP involved in the TCP protocol and ALL protocol in the source address of the secure group input direction to access the database. If the source address is configured as a secure group, it will be ignored. AssociateEcsIp: Associate ECS IP, which allows cloud servers within the security group to access the database. Currently, only the IP information of the main network card is supported for import.
         */
        bindMode?: pulumi.Input<string>;
        /**
         * The list of ips in the associated security group has been linked.
         */
        ipLists?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The associated security group ID.
         */
        securityGroupId?: pulumi.Input<string>;
        /**
         * The name of the associated security group.
         */
        securityGroupName?: pulumi.Input<string>;
    }
    interface BackupBackupPointDownloadUrl {
        /**
         * The private network download address for RDB files.
         */
        privateDownloadUrl?: pulumi.Input<string>;
        /**
         * The public network download address for RDB files.
         */
        publicDownloadUrl?: pulumi.Input<string>;
        /**
         * RDB file size, unit: Byte.
         */
        rdbFileSize?: pulumi.Input<number>;
        /**
         * The shard ID where the RDB file is located.
         */
        shardId?: pulumi.Input<string>;
    }
    interface BackupInstanceInfo {
        /**
         * Id of account.
         */
        accountId?: pulumi.Input<number>;
        /**
         * Arch type of instance(Standard/Cluster).
         */
        archType?: pulumi.Input<string>;
        /**
         * Charge type of instance(Postpaid/Prepaid).
         */
        chargeType?: pulumi.Input<string>;
        /**
         * The status of the deletion protection function of the instance.
         */
        deletionProtection?: pulumi.Input<string>;
        /**
         * Engine version of instance.
         */
        engineVersion?: pulumi.Input<string>;
        /**
         * Expired time of instance.
         */
        expiredTime?: pulumi.Input<string>;
        /**
         * Id of instance to create backup.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * Name of instance.
         */
        instanceName?: pulumi.Input<string>;
        /**
         * The maintainable period (in UTC) of the instance.
         */
        maintenanceTime?: pulumi.Input<string>;
        /**
         * Network type of instance.
         */
        networkType?: pulumi.Input<string>;
        /**
         * Id of region.
         */
        regionId?: pulumi.Input<string>;
        /**
         * Count of replica in which shard.
         */
        replicas?: pulumi.Input<number>;
        /**
         * Capacity of shard.
         */
        shardCapacity?: pulumi.Input<number>;
        /**
         * The number of shards in the instance.
         */
        shardNumber?: pulumi.Input<number>;
        /**
         * Total capacity of instance.
         */
        totalCapacity?: pulumi.Input<number>;
        /**
         * The private network ID of the instance.
         */
        vpcId?: pulumi.Input<string>;
        /**
         * List of id of zone.
         */
        zoneIds?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface GetInstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetInstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceConfigureNode {
        /**
         * Set the availability zone to which the node belongs. The number of nodes of an instance (i.e., NodeNumber) and the availability zone deployment scheme (i.e., the value of the MultiAZ parameter) will affect the filling of the current parameter. Among them:
         * When a new instance is a single-node instance (i.e., the value of NodeNumber is 1), only a single availability zone deployment scheme is allowed (i.e., the value of MultiAZ must be disabled). At this time, only one availability zone needs to be passed in AZ, and all nodes in the instance will be deployed in this availability zone. When creating a new instance as a primary-standby instance (that is, when the value of NodeNumber is greater than or equal to 2), the number of availability zones passed in must be equal to the number of nodes in a single shard (that is, the value of the NodeNumber parameter), and the value of AZ must comply with the multi-availability zone deployment scheme rules. The specific rules are as follows: If the primary-standby instance selects the multi-availability zone deployment scheme (that is, the value of MultiAZ is enabled), then at least two different availability zone IDs must be passed in in AZ, and the first availability zone is the availability zone where the primary node is located. If the primary and standby instances choose a single availability zone deployment scheme (that is, the value of MultiAZ is disabled), then the availability zones passed in for each node must be the same.
         */
        az: pulumi.Input<string>;
    }
    interface InstanceParamValue {
        /**
         * The name of configuration parameter.
         */
        name: pulumi.Input<string>;
        /**
         * The value of configuration parameter.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface InstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ParameterGroupParamValue {
        /**
         * The parameter names that need to be included in the parameter template.
         */
        name: pulumi.Input<string>;
        /**
         * The parameter values set for the corresponding parameters.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace rocketmq {
    interface GetInstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetInstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface InstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface RocketMQAccessKeyTopicPermission {
        /**
         * The custom authority for the topic.
         */
        permission?: pulumi.Input<string>;
        /**
         * The name of the rocketmq topic.
         */
        topicName?: pulumi.Input<string>;
    }
    interface RocketMQAllowListAssociatedInstance {
        /**
         * The id of the rocketmq instance.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * The name of the rocketmq instance.
         */
        instanceName?: pulumi.Input<string>;
        /**
         * The vpc id of the rocketmq instance.
         */
        vpc?: pulumi.Input<string>;
    }
    interface RocketMQInstanceChargeInfo {
        /**
         * Whether to automatically renew in prepaid scenarios. Default is false.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * The charge type of the rocketmq instance. Valid values: `PostPaid`, `PrePaid`.
         */
        chargeType: pulumi.Input<string>;
        /**
         * Purchase duration in prepaid scenarios. When PeriodUnit is specified as `Monthly`, the value range is 1-9. When PeriodUnit is specified as `Yearly`, the value range is 1-3. Default is 1.
         */
        period?: pulumi.Input<number>;
        /**
         * The purchase cycle in the prepaid scenario. Valid values: `Monthly`, `Yearly`. Default is `Monthly`.
         */
        periodUnit?: pulumi.Input<string>;
    }
    interface RocketMQInstanceConnectionInfo {
        /**
         * The endpoint address ip of the rocketmq.
         */
        endpointAddressIp?: pulumi.Input<string>;
        /**
         * The endpoint type of the rocketmq.
         */
        endpointType?: pulumi.Input<string>;
        /**
         * The internal endpoint of the rocketmq.
         */
        internalEndpoint?: pulumi.Input<string>;
        /**
         * The network type of the rocketmq.
         */
        networkType?: pulumi.Input<string>;
        /**
         * The public endpoint of the rocketmq.
         */
        publicEndpoint?: pulumi.Input<string>;
    }
    interface RocketMQInstanceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface RocketMQTopicAccessPolicy {
        /**
         * The access key of the rocketmq key.
         */
        accessKey: pulumi.Input<string>;
        /**
         * The authority of the rocketmq key for the current topic. Valid values: `ALL`, `PUB`, `SUB`, `DENY`. Default is `DENY`.
         */
        authority: pulumi.Input<string>;
    }
    interface RocketMQTopicGroup {
        /**
         * The id of the rocketmq group.
         */
        groupId?: pulumi.Input<string>;
        /**
         * The message model of the rocketmq group.
         */
        messageModel?: pulumi.Input<string>;
        /**
         * The sub string of the rocketmq group.
         */
        subString?: pulumi.Input<string>;
    }
    interface RocketMQTopicQueue {
        /**
         * The end offset of the rocketmq queue.
         */
        endOffset?: pulumi.Input<number>;
        /**
         * The last update timestamp of the rocketmq queue.
         */
        lastUpdateTimestamp?: pulumi.Input<number>;
        /**
         * The message count of the rocketmq queue.
         */
        messageCount?: pulumi.Input<number>;
        /**
         * The id of the rocketmq queue.
         */
        queueId?: pulumi.Input<string>;
        /**
         * The start offset of the rocketmq queue.
         */
        startOffset?: pulumi.Input<number>;
    }
}
export declare namespace tls {
    interface AlarmAlarmPeriodDetail {
        /**
         * Email alarm period, the unit is minutes, and the value range is 1~1440.
         */
        email: pulumi.Input<number>;
        /**
         * Customize the webhook alarm period, the unit is minutes, and the value range is 1~1440.
         */
        generalWebhook: pulumi.Input<number>;
        /**
         * Telephone alarm cycle, the unit is minutes, and the value range is 10~1440.
         */
        phone: pulumi.Input<number>;
        /**
         * SMS alarm cycle, the unit is minutes, and the value range is 10~1440.
         */
        sms: pulumi.Input<number>;
    }
    interface AlarmContentTemplateDingTalk {
        /**
         * The content of the dingTalk content template.
         */
        content: pulumi.Input<string>;
        /**
         * The locale of the dingTalk content template.
         */
        locale: pulumi.Input<string>;
        /**
         * The title of the dingTalk content template.
         */
        title: pulumi.Input<string>;
    }
    interface AlarmContentTemplateEmail {
        /**
         * The content of the email content template.
         */
        content: pulumi.Input<string>;
        /**
         * The locale of the email content template.
         */
        locale: pulumi.Input<string>;
        /**
         * The subject of the email content template.
         */
        subject: pulumi.Input<string>;
    }
    interface AlarmContentTemplateLark {
        /**
         * The content of the lark content template.
         */
        content: pulumi.Input<string>;
        /**
         * The locale of the lark content template.
         */
        locale: pulumi.Input<string>;
        /**
         * The title of the lark content template.
         */
        title: pulumi.Input<string>;
    }
    interface AlarmContentTemplateSm {
        /**
         * The content of the sms content template.
         */
        content: pulumi.Input<string>;
        /**
         * The locale of the sms content template.
         */
        locale: pulumi.Input<string>;
    }
    interface AlarmContentTemplateVm {
        /**
         * The content of the vms content template.
         */
        content: pulumi.Input<string>;
        /**
         * The locale of the vms content template.
         */
        locale: pulumi.Input<string>;
    }
    interface AlarmContentTemplateWebhook {
        /**
         * The content of the webhook content template.
         */
        content: pulumi.Input<string>;
    }
    interface AlarmContentTemplateWechat {
        /**
         * The content of the wechat content template.
         */
        content: pulumi.Input<string>;
        /**
         * The locale of the wechat content template.
         */
        locale: pulumi.Input<string>;
    }
    interface AlarmJoinConfiguration {
        /**
         * The condition.
         */
        condition?: pulumi.Input<string>;
        /**
         * The set operation type.
         */
        setOperationType?: pulumi.Input<string>;
    }
    interface AlarmNotifyGroupNoticeRule {
        /**
         * Whether there is an end node behind.
         */
        hasEndNode?: pulumi.Input<boolean>;
        /**
         * Whether to continue to the next level of condition judgment.
         */
        hasNext?: pulumi.Input<boolean>;
        /**
         * List of IAM users to receive alerts.
         */
        receiverInfos?: pulumi.Input<pulumi.Input<inputs.tls.AlarmNotifyGroupNoticeRuleReceiverInfo>[]>;
        /**
         * The rule node.
         */
        ruleNode?: pulumi.Input<inputs.tls.AlarmNotifyGroupNoticeRuleRuleNode>;
    }
    interface AlarmNotifyGroupNoticeRuleReceiverInfo {
        /**
         * The alarm content template id.
         */
        alarmContentTemplateId?: pulumi.Input<string>;
        /**
         * The alarm webhook at users.
         */
        alarmWebhookAtUsers?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The alarm webhook integration id.
         */
        alarmWebhookIntegrationId?: pulumi.Input<string>;
        /**
         * The alarm webhook integration name.
         */
        alarmWebhookIntegrationName?: pulumi.Input<string>;
        /**
         * The alarm webhook is at all.
         */
        alarmWebhookIsAtAll?: pulumi.Input<boolean>;
        /**
         * The end time.
         */
        endTime?: pulumi.Input<string>;
        /**
         * The webhook body.
         */
        generalWebhookBody?: pulumi.Input<string>;
        /**
         * The general webhook headers.
         */
        generalWebhookHeaders?: pulumi.Input<pulumi.Input<inputs.tls.AlarmNotifyGroupNoticeRuleReceiverInfoGeneralWebhookHeader>[]>;
        /**
         * The general webhook method.
         */
        generalWebhookMethod?: pulumi.Input<string>;
        /**
         * The webhook url.
         */
        generalWebhookUrl?: pulumi.Input<string>;
        /**
         * The list of the receiver channels.
         */
        receiverChannels?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * List of the receiver names.
         */
        receiverNames?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The receiver type.
         */
        receiverType?: pulumi.Input<string>;
        /**
         * The start time.
         */
        startTime?: pulumi.Input<string>;
    }
    interface AlarmNotifyGroupNoticeRuleReceiverInfoGeneralWebhookHeader {
        /**
         * The key of the header.
         */
        key?: pulumi.Input<string>;
        /**
         * The value of the header.
         */
        value?: pulumi.Input<string>;
    }
    interface AlarmNotifyGroupNoticeRuleRuleNode {
        /**
         * The children of the rule node.
         */
        childrens?: pulumi.Input<pulumi.Input<inputs.tls.AlarmNotifyGroupNoticeRuleRuleNodeChildren>[]>;
        /**
         * The type of the rule node.
         */
        type?: pulumi.Input<string>;
        /**
         * The value of the rule node.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface AlarmNotifyGroupNoticeRuleRuleNodeChildren {
        /**
         * The type of the rule node.
         */
        type?: pulumi.Input<string>;
        /**
         * The value of the rule node.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface AlarmNotifyGroupReceiver {
        /**
         * The alarm content template id.
         */
        alarmContentTemplateId?: pulumi.Input<string>;
        /**
         * The alarm webhook at users.
         */
        alarmWebhookAtUsers?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The alarm webhook integration id.
         */
        alarmWebhookIntegrationId?: pulumi.Input<string>;
        /**
         * The alarm webhook integration name.
         */
        alarmWebhookIntegrationName?: pulumi.Input<string>;
        /**
         * The alarm webhook is at all.
         */
        alarmWebhookIsAtAll?: pulumi.Input<boolean>;
        /**
         * The end time.
         */
        endTime: pulumi.Input<string>;
        /**
         * The webhook body.
         */
        generalWebhookBody?: pulumi.Input<string>;
        /**
         * The general webhook headers.
         */
        generalWebhookHeaders?: pulumi.Input<pulumi.Input<inputs.tls.AlarmNotifyGroupReceiverGeneralWebhookHeader>[]>;
        /**
         * The general webhook method.
         */
        generalWebhookMethod?: pulumi.Input<string>;
        /**
         * The webhook url.
         */
        generalWebhookUrl?: pulumi.Input<string>;
        /**
         * The list of the receiver channels. Currently supported channels: Email, Sms, Phone.
         */
        receiverChannels: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * List of the receiver names.
         */
        receiverNames: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The receiver type, Can be set as: `User`(The id of user).
         */
        receiverType: pulumi.Input<string>;
        /**
         * The start time.
         */
        startTime: pulumi.Input<string>;
    }
    interface AlarmNotifyGroupReceiverGeneralWebhookHeader {
        /**
         * The key of the header.
         */
        key?: pulumi.Input<string>;
        /**
         * The value of the header.
         */
        value?: pulumi.Input<string>;
    }
    interface AlarmQueryRequest {
        /**
         * The end time of the query range is relative to the current historical time. The unit is minutes. The value is not positive and must be greater than StartTimeOffset. The maximum value is 0 and the minimum value is -1440.
         */
        endTimeOffset: pulumi.Input<number>;
        /**
         * The end time offset unit.
         */
        endTimeOffsetUnit?: pulumi.Input<string>;
        /**
         * Alarm object sequence number; increments from 1.
         */
        number: pulumi.Input<number>;
        /**
         * Query statement, the maximum supported length is 1024.
         */
        query: pulumi.Input<string>;
        /**
         * The start time of the query range is relative to the current historical time, in minutes. The value is non-positive, the maximum value is 0, and the minimum value is -1440.
         */
        startTimeOffset: pulumi.Input<number>;
        /**
         * The start time offset unit.
         */
        startTimeOffsetUnit?: pulumi.Input<string>;
        /**
         * The time span type.
         */
        timeSpanType?: pulumi.Input<string>;
        /**
         * The id of the topic.
         */
        topicId: pulumi.Input<string>;
        /**
         * The truncated time.
         */
        truncatedTime?: pulumi.Input<string>;
    }
    interface AlarmRequestCycle {
        /**
         * The cron tab.
         */
        cronTab?: pulumi.Input<string>;
        /**
         * The cycle of alarm task execution, or the time point of periodic execution. The unit is minutes, and the value range is 1~1440.
         */
        time?: pulumi.Input<number>;
        /**
         * Execution cycle type.
         */
        type?: pulumi.Input<string>;
    }
    interface AlarmTriggerCondition {
        /**
         * The condition.
         */
        condition?: pulumi.Input<string>;
        /**
         * The count condition.
         */
        countCondition?: pulumi.Input<string>;
        /**
         * The no data.
         */
        noData?: pulumi.Input<boolean>;
        /**
         * The severity.
         */
        severity?: pulumi.Input<string>;
    }
    interface AlarmWebhookIntegrationWebhookHeader {
        /**
         * The key of the header.
         */
        key?: pulumi.Input<string>;
        /**
         * The value of the header.
         */
        value?: pulumi.Input<string>;
    }
    interface DownloadTaskLogContextInfos {
        /**
         * The context flow of the log.
         */
        contextFlow?: pulumi.Input<string>;
        /**
         * The package offset of the log.
         */
        packageOffset?: pulumi.Input<number>;
        /**
         * The source of the log.
         */
        source?: pulumi.Input<string>;
    }
    interface EtlTaskTargetResource {
        /**
         * Customize the name of the output target, which needs to be used to refer to the output target in the data processing rules.
         */
        alias: pulumi.Input<string>;
        /**
         * The region where the log topic is located.
         */
        region: pulumi.Input<string>;
        /**
         * Cross-account authorized character names.
         */
        roleTrn?: pulumi.Input<string>;
        /**
         * Log topics used for storing processed logs.
         */
        topicId: pulumi.Input<string>;
    }
    interface GetProjectsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetProjectsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetSearchTracesQuery {
        /**
         * Whether to sort results in ascending order. true means ascending, false means descending.
         */
        asc?: boolean;
        /**
         * Attributes.
         */
        attributes?: inputs.tls.GetSearchTracesQueryAttribute[];
        /**
         * Maximum trace duration in microseconds.
         */
        durationMax?: number;
        /**
         * Minimum trace duration in microseconds.
         */
        durationMin?: number;
        /**
         * Type of the trace.
         */
        kind?: string;
        /**
         * Maximum number of records to return, used for pagination.
         */
        limit?: number;
        /**
         * Offset for paginated query.
         */
        offset?: number;
        /**
         * Operation name, used to filter traces with specific operation.
         */
        operationName?: string;
        /**
         * Sorting field. Supported fields: Kind, Name, ServiceName, Start, End, Duration, and indexed fields in Attributes.
         */
        order?: string;
        /**
         * Service name, used to filter traces from specific service.
         */
        serviceName?: string;
        /**
         * Maximum start time for searching traces, in microsecond timestamp format.
         */
        startTimeMax?: number;
        /**
         * Minimum start time for searching traces, in microsecond timestamp format.
         */
        startTimeMin?: number;
        /**
         * Trace status code, used to filter traces with specific status.
         */
        statusCode?: string;
        /**
         * Trace ID.
         */
        traceId?: string;
    }
    interface GetSearchTracesQueryArgs {
        /**
         * Whether to sort results in ascending order. true means ascending, false means descending.
         */
        asc?: pulumi.Input<boolean>;
        /**
         * Attributes.
         */
        attributes?: pulumi.Input<pulumi.Input<inputs.tls.GetSearchTracesQueryAttributeArgs>[]>;
        /**
         * Maximum trace duration in microseconds.
         */
        durationMax?: pulumi.Input<number>;
        /**
         * Minimum trace duration in microseconds.
         */
        durationMin?: pulumi.Input<number>;
        /**
         * Type of the trace.
         */
        kind?: pulumi.Input<string>;
        /**
         * Maximum number of records to return, used for pagination.
         */
        limit?: pulumi.Input<number>;
        /**
         * Offset for paginated query.
         */
        offset?: pulumi.Input<number>;
        /**
         * Operation name, used to filter traces with specific operation.
         */
        operationName?: pulumi.Input<string>;
        /**
         * Sorting field. Supported fields: Kind, Name, ServiceName, Start, End, Duration, and indexed fields in Attributes.
         */
        order?: pulumi.Input<string>;
        /**
         * Service name, used to filter traces from specific service.
         */
        serviceName?: pulumi.Input<string>;
        /**
         * Maximum start time for searching traces, in microsecond timestamp format.
         */
        startTimeMax?: pulumi.Input<number>;
        /**
         * Minimum start time for searching traces, in microsecond timestamp format.
         */
        startTimeMin?: pulumi.Input<number>;
        /**
         * Trace status code, used to filter traces with specific status.
         */
        statusCode?: pulumi.Input<string>;
        /**
         * Trace ID.
         */
        traceId?: pulumi.Input<string>;
    }
    interface GetSearchTracesQueryAttribute {
        /**
         * Attribute key.
         */
        key: string;
        /**
         * Attribute value.
         */
        value: string;
    }
    interface GetSearchTracesQueryAttributeArgs {
        /**
         * Attribute key.
         */
        key: pulumi.Input<string>;
        /**
         * Attribute value.
         */
        value: pulumi.Input<string>;
    }
    interface GetTagResourcesTagFilter {
        /**
         * The key of the tag filter.
         */
        key: string;
        /**
         * The values of the tag filter.
         */
        values: string[];
    }
    interface GetTagResourcesTagFilterArgs {
        /**
         * The key of the tag filter.
         */
        key: pulumi.Input<string>;
        /**
         * The values of the tag filter.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface GetTagsTagFilter {
        /**
         * The key of the tag filter.
         */
        key: string;
        /**
         * The values of the tag filter.
         */
        values: string[];
    }
    interface GetTagsTagFilterArgs {
        /**
         * The key of the tag filter.
         */
        key: pulumi.Input<string>;
        /**
         * The values of the tag filter.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface GetTopicsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetTopicsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ImportTaskImportSourceInfo {
        /**
         * TOS imports source information.
         */
        kafkaSourceInfo?: pulumi.Input<inputs.tls.ImportTaskImportSourceInfoKafkaSourceInfo>;
        /**
         * TOS imports source information.
         */
        tosSourceInfo?: pulumi.Input<inputs.tls.ImportTaskImportSourceInfoTosSourceInfo>;
    }
    interface ImportTaskImportSourceInfoKafkaSourceInfo {
        /**
         * The encoding format of the data.
         */
        encode?: pulumi.Input<string>;
        /**
         * Kafka consumer group.
         */
        group?: pulumi.Input<string>;
        /**
         * The service addresses corresponding to different types of Kafka clusters are different.
         */
        host?: pulumi.Input<string>;
        /**
         * The starting position of data import.
         */
        initialOffset?: pulumi.Input<number>;
        /**
         * When you are using the Volcano Engine Message Queue Kafka version, it should be set to the Kafka instance ID.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * Whether to enable authentication.
         */
        isNeedAuth?: pulumi.Input<boolean>;
        /**
         * Password authentication mechanism.
         */
        mechanism?: pulumi.Input<string>;
        /**
         * The Kafka SASL user password used for identity authentication.
         */
        password?: pulumi.Input<string>;
        /**
         * Secure Transport protocol.
         */
        protocol?: pulumi.Input<string>;
        /**
         * Specify the log time.
         */
        timeSourceDefault?: pulumi.Input<number>;
        /**
         * Kafka Topic name.
         */
        topic?: pulumi.Input<string>;
        /**
         * The Kafka SASL username used for identity authentication.
         */
        username?: pulumi.Input<string>;
    }
    interface ImportTaskImportSourceInfoTosSourceInfo {
        /**
         * The TOS bucket where the log file is located.
         */
        bucket?: pulumi.Input<string>;
        /**
         * The compression mode of data in the TOS bucket.
         */
        compressType?: pulumi.Input<string>;
        /**
         * The path of the file to be imported in the TOS bucket.
         */
        prefix?: pulumi.Input<string>;
        /**
         * The region where the TOS bucket is located. Support cross-regional data import.
         */
        region?: pulumi.Input<string>;
    }
    interface ImportTaskTargetInfo {
        /**
         * Log extraction rules.
         */
        extractRule?: pulumi.Input<inputs.tls.ImportTaskTargetInfoExtractRule>;
        /**
         * Log sample.
         */
        logSample?: pulumi.Input<string>;
        /**
         * Specify the log parsing type when importing.
         */
        logType: pulumi.Input<string>;
        /**
         * Regional ID.
         */
        region: pulumi.Input<string>;
    }
    interface ImportTaskTargetInfoExtractRule {
        /**
         * The regular expression used to identify the first line in each log, and its matching part will serve as the beginning of the log.
         */
        beginRegex?: pulumi.Input<string>;
        /**
         * Log delimiter.
         */
        delimiter?: pulumi.Input<string>;
        /**
         * List of log field names (Keys).
         */
        keys?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Reference symbol. The content wrapped by the reference will not be separated but will be parsed into a complete field. It is valid if and only if the LogType is delimiter_log.
         */
        quote?: pulumi.Input<string>;
        /**
         * The number of log lines skipped.
         */
        skipLineCount?: pulumi.Input<number>;
        /**
         * A regular expression for extracting time, used to extract the time value in the TimeKey field and parse it into the corresponding collection time.
         */
        timeExtractRegex?: pulumi.Input<string>;
        /**
         * The parsing format of the time field.
         */
        timeFormat?: pulumi.Input<string>;
        /**
         * The field name of the log time field.
         */
        timeKey?: pulumi.Input<string>;
        /**
         * Time zone, supporting both machine time zone (default) and custom time zone. Among them, the custom time zone supports GMT and UTC.
         */
        timeZone?: pulumi.Input<string>;
        /**
         * When uploading a log that failed to parse, the key name of the parse failed log.
         */
        unMatchLogKey?: pulumi.Input<string>;
        /**
         * Whether to upload the logs of failed parsing.
         */
        unMatchUpLoadSwitch?: pulumi.Input<boolean>;
    }
    interface IndexFullText {
        /**
         * Whether the FullTextInfo is case sensitive.
         */
        caseSensitive: pulumi.Input<boolean>;
        /**
         * The delimiter of the FullTextInfo.
         */
        delimiter: pulumi.Input<string>;
        /**
         * Whether the FullTextInfo include chinese.
         */
        includeChinese?: pulumi.Input<boolean>;
    }
    interface IndexKeyValue {
        /**
         * Whether to create indexes for all fields in JSON fields with text values. This field is valid when the `valueType` is `json`.
         */
        autoIndexFlag?: pulumi.Input<boolean>;
        /**
         * Whether the value is case sensitive.
         */
        caseSensitive?: pulumi.Input<boolean>;
        /**
         * The delimiter of the value.
         */
        delimiter?: pulumi.Input<string>;
        /**
         * Whether the value include chinese.
         */
        includeChinese?: pulumi.Input<boolean>;
        /**
         * Whether to create indexes for all fields in JSON fields with text values. This field is valid when the `valueType` is `json`.
         */
        indexAll?: pulumi.Input<boolean>;
        /**
         * Whether to create indexes for all fields in JSON fields with text values. This field is valid when the `valueType` is `json`.
         */
        indexSqlAll?: pulumi.Input<boolean>;
        /**
         * The JSON subfield key value index.
         */
        jsonKeys?: pulumi.Input<pulumi.Input<inputs.tls.IndexKeyValueJsonKey>[]>;
        /**
         * The key of the KeyValueInfo.
         */
        key: pulumi.Input<string>;
        /**
         * Whether the filed is enabled for analysis.
         */
        sqlFlag?: pulumi.Input<boolean>;
        /**
         * The type of value. Valid values: `long`, `double`, `text`, `json`.
         */
        valueType: pulumi.Input<string>;
    }
    interface IndexKeyValueJsonKey {
        /**
         * The key of the subfield key value index.
         */
        key: pulumi.Input<string>;
        /**
         * Whether the filed is enabled for analysis.
         */
        sqlFlag?: pulumi.Input<boolean>;
        /**
         * The type of value. Valid values: `long`, `double`, `text`.
         */
        valueType: pulumi.Input<string>;
    }
    interface IndexUserInnerKeyValue {
        /**
         * Whether to create indexes for all fields in JSON fields with text values. This field is valid when the `valueType` is `json`.
         */
        autoIndexFlag?: pulumi.Input<boolean>;
        /**
         * Whether the value is case sensitive.
         */
        caseSensitive?: pulumi.Input<boolean>;
        /**
         * The delimiter of the value.
         */
        delimiter?: pulumi.Input<string>;
        /**
         * Whether the value include chinese.
         */
        includeChinese?: pulumi.Input<boolean>;
        /**
         * Whether to create indexes for all fields in JSON fields with text values. This field is valid when the `valueType` is `json`.
         */
        indexAll?: pulumi.Input<boolean>;
        /**
         * Whether to create indexes for all fields in JSON fields with text values. This field is valid when the `valueType` is `json`.
         */
        indexSqlAll?: pulumi.Input<boolean>;
        /**
         * The JSON subfield key value index.
         */
        jsonKeys?: pulumi.Input<pulumi.Input<inputs.tls.IndexUserInnerKeyValueJsonKey>[]>;
        /**
         * The key of the KeyValueInfo.
         */
        key: pulumi.Input<string>;
        /**
         * Whether the filed is enabled for analysis.
         */
        sqlFlag?: pulumi.Input<boolean>;
        /**
         * The type of value. Valid values: `long`, `double`, `text`, `json`.
         */
        valueType: pulumi.Input<string>;
    }
    interface IndexUserInnerKeyValueJsonKey {
        /**
         * The key of the subfield key value index.
         */
        key: pulumi.Input<string>;
        /**
         * Whether the filed is enabled for analysis.
         */
        sqlFlag?: pulumi.Input<boolean>;
        /**
         * The type of value. Valid values: `long`, `double`, `text`.
         */
        valueType: pulumi.Input<string>;
    }
    interface ProjectTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ProjectsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface ProjectsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface RuleContainerRule {
        /**
         * The name of the container to be collected.
         */
        containerNameRegex?: pulumi.Input<string>;
        /**
         * Whether to add environment variables as log tags to raw log data.
         */
        envTag?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * The container environment variable blacklist is used to specify the range of containers not to be collected.
         */
        excludeContainerEnvRegex?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * The container Label blacklist is used to specify the range of containers not to be collected.
         */
        excludeContainerLabelRegex?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * The container environment variable whitelist specifies the container to be collected through the container environment variable. If the whitelist is not enabled, it means that all containers are specified to be collected.
         */
        includeContainerEnvRegex?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * The container label whitelist specifies the containers to be collected through the container label. If the whitelist is not enabled, all containers are specified to be collected.
         */
        includeContainerLabelRegex?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Collection rules for Kubernetes containers.
         */
        kubernetesRule?: pulumi.Input<inputs.tls.RuleContainerRuleKubernetesRule>;
        /**
         * The collection mode.
         */
        stream: pulumi.Input<string>;
    }
    interface RuleContainerRuleKubernetesRule {
        /**
         * Whether to add Kubernetes Annotation as a log tag to the raw log data.
         */
        annotationTag?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Specify the containers not to be collected through the Pod Label blacklist, and not enable means to collect all containers.
         */
        excludePodLabelRegex?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * The Pod Label whitelist is used to specify containers to be collected. When the Pod Label whitelist is not enabled, it means that all containers are collected.
         */
        includePodLabelRegex?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Whether to add Kubernetes Label as a log label to the original log data.
         */
        labelTag?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * The name of the Kubernetes Namespace to be collected. If no Namespace name is specified, all containers will be collected. Namespace names support regular matching.
         */
        namespaceNameRegex?: pulumi.Input<string>;
        /**
         * The Pod name is used to specify the container to be collected. When no Pod name is specified, it means to collect all containers.
         */
        podNameRegex?: pulumi.Input<string>;
        /**
         * Specify the container to be collected by the name of the workload. When no workload name is specified, all containers are collected. The workload name supports regular matching.
         */
        workloadNameRegex?: pulumi.Input<string>;
        /**
         * Specify the containers to be collected by the type of workload, only one type can be selected. When no type is specified, it means all types of containers are collected. The supported types of workloads are:
         * Deployment: stateless workload.
         * StatefulSet: stateful workload.
         * DaemonSet: daemon process.
         * Job: task.
         * CronJob: scheduled task.
         */
        workloadType?: pulumi.Input<string>;
    }
    interface RuleExcludePath {
        /**
         * Collection path type. The path type can be `File` or `Path`.
         */
        type: pulumi.Input<string>;
        /**
         * Collection path.
         */
        value: pulumi.Input<string>;
    }
    interface RuleExtractRule {
        /**
         * The first log line needs to match the regular expression.
         */
        beginRegex?: pulumi.Input<string>;
        /**
         * The delimiter of the log.
         */
        delimiter?: pulumi.Input<string>;
        /**
         * The filter key list.
         */
        filterKeyRegexes?: pulumi.Input<pulumi.Input<inputs.tls.RuleExtractRuleFilterKeyRegex>[]>;
        /**
         * A list of log field names (Key).
         */
        keys?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The entire log needs to match the regular expression.
         */
        logRegex?: pulumi.Input<string>;
        /**
         * Automatically extract log fields according to the specified log template.
         */
        logTemplate?: pulumi.Input<inputs.tls.RuleExtractRuleLogTemplate>;
        /**
         * The quote symbol.
         */
        quote?: pulumi.Input<string>;
        /**
         * Parsing format of the time field.
         */
        timeFormat?: pulumi.Input<string>;
        /**
         * The field name of the log time field.
         */
        timeKey?: pulumi.Input<string>;
        /**
         * The time zone.
         */
        timeZone?: pulumi.Input<string>;
        /**
         * When uploading the failed log, the key name of the failed log.
         */
        unMatchLogKey?: pulumi.Input<string>;
        /**
         * Whether to upload the log of parsing failure.
         */
        unMatchUpLoadSwitch?: pulumi.Input<boolean>;
    }
    interface RuleExtractRuleFilterKeyRegex {
        /**
         * The name of the filter key.
         */
        key: pulumi.Input<string>;
        /**
         * The log content of the filter field needs to match the regular expression.
         */
        regex: pulumi.Input<string>;
    }
    interface RuleExtractRuleLogTemplate {
        /**
         * Log template content.
         */
        format: pulumi.Input<string>;
        /**
         * The type of the log template.
         */
        type: pulumi.Input<string>;
    }
    interface RuleUserDefineRule {
        /**
         * LogCollector extension configuration.
         */
        advanced?: pulumi.Input<inputs.tls.RuleUserDefineRuleAdvanced>;
        /**
         * Whether to upload raw logs.
         */
        enableRawLog?: pulumi.Input<boolean>;
        /**
         * Add constant fields to logs.
         */
        fields?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Rules for parsing collection paths. After the rules are set, the fields in the collection path will be extracted through the regular expressions specified in the rules, and added to the log data as metadata.
         */
        parsePathRule?: pulumi.Input<inputs.tls.RuleUserDefineRuleParsePathRule>;
        /**
         * Plugin configuration. After the plugin configuration is enabled, one or more LogCollector processor plugins can be added to parse logs with complex or variable structures.
         */
        plugin?: pulumi.Input<inputs.tls.RuleUserDefineRulePlugin>;
        /**
         * Rules for routing log partitions. Setting this parameter indicates that the HashKey routing shard mode is used when collecting logs, and Log Service will write the data to the shard containing the specified Key value.
         */
        shardHashKey?: pulumi.Input<inputs.tls.RuleUserDefineRuleShardHashKey>;
        /**
         * LogCollector collection strategy, which specifies whether LogCollector collects incremental logs or full logs. The default is false, which means to collect all logs.
         */
        tailFiles?: pulumi.Input<boolean>;
    }
    interface RuleUserDefineRuleAdvanced {
        /**
         * Whether to release the log file handle after reading to the end of the log file. The default is false.
         */
        closeEof?: pulumi.Input<boolean>;
        /**
         * The wait time to release the log file handle. When the log file has not written a new log for more than the specified time, release the handle of the log file.
         */
        closeInactive?: pulumi.Input<number>;
        /**
         * After the log file is removed, whether to release the handle of the log file. The default is false.
         */
        closeRemoved?: pulumi.Input<boolean>;
        /**
         * After the log file is renamed, whether to release the handle of the log file. The default is false.
         */
        closeRenamed?: pulumi.Input<boolean>;
        /**
         * The maximum length of time that LogCollector monitors log files. The unit is seconds, and the default is 0 seconds, which means that there is no limit to the length of time LogCollector monitors log files.
         */
        closeTimeout?: pulumi.Input<number>;
    }
    interface RuleUserDefineRuleParsePathRule {
        /**
         * A list of field names. Log Service will parse the path sample (PathSample) into multiple fields according to the regular expression (Regex), and Keys is used to specify the field name of each field.
         */
        keys?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Sample capture path for a real scene.
         */
        pathSample?: pulumi.Input<string>;
        /**
         * Regular expression for extracting path fields. It must match the collection path sample, otherwise it cannot be extracted successfully.
         */
        regex?: pulumi.Input<string>;
    }
    interface RuleUserDefineRulePlugin {
        /**
         * LogCollector plugin.
         */
        processors: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface RuleUserDefineRuleShardHashKey {
        /**
         * The HashKey of the log group is used to specify the partition (shard) to be written to by the current log group.
         */
        hashKey: pulumi.Input<string>;
    }
    interface ScheduleSqlTaskRequestCycle {
        /**
         * Cron expression. The log service specifies the timed execution of alarm tasks through the Cron expression. The minimum granularity of Cron expressions is minutes, 24 hours. For example, 0 18 * * * indicates that an alarm task is executed exactly at 18:00 every day.
         */
        cronTab?: pulumi.Input<string>;
        /**
         * When setting the Type to Cron, the time zone also needs to be set.
         */
        cronTimeZone?: pulumi.Input<string>;
        /**
         * The scheduling cycle or the time point of regular execution (the number of minutes away from 00:00), with a value range of 1 to 1440, and the unit is minutes.
         */
        time: pulumi.Input<number>;
        /**
         * The type of Scheduling cycle.
         */
        type: pulumi.Input<string>;
    }
    interface SearchTracesQuery {
        /**
         * Whether to sort results in ascending order. true means ascending, false means descending.
         */
        asc?: boolean;
        /**
         * Attributes.
         */
        attributes?: inputs.tls.SearchTracesQueryAttribute[];
        /**
         * Maximum trace duration in microseconds.
         */
        durationMax?: number;
        /**
         * Minimum trace duration in microseconds.
         */
        durationMin?: number;
        /**
         * Type of the trace.
         */
        kind?: string;
        /**
         * Maximum number of records to return, used for pagination.
         */
        limit?: number;
        /**
         * Offset for paginated query.
         */
        offset?: number;
        /**
         * Operation name, used to filter traces with specific operation.
         */
        operationName?: string;
        /**
         * Sorting field. Supported fields: Kind, Name, ServiceName, Start, End, Duration, and indexed fields in Attributes.
         */
        order?: string;
        /**
         * Service name, used to filter traces from specific service.
         */
        serviceName?: string;
        /**
         * Maximum start time for searching traces, in microsecond timestamp format.
         */
        startTimeMax?: number;
        /**
         * Minimum start time for searching traces, in microsecond timestamp format.
         */
        startTimeMin?: number;
        /**
         * Trace status code, used to filter traces with specific status.
         */
        statusCode?: string;
        /**
         * Trace ID.
         */
        traceId?: string;
    }
    interface SearchTracesQueryArgs {
        /**
         * Whether to sort results in ascending order. true means ascending, false means descending.
         */
        asc?: pulumi.Input<boolean>;
        /**
         * Attributes.
         */
        attributes?: pulumi.Input<pulumi.Input<inputs.tls.SearchTracesQueryAttributeArgs>[]>;
        /**
         * Maximum trace duration in microseconds.
         */
        durationMax?: pulumi.Input<number>;
        /**
         * Minimum trace duration in microseconds.
         */
        durationMin?: pulumi.Input<number>;
        /**
         * Type of the trace.
         */
        kind?: pulumi.Input<string>;
        /**
         * Maximum number of records to return, used for pagination.
         */
        limit?: pulumi.Input<number>;
        /**
         * Offset for paginated query.
         */
        offset?: pulumi.Input<number>;
        /**
         * Operation name, used to filter traces with specific operation.
         */
        operationName?: pulumi.Input<string>;
        /**
         * Sorting field. Supported fields: Kind, Name, ServiceName, Start, End, Duration, and indexed fields in Attributes.
         */
        order?: pulumi.Input<string>;
        /**
         * Service name, used to filter traces from specific service.
         */
        serviceName?: pulumi.Input<string>;
        /**
         * Maximum start time for searching traces, in microsecond timestamp format.
         */
        startTimeMax?: pulumi.Input<number>;
        /**
         * Minimum start time for searching traces, in microsecond timestamp format.
         */
        startTimeMin?: pulumi.Input<number>;
        /**
         * Trace status code, used to filter traces with specific status.
         */
        statusCode?: pulumi.Input<string>;
        /**
         * Trace ID.
         */
        traceId?: pulumi.Input<string>;
    }
    interface SearchTracesQueryAttribute {
        /**
         * Attribute key.
         */
        key: string;
        /**
         * Attribute value.
         */
        value: string;
    }
    interface SearchTracesQueryAttributeArgs {
        /**
         * Attribute key.
         */
        key: pulumi.Input<string>;
        /**
         * Attribute value.
         */
        value: pulumi.Input<string>;
    }
    interface ShardShard {
        /**
         * The exclusive end key of the shard.
         */
        exclusiveEndKey?: pulumi.Input<string>;
        /**
         * The inclusive begin key of the shard.
         */
        inclusiveBeginKey?: pulumi.Input<string>;
        /**
         * The modification time of the shard.
         */
        modifyTime?: pulumi.Input<string>;
        /**
         * The ID of the shard to split.
         */
        shardId?: pulumi.Input<number>;
        /**
         * The status of the shard.
         */
        status?: pulumi.Input<string>;
        /**
         * The stop write time of the shard.
         */
        stopWriteTime?: pulumi.Input<string>;
        /**
         * The ID of the topic.
         */
        topicId?: pulumi.Input<string>;
    }
    interface ShipperContentInfo {
        /**
         * CSV format log content configuration.
         */
        csvInfo?: pulumi.Input<inputs.tls.ShipperContentInfoCsvInfo>;
        /**
         * Log content parsing format.
         */
        format?: pulumi.Input<string>;
        /**
         * JSON format log content configuration.
         */
        jsonInfo?: pulumi.Input<inputs.tls.ShipperContentInfoJsonInfo>;
    }
    interface ShipperContentInfoCsvInfo {
        /**
         * Delimiters are supported, including commas, tabs, vertical bars, semicolons, and Spaces.
         */
        delimiter: pulumi.Input<string>;
        /**
         * When the field content contains a delimiter, use an escape character to wrap the field. Currently, only single quotes, double quotes, and null characters are supported.
         */
        escapeChar: pulumi.Input<string>;
        /**
         * Configure the fields that need to be delivered.
         */
        keys: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Invalid field filling content, with a length ranging from 0 to 128.
         */
        nonFieldContent: pulumi.Input<string>;
        /**
         * Whether to print the Key on the first line.
         */
        printHeader: pulumi.Input<boolean>;
    }
    interface ShipperContentInfoJsonInfo {
        /**
         * Enable the flag.
         */
        enable: pulumi.Input<boolean>;
        /**
         * Whether to escape or not. It must be configured as true.
         */
        escape?: pulumi.Input<boolean>;
        /**
         * When delivering in JSON format, if this parameter is not configured, it indicates that all fields have been delivered. Including __content__ (choice), __source__, __path__, __time__, __image_name__, __container_name__, __pod_name__, __pod_uid__, namespace, __tag____client_ip__, __tag____receive_time__.
         */
        keys?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ShipperKafkaShipperInfo {
        /**
         * Compression formats currently supported include snappy, gzip, lz4, and none.
         */
        compress: pulumi.Input<string>;
        /**
         * Delivery end time, millisecond timestamp. If not configured, it will keep delivering.
         */
        endTime?: pulumi.Input<number>;
        /**
         * Kafka instance.
         */
        instance: pulumi.Input<string>;
        /**
         * The name of the Kafka Topic.
         */
        kafkaTopic: pulumi.Input<string>;
        /**
         * Delivery start time, millisecond timestamp. If not configured, the default is the current time.
         */
        startTime?: pulumi.Input<number>;
    }
    interface ShipperTosShipperInfo {
        /**
         * When choosing a TOS bucket, it must be located in the same region as the source log topic.
         */
        bucket: pulumi.Input<string>;
        /**
         * Compression formats currently supported include snappy, gzip, lz4, and none.
         */
        compress?: pulumi.Input<string>;
        /**
         * The delivery time interval, measured in seconds, ranges from 300 to 900.
         */
        interval?: pulumi.Input<number>;
        /**
         * The maximum size of the original file that can be delivered to each partition (Shard), that is, the size of the uncompressed log file. The unit is MiB, and the value range is 5 to 256.
         */
        maxSize?: pulumi.Input<number>;
        /**
         * Partition rules for delivering logs.
         */
        partitionFormat?: pulumi.Input<string>;
        /**
         * The top-level directory name of the storage bucket. All log data delivered through this delivery configuration will be delivered to this directory.
         */
        prefix?: pulumi.Input<string>;
    }
    interface TagResourceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TagResourcesTagFilter {
        /**
         * The key of the tag filter.
         */
        key: string;
        /**
         * The values of the tag filter.
         */
        values: string[];
    }
    interface TagResourcesTagFilterArgs {
        /**
         * The key of the tag filter.
         */
        key: pulumi.Input<string>;
        /**
         * The values of the tag filter.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface TagTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TagsTagFilter {
        /**
         * The key of the tag filter.
         */
        key: string;
        /**
         * The values of the tag filter.
         */
        values: string[];
    }
    interface TagsTagFilterArgs {
        /**
         * The key of the tag filter.
         */
        key: pulumi.Input<string>;
        /**
         * The values of the tag filter.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface TopicEncryptConf {
        /**
         * Whether to enable data encryption.
         */
        enable?: pulumi.Input<boolean>;
        /**
         * The encryption type.
         */
        encryptType?: pulumi.Input<string>;
        /**
         * The user custom key.
         */
        userCmkInfo?: pulumi.Input<inputs.tls.TopicEncryptConfUserCmkInfo>;
    }
    interface TopicEncryptConfUserCmkInfo {
        /**
         * The key region.
         */
        regionId?: pulumi.Input<string>;
        /**
         * The key trn.
         */
        trn?: pulumi.Input<string>;
        /**
         * The key id.
         */
        userCmkId?: pulumi.Input<string>;
    }
    interface TopicTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TopicsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface TopicsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TraceInstanceBackendConfig {
        /**
         * Archive storage duration in days.
         */
        archiveTtl?: pulumi.Input<number>;
        /**
         * Whether to enable auto split.
         */
        autoSplit?: pulumi.Input<boolean>;
        /**
         * Infrequent storage duration in days.
         */
        coldTtl?: pulumi.Input<number>;
        /**
         * Whether to enable tiered storage.
         */
        enableHotTtl?: pulumi.Input<boolean>;
        /**
         * Standard storage duration in days.
         */
        hotTtl?: pulumi.Input<number>;
        /**
         * Max split partitions.
         */
        maxSplitPartitions?: pulumi.Input<number>;
        /**
         * Total log retention time in days.
         */
        ttl?: pulumi.Input<number>;
    }
}
export declare namespace tos {
    interface BucketAccountAcl {
        /**
         * The accountId to control.
         */
        accountId: pulumi.Input<string>;
        /**
         * The acl type to control.Valid value is CanonicalUser.
         */
        aclType?: pulumi.Input<string>;
        /**
         * The permission to control.Valid value is FULL_CONTROL|READ|READ_ACP|WRITE|WRITE_ACP.
         */
        permission: pulumi.Input<string>;
    }
    interface BucketCorsCorsRule {
        /**
         * The list of headers that are allowed in a preflight request.
         */
        allowedHeaders?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The list of HTTP methods that are allowed in a preflight request. Valid values: `PUT`, `POST`, `DELETE`, `GET`, `HEAD`.
         */
        allowedMethods: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The list of origins that are allowed to make requests to the bucket.
         */
        allowedOrigins: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The list of headers that are exposed in the response to a preflight request. It is recommended to add two expose headers, X-Tos-Request-Id and ETag.
         */
        exposeHeaders?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The maximum amount of time that a preflight request can be cached. Unit: second. Default value: 3600.
         */
        maxAgeSeconds?: pulumi.Input<number>;
        /**
         * Indicates whether the bucket returns the 'Vary: Origin' header in the response to preflight requests. Default value: false.
         */
        responseVary?: pulumi.Input<boolean>;
    }
    interface BucketCustomdomainCustomDomainRule {
        /**
         * The certificate id.
         */
        certId?: pulumi.Input<string>;
        /**
         * The custom domain name for the bucket.
         */
        domain: pulumi.Input<string>;
        /**
         * Custom domain access protocol.tos|s3.
         */
        protocol?: pulumi.Input<string>;
    }
    interface BucketEncryptionRule {
        /**
         * The server side encryption configuration.
         */
        applyServerSideEncryptionByDefault: pulumi.Input<inputs.tos.BucketEncryptionRuleApplyServerSideEncryptionByDefault>;
    }
    interface BucketEncryptionRuleApplyServerSideEncryptionByDefault {
        /**
         * The kms data encryption. Valid values: `AES256`, `SM4`. Default is `AES256`.
         */
        kmsDataEncryption?: pulumi.Input<string>;
        /**
         * The kms master key id. This field is required when `sseAlgorithm` is `kms`. The format is `trn:kms:<region>:<accountID>:keyrings/<keyring>/keys/<key>`.
         */
        kmsMasterKeyId?: pulumi.Input<string>;
        /**
         * The server side encryption algorithm. Valid values: `kms`, `AES256`, `SM4`.
         */
        sseAlgorithm: pulumi.Input<string>;
    }
    interface BucketInventoryDestination {
        /**
         * The destination tos bucket information of the bucket inventory.
         */
        tosBucketDestination: pulumi.Input<inputs.tos.BucketInventoryDestinationTosBucketDestination>;
    }
    interface BucketInventoryDestinationTosBucketDestination {
        /**
         * The account id of the destination tos bucket.
         */
        accountId: pulumi.Input<string>;
        /**
         * The name of the destination tos bucket.
         */
        bucket: pulumi.Input<string>;
        /**
         * The format of the bucket inventory. Valid values: `CSV`.
         */
        format: pulumi.Input<string>;
        /**
         * The storage path prefix of the bucket inventory in destination tos bucket.
         */
        prefix?: pulumi.Input<string>;
        /**
         * The role name used to grant TOS access to read all files from the source bucket and write files to the destination bucket. You can use the default TOS role `TosArchiveTOSInventory`.
         */
        role: pulumi.Input<string>;
    }
    interface BucketInventoryFilter {
        /**
         * The prefix matching information of the exported object. If not set, a list of all objects in the bucket will be generated by default.
         */
        prefix?: pulumi.Input<string>;
    }
    interface BucketInventoryOptionalFields {
        /**
         * The information exported from the bucket inventory. Valid values: `Size`, `LastModifiedDate`, `ETag`, `StorageClass`, `IsMultipartUploaded`, `EncryptionStatus`, `CRC64`, `ReplicationStatus`.
         */
        fields?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface BucketInventorySchedule {
        /**
         * The export schedule of the bucket inventory. Valid values: `Daily`, `Weekly`.
         */
        frequency: pulumi.Input<string>;
    }
    interface BucketLifecycleRule {
        /**
         * The abort incomplete multipart upload configuration of the lifecycle rule.
         */
        abortIncompleteMultipartUpload?: pulumi.Input<inputs.tos.BucketLifecycleRuleAbortIncompleteMultipartUpload>;
        /**
         * The expiration configuration of the lifecycle rule.
         */
        expiration?: pulumi.Input<inputs.tos.BucketLifecycleRuleExpiration>;
        /**
         * The filter configuration of the lifecycle rule.
         */
        filter?: pulumi.Input<inputs.tos.BucketLifecycleRuleFilter>;
        /**
         * The ID of the lifecycle rule.
         */
        id?: pulumi.Input<string>;
        /**
         * The non-current version expiration configuration of the lifecycle rule.
         */
        nonCurrentVersionExpiration?: pulumi.Input<inputs.tos.BucketLifecycleRuleNonCurrentVersionExpiration>;
        /**
         * The non-current version transition configuration of the lifecycle rule.
         */
        nonCurrentVersionTransitions?: pulumi.Input<pulumi.Input<inputs.tos.BucketLifecycleRuleNonCurrentVersionTransition>[]>;
        /**
         * The prefix of the lifecycle rule.
         */
        prefix?: pulumi.Input<string>;
        /**
         * The status of the lifecycle rule. Valid values: Enabled, Disabled.
         */
        status: pulumi.Input<string>;
        /**
         * The tag filters.
         */
        tags?: pulumi.Input<pulumi.Input<inputs.tos.BucketLifecycleRuleTag>[]>;
        /**
         * The transition configuration of the lifecycle rule.
         */
        transitions?: pulumi.Input<pulumi.Input<inputs.tos.BucketLifecycleRuleTransition>[]>;
    }
    interface BucketLifecycleRuleAbortIncompleteMultipartUpload {
        /**
         * The number of days after initiation when the incomplete multipart upload should be aborted.
         */
        daysAfterInitiation: pulumi.Input<number>;
    }
    interface BucketLifecycleRuleExpiration {
        /**
         * The date when the rule takes effect. Format: 2023-01-01T00:00:00.000Z.
         */
        date?: pulumi.Input<string>;
        /**
         * The number of days after object creation when the rule takes effect.
         */
        days?: pulumi.Input<number>;
    }
    interface BucketLifecycleRuleFilter {
        /**
         * Whether to enable equal conditions. The value can only be "Enabled" or "Disabled". If not configured, it will default to "Disabled".
         */
        greaterThanIncludeEqual?: pulumi.Input<string>;
        /**
         * Whether to enable equal conditions. The value can only be "Enabled" or "Disabled". If not configured, it will default to "Disabled".
         */
        lessThanIncludeEqual?: pulumi.Input<string>;
        /**
         * The minimum object size in bytes for the rule to apply.
         */
        objectSizeGreaterThan?: pulumi.Input<number>;
        /**
         * The maximum object size in bytes for the rule to apply.
         */
        objectSizeLessThan?: pulumi.Input<number>;
    }
    interface BucketLifecycleRuleNonCurrentVersionExpiration {
        /**
         * The number of days after object creation when the non-current version expiration takes effect.
         */
        nonCurrentDays: pulumi.Input<number>;
    }
    interface BucketLifecycleRuleNonCurrentVersionTransition {
        /**
         * The number of days after object creation when the non-current version transition takes effect.
         */
        nonCurrentDays: pulumi.Input<number>;
        /**
         * The storage class to transition to. Valid values: IA, ARCHIVE, COLD_ARCHIVE.
         */
        storageClass: pulumi.Input<string>;
    }
    interface BucketLifecycleRuleTag {
        /**
         * The key of the tag.
         */
        key: pulumi.Input<string>;
        /**
         * The value of the tag.
         */
        value: pulumi.Input<string>;
    }
    interface BucketLifecycleRuleTransition {
        /**
         * The date when the transition takes effect. Format: 2023-01-01T00:00:00.000Z.
         */
        date?: pulumi.Input<string>;
        /**
         * The number of days after object creation when the transition takes effect.
         */
        days?: pulumi.Input<number>;
        /**
         * The storage class to transition to. Valid values: IA, ARCHIVE, COLD_ARCHIVE.
         */
        storageClass?: pulumi.Input<string>;
    }
    interface BucketLoggingLoggingEnabled {
        /**
         * The role that is assumed by TOS to write log objects to the target bucket.
         */
        role?: pulumi.Input<string>;
        /**
         * The name of the target bucket where the access logs are stored.
         */
        targetBucket?: pulumi.Input<string>;
        /**
         * The prefix for the log object keys.
         */
        targetPrefix?: pulumi.Input<string>;
    }
    interface BucketMirrorBackRule {
        /**
         * The condition of the mirrorBack rule.
         */
        condition?: pulumi.Input<inputs.tos.BucketMirrorBackRuleCondition>;
        /**
         * The ID of the mirrorBack rule.
         */
        id?: pulumi.Input<string>;
        /**
         * The redirect configuration of the mirrorBack rule.
         */
        redirect?: pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirect>;
    }
    interface BucketMirrorBackRuleCondition {
        /**
         * Only when a specific domain name is supported will the origin retrieval be triggered.
         */
        allowHosts?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Error code for triggering the source re-fetch function.
         */
        httpCode: pulumi.Input<number>;
        /**
         * The type of request that triggers the re-sourcing process.
         */
        httpMethods?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The prefix of the object name that matches the source object.
         */
        keyPrefix?: pulumi.Input<string>;
        /**
         * The suffix of the object name that matches the source object.
         */
        keySuffix?: pulumi.Input<string>;
    }
    interface BucketMirrorBackRuleRedirect {
        /**
         * The fetch header to metadata rules.
         */
        fetchHeaderToMetaDataRules?: pulumi.Input<pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectFetchHeaderToMetaDataRule>[]>;
        /**
         * Whether to fetch source on redirect.
         */
        fetchSourceOnRedirect?: pulumi.Input<boolean>;
        /**
         * Whether to fetch source on redirect with query.
         */
        fetchSourceOnRedirectWithQuery?: pulumi.Input<boolean>;
        /**
         * Whether to follow redirects.
         */
        followRedirect?: pulumi.Input<boolean>;
        /**
         * The mirror header configuration.
         */
        mirrorHeaders?: pulumi.Input<pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectMirrorHeader>[]>;
        /**
         * Whether to pass query parameters.
         */
        passQuery?: pulumi.Input<boolean>;
        /**
         * The private source configuration.
         */
        privateSources?: pulumi.Input<pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectPrivateSource>[]>;
        /**
         * The public source configuration.
         */
        publicSource?: pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectPublicSource>;
        /**
         * The type of redirect.
         */
        redirectType?: pulumi.Input<string>;
        /**
         * The transform configuration.
         */
        transform?: pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectTransform>;
    }
    interface BucketMirrorBackRuleRedirectFetchHeaderToMetaDataRule {
        /**
         * The metadata suffix.
         */
        metaDataSuffix: pulumi.Input<string>;
        /**
         * The source header.
         */
        sourceHeader: pulumi.Input<string>;
    }
    interface BucketMirrorBackRuleRedirectMirrorHeader {
        /**
         * Whether to pass all headers.
         */
        passAll?: pulumi.Input<boolean>;
        /**
         * The headers to pass.
         */
        passes?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The headers to remove.
         */
        removes?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The mirror header configuration.
         */
        sets?: pulumi.Input<pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectMirrorHeaderSet>[]>;
    }
    interface BucketMirrorBackRuleRedirectMirrorHeaderSet {
        /**
         * The key of the header.
         */
        key?: pulumi.Input<string>;
        /**
         * The value of the header.
         */
        value?: pulumi.Input<string>;
    }
    interface BucketMirrorBackRuleRedirectPrivateSource {
        /**
         * The source endpoint.
         */
        sourceEndpoints?: pulumi.Input<pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpoint>[]>;
    }
    interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpoint {
        /**
         * The follower endpoints.
         */
        followers?: pulumi.Input<pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollower>[]>;
        /**
         * The primary endpoints.
         */
        primaries?: pulumi.Input<pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimary>[]>;
    }
    interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollower {
        /**
         * The bucket name.
         */
        bucketName?: pulumi.Input<string>;
        /**
         * The credential provider.
         */
        credentialProvider?: pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollowerCredentialProvider>;
        /**
         * The endpoint.
         */
        endpoint?: pulumi.Input<string>;
    }
    interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollowerCredentialProvider {
        /**
         * The role.
         */
        role?: pulumi.Input<string>;
    }
    interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimary {
        /**
         * The bucket name.
         */
        bucketName?: pulumi.Input<string>;
        /**
         * The credential provider.
         */
        credentialProvider?: pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimaryCredentialProvider>;
        /**
         * The endpoint.
         */
        endpoint?: pulumi.Input<string>;
    }
    interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimaryCredentialProvider {
        /**
         * The role.
         */
        role?: pulumi.Input<string>;
    }
    interface BucketMirrorBackRuleRedirectPublicSource {
        /**
         * Whether the endpoint is fixed.
         */
        fixedEndpoint?: pulumi.Input<boolean>;
        /**
         * The source endpoint.
         */
        sourceEndpoint?: pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectPublicSourceSourceEndpoint>;
    }
    interface BucketMirrorBackRuleRedirectPublicSourceSourceEndpoint {
        /**
         * The follower endpoints.
         */
        followers?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The primary endpoints.
         */
        primaries?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface BucketMirrorBackRuleRedirectTransform {
        /**
         * The replace key prefix configuration.
         */
        replaceKeyPrefix?: pulumi.Input<inputs.tos.BucketMirrorBackRuleRedirectTransformReplaceKeyPrefix>;
        /**
         * The key prefix to add.
         */
        withKeyPrefix?: pulumi.Input<string>;
        /**
         * The key suffix to add.
         */
        withKeySuffix?: pulumi.Input<string>;
    }
    interface BucketMirrorBackRuleRedirectTransformReplaceKeyPrefix {
        /**
         * The key prefix to replace.
         */
        keyPrefix?: pulumi.Input<string>;
        /**
         * The value to replace with.
         */
        replaceWith?: pulumi.Input<string>;
    }
    interface BucketNotificationRules {
        /**
         * The destination info of the notification.
         */
        destination: pulumi.Input<inputs.tos.BucketNotificationRulesDestination>;
        /**
         * The event type of the notification.
         */
        events: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The filter of the notification.
         */
        filter?: pulumi.Input<inputs.tos.BucketNotificationRulesFilter>;
        /**
         * The rule name of the notification.
         */
        ruleId: pulumi.Input<string>;
    }
    interface BucketNotificationRulesDestination {
        /**
         * The VeFaas info of the destination.
         */
        veFaas?: pulumi.Input<pulumi.Input<inputs.tos.BucketNotificationRulesDestinationVeFaa>[]>;
    }
    interface BucketNotificationRulesDestinationVeFaa {
        /**
         * The function id of the destination.
         */
        functionId: pulumi.Input<string>;
    }
    interface BucketNotificationRulesFilter {
        /**
         * The tos filter of the notification.
         */
        tosKey?: pulumi.Input<inputs.tos.BucketNotificationRulesFilterTosKey>;
    }
    interface BucketNotificationRulesFilterTosKey {
        /**
         * The filter rules of the notification.
         */
        filterRules?: pulumi.Input<pulumi.Input<inputs.tos.BucketNotificationRulesFilterTosKeyFilterRule>[]>;
    }
    interface BucketNotificationRulesFilterTosKeyFilterRule {
        /**
         * The name of the filter rule. Valid values: `prefix`, `suffix`.
         */
        name?: pulumi.Input<string>;
        /**
         * The value of the filter rule.
         */
        value?: pulumi.Input<string>;
    }
    interface BucketObjectAccountAcl {
        /**
         * The accountId to control.
         */
        accountId: pulumi.Input<string>;
        /**
         * The acl type to control.Valid value is CanonicalUser.
         */
        aclType?: pulumi.Input<string>;
        /**
         * The permission to control.Valid value is FULL_CONTROL|READ|READ_ACP|WRITE|WRITE_ACP.
         */
        permission: pulumi.Input<string>;
    }
    interface BucketObjectLockConfigurationRule {
        /**
         * The default retention configuration.
         */
        defaultRetention: pulumi.Input<inputs.tos.BucketObjectLockConfigurationRuleDefaultRetention>;
    }
    interface BucketObjectLockConfigurationRuleDefaultRetention {
        /**
         * The number of days for the default retention period.
         */
        days?: pulumi.Input<number>;
        /**
         * The default retention mode. Valid values: COMPLIANCE, GOVERNANCE.
         */
        mode: pulumi.Input<string>;
        /**
         * The number of years for the default retention period.
         */
        years?: pulumi.Input<number>;
    }
    interface BucketObjectTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface BucketRealtimeLogAccessLogConfiguration {
        /**
         * The ID of the tls dashboard.
         */
        tlsDashboardId?: pulumi.Input<string>;
        /**
         * The ID of the tls project.
         */
        tlsProjectId?: pulumi.Input<string>;
        /**
         * The ID of the tls topic.
         */
        tlsTopicId?: pulumi.Input<string>;
        /**
         * The TLS log retention duration. Unit in days. Valid values range is 1~3650. default is 7.
         */
        ttl?: pulumi.Input<number>;
    }
    interface BucketReplicationRule {
        /**
         * The access control translation configuration of the replication rule.
         */
        accessControlTranslation: pulumi.Input<inputs.tos.BucketReplicationRuleAccessControlTranslation>;
        /**
         * The destination configuration of the replication rule.
         */
        destination: pulumi.Input<inputs.tos.BucketReplicationRuleDestination>;
        /**
         * Whether to replicate historical objects. Valid values: Enabled, Disabled.
         */
        historicalObjectReplication?: pulumi.Input<string>;
        /**
         * The ID of the replication rule.
         */
        id?: pulumi.Input<string>;
        /**
         * The prefix set for the replication rule.
         */
        prefixSets?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The status of the replication rule. Valid values: Enabled, Disabled.
         */
        status: pulumi.Input<string>;
        /**
         * Specify the data transmission link to be used for cross-regional replication. Valid values: internal, tos_acc.
         */
        transferType?: pulumi.Input<string>;
    }
    interface BucketReplicationRuleAccessControlTranslation {
        /**
         * The owner of the destination object.
         */
        owner?: pulumi.Input<string>;
    }
    interface BucketReplicationRuleDestination {
        /**
         * The destination bucket name.
         */
        bucket: pulumi.Input<string>;
        /**
         * The destination bucket location.
         */
        location: pulumi.Input<string>;
        /**
         * The storage class for the destination bucket. Valid values: STANDARD, IA, ARCHIVE, COLD_ARCHIVE.
         */
        storageClass?: pulumi.Input<string>;
        /**
         * The storage class inherit directive. Valid values: COPY, OVERRIDE.
         */
        storageClassInheritDirective?: pulumi.Input<string>;
    }
    interface BucketTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface BucketWebsiteErrorDocument {
        /**
         * The key of the error document object, e.g., error.html.
         */
        key?: pulumi.Input<string>;
    }
    interface BucketWebsiteIndexDocument {
        /**
         * The suffix of the index document, e.g., index.html.
         */
        suffix: pulumi.Input<string>;
        /**
         * Whether to support subdirectory indexing. Default is false.
         */
        supportSubDir?: pulumi.Input<boolean>;
    }
    interface BucketWebsiteRedirectAllRequestsTo {
        /**
         * The target host name for redirect.
         */
        hostName?: pulumi.Input<string>;
        /**
         * The protocol for redirect. Valid values: http, https.
         */
        protocol?: pulumi.Input<string>;
    }
    interface BucketWebsiteRoutingRule {
        /**
         * The condition for the routing rule.
         */
        condition: pulumi.Input<inputs.tos.BucketWebsiteRoutingRuleCondition>;
        /**
         * The redirect configuration for the routing rule.
         */
        redirect: pulumi.Input<inputs.tos.BucketWebsiteRoutingRuleRedirect>;
    }
    interface BucketWebsiteRoutingRuleCondition {
        /**
         * The HTTP error code that must match for the rule to apply, e.g., 404.
         */
        httpErrorCodeReturnedEquals?: pulumi.Input<number>;
        /**
         * The key prefix that must match for the rule to apply.
         */
        keyPrefixEquals?: pulumi.Input<string>;
    }
    interface BucketWebsiteRoutingRuleRedirect {
        /**
         * The host name to redirect to.
         */
        hostName?: pulumi.Input<string>;
        /**
         * The HTTP redirect code to use, e.g., 301, 302.
         */
        httpRedirectCode?: pulumi.Input<number>;
        /**
         * The protocol to use for the redirect. Valid values: http, https.
         */
        protocol?: pulumi.Input<string>;
        /**
         * The key prefix to replace the original key prefix with.
         */
        replaceKeyPrefixWith?: pulumi.Input<string>;
        /**
         * The key to replace the original key with.
         */
        replaceKeyWith?: pulumi.Input<string>;
    }
}
export declare namespace transit_router {
    interface BandwidthPackageAllocation {
        /**
         * The delete time of the transit router bandwidth package.
         */
        allocateTime?: pulumi.Input<string>;
        /**
         * The delete time of the transit router bandwidth package.
         */
        deleteTime?: pulumi.Input<string>;
        /**
         * The local region id of the transit router.
         */
        localRegionId?: pulumi.Input<string>;
        /**
         * The ID of the peer attachment.
         */
        transitRouterPeerAttachmentId?: pulumi.Input<string>;
    }
    interface BandwidthPackageTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface BandwidthPackagesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface BandwidthPackagesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface DirectConnectGatewayAttachmentTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface DirectConnectGatewayAttachmentsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface DirectConnectGatewayAttachmentsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetBandwidthPackagesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetBandwidthPackagesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetDirectConnectGatewayAttachmentsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetDirectConnectGatewayAttachmentsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetPeerAttachmentsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetPeerAttachmentsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetRouteTablesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetRouteTablesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetTransitRoutersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetTransitRoutersTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetVpcAttachmentsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetVpcAttachmentsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetVpnAttachmentsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetVpnAttachmentsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface PeerAttachmentTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface PeerAttachmentsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface PeerAttachmentsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface RouteTableTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface RouteTablesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface RouteTablesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TransitRouterTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TransitRouterTransitRouterAttachment {
        /**
         * The create time.
         */
        creationTime?: pulumi.Input<string>;
        /**
         * The id of resource.
         */
        resourceId?: pulumi.Input<string>;
        /**
         * The type of resource.
         */
        resourceType?: pulumi.Input<string>;
        /**
         * The status of the transit router.
         */
        status?: pulumi.Input<string>;
        /**
         * The id of transit router attachment.
         */
        transitRouterAttachmentId?: pulumi.Input<string>;
        /**
         * The name of transit router attachment.
         */
        transitRouterAttachmentName?: pulumi.Input<string>;
        /**
         * The id of transit router route table.
         */
        transitRouterRouteTableId?: pulumi.Input<string>;
        /**
         * The update time.
         */
        updateTime?: pulumi.Input<string>;
    }
    interface TransitRoutersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface TransitRoutersTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpcAttachmentAttachPoint {
        /**
         * The id of subnet.
         */
        subnetId: pulumi.Input<string>;
        /**
         * The id of zone.
         */
        zoneId: pulumi.Input<string>;
    }
    interface VpcAttachmentTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpcAttachmentsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface VpcAttachmentsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpnAttachmentTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpnAttachmentsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface VpnAttachmentsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace vedb_mysql {
    interface AccountAccountPrivilege {
        /**
         * Authorization database privilege types:
         * ReadWrite: Read and write privilege.
         * ReadOnly: Read-only privilege.
         * DDLOnly: Only DDL privilege.
         * DMLOnly: Only DML privilege.
         * Custom: Custom privilege.
         */
        accountPrivilege: pulumi.Input<string>;
        /**
         * The specific SQL operation permissions contained in the permission type are separated by English commas (,) between multiple strings.
         * When used as a request parameter in the CreateDatabase interface, when the AccountPrivilege value is Custom, this parameter is required. Value range (multiple selections allowed): SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER. When used as a return parameter in the DescribeDatabases interface, regardless of the value of AccountPrivilege, the details of the SQL operation permissions contained in this permission type are returned. For the specific SQL operation permissions contained in each permission type, please refer to the account permission list.
         */
        accountPrivilegeDetail?: pulumi.Input<string>;
        /**
         * Database name requiring authorization.
         */
        dbName: pulumi.Input<string>;
    }
    interface BackupBackupPolicy {
        /**
         * Data backup retention period, value: 7 to 30 days.
         */
        backupRetentionPeriod: pulumi.Input<number>;
        /**
         * The time for executing the backup task has an interval window of 2 hours and must be an even-hour time. Format: HH:mmZ-HH:mmZ (UTC time).
         */
        backupTime: pulumi.Input<string>;
        /**
         * Full backup period. It is recommended to select at least 2 days per week for full backup. Multiple values are separated by English commas (,). Values: Monday: Monday. Tuesday: Tuesday. Wednesday: Wednesday. Thursday: Thursday. Friday: Friday. Saturday: Saturday. Sunday: Sunday.
         */
        fullBackupPeriod: pulumi.Input<string>;
    }
    interface GetInstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetInstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface InstancesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface InstancesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace veecp {
    interface BatchEdgeMachinesStatus {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        edgeNodeStatusConditionType?: string;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: string;
    }
    interface BatchEdgeMachinesStatusArgs {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        edgeNodeStatusConditionType?: pulumi.Input<string>;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: pulumi.Input<string>;
    }
    interface ClusterClusterConfig {
        /**
         * Cluster API Server public network access configuration information. It takes effect only when ApiServerPublicAccessEnabled=true.
         */
        apiServerPublicAccessConfig?: pulumi.Input<inputs.veecp.ClusterClusterConfigApiServerPublicAccessConfig>;
        /**
         * Cluster API Server public network access configuration, values:
         * false: (default value). closed
         * true: opened.
         */
        apiServerPublicAccessEnabled?: pulumi.Input<boolean>;
        /**
         * Node public network access configuration, values:
         * false: (default value). Do not enable public network access. Existing NAT gateways and rules are not affected. true: Enable public network access. After enabling, a NAT gateway is automatically created for the cluster's private network and corresponding rules are configured. Note: This parameter cannot be modified after the cluster is created. Please configure it reasonably.
         */
        resourcePublicAccessDefaultEnabled?: pulumi.Input<boolean>;
        /**
         * The subnet ID for communication within the private network (VPC) of the cluster control plane. You can call the private network API to obtain the subnet ID. Note: When creating a cluster, please ensure that all specified SubnetIds (including but not limited to this parameter) belong to the same private network. It is recommended that you choose subnets in different availability zones as much as possible to improve the high availability of the cluster control plane. Please note that this parameter is not supported to be modified after the cluster is created. Please configure it reasonably.
         */
        subnetIds: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ClusterClusterConfigApiServerPublicAccessConfig {
        /**
         * Public network access network configuration.
         */
        publicAccessNetworkConfig?: pulumi.Input<inputs.veecp.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfig>;
    }
    interface ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfig {
        /**
         * The peak bandwidth of the public IP, unit: Mbps.
         */
        bandwidth?: pulumi.Input<number>;
        /**
         * Billing type of public IP, the value is `PostPaidByBandwidth` or `PostPaidByTraffic`.
         */
        billingType?: pulumi.Input<string>;
    }
    interface ClusterLoggingConfig {
        /**
         * The TLS log item ID of the collection target.
         */
        logProjectId?: pulumi.Input<string>;
        /**
         * Cluster logging options. This structure can only be modified and added, and cannot be deleted. When encountering a `cannot be deleted` error, please query the log setups of the current cluster and fill in the current `tf` file.
         */
        logSetups?: pulumi.Input<pulumi.Input<inputs.veecp.ClusterLoggingConfigLogSetup>[]>;
    }
    interface ClusterLoggingConfigLogSetup {
        /**
         * Whether to enable the log option, true means enable, false means not enable, the default is false. When Enabled is changed from false to true, a new Topic will be created.
         */
        enabled?: pulumi.Input<boolean>;
        /**
         * The storage time of logs in Log Service. After the specified log storage time is exceeded, the expired logs in this log topic will be automatically cleared. The unit is days, and the default is 30 days. The value range is 1 to 3650, specifying 3650 days means permanent storage.
         */
        logTtl?: pulumi.Input<number>;
        /**
         * The current types of logs that can be enabled are:
         * Audit: Cluster audit logs.
         * KubeApiServer: kube-apiserver component logs.
         * KubeScheduler: kube-scheduler component logs.
         * KubeControllerManager: kube-controller-manager component logs.
         */
        logType: pulumi.Input<string>;
    }
    interface ClusterPodsConfig {
        /**
         * Flannel network configuration. It can be configured only when PodNetworkMode=Flannel, but it is not mandatory.
         */
        flannelConfig?: pulumi.Input<inputs.veecp.ClusterPodsConfigFlannelConfig>;
        /**
         * Container network model, values: Flannel: Flannel network model, an independent Underlay container network solution. Combined with the global routing capability of a private network (VPC), it realizes a high-performance network experience for the cluster. VpcCniShared: VPC-CNI network model, an Underlay container network solution implemented based on the elastic network interface (ENI) of a private network, with high network communication performance. Description: After the cluster is created, this parameter is not supported to be modified temporarily. Please configure it reasonably.
         */
        podNetworkMode: pulumi.Input<string>;
        /**
         * VPC-CNI network configuration. PodNetworkMode=VpcCniShared, but it is not mandatory.
         */
        vpcCniConfig?: pulumi.Input<inputs.veecp.ClusterPodsConfigVpcCniConfig>;
    }
    interface ClusterPodsConfigFlannelConfig {
        /**
         * Upper limit of the number of single-node Pod instances in the Flannel model container network. Values: 64(default value), 16, 32, 128, 256.
         */
        maxPodsPerNode?: pulumi.Input<number>;
        /**
         * Pod CIDR of Flannel model container network. Only configurable when PodNetworkMode=Flannel, but not mandatory. Note: The number of Pods in the cluster is limited by the number of IPs in this CIDR. This parameter cannot be modified after cluster creation. Please plan the Pod CIDR reasonably. Cannot conflict with the following network segments: private network network segments corresponding to ClusterConfig.SubnetIds. All clusters within the same private network's FlannelConfig.PodCidrs. All clusters within the same private network's ServiceConfig.ServiceCidrsv4. Different clusters within the same private network's FlannelConfig.PodCidrs cannot conflict.
         */
        podCidrs: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ClusterPodsConfigVpcCniConfig {
        /**
         * A list of Pod subnet IDs for the VPC-CNI container network.
         */
        subnetIds: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ClusterServicesConfig {
        /**
         * CIDR used by services within the cluster. It cannot conflict with the following network segments: FlannelConfig.PodCidrs. SubnetIds of all clusters within the same private network or FlannelConfig.VpcConfig.SubnetIds. ServiceConfig.ServiceCidrsv4 of all clusters within the same private network (this parameter).It is stated that currently only one array element is supported. When multiple values are specified, only the first value takes effect.
         */
        serviceCidrsv4s: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ClustersStatus {
        /**
         * The state condition in the current main state of the cluster, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`, `SetByProvider`, `Balance`, `Security`, `CreateError`, `ResourceCleanupFailed`, `LimitedByQuota`, `StockOut`,`Unknown`.
         */
        conditionsType?: string;
        /**
         * The status of cluster. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Stopped`, `Failed`.
         */
        phase?: string;
    }
    interface ClustersStatusArgs {
        /**
         * The state condition in the current main state of the cluster, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`, `SetByProvider`, `Balance`, `Security`, `CreateError`, `ResourceCleanupFailed`, `LimitedByQuota`, `StockOut`,`Unknown`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The status of cluster. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Stopped`, `Failed`.
         */
        phase?: pulumi.Input<string>;
    }
    interface EdgeNodeAutoCompleteConfig {
        /**
         * The address of the machine to be managed.
         */
        address?: pulumi.Input<string>;
        /**
         * Directly managed through the edge computing instance ID. When it is true, there is no need to provide Address. Only DirectAddInstances needs to be provided.
         */
        directAdd?: pulumi.Input<boolean>;
        /**
         * Edge computing instance ID on Volcano Engine.
         */
        directAddInstances?: pulumi.Input<pulumi.Input<inputs.veecp.EdgeNodeAutoCompleteConfigDirectAddInstance>[]>;
        /**
         * Enable/Disable automatic management.
         */
        enable: pulumi.Input<boolean>;
        /**
         * Login credentials.
         */
        machineAuth?: pulumi.Input<inputs.veecp.EdgeNodeAutoCompleteConfigMachineAuth>;
    }
    interface EdgeNodeAutoCompleteConfigDirectAddInstance {
        /**
         * Edge service ID.
         */
        cloudServerIdentity: pulumi.Input<string>;
        /**
         * Edge computing instance ID.
         */
        instanceIdentity: pulumi.Input<string>;
    }
    interface EdgeNodeAutoCompleteConfigMachineAuth {
        /**
         * Authentication method. Currently only Password is open.
         */
        authType: pulumi.Input<string>;
        /**
         * SSH port, default 22.
         */
        sshPort: pulumi.Input<number>;
        /**
         * Login username.
         */
        user: pulumi.Input<string>;
    }
    interface EdgeNodePoolBillingConfigs {
        /**
         * Whether to automatically renew the node pool.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * The pre-paid period of the node pool, in months. The value range is 1-9. This parameter takes effect only when the billingType is PrePaid.
         */
        prePaidPeriod: pulumi.Input<number>;
        /**
         * Prepaid period number.
         */
        prePaidPeriodNumber: pulumi.Input<number>;
    }
    interface EdgeNodePoolElasticConfig {
        /**
         * The node pool elastic scaling configuration information.
         */
        autoScaleConfig?: pulumi.Input<inputs.veecp.EdgeNodePoolElasticConfigAutoScaleConfig>;
        /**
         * The ID of the edge service corresponding to the elastic node. On the edge computing node's edge service page, obtain the edge service ID.
         */
        cloudServerIdentity: pulumi.Input<string>;
        instanceArea?: pulumi.Input<inputs.veecp.EdgeNodePoolElasticConfigInstanceArea>;
    }
    interface EdgeNodePoolElasticConfigAutoScaleConfig {
        /**
         * The DesiredReplicas of AutoScaling, default 0, range in minReplicas to max_replicas.
         */
        desiredReplicas: pulumi.Input<number>;
        /**
         * Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be `false`.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of `enabled` is `true`.
         */
        maxReplicas: pulumi.Input<number>;
        /**
         * The MinReplicas of AutoScaling, default 0. This field is valid when the value of `enabled` is `true`.
         */
        minReplicas: pulumi.Input<number>;
        /**
         * The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of `enabled` is `true` and the value of `subnetPolicy` is `Priority`.
         */
        priority: pulumi.Input<number>;
    }
    interface EdgeNodePoolElasticConfigInstanceArea {
        /**
         * Region name. You can obtain the regions and operators supported by instance specifications through the ListAvailableResourceInfo interface.
         */
        areaName?: pulumi.Input<string>;
        /**
         * The cluster name.
         */
        clusterName?: pulumi.Input<string>;
        /**
         * Default operator. When using three-line nodes, this parameter can be configured. After configuration, this operator will be used as the default export.
         */
        defaultIsp?: pulumi.Input<string>;
        /**
         * Public network configuration of three-line nodes. If it is a single-line node, this parameter will be ignored. Value range: single_interface_multi_ip: Single network card with multiple IPs. single_interface_cmcc_ip: Single network card with China Mobile IP. Relevant permissions need to be opened by submitting a work order. single_interface_cucc_ip: Single network card with China Unicom IP. Relevant permissions need to be opened by submitting a work order. single_interface_ctcc_ip: Single network card with China Telecom IP. Relevant permissions need to be opened by submitting a work order. multi_interface_multi_ip: Multiple network cards with multiple IPs. Relevant permissions need to be opened by submitting a work order. no_interface: No public network network card. Relevant permissions need to be opened by submitting a work order. If this parameter is not configured: When there is a public network network card, singleInterfaceMultiIp is used by default. When there is no public network network card, noInterface is used by default.
         */
        externalNetworkMode?: pulumi.Input<string>;
        /**
         * Operator. You can obtain the regions and operators supported by instance specifications through the ListAvailableResourceInfo interface.
         */
        isp?: pulumi.Input<string>;
        /**
         * The subnet id.
         */
        subnetId?: pulumi.Input<string>;
        /**
         * The vpc id.
         */
        vpcIdentity?: pulumi.Input<string>;
    }
    interface EdgeNodePoolKubernetesConfig {
        /**
         * The Labels of KubernetesConfig.
         */
        labels?: pulumi.Input<pulumi.Input<inputs.veecp.EdgeNodePoolKubernetesConfigLabel>[]>;
        /**
         * The Taints of KubernetesConfig.
         */
        taints?: pulumi.Input<pulumi.Input<inputs.veecp.EdgeNodePoolKubernetesConfigTaint>[]>;
    }
    interface EdgeNodePoolKubernetesConfigLabel {
        /**
         * The Key of Labels.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Labels.
         */
        value?: pulumi.Input<string>;
    }
    interface EdgeNodePoolKubernetesConfigTaint {
        /**
         * The Effect of Taints, the value can be `NoSchedule` or `NoExecute` or `PreferNoSchedule`.
         */
        effect?: pulumi.Input<string>;
        /**
         * The Key of Taints.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Taints.
         */
        value?: pulumi.Input<string>;
    }
    interface EdgeNodePoolsStatus {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: string;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: string;
    }
    interface EdgeNodePoolsStatusArgs {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: pulumi.Input<string>;
    }
    interface EdgeNodesStatus {
        /**
         * The Type of Node Condition, the value is `Progressing` or `Ok` or `Unschedulable` or `InitilizeFailed` or `Unknown` or `NotReady` or `Security` or `Balance` or `ResourceCleanupFailed`.
         */
        edgeNodeStatusConditionType?: string;
        /**
         * The Phase of Node, the value is `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Starting` or `Stopping` or `Stopped`.
         */
        phase?: string;
    }
    interface EdgeNodesStatusArgs {
        /**
         * The Type of Node Condition, the value is `Progressing` or `Ok` or `Unschedulable` or `InitilizeFailed` or `Unknown` or `NotReady` or `Security` or `Balance` or `ResourceCleanupFailed`.
         */
        edgeNodeStatusConditionType?: pulumi.Input<string>;
        /**
         * The Phase of Node, the value is `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Starting` or `Stopping` or `Stopped`.
         */
        phase?: pulumi.Input<string>;
    }
    interface GetBatchEdgeMachinesStatus {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        edgeNodeStatusConditionType?: string;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: string;
    }
    interface GetBatchEdgeMachinesStatusArgs {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        edgeNodeStatusConditionType?: pulumi.Input<string>;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: pulumi.Input<string>;
    }
    interface GetClustersStatus {
        /**
         * The state condition in the current main state of the cluster, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`, `SetByProvider`, `Balance`, `Security`, `CreateError`, `ResourceCleanupFailed`, `LimitedByQuota`, `StockOut`,`Unknown`.
         */
        conditionsType?: string;
        /**
         * The status of cluster. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Stopped`, `Failed`.
         */
        phase?: string;
    }
    interface GetClustersStatusArgs {
        /**
         * The state condition in the current main state of the cluster, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`, `SetByProvider`, `Balance`, `Security`, `CreateError`, `ResourceCleanupFailed`, `LimitedByQuota`, `StockOut`,`Unknown`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The status of cluster. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Stopped`, `Failed`.
         */
        phase?: pulumi.Input<string>;
    }
    interface GetEdgeNodePoolsStatus {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: string;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: string;
    }
    interface GetEdgeNodePoolsStatusArgs {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: pulumi.Input<string>;
    }
    interface GetEdgeNodesStatus {
        /**
         * The Type of Node Condition, the value is `Progressing` or `Ok` or `Unschedulable` or `InitilizeFailed` or `Unknown` or `NotReady` or `Security` or `Balance` or `ResourceCleanupFailed`.
         */
        edgeNodeStatusConditionType?: string;
        /**
         * The Phase of Node, the value is `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Starting` or `Stopping` or `Stopped`.
         */
        phase?: string;
    }
    interface GetEdgeNodesStatusArgs {
        /**
         * The Type of Node Condition, the value is `Progressing` or `Ok` or `Unschedulable` or `InitilizeFailed` or `Unknown` or `NotReady` or `Security` or `Balance` or `ResourceCleanupFailed`.
         */
        edgeNodeStatusConditionType?: pulumi.Input<string>;
        /**
         * The Phase of Node, the value is `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Starting` or `Stopping` or `Stopped`.
         */
        phase?: pulumi.Input<string>;
    }
    interface GetNodePoolsStatus {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: string;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: string;
    }
    interface GetNodePoolsStatusArgs {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: pulumi.Input<string>;
    }
    interface NodePoolAutoScaling {
        /**
         * The DesiredReplicas of AutoScaling, default 0, range in minReplicas to max_replicas.
         */
        desiredReplicas?: pulumi.Input<number>;
        /**
         * Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be `false`.
         */
        enabled?: pulumi.Input<boolean>;
        /**
         * The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of `enabled` is `true`.
         */
        maxReplicas?: pulumi.Input<number>;
        /**
         * The MinReplicas of AutoScaling, default 0. This field is valid when the value of `enabled` is `true`.
         */
        minReplicas?: pulumi.Input<number>;
        /**
         * The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of `enabled` is `true` and the value of `subnetPolicy` is `Priority`.
         */
        priority?: pulumi.Input<number>;
        /**
         * Multi-subnet scheduling strategy for nodes. The value can be `ZoneBalance` or `Priority`.
         */
        subnetPolicy?: pulumi.Input<string>;
    }
    interface NodePoolKubernetesConfig {
        /**
         * Whether to disable the function of automatically synchronizing labels and taints to existing nodes. Default is false.
         */
        autoSyncDisabled?: pulumi.Input<boolean>;
        /**
         * The Cordon of KubernetesConfig.
         */
        cordon: pulumi.Input<boolean>;
        /**
         * The Labels of KubernetesConfig.
         */
        labels?: pulumi.Input<pulumi.Input<inputs.veecp.NodePoolKubernetesConfigLabel>[]>;
        /**
         * The NamePrefix of node metadata.
         */
        namePrefix?: pulumi.Input<string>;
        /**
         * The Taints of KubernetesConfig.
         */
        taints?: pulumi.Input<pulumi.Input<inputs.veecp.NodePoolKubernetesConfigTaint>[]>;
    }
    interface NodePoolKubernetesConfigLabel {
        /**
         * The Key of Labels.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Labels.
         */
        value?: pulumi.Input<string>;
    }
    interface NodePoolKubernetesConfigTaint {
        /**
         * The Effect of Taints, the value can be `NoSchedule` or `NoExecute` or `PreferNoSchedule`.
         */
        effect?: pulumi.Input<string>;
        /**
         * The Key of Taints.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Taints.
         */
        value?: pulumi.Input<string>;
    }
    interface NodePoolNodeConfig {
        /**
         * The AdditionalContainerStorageEnabled of NodeConfig.
         */
        additionalContainerStorageEnabled?: pulumi.Input<boolean>;
        /**
         * Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
         */
        autoRenewPeriod?: pulumi.Input<number>;
        /**
         * The DataVolumes of NodeConfig.
         */
        dataVolumes?: pulumi.Input<pulumi.Input<inputs.veecp.NodePoolNodeConfigDataVolume>[]>;
        /**
         * Tags for Ecs.
         */
        ecsTags?: pulumi.Input<pulumi.Input<inputs.veecp.NodePoolNodeConfigEcsTag>[]>;
        /**
         * The IDs of HpcCluster, only one ID is supported currently.
         */
        hpcClusterIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The ImageId of NodeConfig.
         */
        imageId?: pulumi.Input<string>;
        /**
         * The initializeScript of NodeConfig.
         */
        initializeScript?: pulumi.Input<string>;
        /**
         * The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
         */
        instanceChargeType?: pulumi.Input<string>;
        /**
         * The InstanceTypeIds of NodeConfig. The value can get from volcengine.veecp.getSupportResourceTypes datasource.
         */
        instanceTypeIds: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The NamePrefix of NodeConfig.
         */
        namePrefix?: pulumi.Input<string>;
        /**
         * The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
         */
        period?: pulumi.Input<number>;
        /**
         * The Security of NodeConfig.
         */
        security: pulumi.Input<inputs.veecp.NodePoolNodeConfigSecurity>;
        /**
         * The SubnetIds of NodeConfig.
         */
        subnetIds: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The SystemVolume of NodeConfig.
         */
        systemVolume?: pulumi.Input<inputs.veecp.NodePoolNodeConfigSystemVolume>;
    }
    interface NodePoolNodeConfigDataVolume {
        /**
         * The target mount directory of the disk. Must start with `/`.
         */
        mountPoint?: pulumi.Input<string>;
        /**
         * The Size of DataVolumes, the value range in 20~32768. Default value is `20`.
         */
        size?: pulumi.Input<number>;
        /**
         * The Type of DataVolumes, the value can be `PTSSD` or `ESSD_PL0` or `ESSD_FlexPL`. Default value is `ESSD_PL0`.
         */
        type?: pulumi.Input<string>;
    }
    interface NodePoolNodeConfigEcsTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface NodePoolNodeConfigSecurity {
        /**
         * The Login of Security.
         */
        login?: pulumi.Input<inputs.veecp.NodePoolNodeConfigSecurityLogin>;
        /**
         * The SecurityGroupIds of Security.
         */
        securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The SecurityStrategies of Security, the value can be empty or `Hids`.
         */
        securityStrategies?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface NodePoolNodeConfigSecurityLogin {
        /**
         * The Password of Security, this field must be encoded with base64.
         */
        password?: pulumi.Input<string>;
        /**
         * The SshKeyPairName of Security.
         */
        sshKeyPairName?: pulumi.Input<string>;
    }
    interface NodePoolNodeConfigSystemVolume {
        /**
         * The Size of SystemVolume, the value range in 20~2048.
         */
        size?: pulumi.Input<number>;
        /**
         * The Type of SystemVolume, the value can be `PTSSD` or `ESSD_PL0` or `ESSD_FlexPL`.
         */
        type?: pulumi.Input<string>;
    }
    interface NodePoolNodeStatistic {
        /**
         * The CreatingCount of Node.
         */
        creatingCount?: pulumi.Input<number>;
        /**
         * The DeletingCount of Node.
         */
        deletingCount?: pulumi.Input<number>;
        /**
         * The FailedCount of Node.
         */
        failedCount?: pulumi.Input<number>;
        /**
         * The RunningCount of Node.
         */
        runningCount?: pulumi.Input<number>;
        /**
         * (**Deprecated**) This field has been deprecated and is not recommended for use. The StartingCount of Node.
         *
         * @deprecated This field has been deprecated and is not recommended for use.
         */
        startingCount?: pulumi.Input<number>;
        /**
         * (**Deprecated**) This field has been deprecated and is not recommended for use. The StoppedCount of Node.
         *
         * @deprecated This field has been deprecated and is not recommended for use.
         */
        stoppedCount?: pulumi.Input<number>;
        /**
         * (**Deprecated**) This field has been deprecated and is not recommended for use. The StoppingCount of Node.
         *
         * @deprecated This field has been deprecated and is not recommended for use.
         */
        stoppingCount?: pulumi.Input<number>;
        /**
         * The TotalCount of Node.
         */
        totalCount?: pulumi.Input<number>;
        /**
         * The UpdatingCount of Node.
         */
        updatingCount?: pulumi.Input<number>;
    }
    interface NodePoolsStatus {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: string;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: string;
    }
    interface NodePoolsStatusArgs {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: pulumi.Input<string>;
    }
}
export declare namespace veenedge {
    interface CloudServerBillingConfig {
        /**
         * The method of bandwidth billing. The value can be `MonthlyP95` or `DailyPeak`.
         */
        bandwidthBillingMethod: pulumi.Input<string>;
        /**
         * The method of computing billing. The value can be `MonthlyPeak` or `DailyPeak`.
         */
        computingBillingMethod: pulumi.Input<string>;
    }
    interface CloudServerCustomData {
        /**
         * The custom data info.
         */
        data: pulumi.Input<string>;
    }
    interface CloudServerNetworkConfig {
        /**
         * The peak of bandwidth.
         */
        bandwidthPeak: pulumi.Input<string>;
        /**
         * The name of custom external interface.
         */
        customExternalInterfaceName?: pulumi.Input<string>;
        /**
         * The name of custom internal interface.
         */
        customInternalInterfaceName?: pulumi.Input<string>;
        /**
         * Whether enable ipv6.
         */
        enableIpv6?: pulumi.Input<boolean>;
        /**
         * The internal peak of bandwidth.
         */
        internalBandwidthPeak?: pulumi.Input<string>;
    }
    interface CloudServerScheduleStrategy {
        /**
         * The network strategy.
         */
        networkStrategy: pulumi.Input<string>;
        /**
         * The price strategy. The value can be `highPriority` or `lowPriority`.
         */
        priceStrategy: pulumi.Input<string>;
        /**
         * The type of schedule strategy. The value can be `dispersion` or `concentration`.
         */
        scheduleStrategy: pulumi.Input<string>;
    }
    interface CloudServerStorageConfig {
        /**
         * The disk list info of data.
         */
        dataDiskLists?: pulumi.Input<pulumi.Input<inputs.veenedge.CloudServerStorageConfigDataDiskList>[]>;
        /**
         * The disk info of system.
         */
        systemDisk: pulumi.Input<inputs.veenedge.CloudServerStorageConfigSystemDisk>;
    }
    interface CloudServerStorageConfigDataDiskList {
        /**
         * The capacity of storage.
         */
        capacity: pulumi.Input<string>;
        /**
         * The type of storage. The value can be `CloudBlockHDD` or `CloudBlockSSD`.
         */
        storageType: pulumi.Input<string>;
    }
    interface CloudServerStorageConfigSystemDisk {
        /**
         * The capacity of storage.
         */
        capacity: pulumi.Input<string>;
        /**
         * The type of storage. The value can be `CloudBlockHDD` or `CloudBlockSSD`.
         */
        storageType: pulumi.Input<string>;
    }
}
export declare namespace vefaas {
    interface FunctionEnv {
        /**
         * The Key of the environment variable.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of the environment variable.
         */
        value: pulumi.Input<string>;
    }
    interface FunctionNasStorage {
        /**
         * Whether to enable NAS storage mounting.
         */
        enableNas: pulumi.Input<boolean>;
        /**
         * The configuration of NAS.
         */
        nasConfigs?: pulumi.Input<pulumi.Input<inputs.vefaas.FunctionNasStorageNasConfig>[]>;
    }
    interface FunctionNasStorageNasConfig {
        /**
         * The ID of NAS file system.
         */
        fileSystemId: pulumi.Input<string>;
        /**
         * The directory of Function local mount.
         */
        localMountPath: pulumi.Input<string>;
        /**
         * The ID of NAS mount point.
         */
        mountPointId: pulumi.Input<string>;
        /**
         * Remote directory of the file system.
         */
        remotePath: pulumi.Input<string>;
    }
    interface FunctionSourceAccessConfig {
        /**
         * The image repository password.
         */
        password: pulumi.Input<boolean>;
        /**
         * Mirror repository username.
         */
        username: pulumi.Input<string>;
    }
    interface FunctionTlsConfig {
        /**
         * TLS log function switch.
         */
        enableLog: pulumi.Input<boolean>;
        /**
         * The project ID of TLS log topic.
         */
        tlsProjectId?: pulumi.Input<string>;
        /**
         * The topic ID of TLS log topic.
         */
        tlsTopicId?: pulumi.Input<string>;
    }
    interface FunctionTosMountConfig {
        /**
         * After enabling TOS, you need to provide an AKSK with access rights to the TOS domain name. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
         */
        credentials?: pulumi.Input<inputs.vefaas.FunctionTosMountConfigCredentials>;
        /**
         * Whether to enable TOS storage mounting.
         */
        enableTos: pulumi.Input<boolean>;
        /**
         * After enabling TOS, you need to provide a TOS storage configuration list, with a maximum of 5 items.
         */
        mountPoints?: pulumi.Input<pulumi.Input<inputs.vefaas.FunctionTosMountConfigMountPoint>[]>;
    }
    interface FunctionTosMountConfigCredentials {
        /**
         * The AccessKey ID (AK) of the Volcano Engine account.
         */
        accessKeyId: pulumi.Input<string>;
        /**
         * The Secret Access Key (SK) of the Volcano Engine account.
         */
        secretAccessKey: pulumi.Input<string>;
    }
    interface FunctionTosMountConfigMountPoint {
        /**
         * TOS bucket.
         */
        bucketName: pulumi.Input<string>;
        /**
         * The mounted TOS Bucket path.
         */
        bucketPath: pulumi.Input<string>;
        /**
         * TOS Access domain name.
         */
        endpoint: pulumi.Input<string>;
        /**
         * Function local mount directory.
         */
        localMountPath: pulumi.Input<string>;
        /**
         * Function local directory access permissions. After mounting the TOS Bucket, whether the function local mount directory has read-only permissions.
         */
        readOnly?: pulumi.Input<boolean>;
    }
    interface FunctionVpcConfig {
        /**
         * Function access to the public network switch.
         */
        enableSharedInternetAccess?: pulumi.Input<boolean>;
        /**
         * Whether the function enables private network access.
         */
        enableVpc: pulumi.Input<boolean>;
        /**
         * The ID of security group.
         */
        securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The ID of subnet.
         */
        subnetIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The ID of VPC.
         */
        vpcId?: pulumi.Input<string>;
    }
    interface GetReleasesFilter {
        /**
         * Filter key enumeration.
         */
        name?: string;
        /**
         * The filtering value of the query.
         */
        values?: string[];
    }
    interface GetReleasesFilterArgs {
        /**
         * Filter key enumeration.
         */
        name?: pulumi.Input<string>;
        /**
         * The filtering value of the query.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface GetReleasesOrderBy {
        /**
         * Whether the sorting result is sorted in ascending order.
         */
        ascend?: boolean;
        /**
         * Key names used for sorting.
         */
        key?: string;
    }
    interface GetReleasesOrderByArgs {
        /**
         * Whether the sorting result is sorted in ascending order.
         */
        ascend?: pulumi.Input<boolean>;
        /**
         * Key names used for sorting.
         */
        key?: pulumi.Input<string>;
    }
    interface KafkaTriggerKafkaCredentials {
        /**
         * Kafka authentication mechanism.
         */
        mechanism: pulumi.Input<string>;
        /**
         * The SASL/PLAIN user password set when creating a Kafka instance.
         */
        password: pulumi.Input<string>;
        /**
         * The SASL/PLAIN user name set when creating a Kafka instance.
         */
        username: pulumi.Input<string>;
    }
    interface ReleasesFilter {
        /**
         * Filter key enumeration.
         */
        name?: string;
        /**
         * The filtering value of the query.
         */
        values?: string[];
    }
    interface ReleasesFilterArgs {
        /**
         * Filter key enumeration.
         */
        name?: pulumi.Input<string>;
        /**
         * The filtering value of the query.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ReleasesOrderBy {
        /**
         * Whether the sorting result is sorted in ascending order.
         */
        ascend?: boolean;
        /**
         * Key names used for sorting.
         */
        key?: string;
    }
    interface ReleasesOrderByArgs {
        /**
         * Whether the sorting result is sorted in ascending order.
         */
        ascend?: pulumi.Input<boolean>;
        /**
         * Key names used for sorting.
         */
        key?: pulumi.Input<string>;
    }
}
export declare namespace vepfs {
    interface FileSystemTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface MountServiceAttachFileSystem {
        /**
         * The account id of the vepfs file system.
         */
        accountId?: pulumi.Input<string>;
        /**
         * The id of the vepfs file system.
         */
        customerPath?: pulumi.Input<string>;
        /**
         * The id of the vepfs file system.
         */
        fileSystemId?: pulumi.Input<string>;
        /**
         * The name of the vepfs file system.
         */
        fileSystemName?: pulumi.Input<string>;
        /**
         * The status of the mount service.
         */
        status?: pulumi.Input<string>;
    }
    interface MountServiceNode {
        /**
         * The default password of ecs instance.
         */
        defaultPassword?: pulumi.Input<string>;
        /**
         * The id of ecs instance.
         */
        nodeId?: pulumi.Input<string>;
    }
}
export declare namespace vke {
    interface AddonsStatus {
        /**
         * The state condition in the current main state of the addon, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`,`Unknown`, `ClusterNotRunning`, `CrashLoopBackOff`, `SchedulingFailed`, `NameConflict`, `ResourceCleanupFailed`, `ClusterVersionUpgrading`.
         */
        conditionsType?: string;
        /**
         * The status of addon. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Failed`.
         */
        phase?: string;
    }
    interface AddonsStatusArgs {
        /**
         * The state condition in the current main state of the addon, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`,`Unknown`, `ClusterNotRunning`, `CrashLoopBackOff`, `SchedulingFailed`, `NameConflict`, `ResourceCleanupFailed`, `ClusterVersionUpgrading`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The status of addon. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Failed`.
         */
        phase?: pulumi.Input<string>;
    }
    interface ClusterClusterConfig {
        /**
         * Cluster API Server public network access configuration.
         */
        apiServerPublicAccessConfig?: pulumi.Input<inputs.vke.ClusterClusterConfigApiServerPublicAccessConfig>;
        /**
         * Cluster API Server public network access configuration, the value is `true` or `false`.
         */
        apiServerPublicAccessEnabled?: pulumi.Input<boolean>;
        /**
         * [SkipDoc]The IpFamily configuration,the value is `Ipv4` or `DualStack`.
         */
        ipFamily?: pulumi.Input<string>;
        /**
         * Node public network access configuration, the value is `true` or `false`.
         */
        resourcePublicAccessDefaultEnabled?: pulumi.Input<boolean>;
        /**
         * The subnet ID for the cluster control plane to communicate within the private network.
         * Up to 3 subnets can be selected from each available zone, and a maximum of 2 subnets can be added to each available zone.
         * Cannot support deleting configured subnets.
         */
        subnetIds: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ClusterClusterConfigApiServerPublicAccessConfig {
        /**
         * Public network access network configuration.
         */
        publicAccessNetworkConfig?: pulumi.Input<inputs.vke.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfig>;
    }
    interface ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfig {
        /**
         * The peak bandwidth of the public IP, unit: Mbps.
         */
        bandwidth?: pulumi.Input<number>;
        /**
         * Billing type of public IP, the value is `PostPaidByBandwidth` or `PostPaidByTraffic`.
         */
        billingType?: pulumi.Input<string>;
    }
    interface ClusterIrsaConfig {
        /**
         * The audience of the IRSA.
         */
        audience?: pulumi.Input<string>;
        /**
         * Whether to enable IRSA for the cluster.
         */
        enabled?: pulumi.Input<boolean>;
        /**
         * The issuer of the IRSA.
         */
        issuer?: pulumi.Input<string>;
        /**
         * The JWKS URL of the IRSA.
         */
        jwksUrl?: pulumi.Input<string>;
        /**
         * The OIDC trn of the IRSA.
         */
        oidcTrn?: pulumi.Input<string>;
        /**
         * The OpenID Connect configuration URL of the IRSA.
         */
        openIdConfigUrl?: pulumi.Input<string>;
    }
    interface ClusterLoggingConfig {
        /**
         * The TLS log item ID of the collection target.
         */
        logProjectId?: pulumi.Input<string>;
        /**
         * Cluster logging options. This structure can only be modified and added, and cannot be deleted. When encountering a `cannot be deleted` error, please query the log setups of the current cluster and fill in the current `tf` file.
         */
        logSetups?: pulumi.Input<pulumi.Input<inputs.vke.ClusterLoggingConfigLogSetup>[]>;
    }
    interface ClusterLoggingConfigLogSetup {
        /**
         * Whether to enable the log option, true means enable, false means not enable, the default is false. When Enabled is changed from false to true, a new Topic will be created.
         */
        enabled?: pulumi.Input<boolean>;
        /**
         * The storage time of logs in Log Service. After the specified log storage time is exceeded, the expired logs in this log topic will be automatically cleared. The unit is days, and the default is 30 days. The value range is 1 to 3650, specifying 3650 days means permanent storage.
         */
        logTtl?: pulumi.Input<number>;
        /**
         * The current types of logs that can be enabled are:
         * Audit: Cluster audit logs.
         * KubeApiServer: kube-apiserver component logs.
         * KubeScheduler: kube-scheduler component logs.
         * KubeControllerManager: kube-controller-manager component logs.
         * Etcd: etcd component logs.
         * ClusterAutoscaler: cluster-autoscaler component logs.
         */
        logType: pulumi.Input<string>;
    }
    interface ClusterPodsConfig {
        /**
         * Flannel network configuration.
         */
        flannelConfig?: pulumi.Input<inputs.vke.ClusterPodsConfigFlannelConfig>;
        /**
         * The container network model of the cluster, the value is `Flannel` or `VpcCniShared`. Flannel: Flannel network model, an independent Underlay container network solution, combined with the global routing capability of VPC, to achieve a high-performance network experience for the cluster. VpcCniShared: VPC-CNI network model, an Underlay container network solution based on the ENI of the private network elastic network card, with high network communication performance.
         */
        podNetworkMode: pulumi.Input<string>;
        /**
         * VPC-CNI network configuration.
         */
        vpcCniConfig?: pulumi.Input<inputs.vke.ClusterPodsConfigVpcCniConfig>;
    }
    interface ClusterPodsConfigFlannelConfig {
        /**
         * The maximum number of single-node Pod instances for a Flannel container network, the value can be `16` or `32` or `64` or `128` or `256`.
         */
        maxPodsPerNode?: pulumi.Input<number>;
        /**
         * Pod CIDR for the Flannel container network.
         */
        podCidrs?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ClusterPodsConfigVpcCniConfig {
        /**
         * A list of Pod subnet IDs for the VPC-CNI container network.
         */
        subnetIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The private network where the cluster control plane network resides.
         */
        vpcId?: pulumi.Input<string>;
    }
    interface ClusterServicesConfig {
        /**
         * The IPv4 private network address exposed by the service.
         */
        serviceCidrsv4s: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ClusterTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ClustersStatus {
        /**
         * The state condition in the current main state of the cluster, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`, `SetByProvider`, `Balance`, `Security`, `CreateError`, `ResourceCleanupFailed`, `LimitedByQuota`, `StockOut`,`Unknown`.
         */
        conditionsType?: string;
        /**
         * The status of cluster. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Stopped`, `Failed`.
         */
        phase?: string;
    }
    interface ClustersStatusArgs {
        /**
         * The state condition in the current main state of the cluster, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`, `SetByProvider`, `Balance`, `Security`, `CreateError`, `ResourceCleanupFailed`, `LimitedByQuota`, `StockOut`,`Unknown`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The status of cluster. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Stopped`, `Failed`.
         */
        phase?: pulumi.Input<string>;
    }
    interface ClustersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface ClustersTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface DefaultNodePoolBatchAttachInstance {
        /**
         * The flag of additional container storage enable, the value is `true` or `false`..Default is `false`.
         */
        additionalContainerStorageEnabled?: pulumi.Input<boolean>;
        /**
         * The container storage path.When additionalContainerStorageEnabled is `false` will ignore.
         */
        containerStoragePath?: pulumi.Input<string>;
        /**
         * ID of the resource.
         */
        id?: pulumi.Input<string>;
        /**
         * The Image Id to the ECS Instance.
         */
        imageId?: pulumi.Input<string>;
        /**
         * The instance id.
         */
        instanceId: pulumi.Input<string>;
        /**
         * The flag of keep instance name, the value is `true` or `false`.Default is `false`.
         */
        keepInstanceName?: pulumi.Input<boolean>;
        /**
         * The status phase to the Node.
         */
        phase?: pulumi.Input<string>;
    }
    interface DefaultNodePoolBatchAttachKubernetesConfig {
        /**
         * The Cordon of KubernetesConfig.
         */
        cordon?: pulumi.Input<boolean>;
        /**
         * The Labels of KubernetesConfig.
         */
        labels?: pulumi.Input<pulumi.Input<inputs.vke.DefaultNodePoolBatchAttachKubernetesConfigLabel>[]>;
        /**
         * The Taints of KubernetesConfig.
         */
        taints?: pulumi.Input<pulumi.Input<inputs.vke.DefaultNodePoolBatchAttachKubernetesConfigTaint>[]>;
    }
    interface DefaultNodePoolBatchAttachKubernetesConfigLabel {
        /**
         * The Key of Labels.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Labels.
         */
        value?: pulumi.Input<string>;
    }
    interface DefaultNodePoolBatchAttachKubernetesConfigTaint {
        /**
         * The Effect of Taints. The value can be one of the following: `NoSchedule`, `NoExecute`, `PreferNoSchedule`, default value is `NoSchedule`.
         */
        effect?: pulumi.Input<string>;
        /**
         * The Key of Taints.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Taints.
         */
        value?: pulumi.Input<string>;
    }
    interface DefaultNodePoolBatchAttachNodeConfig {
        /**
         * Tags for Ecs.
         */
        ecsTags?: pulumi.Input<pulumi.Input<inputs.vke.DefaultNodePoolBatchAttachNodeConfigEcsTag>[]>;
        /**
         * The initializeScript of NodeConfig.
         */
        initializeScript?: pulumi.Input<string>;
        /**
         * The NamePrefix of NodeConfig.
         */
        namePrefix?: pulumi.Input<string>;
        /**
         * The PreScript of NodeConfig.
         */
        preScript?: pulumi.Input<string>;
        /**
         * The Security of NodeConfig.
         */
        securities?: pulumi.Input<pulumi.Input<inputs.vke.DefaultNodePoolBatchAttachNodeConfigSecurity>[]>;
    }
    interface DefaultNodePoolBatchAttachNodeConfigEcsTag {
        /**
         * The Key of Tags.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value?: pulumi.Input<string>;
    }
    interface DefaultNodePoolBatchAttachNodeConfigSecurity {
        /**
         * The Login of Security.
         */
        logins?: pulumi.Input<pulumi.Input<inputs.vke.DefaultNodePoolBatchAttachNodeConfigSecurityLogin>[]>;
        /**
         * The SecurityGroupIds of Security.
         */
        securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The SecurityStrategies of Security.
         */
        securityStrategies?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface DefaultNodePoolBatchAttachNodeConfigSecurityLogin {
        /**
         * The Password of Security.
         */
        password?: pulumi.Input<string>;
        /**
         * The SshKeyPairName of Security.
         */
        sshKeyPairName?: pulumi.Input<string>;
    }
    interface DefaultNodePoolBatchAttachTag {
        /**
         * The Key of Tags.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value?: pulumi.Input<string>;
    }
    interface DefaultNodePoolInstance {
        /**
         * The flag of additional container storage enable, the value is `true` or `false`..Default is `false`.
         */
        additionalContainerStorageEnabled?: pulumi.Input<boolean>;
        /**
         * The container storage path.When additionalContainerStorageEnabled is `false` will ignore.
         */
        containerStoragePath?: pulumi.Input<string>;
        /**
         * ID of the resource.
         */
        id?: pulumi.Input<string>;
        /**
         * The Image Id to the ECS Instance.
         */
        imageId?: pulumi.Input<string>;
        /**
         * The instance id.
         */
        instanceId: pulumi.Input<string>;
        /**
         * The flag of keep instance name, the value is `true` or `false`.Default is `false`.
         */
        keepInstanceName?: pulumi.Input<boolean>;
        /**
         * The status phase to the Node.
         */
        phase?: pulumi.Input<string>;
    }
    interface DefaultNodePoolKubernetesConfig {
        /**
         * The Cordon of KubernetesConfig.
         */
        cordon: pulumi.Input<boolean>;
        /**
         * The Labels of KubernetesConfig.
         */
        labels?: pulumi.Input<pulumi.Input<inputs.vke.DefaultNodePoolKubernetesConfigLabel>[]>;
        /**
         * The NamePrefix of node metadata.
         */
        namePrefix?: pulumi.Input<string>;
        /**
         * The Taints of KubernetesConfig.
         */
        taints?: pulumi.Input<pulumi.Input<inputs.vke.DefaultNodePoolKubernetesConfigTaint>[]>;
    }
    interface DefaultNodePoolKubernetesConfigLabel {
        /**
         * The Key of Labels.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Labels.
         */
        value?: pulumi.Input<string>;
    }
    interface DefaultNodePoolKubernetesConfigTaint {
        /**
         * The Effect of Taints.
         */
        effect?: pulumi.Input<string>;
        /**
         * The Key of Taints.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Taints.
         */
        value?: pulumi.Input<string>;
    }
    interface DefaultNodePoolNodeConfig {
        /**
         * Tags for Ecs.
         */
        ecsTags?: pulumi.Input<pulumi.Input<inputs.vke.DefaultNodePoolNodeConfigEcsTag>[]>;
        /**
         * The initializeScript of NodeConfig.
         */
        initializeScript?: pulumi.Input<string>;
        /**
         * The NamePrefix of NodeConfig.
         */
        namePrefix?: pulumi.Input<string>;
        /**
         * The PreScript of NodeConfig.
         */
        preScript?: pulumi.Input<string>;
        /**
         * The Security of NodeConfig.
         */
        security: pulumi.Input<inputs.vke.DefaultNodePoolNodeConfigSecurity>;
    }
    interface DefaultNodePoolNodeConfigEcsTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface DefaultNodePoolNodeConfigSecurity {
        /**
         * The Login of Security.
         */
        login: pulumi.Input<inputs.vke.DefaultNodePoolNodeConfigSecurityLogin>;
        /**
         * The SecurityGroupIds of Security.
         */
        securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The SecurityStrategies of Security.
         */
        securityStrategies?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface DefaultNodePoolNodeConfigSecurityLogin {
        /**
         * The Password of Security.
         */
        password?: pulumi.Input<string>;
        /**
         * The SshKeyPairName of Security.
         */
        sshKeyPairName?: pulumi.Input<string>;
    }
    interface DefaultNodePoolTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetAddonsStatus {
        /**
         * The state condition in the current main state of the addon, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`,`Unknown`, `ClusterNotRunning`, `CrashLoopBackOff`, `SchedulingFailed`, `NameConflict`, `ResourceCleanupFailed`, `ClusterVersionUpgrading`.
         */
        conditionsType?: string;
        /**
         * The status of addon. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Failed`.
         */
        phase?: string;
    }
    interface GetAddonsStatusArgs {
        /**
         * The state condition in the current main state of the addon, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`,`Unknown`, `ClusterNotRunning`, `CrashLoopBackOff`, `SchedulingFailed`, `NameConflict`, `ResourceCleanupFailed`, `ClusterVersionUpgrading`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The status of addon. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Failed`.
         */
        phase?: pulumi.Input<string>;
    }
    interface GetClustersStatus {
        /**
         * The state condition in the current main state of the cluster, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`, `SetByProvider`, `Balance`, `Security`, `CreateError`, `ResourceCleanupFailed`, `LimitedByQuota`, `StockOut`,`Unknown`.
         */
        conditionsType?: string;
        /**
         * The status of cluster. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Stopped`, `Failed`.
         */
        phase?: string;
    }
    interface GetClustersStatusArgs {
        /**
         * The state condition in the current main state of the cluster, that is, the reason for entering the main state, there can be multiple reasons, the value contains `Progressing`, `Ok`, `Degraded`, `SetByProvider`, `Balance`, `Security`, `CreateError`, `ResourceCleanupFailed`, `LimitedByQuota`, `StockOut`,`Unknown`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The status of cluster. the value contains `Creating`, `Running`, `Updating`, `Deleting`, `Stopped`, `Failed`.
         */
        phase?: pulumi.Input<string>;
    }
    interface GetClustersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetClustersTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetNodePoolsStatus {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: string;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: string;
    }
    interface GetNodePoolsStatusArgs {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: pulumi.Input<string>;
    }
    interface GetNodePoolsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetNodePoolsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetNodesStatus {
        /**
         * The Type of Node Condition, the value is `Progressing` or `Ok` or `Unschedulable` or `InitilizeFailed` or `Unknown` or `NotReady` or `Security` or `Balance` or `ResourceCleanupFailed`.
         */
        conditionsType?: string;
        /**
         * The Phase of Node, the value is `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Starting` or `Stopping` or `Stopped`.
         */
        phase?: string;
    }
    interface GetNodesStatusArgs {
        /**
         * The Type of Node Condition, the value is `Progressing` or `Ok` or `Unschedulable` or `InitilizeFailed` or `Unknown` or `NotReady` or `Security` or `Balance` or `ResourceCleanupFailed`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The Phase of Node, the value is `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Starting` or `Stopping` or `Stopped`.
         */
        phase?: pulumi.Input<string>;
    }
    interface NodeKubernetesConfig {
        /**
         * The Cordon of KubernetesConfig.
         */
        cordon?: pulumi.Input<boolean>;
        /**
         * The Labels of KubernetesConfig.
         */
        labels?: pulumi.Input<pulumi.Input<inputs.vke.NodeKubernetesConfigLabel>[]>;
        /**
         * The Taints of KubernetesConfig.
         */
        taints?: pulumi.Input<pulumi.Input<inputs.vke.NodeKubernetesConfigTaint>[]>;
    }
    interface NodeKubernetesConfigLabel {
        /**
         * The Key of Labels.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Labels.
         */
        value?: pulumi.Input<string>;
    }
    interface NodeKubernetesConfigTaint {
        /**
         * The Effect of Taints, the value can be `NoSchedule` or `NoExecute` or `PreferNoSchedule`.
         */
        effect?: pulumi.Input<string>;
        /**
         * The Key of Taints.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Taints.
         */
        value?: pulumi.Input<string>;
    }
    interface NodePoolAutoScaling {
        /**
         * The DesiredReplicas of AutoScaling, default 0, range in minReplicas to max_replicas.
         */
        desiredReplicas?: pulumi.Input<number>;
        /**
         * Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be `false`.
         */
        enabled?: pulumi.Input<boolean>;
        /**
         * The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of `enabled` is `true`.
         */
        maxReplicas?: pulumi.Input<number>;
        /**
         * The MinReplicas of AutoScaling, default 0. This field is valid when the value of `enabled` is `true`.
         */
        minReplicas?: pulumi.Input<number>;
        /**
         * The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of `enabled` is `true` and the value of `subnetPolicy` is `Priority`.
         */
        priority?: pulumi.Input<number>;
        /**
         * Multi-subnet scheduling strategy for nodes. The value can be `ZoneBalance` or `Priority`.
         */
        subnetPolicy?: pulumi.Input<string>;
    }
    interface NodePoolKubernetesConfig {
        /**
         * Whether to disable the function of automatically synchronizing labels and taints to existing nodes. Default is false.
         */
        autoSyncDisabled?: pulumi.Input<boolean>;
        /**
         * The Cordon of KubernetesConfig.
         */
        cordon: pulumi.Input<boolean>;
        /**
         * The KubeletConfig of KubernetesConfig. After adding parameters, deleting parameters does not take effect.
         */
        kubeletConfig?: pulumi.Input<inputs.vke.NodePoolKubernetesConfigKubeletConfig>;
        /**
         * The Labels of KubernetesConfig.
         */
        labels?: pulumi.Input<pulumi.Input<inputs.vke.NodePoolKubernetesConfigLabel>[]>;
        /**
         * The NamePrefix of node metadata.
         */
        namePrefix?: pulumi.Input<string>;
        /**
         * The Taints of KubernetesConfig.
         */
        taints?: pulumi.Input<pulumi.Input<inputs.vke.NodePoolKubernetesConfigTaint>[]>;
    }
    interface NodePoolKubernetesConfigKubeletConfig {
        /**
         * The FeatureGates of KubeletConfig.
         */
        featureGates?: pulumi.Input<inputs.vke.NodePoolKubernetesConfigKubeletConfigFeatureGates>;
        /**
         * The TopologyManagerPolicy of KubeletConfig. Valid values: `none`, `restricted`, `best-effort`, `single-numa-node`. Default is `none`.
         */
        topologyManagerPolicy?: pulumi.Input<string>;
        /**
         * The TopologyManagerScope of KubeletConfig. Valid values: `container`.
         */
        topologyManagerScope?: pulumi.Input<string>;
    }
    interface NodePoolKubernetesConfigKubeletConfigFeatureGates {
        /**
         * Whether to enable QoSResourceManager. Default is false.
         */
        qosResourceManager?: pulumi.Input<boolean>;
    }
    interface NodePoolKubernetesConfigLabel {
        /**
         * The Key of Labels.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Labels.
         */
        value?: pulumi.Input<string>;
    }
    interface NodePoolKubernetesConfigTaint {
        /**
         * The Effect of Taints, the value can be `NoSchedule` or `NoExecute` or `PreferNoSchedule`.
         */
        effect?: pulumi.Input<string>;
        /**
         * The Key of Taints.
         */
        key?: pulumi.Input<string>;
        /**
         * The Value of Taints.
         */
        value?: pulumi.Input<string>;
    }
    interface NodePoolManagement {
        /**
         * Whether to enable the management function of the node pool. Default is `false`.
         */
        enabled?: pulumi.Input<boolean>;
        /**
         * The Remedy Config of NodePool. This field is valid when the value of `enabled` is `true`.
         */
        remedyConfig?: pulumi.Input<inputs.vke.NodePoolManagementRemedyConfig>;
    }
    interface NodePoolManagementRemedyConfig {
        /**
         * Whether to enable the remedy function of the node pool. Default is `false`.
         */
        enabled?: pulumi.Input<boolean>;
        /**
         * The ID of the remedy policy. This field is valid when the value of `enabled` is `true`.
         */
        id?: pulumi.Input<string>;
    }
    interface NodePoolNodeConfig {
        /**
         * The AdditionalContainerStorageEnabled of NodeConfig.
         */
        additionalContainerStorageEnabled?: pulumi.Input<boolean>;
        /**
         * Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
         */
        autoRenew?: pulumi.Input<boolean>;
        /**
         * The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
         */
        autoRenewPeriod?: pulumi.Input<number>;
        /**
         * The DataVolumes of NodeConfig.
         */
        dataVolumes?: pulumi.Input<pulumi.Input<inputs.vke.NodePoolNodeConfigDataVolume>[]>;
        /**
         * Tags for Ecs.
         */
        ecsTags?: pulumi.Input<pulumi.Input<inputs.vke.NodePoolNodeConfigEcsTag>[]>;
        /**
         * The IDs of HpcCluster, only one ID is supported currently.
         */
        hpcClusterIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The ImageId of NodeConfig.
         */
        imageId?: pulumi.Input<string>;
        /**
         * The initializeScript of NodeConfig.
         */
        initializeScript?: pulumi.Input<string>;
        /**
         * The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
         */
        instanceChargeType?: pulumi.Input<string>;
        /**
         * The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.getSupportResourceTypes datasource.
         */
        instanceTypeIds: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The NamePrefix of NodeConfig.
         */
        namePrefix?: pulumi.Input<string>;
        /**
         * The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
         */
        period?: pulumi.Input<number>;
        /**
         * The PreScript of NodeConfig.
         */
        preScript?: pulumi.Input<string>;
        /**
         * The project name of the ecs instance.
         */
        projectName?: pulumi.Input<string>;
        /**
         * The Security of NodeConfig.
         */
        security: pulumi.Input<inputs.vke.NodePoolNodeConfigSecurity>;
        /**
         * The SubnetIds of NodeConfig.
         */
        subnetIds: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The SystemVolume of NodeConfig.
         */
        systemVolume?: pulumi.Input<inputs.vke.NodePoolNodeConfigSystemVolume>;
    }
    interface NodePoolNodeConfigDataVolume {
        /**
         * The target mount directory of the disk. Must start with `/`.
         */
        mountPoint?: pulumi.Input<string>;
        /**
         * The Size of DataVolumes, the value range in 20~32768. Default value is `20`.
         */
        size?: pulumi.Input<number>;
        /**
         * The Type of DataVolumes, the value can be `PTSSD` or `ESSD_PL0` or `ESSD_FlexPL`. Default value is `ESSD_PL0`.
         */
        type?: pulumi.Input<string>;
    }
    interface NodePoolNodeConfigEcsTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface NodePoolNodeConfigSecurity {
        /**
         * The Login of Security.
         */
        login?: pulumi.Input<inputs.vke.NodePoolNodeConfigSecurityLogin>;
        /**
         * The SecurityGroupIds of Security.
         */
        securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The SecurityStrategies of Security, the value can be empty or `Hids`.
         */
        securityStrategies?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface NodePoolNodeConfigSecurityLogin {
        /**
         * The Password of Security, this field must be encoded with base64.
         */
        password?: pulumi.Input<string>;
        /**
         * The SshKeyPairName of Security.
         */
        sshKeyPairName?: pulumi.Input<string>;
    }
    interface NodePoolNodeConfigSystemVolume {
        /**
         * The Size of SystemVolume, the value range in 20~2048.
         */
        size?: pulumi.Input<number>;
        /**
         * The Type of SystemVolume, the value can be `PTSSD` or `ESSD_PL0` or `ESSD_FlexPL`.
         */
        type?: pulumi.Input<string>;
    }
    interface NodePoolNodeStatistic {
        /**
         * The CreatingCount of Node.
         */
        creatingCount?: pulumi.Input<number>;
        /**
         * The DeletingCount of Node.
         */
        deletingCount?: pulumi.Input<number>;
        /**
         * The FailedCount of Node.
         */
        failedCount?: pulumi.Input<number>;
        /**
         * The RunningCount of Node.
         */
        runningCount?: pulumi.Input<number>;
        /**
         * (**Deprecated**) This field has been deprecated and is not recommended for use. The StartingCount of Node.
         *
         * @deprecated This field has been deprecated and is not recommended for use.
         */
        startingCount?: pulumi.Input<number>;
        /**
         * (**Deprecated**) This field has been deprecated and is not recommended for use. The StoppedCount of Node.
         *
         * @deprecated This field has been deprecated and is not recommended for use.
         */
        stoppedCount?: pulumi.Input<number>;
        /**
         * (**Deprecated**) This field has been deprecated and is not recommended for use. The StoppingCount of Node.
         *
         * @deprecated This field has been deprecated and is not recommended for use.
         */
        stoppingCount?: pulumi.Input<number>;
        /**
         * The TotalCount of Node.
         */
        totalCount?: pulumi.Input<number>;
        /**
         * The UpdatingCount of Node.
         */
        updatingCount?: pulumi.Input<number>;
    }
    interface NodePoolTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface NodePoolsStatus {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: string;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: string;
    }
    interface NodePoolsStatusArgs {
        /**
         * Indicates the status condition of the node pool in the active state. The value can be `Progressing` or `Ok` or `VersionPartlyUpgraded` or `StockOut` or `LimitedByQuota` or `Balance` or `Degraded` or `ClusterVersionUpgrading` or `Cluster` or `ResourceCleanupFailed` or `Unknown` or `ClusterNotRunning` or `SetByProvider`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The Phase of Status. The value can be `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Scaling`.
         */
        phase?: pulumi.Input<string>;
    }
    interface NodePoolsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface NodePoolsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface NodesStatus {
        /**
         * The Type of Node Condition, the value is `Progressing` or `Ok` or `Unschedulable` or `InitilizeFailed` or `Unknown` or `NotReady` or `Security` or `Balance` or `ResourceCleanupFailed`.
         */
        conditionsType?: string;
        /**
         * The Phase of Node, the value is `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Starting` or `Stopping` or `Stopped`.
         */
        phase?: string;
    }
    interface NodesStatusArgs {
        /**
         * The Type of Node Condition, the value is `Progressing` or `Ok` or `Unschedulable` or `InitilizeFailed` or `Unknown` or `NotReady` or `Security` or `Balance` or `ResourceCleanupFailed`.
         */
        conditionsType?: pulumi.Input<string>;
        /**
         * The Phase of Node, the value is `Creating` or `Running` or `Updating` or `Deleting` or `Failed` or `Starting` or `Stopping` or `Stopped`.
         */
        phase?: pulumi.Input<string>;
    }
}
export declare namespace vmp {
    interface AlertingRuleAnnotation {
        /**
         * The name of the annotation.
         */
        name: pulumi.Input<string>;
        /**
         * The value of the annotation.
         */
        value: pulumi.Input<string>;
    }
    interface AlertingRuleLabel {
        /**
         * The name of the label.
         */
        name: pulumi.Input<string>;
        /**
         * The value of the label.
         */
        value: pulumi.Input<string>;
    }
    interface AlertingRuleLevel {
        /**
         * The comparator of the vmp alerting rule. Valid values: `>`, `>=`, `<`, `<=`, `==`, `!=`.
         */
        comparator: pulumi.Input<string>;
        /**
         * The duration of the alerting rule. Valid values: `0s`, `1m`, `2m`, `5m`, `10m`.
         */
        for: pulumi.Input<string>;
        /**
         * The level of the vmp alerting rule. Valid values: `P0`, `P1`, `P2`. The value of this field cannot be duplicate.
         */
        level: pulumi.Input<string>;
        /**
         * The threshold of the vmp alerting rule.
         */
        threshold: pulumi.Input<number>;
    }
    interface AlertingRuleQuery {
        /**
         * The prom ql of query.
         */
        promQl: pulumi.Input<string>;
        /**
         * The id of the workspace.
         */
        workspaceId: pulumi.Input<string>;
    }
    interface AlertingRuleTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface AlertingRulesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface AlertingRulesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ContactDingTalkBotWebhook {
        /**
         * The address of webhook.
         */
        address: pulumi.Input<string>;
        /**
         * The mobiles of user.
         */
        atMobiles?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The ids of user.
         */
        atUserIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The secret key of webhook.
         */
        secretKey?: pulumi.Input<string>;
    }
    interface ContactLarkBotWebhook {
        /**
         * The address of webhook.
         */
        address: pulumi.Input<string>;
        /**
         * The secret key of webhook.
         */
        secretKey?: pulumi.Input<string>;
    }
    interface ContactPhoneNumber {
        /**
         * The country code of phone number. The value is `+86`.
         */
        countryCode: pulumi.Input<string>;
        /**
         * The number of phone number.
         */
        number: pulumi.Input<string>;
    }
    interface ContactWeComBotWebhook {
        /**
         * The address of webhook.
         */
        address: pulumi.Input<string>;
        /**
         * The ids of user.
         */
        atUserIds?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ContactWebhook {
        /**
         * The address of webhook.
         */
        address: pulumi.Input<string>;
        /**
         * The token of webhook.
         */
        token?: pulumi.Input<string>;
    }
    interface GetAlertingRulesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetAlertingRulesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetWorkspacesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        values: string[];
    }
    interface GetWorkspacesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface NotifyGroupPolicyLevel {
        /**
         * The aggregate dimension, the value can be `__rule__`.
         */
        groupBies: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The aggregation cycle. Integer form, unit is second.
         */
        groupInterval: pulumi.Input<string>;
        /**
         * The wait time. Integer form, unit is second.
         */
        groupWait: pulumi.Input<string>;
        /**
         * The level of the policy, the value can be one of the following: `P0`, `P1`, `P2`.
         */
        level: pulumi.Input<string>;
        /**
         * The notification cycle. Integer form, unit is second.
         */
        repeatInterval: pulumi.Input<string>;
    }
    interface NotifyPolicyLevel {
        /**
         * The alarm notification method of the alarm notification policy, the optional value can be `Email`, `Webhook`, `LarkBotWebhook`, `DingTalkBotWebhook`, `WeComBotWebhook`.
         */
        channels: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The contact group for the alarm notification policy.
         */
        contactGroupIds: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The level of the policy, the value can be one of the following: `P0`, `P1`, `P2`.
         */
        level: pulumi.Input<string>;
        /**
         * The resolved alarm notification method of the alarm notification policy, the optional value can be `Email`, `Webhook`, `LarkBotWebhook`, `DingTalkBotWebhook`, `WeComBotWebhook`.
         */
        resolvedChannels?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface NotifyTemplateActive {
        /**
         * The content of notify template.
         */
        content: pulumi.Input<string>;
        /**
         * The title of notify template.
         */
        title: pulumi.Input<string>;
    }
    interface NotifyTemplateResolved {
        /**
         * The content of notify template.
         */
        content: pulumi.Input<string>;
        /**
         * The title of notify template.
         */
        title: pulumi.Input<string>;
    }
    interface SilencePolicyMetricLabelMatcher {
        /**
         * Label matcher. Among them, each LabelMatcher array can contain a maximum of 24 items.
         */
        matchers: pulumi.Input<pulumi.Input<inputs.vmp.SilencePolicyMetricLabelMatcherMatcher>[]>;
    }
    interface SilencePolicyMetricLabelMatcherMatcher {
        /**
         * Label.
         */
        label: pulumi.Input<string>;
        /**
         * Operator. The optional values are as follows: Equal, NotEqual, RegexpEqual, RegexpNotEqual.
         */
        operator?: pulumi.Input<string>;
        /**
         * Label value.
         */
        value: pulumi.Input<string>;
    }
    interface SilencePolicyTimeRangeMatcher {
        /**
         * Silence time range, like 2025-01-02 15:04~2025-01-03 14:04.
         */
        date?: pulumi.Input<string>;
        /**
         * Timezone, e.g. Asia/Shanghai.
         */
        location: pulumi.Input<string>;
        /**
         * The cycle of alarm silence. It is used to configure alarm silence that takes effect periodically.
         */
        periodicDate?: pulumi.Input<inputs.vmp.SilencePolicyTimeRangeMatcherPeriodicDate>;
    }
    interface SilencePolicyTimeRangeMatcherPeriodicDate {
        /**
         * Days of month, e.g. 2~3. A maximum of 10 time periods can be configured.
         */
        dayOfMonth?: pulumi.Input<string>;
        /**
         * Time periods, e.g. 20:00~21:12,22:00~23:12. A maximum of 4 time periods can be configured.
         */
        time?: pulumi.Input<string>;
        /**
         * Weekdays, e.g. 1,3,5. A maximum of 7 time periods can be configured.
         */
        weekday?: pulumi.Input<string>;
    }
    interface WorkspaceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface WorkspacesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        values: string[];
    }
    interface WorkspacesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace vpc {
    interface FlowLogTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface FlowLogsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface FlowLogsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetFlowLogsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetFlowLogsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetHaVipsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetHaVipsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetIpv6AddressBandwidthsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetIpv6AddressBandwidthsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetIpv6GatewaysTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetIpv6GatewaysTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetNetworkAclsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetNetworkAclsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetNetworkInterfacesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetNetworkInterfacesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetPrefixListsTagFilter {
        /**
         * The key of the tag.
         */
        key?: string;
        /**
         * The values of the tag.
         */
        values?: string[];
    }
    interface GetPrefixListsTagFilterArgs {
        /**
         * The key of the tag.
         */
        key?: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface GetRouteTablesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetRouteTablesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetSecurityGroupsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetSecurityGroupsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetSubnetsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetSubnetsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetTrafficMirrorFilterRulesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetTrafficMirrorFilterRulesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetTrafficMirrorFiltersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetTrafficMirrorFiltersTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetTrafficMirrorSessionsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetTrafficMirrorSessionsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetTrafficMirrorTargetsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetTrafficMirrorTargetsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetVpcsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetVpcsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface HaVipTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface HaVipsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface HaVipsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface Ipv6AddressBandwidthTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface Ipv6AddressBandwidthsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface Ipv6AddressBandwidthsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface Ipv6GatewayTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface Ipv6GatewaysTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface Ipv6GatewaysTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface NetworkAclEgressAclEntry {
        /**
         * The description of entry.
         */
        description?: pulumi.Input<string>;
        /**
         * The DestinationCidrIp of entry.
         */
        destinationCidrIp?: pulumi.Input<string>;
        /**
         * The id of entry.
         */
        networkAclEntryId?: pulumi.Input<string>;
        /**
         * The name of entry.
         */
        networkAclEntryName?: pulumi.Input<string>;
        /**
         * The policy of entry. Default is `accept`. The value can be `accept` or `drop`.
         */
        policy?: pulumi.Input<string>;
        /**
         * The port of entry. Default is `-1/-1`. When Protocol is `all`, `icmp` or `gre`, the port range is `-1/-1`, which means no port restriction.When the Protocol is `tcp` or `udp`, the port range is `1~65535`, and the format is `1/200`, `80/80`,which means port 1 to port 200, port 80.
         */
        port?: pulumi.Input<string>;
        /**
         * The priority of entry.
         */
        priority?: pulumi.Input<number>;
        /**
         * The protocol of entry. The value can be `icmp` or `gre` or `tcp` or `udp` or `all`. Default is `all`.
         */
        protocol?: pulumi.Input<string>;
    }
    interface NetworkAclIngressAclEntry {
        /**
         * The description of entry.
         */
        description?: pulumi.Input<string>;
        /**
         * The id of entry.
         */
        networkAclEntryId?: pulumi.Input<string>;
        /**
         * The name of entry.
         */
        networkAclEntryName?: pulumi.Input<string>;
        /**
         * The policy of entry, default is `accept`. The value can be `accept` or `drop`.
         */
        policy?: pulumi.Input<string>;
        /**
         * The port of entry. Default is `-1/-1`. When Protocol is `all`, `icmp` or `gre`, the port range is `-1/-1`, which means no port restriction. When the Protocol is `tcp` or `udp`, the port range is `1~65535`, and the format is `1/200`, `80/80`, which means port 1 to port 200, port 80.
         */
        port?: pulumi.Input<string>;
        /**
         * The priority of entry.
         */
        priority?: pulumi.Input<number>;
        /**
         * The protocol of entry, default is `all`. The value can be `icmp` or `gre` or `tcp` or `udp` or `all`.
         */
        protocol?: pulumi.Input<string>;
        /**
         * The SourceCidrIp of entry.
         */
        sourceCidrIp?: pulumi.Input<string>;
    }
    interface NetworkAclTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface NetworkAclsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface NetworkAclsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface NetworkInterfaceTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface NetworkInterfacesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface NetworkInterfacesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface PrefixListPrefixListAssociation {
        /**
         * Associated resource ID.
         */
        resourceId?: pulumi.Input<string>;
        /**
         * Related resource types.
         */
        resourceType?: pulumi.Input<string>;
    }
    interface PrefixListPrefixListEntry {
        /**
         * CIDR of prefix list entries.
         */
        cidr?: pulumi.Input<string>;
        /**
         * Description of prefix list entries.
         */
        description?: pulumi.Input<string>;
    }
    interface PrefixListTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface PrefixListsTagFilter {
        /**
         * The key of the tag.
         */
        key?: string;
        /**
         * The values of the tag.
         */
        values?: string[];
    }
    interface PrefixListsTagFilterArgs {
        /**
         * The key of the tag.
         */
        key?: pulumi.Input<string>;
        /**
         * The values of the tag.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface RouteTableTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface RouteTablesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface RouteTablesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface SecurityGroupTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface SecurityGroupsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface SecurityGroupsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface SubnetTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface SubnetsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface SubnetsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TrafficMirrorFilterRulesTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface TrafficMirrorFilterRulesTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TrafficMirrorFilterTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TrafficMirrorFiltersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface TrafficMirrorFiltersTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TrafficMirrorSessionTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TrafficMirrorSessionsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface TrafficMirrorSessionsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TrafficMirrorTargetTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface TrafficMirrorTargetsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface TrafficMirrorTargetsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpcAssociateCen {
        /**
         * The ID of CEN.
         */
        cenId?: pulumi.Input<string>;
        /**
         * The owner ID of CEN.
         */
        cenOwnerId?: pulumi.Input<string>;
        /**
         * The status of CEN.
         */
        cenStatus?: pulumi.Input<string>;
    }
    interface VpcTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface VpcsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface VpcsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace vpn {
    interface ConnectionTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface ConnectionsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface ConnectionsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface CustomerGatewayTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface CustomerGatewaysTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface CustomerGatewaysTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GatewayTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        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 GetConnectionsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetConnectionsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetCustomerGatewaysTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetCustomerGatewaysTagArgs {
        /**
         * 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>;
    }
    interface GetSslVpnClientCertsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetSslVpnClientCertsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface GetSslVpnServersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface GetSslVpnServersTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface SslVpnClientCertTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface SslVpnClientCertsTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface SslVpnClientCertsTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface SslVpnServerTag {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
    interface SslVpnServersTag {
        /**
         * The Key of Tags.
         */
        key: string;
        /**
         * The Value of Tags.
         */
        value: string;
    }
    interface SslVpnServersTagArgs {
        /**
         * The Key of Tags.
         */
        key: pulumi.Input<string>;
        /**
         * The Value of Tags.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace waf {
    interface AclRuleAccurateGroup {
        /**
         * Details of advanced conditions.
         */
        accurateRules: pulumi.Input<pulumi.Input<inputs.waf.AclRuleAccurateGroupAccurateRule>[]>;
        /**
         * The logical relationship of advanced conditions.
         */
        logic: pulumi.Input<number>;
    }
    interface AclRuleAccurateGroupAccurateRule {
        /**
         * The HTTP object to be added to the advanced conditions.
         */
        httpObj: pulumi.Input<string>;
        /**
         * The matching field for HTTP objects.
         */
        objType: pulumi.Input<number>;
        /**
         * The logical operator for the condition.
         */
        opretar: pulumi.Input<number>;
        /**
         * Operate the properties of the http object.
         */
        property: pulumi.Input<number>;
        /**
         * The value to be matched.
         */
        valueString: pulumi.Input<string>;
    }
    interface AclRuleHostGroup {
        /**
         * The ID of the domain group.
         */
        hostGroupId?: pulumi.Input<number>;
        /**
         * Rule name.
         */
        name?: pulumi.Input<string>;
    }
    interface AclRuleIpGroup {
        /**
         * Required if IpAddType = 2.
         */
        ipGroupId?: pulumi.Input<number>;
        /**
         * Rule name.
         */
        name?: pulumi.Input<string>;
    }
    interface BotAnalyseProtectRuleAccurateGroup {
        /**
         * Request characteristic information of the rule group.
         */
        accurateRules?: pulumi.Input<pulumi.Input<inputs.waf.BotAnalyseProtectRuleAccurateGroupAccurateRule>[]>;
        /**
         * In the rule group, the high-level conditional operation relationships corresponding to each rule.
         */
        logic?: pulumi.Input<number>;
    }
    interface BotAnalyseProtectRuleAccurateGroupAccurateRule {
        /**
         * Custom object.
         */
        httpObj?: pulumi.Input<string>;
        /**
         * matching field.
         */
        objType?: pulumi.Input<number>;
        /**
         * The logical operator for the condition.
         */
        opretar?: pulumi.Input<number>;
        /**
         * Operate the properties of the http object.
         */
        property?: pulumi.Input<number>;
        /**
         * The value to be matched.
         */
        valueString?: pulumi.Input<string>;
    }
    interface BotAnalyseProtectRuleRuleGroup {
        /**
         * Rule group information.
         */
        group?: pulumi.Input<inputs.waf.BotAnalyseProtectRuleRuleGroupGroup>;
        /**
         * Specific rule information within the rule group.
         */
        rules?: pulumi.Input<pulumi.Input<inputs.waf.BotAnalyseProtectRuleRuleGroupRule>[]>;
    }
    interface BotAnalyseProtectRuleRuleGroupGroup {
        /**
         * After the rule creation is completed, the priority of the automatically generated rule group.
         */
        accurateGroupPriority?: pulumi.Input<number>;
        /**
         * Request characteristic information of the rule group.
         */
        accurateRules?: pulumi.Input<pulumi.Input<inputs.waf.BotAnalyseProtectRuleRuleGroupGroupAccurateRule>[]>;
        /**
         * Rule unique identifier.
         */
        id?: pulumi.Input<number>;
        /**
         * In the rule group, the high-level conditional operation relationships corresponding to each rule.
         */
        logic?: pulumi.Input<number>;
    }
    interface BotAnalyseProtectRuleRuleGroupGroupAccurateRule {
        /**
         * Custom object.
         */
        httpObj?: pulumi.Input<string>;
        /**
         * matching field.
         */
        objType?: pulumi.Input<number>;
        /**
         * The logical operator for the condition.
         */
        opretar?: pulumi.Input<number>;
        /**
         * Operate the properties of the http object.
         */
        property?: pulumi.Input<number>;
        /**
         * The value to be matched.
         */
        valueString?: pulumi.Input<string>;
    }
    interface BotAnalyseProtectRuleRuleGroupRule {
        /**
         * Advanced conditions.
         */
        accurateGroup?: pulumi.Input<inputs.waf.BotAnalyseProtectRuleRuleGroupRuleAccurateGroup>;
        /**
         * After the rule creation is completed, the priority of the automatically generated rule group.
         */
        accurateGroupPriority?: pulumi.Input<number>;
        /**
         * Perform the action after verification/challenge.
         */
        actionAfterVerification?: pulumi.Input<number>;
        /**
         * perform the action.
         */
        actionType?: pulumi.Input<number>;
        /**
         * Limit the duration.
         */
        effectTime?: pulumi.Input<number>;
        /**
         * Whether to enable the rules.
         */
        enable?: pulumi.Input<number>;
        /**
         * Exemption time takes effect when the execution action is human-machine challenge /JS/ Proof of work.
         */
        exemptionTime?: pulumi.Input<number>;
        /**
         * Statistical objects, with multiple objects separated by commas.
         */
        field?: pulumi.Input<string>;
        /**
         * Website domain names that require the setting of protection rules.
         */
        host?: pulumi.Input<string>;
        /**
         * Rule unique identifier.
         */
        id?: pulumi.Input<number>;
        /**
         * The name of rule.
         */
        name?: pulumi.Input<string>;
        /**
         * JS challenge/human-machine verification pass rate.
         */
        passRatio?: pulumi.Input<number>;
        /**
         * The requested path.
         */
        path?: pulumi.Input<string>;
        /**
         * The path access frequency threshold is enabled when StatisticalType=1.
         */
        pathThreshold?: pulumi.Input<number>;
        /**
         * Priority of rule effectiveness.
         */
        rulePriority?: pulumi.Input<number>;
        /**
         * Rule label, that is, the complete rule ID.
         */
        ruleTag?: pulumi.Input<string>;
        /**
         * The IP proportion of the same statistical object needs to be configured when StatisticalType=3.
         */
        singleProportion?: pulumi.Input<number>;
        /**
         * The maximum number of ips of the same statistical object is enabled when StatisticalType=2.
         */
        singleThreshold?: pulumi.Input<number>;
        /**
         * The duration of statistics.
         */
        statisticalDuration?: pulumi.Input<number>;
        /**
         * Statistical content and methods.
         */
        statisticalType?: pulumi.Input<number>;
        /**
         * Rule update time.
         */
        updateTime?: pulumi.Input<string>;
    }
    interface BotAnalyseProtectRuleRuleGroupRuleAccurateGroup {
        /**
         * After the rule creation is completed, the priority of the automatically generated rule group.
         */
        accurateGroupPriority?: pulumi.Input<number>;
        /**
         * Request characteristic information of the rule group.
         */
        accurateRules?: pulumi.Input<pulumi.Input<inputs.waf.BotAnalyseProtectRuleRuleGroupRuleAccurateGroupAccurateRule>[]>;
        /**
         * Rule unique identifier.
         */
        id?: pulumi.Input<number>;
        /**
         * In the rule group, the high-level conditional operation relationships corresponding to each rule.
         */
        logic?: pulumi.Input<number>;
    }
    interface BotAnalyseProtectRuleRuleGroupRuleAccurateGroupAccurateRule {
        /**
         * Custom object.
         */
        httpObj?: pulumi.Input<string>;
        /**
         * matching field.
         */
        objType?: pulumi.Input<number>;
        /**
         * The logical operator for the condition.
         */
        opretar?: pulumi.Input<number>;
        /**
         * Operate the properties of the http object.
         */
        property?: pulumi.Input<number>;
        /**
         * The value to be matched.
         */
        valueString?: pulumi.Input<string>;
    }
    interface CcRuleAccurateGroup {
        /**
         * Details of advanced conditions.
         */
        accurateRules: pulumi.Input<pulumi.Input<inputs.waf.CcRuleAccurateGroupAccurateRule>[]>;
        /**
         * The logical relationship of advanced conditions.
         */
        logic: pulumi.Input<number>;
    }
    interface CcRuleAccurateGroupAccurateRule {
        /**
         * The HTTP object to be added to the advanced conditions.
         */
        httpObj: pulumi.Input<string>;
        /**
         * The matching field for HTTP objects.
         */
        objType: pulumi.Input<number>;
        /**
         * The logical operator for the condition.
         */
        opretar: pulumi.Input<number>;
        /**
         * Operate the properties of the http object.
         */
        property: pulumi.Input<number>;
        /**
         * The value to be matched.
         */
        valueString: pulumi.Input<string>;
    }
    interface CcRuleCronConf {
        /**
         * The weekly cycle days and cycle time periods.
         */
        crontab: pulumi.Input<string>;
        /**
         * The threshold of the number of requests for path access.
         */
        pathThreshold: pulumi.Input<number>;
        /**
         * The threshold of the number of visits to each statistical object.
         */
        singleThreshold: pulumi.Input<number>;
    }
    interface CcRuleRuleGroup {
        /**
         * Rule group information.
         */
        group?: pulumi.Input<inputs.waf.CcRuleRuleGroupGroup>;
        /**
         * Specific rule information within the rule group.
         */
        rules?: pulumi.Input<pulumi.Input<inputs.waf.CcRuleRuleGroupRule>[]>;
    }
    interface CcRuleRuleGroupGroup {
        /**
         * After the rule creation is completed, the priority of the automatically generated rule group.
         */
        accurateGroupPriority?: pulumi.Input<number>;
        /**
         * Request characteristic information of the rule group.
         */
        accurateRules?: pulumi.Input<pulumi.Input<inputs.waf.CcRuleRuleGroupGroupAccurateRule>[]>;
        /**
         * The ID of Rule group.
         */
        id?: pulumi.Input<number>;
        /**
         * In the rule group, the high-level conditional operation relationships corresponding to each rule.
         */
        logic?: pulumi.Input<number>;
    }
    interface CcRuleRuleGroupGroupAccurateRule {
        /**
         * The HTTP object to be added to the advanced conditions.
         */
        httpObj?: pulumi.Input<string>;
        /**
         * The matching field for HTTP objects.
         */
        objType?: pulumi.Input<number>;
        /**
         * The logical operator for the condition.
         */
        opretar?: pulumi.Input<number>;
        /**
         * Operate the properties of the http object.
         */
        property?: pulumi.Input<number>;
        /**
         * The value to be matched.
         */
        valueString?: pulumi.Input<string>;
    }
    interface CcRuleRuleGroupRule {
        /**
         * Advanced conditions.
         */
        accurateGroup?: pulumi.Input<inputs.waf.CcRuleRuleGroupRuleAccurateGroup>;
        /**
         * After the rule creation is completed, the priority of the automatically generated rule group.
         */
        accurateGroupPriority?: pulumi.Input<number>;
        /**
         * The actions performed on subsequent requests after meeting the statistical conditions.
         */
        ccType?: pulumi.Input<number>;
        /**
         * The statistical period of the strategy.
         */
        countTime?: pulumi.Input<number>;
        /**
         * Details of the periodic loop configuration.
         */
        cronConfs?: pulumi.Input<pulumi.Input<inputs.waf.CcRuleRuleGroupRuleCronConf>[]>;
        /**
         * Whether to set the cycle to take effect.
         */
        cronEnable?: pulumi.Input<number>;
        /**
         * Limit the duration, that is, the effective duration of the action.
         */
        effectTime?: pulumi.Input<number>;
        /**
         * Whether to enable the rules.
         */
        enable?: pulumi.Input<number>;
        /**
         * Strategy exemption time.
         */
        exemptionTime?: pulumi.Input<number>;
        /**
         * statistical object.
         */
        field?: pulumi.Input<string>;
        /**
         * Website domain names that require the setting of protection rules.
         */
        host?: pulumi.Input<string>;
        /**
         * The ID of Rule group.
         */
        id?: pulumi.Input<number>;
        /**
         * The name of cc rule.
         */
        name?: pulumi.Input<string>;
        /**
         * The threshold of the total number of times the request path is accessed.
         */
        pathThreshold?: pulumi.Input<number>;
        /**
         * Rule execution priority.
         */
        rulePriority?: pulumi.Input<number>;
        /**
         * Rule label, that is, the complete rule ID.
         */
        ruleTag?: pulumi.Input<string>;
        /**
         * The threshold of the number of times each statistical object accesses the request path.
         */
        singleThreshold?: pulumi.Input<number>;
        /**
         * Rule update time.
         */
        updateTime?: pulumi.Input<string>;
        /**
         * The website request path that needs protection.
         */
        url?: pulumi.Input<string>;
    }
    interface CcRuleRuleGroupRuleAccurateGroup {
        /**
         * After the rule creation is completed, the priority of the automatically generated rule group.
         */
        accurateGroupPriority?: pulumi.Input<number>;
        /**
         * Details of advanced conditions.
         */
        accurateRules?: pulumi.Input<pulumi.Input<inputs.waf.CcRuleRuleGroupRuleAccurateGroupAccurateRule>[]>;
        /**
         * The ID of Rule group.
         */
        id?: pulumi.Input<number>;
        /**
         * The logical relationship of advanced conditions.
         */
        logic?: pulumi.Input<number>;
    }
    interface CcRuleRuleGroupRuleAccurateGroupAccurateRule {
        /**
         * The HTTP object to be added to the advanced conditions.
         */
        httpObj?: pulumi.Input<string>;
        /**
         * The matching field for HTTP objects.
         */
        objType?: pulumi.Input<number>;
        /**
         * The logical operator for the condition.
         */
        opretar?: pulumi.Input<number>;
        /**
         * Operate the properties of the http object.
         */
        property?: pulumi.Input<number>;
        /**
         * The value to be matched.
         */
        valueString?: pulumi.Input<string>;
    }
    interface CcRuleRuleGroupRuleCronConf {
        /**
         * The weekly cycle days and cycle time periods.
         */
        crontab?: pulumi.Input<string>;
        /**
         * The threshold of the number of requests for path access.
         */
        pathThreshold?: pulumi.Input<number>;
        /**
         * The threshold of the number of visits to each statistical object.
         */
        singleThreshold?: pulumi.Input<number>;
    }
    interface CustomBotAccurate {
        /**
         * Details of advanced conditions.
         */
        accurateRules?: pulumi.Input<pulumi.Input<inputs.waf.CustomBotAccurateAccurateRule>[]>;
        /**
         * The logical relationship of advanced conditions.
         */
        logic?: pulumi.Input<number>;
    }
    interface CustomBotAccurateAccurateRule {
        /**
         * The HTTP object to be added to the advanced conditions.
         */
        httpObj?: pulumi.Input<string>;
        /**
         * The matching field for HTTP objects.
         */
        objType?: pulumi.Input<number>;
        /**
         * The logical operator for the condition.
         */
        opretar?: pulumi.Input<number>;
        /**
         * Operate the properties of the http object.
         */
        property?: pulumi.Input<number>;
        /**
         * The value to be matched.
         */
        valueString?: pulumi.Input<string>;
    }
    interface CustomPageAccurate {
        /**
         * Details of advanced conditions.
         */
        accurateRules: pulumi.Input<pulumi.Input<inputs.waf.CustomPageAccurateAccurateRule>[]>;
        /**
         * The logical relationship of advanced conditions.
         */
        logic: pulumi.Input<number>;
    }
    interface CustomPageAccurateAccurateRule {
        /**
         * The HTTP object to be added to the advanced conditions.
         */
        httpObj: pulumi.Input<string>;
        /**
         * The matching field for HTTP objects.
         */
        objType: pulumi.Input<number>;
        /**
         * The logical operator for the condition.
         */
        opretar: pulumi.Input<number>;
        /**
         * Operate the properties of the http object.
         */
        property: pulumi.Input<number>;
        /**
         * The value to be matched.
         */
        valueString: pulumi.Input<string>;
    }
    interface HostGroupRelatedRule {
        /**
         * The name of the rule.
         */
        ruleName?: pulumi.Input<string>;
        /**
         * The ID of the rule.
         */
        ruleTag?: pulumi.Input<string>;
        /**
         * The type of the rule.
         */
        ruleType?: pulumi.Input<string>;
    }
    interface IpGroupRelatedRule {
        /**
         * The information of the protected domain names associated with the rules.
         */
        host?: pulumi.Input<string>;
        /**
         * The name of the rule.
         */
        ruleName?: pulumi.Input<string>;
        /**
         * The ID of the rule.
         */
        ruleTag?: pulumi.Input<string>;
        /**
         * The type of the rule.
         */
        ruleType?: pulumi.Input<string>;
    }
    interface VulnerabilityAdvanceConfig {
        /**
         * Configuration of the automatic blocking capability for directory traversal.
         */
        autoTraversal: pulumi.Input<inputs.waf.VulnerabilityAdvanceConfigAutoTraversal>;
        /**
         * Configuration of high-frequency scanning automatic blocking capability.
         */
        freqScan: pulumi.Input<inputs.waf.VulnerabilityAdvanceConfigFreqScan>;
    }
    interface VulnerabilityAdvanceConfigAutoTraversal {
        /**
         * Rule switch, controlling whether the current rule takes effect.
         */
        enable?: pulumi.Input<boolean>;
        /**
         * Rule detail.
         */
        rule?: pulumi.Input<inputs.waf.VulnerabilityAdvanceConfigAutoTraversalRule>;
        /**
         * Directory traversal automatically blocks the rule label, that is, the complete rule ID.
         */
        ruleTag?: pulumi.Input<string>;
    }
    interface VulnerabilityAdvanceConfigAutoTraversalRule {
        /**
         * Disposal action.
         */
        action: pulumi.Input<number>;
        /**
         * Disposal action.
         */
        countTime: pulumi.Input<number>;
        /**
         * Ban time (seconds).
         */
        effectTime: pulumi.Input<number>;
        /**
         * The body records the units displayed at the front end of the length: s, min, hour, and day.
         */
        effectTimeViewUnit: pulumi.Input<string>;
        /**
         * statistical object.
         */
        field: pulumi.Input<string>;
        /**
         * The number of request triggers.
         */
        hitRequestCount: pulumi.Input<number>;
        /**
         * Hit percentage: 0-99.
         */
        responseHttpStatusHitPercent: pulumi.Input<number>;
        /**
         * Response status code.
         */
        responseHttpStatuses: pulumi.Input<pulumi.Input<number>[]>;
    }
    interface VulnerabilityAdvanceConfigFreqScan {
        /**
         * Rule switch, controlling whether the current rule takes effect.
         */
        enable?: pulumi.Input<boolean>;
        /**
         * Rule detail.
         */
        rule?: pulumi.Input<inputs.waf.VulnerabilityAdvanceConfigFreqScanRule>;
        /**
         * Directory traversal automatically blocks the rule label, that is, the complete rule ID.
         */
        ruleTag?: pulumi.Input<string>;
    }
    interface VulnerabilityAdvanceConfigFreqScanRule {
        /**
         * Disposal action.
         */
        action: pulumi.Input<number>;
        /**
         * Disposal action.
         */
        countTime: pulumi.Input<number>;
        /**
         * Ban time (seconds).
         */
        effectTime: pulumi.Input<number>;
        /**
         * The body records the units displayed at the front end of the length: s, min, hour, and day.
         */
        effectTimeViewUnit: pulumi.Input<string>;
        /**
         * statistical object.
         */
        field: pulumi.Input<string>;
        /**
         * The number of request triggers.
         */
        hitRequestCount: pulumi.Input<number>;
    }
    interface VulnerabilityRuleDetail {
        /**
         * The accuracy of the rules. Only when updating the custom vulnerability rules.
         */
        accuracy?: pulumi.Input<number>;
        /**
         * The ID of CVE. Only when updating the custom vulnerability rules.
         */
        cveId?: pulumi.Input<string>;
        /**
         * The description of the rules. Only when updating the custom vulnerability rules.
         */
        description?: pulumi.Input<string>;
        /**
         * Risk grade. Only when updating the custom vulnerability rules.
         */
        riskLevel?: pulumi.Input<number>;
        /**
         * The name of rule. Only when updating the custom vulnerability rules.
         */
        ruleName?: pulumi.Input<string>;
        /**
         * First-level rule category. Only when updating the custom vulnerability rules.
         */
        ruleSetName?: pulumi.Input<string>;
        /**
         * Rule label, that is, the complete rule ID. Only when updating the custom vulnerability rules.
         */
        ruleTag?: pulumi.Input<string>;
        /**
         * Secondary rule category. Only when updating the custom vulnerability rules.
         */
        subcategory?: pulumi.Input<string>;
        /**
         * The update time of the rules. Only when updating the custom vulnerability rules.
         */
        updateTime?: pulumi.Input<string>;
    }
    interface VulnerabilitySystemRuleSwitch {
        /**
         * Custom rule switch.
         */
        customSystemRuleSwitch?: pulumi.Input<number>;
        /**
         * The ID of rule.
         */
        ruleId?: pulumi.Input<number>;
    }
    interface WafDomainBackendGroup {
        /**
         * Access port number.
         */
        accessPorts?: pulumi.Input<pulumi.Input<number>[]>;
        /**
         * The details of the source station group.
         */
        backends?: pulumi.Input<pulumi.Input<inputs.waf.WafDomainBackendGroupBackend>[]>;
        /**
         * Source station group name.
         */
        name?: pulumi.Input<string>;
    }
    interface WafDomainBackendGroupBackend {
        /**
         * Source station IP address.
         */
        ip?: pulumi.Input<string>;
        /**
         * Source station port number.
         */
        port?: pulumi.Input<number>;
        /**
         * The agreement of Source Station.
         */
        protocol?: pulumi.Input<string>;
        /**
         * The weight of the source station rules.
         */
        weight?: pulumi.Input<number>;
    }
    interface WafDomainCloudAccessConfig {
        /**
         * The access protocol needs to be consistent with the monitoring protocol.
         */
        accessProtocol?: pulumi.Input<string>;
        /**
         * The ID of instance.
         */
        instanceId: pulumi.Input<string>;
        /**
         * The name of instance. Works only on modified scenes.
         */
        instanceName?: pulumi.Input<string>;
        /**
         * The ID of listener.
         */
        listenerId?: pulumi.Input<string>;
        /**
         * Whether the instance is unbound from the alb and is unbound on the ALB side. Works only on modified scenes.
         */
        lostAssociationFromAlb?: pulumi.Input<number>;
        /**
         * The port number corresponding to the listener.
         */
        port?: pulumi.Input<string>;
        /**
         * The type of Listener protocol.
         */
        protocol?: pulumi.Input<string>;
    }
    interface WafDomainExtraDefenceModeLbInstance {
        /**
         * Set the protection mode for exceptional ALB instances. Works only on modified scenes.
         */
        defenceMode?: pulumi.Input<number>;
        /**
         * The Id of ALB instance. Works only on modified scenes.
         */
        instanceId?: pulumi.Input<string>;
    }
    interface WafDomainProtocolPorts {
        /**
         * Ports supported by the HTTP protocol.
         */
        http?: pulumi.Input<pulumi.Input<number>[]>;
        /**
         * Ports supported by the HTTPs protocol.
         */
        https?: pulumi.Input<pulumi.Input<number>[]>;
    }
    interface WafDomainTlsFieldsConfig {
        /**
         * The configuration of Headers. Works only on modified scenes.
         */
        headersConfig?: pulumi.Input<inputs.waf.WafDomainTlsFieldsConfigHeadersConfig>;
    }
    interface WafDomainTlsFieldsConfigHeadersConfig {
        /**
         * Whether the log contains this field. Works only on modified scenes.
         */
        enable?: pulumi.Input<number>;
        /**
         * For the use of composite fields, exclude the fields in the keyword list from the JSON of the fields. Works only on modified scenes.
         */
        excludedKeyLists?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Create statistical indexes for the fields of the list. Works only on modified scenes.
         */
        statisticalKeyLists?: pulumi.Input<pulumi.Input<string>[]>;
    }
}
