import * as pulumi from "@pulumi/pulumi";
import { input as inputs } from "../types";
export interface ProviderAssumeRole {
    agencyName: pulumi.Input<string>;
    domainId?: pulumi.Input<string>;
    domainName?: pulumi.Input<string>;
    duration?: pulumi.Input<number>;
}
export declare namespace Aom {
    interface AlarmRuleDimension {
        /**
         * Specifies the dimension name. Changing this creates a new resource.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the dimension value. Changing this creates a new resource.
         */
        value: pulumi.Input<string>;
    }
    interface ServiceDiscoveryRuleDiscoveryRule {
        /**
         * Specifies the matched value. This is a list of strings.
         */
        checkContents: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the match condition. The values can be **contain** and **equals**.
         */
        checkMode: pulumi.Input<string>;
        /**
         * Specifies the match type. The values can be **cmdLine**, **env** and **scope**.
         */
        checkType: pulumi.Input<string>;
    }
    interface ServiceDiscoveryRuleLogPathRule {
        /**
         * Specifies the input value.
         */
        args: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the value type. The value can be **cmdLineHash**, **cmdLine**, **env**
         * and **str**.
         */
        nameType: pulumi.Input<string>;
        /**
         * Specifies the application name, which is mandatory only when the value of `nameType` is
         * **cmdLineHash**.
         */
        values: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ServiceDiscoveryRuleNameRules {
        /**
         * Specifies the application name rule. If the value of `nameType` is
         * **cmdLine**, `args` is in the format of ["start", "end"], indicating that the characters between start and end in
         * the command are extracted. If the value of `nameType` is **env**, `args` is in the format of ["aa"], indicating that
         * the environment variable named aa is extracted. If the value of `nameType` is **str**, `args` is in the format of
         * ["fix"], indicating that the application name is suffixed with fix. If the value of `nameType` is **cmdLineHash**,
         * `args` is in the format of ["0001"] and `value` is in the format of ["ser"], indicating that the application name is
         * ser when the startup command is 0001. The object structure is documented below.
         */
        applicationNameRules: pulumi.Input<pulumi.Input<inputs.Aom.ServiceDiscoveryRuleNameRulesApplicationNameRule>[]>;
        /**
         * Specifies the service name rule. If there are multiple objects in the array,
         * the character strings extracted from these objects constitute the service name. If the value of `nameType` is
         * **cmdLine**, `args` is in the format of ["start", "end"], indicating that the characters between start and end
         * in the command are extracted. If the value of `nameType` is **env**, `args` is in the format of ["aa"],
         * indicating that the environment variable named aa is extracted. If the value of `nameType` is **str**, `args` is in the
         * format of ["fix"], indicating that the service name is suffixed with fix. If the value of `nameType` is
         * **cmdLineHash**, `args` is in the format of ["0001"] and `value` is in the format of ["ser"], indicating that the
         * service name is ser when the startup command is 0001. The object structure is
         * documented below.
         */
        serviceNameRules: pulumi.Input<pulumi.Input<inputs.Aom.ServiceDiscoveryRuleNameRulesServiceNameRule>[]>;
    }
    interface ServiceDiscoveryRuleNameRulesApplicationNameRule {
        /**
         * Specifies the input value.
         */
        args: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the value type. The value can be **cmdLineHash**, **cmdLine**, **env**
         * and **str**.
         */
        nameType: pulumi.Input<string>;
        /**
         * Specifies the application name, which is mandatory only when the value of `nameType` is
         * **cmdLineHash**.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ServiceDiscoveryRuleNameRulesServiceNameRule {
        /**
         * Specifies the input value.
         */
        args: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the value type. The value can be **cmdLineHash**, **cmdLine**, **env**
         * and **str**.
         */
        nameType: pulumi.Input<string>;
        /**
         * Specifies the application name, which is mandatory only when the value of `nameType` is
         * **cmdLineHash**.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace As {
    interface BandwidthPolicyIntervalAlarmAction {
        /**
         * Specifies the operation restrictions, unit is Mbit/s.
         * The valid values from `1` to `2,000`.
         * If `operation` is not **SET**, this parameter takes effect.
         * If `operation` is set to **ADD**, this parameter indicates the maximum bandwidth allowed.
         * If `operation` is set to **REDUCE**, this parameter indicates the minimum bandwidth allowed.
         */
        limits?: pulumi.Input<number>;
        /**
         * Specifies the lower limit of the value range.
         * The value is null by default. The minimum lower limit allowed is `-1.174271E108`.
         */
        lowerBound?: pulumi.Input<string>;
        /**
         * Specifies the operation to be performed.
         * The valid values are as follows:
         * + **ADD** (default): Indicates adding the bandwidth size.
         * + **REDUCE**: Indicates reducing the bandwidth size.
         * + **SET**: Indicates setting the bandwidth size to a specified value.
         */
        operation?: pulumi.Input<string>;
        /**
         * Specifies the operation size, unit is Mbit/s.
         * The valid values from `1` to `300`, the default value is `1`.
         */
        size?: pulumi.Input<number>;
        /**
         * Specifies the upper limit of the value range.
         * The value is null by default. The maximum upper limit allowed is `1.174271E108`.
         */
        upperBound?: pulumi.Input<string>;
    }
    interface BandwidthPolicyMetaData {
        /**
         * The bandwidth sharing type in the bandwidth policy.
         */
        metadataBandwidthShareType?: pulumi.Input<string>;
        /**
         * The EIP IP address for the bandwidth in the bandwidth policy.
         */
        metadataEipAddress?: pulumi.Input<string>;
        /**
         * The EIP ID for the bandwidth in the bandwidth policy.
         */
        metadataEipId?: pulumi.Input<string>;
    }
    interface BandwidthPolicyScalingPolicyAction {
        /**
         * Specifies the operation restrictions, unit is Mbit/s.
         * The valid values from `1` to `2,000`.
         * If `operation` is not **SET**, this parameter takes effect.
         * If `operation` is set to **ADD**, this parameter indicates the maximum bandwidth allowed.
         * If `operation` is set to **REDUCE**, this parameter indicates the minimum bandwidth allowed.
         */
        limits?: pulumi.Input<number>;
        /**
         * Specifies the operation to be performed.
         * The valid values are as follows:
         * + **ADD** (default): Indicates adding the bandwidth size.
         * + **REDUCE**: Indicates reducing the bandwidth size.
         * + **SET**: Indicates setting the bandwidth size to a specified value.
         */
        operation?: pulumi.Input<string>;
        /**
         * Specifies the operation size, unit is Mbit/s.
         * The valid values from `1` to `300`, the default value is `1`.
         */
        size?: pulumi.Input<number>;
    }
    interface BandwidthPolicyScheduledPolicy {
        /**
         * Specifies the end time of the scaling action triggered periodically.
         * The time format complies with UTC. This parameter is mandatory when scalingPolicyType is set to RECURRENCE.
         * When the scaling action is triggered periodically, the end time cannot be earlier than the current and start time.
         * The time format is **YYYY-MM-DDThh:mmZ**.
         */
        endTime?: pulumi.Input<string>;
        /**
         * Specifies the time when the scaling action is triggered.
         * The time format complies with UTC.
         * If `scalingPolicyType` is set to **SCHEDULED**, the time format is **YYYY-MM-DDThh:mmZ**.
         * If `scalingPolicyType` is set to **RECURRENCE**, the time format is **hh:mm**.
         */
        launchTime: pulumi.Input<string>;
        /**
         * Specifies the periodic triggering type.
         * This parameter is mandatory when `scalingPolicyType` is set to **RECURRENCE**.
         * The valid values are as follows:
         * + **Daily**: Indicates that the scaling action is triggered once a day.
         * + **Weekly**: Indicates that the scaling action is triggered once a week.
         * + **Monthly**: Indicates that the scaling action is triggered once a month.
         */
        recurrenceType?: pulumi.Input<string>;
        /**
         * Specifies the day when a periodic scaling action is triggered.
         * This parameter is mandatory when `scalingPolicyType` is set to **RECURRENCE**.
         * <br/>If `recurrenceType` is set to **Daily**, the value is null, indicating that the scaling action is triggered
         * once a day.
         * <br/>If `recurrenceType` is set to **Weekly**, the value ranges from `1` (Sunday) to `7` (Saturday).
         * The digits refer to dates in each week and separated by a comma, such as **1,3,5**.
         * <br/>If `recurrenceType` is set to **Monthly**, the value ranges from `1` to `31`.
         * The digits refer to the dates in each month and separated by a comma, such as **1,10,13,28**.
         */
        recurrenceValue?: pulumi.Input<string>;
        /**
         * Specifies the start time of the scaling action triggered periodically.
         * The time format complies with UTC. The default value is the local time.
         * The time format is **YYYY-MM-DDThh:mmZ**.
         */
        startTime?: pulumi.Input<string>;
    }
    interface ConfigurationInstanceConfig {
        /**
         * Specifies the initial login password of the administrator account for
         * logging in to an ECS using password authentication. The Windows administrator is `Administrator`.
         */
        adminPass?: pulumi.Input<string>;
        /**
         * Specifies the bandwidth billing type.
         * Changing this creates a new resource. The valid values are as follows:
         * + **bandwidth**: Billing by bandwidth.
         * + **traffic**: Billing by traffic.
         */
        chargingMode?: pulumi.Input<string>;
        /**
         * Specifies the ID of the DEH.
         * Changing this will create a new resource.
         */
        dedicatedHostId?: pulumi.Input<string>;
        /**
         * Specifies the disk group information. System disks are mandatory and
         * data disks are optional. The disk structure is documented below.
         * Changing this will create a new resource.
         */
        disks?: pulumi.Input<pulumi.Input<inputs.As.ConfigurationInstanceConfigDisk>[]>;
        /**
         * Specifies the ECS group ID. Changing this will create a new resource.
         */
        ecsGroupId?: pulumi.Input<string>;
        /**
         * Specifies the ECS flavor name. A maximum of `10` flavors can be selected.
         * Use a comma (,) to separate multiple flavor names. Changing this will create a new resource.
         */
        flavor?: pulumi.Input<string>;
        /**
         * Specifies the priority policy used when there are multiple flavors
         * and instances to be created using an AS configuration. The value can be `PICK_FIRST` and `COST_FIRST`.
         */
        flavorPriorityPolicy?: pulumi.Input<string>;
        /**
         * Specifies the ECS image ID. Changing this will create a new resource.
         */
        image?: pulumi.Input<string>;
        /**
         * Specifies the ECS instance ID when using its specification
         * as the template to create AS configurations. In this case, `flavor`, `image`, `disk`, `securityGroupIds`, `tenancy`
         * and `dedicatedHostId` arguments do not take effect.
         * If this argument is not specified, `flavor`, `image`, and `disk` arguments are mandatory.
         * Changing this will create a new resource.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * The fingerprint of the SSH key pair used to log in to the instance.
         */
        keyFingerprint?: pulumi.Input<string>;
        /**
         * Specifies the name of the SSH key pair used to log in to the instance.
         * Changing this will create a new resource.
         */
        keyName?: pulumi.Input<string>;
        /**
         * Specifies the key/value pairs to make available from within the instance.
         * Changing this will create a new resource.
         */
        metadata?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Specifies the customize personality of an instance by defining one or
         * more files and their contents. The personality structure is documented below.
         * Changing this will create a new resource.
         */
        personalities?: pulumi.Input<pulumi.Input<inputs.As.ConfigurationInstanceConfigPersonality>[]>;
        /**
         * Specifies the EIP of the ECS instance.
         * The publicIp structure is documented below.
         * Changing this will create a new resource.
         */
        publicIp?: pulumi.Input<inputs.As.ConfigurationInstanceConfigPublicIp>;
        /**
         * Specifies an array of one or more security group IDs.
         * Changing this will create a new resource.
         */
        securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Configure this field to **dedicated** to create ECS instances on DeHs.
         * Before configuring this field, prepare DeHs. Changing this will create a new resource.
         */
        tenancy?: pulumi.Input<string>;
        /**
         * Specifies the user data to be injected during the ECS creation process.
         * Changing this will create a new resource. For more information, see
         * [Passing User Data to ECSs](https://support.huaweicloud.com/intl/en-us/usermanual-ecs/en-us_topic_0032380449.html).
         */
        userData?: pulumi.Input<string>;
    }
    interface ConfigurationInstanceConfigDisk {
        /**
         * Specifies the ID of a data disk image used to export data disks of
         * an ECS.
         */
        dataDiskImageId?: pulumi.Input<string>;
        /**
         * Specifies a DSS device ID for creating an ECS disk.
         */
        dedicatedStorageId?: pulumi.Input<string>;
        /**
         * Specifies whether the disk is a system disk or a data disk.
         * Option **DATA** indicates a data disk, option **SYS** indicates a system disk.
         * Changing this will create a new resource.
         */
        diskType: pulumi.Input<string>;
        /**
         * Specifies the IOPS configured for an EVS disk.
         * Changing this will create a new resource.
         */
        iops?: pulumi.Input<number>;
        /**
         * Specifies the encryption KMS ID of the **DATA** disk.
         * Changing this will create a new resource.
         */
        kmsId?: pulumi.Input<string>;
        /**
         * Specifies the bandwidth (Mbit/s). The value range for bandwidth billed by bandwidth
         * is `1` to `2,000` and that for bandwidth billed by traffic is `1` to `300`.
         * Changing this creates a new resource.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the disk backup snapshot ID for restoring the system disk and
         * data disks using a full-ECS backup when a full-ECS image is used.
         */
        snapshotId?: pulumi.Input<string>;
        /**
         * Specifies the throughput of an EVS disk. The unit is MiB/s.
         * Changing this will create a new resource.
         */
        throughput?: pulumi.Input<number>;
        /**
         * Specifies the disk type. Changing this will create a new resource.
         * Available options are:
         * + **SSD**: The ultra-high I/O type.
         * + **SAS**: The high I/O EVS type.
         * + **SATA**: The common I/O type.
         * + **GPSSD**: The general purpose SSD type.
         * + **ESSD**: The extreme SSD type.
         * + **GPSSD2**: The general purpose SSD V2 type.
         * + **ESSD2**: The extreme SSD V2 type.
         */
        volumeType: pulumi.Input<string>;
    }
    interface ConfigurationInstanceConfigPersonality {
        /**
         * Specifies the content of the injected file, which must be encoded with base64.
         * Changing this creates a new resource.
         */
        content: pulumi.Input<string>;
        /**
         * Specifies the path of the injected file. Changing this creates a new resource.
         * + For Linux OSs, specify the path, for example, **&#47;etc/foo.txt**, for storing the injected file.
         * + For Windows, the injected file is automatically stored in the root directory of drive `C`. You only need to specify
         * the file name, for example, **foo**. The file name contains only letters and digits.
         */
        path: pulumi.Input<string>;
    }
    interface ConfigurationInstanceConfigPublicIp {
        /**
         * Specifies the EIP configuration that will be automatically assigned to the instance.
         * The object structure is documented below. Changing this will create a new resource.
         */
        eip: pulumi.Input<inputs.As.ConfigurationInstanceConfigPublicIpEip>;
    }
    interface ConfigurationInstanceConfigPublicIpEip {
        /**
         * Specifies the bandwidth information. The object structure is documented below.
         * Changing this will create a new resource.
         */
        bandwidth: pulumi.Input<inputs.As.ConfigurationInstanceConfigPublicIpEipBandwidth>;
        /**
         * Specifies the EIP type. Possible values are **5_bgp** (dynamic BGP)
         * and **5_sbgp** (static BGP). Changing this will create a new resource.
         */
        ipType: pulumi.Input<string>;
    }
    interface ConfigurationInstanceConfigPublicIpEipBandwidth {
        /**
         * Specifies the bandwidth billing type.
         * Changing this creates a new resource. The valid values are as follows:
         * + **bandwidth**: Billing by bandwidth.
         * + **traffic**: Billing by traffic.
         */
        chargingMode?: pulumi.Input<string>;
        /**
         * Specifies the ID of the shared bandwidth.
         * Changing this will create a new resource.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the bandwidth sharing type.
         * The value can be **PER** (exclusive bandwidth) or **WHOLE** (shared bandwidth).
         * Changing this will create a new resource.
         */
        shareType: pulumi.Input<string>;
        /**
         * Specifies the bandwidth (Mbit/s). The value range for bandwidth billed by bandwidth
         * is `1` to `2,000` and that for bandwidth billed by traffic is `1` to `300`.
         * Changing this creates a new resource.
         */
        size?: pulumi.Input<number>;
    }
    interface GroupLbaasListener {
        /**
         * The ID of the listener assocaite with the ELB.
         */
        listenerId?: pulumi.Input<string>;
        /**
         * Specifies the backend ECS group ID.
         */
        poolId: pulumi.Input<string>;
        /**
         * Specifies the backend protocol, which is the port on which a backend ECS listens for
         * traffic. The number of the port ranges from `1` to `65,535`.
         */
        protocolPort: pulumi.Input<number>;
        /**
         * Specifies the version of instance IP addresses to be associated with the
         * load balancer. The value can be **ipv4** or **ipv6**. Defaults to **ipv4**.
         */
        protocolVersion?: pulumi.Input<string>;
        /**
         * Specifies the weight, which determines the portion of requests a backend ECS processes
         * compared to other backend ECSs added to the same listener. The value of this parameter ranges from `0` to `100`.
         * Defaults to `1`.
         */
        weight?: pulumi.Input<number>;
    }
    interface GroupNetwork {
        /**
         * Specifies the ID of the security group.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies the ID of the shared bandwidth of an IPv6 address.
         */
        ipv6BandwidthId?: pulumi.Input<string>;
        /**
         * Specifies whether to support IPv6 addresses. Defaults to **false**.
         */
        ipv6Enable?: pulumi.Input<boolean>;
        /**
         * Specifies whether process only traffic that is destined specifically
         * for it. Defaults to **true**.
         */
        sourceDestCheck?: pulumi.Input<boolean>;
    }
    interface GroupSecurityGroup {
        /**
         * Specifies the ID of the security group.
         */
        id: pulumi.Input<string>;
    }
    interface PolicyScalingPolicyAction {
        /**
         * Specifies the number of instances to be operated.
         */
        instanceNumber?: pulumi.Input<number>;
        /**
         * Specifies the percentage of instances to be operated.
         */
        instancePercentage?: pulumi.Input<number>;
        /**
         * Specifies the operation to be performed. The options include `ADD` (default), `REMOVE`,
         * and `SET`.
         */
        operation?: pulumi.Input<string>;
    }
    interface PolicyScheduledPolicy {
        /**
         * Specifies the end time of the scaling action triggered periodically. The time format complies
         * with UTC. This argument is mandatory when `scalingPolicyType`
         * is set to `RECURRENCE`. The time format is YYYY-MM-DDThh:mmZ.
         */
        endTime?: pulumi.Input<string>;
        /**
         * Specifies the time when the scaling action is triggered.
         * + If `scalingPolicyType` is set to `SCHEDULED`, the time format is **YYYY-MM-DDThh:mmZ**.
         * + If `scalingPolicyType` is set to `RECURRENCE`, the time format is **hh:mm**.
         */
        launchTime: pulumi.Input<string>;
        /**
         * Specifies the periodic triggering type. This argument is mandatory when
         * `scalingPolicyType` is set to `RECURRENCE`. The options include `Daily`, `Weekly`, and `Monthly`.
         */
        recurrenceType?: pulumi.Input<string>;
        /**
         * Specifies the frequency at which scaling actions are triggered.
         */
        recurrenceValue?: pulumi.Input<string>;
        /**
         * Specifies the start time of the scaling action triggered periodically. The time format
         * complies with UTC. The current time is used by default. The time format is YYYY-MM-DDThh:mmZ.
         */
        startTime?: pulumi.Input<string>;
    }
}
export declare namespace Bcs {
    interface InstanceBlockInfo {
        /**
         * Specifies the volume of the block, the unit is MB. The default value is 2.
         * Changing this creates a new instance.
         */
        blockSize?: pulumi.Input<number>;
        /**
         * Specifies the block generation time, the unit is second. The default
         * value is 2. Changing this creates a new instance.
         */
        generationInterval?: pulumi.Input<number>;
        /**
         * Specifies the number of transactions included in the block. The
         * default value is 500. Changing this creates a new instance.
         */
        transactionQuantity?: pulumi.Input<number>;
    }
    interface InstanceChannel {
        /**
         * Specifies the name of the channel. Changing this creates a new instance.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the name of the peer organization. Changing this creates a new
         * instance.
         */
        orgNames?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface InstanceCouchdb {
        /**
         * Specifies the password of the couch database. The password consists of 8 to
         * 26 characters and must consist at least three of following: uppercase letters, lowercase letters, digits, special
         * characters(!@$%^-_=+[{}]:,./?). Changing this creates a new instance.
         */
        password: pulumi.Input<string>;
        /**
         * Specifies the user name of the couch database. Changing this creates a new
         * instance.
         */
        userName: pulumi.Input<string>;
    }
    interface InstanceKafka {
        /**
         * Specifies the availability zone in which to create the kafka. The
         * list must contain one or more than three availability zone. Please
         * following [reference](https://developer.huaweicloud.com/en-us/endpoint/?all) for the values. Changing this creates a
         * new instance.
         */
        availabilityZones: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the kafka flavor type. Changing this creates a new instance.
         * + `c3.mini` : Mini type, the reference bandwidth is 100MB/s.
         * + `c3.small.2` : Small type, the reference bandwidth is 300MB/s.
         * + `c3.middle.2` : Middle type, the reference bandwidth is 600MB/s.
         * + `c3.high.2` : High type, the reference bandwidth is 1200MB/s.
         */
        flavor: pulumi.Input<string>;
        /**
         * Specifies the name of the channel. Changing this creates a new instance.
         */
        name?: pulumi.Input<string>;
        /**
         * Specifies the kafka storage capacity. The storage capacity must be an
         * integral multiple of 100 and the maximum is 90000GB. Changing this creates a new instance.
         * + The minimum storage capacity of mini type is 600GB.
         * + The minimum storage capacity of small type is 1200GB.
         * + The minimum storage capacity of middle type is 2400GB.
         * + The minimum storage capacity of high type is 4800GB.
         */
        storageSize: pulumi.Input<number>;
    }
    interface InstancePeerOrg {
        addresses?: pulumi.Input<pulumi.Input<inputs.Bcs.InstancePeerOrgAddress>[]>;
        /**
         * Specifies the number of peers in organization. Changing this creates a new
         * instance.
         */
        count: pulumi.Input<number>;
        /**
         * Specifies the name of the peer organization. Changing this creates a new
         * instance.
         */
        orgName: pulumi.Input<string>;
        pvcName?: pulumi.Input<string>;
        /**
         * The status of the BCS instance.
         */
        status?: pulumi.Input<string>;
        statusDetail?: pulumi.Input<string>;
    }
    interface InstancePeerOrgAddress {
        domainPort?: pulumi.Input<string>;
        ipPort?: pulumi.Input<string>;
    }
    interface InstanceSfsTurbo {
        /**
         * Specifies the availability zone in which to create the kafka. The
         * list must contain one or more than three availability zone. Please
         * following [reference](https://developer.huaweicloud.com/en-us/endpoint/?all) for the values. Changing this creates a
         * new instance.
         */
        availabilityZone?: pulumi.Input<string>;
        /**
         * Specifies the kafka flavor type. Changing this creates a new instance.
         * + `c3.mini` : Mini type, the reference bandwidth is 100MB/s.
         * + `c3.small.2` : Small type, the reference bandwidth is 300MB/s.
         * + `c3.middle.2` : Middle type, the reference bandwidth is 600MB/s.
         * + `c3.high.2` : High type, the reference bandwidth is 1200MB/s.
         */
        flavor?: pulumi.Input<string>;
        /**
         * Specifies the share type of the SFS turbo. Changing this creates a new
         * instance.
         */
        shareType?: pulumi.Input<string>;
        /**
         * Specifies the type of SFS turbo. Changing this creates a new instance.
         */
        type?: pulumi.Input<string>;
    }
}
export declare namespace Bms {
    interface InstanceDataDisk {
        /**
         * Specifies the data disk size, in GB. The value ranges form 10 to 32768. Changing
         * this creates a new instance.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the BMS data disk type, which must be one of available disk types,
         * contains of *SSD*, *GPSSD* and *SAS*. Changing this creates a new instance.
         */
        type: pulumi.Input<string>;
    }
    interface InstanceNic {
        /**
         * Specifies a fixed IPv4 address to be used on this network.
         */
        ipAddress?: pulumi.Input<string>;
        /**
         * The MAC address of the nic.
         */
        macAddress?: pulumi.Input<string>;
        /**
         * The port ID corresponding to the IP address.
         */
        portId?: pulumi.Input<string>;
        /**
         * Specifies the ID of subnet to attach to the instance.
         */
        subnetId: pulumi.Input<string>;
    }
}
export declare namespace Cbr {
    interface PolicyBackupCycle {
        /**
         * Specifies the weekly backup day of backup schedule.
         * It supports seven days a week (MO, TU, WE, TH, FR, SA, SU) and this parameter is separated by a comma (,) without
         * spaces, between date and date during the configuration.
         */
        days?: pulumi.Input<string>;
        /**
         * Specifies the backup time. Automated backups will be triggered at the backup
         * time. The current time is in the UTC format (HH:MM). The minutes in the list must be set to **00** and the hours
         * cannot be repeated. In the replication policy, you are advised to set one time point for one day.
         */
        executionTimes: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the interval (in days) of backup schedule.
         * The valid value ranges from `1` to `30`.
         */
        interval?: pulumi.Input<number>;
    }
    interface PolicyLongTermRetention {
        /**
         * - Specifies the latest backup of each day is saved in the long term.
         */
        daily?: pulumi.Input<number>;
        /**
         * Specifies how often (after how many incremental backups) a full backup is
         * performed. The valid value ranges from `-1` to `100`.
         * If `-1` is specified, full backup will not be performed.
         */
        fullBackupInterval?: pulumi.Input<number>;
        /**
         * - Specifies the latest backup of each month is saved in the long term.
         */
        monthly?: pulumi.Input<number>;
        /**
         * - Specifies the latest backup of each week is saved in the long term.
         */
        weekly?: pulumi.Input<number>;
        /**
         * - Specifies the latest backup of each year is saved in the long term.
         */
        yearly?: pulumi.Input<number>;
    }
    interface VaultPolicy {
        /**
         * Specifies the ID of destination vault to which the replication policy
         * will associated.
         */
        destinationVaultId?: pulumi.Input<string>;
        /**
         * Specifies the policy ID.
         */
        id: pulumi.Input<string>;
    }
    interface VaultResource {
        /**
         * Specifies the array of disk IDs which will be excluded in the backup.
         * Only **server** vault support this parameter.
         */
        excludes?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the array of disk or SFS file system IDs which will be included in the backup.
         * Only **disk** and **turbo** vault support this parameter.
         */
        includes?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the ID of the ECS instance to be backed up.
         */
        serverId?: pulumi.Input<string>;
    }
}
export declare namespace Cce {
    interface AddonValues {
        /**
         * Specifies the key/value pairs vary depending on the add-on.
         * Only supports non-nested structure and only supports string type elements.
         * This is an alternative to `basicJson`, but it is not recommended.
         */
        basic?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Specifies the json string vary depending on the add-on.
         */
        basicJson?: pulumi.Input<string>;
        /**
         * Specifies the key/value pairs vary depending on the add-on.
         * Only supports non-nested structure and only supports string type elements.
         * This is an alternative to `customJson`, but it is not recommended.
         */
        custom?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Specifies the json string vary depending on the add-on.
         */
        customJson?: pulumi.Input<string>;
        /**
         * Specifies the key/value pairs vary depending on the add-on.
         * Only supports non-nested structure and only supports string type elements.
         * This is an alternative to `flavorJson`, but it is not recommended.
         */
        flavor?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Specifies the json string vary depending on the add-on.
         */
        flavorJson?: pulumi.Input<string>;
    }
    interface ClusterCertificateCluster {
        /**
         * The certificate data.
         */
        certificateAuthorityData?: pulumi.Input<string>;
        /**
         * Specifies the component name.
         */
        name?: pulumi.Input<string>;
        /**
         * The server IP address.
         */
        server?: pulumi.Input<string>;
    }
    interface ClusterCertificateUser {
        /**
         * The client certificate data.
         */
        clientCertificateData?: pulumi.Input<string>;
        /**
         * The client key data.
         */
        clientKeyData?: pulumi.Input<string>;
        /**
         * Specifies the component name.
         */
        name?: pulumi.Input<string>;
    }
    interface ClusterComponentConfiguration {
        /**
         * Specifies JSON string of the component configurations.
         */
        configurations?: pulumi.Input<string>;
        /**
         * Specifies the component name.
         */
        name: pulumi.Input<string>;
    }
    interface ClusterExtendParam {
        /**
         * Specifies the AZ of master nodes in the cluster. The value can be:
         * + **multi_az**: The cluster will span across AZs. This field is configurable only for high-availability clusters.
         * + **AZ of the dedicated cloud computing pool**: The cluster will be deployed in the AZ of Dedicated Cloud (DeC).
         * This parameter is mandatory for dedicated CCE clusters.
         */
        clusterAz?: pulumi.Input<string>;
        /**
         * Specifies the cluster CPU management policy.
         * The value can be:
         * + **none**: CPU cores will not be exclusively allocated to workload pods.
         * Select this value if you want a large pool of shareable CPU cores.
         * + **static**: CPU cores can be exclusively allocated to workload pods.
         * Select this value if your workload is sensitive to latency in CPU cache and scheduling.In a CCE Turbo cluster,
         * this setting is valid only for nodes where common containers, not Kata containers, run.
         */
        cpuManagerPolicy?: pulumi.Input<string>;
        /**
         * Specifies the specifications of the master node
         * in the dedicated hybrid cluster.
         * Changing this parameter will create a new cluster resource.
         */
        decMasterFlavor?: pulumi.Input<string>;
        /**
         * Specifies the default UmaskMode configuration of Docker in a
         * cluster. The value can be **secure** or **normal**, defaults to normal.
         * Changing this parameter will create a new cluster resource.
         */
        dockerUmaskMode?: pulumi.Input<string>;
        /**
         * Specifies whether the system and data disks of a master node
         * use dedicated distributed storage. If left unspecified, EVS disks are used by default.
         * This parameter is mandatory for dedicated CCE clusters.
         * It is in the following format:
         */
        dssMasterVolumes?: pulumi.Input<string>;
        /**
         * Specifies the number of mask bits of the fixed IP address pool
         * of the container network model. This field can only be used when `containerNetworkType` is set to **vpc-router**.
         * Changing this parameter will create a new cluster resource.
         */
        fixPoolMask?: pulumi.Input<string>;
    }
    interface ClusterLogConfigLogConfig {
        /**
         * Specifies whether to collect the log.
         */
        enable?: pulumi.Input<boolean>;
        /**
         * Specifies the log type.
         */
        name?: pulumi.Input<string>;
    }
    interface ClusterMaster {
        /**
         * Specifies the availability zone of the master node.
         * Changing this parameter will create a new cluster resource.
         */
        availabilityZone?: pulumi.Input<string>;
    }
    interface ClusterUpgradeAddon {
        /**
         * Specifies the add-on name.
         */
        addonTemplateName: pulumi.Input<string>;
        /**
         * Specifies the execution action.
         * For current upgrades, the value can be **patch**.
         */
        operation: pulumi.Input<string>;
        /**
         * Specifies the add-on template installation parameters.
         * These parameters vary depending on the add-on. The values is documented below.
         */
        values?: pulumi.Input<inputs.Cce.ClusterUpgradeAddonValues>;
        /**
         * Specifies the target add-on version.
         * The target add-on version must match the target cluster version.
         */
        version: pulumi.Input<string>;
    }
    interface ClusterUpgradeAddonValues {
        /**
         * Specifies the json string vary depending on the add-on.
         */
        basicJson?: pulumi.Input<string>;
        /**
         * Specifies the json string vary depending on the add-on.
         */
        customJson?: pulumi.Input<string>;
        /**
         * Specifies the json string vary depending on the add-on.
         */
        flavorJson?: pulumi.Input<string>;
    }
    interface ClusterUpgradeStrategy {
        /**
         * Specifies the in-place upgrade settings.
         * It's mandatory when the `type` is set to **inPlaceRollingUpdate**.
         * The inPlaceRollingUpdate structure is documented below.
         */
        inPlaceRollingUpdate?: pulumi.Input<inputs.Cce.ClusterUpgradeStrategyInPlaceRollingUpdate>;
        /**
         * Specifies the upgrade strategy type.
         * The value can be **inPlaceRollingUpdate**.
         */
        type: pulumi.Input<string>;
    }
    interface ClusterUpgradeStrategyInPlaceRollingUpdate {
        /**
         * Specifies the node upgrade step.
         * The value ranges from **1** to **40**. The recommended value is **20**.
         */
        userDefinedStep?: pulumi.Input<number>;
    }
    interface NodeAttachDataVolume {
        /**
         * The DSS pool ID. This field is used only for dedicated storage.
         */
        dssPoolId?: pulumi.Input<string>;
        /**
         * @deprecated use extend_params instead
         */
        extendParam?: pulumi.Input<string>;
        /**
         * The disk expansion parameters.
         */
        extendParams?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        hwPassthrough?: pulumi.Input<boolean>;
        /**
         * The iops of the disk.
         */
        iops?: pulumi.Input<number>;
        /**
         * The ID of a KMS key. This is used to encrypt the volume.
         */
        kmsKeyId?: pulumi.Input<string>;
        /**
         * Specifies the size of a virtual space. Only an integer percentage is supported.
         * Example: 90%. Note that the total percentage of all virtual spaces in a group cannot exceed 100%.
         * Changing this parameter will reset the node.
         */
        size?: pulumi.Input<number>;
        /**
         * The throughput of the disk.
         */
        throughput?: pulumi.Input<number>;
        /**
         * The disk type.
         */
        volumetype?: pulumi.Input<string>;
    }
    interface NodeAttachExtensionNic {
        /**
         * The ID of the subnet to which the NIC belongs.
         */
        subnetId?: pulumi.Input<string>;
    }
    interface NodeAttachHostnameConfig {
        /**
         * Specifies the hostname type of the kubernetes node.
         * The value can be:
         * + **privateIp**: The Kubernetes node is named after its IP address.
         * + **cceNodeName**: The Kubernetes node is named after the CCE node.
         */
        type: pulumi.Input<string>;
    }
    interface NodeAttachRootVolume {
        /**
         * The DSS pool ID. This field is used only for dedicated storage.
         */
        dssPoolId?: pulumi.Input<string>;
        /**
         * @deprecated use extend_params instead
         */
        extendParam?: pulumi.Input<string>;
        /**
         * The disk expansion parameters.
         */
        extendParams?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        hwPassthrough?: pulumi.Input<boolean>;
        /**
         * The iops of the disk.
         */
        iops?: pulumi.Input<number>;
        /**
         * The ID of a KMS key. This is used to encrypt the volume.
         */
        kmsKeyId?: pulumi.Input<string>;
        /**
         * Specifies the size of a virtual space. Only an integer percentage is supported.
         * Example: 90%. Note that the total percentage of all virtual spaces in a group cannot exceed 100%.
         * Changing this parameter will reset the node.
         */
        size?: pulumi.Input<number>;
        /**
         * The throughput of the disk.
         */
        throughput?: pulumi.Input<number>;
        /**
         * The disk type.
         */
        volumetype?: pulumi.Input<string>;
    }
    interface NodeAttachStorage {
        /**
         * Specifies the storage group consists of multiple storage devices.
         * This is used to divide storage space. Structure is documented below.
         * Changing this parameter will reset the node.
         */
        groups: pulumi.Input<pulumi.Input<inputs.Cce.NodeAttachStorageGroup>[]>;
        /**
         * Specifies the disk selection.
         * Matched disks are managed according to match labels and storage type. Structure is documented below.
         * Changing this parameter will reset the node.
         */
        selectors: pulumi.Input<pulumi.Input<inputs.Cce.NodeAttachStorageSelector>[]>;
    }
    interface NodeAttachStorageGroup {
        /**
         * Specifies the whether the storage space is for **kubernetes** and
         * **runtime** components. Only one group can be set to true. The default value is **false**.
         * Changing this parameter will reset the node.
         */
        cceManaged?: pulumi.Input<boolean>;
        /**
         * Specifies the virtual space name. Currently, only **kubernetes**, **runtime**,
         * and **user** are supported. Changing this parameter will reset the node.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the list of names of selectors to match.
         * This parameter corresponds to name in `selectors`. A group can match multiple selectors,
         * but a selector can match only one group. Changing this parameter will reset the node.
         */
        selectorNames: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the detailed management of space configuration in a group.
         * Changing this parameter will reset the node.
         */
        virtualSpaces: pulumi.Input<pulumi.Input<inputs.Cce.NodeAttachStorageGroupVirtualSpace>[]>;
    }
    interface NodeAttachStorageGroupVirtualSpace {
        /**
         * Specifies the LVM write mode, values can be **linear** and **striped**.
         * This parameter takes effect only in **kubernetes** and **user** configuration. Changing this parameter will create
         * a new resource.
         */
        lvmLvType?: pulumi.Input<string>;
        /**
         * Specifies the absolute path to which the disk is attached.
         * This parameter takes effect only in **user** configuration. Changing this parameter will reset the node.
         */
        lvmPath?: pulumi.Input<string>;
        /**
         * Specifies the virtual space name. Currently, only **kubernetes**, **runtime**,
         * and **user** are supported. Changing this parameter will reset the node.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the LVM write mode, values can be **linear** and **striped**.
         * This parameter takes effect only in **runtime** configuration. Changing this parameter will reset the node.
         */
        runtimeLvType?: pulumi.Input<string>;
        /**
         * Specifies the size of a virtual space. Only an integer percentage is supported.
         * Example: 90%. Note that the total percentage of all virtual spaces in a group cannot exceed 100%.
         * Changing this parameter will reset the node.
         */
        size: pulumi.Input<string>;
    }
    interface NodeAttachStorageSelector {
        /**
         * Specifies the number of disks to be selected. If omitted,
         * all disks of this type are selected. Changing this parameter will reset the node.
         */
        matchLabelCount?: pulumi.Input<string>;
        /**
         * Specifies the customer master key ID of an encrypted
         * disk. Changing this parameter will reset the node.
         */
        matchLabelMetadataCmkid?: pulumi.Input<string>;
        /**
         * Specifies the disk encryption identifier.
         * Values can be: **0** indicates that the disk is not encrypted and **1** indicates that the disk is encrypted.
         * If omitted, whether the disk is encrypted is not limited. Changing this parameter will reset the node.
         */
        matchLabelMetadataEncrypted?: pulumi.Input<string>;
        /**
         * Specifies the matched disk size. If omitted,
         * the disk size is not limited. Example: 100. Changing this parameter will reset the node.
         */
        matchLabelSize?: pulumi.Input<string>;
        /**
         * Specifies the EVS disk type. Currently,
         * **SSD**, **GPSSD**, and **SAS** are supported. If omitted, the disk type is not limited.
         * Changing this parameter will reset the node.
         */
        matchLabelVolumeType?: pulumi.Input<string>;
        /**
         * Specifies the virtual space name. Currently, only **kubernetes**, **runtime**,
         * and **user** are supported. Changing this parameter will reset the node.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the hostname type of the kubernetes node.
         * The value can be:
         * + **privateIp**: The Kubernetes node is named after its IP address.
         * + **cceNodeName**: The Kubernetes node is named after the CCE node.
         */
        type?: pulumi.Input<string>;
    }
    interface NodeAttachTaint {
        /**
         * Available options are NoSchedule, PreferNoSchedule, and NoExecute.
         * Changing this parameter will reset the node.
         */
        effect: pulumi.Input<string>;
        /**
         * A key must contain 1 to 63 characters starting with a letter or digit.
         * Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain name can be used
         * as the prefix of a key. Changing this parameter will reset the node.
         */
        key: pulumi.Input<string>;
        /**
         * A value must start with a letter or digit and can contain a maximum of 63
         * characters, including letters, digits, hyphens (-), underscores (_), and periods (.). Changing this parameter will
         * reset the node.
         */
        value: pulumi.Input<string>;
    }
    interface NodeDataVolume {
        /**
         * Specifies the DSS pool ID. This field is used only for
         */
        dssPoolId?: pulumi.Input<string>;
        /**
         * @deprecated use extend_params instead
         */
        extendParam?: pulumi.Input<string>;
        /**
         * Specifies the extended parameters.
         * The object structure is documented below.
         */
        extendParams?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        hwPassthrough?: pulumi.Input<boolean>;
        /**
         * Specifies the iops of the disk,
         * required when `volumetype` is **GPSSD2** or **ESSD2**.
         */
        iops?: pulumi.Input<number>;
        /**
         * Specifies the ID of a KMS key. This is used to encrypt the volume.
         */
        kmsKeyId?: pulumi.Input<string>;
        /**
         * Specifies the size of a virtual space. Only an integer percentage is supported.
         * Example: 90%. Note that the total percentage of all virtual spaces in a group cannot exceed 100%.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the throughput of the disk in MiB/s,
         * required when `volumetype` is **GPSSD2**.
         */
        throughput?: pulumi.Input<number>;
        /**
         * Specifies the disk type.
         */
        volumetype: pulumi.Input<string>;
    }
    interface NodeExtendParams {
        /**
         * Specifies the agency name.
         */
        agencyName?: pulumi.Input<string>;
        /**
         * Specifies the available disk space of a single container on a node,
         * in GB.
         */
        dockerBaseSize?: pulumi.Input<number>;
        /**
         * Specifies the reserved node memory, which is reserved for
         * Kubernetes-related components.
         */
        kubeReservedMem?: pulumi.Input<number>;
        marketType?: pulumi.Input<string>;
        /**
         * Specifies the maximum number of instances a node is allowed to create.
         */
        maxPods?: pulumi.Input<number>;
        /**
         * Specifies the ENI pre-binding thresholds.
         * Example setting: **"0.3:0.6"**.
         */
        nicThreshold?: pulumi.Input<string>;
        /**
         * Specifies the image ID to create the node.
         */
        nodeImageId?: pulumi.Input<string>;
        /**
         * Specifies the number of ENI queues.
         * Example setting: **"[{\"queue\":4}]"**.
         */
        nodeMultiQueue?: pulumi.Input<string>;
        /**
         * Specifies the script to be executed after installation.
         * The input value can be a Base64 encoded string or not.
         */
        postinstall?: pulumi.Input<string>;
        /**
         * Specifies the script to be executed before installation.
         * The input value can be a Base64 encoded string or not.
         */
        preinstall?: pulumi.Input<string>;
        /**
         * Specifies the security reinforcement type.
         * The value can be: **null** or **cybersecurity**.
         */
        securityReinforcementType?: pulumi.Input<string>;
        spotPrice?: pulumi.Input<string>;
        /**
         * Specifies the reserved node memory, which is reserved
         * value for system components.
         */
        systemReservedMem?: pulumi.Input<number>;
    }
    interface NodeExtensionNic {
        /**
         * Specifies the ID of the subnet to which the NIC belongs.
         */
        subnetId: pulumi.Input<string>;
    }
    interface NodeHostnameConfig {
        /**
         * Specifies the hostname type of the kubernetes node.
         * The value can be:
         * + **privateIp**: The Kubernetes node is named after its IP address.
         * + **cceNodeName**: The Kubernetes node is named after the CCE node.
         */
        type: pulumi.Input<string>;
    }
    interface NodePoolDataVolume {
        /**
         * Specifies the DSS pool ID. This field is used only for dedicated storage.
         */
        dssPoolId?: pulumi.Input<string>;
        /**
         * @deprecated use extend_params instead
         */
        extendParam?: pulumi.Input<string>;
        /**
         * Specifies the disk expansion parameters.
         */
        extendParams?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        hwPassthrough?: pulumi.Input<boolean>;
        /**
         * Specifies the iops of the disk,
         * required when `volumetype` is **GPSSD2** or **ESSD2**.
         */
        iops?: pulumi.Input<number>;
        /**
         * Specifies the KMS key ID. This is used to encrypt the volume.
         */
        kmsKeyId?: pulumi.Input<string>;
        /**
         * Specifies the size of a virtual space. Only an integer percentage is supported.
         * Example: 90%. Note that the total percentage of all virtual spaces in a group cannot exceed 100%.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the throughput of the disk in MiB/s,
         * required when `volumetype` is **GPSSD2**.
         */
        throughput?: pulumi.Input<number>;
        /**
         * Specifies the disk type.
         */
        volumetype: pulumi.Input<string>;
    }
    interface NodePoolExtendParams {
        /**
         * Specifies the agency name.
         */
        agencyName?: pulumi.Input<string>;
        /**
         * Specifies the available disk space of a single container on a node,
         * in GB.
         */
        dockerBaseSize?: pulumi.Input<number>;
        /**
         * Specifies the reserved node memory, which is reserved for
         * Kubernetes-related components.
         */
        kubeReservedMem?: pulumi.Input<number>;
        marketType?: pulumi.Input<string>;
        /**
         * Specifies the maximum number of instances a node is allowed to create.
         */
        maxPods?: pulumi.Input<number>;
        /**
         * Specifies the ENI pre-binding thresholds.
         * Example setting: **"0.3:0.6"**.
         */
        nicThreshold?: pulumi.Input<string>;
        /**
         * Specifies the image ID to create the node.
         */
        nodeImageId?: pulumi.Input<string>;
        /**
         * Specifies the number of ENI queues.
         * Example setting: **"[{\"queue\":4}]"**.
         */
        nodeMultiQueue?: pulumi.Input<string>;
        /**
         * Specifies the script to be executed after installation.
         * The input value can be a Base64 encoded string or not.
         */
        postinstall?: pulumi.Input<string>;
        /**
         * Specifies the script to be executed before installation.
         * The input value can be a Base64 encoded string or not.
         */
        preinstall?: pulumi.Input<string>;
        /**
         * Specifies the security reinforcement type.
         * The value can be: **null** or **cybersecurity**.
         */
        securityReinforcementType?: pulumi.Input<string>;
        spotPrice?: pulumi.Input<string>;
        /**
         * Specifies the reserved node memory, which is reserved
         * value for system components.
         */
        systemReservedMem?: pulumi.Input<number>;
    }
    interface NodePoolExtensionScaleGroup {
        /**
         * Specifies the basic information about the extended scaling group.
         * The object structure is documented below.
         */
        metadata?: pulumi.Input<inputs.Cce.NodePoolExtensionScaleGroupMetadata>;
        /**
         * Specifies the configurations of the extended scaling group,
         * which carry different configurations from those of the default scaling group.
         * The object structure is documented below.
         */
        spec?: pulumi.Input<inputs.Cce.NodePoolExtensionScaleGroupSpec>;
    }
    interface NodePoolExtensionScaleGroupMetadata {
        /**
         * Specifies the name of an extended scaling group.
         * The value cannot be default and can contain a maximum of 55 characters.
         * Only digits, lowercase letters, and hyphens (-) are allowed.
         */
        name?: pulumi.Input<string>;
    }
    interface NodePoolExtensionScaleGroupSpec {
        /**
         * Specifies the auto scaling configurations of the extended scaling group.
         * The object structure is documented below.
         */
        autoscaling?: pulumi.Input<inputs.Cce.NodePoolExtensionScaleGroupSpecAutoscaling>;
        /**
         * Specifies the availability zone of a node.
         * If this parameter is not specified or left blank, the default scaling group configurations take effect.
         */
        az?: pulumi.Input<string>;
        /**
         * Specifies the capacity reservation
         * configurations of the extended scaling group.
         * The object structure is documented below.
         */
        capacityReservationSpecification?: pulumi.Input<inputs.Cce.NodePoolExtensionScaleGroupSpecCapacityReservationSpecification>;
        /**
         * Specifies the node flavor.
         */
        flavor?: pulumi.Input<string>;
    }
    interface NodePoolExtensionScaleGroupSpecAutoscaling {
        /**
         * Specifies whether to enable auto scaling for the scaling group, defaults to **false**.
         */
        enable?: pulumi.Input<boolean>;
        /**
         * Specifies the priority of the scaling group, defaults to **0**.
         * A higher value indicates a greater priority.
         */
        extensionPriority?: pulumi.Input<number>;
        /**
         * Specifies the maximum number of nodes that can be retained in the scaling group
         * during auto scaling. The value must be greater than or equal to that of `minNodeCount`, and can neither be greater
         * than the maximum number of nodes allowed by the cluster nor the maximum number of nodes in the node pool.
         */
        maxNodeCount?: pulumi.Input<number>;
        /**
         * Specifies the minimum number of nodes in the scaling group during auto scaling.
         * The value must be greater than **0**.
         */
        minNodeCount?: pulumi.Input<number>;
    }
    interface NodePoolExtensionScaleGroupSpecCapacityReservationSpecification {
        /**
         * Specifies the private pool ID.
         * The parameter value can be ignored when preference is set to none.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the capacity of a private storage pool. If the value is none,
         * the capacity reservation is not specified. If the value is targeted, the capacity reservation is specified.
         * In this case, the `id` cannot be left blank.
         */
        preference?: pulumi.Input<string>;
    }
    interface NodePoolHostnameConfig {
        /**
         * Specifies the hostname type of the kubernetes node.
         * The value can be:
         * + **privateIp**: The Kubernetes node is named after its IP address.
         * + **cceNodeName**: The Kubernetes node is named after the CCE node.
         */
        type: pulumi.Input<string>;
    }
    interface NodePoolNodesAddNodeList {
        /**
         * Specifies server ID.
         */
        serverId: pulumi.Input<string>;
    }
    interface NodePoolRootVolume {
        /**
         * Specifies the DSS pool ID. This field is used only for dedicated storage.
         */
        dssPoolId?: pulumi.Input<string>;
        /**
         * @deprecated use extend_params instead
         */
        extendParam?: pulumi.Input<string>;
        /**
         * Specifies the disk expansion parameters.
         */
        extendParams?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        hwPassthrough?: pulumi.Input<boolean>;
        /**
         * Specifies the iops of the disk,
         * required when `volumetype` is **GPSSD2** or **ESSD2**.
         */
        iops?: pulumi.Input<number>;
        /**
         * Specifies the KMS key ID. This is used to encrypt the volume.
         */
        kmsKeyId?: pulumi.Input<string>;
        /**
         * Specifies the size of a virtual space. Only an integer percentage is supported.
         * Example: 90%. Note that the total percentage of all virtual spaces in a group cannot exceed 100%.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the throughput of the disk in MiB/s,
         * required when `volumetype` is **GPSSD2**.
         */
        throughput?: pulumi.Input<number>;
        /**
         * Specifies the disk type.
         */
        volumetype: pulumi.Input<string>;
    }
    interface NodePoolStorage {
        /**
         * Specifies the storage group consists of multiple storage devices.
         * This is used to divide storage space. Structure is documented below.
         */
        groups: pulumi.Input<pulumi.Input<inputs.Cce.NodePoolStorageGroup>[]>;
        /**
         * Specifies the disk selection.
         * Matched disks are managed according to match labels and storage type. Structure is documented below.
         */
        selectors: pulumi.Input<pulumi.Input<inputs.Cce.NodePoolStorageSelector>[]>;
    }
    interface NodePoolStorageGroup {
        /**
         * Specifies the whether the storage space is for **kubernetes** and
         * **runtime** components. Only one group can be set to true. The default value is **false**.
         */
        cceManaged?: pulumi.Input<boolean>;
        /**
         * Specifies the name of an extended scaling group.
         * The value cannot be default and can contain a maximum of 55 characters.
         * Only digits, lowercase letters, and hyphens (-) are allowed.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the list of names of selectors to match.
         * This parameter corresponds to name in `selectors`. A group can match multiple selectors,
         * but a selector can match only one group.
         */
        selectorNames: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the detailed management of space configuration in a group.
         */
        virtualSpaces: pulumi.Input<pulumi.Input<inputs.Cce.NodePoolStorageGroupVirtualSpace>[]>;
    }
    interface NodePoolStorageGroupVirtualSpace {
        /**
         * Specifies the LVM write mode, values can be **linear** and **striped**.
         * This parameter takes effect only in **kubernetes** and **user** configuration.
         */
        lvmLvType?: pulumi.Input<string>;
        /**
         * Specifies the absolute path to which the disk is attached.
         * This parameter takes effect only in **user** configuration.
         */
        lvmPath?: pulumi.Input<string>;
        /**
         * Specifies the name of an extended scaling group.
         * The value cannot be default and can contain a maximum of 55 characters.
         * Only digits, lowercase letters, and hyphens (-) are allowed.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the LVM write mode, values can be **linear** and **striped**.
         * This parameter takes effect only in **runtime** configuration.
         */
        runtimeLvType?: pulumi.Input<string>;
        /**
         * Specifies the size of a virtual space. Only an integer percentage is supported.
         * Example: 90%. Note that the total percentage of all virtual spaces in a group cannot exceed 100%.
         */
        size: pulumi.Input<string>;
    }
    interface NodePoolStorageSelector {
        /**
         * Specifies the number of disks to be selected. If omitted,
         * all disks of this type are selected.
         */
        matchLabelCount?: pulumi.Input<string>;
        /**
         * Specifies the customer master key ID of an encrypted
         * disk.
         */
        matchLabelMetadataCmkid?: pulumi.Input<string>;
        /**
         * Specifies the disk encryption identifier.
         * Values can be: **0** indicates that the disk is not encrypted and **1** indicates that the disk is encrypted.
         * If omitted, whether the disk is encrypted is not limited.
         */
        matchLabelMetadataEncrypted?: pulumi.Input<string>;
        /**
         * Specifies the matched disk size. If omitted,
         * the disk size is not limited. Example: 100.
         */
        matchLabelSize?: pulumi.Input<string>;
        /**
         * Specifies the EVS disk type. Currently,
         * **SSD**, **GPSSD**, and **SAS** are supported. If omitted, the disk type is not limited.
         */
        matchLabelVolumeType?: pulumi.Input<string>;
        /**
         * Specifies the name of an extended scaling group.
         * The value cannot be default and can contain a maximum of 55 characters.
         * Only digits, lowercase letters, and hyphens (-) are allowed.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the hostname type of the kubernetes node.
         * The value can be:
         * + **privateIp**: The Kubernetes node is named after its IP address.
         * + **cceNodeName**: The Kubernetes node is named after the CCE node.
         */
        type?: pulumi.Input<string>;
    }
    interface NodePoolTaint {
        /**
         * Available options are NoSchedule, PreferNoSchedule, and NoExecute.
         */
        effect: pulumi.Input<string>;
        /**
         * A key must contain 1 to 63 characters starting with a letter or digit. Only letters,
         * digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain name can be used as the
         * prefix of a key.
         */
        key: pulumi.Input<string>;
        /**
         * A value must start with a letter or digit and can contain a maximum of 63 characters,
         * including letters, digits, hyphens (-), underscores (_), and periods (.).
         */
        value: pulumi.Input<string>;
    }
    interface NodeRootVolume {
        /**
         * Specifies the DSS pool ID. This field is used only for
         */
        dssPoolId?: pulumi.Input<string>;
        /**
         * @deprecated use extend_params instead
         */
        extendParam?: pulumi.Input<string>;
        /**
         * Specifies the extended parameters.
         * The object structure is documented below.
         */
        extendParams?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        hwPassthrough?: pulumi.Input<boolean>;
        /**
         * Specifies the iops of the disk,
         * required when `volumetype` is **GPSSD2** or **ESSD2**.
         */
        iops?: pulumi.Input<number>;
        /**
         * Specifies the ID of a KMS key. This is used to encrypt the volume.
         */
        kmsKeyId?: pulumi.Input<string>;
        /**
         * Specifies the size of a virtual space. Only an integer percentage is supported.
         * Example: 90%. Note that the total percentage of all virtual spaces in a group cannot exceed 100%.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the throughput of the disk in MiB/s,
         * required when `volumetype` is **GPSSD2**.
         */
        throughput?: pulumi.Input<number>;
        /**
         * Specifies the disk type.
         */
        volumetype: pulumi.Input<string>;
    }
    interface NodeStorage {
        /**
         * Specifies the storage group consists of multiple storage devices.
         * This is used to divide storage space. Structure is documented below.
         */
        groups: pulumi.Input<pulumi.Input<inputs.Cce.NodeStorageGroup>[]>;
        /**
         * Specifies the disk selection.
         * Matched disks are managed according to match labels and storage type. Structure is documented below.
         */
        selectors: pulumi.Input<pulumi.Input<inputs.Cce.NodeStorageSelector>[]>;
    }
    interface NodeStorageGroup {
        /**
         * Specifies the whether the storage space is for **kubernetes** and
         * **runtime** components. Only one group can be set to true. The default value is **false**.
         */
        cceManaged?: pulumi.Input<boolean>;
        /**
         * Specifies the virtual space name. Currently, only **kubernetes**, **runtime**,
         * and **user** are supported.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the list of names of selectors to match.
         * This parameter corresponds to name in `selectors`. A group can match multiple selectors,
         * but a selector can match only one group.
         */
        selectorNames: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the detailed management of space configuration in a group.
         */
        virtualSpaces: pulumi.Input<pulumi.Input<inputs.Cce.NodeStorageGroupVirtualSpace>[]>;
    }
    interface NodeStorageGroupVirtualSpace {
        /**
         * Specifies the LVM write mode, values can be **linear** and **striped**.
         * This parameter takes effect only in **kubernetes** and **user** configuration.
         */
        lvmLvType?: pulumi.Input<string>;
        /**
         * Specifies the absolute path to which the disk is attached.
         * This parameter takes effect only in **user** configuration.
         */
        lvmPath?: pulumi.Input<string>;
        /**
         * Specifies the virtual space name. Currently, only **kubernetes**, **runtime**,
         * and **user** are supported.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the LVM write mode, values can be **linear** and **striped**.
         * This parameter takes effect only in **runtime** configuration.
         */
        runtimeLvType?: pulumi.Input<string>;
        /**
         * Specifies the size of a virtual space. Only an integer percentage is supported.
         * Example: 90%. Note that the total percentage of all virtual spaces in a group cannot exceed 100%.
         */
        size: pulumi.Input<string>;
    }
    interface NodeStorageSelector {
        /**
         * Specifies the number of disks to be selected. If omitted,
         * all disks of this type are selected.
         */
        matchLabelCount?: pulumi.Input<string>;
        /**
         * Specifies the customer master key ID of an encrypted
         * disk.
         */
        matchLabelMetadataCmkid?: pulumi.Input<string>;
        /**
         * Specifies the disk encryption identifier.
         * Values can be: **0** indicates that the disk is not encrypted and **1** indicates that the disk is encrypted.
         * If omitted, whether the disk is encrypted is not limited.
         */
        matchLabelMetadataEncrypted?: pulumi.Input<string>;
        /**
         * Specifies the matched disk size. If omitted,
         * the disk size is not limited. Example: 100.
         */
        matchLabelSize?: pulumi.Input<string>;
        /**
         * Specifies the EVS disk type. Currently,
         * **SSD**, **GPSSD**, and **SAS** are supported. If omitted, the disk type is not limited.
         */
        matchLabelVolumeType?: pulumi.Input<string>;
        /**
         * Specifies the virtual space name. Currently, only **kubernetes**, **runtime**,
         * and **user** are supported.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the hostname type of the kubernetes node.
         * The value can be:
         * + **privateIp**: The Kubernetes node is named after its IP address.
         * + **cceNodeName**: The Kubernetes node is named after the CCE node.
         */
        type?: pulumi.Input<string>;
    }
    interface NodeTaint {
        /**
         * Available options are NoSchedule, PreferNoSchedule, and NoExecute.
         */
        effect: pulumi.Input<string>;
        /**
         * A key must contain 1 to 63 characters starting with a letter or digit.
         * Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain name can be used
         * as the prefix of a key.
         */
        key: pulumi.Input<string>;
        /**
         * A value must start with a letter or digit and can contain a maximum of 63
         * characters, including letters, digits, hyphens (-), underscores (_), and periods (.).
         */
        value?: pulumi.Input<string>;
    }
}
export declare namespace Cci {
}
export declare namespace Cdm {
    interface ClusterInstance {
        /**
         * Instance ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Management IP address.
         */
        manageIp?: pulumi.Input<string>;
        /**
         * Specifies cluster name. Changing this parameter will create a new resource.
         */
        name?: pulumi.Input<string>;
        /**
         * Private IP.
         */
        privateIp?: pulumi.Input<string>;
        /**
         * Public IP.
         */
        publicIp?: pulumi.Input<string>;
        /**
         * Instance role.
         */
        role?: pulumi.Input<string>;
        /**
         * Traffic IP.
         */
        trafficIp?: pulumi.Input<string>;
        /**
         * Instance type.
         */
        type?: pulumi.Input<string>;
    }
    interface JobConfig {
        /**
         * Specifies group to which a job belongs. The default group is `DEFAULT`.
         */
        groupName?: pulumi.Input<string>;
        /**
         * Specifies whether to automatically retry if a job fails to be executed.
         * The options are as follows:
         * + **NONE**: Do not retry.
         * + **RETRY_TRIPLE**: Retry three times.
         */
        retryType?: pulumi.Input<string>;
        /**
         * Specifies cycle of a scheduled task. If `schedulerCycleType` is set to minute
         * and `schedulerCycle` is set to 10, the scheduled task is executed every 10 minutes.
         */
        schedulerCycle?: pulumi.Input<number>;
        /**
         * Specifies cycle type of a scheduled task. The options are as follows:
         * `minute`, `hour`, `day`, `week`, `month`.
         */
        schedulerCycleType?: pulumi.Input<string>;
        /**
         * Specifies whether to delete a job after the job is executed.
         * The options are as follows:
         * + **NONE**: The job will not be deleted after it is executed.
         * + **DELETE_AFTER_SUCCEED**: The job will be deleted only after it is successfully executed. It is applicable to
         * massive one-time jobs.
         * + **DELETE**: The job will be deleted after it is executed, regardless of the execution result.
         */
        schedulerDisposableType?: pulumi.Input<string>;
        /**
         * Specifies whether to enable a scheduled task.  Default value is `false`.
         */
        schedulerEnabled?: pulumi.Input<boolean>;
        /**
         * Specifies time when a scheduled task is triggered in a cycle. This parameter
         * is valid only when `schedulerCycleType` is set to `hour`, `week`, or `month`.
         * + If `schedulerCycleType` is set to month, cycle is set to 1, and runAt is set to 15, the scheduled task is executed
         * on the 15th day of each month. You can set runAt to multiple values and separate the values with commas (,).
         * For example, if runAt is set to 1,2,3,4,5, the scheduled task is executed on the first day, second day, third day,
         * fourth day, and fifth day of each month.
         * + If `schedulerCycleType` is set to week and runAt is set to mon,tue,wed,thu,fri, the scheduled task is executed on
         * Monday to Friday.
         * + If `schedulerCycleType` is set to hour and runAt is set to 27,57, the scheduled task is executed at the 27th and
         * 57th minute in the cycle.
         */
        schedulerRunAt?: pulumi.Input<string>;
        /**
         * Specifies start time of a scheduled task.
         * For example, `2018-01-24 19:56:19`
         */
        schedulerStartDate?: pulumi.Input<string>;
        /**
         * Specifies End time of a scheduled task. For example, `2018-01-27 23:59:00`.
         * If you do not set the end time, the scheduled task is always executed and will never stop.
         */
        schedulerStopDate?: pulumi.Input<string>;
        /**
         * Specifies name of the OBS bucket to which dirty data is
         * written. This parameter is valid only when dirty data is written to `OBS`.
         */
        throttlingDirtyWriteToBucket?: pulumi.Input<string>;
        /**
         * Specifies the directory in the OBS bucket or HDFS which
         * dirty data is written to. For example, `/data/dirtydata/`.
         */
        throttlingDirtyWriteToDirectory?: pulumi.Input<string>;
        /**
         * Specifies the link name to which dirty data is written to.
         * The Dirty data can be written only to `OBS` or `HDFS`.
         */
        throttlingDirtyWriteToLink?: pulumi.Input<string>;
        /**
         * Specifies maximum number of concurrent extraction jobs.
         */
        throttlingExtractorsNumber?: pulumi.Input<number>;
        /**
         * Specifies maximum number of loading jobs. This parameter is available
         * only when HBase or Hive serves as the destination data source.
         */
        throttlingLoaderNumber?: pulumi.Input<number>;
        /**
         * Specifies maximum number of error records in a single
         * shard. When the number of error records of a map exceeds the upper limit, the task automatically ends.
         */
        throttlingMaxErrorRecords?: pulumi.Input<number>;
        /**
         * Specifies whether to write dirty data.
         */
        throttlingRecordDirtyData?: pulumi.Input<boolean>;
    }
}
export declare namespace Cdn {
    interface DomainCacheSettings {
        /**
         * Specifies whether to enable origin cache control. Defaults to **false**.
         */
        followOrigin?: pulumi.Input<boolean>;
        /**
         * Specifies the cache rules, which overwrite the previous rule configurations.
         * Blank rules are reset to default rules. The rules structure is documented below.
         */
        rules?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainCacheSettingsRule>[]>;
    }
    interface DomainCacheSettingsRule {
        /**
         * Specifies the content that matches `ruleType`.
         * + If `ruleType` is set to **all** or **home_page**, keep this parameter empty.
         * + If `ruleType` is set to **file_extension**, the value of this parameter is a list of file name
         * extensions. A file name extension starts with a period (.). File name extensions are separated by semicolons (;),
         * for example, `.jpg;.zip;.exe`. Up to 20 file types are supported.
         * + If `ruleType` is set to **catalog**, the value of this parameter is a list of directories. A directory starts with
         * a slash (/). Directories are separated by semicolons (;), for example, `/test/folder01;/test/folder02`.
         * Up to 20 directories are supported.
         * + If `ruleType` is set to **full_path**, the value must start with a slash (/) and cannot end with an asterisk.
         * Example: `/test/index.html` or `/test/*.jpg`
         */
        content?: pulumi.Input<string>;
        /**
         * Specifies the priority weight of this rule. The default value is 1.
         * A larger value indicates a higher priority. The value ranges from 1 to 100. The weight values must be unique.
         */
        priority?: pulumi.Input<number>;
        /**
         * Specifies the rule type. Possible value are:
         * + **all**: All types of files are matched. It is the default value. The cloud will create a cache rule with **all**
         * rule type by default.
         * + **file_extension**: Files are matched based on their suffixes.
         * + **catalog**: Files are matched based on their directories.
         * + **full_path**: Files are matched based on their full paths.
         * + **home_page**: Files are matched based on their homepage.
         */
        ruleType: pulumi.Input<string>;
        /**
         * Specifies the cache age. The maximum cache age is 365 days.
         */
        ttl?: pulumi.Input<number>;
        /**
         * Specifies the unit of the cache age. Possible values:
         * + **s**: Second
         * + **m**: Minute
         * + **h**: Hour
         * + **d**: Day
         */
        ttlType?: pulumi.Input<string>;
        /**
         * Specifies the URL parameter types. Valid values are as follows:
         * + **del_params**: Ignore specific URL parameters.
         * + **reserve_params**: Retain specific URL parameters.
         * + **ignore_url_params**: Ignore all URL parameters.
         * + **full_url**: Retain all URL parameters.
         */
        urlParameterType?: pulumi.Input<string>;
        /**
         * Specifies the URL parameter values, which are separated by commas (,).
         * Up to 10 parameters can be set.
         * This parameter is mandatory when `urlParameterType` is set to **del_params** or **reserve_params**.
         */
        urlParameterValue?: pulumi.Input<string>;
    }
    interface DomainConfigs {
        /**
         * Specifies the geographic access control rules.
         * The accessAreaFilter structure is documented below.
         */
        accessAreaFilters?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsAccessAreaFilter>[]>;
        /**
         * Specifies the browser cache expiration settings.
         * The browserCacheRules structure is documented below.
         */
        browserCacheRules?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsBrowserCacheRule>[]>;
        cacheUrlParameterFilter?: pulumi.Input<inputs.Cdn.DomainConfigsCacheUrlParameterFilter>;
        /**
         * Specifies the client certificate configuration.
         * The clientCert structure is documented below.
         */
        clientCert?: pulumi.Input<inputs.Cdn.DomainConfigsClientCert>;
        /**
         * Specifies the smart compression. The compress structure
         * is documented below.
         */
        compress?: pulumi.Input<inputs.Cdn.DomainConfigsCompress>;
        /**
         * Specifies the description of the domain. The value contains up to `200` characters.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the status code cache TTL.
         * The errorCodeCache structure is documented below.
         */
        errorCodeCaches?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsErrorCodeCach>[]>;
        /**
         * Specifies the custom error pages.
         * The errorCodeRedirectRules structure is documented below.
         */
        errorCodeRedirectRules?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsErrorCodeRedirectRule>[]>;
        /**
         * Specifies the advanced origin rules.
         * The flexibleOrigin structure is documented below.
         */
        flexibleOrigins?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsFlexibleOrigin>[]>;
        /**
         * Specifies the force redirect.
         * The forceRedirect structure is documented below.
         */
        forceRedirect?: pulumi.Input<inputs.Cdn.DomainConfigsForceRedirect>;
        /**
         * Specifies the HSTS settings. HSTS forces clients (such as browsers) to use HTTPS to access
         * your server, improving access security. The hsts structure is documented below.
         */
        hsts?: pulumi.Input<inputs.Cdn.DomainConfigsHsts>;
        /**
         * Specifies the HTTP response header settings.
         * The httpResponseHeader structure is documented below.
         */
        httpResponseHeaders?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsHttpResponseHeader>[]>;
        /**
         * Specifies the certificate configuration. The httpsSettings
         * structure is documented below.
         */
        httpsSettings?: pulumi.Input<inputs.Cdn.DomainConfigsHttpsSettings>;
        /**
         * Specifies the IP address blacklist or whitelist.
         * The ipFilter structure is documented below.
         */
        ipFilter?: pulumi.Input<inputs.Cdn.DomainConfigsIpFilter>;
        /**
         * Specifies the IP access frequency limit.
         * The ipFrequencyLimit structure is documented below.
         */
        ipFrequencyLimit?: pulumi.Input<inputs.Cdn.DomainConfigsIpFrequencyLimit>;
        /**
         * Specifies whether to enable IPv6.
         */
        ipv6Enable?: pulumi.Input<boolean>;
        /**
         * Specifies whether to enable redirection from the origin.
         * Valid values are as follows:
         * + **on**: Enable.
         * + **off**: Disable.
         */
        originFollow302Status?: pulumi.Input<string>;
        /**
         * Specifies the content retrieval protocol. Possible values:
         * + **follow**: Same as user requests.
         * + **http**: HTTP, which is the default value.
         * + **https**: HTTPS.
         */
        originProtocol?: pulumi.Input<string>;
        /**
         * Specifies the origin response timeout.
         * The value ranges from `5` to `60`, in seconds. Defaults to `30`.
         */
        originReceiveTimeout?: pulumi.Input<number>;
        /**
         * Specifies the rules of rewriting origin request URLs.
         * The originRequestUrlRewrite structure is documented below.
         */
        originRequestUrlRewrites?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsOriginRequestUrlRewrite>[]>;
        /**
         * Specifies the QUIC protocol. The quic structure is documented below.
         */
        quic?: pulumi.Input<inputs.Cdn.DomainConfigsQuic>;
        /**
         * Specifies whether to enable range-based retrieval.
         */
        rangeBasedRetrievalEnabled?: pulumi.Input<boolean>;
        /**
         * Specifies the referer validation. The referer structure is documented below.
         */
        referer?: pulumi.Input<inputs.Cdn.DomainConfigsReferer>;
        /**
         * Specifies the remote authentication settings.
         * The remoteAuth structure is documented below.
         */
        remoteAuth?: pulumi.Input<inputs.Cdn.DomainConfigsRemoteAuth>;
        /**
         * Specifies the request rate limiting rules.
         * The requestLimitRules structure is documented below.
         */
        requestLimitRules?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsRequestLimitRule>[]>;
        /**
         * Specifies the request url rewrite settings. Set access URL rewrite rules to
         * redirect user requests to the URLs of cached resources.
         * The requestUrlRewrite structure is documented below.
         */
        requestUrlRewrites?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsRequestUrlRewrite>[]>;
        /**
         * Specifies the retrieval request header settings.
         * The retrievalRequestHeader structure is documented below.
         */
        retrievalRequestHeaders?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsRetrievalRequestHeader>[]>;
        /**
         * Specifies whether ETag is verified during origin pull.
         * Valid values are as follows:
         * + **on**: Enable.
         * + **off**: Disable.
         */
        sliceEtagStatus?: pulumi.Input<string>;
        /**
         * Specifies the origin SNI settings. If your origin server is bound to multiple domains and
         * CDN visits the origin server using HTTPS, set the Server Name Indication (SNI) to specify the domain to be accessed.
         * The sni structure is documented below.
         */
        sni?: pulumi.Input<inputs.Cdn.DomainConfigsSni>;
        /**
         * Specifies the URL signing.
         * The urlSigning structure is documented below.
         */
        urlSigning?: pulumi.Input<inputs.Cdn.DomainConfigsUrlSigning>;
        /**
         * Specifies the User-Agent blacklist or whitelist settings.
         * The userAgentFilter structure is documented below.
         */
        userAgentFilter?: pulumi.Input<inputs.Cdn.DomainConfigsUserAgentFilter>;
        /**
         * Specifies the video seek settings. The videoSeek structure
         * is documented below.
         */
        videoSeek?: pulumi.Input<inputs.Cdn.DomainConfigsVideoSeek>;
        /**
         * Specifies the websocket settings. This field can only be configured if `type` is
         * set to **wholeSite**. The websocket structure is documented below.
         */
        websocket?: pulumi.Input<inputs.Cdn.DomainConfigsWebsocket>;
    }
    interface DomainConfigsAccessAreaFilter {
        /**
         * Specifies the areas, separated by commas.
         * Please refer to [Geographical Location Codes](https://support.huaweicloud.com/intl/en-us/api-cdn/cdn_02_0090.html).
         */
        area: pulumi.Input<string>;
        /**
         * Specifies the content type. Valid values are:
         * + **all**: The rule takes effect for all files.
         * + **file_directory**: The rule takes effect for resources in the specified directory.
         * + **file_path**: The rule takes effect for resources corresponding to the path.
         */
        contentType: pulumi.Input<string>;
        /**
         * Specifies the content value. The use of this field has the following restrictions:
         * + When `contentType` is set to **all**, make this parameter is empty or not passed.
         * + When `contentType` is set to **file_directory**, the value must start with a slash (/) and multiple directories
         * are separated by commas (,), for example, **&#47;test/folder01,/test/folder02**. Up to `100` directories can be entered.
         * + When `contentType` is set to **file_path**, the value must start with a slash (/) or wildcard (\*). Up to two
         * wildcards (\*) are allowed and they cannot be consecutive. Multiple paths are separated by commas (,),
         * for example, **&#47;test/a.txt,/test/b.txt**. Up to `100` paths can be entered.
         */
        contentValue?: pulumi.Input<string>;
        /**
         * Specifies the IP addresses exception in access control, separated by commas.
         */
        exceptionIp?: pulumi.Input<string>;
        /**
         * Specifies the blacklist and whitelist rule type. Valid values are:
         * + **black**: Blacklist. Users in regions specified in the blacklist cannot access resources and status code `403` is
         * returned.
         * + **white**: Whitelist. Only users in regions specified in the whitelist can access resources. Status code `403` is
         * returned for other users.
         */
        type: pulumi.Input<string>;
    }
    interface DomainConfigsBrowserCacheRule {
        /**
         * Specifies the cache validation type. Valid values are:
         * + **follow_origin**: Follow the origin site's cache policy, i.e. the Cache-Control header settings.
         * + **ttl**: The browser cache follows the expiration time set by the current rules.
         * + **never**: The browser does not cache resources.
         */
        cacheType: pulumi.Input<string>;
        /**
         * Specifies matching condition.
         * The condition structure is documented below.
         */
        condition: pulumi.Input<inputs.Cdn.DomainConfigsBrowserCacheRuleCondition>;
        /**
         * Specifies the cache age. The maximum cache age is 365 days.
         */
        ttl?: pulumi.Input<number>;
        /**
         * Specifies the cache expiration time unit. Valid values are:
         * + **s**: seconds.
         * + **m**: minutes.
         * + **h**: hours.
         * + **d**: days.
         */
        ttlUnit?: pulumi.Input<string>;
    }
    interface DomainConfigsBrowserCacheRuleCondition {
        /**
         * Specifies the match type. Valid values are:
         * + **all**: Match all files.
         * + **file_extension**: Match by file suffix.
         * + **catalog**: Match by directory.
         * + **full_path**: Full path matching.
         * + **home_page**: Match by homepage.
         */
        matchType: pulumi.Input<string>;
        /**
         * Specifies the cache match settings.
         * + When `matchType` is set to **all**, this field does not need to be configured.
         * + When `matchType` is set to **file_extension**, this field value is the file suffix. The first character of the
         * value is "." and separated by "," such as **.jpg,.zip,.exe**. The total number of file name suffixes entered should
         * not exceed `20`.
         * + When `matchType` is set to **catalog**, the value of this field is a directory. The value must start with "/" and
         * be separated by "," such as **&#47;test/folder01,/test/folder02**. The total number of directory paths entered must not
         * exceed `20`.
         * + When `matchType` is set to **full_path**, the value of this field is a full path. The value must start with "/".
         * It supports matching specific files in the specified directory or files with a wildcard "*".
         * The position of "*" must be after the last "/" and cannot end with "*". Only one full path can be configured in a
         * single full path cache rule, such as **&#47;test/index.html** or ***&#47;test/*.jpg**.
         * + When `matchType` is set to **home_page**, this field does not need to be configured.
         */
        matchValue?: pulumi.Input<string>;
        /**
         * Specifies the priority weight of this rule. The default value is 1.
         * A larger value indicates a higher priority. The value ranges from 1 to 100. The weight values must be unique.
         */
        priority: pulumi.Input<number>;
    }
    interface DomainConfigsCacheUrlParameterFilter {
        /**
         * Specifies the blacklist and whitelist rule type. Valid values are:
         * + **black**: Blacklist. Users in regions specified in the blacklist cannot access resources and status code `403` is
         * returned.
         * + **white**: Whitelist. Only users in regions specified in the whitelist can access resources. Status code `403` is
         * returned for other users.
         */
        type?: pulumi.Input<string>;
        /**
         * Specifies the IP address blacklist or whitelist. This field is required when `type` is
         * set to **black** or **white**. A list contains up to `500` IP addresses and IP address segments, which are separated
         * by commas (,). IPv6 addresses are supported. Duplicate IP addresses and IP address segments will be removed.
         * Addresses with wildcard characters are not supported, for example, `192.168.0.*`.
         */
        value?: pulumi.Input<string>;
    }
    interface DomainConfigsClientCert {
        /**
         * Specifies whether to enable client cert settings.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * Specifies the domain name specified in the client CA certificate.
         */
        hosts?: pulumi.Input<string>;
        status?: pulumi.Input<string>;
        /**
         * Specifies the client CA certificate content, only supports PEM format.
         */
        trustedCert?: pulumi.Input<string>;
    }
    interface DomainConfigsCompress {
        /**
         * Specifies whether to enable client cert settings.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * Specifies the formats of files to be compressed. Enter up to 200 characters.
         * Multiple formats are separated by commas (,). Each format contains up to 50 characters.
         * Defaults to **.js,.html,.css,.xml,.json,.shtml,.htm**.
         */
        fileType?: pulumi.Input<string>;
        status?: pulumi.Input<string>;
        /**
         * Specifies the blacklist and whitelist rule type. Valid values are:
         * + **black**: Blacklist. Users in regions specified in the blacklist cannot access resources and status code `403` is
         * returned.
         * + **white**: Whitelist. Only users in regions specified in the whitelist can access resources. Status code `403` is
         * returned for other users.
         */
        type?: pulumi.Input<string>;
    }
    interface DomainConfigsErrorCodeCach {
        /**
         * Specifies the error code. Valid values are: **301**, **302**, **400**, **403**, **404**,
         * **405**, **414**, **500**, **501**, **502**, **503**, and **504**.
         */
        code: pulumi.Input<number>;
        /**
         * Specifies the cache age. The maximum cache age is 365 days.
         */
        ttl: pulumi.Input<number>;
    }
    interface DomainConfigsErrorCodeRedirectRule {
        /**
         * Specifies the redirect unique error code. Valid values are: **400**, **403**, **404**,
         * **405**, **414**, **416**, **451**, **500**, **501**, **502**, **503**, and **504**.
         */
        errorCode: pulumi.Input<number>;
        /**
         * Specifies the redirect status code. The value can be **301** or **302**.
         */
        targetCode: pulumi.Input<number>;
        /**
         * Specifies the destination URL. The value must start with **http://** or **https://**.
         * For example: `http://www.example.com`.
         */
        targetLink: pulumi.Input<string>;
    }
    interface DomainConfigsFlexibleOrigin {
        /**
         * Specifies the back source information. The length of this array field cannot exceed `1`.
         * The backSources structure is documented below.
         */
        backSources: pulumi.Input<inputs.Cdn.DomainConfigsFlexibleOriginBackSources>;
        /**
         * Specifies the URI match rule. The usage rules are as follows:
         * + When `matchType` is set to **all**, set this field to empty.
         * + When `matchType` is set to **file_extension**, the value of this field should start with a period (.).
         * Enter up to 20 file name extensions and use semicolons (;) to separate them. Example: **.jpg;.zip;.exe**.
         * + When `matchType` is set to **file_path**, the value of this field should start with a slash (/).
         * Enter up to 20 paths and use semicolons (;) to separate them. Example: **&#47;test/folder01;/test/folder02**.
         */
        matchPattern?: pulumi.Input<string>;
        /**
         * Specifies the match type. Valid values are:
         * + **all**: Match all files.
         * + **file_extension**: Match by file suffix.
         * + **catalog**: Match by directory.
         * + **full_path**: Full path matching.
         * + **home_page**: Match by homepage.
         */
        matchType: pulumi.Input<string>;
        /**
         * Specifies the priority weight of this rule. The default value is 1.
         * A larger value indicates a higher priority. The value ranges from 1 to 100. The weight values must be unique.
         */
        priority: pulumi.Input<number>;
    }
    interface DomainConfigsFlexibleOriginBackSources {
        /**
         * Specifies the HTTP port, ranging from `1` to `65,535`. Defaults to **80**.
         */
        httpPort?: pulumi.Input<number>;
        /**
         * Specifies the HTTPS port, ranging from `1` to `65,535`. Defaults to **443**.
         */
        httpsPort?: pulumi.Input<number>;
        /**
         * Specifies the IP address or domain name of the origin server.
         * + When `sourcesType` is set to **ipaddr**, the value of this field can only be set to a valid IPv4 or Ipv6 address.
         * + When `sourcesType` is set to **domain**, the value of this field can only be set to a domain name.
         * + When `sourcesType` is set to **obs_bucket**, the value of this field can only be set to an OBS bucket access
         * domain name.
         */
        ipOrDomain: pulumi.Input<string>;
        /**
         * Specifies the OBS bucket type. Valid values are **private** and **public**.
         * This field is required when `sourcesType` is set to **obs_bucket**.
         */
        obsBucketType?: pulumi.Input<string>;
        /**
         * Specifies the origin server type. Valid values are as follows:
         * + **ipaddr**: IP address.
         * + **domain**: Domain name.
         * + **obs_bucket**: OBS bucket.
         */
        sourcesType: pulumi.Input<string>;
    }
    interface DomainConfigsForceRedirect {
        /**
         * Specifies whether to enable client cert settings.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * Specifies the force redirect status code. Valid values are: **301** and **302**.
         * Defaults to **302**.
         */
        redirectCode?: pulumi.Input<number>;
        status?: pulumi.Input<string>;
        /**
         * Specifies the blacklist and whitelist rule type. Valid values are:
         * + **black**: Blacklist. Users in regions specified in the blacklist cannot access resources and status code `403` is
         * returned.
         * + **white**: Whitelist. Only users in regions specified in the whitelist can access resources. Status code `403` is
         * returned for other users.
         */
        type?: pulumi.Input<string>;
    }
    interface DomainConfigsHsts {
        /**
         * Specifies whether to enable client cert settings.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * Specifies whether subdomain names are included.
         * The options are **on** (included) and **off** (not included). This field is required when enable HSTS settings.
         */
        includeSubdomains?: pulumi.Input<string>;
        /**
         * Specifies the expiration time, which means the TTL of the response header
         * `Strict-Transport-Security` on the client. The value ranges from `0` to `63,072,000`. The unit is second.
         * This field is required when enable HSTS settings.
         */
        maxAge?: pulumi.Input<number>;
    }
    interface DomainConfigsHttpResponseHeader {
        /**
         * Specifies the operation type of the HTTP response header. The value can be **set** or **delete**.
         */
        action: pulumi.Input<string>;
        /**
         * Specifies the HTTP response header. Valid values are **Content-Disposition**, **Content-Language**,
         * **Access-Control-Allow-Origin**, **Access-Control-Allow-Methods**, **Access-Control-Max-Age**, **Access-Control-Expose-Headers**,
         * **Access-Control-Allow-Headers** or custom headers. A header contains `1` to `100` characters, including letters, digits,
         * and hyphens (-), and starts with a letter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the IP address blacklist or whitelist. This field is required when `type` is
         * set to **black** or **white**. A list contains up to `500` IP addresses and IP address segments, which are separated
         * by commas (,). IPv6 addresses are supported. Duplicate IP addresses and IP address segments will be removed.
         * Addresses with wildcard characters are not supported, for example, `192.168.0.*`.
         */
        value?: pulumi.Input<string>;
    }
    interface DomainConfigsHttpsSettings {
        /**
         * Specifies the content of the certificate used by the HTTPS protocol.
         * This parameter is mandatory when a certificate is configured. The value is in PEM format.
         * This field is required when `certificateSource` is set to `0`.
         */
        certificateBody?: pulumi.Input<string>;
        /**
         * Specifies the certificate name. The value contains `3` to `32` characters.
         * This parameter is mandatory when a certificate is configured.
         */
        certificateName?: pulumi.Input<string>;
        /**
         * Specifies the certificate source. Valid values are:
         * + `0`: Your own certificate.
         * + `2`: SCM certificate. Please enable SCM delegation authorization to access SCM service.
         */
        certificateSource?: pulumi.Input<number>;
        /**
         * Specifies the certificate type. Currently, only **server** is supported, which
         * means international certificate. Defaults to **server**.
         */
        certificateType?: pulumi.Input<string>;
        /**
         * Specifies whether HTTP/2 is used. Defaults to **false**.
         * When `httpsEnabled` is set to **false**, this parameter does not take effect.
         */
        http2Enabled?: pulumi.Input<boolean>;
        http2Status?: pulumi.Input<string>;
        /**
         * Specifies whether to enable HTTPS. Defaults to **false**.
         */
        httpsEnabled?: pulumi.Input<boolean>;
        httpsStatus?: pulumi.Input<string>;
        /**
         * Specifies whether online certificate status protocol (OCSP) stapling is enabled.
         * Valid values are as follows:
         * + **on**: Enable.
         * + **off**: Disable.
         */
        ocspStaplingStatus?: pulumi.Input<string>;
        /**
         * Specifies the private key used by the HTTPS protocol. This parameter is mandatory
         * when a certificate is configured. The value is in PEM format.
         * This field is required when `certificateSource` is set to `0`.
         */
        privateKey?: pulumi.Input<string>;
        /**
         * Specifies the SCM certificate ID.
         * This field is required when `certificateSource` is set to `2`.
         */
        scmCertificateId?: pulumi.Input<string>;
        /**
         * Specifies the transport Layer Security (TLS). Currently, **TLSv1.0**,
         * **TLSv1.1**, **TLSv1.2**, and **TLSv1.3** are supported. By default, **TLSv1.1**, **TLSv1.2**, and **TLSv1.3** are
         * enabled. You can enable a single version or consecutive versions. To enable multiple versions, use commas (,) to
         * separate versions, for example, **TLSv1.1,TLSv1.2**.
         */
        tlsVersion?: pulumi.Input<string>;
    }
    interface DomainConfigsIpFilter {
        /**
         * Specifies the blacklist and whitelist rule type. Valid values are:
         * + **black**: Blacklist. Users in regions specified in the blacklist cannot access resources and status code `403` is
         * returned.
         * + **white**: Whitelist. Only users in regions specified in the whitelist can access resources. Status code `403` is
         * returned for other users.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the IP address blacklist or whitelist. This field is required when `type` is
         * set to **black** or **white**. A list contains up to `500` IP addresses and IP address segments, which are separated
         * by commas (,). IPv6 addresses are supported. Duplicate IP addresses and IP address segments will be removed.
         * Addresses with wildcard characters are not supported, for example, `192.168.0.*`.
         */
        value?: pulumi.Input<string>;
    }
    interface DomainConfigsIpFrequencyLimit {
        /**
         * Specifies whether to enable client cert settings.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * Specifies the access threshold, in times/second. The value ranges from `1` to `100,000`.
         * This field is required when enable IP access frequency.
         */
        qps?: pulumi.Input<number>;
    }
    interface DomainConfigsOriginRequestUrlRewrite {
        /**
         * Specifies the match type. Valid values are:
         * + **all**: Match all files.
         * + **file_extension**: Match by file suffix.
         * + **catalog**: Match by directory.
         * + **full_path**: Full path matching.
         * + **home_page**: Match by homepage.
         */
        matchType: pulumi.Input<string>;
        /**
         * Specifies the priority weight of this rule. The default value is 1.
         * A larger value indicates a higher priority. The value ranges from 1 to 100. The weight values must be unique.
         */
        priority: pulumi.Input<number>;
        /**
         * Specifies the URI to be rewritten. The URI starts with a slash (/) and does not
         * contain `http://`, `https://`, or the domain name. The value contains up to `512` characters.
         * Wildcards (*) are supported, for example, `/test/*&#47;*.mp4`. This field is invalid when `matchType` is set to **all**.
         */
        sourceUrl?: pulumi.Input<string>;
        /**
         * Specifies a URI starts with a slash (/) and does not contain `http://`, `https://`,
         * or the domain name. The value contains up to `256` characters. The nth wildcard (*) field can be substituted with
         * `$n`, where n = 1, 2, 3..., for example, `/newtest/$1/$2.jpg`.
         */
        targetUrl: pulumi.Input<string>;
    }
    interface DomainConfigsQuic {
        /**
         * Specifies whether to enable client cert settings.
         */
        enabled: pulumi.Input<boolean>;
    }
    interface DomainConfigsReferer {
        /**
         * Specifies whether empty user agents are included.
         * A User-Agent blacklist including empty user agents indicates that requests without a user agent are rejected.
         * A User-Agent whitelist including empty user agents indicates that requests without a user agent are accepted.
         * Possible values: **true** (included) and **false** (excluded).
         * The default value is **false** for a blacklist and **true** for a whitelist.
         */
        includeEmpty?: pulumi.Input<boolean>;
        /**
         * Specifies the blacklist and whitelist rule type. Valid values are:
         * + **black**: Blacklist. Users in regions specified in the blacklist cannot access resources and status code `403` is
         * returned.
         * + **white**: Whitelist. Only users in regions specified in the whitelist can access resources. Status code `403` is
         * returned for other users.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the IP address blacklist or whitelist. This field is required when `type` is
         * set to **black** or **white**. A list contains up to `500` IP addresses and IP address segments, which are separated
         * by commas (,). IPv6 addresses are supported. Duplicate IP addresses and IP address segments will be removed.
         * Addresses with wildcard characters are not supported, for example, `192.168.0.*`.
         */
        value?: pulumi.Input<string>;
    }
    interface DomainConfigsRemoteAuth {
        /**
         * Specifies whether to enable client cert settings.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * Specifies the remote authentication settings. The length of this array field
         * cannot exceed `1`. The remoteAuthRules structure is documented below.
         */
        remoteAuthRules?: pulumi.Input<inputs.Cdn.DomainConfigsRemoteAuthRemoteAuthRules>;
    }
    interface DomainConfigsRemoteAuthRemoteAuthRules {
        /**
         * Specifies the URL validation parameters.
         * The addCustomArgsRules structure is documented below.
         */
        addCustomArgsRules?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsRemoteAuthRemoteAuthRulesAddCustomArgsRule>[]>;
        /**
         * Specifies the request header authentication parameters.
         * The addCustomHeadersRules structure is documented below.
         */
        addCustomHeadersRules?: pulumi.Input<pulumi.Input<inputs.Cdn.DomainConfigsRemoteAuthRemoteAuthRulesAddCustomHeadersRule>[]>;
        /**
         * Specifies the status code returned by the remote authentication server
         * to CDN nodes when authentication is failed. Value range: **4xx** and **5xx**.
         */
        authFailedStatus: pulumi.Input<string>;
        /**
         * Specifies the address of a reachable server. The address must include **http://** or
         * **https://**. The address cannot be a local address such as **localhost** or **127.0.0.1**. The address cannot be an
         * acceleration domain name added on CDN.
         */
        authServer: pulumi.Input<string>;
        /**
         * Specifies the status code returned by the remote authentication server
         * to CDN nodes when authentication is successful. Value range: **2xx** and **3xx**.
         */
        authSuccessStatus: pulumi.Input<string>;
        /**
         * Specifies the authentication file type settings. Valid values are:
         * + **all**: Requests for all files are authenticated.
         * + **specific_file**: Requests for files of specific types are authenticated.
         */
        fileTypeSetting: pulumi.Input<string>;
        /**
         * Specifies the request method supported by the authentication server. Valid values
         * are **GET**, **POST**, and **HEAD**.
         */
        requestMethod: pulumi.Input<string>;
        /**
         * Specifies the reserve args. Multiple args are separated by vertical bars (|).
         * For example: **key1|key2**. This parameter is mandatory when `reserveArgsSetting` is set to **reserve_specific_args**.
         * In other cases, this parameter is left blank.
         */
        reserveArgs?: pulumi.Input<string>;
        /**
         * Specifies the parameters that need to be authenticated in user requests.
         * Valid values are as follows:
         * + **reserve_all_args**: Retain all URL parameters.
         * + **reserve_specific_args**: Retain specified URL parameters.
         * + **ignore_all_args**: Ignore all URL parameters.
         */
        reserveArgsSetting: pulumi.Input<string>;
        /**
         * Specifies the reserve headers. Multiple headers are separated by vertical bars (|).
         * For example: **key1|key2**. This parameter is mandatory when `reserveHeadersSetting` is set to **reserve_specific_headers**.
         * In other cases, this parameter is left blank.
         */
        reserveHeaders?: pulumi.Input<string>;
        /**
         * Specifies the headers to be authenticated in user requests.
         * Valid values are as follows:
         * + **reserve_all_headers**: Retain all request headers.
         * + **reserve_specific_headers**: Retain specified request headers.
         * + **ignore_all_headers**: Ignore all request headers.
         */
        reserveHeadersSetting: pulumi.Input<string>;
        /**
         * Specifies the status code returned by CDN nodes to users when authentication
         * is failed. Value range: **2xx**, **3xx**, **4xx**, and **5xx**.
         */
        responseStatus: pulumi.Input<string>;
        /**
         * Specifies the specific file types. The value contains letters and digits.
         * The value contains up to `512` characters. File types are not case-sensitive, and multiple file types are separated
         * by vertical bars (|). For example: **jpg|MP4**. This parameter is mandatory when `fileTypeSetting` is set to
         * **specific_file**. In other cases, this parameter is left blank.
         */
        specifiedFileType?: pulumi.Input<string>;
        /**
         * Specifies the duration from the time when a CDN node forwards an authentication request
         * to the time when the CDN node receives the result returned by the remote authentication server. Enter `0` or a value
         * ranging from `50` to `3,000`. The unit is millisecond.
         */
        timeout: pulumi.Input<number>;
        /**
         * Specifies the action of the CDN nodes to process user requests after the
         * authentication timeout. Valid values are as follows:
         * + **pass**: The user request is allowed and the corresponding resource is returned after the authentication times out.
         * + **forbid**: The user request is rejected after the authentication times out and the configured status code is
         * returned to the user.
         */
        timeoutAction: pulumi.Input<string>;
    }
    interface DomainConfigsRemoteAuthRemoteAuthRulesAddCustomArgsRule {
        /**
         * Specifies the parameter key. The value contains up to `256` characters. The value can be
         * composed of digits, uppercase letters, lowercase letters, and special characters (._-*#%|+^@?=).
         */
        key: pulumi.Input<string>;
        /**
         * Specifies the blacklist and whitelist rule type. Valid values are:
         * + **black**: Blacklist. Users in regions specified in the blacklist cannot access resources and status code `403` is
         * returned.
         * + **white**: Whitelist. Only users in regions specified in the whitelist can access resources. Status code `403` is
         * returned for other users.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the IP address blacklist or whitelist. This field is required when `type` is
         * set to **black** or **white**. A list contains up to `500` IP addresses and IP address segments, which are separated
         * by commas (,). IPv6 addresses are supported. Duplicate IP addresses and IP address segments will be removed.
         * Addresses with wildcard characters are not supported, for example, `192.168.0.*`.
         */
        value: pulumi.Input<string>;
    }
    interface DomainConfigsRemoteAuthRemoteAuthRulesAddCustomHeadersRule {
        /**
         * Specifies the parameter key. The value contains up to `256` characters. The value can be
         * composed of digits, uppercase letters, lowercase letters, and special characters (._-*#%|+^@?=).
         */
        key: pulumi.Input<string>;
        /**
         * Specifies the blacklist and whitelist rule type. Valid values are:
         * + **black**: Blacklist. Users in regions specified in the blacklist cannot access resources and status code `403` is
         * returned.
         * + **white**: Whitelist. Only users in regions specified in the whitelist can access resources. Status code `403` is
         * returned for other users.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the IP address blacklist or whitelist. This field is required when `type` is
         * set to **black** or **white**. A list contains up to `500` IP addresses and IP address segments, which are separated
         * by commas (,). IPv6 addresses are supported. Duplicate IP addresses and IP address segments will be removed.
         * Addresses with wildcard characters are not supported, for example, `192.168.0.*`.
         */
        value: pulumi.Input<string>;
    }
    interface DomainConfigsRequestLimitRule {
        /**
         * Specifies the rate limiting condition. Unit: byte.
         * The value ranges from `0` to `1,073,741,824`.
         */
        limitRateAfter: pulumi.Input<number>;
        /**
         * Specifies the rate limiting value, in bit/s.
         * The value ranges from `0` to `104,857,600`.
         */
        limitRateValue: pulumi.Input<number>;
        /**
         * Specifies the match type. Valid values are:
         * + **all**: Match all files.
         * + **file_extension**: Match by file suffix.
         * + **catalog**: Match by directory.
         * + **full_path**: Full path matching.
         * + **home_page**: Match by homepage.
         */
        matchType: pulumi.Input<string>;
        /**
         * Specifies the cache match settings.
         * + When `matchType` is set to **all**, this field does not need to be configured.
         * + When `matchType` is set to **file_extension**, this field value is the file suffix. The first character of the
         * value is "." and separated by "," such as **.jpg,.zip,.exe**. The total number of file name suffixes entered should
         * not exceed `20`.
         * + When `matchType` is set to **catalog**, the value of this field is a directory. The value must start with "/" and
         * be separated by "," such as **&#47;test/folder01,/test/folder02**. The total number of directory paths entered must not
         * exceed `20`.
         * + When `matchType` is set to **full_path**, the value of this field is a full path. The value must start with "/".
         * It supports matching specific files in the specified directory or files with a wildcard "*".
         * The position of "*" must be after the last "/" and cannot end with "*". Only one full path can be configured in a
         * single full path cache rule, such as **&#47;test/index.html** or ***&#47;test/*.jpg**.
         * + When `matchType` is set to **home_page**, this field does not need to be configured.
         */
        matchValue?: pulumi.Input<string>;
        /**
         * Specifies the priority weight of this rule. The default value is 1.
         * A larger value indicates a higher priority. The value ranges from 1 to 100. The weight values must be unique.
         */
        priority: pulumi.Input<number>;
        /**
         * Specifies the blacklist and whitelist rule type. Valid values are:
         * + **black**: Blacklist. Users in regions specified in the blacklist cannot access resources and status code `403` is
         * returned.
         * + **white**: Whitelist. Only users in regions specified in the whitelist can access resources. Status code `403` is
         * returned for other users.
         */
        type: pulumi.Input<string>;
    }
    interface DomainConfigsRequestUrlRewrite {
        /**
         * Specifies matching condition.
         * The condition structure is documented below.
         */
        condition: pulumi.Input<inputs.Cdn.DomainConfigsRequestUrlRewriteCondition>;
        /**
         * Specifies the execution mode. Valid values are:
         * + **redirect**: If the requested URL matches the current rule, the request will be redirected to the target path.
         * After the current rule is executed, if there are other configured rules, the remaining rules will continue to be matched.
         * + **break**: If the requested URL matches the current rule, the request will be rewritten to the target path.
         * After the current rule is executed, if there are other configured rules, the remaining rules will no longer be matched.
         * The redirection host and redirection status code are not supported at this time, and the status code `200` is returned.
         */
        executionMode: pulumi.Input<string>;
        /**
         * Specifies the domain name to redirect client requests.
         */
        redirectHost?: pulumi.Input<string>;
        /**
         * Specifies the redirect status code. Supports `301`, `302`, `303`, and `307`.
         */
        redirectStatusCode?: pulumi.Input<number>;
        /**
         * Specifies the redirect URL. The redirected URL starts with a forward slash (/)
         * and does not contain the http:// header or domain name. Example: **&#47;test/index.html**.
         */
        redirectUrl: pulumi.Input<string>;
    }
    interface DomainConfigsRequestUrlRewriteCondition {
        /**
         * Specifies the match type. Valid values are:
         * + **all**: Match all files.
         * + **file_extension**: Match by file suffix.
         * + **catalog**: Match by directory.
         * + **full_path**: Full path matching.
         * + **home_page**: Match by homepage.
         */
        matchType: pulumi.Input<string>;
        /**
         * Specifies the cache match settings.
         * + When `matchType` is set to **all**, this field does not need to be configured.
         * + When `matchType` is set to **file_extension**, this field value is the file suffix. The first character of the
         * value is "." and separated by "," such as **.jpg,.zip,.exe**. The total number of file name suffixes entered should
         * not exceed `20`.
         * + When `matchType` is set to **catalog**, the value of this field is a directory. The value must start with "/" and
         * be separated by "," such as **&#47;test/folder01,/test/folder02**. The total number of directory paths entered must not
         * exceed `20`.
         * + When `matchType` is set to **full_path**, the value of this field is a full path. The value must start with "/".
         * It supports matching specific files in the specified directory or files with a wildcard "*".
         * The position of "*" must be after the last "/" and cannot end with "*". Only one full path can be configured in a
         * single full path cache rule, such as **&#47;test/index.html** or ***&#47;test/*.jpg**.
         * + When `matchType` is set to **home_page**, this field does not need to be configured.
         */
        matchValue?: pulumi.Input<string>;
        /**
         * Specifies the priority weight of this rule. The default value is 1.
         * A larger value indicates a higher priority. The value ranges from 1 to 100. The weight values must be unique.
         */
        priority: pulumi.Input<number>;
    }
    interface DomainConfigsRetrievalRequestHeader {
        /**
         * Specifies the operation type of the HTTP response header. The value can be **set** or **delete**.
         */
        action: pulumi.Input<string>;
        /**
         * Specifies the HTTP response header. Valid values are **Content-Disposition**, **Content-Language**,
         * **Access-Control-Allow-Origin**, **Access-Control-Allow-Methods**, **Access-Control-Max-Age**, **Access-Control-Expose-Headers**,
         * **Access-Control-Allow-Headers** or custom headers. A header contains `1` to `100` characters, including letters, digits,
         * and hyphens (-), and starts with a letter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the IP address blacklist or whitelist. This field is required when `type` is
         * set to **black** or **white**. A list contains up to `500` IP addresses and IP address segments, which are separated
         * by commas (,). IPv6 addresses are supported. Duplicate IP addresses and IP address segments will be removed.
         * Addresses with wildcard characters are not supported, for example, `192.168.0.*`.
         */
        value?: pulumi.Input<string>;
    }
    interface DomainConfigsSni {
        /**
         * Specifies whether to enable client cert settings.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * Specifies the origin server domain name that the CDN node needs to access when
         * returning to the source.
         */
        serverName?: pulumi.Input<string>;
        status?: pulumi.Input<string>;
    }
    interface DomainConfigsUrlSigning {
        /**
         * Specifies the standby authentication key contains `16` to `32` characters,
         * including letters and digits.
         */
        backupKey?: pulumi.Input<string>;
        /**
         * Specifies whether to enable client cert settings.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * Specifies the expiration time. The value ranges from `0` to `31536000`, in seconds.
         */
        expireTime?: pulumi.Input<number>;
        /**
         * Specifies the details of the authentication inheritance.
         * The inheritConfig structure is documented below.
         */
        inheritConfig?: pulumi.Input<inputs.Cdn.DomainConfigsUrlSigningInheritConfig>;
        /**
         * Specifies the parameter key. The value contains up to `256` characters. The value can be
         * composed of digits, uppercase letters, lowercase letters, and special characters (._-*#%|+^@?=).
         */
        key?: pulumi.Input<string>;
        /**
         * Specifies the match type. Valid values are:
         * + **all**: Match all files.
         * + **file_extension**: Match by file suffix.
         * + **catalog**: Match by directory.
         * + **full_path**: Full path matching.
         * + **home_page**: Match by homepage.
         */
        matchType?: pulumi.Input<string>;
        /**
         * Specifies the authentication parameters. The default value is **auth_key**.
         * The valid length is limited from `1` to `100` characters, only letters, digits, and underscores (_) are allowed.
         * The value can not start with a digit.
         */
        signArg?: pulumi.Input<string>;
        /**
         * Specifies the encryption algorithm type for URL authentication.
         * The default value is **md5**. The valid values are as following:
         * + **md5**
         * + **sha256**
         */
        signMethod?: pulumi.Input<string>;
        status?: pulumi.Input<string>;
        /**
         * Specifies the time format. Possible values are:
         * **dec**: Decimal, can be used in Method A, Method B and Method C2.
         * **hex**: Hexadecimal, can be used in Method C1 and Method C2.
         */
        timeFormat?: pulumi.Input<string>;
        /**
         * Specifies the blacklist and whitelist rule type. Valid values are:
         * + **black**: Blacklist. Users in regions specified in the blacklist cannot access resources and status code `403` is
         * returned.
         * + **white**: Whitelist. Only users in regions specified in the whitelist can access resources. Status code `403` is
         * returned for other users.
         */
        type?: pulumi.Input<string>;
    }
    interface DomainConfigsUrlSigningInheritConfig {
        /**
         * Specifies whether to enable client cert settings.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * Specifies the time type that inherits authentication settings.
         * The valid values are as follows:
         * + **sys_time**: The current system time.
         * + **parent_url_time**: The time when a user accesses the M3U8/MPD file.
         */
        inheritTimeType?: pulumi.Input<string>;
        /**
         * Specifies the authentication inheritance configuration.
         * The valid values are **m3u8** and **mpd**. Separate multiple values with commas (,). e.g. **m3u8,mpd**.
         */
        inheritType?: pulumi.Input<string>;
        status?: pulumi.Input<string>;
    }
    interface DomainConfigsUserAgentFilter {
        /**
         * Specifies whether empty user agents are included.
         * A User-Agent blacklist including empty user agents indicates that requests without a user agent are rejected.
         * A User-Agent whitelist including empty user agents indicates that requests without a user agent are accepted.
         * Possible values: **true** (included) and **false** (excluded).
         * The default value is **false** for a blacklist and **true** for a whitelist.
         */
        includeEmpty?: pulumi.Input<string>;
        /**
         * Specifies the blacklist and whitelist rule type. Valid values are:
         * + **black**: Blacklist. Users in regions specified in the blacklist cannot access resources and status code `403` is
         * returned.
         * + **white**: Whitelist. Only users in regions specified in the whitelist can access resources. Status code `403` is
         * returned for other users.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the User-Agent blacklist or whitelist. This parameter is required when `type`
         * is set to **black** or **white**. Up to `10` rules can be configured. A rule contains up to `100` characters.
         */
        uaLists?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface DomainConfigsVideoSeek {
        /**
         * Specifies the time-based `FLV` seek status.
         * **true**: enabled; **false**: disabled. Defaults to **false**.
         */
        enableFlvByTimeSeek?: pulumi.Input<boolean>;
        /**
         * Specifies the video seek status. **true**: enabled; **false**: disabled.
         */
        enableVideoSeek: pulumi.Input<boolean>;
        /**
         * Specifies the video playback end parameter in user request URLs.
         * The value contains up to `64` characters. Only letters, digits, and underscores (_) are allowed.
         */
        endParameter?: pulumi.Input<string>;
        /**
         * Specifies the video playback start parameter in user request URLs.
         * The value contains up to `64` characters. Only letters, digits, and underscores (_) are allowed.
         */
        startParameter?: pulumi.Input<string>;
    }
    interface DomainConfigsWebsocket {
        /**
         * Specifies whether to enable client cert settings.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * Specifies the duration from the time when a CDN node forwards an authentication request
         * to the time when the CDN node receives the result returned by the remote authentication server. Enter `0` or a value
         * ranging from `50` to `3,000`. The unit is millisecond.
         */
        timeout?: pulumi.Input<number>;
    }
    interface DomainSource {
        /**
         * Specifies whether the origin server is primary or standby. Valid values are as follows:
         * + **1**: Primary.
         * + **0**: Standby.
         */
        active?: pulumi.Input<number>;
        /**
         * Specifies the HTTP port, ranging from `1` to `65,535`. Defaults to **80**.
         */
        httpPort?: pulumi.Input<number>;
        /**
         * Specifies the HTTPS port, ranging from `1` to `65,535`. Defaults to **443**.
         */
        httpsPort?: pulumi.Input<number>;
        /**
         * Specifies the OBS bucket type. Valid values are **private** and **public**.
         * This field is required when `sourcesType` is set to **obs_bucket**.
         */
        obsBucketType?: pulumi.Input<string>;
        /**
         * Specifies whether to enable static website hosting for the OBS bucket.
         * This parameter is valid only when the `originType` is set to **obs_bucket**. Defaults to **false**.
         */
        obsWebHostingEnabled?: pulumi.Input<boolean>;
        /**
         * Specifies the unique domain name or IP address of the origin server.
         * + If `originType` is set to **ipaddr**, this field can only be set to IPv4 address.
         * + If `originType` is set to **domain**, this field can only be set to domain name.
         * + If `originType` is set to **obs_bucket**, this field can only be set to OBS bucket domain name. The OBS bucket
         * domain name must end with `.myhuaweicloud.com` or `.myhuaweicloud.cn`.
         */
        origin: pulumi.Input<string>;
        /**
         * Specifies the origin server type. The valid values are as follows:
         * + **ipaddr**: Origin server IP address.
         * + **domain**: Origin server domain name.
         * + **obs_bucket**: OBS bucket domain name.
         */
        originType: pulumi.Input<string>;
        /**
         * Specifies the retrieval host. Things to note when using this field are as follows:
         * + If `originType` is set to **ipaddr** or **domain**, the acceleration domain name will be used by default.
         * + If `originType` is set to **obs_bucket**, the bucket's domain name will be used by default.
         */
        retrievalHost?: pulumi.Input<string>;
        /**
         * Specifies the weight. The value ranges from `1` to `100`. Defaults to `50`.
         * A larger value indicates a larger number of times that content is pulled from this IP address.
         */
        weight?: pulumi.Input<number>;
    }
}
export declare namespace Cfw {
    interface AclRuleCustomService {
        /**
         * The destination port.
         */
        destPort: pulumi.Input<string>;
        /**
         * The protocol type.
         */
        protocol: pulumi.Input<number>;
        /**
         * The source port.
         */
        sourcePort: pulumi.Input<string>;
    }
    interface AclRuleCustomServiceGroups {
        /**
         * The IDs of the predefined service groups.
         */
        groupIds: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The protocols used in the predefined service groups.
         */
        protocols: pulumi.Input<pulumi.Input<number>[]>;
    }
    interface AclRuleDestinationRegionList {
        /**
         * The Chinese description of the region.
         */
        descriptionCn?: pulumi.Input<string>;
        /**
         * The English description of the region.
         */
        descriptionEn?: pulumi.Input<string>;
        /**
         * The region ID.
         */
        regionId: pulumi.Input<string>;
        /**
         * The region type.
         */
        regionType: pulumi.Input<number>;
    }
    interface AclRulePredefinedServiceGroups {
        /**
         * The IDs of the predefined service groups.
         */
        groupIds: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The protocols used in the predefined service groups.
         */
        protocols: pulumi.Input<pulumi.Input<number>[]>;
    }
    interface AclRuleSequence {
        /**
         * Whether to pin on bottom.
         * The options are as follows:
         * + **0**: no;
         * + **1**: yes;
         */
        bottom?: pulumi.Input<number>;
        /**
         * The ID of the rule that the added rule will follow.
         */
        destRuleId?: pulumi.Input<string>;
        /**
         * Whether to pin on top.
         * The options are as follows:
         * + **0**: no;
         * + **1**: yes;
         */
        top?: pulumi.Input<number>;
    }
    interface AclRuleSourceRegionList {
        /**
         * The Chinese description of the region.
         */
        descriptionCn?: pulumi.Input<string>;
        /**
         * The English description of the region.
         */
        descriptionEn?: pulumi.Input<string>;
        /**
         * The region ID.
         */
        regionId: pulumi.Input<string>;
        /**
         * The region type.
         */
        regionType: pulumi.Input<number>;
    }
    interface AntiVirusScanProtocolConfig {
        /**
         * The anti virus action. The valid value can be **0** (observe) or **1** (block).
         */
        action: pulumi.Input<number>;
        /**
         * The protocol type.
         * The valid values are as follows:
         * + **0**: HTTP;
         * + **1**: SMTP;
         * + **2**: POP3;
         * + **3**: IMAP4;
         * + **4**: FTP;
         * + **5**: SMB;
         * + **6**: Malicious Access Control;
         */
        protocolType: pulumi.Input<number>;
    }
    interface CaptureTaskDestination {
        /**
         * Specifies the address.
         */
        address: pulumi.Input<string>;
        /**
         * Specifies the address type.
         * The valid values are:
         * + **0**: indicates IPv4;
         * + **1**: indicates IPv6.
         */
        addressType: pulumi.Input<number>;
    }
    interface CaptureTaskService {
        /**
         * Specifies the destination port.
         */
        destPort?: pulumi.Input<string>;
        /**
         * Specifies the protocol type.
         * The valid values are:
         * + **6**: indicates TCP;
         * + **17**: indicates UDP;
         * + **1**: indicates ICMP;
         * + **58**: indicates ICMPv6;
         * + **-1**: indicates any protocol.
         */
        protocol: pulumi.Input<number>;
        /**
         * Specifies the source port.
         */
        sourcePort?: pulumi.Input<string>;
    }
    interface CaptureTaskSource {
        /**
         * Specifies the address.
         */
        address: pulumi.Input<string>;
        /**
         * Specifies the address type.
         * The valid values are:
         * + **0**: indicates IPv4;
         * + **1**: indicates IPv6.
         */
        addressType: pulumi.Input<number>;
    }
    interface DomainNameGroupDomainName {
        /**
         * Specifies the description.
         */
        description?: pulumi.Input<string>;
        /**
         * The DNS IP list.
         */
        dnsIps?: pulumi.Input<string>;
        /**
         * The domain address ID.
         */
        domainAddressId?: pulumi.Input<string>;
        /**
         * Specifies the domain name.
         */
        domainName: pulumi.Input<string>;
    }
    interface EipProtectionProtectedEip {
        /**
         * The ID of the protected EIP.
         */
        id: pulumi.Input<string>;
        /**
         * The IPv4 address of the protected EIP.
         */
        publicIpv4?: pulumi.Input<string>;
        /**
         * The IPv6 address of the protected EIP.
         */
        publicIpv6?: pulumi.Input<string>;
    }
    interface FirewallFlavor {
        /**
         * The bandwidth of the firewall.
         */
        bandwidth?: pulumi.Input<number>;
        /**
         * The default bandwidth of the firewall.
         */
        defaultBandwidth?: pulumi.Input<number>;
        /**
         * The default EIP number of the firewall.
         */
        defaultEipCount?: pulumi.Input<number>;
        /**
         * The default log storage of the firewall.
         */
        defaultLogStorage?: pulumi.Input<number>;
        /**
         * The default VPC number of the firewall.
         */
        defaultVpcCount?: pulumi.Input<number>;
        /**
         * The EIP number of the firewall.
         */
        eipCount?: pulumi.Input<number>;
        /**
         * Specifies the extend bandwidth of the firewall.
         * Only works when the chargingMode is **prePaid**.
         * Changing this parameter will create a new resource.
         */
        extendBandwidth?: pulumi.Input<number>;
        /**
         * Specifies the extend EIP number of the firewall.
         * Only works when the chargingMode is **prePaid**.
         * Changing this parameter will create a new resource.
         */
        extendEipCount?: pulumi.Input<number>;
        /**
         * Specifies the extend VPC number of the firewall.
         * Only works when the chargingMode is **prePaid**.
         * Changing this parameter will create a new resource.
         */
        extendVpcCount?: pulumi.Input<number>;
        /**
         * The log storage of the firewall.
         */
        logStorage?: pulumi.Input<number>;
        /**
         * The total rule count of the firewall.
         */
        totalRuleCount?: pulumi.Input<number>;
        /**
         * The used rule count of the firewall.
         */
        usedRuleCount?: pulumi.Input<number>;
        /**
         * Specifies the version of the firewall.
         * When the chargingMode is **prePaid**: the value can be **Standard** and **Prefessional**.
         * When the chargingMode is **postPaid**: the value can be **Prefessional**.
         * Changing this parameter will create a new resource.
         */
        version: pulumi.Input<string>;
        /**
         * The VPC bandwidth of the firewall.
         */
        vpcBandwidth?: pulumi.Input<number>;
        /**
         * The VPC number of the firewall.
         */
        vpcCount?: pulumi.Input<number>;
    }
    interface FirewallProtectObject {
        /**
         * The protected object ID.
         */
        objectId?: pulumi.Input<string>;
        /**
         * The protected object name.
         */
        objectName?: pulumi.Input<string>;
        /**
         * The object type.
         * The options are as follows: 0: north-south; 1: east-west.
         */
        type?: pulumi.Input<number>;
    }
}
export declare namespace Cse {
    interface AlarmruleAlarmAction {
        /**
         * specifies the list of objects to be notified if the alarm status changes, the
         * maximum length is 5.
         */
        notificationLists: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the type of action triggered by an alarm. the value is notification.
         * notification: indicates that a notification will be sent to the user.
         */
        type: pulumi.Input<string>;
    }
    interface AlarmruleCondition {
        /**
         * Specifies the alarm severity of the condition. The value can be 1, 2, 3 or 4,
         * which indicates *critical*, *major*, *minor*, and *informational*, respectively.
         * The default value is 2.
         */
        alarmLevel?: pulumi.Input<number>;
        /**
         * Specifies the comparison condition of alarm thresholds. The value can be >,
         * =, <, >=, or <=.
         */
        comparisonOperator: pulumi.Input<string>;
        /**
         * Specifies the number of consecutive occurrence times. The value ranges from 1 to 5.
         */
        count: pulumi.Input<number>;
        /**
         * Specifies the data rollup methods. The value can be max, min, average, sum, and variance.
         */
        filter: pulumi.Input<string>;
        /**
         * Specifies the metric name of the condition. The value can be a string of
         * 1 to 64 characters that must start with a letter and contain only letters, digits, and underscores (_).
         * For details, see [Services Interconnected with Cloud Eye](https://support.huaweicloud.com/intl/en-us/api-ces/ces_03_0059.html).
         */
        metricName?: pulumi.Input<string>;
        /**
         * Specifies the alarm checking period in seconds. The value can be 0, 1, 300, 1200, 3600, 14400,
         * and 86400.
         */
        period: pulumi.Input<number>;
        /**
         * Specifies the interval for triggering an alarm if the alarm persists.
         * Possible values are as follows:
         * + **0**: Cloud Eye triggers the alarm only once;
         * + **300**: Cloud Eye triggers the alarm every 5 minutes;
         * + **600**: Cloud Eye triggers the alarm every 10 minutes;
         * + **900**: Cloud Eye triggers the alarm every 15 minutes;
         * + **1800**: Cloud Eye triggers the alarm every 30 minutes;
         * + **3600**: Cloud Eye triggers the alarm every hour;
         * + **10800**: Cloud Eye triggers the alarm every 3 hours;
         * + **21600**: Cloud Eye triggers the alarm every 6 hours;
         * + **43200**: Cloud Eye triggers the alarm every 12 hour;
         * + **86400**: Cloud Eye triggers the alarm every day.
         */
        suppressDuration?: pulumi.Input<number>;
        /**
         * Specifies the data unit.
         * For details, see [Services Interconnected with Cloud Eye](https://support.huaweicloud.com/intl/en-us/api-ces/ces_03_0059.html).
         */
        unit?: pulumi.Input<string>;
        /**
         * Specifies the alarm threshold. The value ranges from 0 to Number of
         * 1.7976931348623157e+108.
         */
        value: pulumi.Input<number>;
    }
    interface AlarmruleInsufficientdataAction {
        /**
         * specifies the list of objects to be notified if the alarm status changes, the
         * maximum length is 5.
         */
        notificationLists: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the type of action triggered by an alarm. the value is notification.
         * notification: indicates that a notification will be sent to the user.
         */
        type: pulumi.Input<string>;
    }
    interface AlarmruleMetric {
        /**
         * Specifies the list of metric dimensions. The structure is described below.
         */
        dimensions?: pulumi.Input<pulumi.Input<inputs.Cse.AlarmruleMetricDimension>[]>;
        /**
         * Specifies the metric name of the condition. The value can be a string of
         * 1 to 64 characters that must start with a letter and contain only letters, digits, and underscores (_).
         * For details, see [Services Interconnected with Cloud Eye](https://support.huaweicloud.com/intl/en-us/api-ces/ces_03_0059.html).
         */
        metricName?: pulumi.Input<string>;
        /**
         * Specifies the namespace in **service.item** format. **service** and **item**
         * each must be a string that starts with a letter and contains only letters, digits, and underscores (_).
         * Changing this creates a new resource.
         * For details, see [Services Interconnected with Cloud Eye](https://support.huaweicloud.com/intl/en-us/api-ces/ces_03_0059.html).
         */
        namespace: pulumi.Input<string>;
    }
    interface AlarmruleMetricDimension {
        /**
         * Specifies the dimension name. The value can be a string of 1 to 32 characters
         * that must start with a letter and contain only letters, digits, underscores (_), and hyphens (-).
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the alarm threshold. The value ranges from 0 to Number of
         * 1.7976931348623157e+108.
         */
        value?: pulumi.Input<string>;
    }
    interface AlarmruleOkAction {
        /**
         * specifies the list of objects to be notified if the alarm status changes, the
         * maximum length is 5.
         */
        notificationLists: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the type of action triggered by an alarm. the value is notification.
         * notification: indicates that a notification will be sent to the user.
         */
        type: pulumi.Input<string>;
    }
    interface AlarmruleResource {
        /**
         * Specifies the list of metric dimensions. The structure is described below.
         */
        dimensions?: pulumi.Input<pulumi.Input<inputs.Cse.AlarmruleResourceDimension>[]>;
    }
    interface AlarmruleResourceDimension {
        /**
         * Specifies the dimension name. The value can be a string of 1 to 32 characters
         * that must start with a letter and contain only letters, digits, underscores (_), and hyphens (-).
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the alarm threshold. The value ranges from 0 to Number of
         * 1.7976931348623157e+108.
         */
        value?: pulumi.Input<string>;
    }
    interface MicroserviceEngineConfigCenterAddress {
        /**
         * The internal access address.
         */
        private?: pulumi.Input<string>;
        /**
         * The public access address. This address is only set when EIP is bound.
         */
        public?: pulumi.Input<string>;
    }
    interface MicroserviceEngineServiceRegistryAddress {
        /**
         * The internal access address.
         */
        private?: pulumi.Input<string>;
        /**
         * The public access address. This address is only set when EIP is bound.
         */
        public?: pulumi.Input<string>;
    }
    interface MicroserviceInstanceDataCenter {
        /**
         * Specifies the custom availability zone name of the data center.
         * Changing this will create a new microservice instance.
         */
        availabilityZone: pulumi.Input<string>;
        /**
         * Specifies the data center name.
         * Changing this will create a new microservice instance.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the custom region name of the data center.
         * Changing this will create a new microservice instance.
         */
        region: pulumi.Input<string>;
    }
    interface MicroserviceInstanceHealthCheck {
        /**
         * Specifies the heartbeat interval. The unit is **s** (second).
         * Changing this will create a new microservice instance.
         */
        interval: pulumi.Input<number>;
        /**
         * Specifies the maximum retries.
         * Changing this will create a new microservice instance.
         */
        maxRetries: pulumi.Input<number>;
        /**
         * Specifies the heartbeat mode. The valid values are **push** and **pull**.
         * Changing this will create a new microservice instance.
         */
        mode: pulumi.Input<string>;
        /**
         * Specifies the port number.
         * Changing this will create a new microservice instance.
         */
        port?: pulumi.Input<number>;
    }
}
export declare namespace Css {
    interface ClusterBackupStrategy {
        /**
         * Specifies the IAM agency used to access OBS.
         */
        agency?: pulumi.Input<string>;
        /**
         * Specifies the storage path of the snapshot in the OBS bucket.
         */
        backupPath?: pulumi.Input<string>;
        /**
         * Specifies the OBS bucket used for index data backup. If there is snapshot data in an OBS
         * bucket, only the OBS bucket is used and cannot be changed.
         */
        bucket?: pulumi.Input<string>;
        /**
         * Specifies the number of days to retain the generated snapshots. Snapshots are reserved
         * for seven days by default.
         */
        keepDays?: pulumi.Input<number>;
        /**
         * Specifies the prefix of the snapshot that is automatically created. Defaults to **snapshot**.
         */
        prefix?: pulumi.Input<string>;
        /**
         * Specifies the time when a snapshot is automatically created everyday. Snapshots can
         * only be created on the hour. The time format is the time followed by the time zone, specifically, **HH:mm z**. In the
         * format, **HH:mm** refers to the hour time and z refers to the time zone. For example, "00:00 GMT+08:00"
         * and "01:00 GMT+08:00".
         */
        startTime: pulumi.Input<string>;
    }
    interface ClusterClientNodeConfig {
        /**
         * Specifies the flavor name.
         */
        flavor: pulumi.Input<string>;
        /**
         * Specifies the number of cluster instances.
         * + When it is `masterNodeConfig`, The value range is `3` to `10`.
         * + When it is `clientNodeConfig`, The value range is `1` to `32`.
         */
        instanceNumber: pulumi.Input<number>;
        /**
         * Specifies the node IDs that needs to be scaled down.
         */
        shrinkNodeIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the information about the volume.
         * The volume structure is documented below.
         */
        volume: pulumi.Input<inputs.Css.ClusterClientNodeConfigVolume>;
    }
    interface ClusterClientNodeConfigVolume {
        /**
         * Specifies the volume size in **GB**, which must be a multiple of `10`.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the volume type. Value options are as follows:
         * + **COMMON**: Common I/O. The SATA disk is used.
         * + **HIGH**: High I/O. The SAS disk is used.
         * + **ULTRAHIGH**: Ultra-high I/O. The solid-state drive (SSD) is used.
         */
        volumeType: pulumi.Input<string>;
    }
    interface ClusterColdNodeConfig {
        /**
         * Specifies the flavor name.
         */
        flavor: pulumi.Input<string>;
        /**
         * Specifies the number of cluster instances.
         * + When it is `masterNodeConfig`, The value range is `3` to `10`.
         * + When it is `clientNodeConfig`, The value range is `1` to `32`.
         */
        instanceNumber: pulumi.Input<number>;
        /**
         * Specifies the node IDs that needs to be scaled down.
         */
        shrinkNodeIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the information about the volume.
         * The volume structure is documented below.
         */
        volume?: pulumi.Input<inputs.Css.ClusterColdNodeConfigVolume>;
    }
    interface ClusterColdNodeConfigVolume {
        /**
         * Specifies the volume size in **GB**, which must be a multiple of `10`.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the volume type. Value options are as follows:
         * + **COMMON**: Common I/O. The SATA disk is used.
         * + **HIGH**: High I/O. The SAS disk is used.
         * + **ULTRAHIGH**: Ultra-high I/O. The solid-state drive (SSD) is used.
         */
        volumeType: pulumi.Input<string>;
    }
    interface ClusterEssNodeConfig {
        /**
         * Specifies the flavor name.
         */
        flavor: pulumi.Input<string>;
        /**
         * Specifies the number of cluster instances.
         * + When it is `masterNodeConfig`, The value range is `3` to `10`.
         * + When it is `clientNodeConfig`, The value range is `1` to `32`.
         */
        instanceNumber: pulumi.Input<number>;
        /**
         * Specifies the node IDs that needs to be scaled down.
         */
        shrinkNodeIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the information about the volume.
         * The volume structure is documented below.
         */
        volume?: pulumi.Input<inputs.Css.ClusterEssNodeConfigVolume>;
    }
    interface ClusterEssNodeConfigVolume {
        /**
         * Specifies the volume size in **GB**, which must be a multiple of `10`.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the volume type. Value options are as follows:
         * + **COMMON**: Common I/O. The SATA disk is used.
         * + **HIGH**: High I/O. The SAS disk is used.
         * + **ULTRAHIGH**: Ultra-high I/O. The solid-state drive (SSD) is used.
         */
        volumeType: pulumi.Input<string>;
    }
    interface ClusterKibanaPublicAccess {
        /**
         * Specifies the public network bandwidth.
         */
        bandwidth: pulumi.Input<number>;
        publicIp?: pulumi.Input<string>;
        /**
         * Specifies the whitelist of access control. The whitelisted account id must be unique.
         */
        whitelist?: pulumi.Input<string>;
        /**
         * Specifies whether to enable the public network access control.
         */
        whitelistEnabled: pulumi.Input<boolean>;
    }
    interface ClusterMasterNodeConfig {
        /**
         * Specifies the flavor name.
         */
        flavor: pulumi.Input<string>;
        /**
         * Specifies the number of cluster instances.
         * + When it is `masterNodeConfig`, The value range is `3` to `10`.
         * + When it is `clientNodeConfig`, The value range is `1` to `32`.
         */
        instanceNumber: pulumi.Input<number>;
        /**
         * Specifies the node IDs that needs to be scaled down.
         */
        shrinkNodeIds?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the information about the volume.
         * The volume structure is documented below.
         */
        volume: pulumi.Input<inputs.Css.ClusterMasterNodeConfigVolume>;
    }
    interface ClusterMasterNodeConfigVolume {
        /**
         * Specifies the volume size in **GB**, which must be a multiple of `10`.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the volume type. Value options are as follows:
         * + **COMMON**: Common I/O. The SATA disk is used.
         * + **HIGH**: High I/O. The SAS disk is used.
         * + **ULTRAHIGH**: Ultra-high I/O. The solid-state drive (SSD) is used.
         */
        volumeType: pulumi.Input<string>;
    }
    interface ClusterNode {
        /**
         * Specifies the availability zone name.
         * Separate multiple AZs with commas (,), for example, az1,az2. AZs must be unique. The number of nodes must be greater
         * than or equal to the number of AZs. If the number of nodes is a multiple of the number of AZs, the nodes are evenly
         * distributed to each AZ. If the number of nodes is not a multiple of the number of AZs, the absolute difference
         * between node quantity in any two AZs is **1** at most.
         */
        availabilityZone?: pulumi.Input<string>;
        /**
         * Instance ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Instance IP address.
         */
        ip?: pulumi.Input<string>;
        /**
         * Specifies the cluster name. It contains `4` to `32` characters.
         * Only letters, digits, hyphens (-), and underscores (_) are allowed. The value must start with a letter.
         * Changing this parameter will create a new resource.
         */
        name?: pulumi.Input<string>;
        /**
         * The resource ID of this instance.
         */
        resourceId?: pulumi.Input<string>;
        /**
         * Instance specification code.
         */
        specCode?: pulumi.Input<string>;
        /**
         * Instance status.
         */
        status?: pulumi.Input<string>;
        /**
         * Node type. The options are as follows:
         * + **ess-master:** Indicates a master node.
         * + **ess-client:** Indicates a client node.
         * + **ess-cold:** Indicates a cold data node.
         * + **ess indicates:** Indicates a data node.
         */
        type?: pulumi.Input<string>;
    }
    interface ClusterNodeConfig {
        /**
         * Specifies the availability zone name.
         * Separate multiple AZs with commas (,), for example, az1,az2. AZs must be unique. The number of nodes must be greater
         * than or equal to the number of AZs. If the number of nodes is a multiple of the number of AZs, the nodes are evenly
         * distributed to each AZ. If the number of nodes is not a multiple of the number of AZs, the absolute difference
         * between node quantity in any two AZs is **1** at most.
         */
        availabilityZone: pulumi.Input<string>;
        /**
         * Specifies the flavor name.
         */
        flavor: pulumi.Input<string>;
        networkInfo: pulumi.Input<inputs.Css.ClusterNodeConfigNetworkInfo>;
        /**
         * Specifies the information about the volume.
         * The volume structure is documented below.
         */
        volume: pulumi.Input<inputs.Css.ClusterNodeConfigVolume>;
    }
    interface ClusterNodeConfigNetworkInfo {
        /**
         * Specifies the security group ID.
         */
        securityGroupId: pulumi.Input<string>;
        /**
         * Specifies the Subnet ID.
         * Changing this parameter will create a new resource.
         */
        subnetId: pulumi.Input<string>;
        /**
         * Specifies the VPC ID.
         * Changing this parameter will create a new resource.
         */
        vpcId: pulumi.Input<string>;
    }
    interface ClusterNodeConfigVolume {
        /**
         * Specifies the volume size in **GB**, which must be a multiple of `10`.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the volume type. Value options are as follows:
         * + **COMMON**: Common I/O. The SATA disk is used.
         * + **HIGH**: High I/O. The SAS disk is used.
         * + **ULTRAHIGH**: Ultra-high I/O. The solid-state drive (SSD) is used.
         */
        volumeType: pulumi.Input<string>;
    }
    interface ClusterPublicAccess {
        /**
         * Specifies the public network bandwidth.
         */
        bandwidth: pulumi.Input<number>;
        publicIp?: pulumi.Input<string>;
        /**
         * Specifies the whitelist of access control. The whitelisted account id must be unique.
         */
        whitelist?: pulumi.Input<string>;
        /**
         * Specifies whether to enable the public network access control.
         */
        whitelistEnabled: pulumi.Input<boolean>;
    }
    interface ClusterVpcepEndpoint {
        /**
         * Specifies whether to enable the private domain name.
         */
        endpointWithDnsName: pulumi.Input<boolean>;
        /**
         * Specifies the whitelist of access control. The whitelisted account id must be unique.
         */
        whitelists?: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace Cts {
    interface NotificationFilter {
        /**
         * Specifies the relationship between multiple rules. The valid values are as follows:
         * + **AND**: Effective after all filtering conditions are met.
         * + **OR**: Effective when any one of the conditions is met.
         */
        condition: pulumi.Input<string>;
        /**
         * Specifies an array of filtering rules. It consists of three parts,
         * the first part is the **key**, the second part is the **rule**, and the third part is the **value**,
         * the format is: **key != value**.
         * + The **key** can be: **api_version**, **code**, **trace_rating**, **trace_type**, **resource_id** and
         * **resource_name**.
         * When the key is **api_version**, the value needs to follow the regular constraint: **^ (a-zA-Z0-9_ -.) {1,64}$**.
         * When the key is **code**, the length range of value is from `1` to `256`.
         * When the key is **trace_rating**, the value can be **normal**, **warning** or **incident**.
         * When the key is **trace_type**, the value can be **ConsoleAction**, **ApiCall** or **SystemAction**.
         * When the key is **resource_id**, the length range of value is from `1` to `350`.
         * When the key is **resource_name**, the length range of value is from `1` to `256`.
         * + The **rule** can be: **!=** or **=**.
         */
        rules: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface NotificationOperation {
        /**
         * Specifies the resource type.
         */
        resource: pulumi.Input<string>;
        /**
         * Specifies the cloud service.
         */
        service: pulumi.Input<string>;
        /**
         * Specifies an array of trace names.
         */
        traceNames: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface NotificationOperationUser {
        /**
         * Specifies the IAM user group name.
         */
        group: pulumi.Input<string>;
        /**
         * Specifies an array of IAM users in the group.
         */
        users: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace Dcs {
    interface InstanceBackupPolicy {
        /**
         * Day in a week on which backup starts, the value ranges from `1` to `7`.
         * Where: 1 indicates Monday; 7 indicates Sunday.
         */
        backupAts: pulumi.Input<pulumi.Input<number>[]>;
        /**
         * Backup type. Default value is `auto`. The valid values are as follows:
         * + `auto`: automatic backup.
         * + `manual`: manual backup.
         */
        backupType?: pulumi.Input<string>;
        /**
         * Time at which backup starts.
         * Format: `hh24:00-hh24:00`, "00:00-01:00" indicates that backup starts at 00:00:00.
         */
        beginAt: pulumi.Input<string>;
        /**
         * Interval at which backup is performed. Default value is `weekly`.
         * Currently, only weekly backup is supported.
         */
        periodType?: pulumi.Input<string>;
        /**
         * Retention time. Unit: day, the value ranges from `1` to `7`.
         * This parameter is required if the backupType is **auto**.
         */
        saveDays?: pulumi.Input<number>;
    }
    interface InstanceBandwidthInfo {
        /**
         * Indicates the bandwidth size, the unit is **GB**.
         */
        bandwidth?: pulumi.Input<number>;
        /**
         * Indicates the begin time of temporary increase.
         */
        beginTime?: pulumi.Input<string>;
        /**
         * Indicates the current time.
         */
        currentTime?: pulumi.Input<string>;
        /**
         * Indicates the end time of temporary increase.
         */
        endTime?: pulumi.Input<string>;
        /**
         * Indicates the number of increases.
         */
        expandCount?: pulumi.Input<number>;
        /**
         * Indicates the interval between temporary increases, the unit is **ms**.
         */
        expandEffectTime?: pulumi.Input<number>;
        /**
         * Indicates the time interval to the next increase, the unit is **ms**.
         */
        expandIntervalTime?: pulumi.Input<number>;
        /**
         * Indicates the maximum number of increases.
         */
        maxExpandCount?: pulumi.Input<number>;
        /**
         * Indicates the next increase time.
         */
        nextExpandTime?: pulumi.Input<string>;
        /**
         * Indicates whether the increase task is running.
         */
        taskRunning?: pulumi.Input<boolean>;
    }
    interface InstanceParameter {
        /**
         * Specifies the ID of the configuration item.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies the name of the configuration item.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the value of the configuration item.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceWhitelist {
        /**
         * Specifies the name of IP address group.
         */
        groupName: pulumi.Input<string>;
        /**
         * Specifies the list of IP address or CIDR which can be whitelisted for an instance.
         * The maximum is 20.
         */
        ipAddresses: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace Dds {
    interface DatabaseRoleInheritedPrivilege {
        /**
         * The operation permission list.
         */
        actions?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The details of the resource to which the privilege belongs.
         * The resources structure is documented below.
         */
        resources?: pulumi.Input<pulumi.Input<inputs.Dds.DatabaseRoleInheritedPrivilegeResource>[]>;
    }
    interface DatabaseRoleInheritedPrivilegeResource {
        /**
         * The database collection type.
         */
        collection?: pulumi.Input<string>;
        /**
         * Specifies the database name to which this owned role belongs.
         * Changing this parameter will create a new role.
         */
        dbName?: pulumi.Input<string>;
    }
    interface DatabaseRolePrivilege {
        /**
         * The operation permission list.
         */
        actions?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The details of the resource to which the privilege belongs.
         * The resources structure is documented below.
         */
        resources?: pulumi.Input<pulumi.Input<inputs.Dds.DatabaseRolePrivilegeResource>[]>;
    }
    interface DatabaseRolePrivilegeResource {
        /**
         * The database collection type.
         */
        collection?: pulumi.Input<string>;
        /**
         * Specifies the database name to which this owned role belongs.
         * Changing this parameter will create a new role.
         */
        dbName?: pulumi.Input<string>;
    }
    interface DatabaseRoleRole {
        /**
         * Specifies the database name to which this owned role belongs.
         * Changing this parameter will create a new role.
         */
        dbName: pulumi.Input<string>;
        /**
         * Specifies the name of role owned by the current role.
         * The name can contain `1` to `64` characters, only letters, digits, underscores (_), hyphens (-) and dots (.) are
         * allowed. Changing this parameter will create a new role.
         */
        name: pulumi.Input<string>;
    }
    interface DatabaseUserInheritedPrivilege {
        /**
         * The operation permission list.
         */
        actions?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The details of the resource to which the privilege belongs.
         * The resources structure is documented below.
         */
        resources?: pulumi.Input<pulumi.Input<inputs.Dds.DatabaseUserInheritedPrivilegeResource>[]>;
    }
    interface DatabaseUserInheritedPrivilegeResource {
        /**
         * The database collection type.
         */
        collection?: pulumi.Input<string>;
        /**
         * Specifies the database name to which this owned role belongs.
         * Changing this parameter will create a new user.
         */
        dbName?: pulumi.Input<string>;
    }
    interface DatabaseUserPrivilege {
        /**
         * The operation permission list.
         */
        actions?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * The details of the resource to which the privilege belongs.
         * The resources structure is documented below.
         */
        resources?: pulumi.Input<pulumi.Input<inputs.Dds.DatabaseUserPrivilegeResource>[]>;
    }
    interface DatabaseUserPrivilegeResource {
        /**
         * The database collection type.
         */
        collection?: pulumi.Input<string>;
        /**
         * Specifies the database name to which this owned role belongs.
         * Changing this parameter will create a new user.
         */
        dbName?: pulumi.Input<string>;
    }
    interface DatabaseUserRole {
        /**
         * Specifies the database name to which this owned role belongs.
         * Changing this parameter will create a new user.
         */
        dbName: pulumi.Input<string>;
        /**
         * Specifies the name of role owned by the current user.
         * The name can contain `1` to `64` characters, only letters, digits, underscores (_), hyphens (-) and dots (.) are
         * allowed. Changing this parameter will create a new user.
         */
        name: pulumi.Input<string>;
    }
    interface InstanceBackupStrategy {
        /**
         * Specifies the number of days to retain the generated backup files. The value range is
         * from 0 to 732. If this parameter is set to 0, the automated backup policy is disabled.
         */
        keepDays: pulumi.Input<number>;
        /**
         * Specifies the backup cycle. Data will be automatically backed up on the
         * selected days every week.
         * + If you set the `keepDays` to 0, this parameter is no need to set.
         * + If you set the `keepDays` within 6 days, set the parameter value to **1,2,3,4,5,6,7**, data is automatically
         * backed up on each day every week.
         * + If you set the `keepDays` between 7 and 732 days, set the parameter value to at least one day of every week.
         * For example: **1**, **3,5**.
         */
        period?: pulumi.Input<string>;
        /**
         * Specifies the backup time window. Automated backups will be triggered during
         * the backup time window. The value cannot be empty. It must be a valid value in the "hh:mm-HH:MM" format.
         * The current time is in the UTC format.
         * + The HH value must be 1 greater than the hh value.
         * + The values from mm and MM must be the same and must be set to **00**.
         */
        startTime: pulumi.Input<string>;
    }
    interface InstanceConfiguration {
        /**
         * Specifies the ID of the template.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies the node type. Valid value:
         * + For a cluster instance, the value can be **mongos**, **shard**, or **config**.
         * + For a replica set instance, the value is **replica**.
         */
        type: pulumi.Input<string>;
    }
    interface InstanceDatastore {
        /**
         * Specifies the storage engine of the DB instance.
         * If `version` is set to `4.0`, the value is **wiredTiger**.
         * If `version` is set to `4.2`, `4.4` or `5.0`, the value is **rocksDB**.
         */
        storageEngine?: pulumi.Input<string>;
        /**
         * Specifies the node type. Valid value:
         * + For a cluster instance, the value can be **mongos**, **shard**, or **config**.
         * + For a replica set instance, the value is **replica**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the DB instance version. For the Community Edition, the valid
         * values are `4.0`, `4.2`, `4.4` or `5.0`.
         */
        version: pulumi.Input<string>;
    }
    interface InstanceFlavor {
        /**
         * Specifies the node quantity. Valid value:
         * + If the value of type is **mongos**, num indicates the number of mongos nodes in the cluster instance. Value ranges
         * from `2` to `16`.
         * + If the value of type is **shard**, num indicates the number of shard groups in the cluster instance. Value ranges
         * from `2` to `16`.
         * + If the value of type is **config**, num indicates the number of config groups in the cluster instance. Value can
         * only be `1`.
         * + If the value of type is **replica**, num indicates the number of replica nodes in the replica set instance. Value
         * can be `3`, `5`, or `7`.
         */
        num: pulumi.Input<number>;
        /**
         * Specifies the disk size. The value must be a multiple of `10`. The unit is GB. This parameter
         * is mandatory for nodes except mongos and invalid for mongos.For a cluster instance, the storage space of a shard node
         * can be `10` to `2,000` GB, and the config storage space is `20` GB. For a replica set instance, the value ranges
         * from `10` to `3000` GB. This parameter can be updated when the value of `type` is shard or replica.
         */
        size?: pulumi.Input<number>;
        /**
         * Specifies the resource specification code. In a cluster instance, multiple
         * specifications need to be specified. All specifications must be of the same series, that is, general-purpose (s6),
         * enhanced (c3), or enhanced II (c6). For example:
         * + dds.mongodb.s6.large.4.mongos and dds.mongodb.s6.large.4.config have the same specifications.
         * + dds.mongodb.s6.large.4.mongos and dds.mongodb.c3.large.4.config are not of the same specifications.
         */
        specCode: pulumi.Input<string>;
        /**
         * Specifies the disk type. Valid value:
         * + **ULTRAHIGH**: SSD storage.
         * + **EXTREMEHIGH**: Extreme SSD storage.
         */
        storage?: pulumi.Input<string>;
        /**
         * Specifies the node type. Valid value:
         * + For a cluster instance, the value can be **mongos**, **shard**, or **config**.
         * + For a replica set instance, the value is **replica**.
         */
        type: pulumi.Input<string>;
    }
    interface InstanceGroup {
        /**
         * Specifies the ID of the template.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the DB instance name. The DB instance name of the same type is unique in the
         * same tenant.
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates the nodes info.
         * The nodes structure is documented below.
         */
        nodes?: pulumi.Input<pulumi.Input<inputs.Dds.InstanceGroupNode>[]>;
        /**
         * Specifies the disk size. The value must be a multiple of `10`. The unit is GB. This parameter
         * is mandatory for nodes except mongos and invalid for mongos.For a cluster instance, the storage space of a shard node
         * can be `10` to `2,000` GB, and the config storage space is `20` GB. For a replica set instance, the value ranges
         * from `10` to `3000` GB. This parameter can be updated when the value of `type` is shard or replica.
         */
        size?: pulumi.Input<string>;
        /**
         * Indicates the node status.
         */
        status?: pulumi.Input<string>;
        /**
         * Specifies the node type. Valid value:
         * + For a cluster instance, the value can be **mongos**, **shard**, or **config**.
         * + For a replica set instance, the value is **replica**.
         */
        type?: pulumi.Input<string>;
        /**
         * Indicates the disk usage.
         */
        used?: pulumi.Input<string>;
    }
    interface InstanceGroupNode {
        /**
         * Specifies the ID of the template.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the DB instance name. The DB instance name of the same type is unique in the
         * same tenant.
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates the private IP address of a node. This parameter is valid only for mongos nodes, replica set
         * instances, and single node instances.
         */
        privateIp?: pulumi.Input<string>;
        /**
         * Indicates the EIP that has been bound on a node. This parameter is valid only for mongos nodes of
         * cluster instances, primary nodes and secondary nodes of replica set instances, and single node instances.
         */
        publicIp?: pulumi.Input<string>;
        /**
         * Indicates the node role.
         */
        role?: pulumi.Input<string>;
        /**
         * Indicates the node status.
         */
        status?: pulumi.Input<string>;
        /**
         * Specifies the node type. Valid value:
         * + For a cluster instance, the value can be **mongos**, **shard**, or **config**.
         * + For a replica set instance, the value is **replica**.
         */
        type?: pulumi.Input<string>;
    }
    interface InstanceNode {
        /**
         * Specifies the ID of the template.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the DB instance name. The DB instance name of the same type is unique in the
         * same tenant.
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates the private IP address of a node. This parameter is valid only for mongos nodes, replica set
         * instances, and single node instances.
         */
        privateIp?: pulumi.Input<string>;
        /**
         * Indicates the EIP that has been bound on a node. This parameter is valid only for mongos nodes of
         * cluster instances, primary nodes and secondary nodes of replica set instances, and single node instances.
         */
        publicIp?: pulumi.Input<string>;
        /**
         * Indicates the node role.
         */
        role?: pulumi.Input<string>;
        /**
         * Indicates the node status.
         */
        status?: pulumi.Input<string>;
        /**
         * Specifies the node type. Valid value:
         * + For a cluster instance, the value can be **mongos**, **shard**, or **config**.
         * + For a replica set instance, the value is **replica**.
         */
        type?: pulumi.Input<string>;
    }
}
export declare namespace DedicatedApig {
    interface ApiBackendParam {
        /**
         * Specifies the description of the constant or system parameter.
         * The description contains a maximum of `255` characters and the angle brackets (< and >) are not allowed.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the location of the backend parameter.
         * The valid values are **PATH**, **QUERY** and **HEADER**.
         */
        location: pulumi.Input<string>;
        /**
         * Specifies the backend policy name.
         * The valid length is limited from `3` to `64`, only letters, digits and underscores (_) are allowed.
         * It must start with a letter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the type of the system parameter.
         * The valid values are **frontend**, **backend** and **internal**, defaults to **internal**.
         */
        systemParamType?: pulumi.Input<string>;
        /**
         * Specifies the condition type of the backend policy.
         * The valid values are **Equal**, **Enumerated** and **Matching**, defaults to **Equal**.
         * When the `sysName` is **req_method**, the valid values are **Equal** and **Enumerated**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the value of the backend policy.
         * For a condition with the input parameter source:
         * + If the condition type is **Enumerated**, separate condition values with commas.
         * + If the condition type is **Matching**, enter a regular expression compatible with PERL.
         */
        value: pulumi.Input<string>;
    }
    interface ApiFuncGraph {
        /**
         * Specifies the ID of the backend custom authorization.
         */
        authorizerId?: pulumi.Input<string>;
        /**
         * Specifies the alias URN of the FunctionGraph function.
         * The format is `{function_urn}:!{alias}`.
         */
        functionAliasUrn?: pulumi.Input<string>;
        /**
         * Specifies the URN of the FunctionGraph function.
         */
        functionUrn: pulumi.Input<string>;
        /**
         * Specifies the invocation mode of the FunctionGraph function.
         * The valid values are **async** and **sync**, defaults to **sync**.
         */
        invocationType?: pulumi.Input<string>;
        /**
         * Specifies the network architecture (framework) type of the FunctionGraph function.
         * **V1**: Non-VPC network framework.
         * **V2**: VPC network framework.
         */
        networkType?: pulumi.Input<string>;
        /**
         * Specifies the backend request protocol. The valid values are **HTTP** and
         * **HTTPS**, defaults to **HTTPS**.
         */
        requestProtocol?: pulumi.Input<string>;
        /**
         * Specifies the timeout, in ms, which allowed for APIG to request the backend service. The
         * valid value is range from `1` to `600,000`, defaults to `5,000`.
         */
        timeout?: pulumi.Input<number>;
        /**
         * Specifies the version of the FunctionGraph function.
         * Required if the parameter `functionAliasUrn` is omitted and this parameter is useless if the parameter
         * `functionAliasUrn` is set.
         */
        version?: pulumi.Input<string>;
    }
    interface ApiFuncGraphPolicy {
        /**
         * Specifies the ID of the backend custom authorization.
         */
        authorizerId?: pulumi.Input<string>;
        /**
         * Specifies an array of one or more backend parameters. The maximum of request
         * parameters is 50. The object structure is documented above.
         */
        backendParams?: pulumi.Input<pulumi.Input<inputs.DedicatedApig.ApiFuncGraphPolicyBackendParam>[]>;
        /**
         * Specifies an array of one or more policy conditions.
         * Up to five conditions can be set.
         * The object structure is documented below.
         */
        conditions: pulumi.Input<pulumi.Input<inputs.DedicatedApig.ApiFuncGraphPolicyCondition>[]>;
        /**
         * Specifies the effective mode of the backend policy. The valid values are **ALL**
         * and **ANY**, defaults to **ANY**.
         */
        effectiveMode?: pulumi.Input<string>;
        /**
         * Specifies the alias URN of the FunctionGraph function.
         * The format is `{function_urn}:!{alias}`.
         */
        functionAliasUrn?: pulumi.Input<string>;
        /**
         * Specifies the URN of the FunctionGraph function.
         */
        functionUrn: pulumi.Input<string>;
        invocationMode?: pulumi.Input<string>;
        /**
         * Specifies the invocation mode of the FunctionGraph function.
         * The valid values are **async** and **sync**, defaults to **sync**.
         */
        invocationType?: pulumi.Input<string>;
        /**
         * Specifies the backend policy name.
         * The valid length is limited from `3` to `64`, only letters, digits and underscores (_) are allowed.
         * It must start with a letter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the network architecture (framework) type of the FunctionGraph function.
         * **V1**: Non-VPC network framework.
         * **V2**: VPC network framework.
         */
        networkType?: pulumi.Input<string>;
        /**
         * Specifies the backend request protocol. The valid values are **HTTP** and
         * **HTTPS**, defaults to **HTTPS**.
         */
        requestProtocol?: pulumi.Input<string>;
        /**
         * Specifies the timeout, in ms, which allowed for APIG to request the backend service. The
         * valid value is range from `1` to `600,000`, defaults to `5,000`.
         */
        timeout?: pulumi.Input<number>;
        /**
         * Specifies the version of the FunctionGraph function.
         * Required if the parameter `functionAliasUrn` is omitted and this parameter is useless if the parameter
         * `functionAliasUrn` is set.
         */
        version?: pulumi.Input<string>;
    }
    interface ApiFuncGraphPolicyBackendParam {
        /**
         * Specifies the description of the constant or system parameter.
         * The description contains a maximum of `255` characters and the angle brackets (< and >) are not allowed.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the location of the backend parameter.
         * The valid values are **PATH**, **QUERY** and **HEADER**.
         */
        location: pulumi.Input<string>;
        /**
         * Specifies the backend policy name.
         * The valid length is limited from `3` to `64`, only letters, digits and underscores (_) are allowed.
         * It must start with a letter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the type of the system parameter.
         * The valid values are **frontend**, **backend** and **internal**, defaults to **internal**.
         */
        systemParamType?: pulumi.Input<string>;
        /**
         * Specifies the condition type of the backend policy.
         * The valid values are **Equal**, **Enumerated** and **Matching**, defaults to **Equal**.
         * When the `sysName` is **req_method**, the valid values are **Equal** and **Enumerated**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the value of the backend policy.
         * For a condition with the input parameter source:
         * + If the condition type is **Enumerated**, separate condition values with commas.
         * + If the condition type is **Matching**, enter a regular expression compatible with PERL.
         */
        value: pulumi.Input<string>;
    }
    interface ApiFuncGraphPolicyCondition {
        /**
         * Specifies the cookie parameter name.
         * This parameter is required if the policy type is **cookie**.
         */
        cookieName?: pulumi.Input<string>;
        /**
         * Specifies the frontend authentication parameter name.
         * This parameter is required if the policy type is **frontend_authorizer**. It consists of two parts,
         * the first part is the fixed format **$context.authorizer.frontend.**, and the second part is the
         * frontend authentication parameter name. e.g. **$context.authorizer.frontend.user_name**.
         */
        frontendAuthorizerName?: pulumi.Input<string>;
        /**
         * Specifies the location of a parameter generated after orchestration.
         * This parameter is required if the policy type is **orchestration**.
         * The generated parameter location must exist in the orchestration rule bound to the API.
         */
        mappedParamLocation?: pulumi.Input<string>;
        /**
         * Specifies the name of a parameter generated after orchestration.
         * This parameter is required if the policy type is **orchestration**.
         * The generated parameter name must exist in the orchestration rule bound to the API.
         */
        mappedParamName?: pulumi.Input<string>;
        /**
         * Specifies the request parameter name.
         * This parameter is required if the policy type is **param**. The valid values are **user_age** and **X-TEST-ENUM**.
         */
        paramName?: pulumi.Input<string>;
        /**
         * Specifies the backend policy type.
         * The valid values are **param**, **source**, **system**, **cookie** and **frontend_authorizer**, defaults to **source**.
         */
        source?: pulumi.Input<string>;
        /**
         * Specifies the gateway built-in parameter name.
         * This parameter is required if the policy type is **system**.
         * The valid values are **req_path** and **req_method**.
         */
        sysName?: pulumi.Input<string>;
        /**
         * Specifies the condition type of the backend policy.
         * The valid values are **Equal**, **Enumerated** and **Matching**, defaults to **Equal**.
         * When the `sysName` is **req_method**, the valid values are **Equal** and **Enumerated**.
         */
        type?: pulumi.Input<string>;
        /**
         * Specifies the value of the backend policy.
         * For a condition with the input parameter source:
         * + If the condition type is **Enumerated**, separate condition values with commas.
         * + If the condition type is **Matching**, enter a regular expression compatible with PERL.
         */
        value: pulumi.Input<string>;
    }
    interface ApiMock {
        /**
         * Specifies the ID of the backend custom authorization.
         */
        authorizerId?: pulumi.Input<string>;
        /**
         * Specifies the response content of the mock.
         * The description contains a maximum of `2,048` characters and the angle brackets (< and >) are not allowed.
         */
        response?: pulumi.Input<string>;
        /**
         * Specifies the custom status code of the mock response.
         */
        statusCode?: pulumi.Input<number>;
    }
    interface ApiMockPolicy {
        /**
         * Specifies the ID of the backend custom authorization.
         */
        authorizerId?: pulumi.Input<string>;
        /**
         * Specifies an array of one or more backend parameters. The maximum of request
         * parameters is 50. The object structure is documented above.
         */
        backendParams?: pulumi.Input<pulumi.Input<inputs.DedicatedApig.ApiMockPolicyBackendParam>[]>;
        /**
         * Specifies an array of one or more policy conditions.
         * Up to five conditions can be set.
         * The object structure is documented below.
         */
        conditions: pulumi.Input<pulumi.Input<inputs.DedicatedApig.ApiMockPolicyCondition>[]>;
        /**
         * Specifies the effective mode of the backend policy. The valid values are **ALL**
         * and **ANY**, defaults to **ANY**.
         */
        effectiveMode?: pulumi.Input<string>;
        /**
         * Specifies the backend policy name.
         * The valid length is limited from `3` to `64`, only letters, digits and underscores (_) are allowed.
         * It must start with a letter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the response content of the mock.
         * The description contains a maximum of `2,048` characters and the angle brackets (< and >) are not allowed.
         */
        response?: pulumi.Input<string>;
        /**
         * Specifies the custom status code of the mock response.
         */
        statusCode?: pulumi.Input<number>;
    }
    interface ApiMockPolicyBackendParam {
        /**
         * Specifies the description of the constant or system parameter.
         * The description contains a maximum of `255` characters and the angle brackets (< and >) are not allowed.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the location of the backend parameter.
         * The valid values are **PATH**, **QUERY** and **HEADER**.
         */
        location: pulumi.Input<string>;
        /**
         * Specifies the backend policy name.
         * The valid length is limited from `3` to `64`, only letters, digits and underscores (_) are allowed.
         * It must start with a letter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the type of the system parameter.
         * The valid values are **frontend**, **backend** and **internal**, defaults to **internal**.
         */
        systemParamType?: pulumi.Input<string>;
        /**
         * Specifies the condition type of the backend policy.
         * The valid values are **Equal**, **Enumerated** and **Matching**, defaults to **Equal**.
         * When the `sysName` is **req_method**, the valid values are **Equal** and **Enumerated**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the value of the backend policy.
         * For a condition with the input parameter source:
         * + If the condition type is **Enumerated**, separate condition values with commas.
         * + If the condition type is **Matching**, enter a regular expression compatible with PERL.
         */
        value: pulumi.Input<string>;
    }
    interface ApiMockPolicyCondition {
        /**
         * Specifies the cookie parameter name.
         * This parameter is required if the policy type is **cookie**.
         */
        cookieName?: pulumi.Input<string>;
        /**
         * Specifies the frontend authentication parameter name.
         * This parameter is required if the policy type is **frontend_authorizer**. It consists of two parts,
         * the first part is the fixed format **$context.authorizer.frontend.**, and the second part is the
         * frontend authentication parameter name. e.g. **$context.authorizer.frontend.user_name**.
         */
        frontendAuthorizerName?: pulumi.Input<string>;
        /**
         * Specifies the location of a parameter generated after orchestration.
         * This parameter is required if the policy type is **orchestration**.
         * The generated parameter location must exist in the orchestration rule bound to the API.
         */
        mappedParamLocation?: pulumi.Input<string>;
        /**
         * Specifies the name of a parameter generated after orchestration.
         * This parameter is required if the policy type is **orchestration**.
         * The generated parameter name must exist in the orchestration rule bound to the API.
         */
        mappedParamName?: pulumi.Input<string>;
        /**
         * Specifies the request parameter name.
         * This parameter is required if the policy type is **param**. The valid values are **user_age** and **X-TEST-ENUM**.
         */
        paramName?: pulumi.Input<string>;
        /**
         * Specifies the backend policy type.
         * The valid values are **param**, **source**, **system**, **cookie** and **frontend_authorizer**, defaults to **source**.
         */
        source?: pulumi.Input<string>;
        /**
         * Specifies the gateway built-in parameter name.
         * This parameter is required if the policy type is **system**.
         * The valid values are **req_path** and **req_method**.
         */
        sysName?: pulumi.Input<string>;
        /**
         * Specifies the condition type of the backend policy.
         * The valid values are **Equal**, **Enumerated** and **Matching**, defaults to **Equal**.
         * When the `sysName` is **req_method**, the valid values are **Equal** and **Enumerated**.
         */
        type?: pulumi.Input<string>;
        /**
         * Specifies the value of the backend policy.
         * For a condition with the input parameter source:
         * + If the condition type is **Enumerated**, separate condition values with commas.
         * + If the condition type is **Matching**, enter a regular expression compatible with PERL.
         */
        value: pulumi.Input<string>;
    }
    interface ApiPublishmentHistory {
        /**
         * Specifies the description of the current publishment.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the version ID of the current publishment.
         */
        versionId?: pulumi.Input<string>;
    }
    interface ApiRequestParam {
        /**
         * Specifies the default value of the request parameter.
         * The value contains a maximum of `255` characters and the angle brackets (< and >) are not allowed.
         */
        default?: pulumi.Input<string>;
        /**
         * Specifies the description of the constant or system parameter.
         * The description contains a maximum of `255` characters and the angle brackets (< and >) are not allowed.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the enumerated value(s).
         * Use commas to separate multiple enumeration values, such as **VALUE_A,VALUE_B**.
         */
        enumeration?: pulumi.Input<string>;
        /**
         * Specifies the example value of the request parameter.
         * The example contains a maximum of `255` characters and the angle brackets (< and >) are not allowed.
         */
        example?: pulumi.Input<string>;
        /**
         * Specifies the location of the backend parameter.
         * The valid values are **PATH**, **QUERY** and **HEADER**.
         */
        location?: pulumi.Input<string>;
        /**
         * Specifies the maximum value or size of the request parameter.
         */
        maximum?: pulumi.Input<number>;
        /**
         * Specifies the minimum value or size of the request parameter.
         */
        minimum?: pulumi.Input<number>;
        /**
         * Specifies the backend policy name.
         * The valid length is limited from `3` to `64`, only letters, digits and underscores (_) are allowed.
         * It must start with a letter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the list of orchestration rule IDs which parameter used.
         * The order of the IDs determines the priority of the rules, and the priority decreases according to the order of the
         * list elements.
         */
        orchestrations?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies whether to transparently transfer the parameter.
         */
        passthrough?: pulumi.Input<boolean>;
        /**
         * Specifies whether the request parameter is required.
         */
        required?: pulumi.Input<boolean>;
        /**
         * Specifies the condition type of the backend policy.
         * The valid values are **Equal**, **Enumerated** and **Matching**, defaults to **Equal**.
         * When the `sysName` is **req_method**, the valid values are **Equal** and **Enumerated**.
         */
        type?: pulumi.Input<string>;
        /**
         * Specifies whether to enable the parameter validation.
         * + **1**: enable
         * + **2**: disable (by default)
         */
        validEnable?: pulumi.Input<number>;
    }
    interface ApiWeb {
        /**
         * Specifies the ID of the backend custom authorization.
         */
        authorizerId?: pulumi.Input<string>;
        /**
         * Specifies the backend service address.
         * The value which consists of a domain name or IP address, and a port number, with not more than `255` characters.
         * The backend service address must be in the format "{host name}:{Port number}", for example, `apig.example.com:7443`.
         * If the port number is not specified, the default HTTPS port `443`, or the default HTTP port `80` is used.
         * The backend service address can contain environment variables, each starting with a letter and consisting of `3` to
         * `32` characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.
         */
        backendAddress?: pulumi.Input<string>;
        /**
         * Specifies the proxy host header.
         * The host header can be customized for requests to be forwarded to cloud servers through the VPC channel.
         * By default, the original host header of the request is used.
         */
        hostHeader?: pulumi.Input<string>;
        /**
         * Specifies the backend request address, which can contain a maximum of `512` characters and
         * must comply with URI specifications.
         * + The address can contain request parameters enclosed with brackets ({}).
         * + The address can contain special characters, such as asterisks (*), percent signs (%), hyphens (-) and
         * underscores (_) and must comply with URI specifications.
         * + The address can contain environment variables, each starting with a letter and consisting of `3` to `32` characters.
         * Only letters, digits, hyphens (-), and underscores (_) are allowed in environment variables.
         */
        path: pulumi.Input<string>;
        /**
         * Specifies the backend request method of the API.
         * The valid types are **GET**, **POST**, **PUT**, **DELETE**, **HEAD**, **PATCH**, **OPTIONS** and **ANY**.
         */
        requestMethod?: pulumi.Input<string>;
        /**
         * Specifies the backend request protocol. The valid values are **HTTP** and
         * **HTTPS**, defaults to **HTTPS**.
         */
        requestProtocol?: pulumi.Input<string>;
        /**
         * Specifies the number of retry attempts to request the backend service.
         * The valid value ranges from `-1` to `10`, defaults to `-1`.
         * `-1` indicates that idempotent APIs will retry once and non-idempotent APIs will not retry.
         * **POST** and **PATCH** are not-idempotent.
         * **GET**, **HEAD**, **PUT**, **OPTIONS** and **DELETE** are idempotent.
         */
        retryCount?: pulumi.Input<number>;
        /**
         * Specifies whether to enable two-way authentication, defaults to **false**.
         */
        sslEnable?: pulumi.Input<boolean>;
        /**
         * Specifies the timeout, in ms, which allowed for APIG to request the backend service. The
         * valid value is range from `1` to `600,000`, defaults to `5,000`.
         */
        timeout?: pulumi.Input<number>;
        /**
         * Specifies the VPC channel ID.
         * This parameter and `backendAddress` are alternative.
         */
        vpcChannelId?: pulumi.Input<string>;
    }
    interface ApiWebPolicy {
        /**
         * Specifies the ID of the backend custom authorization.
         */
        authorizerId?: pulumi.Input<string>;
        /**
         * Specifies the backend service address.
         * The value which consists of a domain name or IP address, and a port number, with not more than `255` characters.
         * The backend service address must be in the format "{host name}:{Port number}", for example, `apig.example.com:7443`.
         * If the port number is not specified, the default HTTPS port `443`, or the default HTTP port `80` is used.
         * The backend service address can contain environment variables, each starting with a letter and consisting of `3` to
         * `32` characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.
         */
        backendAddress?: pulumi.Input<string>;
        /**
         * Specifies an array of one or more backend parameters. The maximum of request
         * parameters is 50. The object structure is documented above.
         */
        backendParams?: pulumi.Input<pulumi.Input<inputs.DedicatedApig.ApiWebPolicyBackendParam>[]>;
        /**
         * Specifies an array of one or more policy conditions.
         * Up to five conditions can be set.
         * The object structure is documented below.
         */
        conditions: pulumi.Input<pulumi.Input<inputs.DedicatedApig.ApiWebPolicyCondition>[]>;
        /**
         * Specifies the effective mode of the backend policy. The valid values are **ALL**
         * and **ANY**, defaults to **ANY**.
         */
        effectiveMode?: pulumi.Input<string>;
        /**
         * Specifies the proxy host header.
         * The host header can be customized for requests to be forwarded to cloud servers through the VPC channel.
         * By default, the original host header of the request is used.
         */
        hostHeader?: pulumi.Input<string>;
        /**
         * Specifies the backend policy name.
         * The valid length is limited from `3` to `64`, only letters, digits and underscores (_) are allowed.
         * It must start with a letter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the backend request address, which can contain a maximum of `512` characters and
         * must comply with URI specifications.
         * + The address can contain request parameters enclosed with brackets ({}).
         * + The address can contain special characters, such as asterisks (*), percent signs (%), hyphens (-) and
         * underscores (_) and must comply with URI specifications.
         * + The address can contain environment variables, each starting with a letter and consisting of `3` to `32` characters.
         * Only letters, digits, hyphens (-), and underscores (_) are allowed in environment variables.
         */
        path: pulumi.Input<string>;
        /**
         * Specifies the backend request method of the API.
         * The valid types are **GET**, **POST**, **PUT**, **DELETE**, **HEAD**, **PATCH**, **OPTIONS** and **ANY**.
         */
        requestMethod: pulumi.Input<string>;
        /**
         * Specifies the backend request protocol. The valid values are **HTTP** and
         * **HTTPS**, defaults to **HTTPS**.
         */
        requestProtocol?: pulumi.Input<string>;
        /**
         * Specifies the number of retry attempts to request the backend service.
         * The valid value ranges from `-1` to `10`, defaults to `-1`.
         * `-1` indicates that idempotent APIs will retry once and non-idempotent APIs will not retry.
         * **POST** and **PATCH** are not-idempotent.
         * **GET**, **HEAD**, **PUT**, **OPTIONS** and **DELETE** are idempotent.
         */
        retryCount?: pulumi.Input<number>;
        /**
         * Specifies the timeout, in ms, which allowed for APIG to request the backend service. The
         * valid value is range from `1` to `600,000`, defaults to `5,000`.
         */
        timeout?: pulumi.Input<number>;
        /**
         * Specifies the VPC channel ID.
         * This parameter and `backendAddress` are alternative.
         */
        vpcChannelId?: pulumi.Input<string>;
    }
    interface ApiWebPolicyBackendParam {
        /**
         * Specifies the description of the constant or system parameter.
         * The description contains a maximum of `255` characters and the angle brackets (< and >) are not allowed.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the location of the backend parameter.
         * The valid values are **PATH**, **QUERY** and **HEADER**.
         */
        location: pulumi.Input<string>;
        /**
         * Specifies the backend policy name.
         * The valid length is limited from `3` to `64`, only letters, digits and underscores (_) are allowed.
         * It must start with a letter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the type of the system parameter.
         * The valid values are **frontend**, **backend** and **internal**, defaults to **internal**.
         */
        systemParamType?: pulumi.Input<string>;
        /**
         * Specifies the condition type of the backend policy.
         * The valid values are **Equal**, **Enumerated** and **Matching**, defaults to **Equal**.
         * When the `sysName` is **req_method**, the valid values are **Equal** and **Enumerated**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the value of the backend policy.
         * For a condition with the input parameter source:
         * + If the condition type is **Enumerated**, separate condition values with commas.
         * + If the condition type is **Matching**, enter a regular expression compatible with PERL.
         */
        value: pulumi.Input<string>;
    }
    interface ApiWebPolicyCondition {
        /**
         * Specifies the cookie parameter name.
         * This parameter is required if the policy type is **cookie**.
         */
        cookieName?: pulumi.Input<string>;
        /**
         * Specifies the frontend authentication parameter name.
         * This parameter is required if the policy type is **frontend_authorizer**. It consists of two parts,
         * the first part is the fixed format **$context.authorizer.frontend.**, and the second part is the
         * frontend authentication parameter name. e.g. **$context.authorizer.frontend.user_name**.
         */
        frontendAuthorizerName?: pulumi.Input<string>;
        /**
         * Specifies the location of a parameter generated after orchestration.
         * This parameter is required if the policy type is **orchestration**.
         * The generated parameter location must exist in the orchestration rule bound to the API.
         */
        mappedParamLocation?: pulumi.Input<string>;
        /**
         * Specifies the name of a parameter generated after orchestration.
         * This parameter is required if the policy type is **orchestration**.
         * The generated parameter name must exist in the orchestration rule bound to the API.
         */
        mappedParamName?: pulumi.Input<string>;
        /**
         * Specifies the request parameter name.
         * This parameter is required if the policy type is **param**. The valid values are **user_age** and **X-TEST-ENUM**.
         */
        paramName?: pulumi.Input<string>;
        /**
         * Specifies the backend policy type.
         * The valid values are **param**, **source**, **system**, **cookie** and **frontend_authorizer**, defaults to **source**.
         */
        source?: pulumi.Input<string>;
        /**
         * Specifies the gateway built-in parameter name.
         * This parameter is required if the policy type is **system**.
         * The valid values are **req_path** and **req_method**.
         */
        sysName?: pulumi.Input<string>;
        /**
         * Specifies the condition type of the backend policy.
         * The valid values are **Equal**, **Enumerated** and **Matching**, defaults to **Equal**.
         * When the `sysName` is **req_method**, the valid values are **Equal** and **Enumerated**.
         */
        type?: pulumi.Input<string>;
        /**
         * Specifies the value of the backend policy.
         * For a condition with the input parameter source:
         * + If the condition type is **Enumerated**, separate condition values with commas.
         * + If the condition type is **Matching**, enter a regular expression compatible with PERL.
         */
        value: pulumi.Input<string>;
    }
    interface CustomAuthorizerIdentity {
        /**
         * Specifies the parameter location, which support **HEADER** and **QUERY**.
         */
        location: pulumi.Input<string>;
        /**
         * Specifies the name of the parameter to be verified.
         * The parameter includes front-end and back-end parameters.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the parameter verification expression.
         * If omitted, the custom authorizer will not perform verification.
         * The valid value is range form `1` to `2,048`.
         */
        validation?: pulumi.Input<string>;
    }
    interface GroupEnvironment {
        /**
         * Specifies the environment ID of the associated group.
         */
        environmentId: pulumi.Input<string>;
        /**
         * Specifies an array of one or more environment variables.
         * The object structure is documented below.
         */
        variables: pulumi.Input<pulumi.Input<inputs.DedicatedApig.GroupEnvironmentVariable>[]>;
    }
    interface GroupEnvironmentVariable {
        /**
         * The variable ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the variable name.
         * The valid length is limited from `3` to `32` characters.
         * Only letters, digits, hyphens (-), and underscores (_) are allowed, and must start with a letter.
         * In the definition of an API, `name` (case-sensitive) indicates a variable, such as #Name#.
         * It is replaced by the actual value when the API is published in an environment.
         * The variable names are not allowed to be repeated for an API group.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the variable value.
         * The valid length is limited from `1` to `255` characters.
         * Only letters, digits and special characters (_-/.:) are allowed.
         */
        value: pulumi.Input<string>;
        /**
         * @deprecated Use 'id' instead
         */
        variableId?: pulumi.Input<string>;
    }
    interface GroupUrlDomain {
        /**
         * Whether to enable redirection from `HTTP` to `HTTPS`.
         */
        isHttpRedirectToHttps?: pulumi.Input<boolean>;
        /**
         * The minimum SSL protocol version.
         * + **TLSv1.1**
         * + **TLSv1.2**
         */
        minSslVersion?: pulumi.Input<string>;
        /**
         * Specifies the variable name.
         * The valid length is limited from `3` to `32` characters.
         * Only letters, digits, hyphens (-), and underscores (_) are allowed, and must start with a letter.
         * In the definition of an API, `name` (case-sensitive) indicates a variable, such as #Name#.
         * It is replaced by the actual value when the API is published in an environment.
         * The variable names are not allowed to be repeated for an API group.
         */
        name: pulumi.Input<string>;
    }
    interface InstanceCustomIngressPort {
        /**
         * The ID of the custom ingress port.
         */
        id?: pulumi.Input<string>;
        /**
         * Specified port of the custom ingress port.
         * The valid value is range form `1,024` to `49,151`.
         */
        port: pulumi.Input<number>;
        /**
         * Specified protocol of the custom ingress port.
         * The valid values are as follows:
         * + **HTTP**
         * + **HTTPS**
         */
        protocol: pulumi.Input<string>;
        /**
         * The current status of the custom ingress port.
         * + **normal**
         * + **abnormal**
         */
        status?: pulumi.Input<string>;
    }
    interface ResponseRule {
        /**
         * Specifies the body template of the API response rule, e.g.
         * `{\"code\":\"$context.authorizer.frontend.code\",\"message\":\"$context.authorizer.frontend.message\"}`
         */
        body: pulumi.Input<string>;
        /**
         * Specifies the error type of the API response rule.
         * The valid values and the related default status code are as follows:
         * + **ACCESS_DENIED**: (**403**) Access denied.
         * + **AUTH_FAILURE**: (**401**) Authentication failed.
         * + **AUTH_HEADER_MISSING**: (**401**) The identity source is missing.
         * + **AUTHORIZER_CONF_FAILURE**: (**500**) There has been a custom authorizer error.
         * + **AUTHORIZER_FAILURE**: (**500**) Custom authentication failed.
         * + **AUTHORIZER_IDENTITIES_FAILURE**: (**401**) The identity source of the custom authorizer is invalid.
         * + **BACKEND_TIMEOUT**: (**504**) Communication with the backend service timed out.
         * + **BACKEND_UNAVAILABLE**: (**502**) The backend service is unavailable.
         * + **NOT_FOUND**: (**404**) No API is found.
         * + **REQUEST_PARAMETERS_FAILURE**: (**400**) The request parameters are incorrect.
         * + **THROTTLED**: (**429**) The request was rejected due to request throttling.
         * + **UNAUTHORIZED**: (**401**) The app you are using has not been authorized to call the API.
         * + **DEFAULT_4XX**: (**NONE**) Another 4XX error occurred.
         * + **DEFAULT_5XX**: (**NONE**) Another 5XX error occurred.
         * + **THIRD_AUTH_CONF_FAILURE**: (**500**) Third-party authorizer configuration error.
         * + **THIRD_AUTH_FAILURE**: (**401**) Third-party authentication failed.
         * + **THIRD_AUTH_IDENTITIES_FAILURE**: (**401**) Identity source of the third-party authorizer is invalid.
         */
        errorType: pulumi.Input<string>;
        /**
         * Specifies the configuration of the custom response headers.
         * The headers structure is documented below.
         */
        headers?: pulumi.Input<pulumi.Input<inputs.DedicatedApig.ResponseRuleHeader>[]>;
        /**
         * Specifies the HTTP status code of the API response rule.
         * The valid value is range from `200` to `599`.
         */
        statusCode?: pulumi.Input<number>;
    }
    interface ResponseRuleHeader {
        /**
         * Specifies the key name of the response header.
         * The valid length is limited from `1` to `128`, only English letters, digits and hyphens (-) are allowed.
         */
        key: pulumi.Input<string>;
        /**
         * Specifies the value for the specified response header key.
         * The valid length is limited from `1` to `1,024`.
         */
        value: pulumi.Input<string>;
    }
    interface ThrottlingPolicyAppThrottle {
        /**
         * ID of the special user/application throttling policy.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the maximum number of times an API can be accessed within a specified
         * period.
         */
        maxApiRequests: pulumi.Input<number>;
        /**
         * Specifies the object ID which the special throttling policy belongs.
         */
        throttlingObjectId: pulumi.Input<string>;
        /**
         * The object name which the special user/application throttling policy belongs.
         */
        throttlingObjectName?: pulumi.Input<string>;
    }
    interface ThrottlingPolicyUserThrottle {
        /**
         * ID of the special user/application throttling policy.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the maximum number of times an API can be accessed within a specified
         * period.
         */
        maxApiRequests: pulumi.Input<number>;
        /**
         * Specifies the object ID which the special throttling policy belongs.
         */
        throttlingObjectId: pulumi.Input<string>;
        /**
         * The object name which the special user/application throttling policy belongs.
         */
        throttlingObjectName?: pulumi.Input<string>;
    }
    interface VpcChannelMember {
        /**
         * Specifies the ECS ID for each backend servers.
         * Required if the `memberType` is **ECS**.
         * This parameter and `ipAddress` are alternative.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the IP address each backend servers.
         * Required if the `memberType` is **EIP**.
         */
        ipAddress?: pulumi.Input<string>;
        /**
         * Specifies the backend server weight.
         * The valid value ranges from `1` to `100`, defaults to `1`.
         */
        weight?: pulumi.Input<number>;
    }
}
export declare namespace DedicatedElb {
    interface ActiveStandbyPoolHealthmonitor {
        /**
         * Specifies the interval between health checks, in seconds. The value range is from
         * `1` to `50`. Changing this parameter will create a new resource.
         */
        delay: pulumi.Input<number>;
        /**
         * Specifies the domain name that HTTP requests are sent to during the health
         * check. The value can contain only digits, letters, hyphens (-), and periods (.) and must start with a digit or letter.
         * The value is left blank by default, indicating that the virtual IP address of the load balancer is used as the
         * destination address of HTTP requests. This parameter is available only when `type` is set to **HTTP**. The length
         * range of value is from `1` to `100`. Changing this parameter will create a new resource.
         */
        domainName?: pulumi.Input<string>;
        /**
         * Specifies the expected HTTP status code. This parameter will take
         * effect only when `type` is set to **HTTP** or **HTTPS**. The default value is 200. Multiple status codes can be
         * queried in the format of expected_codes=xxx&expected_codes=xxx. The length range of value is from `1` to `64`.
         * Value options:
         * + A specific value, for example, **200**
         * + A list of values that are separated with commas (,), for example, **200**, **202**
         * + A value range, for example, **200-204**
         */
        expectedCodes?: pulumi.Input<string>;
        /**
         * Specifies the HTTP method. The value can be **GET**, **HEAD**, **POST**.
         * Default to **GET**. This parameter is available when `type` is set to **HTTP** or **HTTPS**.
         */
        httpMethod?: pulumi.Input<string>;
        /**
         * The health check ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the number of consecutive health checks when the health check
         * result of a backend server changes from **OFFLINE** to **ONLINE**. The value range is from `1` to `10`. Changing
         * this parameter will create a new resource.
         */
        maxRetries: pulumi.Input<number>;
        /**
         * Specifies the number of consecutive health checks when the health check
         * result of a backend server changes from ONLINE to OFFLINE. The value range is from `1` to `10`. Defaults to `3`.
         * Changing this parameter will create a new resource.
         */
        maxRetriesDown?: pulumi.Input<number>;
        /**
         * Specifies the port used for the health check. If this parameter is left
         * blank, a port of the backend server will be used by default. The value range is from `1` to `65,535`. Changing this
         * parameter will create a new resource.
         */
        monitorPort?: pulumi.Input<number>;
        /**
         * Specifies the health check name. The length range of value is from `1` to `255`.
         * Changing this parameter will create a new resource.
         */
        name?: pulumi.Input<string>;
        /**
         * Specifies the maximum time required for waiting for a response from the health
         * check, in seconds. It is recommended that you set the value less than that of parameter `delay`. The value range is
         * from `1` to `50`. Changing this parameter will create a new resource.
         */
        timeout: pulumi.Input<number>;
        /**
         * Specifies the health check protocol. Value options: **TCP**, **UDP_CONNECT**,
         * **HTTP**, and **HTTPS**.
         * + If the protocol of the backend server is **QUIC**, the value can only be **UDP_CONNECT**.
         * + If the protocol of the backend server is **UDP**, the value can only be **UDP_CONNECT**.
         * + If the protocol of the backend server is **TCP**, the value can only be **TCP**, **HTTP**, or **HTTPS**.
         * + If the protocol of the backend server is **HTTP**, the value can only be **TCP**, **HTTP**, or **HTTPS**.
         * + If the protocol of the backend server is **HTTPS**, the value can only be **TCP**, **HTTP**, or **HTTPS**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the HTTP request path for the health check. The value must start
         * with a slash (/), and the default value is /. The value can contain letters, digits, hyphens (-), slashes (/),
         * periods (.), percentage signs (%), question marks (?), pound signs (#), ampersand signs (&), and the extended character
         * set **_;~!()*[]@$^:',+**. The length range of value is from `1` to `80`. Changing this parameter will create a new
         * resource.
         */
        urlPath?: pulumi.Input<string>;
    }
    interface ActiveStandbyPoolMember {
        /**
         * Specifies the private IP address bound to the member.
         * + If `subnetId` is left blank, IP as a Backend is enabled. In this case, the IP address must be an **IPv4** address.
         * + If `subnetId` is not left blank, the IP address can be **IPv4** or **IPv6**. It must be in the subnet specified
         * by `subnetId` and can only be bound to the primary NIC of the backend server.
         */
        address: pulumi.Input<string>;
        /**
         * The health check ID.
         */
        id?: pulumi.Input<string>;
        /**
         * The ID of the ECS used as the member.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * Specifies the IP address version supported by active-standby pool.
         * The value can be **dualstack**, **v6**, or **v4**. Changing this parameter will create a new resource.
         */
        ipVersion?: pulumi.Input<string>;
        /**
         * The type of the member.
         */
        memberType?: pulumi.Input<string>;
        /**
         * Specifies the health check name. The length range of value is from `1` to `255`.
         * Changing this parameter will create a new resource.
         */
        name?: pulumi.Input<string>;
        /**
         * The health status of the backend server. The value can be:
         * + **ONLINE**: The backend server is running normally.
         * + **NO_MONITOR**: No health check is configured for the backend server group to which the backend server belongs.
         * + **OFFLINE**: The cloud server used as the backend server is stopped or does not exist.
         */
        operatingStatus?: pulumi.Input<string>;
        /**
         * Specifies the port used by the member to receive requests. It is mandatory
         * if `anyPortEnable` is **false**, and it does not take effect if `anyPortEnable` is set to **true**. The value range
         * is from `1` to `65,535`. Changing this parameter will create a new resource.
         */
        protocolPort?: pulumi.Input<number>;
        /**
         * Why health check fails.
         * The reason structure is documented below.
         */
        reasons?: pulumi.Input<pulumi.Input<inputs.DedicatedElb.ActiveStandbyPoolMemberReason>[]>;
        /**
         * Specifies the type of the member. Value options:
         * + **master**: active backend server.
         * + **slave**: standby backend server.
         */
        role: pulumi.Input<string>;
        /**
         * The health status of the backend server if `listenerId` under status is specified. If `listenerId` under
         * status is not specified, operatingStatus of member takes precedence.
         * The status structure is documented below.
         */
        statuses?: pulumi.Input<pulumi.Input<inputs.DedicatedElb.ActiveStandbyPoolMemberStatus>[]>;
        /**
         * Specifies the ID of the IPv4 or IPv6 subnet where the member resides.
         * + The IPv4 or IPv6 subnet must be in the same VPC as the subnet of the load balancer.
         * + If this parameter is not passed, IP as a Backend has been enabled for the load balancer. In this case, IP as backend
         * servers must use private IPv4 addresses, and the protocol of the active-standby pool must be **TCP**, **HTTP**, or
         * **HTTPS**.
         */
        subnetId?: pulumi.Input<string>;
    }
    interface ActiveStandbyPoolMemberReason {
        /**
         * The expected HTTP status code. This parameter will take effect only when `type` is set to **HTTP**,
         * **HTTPS** or **GRPC**.
         * + A specific status code. If `type` is set to **GRPC**, the status code ranges from **0** to **99**. If `type` is set
         * to other values, the status code ranges from **200** to **599**.
         * + A list of status codes that are separated with commas (,). A maximum of five status codes are supported.
         * + A status code range. Different ranges are separated with commas (,). A maximum of five ranges are supported.
         */
        expectedResponse?: pulumi.Input<string>;
        /**
         * The returned HTTP status code in the response. This parameter will take effect only when `type`
         * is set to **HTTP**, **HTTPS** or **GRPC**.
         * + A specific status code. If type is set to **GRPC**, the status code ranges from **0** to **99**. If `type` is set to
         * other values, the status code ranges from **200** to **599**.
         */
        healthcheckResponse?: pulumi.Input<string>;
        /**
         * The code of the health check failures. The value can be:
         * + **CONNECT_TIMEOUT**: The connection with the backend server times out during a health check.
         * + **CONNECT_REFUSED**: The load balancer rejects connections with the backend server during a health check.
         * + **CONNECT_FAILED**: The load balancer fails to establish connections with the backend server during a health check.
         * + **CONNECT_INTERRUPT**: The load balancer is disconnected from the backend server during a health check.
         * + **SSL_HANDSHAKE_ERROR**: The SSL handshakes with the backend server fail during a health check.
         * + **RECV_RESPONSE_FAILED**: The load balancer fails to receive responses from the backend server during a health check.
         * + **RECV_RESPONSE_TIMEOUT**: The load balancer does not receive responses from the backend server within the timeout
         * duration during a health check.
         * + **SEND_REQUEST_FAILED**: The load balancer fails to send a health check request to the backend server during a health
         * check.
         * + **SEND_REQUEST_TIMEOUT**: The load balancer fails to send a health check request to the backend server within the
         * timeout duration.
         * + **RESPONSE_FORMAT_ERROR**: The load balancer receives invalid responses from the backend server during a health check.
         * + **RESPONSE_MISMATCH**: The response code received from the backend server is different from the preset code.
         */
        reasonCode?: pulumi.Input<string>;
    }
    interface ActiveStandbyPoolMemberStatus {
        /**
         * Specifies the ID of the listener with which the active-standby pool is
         * associated. Changing this parameter will create a new resource.
         */
        listenerId?: pulumi.Input<string>;
        /**
         * The health status of the backend server. The value can be:
         * + **ONLINE**: The backend server is running normally.
         * + **NO_MONITOR**: No health check is configured for the backend server group to which the backend server belongs.
         * + **OFFLINE**: The cloud server used as the backend server is stopped or does not exist.
         */
        operatingStatus?: pulumi.Input<string>;
    }
    interface ActiveStandbyPoolQuicCidHashStrategy {
        /**
         * The length of the hash factor in the connection ID, in byte. This parameter is valid only when `lbAlgorithm`
         * is **QUIC_CID**. Value range: **1** to **20**.
         */
        len?: pulumi.Input<number>;
        /**
         * The start position in the connection ID as the hash factor, in byte. This parameter is valid only when
         * `lbAlgorithm` is **QUIC_CID**. Value range: **0** to **19**.
         */
        offset?: pulumi.Input<number>;
    }
    interface IpgroupIpList {
        /**
         * Human-readable description for the ip.
         */
        description?: pulumi.Input<string>;
        /**
         * IP address or CIDR block.
         */
        ip: pulumi.Input<string>;
    }
    interface L7policyFixedResponseConfig {
        /**
         * The format of the response body. Value options: **text/plain**, **text/css**,
         * **text/html**, **application/javascript**, or **application/json**. Defaults to: **text/plain**.
         */
        contentType?: pulumi.Input<string>;
        /**
         * The header parameters to be added.
         * The insertHeadersConfig structure is documented below.
         */
        insertHeadersConfig?: pulumi.Input<inputs.DedicatedElb.L7policyFixedResponseConfigInsertHeadersConfig>;
        /**
         * The content of the response message body.
         */
        messageBody?: pulumi.Input<string>;
        /**
         * The header parameters to be removed.
         * The removeHeadersConfig structure is documented below.
         */
        removeHeadersConfig?: pulumi.Input<inputs.DedicatedElb.L7policyFixedResponseConfigRemoveHeadersConfig>;
        /**
         * The fixed HTTP status code configured in the forwarding rule. The value can be
         * any integer in the range of **200–299**, **400–499**, or **500–599**.
         */
        statusCode: pulumi.Input<string>;
        /**
         * The traffic limit config of the policy.
         * The trafficLimitConfig structure is documented below.
         */
        trafficLimitConfig?: pulumi.Input<inputs.DedicatedElb.L7policyFixedResponseConfigTrafficLimitConfig>;
    }
    interface L7policyFixedResponseConfigInsertHeadersConfig {
        /**
         * The list of request header parameters to be removed.
         * The removeHeaderConfigs structure is documented below.
         */
        configs: pulumi.Input<pulumi.Input<inputs.DedicatedElb.L7policyFixedResponseConfigInsertHeadersConfigConfig>[]>;
    }
    interface L7policyFixedResponseConfigInsertHeadersConfigConfig {
        /**
         * The parameter name of the removed request header. The value can contain `1` to `40`
         * characters, only a-z, digits, hyphens (-) and underscore (_) are allowed, and it can not be the following characters:
         * **connection**, **upgrade**, **content-length**, **transfer-encoding**, **keep-alive**, **te**, **host**, **cookie**,
         * **remoteip**, **authority**, **x-forwarded-host**, **x-forwarded-for**, **x-forwarded-for-port**,
         * **x-forwarded-tls-certificate-id**, **x-forwarded-tls-protocol**, **x-forwarded-tls-cipher**, **x-forwarded-elb-ip**,
         * **x-forwarded-port**, **x-forwarded-elb-id**, **x-forwarded-elb-vip**, **x-real-ip**, **x-forwarded-proto**,
         * **x-nuwa-trace-ne-in**, **x-nuwa-trace-ne-out**.
         */
        key: pulumi.Input<string>;
        /**
         * The value of the parameter. The value can contain `1` to `128`, only printable
         * characters in the range of ASCII code value 32<=ch<=127, asterisks (*) and question marks (?) are allowed, and it
         * cannot start or end with a space characters. If the value of `valueType` is **SYSTEM_DEFINED**, the value options is:
         * **CLIENT-PORT**, **CLIENT-IP**, **ELB-PROTOCOL**, **ELB-ID**, **ELB-PORT**, **ELB-EIP**, **ELB-VIP**.
         */
        value: pulumi.Input<string>;
        /**
         * The value type of the parameter. Value options: **USER_DEFINED**,
         * **REFERENCE_HEADER**, **SYSTEM_DEFINED**.
         */
        valueType: pulumi.Input<string>;
    }
    interface L7policyFixedResponseConfigRemoveHeadersConfig {
        /**
         * The list of request header parameters to be removed.
         * The removeHeaderConfigs structure is documented below.
         */
        configs: pulumi.Input<pulumi.Input<inputs.DedicatedElb.L7policyFixedResponseConfigRemoveHeadersConfigConfig>[]>;
    }
    interface L7policyFixedResponseConfigRemoveHeadersConfigConfig {
        /**
         * The parameter name of the removed request header. The value can contain `1` to `40`
         * characters, only a-z, digits, hyphens (-) and underscore (_) are allowed, and it can not be the following characters:
         * **connection**, **upgrade**, **content-length**, **transfer-encoding**, **keep-alive**, **te**, **host**, **cookie**,
         * **remoteip**, **authority**, **x-forwarded-host**, **x-forwarded-for**, **x-forwarded-for-port**,
         * **x-forwarded-tls-certificate-id**, **x-forwarded-tls-protocol**, **x-forwarded-tls-cipher**, **x-forwarded-elb-ip**,
         * **x-forwarded-port**, **x-forwarded-elb-id**, **x-forwarded-elb-vip**, **x-real-ip**, **x-forwarded-proto**,
         * **x-nuwa-trace-ne-in**, **x-nuwa-trace-ne-out**.
         */
        key: pulumi.Input<string>;
    }
    interface L7policyFixedResponseConfigTrafficLimitConfig {
        /**
         * The qps buffer.
         * The valid value is range form `0` to `100,000`. When qps exceeds the limit, 503 will not be
         * returned, and requests that allow local burst size increases are supported.
         */
        burst?: pulumi.Input<number>;
        /**
         * The single source qps of the policy.
         * The valid value is range form `0` to `100,000`, `0` indicates no limit.
         * If the value of `qps` is not `0`, then the value of `perSourceIpQps` must less than the value of `qps`.
         * If the `protocol` of the listener that the policy associated with is **QUIC**, then `perSourceIpQps` is not
         * supported, the value should be `0` or empty.
         */
        perSourceIpQps?: pulumi.Input<number>;
        /**
         * The overall qps of the policy.
         * The valid value is range form `0` to `100,000`, `0` indicates no limit.
         */
        qps?: pulumi.Input<number>;
    }
    interface L7policyRedirectPoolsConfig {
        /**
         * The ID of the backend server group.
         */
        poolId: pulumi.Input<string>;
        /**
         * The weight of the backend server group.
         */
        weight?: pulumi.Input<number>;
    }
    interface L7policyRedirectPoolsExtendConfig {
        /**
         * The header parameters to be added.
         * The insertHeadersConfig structure is documented below.
         */
        insertHeadersConfig?: pulumi.Input<inputs.DedicatedElb.L7policyRedirectPoolsExtendConfigInsertHeadersConfig>;
        /**
         * The header parameters to be removed.
         * The removeHeadersConfig structure is documented below.
         */
        removeHeadersConfig?: pulumi.Input<inputs.DedicatedElb.L7policyRedirectPoolsExtendConfigRemoveHeadersConfig>;
        /**
         * The rewrite url config. This parameter is mandatory when `rewriteUrlEnabled`
         * is set to **true**.
         * The rewriteUrlConfig structure is documented below.
         */
        rewriteUrlConfig?: pulumi.Input<inputs.DedicatedElb.L7policyRedirectPoolsExtendConfigRewriteUrlConfig>;
        /**
         * Whether the rewrite url is enabled.
         */
        rewriteUrlEnabled?: pulumi.Input<boolean>;
        /**
         * The traffic limit config of the policy.
         * The trafficLimitConfig structure is documented below.
         */
        trafficLimitConfig?: pulumi.Input<inputs.DedicatedElb.L7policyRedirectPoolsExtendConfigTrafficLimitConfig>;
    }
    interface L7policyRedirectPoolsExtendConfigInsertHeadersConfig {
        /**
         * The list of request header parameters to be removed.
         * The removeHeaderConfigs structure is documented below.
         */
        configs: pulumi.Input<pulumi.Input<inputs.DedicatedElb.L7policyRedirectPoolsExtendConfigInsertHeadersConfigConfig>[]>;
    }
    interface L7policyRedirectPoolsExtendConfigInsertHeadersConfigConfig {
        /**
         * The parameter name of the removed request header. The value can contain `1` to `40`
         * characters, only a-z, digits, hyphens (-) and underscore (_) are allowed, and it can not be the following characters:
         * **connection**, **upgrade**, **content-length**, **transfer-encoding**, **keep-alive**, **te**, **host**, **cookie**,
         * **remoteip**, **authority**, **x-forwarded-host**, **x-forwarded-for**, **x-forwarded-for-port**,
         * **x-forwarded-tls-certificate-id**, **x-forwarded-tls-protocol**, **x-forwarded-tls-cipher**, **x-forwarded-elb-ip**,
         * **x-forwarded-port**, **x-forwarded-elb-id**, **x-forwarded-elb-vip**, **x-real-ip**, **x-forwarded-proto**,
         * **x-nuwa-trace-ne-in**, **x-nuwa-trace-ne-out**.
         */
        key: pulumi.Input<string>;
        /**
         * The value of the parameter. The value can contain `1` to `128`, only printable
         * characters in the range of ASCII code value 32<=ch<=127, asterisks (*) and question marks (?) are allowed, and it
         * cannot start or end with a space characters. If the value of `valueType` is **SYSTEM_DEFINED**, the value options is:
         * **CLIENT-PORT**, **CLIENT-IP**, **ELB-PROTOCOL**, **ELB-ID**, **ELB-PORT**, **ELB-EIP**, **ELB-VIP**.
         */
        value: pulumi.Input<string>;
        /**
         * The value type of the parameter. Value options: **USER_DEFINED**,
         * **REFERENCE_HEADER**, **SYSTEM_DEFINED**.
         */
        valueType: pulumi.Input<string>;
    }
    interface L7policyRedirectPoolsExtendConfigRemoveHeadersConfig {
        /**
         * The list of request header parameters to be removed.
         * The removeHeaderConfigs structure is documented below.
         */
        configs: pulumi.Input<pulumi.Input<inputs.DedicatedElb.L7policyRedirectPoolsExtendConfigRemoveHeadersConfigConfig>[]>;
    }
    interface L7policyRedirectPoolsExtendConfigRemoveHeadersConfigConfig {
        /**
         * The parameter name of the removed request header. The value can contain `1` to `40`
         * characters, only a-z, digits, hyphens (-) and underscore (_) are allowed, and it can not be the following characters:
         * **connection**, **upgrade**, **content-length**, **transfer-encoding**, **keep-alive**, **te**, **host**, **cookie**,
         * **remoteip**, **authority**, **x-forwarded-host**, **x-forwarded-for**, **x-forwarded-for-port**,
         * **x-forwarded-tls-certificate-id**, **x-forwarded-tls-protocol**, **x-forwarded-tls-cipher**, **x-forwarded-elb-ip**,
         * **x-forwarded-port**, **x-forwarded-elb-id**, **x-forwarded-elb-vip**, **x-real-ip**, **x-forwarded-proto**,
         * **x-nuwa-trace-ne-in**, **x-nuwa-trace-ne-out**.
         */
        key: pulumi.Input<string>;
    }
    interface L7policyRedirectPoolsExtendConfigRewriteUrlConfig {
        /**
         * The host name that requests are redirected to. The value can contain only letters,
         * digits, hyphens (-), and periods (.) and must start with a letter or digit. Defaults to **${host}**, indicating
         * that the host of the request will be used.
         */
        host?: pulumi.Input<string>;
        /**
         * The path that requests are redirected to. The value can contain only letters, digits,
         * and special characters _~';@^- %#&$.*+?,=!:|/()[]{} and must start with a slash (/).
         * Defaults to **${path}**, indicating that the path of the request will be used.
         */
        path?: pulumi.Input<string>;
        /**
         * The query string set in the URL for redirection. The value is case-sensitive and can
         * contain only letters, digits, and special characters !$&'()*+,-./:;=?@^_\`. Defaults to **${query}**, indicating that
         * the query string of the request will be used.
         * For example, in the URL `https://www.xxx.com:8080/elb?type=loadbalancer`, **${query}** indicates **type=loadbalancer**.
         * If this parameter is set to **${query}&name=my_name**, the URL will be redirected to
         * URL `https://www.xxx.com:8080/elb?type=loadbalancer&name=my_name`.
         */
        query?: pulumi.Input<string>;
    }
    interface L7policyRedirectPoolsExtendConfigTrafficLimitConfig {
        /**
         * The qps buffer.
         * The valid value is range form `0` to `100,000`. When qps exceeds the limit, 503 will not be
         * returned, and requests that allow local burst size increases are supported.
         */
        burst?: pulumi.Input<number>;
        /**
         * The single source qps of the policy.
         * The valid value is range form `0` to `100,000`, `0` indicates no limit.
         * If the value of `qps` is not `0`, then the value of `perSourceIpQps` must less than the value of `qps`.
         * If the `protocol` of the listener that the policy associated with is **QUIC**, then `perSourceIpQps` is not
         * supported, the value should be `0` or empty.
         */
        perSourceIpQps?: pulumi.Input<number>;
        /**
         * The overall qps of the policy.
         * The valid value is range form `0` to `100,000`, `0` indicates no limit.
         */
        qps?: pulumi.Input<number>;
    }
    interface L7policyRedirectPoolsStickySessionConfig {
        /**
         * Whether enable config session persistence between backend server groups.
         */
        enable?: pulumi.Input<boolean>;
        /**
         * The timeout of the session persistence.
         */
        timeout?: pulumi.Input<number>;
    }
    interface L7policyRedirectUrlConfig {
        /**
         * The host name that requests are redirected to. The value can contain only letters,
         * digits, hyphens (-), and periods (.) and must start with a letter or digit. Defaults to **${host}**, indicating
         * that the host of the request will be used.
         */
        host?: pulumi.Input<string>;
        /**
         * The header parameters to be added.
         * The insertHeadersConfig structure is documented below.
         */
        insertHeadersConfig?: pulumi.Input<inputs.DedicatedElb.L7policyRedirectUrlConfigInsertHeadersConfig>;
        /**
         * The path that requests are redirected to. The value can contain only letters, digits,
         * and special characters _~';@^- %#&$.*+?,=!:|/()[]{} and must start with a slash (/).
         * Defaults to **${path}**, indicating that the path of the request will be used.
         */
        path?: pulumi.Input<string>;
        /**
         * The  port that requests are redirected to. Defaults to **${port}**, indicating that
         * the port of the request will be used.
         */
        port?: pulumi.Input<string>;
        /**
         * The protocol for redirection. Value options: **HTTP**, **HTTPS**, **${protocol}**.
         * Defaults to **${protocol}**, indicating that the path of the request will be used.
         */
        protocol?: pulumi.Input<string>;
        /**
         * The query string set in the URL for redirection. The value is case-sensitive and can
         * contain only letters, digits, and special characters !$&'()*+,-./:;=?@^_\`. Defaults to **${query}**, indicating that
         * the query string of the request will be used.
         * For example, in the URL `https://www.xxx.com:8080/elb?type=loadbalancer`, **${query}** indicates **type=loadbalancer**.
         * If this parameter is set to **${query}&name=my_name**, the URL will be redirected to
         * URL `https://www.xxx.com:8080/elb?type=loadbalancer&name=my_name`.
         */
        query?: pulumi.Input<string>;
        /**
         * The header parameters to be removed.
         * The removeHeadersConfig structure is documented below.
         */
        removeHeadersConfig?: pulumi.Input<inputs.DedicatedElb.L7policyRedirectUrlConfigRemoveHeadersConfig>;
        /**
         * The fixed HTTP status code configured in the forwarding rule. The value can be
         * any integer in the range of **200–299**, **400–499**, or **500–599**.
         */
        statusCode: pulumi.Input<string>;
    }
    interface L7policyRedirectUrlConfigInsertHeadersConfig {
        /**
         * The list of request header parameters to be removed.
         * The removeHeaderConfigs structure is documented below.
         */
        configs: pulumi.Input<pulumi.Input<inputs.DedicatedElb.L7policyRedirectUrlConfigInsertHeadersConfigConfig>[]>;
    }
    interface L7policyRedirectUrlConfigInsertHeadersConfigConfig {
        /**
         * The parameter name of the removed request header. The value can contain `1` to `40`
         * characters, only a-z, digits, hyphens (-) and underscore (_) are allowed, and it can not be the following characters:
         * **connection**, **upgrade**, **content-length**, **transfer-encoding**, **keep-alive**, **te**, **host**, **cookie**,
         * **remoteip**, **authority**, **x-forwarded-host**, **x-forwarded-for**, **x-forwarded-for-port**,
         * **x-forwarded-tls-certificate-id**, **x-forwarded-tls-protocol**, **x-forwarded-tls-cipher**, **x-forwarded-elb-ip**,
         * **x-forwarded-port**, **x-forwarded-elb-id**, **x-forwarded-elb-vip**, **x-real-ip**, **x-forwarded-proto**,
         * **x-nuwa-trace-ne-in**, **x-nuwa-trace-ne-out**.
         */
        key: pulumi.Input<string>;
        /**
         * The value of the parameter. The value can contain `1` to `128`, only printable
         * characters in the range of ASCII code value 32<=ch<=127, asterisks (*) and question marks (?) are allowed, and it
         * cannot start or end with a space characters. If the value of `valueType` is **SYSTEM_DEFINED**, the value options is:
         * **CLIENT-PORT**, **CLIENT-IP**, **ELB-PROTOCOL**, **ELB-ID**, **ELB-PORT**, **ELB-EIP**, **ELB-VIP**.
         */
        value: pulumi.Input<string>;
        /**
         * The value type of the parameter. Value options: **USER_DEFINED**,
         * **REFERENCE_HEADER**, **SYSTEM_DEFINED**.
         */
        valueType: pulumi.Input<string>;
    }
    interface L7policyRedirectUrlConfigRemoveHeadersConfig {
        /**
         * The list of request header parameters to be removed.
         * The removeHeaderConfigs structure is documented below.
         */
        configs: pulumi.Input<pulumi.Input<inputs.DedicatedElb.L7policyRedirectUrlConfigRemoveHeadersConfigConfig>[]>;
    }
    interface L7policyRedirectUrlConfigRemoveHeadersConfigConfig {
        /**
         * The parameter name of the removed request header. The value can contain `1` to `40`
         * characters, only a-z, digits, hyphens (-) and underscore (_) are allowed, and it can not be the following characters:
         * **connection**, **upgrade**, **content-length**, **transfer-encoding**, **keep-alive**, **te**, **host**, **cookie**,
         * **remoteip**, **authority**, **x-forwarded-host**, **x-forwarded-for**, **x-forwarded-for-port**,
         * **x-forwarded-tls-certificate-id**, **x-forwarded-tls-protocol**, **x-forwarded-tls-cipher**, **x-forwarded-elb-ip**,
         * **x-forwarded-port**, **x-forwarded-elb-id**, **x-forwarded-elb-vip**, **x-real-ip**, **x-forwarded-proto**,
         * **x-nuwa-trace-ne-in**, **x-nuwa-trace-ne-out**.
         */
        key: pulumi.Input<string>;
    }
    interface L7ruleCondition {
        /**
         * Specifies the key of match item.
         * + If `type` is set to **HOST_NAME**, **PATH**, **METHOD**, or **SOURCE_IP**, this parameter is left blank.
         * + If `type` is set to **HEADER**, it indicates the name of the HTTP header parameter. It can contain 1 to 40
         * characters, including letters, digits, hyphens (-), and underscores (_).
         * + If `type` is set to **QUERY_STRING**, it indicates the name of the query parameter. It is case-sensitive and can
         * contain 1 to 128 characters. Spaces, square brackets ([]), curly brackets ({}), angle brackets (<>), backslashes (),
         * double quotation marks (" "), pound signs (#), ampersands (&), vertical bars (|), percent signs (%), and tildes (~)
         * are not supported.
         */
        key?: pulumi.Input<string>;
        /**
         * Specifies the value of the match item.
         * + If `type` is set to **HOST_NAME**, it indicates the domain name, which can contain 1 to 128 characters, including
         * letters, digits, hyphens (-), periods (.), and asterisks (), and must start with a letter, digit, or asterisk ().
         * If you want to use a wildcard domain name, enter an asterisk (*) as the leftmost label of the domain name.
         * + If `type` is set to **PATH**, it indicates the request path, which can contain 1 to 128 characters. If
         * `compareType` is set to **STARTS_WITH** or **EQUAL_TO** for the forwarding rule, the value must start with a
         * slash (/) and can contain only letters, digits, and special characters _~';@^-%#&$.*+?,=!:|/()[]{}.
         * + If `type` is set to **HEADER**, it indicates the value of the HTTP header parameter. The value can contain 1 to 128
         * characters. Asterisks (*) and question marks (?)are allowed, but spaces and double quotation marks are not allowed.
         * An asterisk can match zero or more characters, and a question mark can match 1 character.
         * + If `type` is set to **QUERY_STRING**, it indicates the value of the query parameter. The value is case-sensitive
         * and can contain 1 to 128 characters. Spaces, square brackets ([]), curly brackets ({}), angle brackets (<>),
         * backslashes (), double quotation marks (""), pound signs (#), ampersands (&), vertical bars (|), percent signs (%),
         * and tildes (~) are not supported. Asterisks (*)and question marks (?) are allowed. An asterisk can match zero or
         * more characters, and a question mark can match 1 character.
         * + If `type` is set to **METHOD**, it indicates the HTTP method. The value can be **GET**, **PUT**, **POST**,
         * **DELETE**, **PATCH**, **HEAD**, or **OPTIONS**.
         * + If `type` is set to **SOURCE_IP**, it indicates the source IP address of the request. The value is an **IPv4** or
         * **IPv6** CIDR block, for example, 192.168.0.2/32 or 2049::49/64.
         */
        value: pulumi.Input<string>;
    }
    interface ListenerPortRange {
        /**
         * Specifies the end port. Changing this creates a new listener.
         */
        endPort: pulumi.Input<number>;
        /**
         * Specifies the start port. Changing this creates a new listener.
         */
        startPort: pulumi.Input<number>;
    }
    interface MemberReason {
        /**
         * The code of the health check failures.
         */
        expectedResponse?: pulumi.Input<string>;
        /**
         * The expected HTTP status code.
         */
        healthcheckResponse?: pulumi.Input<string>;
        /**
         * The returned HTTP status code in the response.
         */
        reasonCode?: pulumi.Input<string>;
    }
    interface MemberStatus {
        /**
         * The listener ID.
         */
        listenerId?: pulumi.Input<string>;
        /**
         * The health status of the backend server.
         */
        operatingStatus?: pulumi.Input<string>;
        /**
         * Why health check fails.
         * The reason structure is documented below.
         */
        reasons?: pulumi.Input<pulumi.Input<inputs.DedicatedElb.MemberStatusReason>[]>;
    }
    interface MemberStatusReason {
        /**
         * The code of the health check failures.
         */
        expectedResponse?: pulumi.Input<string>;
        /**
         * The expected HTTP status code.
         */
        healthcheckResponse?: pulumi.Input<string>;
        /**
         * The returned HTTP status code in the response.
         */
        reasonCode?: pulumi.Input<string>;
    }
    interface PoolPersistence {
        /**
         * Specifies the cookie name. The value can contain only letters, digits,
         * hyphens (-), underscores (_), and periods (.). It is required if `type` of `persistence` is set to **APP_COOKIE**.
         */
        cookieName?: pulumi.Input<string>;
        /**
         * Specifies the sticky session timeout duration in minutes. This parameter is
         * invalid when `type` is set to **APP_COOKIE**. The value range varies depending on the protocol of the backend server
         * group:
         * + When the protocol of the backend server group is **TCP** or **UDP**, the value ranges from `1` to `60`, and
         * defaults to `1`.
         * + When the protocol of the backend server group is **HTTP** or **HTTPS**, the value ranges from `1` to `1,440`,
         * and defaults to `1,440`.
         */
        timeout?: pulumi.Input<number>;
        /**
         * Specifies the sticky session type. Value options: **SOURCE_IP**,
         * **HTTP_COOKIE**, and **APP_COOKIE**.
         */
        type: pulumi.Input<string>;
    }
    interface SecurityPolicyListener {
        /**
         * The listener id.
         */
        id?: pulumi.Input<string>;
    }
}
export declare namespace Dew {
}
export declare namespace Dis {
    interface StreamPartition {
        /**
         * Possible value range of the hash key used by each partition.
         */
        hashRange?: pulumi.Input<string>;
        /**
         * The ID of the partition.
         */
        id?: pulumi.Input<string>;
        /**
         * Sequence number range of each partition.
         */
        sequenceNumberRange?: pulumi.Input<string>;
        /**
         * The status of the partition.
         */
        status?: pulumi.Input<string>;
    }
}
export declare namespace Dli {
    interface QueueScalingPolicy {
        /**
         * Specifies the effective time of the queue scaling policy.
         * The value can be set only by hour.
         */
        impactStartTime: pulumi.Input<string>;
        /**
         * Specifies the expiration time of the queue scaling policy.
         * The value can be set only by hour.
         */
        impactStopTime: pulumi.Input<string>;
        /**
         * Specifies the maximum number of CUs allowed by the scaling policy.
         * The number must be a multiple of `4`.
         */
        maxCu: pulumi.Input<number>;
        /**
         * Specifies the minimum number of CUs allowed by the scaling policy.
         * The number must be a multiple of `4`.
         */
        minCu: pulumi.Input<number>;
        /**
         * Specifies the priority of the queue scaling policy.
         * The valid value ranges from `1` to `100`. The larger value means the higher priority.
         */
        priority: pulumi.Input<number>;
    }
    interface QueueSparkDriver {
        /**
         * Specifies the maximum number of tasks that can be concurrently executed by a spark driver.
         * The valid value ranges from `1` to `32`.
         */
        maxConcurrent?: pulumi.Input<number>;
        /**
         * Specifies the maximum number of spark drivers that can be started on the queue.
         * If the `cuCount` is `16`, the value can only be `2`.
         * If The `cuCount` is greater than `16`, the minimum value is `2`, the maximum value is the number of queue CUs
         * divided by `16`.
         */
        maxInstance?: pulumi.Input<number>;
        /**
         * Specifies the maximum number of spark drivers to be pre-started on the queue.
         * The minimum value is `0`. If the `cuCount` is less than `32`, the maximum value is `1`.
         * If the `cuCount` is greater than or equal to `32`, the maximum value is the number of queue CUs divided by `16`.
         */
        maxPrefetchInstance?: pulumi.Input<string>;
    }
    interface SparkJobDependentPackage {
        /**
         * Specifies the user group name.
         * Only letters, digits, dots (.), hyphens (-) and underscores (_) are allowed.
         * Changing this parameter will submit a new spark job.
         */
        groupName: pulumi.Input<string>;
        /**
         * Specifies the user group resource for details.
         * Changing this parameter will submit a new spark job.
         * The object structure is documented below.
         */
        packages: pulumi.Input<pulumi.Input<inputs.Dli.SparkJobDependentPackagePackage>[]>;
    }
    interface SparkJobDependentPackagePackage {
        /**
         * Specifies the resource name of the package.
         * Changing this parameter will submit a new spark job.
         */
        packageName: pulumi.Input<string>;
        /**
         * Specifies the resource type of the package.
         * Changing this parameter will submit a new spark job.
         */
        type: pulumi.Input<string>;
    }
    interface SqlJobConf {
        /**
         * Sets the job running timeout interval. If the timeout interval
         * expires, the job is canceled. Unit: `ms`. Changing this parameter will create a new resource.
         */
        dliSqlJobTimeout?: pulumi.Input<number>;
        /**
         * Specifies whether DDL and DCL statements are executed
         * asynchronously. The value true indicates that asynchronous execution is enabled. Default value is `false`.
         * Changing this parameter will create a new resource.
         */
        dliSqlSqlasyncEnabled?: pulumi.Input<boolean>;
        /**
         * Maximum size of the table that
         * displays all working nodes when a connection is executed. You can set this parameter to -1 to disable the display.
         * Default value is `209715200`. Changing this parameter will create a new resource.
         */
        sparkSqlAutoBroadcastJoinThreshold?: pulumi.Input<number>;
        /**
         * Path of bad records. Changing this parameter will create
         * a new resource.
         */
        sparkSqlBadRecordsPath?: pulumi.Input<string>;
        /**
         * In dynamic mode, Spark does not delete
         * the previous partitions and only overwrites the partitions without data during execution. Default value is `false`.
         * Changing this parameter will create a new resource.
         */
        sparkSqlDynamicPartitionOverwriteEnabled?: pulumi.Input<boolean>;
        /**
         * Maximum number of bytes to be packed into a
         * single partition when a file is read. Default value is `134217728`. Changing this parameter will create a new
         * resource.
         */
        sparkSqlFilesMaxPartitionBytes?: pulumi.Input<number>;
        /**
         * Maximum number of records to be written
         * into a single file. If the value is zero or negative, there is no limit. Default value is `0`.
         * Changing this parameter will create a new resource.
         */
        sparkSqlMaxRecordsPerFile?: pulumi.Input<number>;
        /**
         * Default number of partitions used to filter
         * data for join or aggregation. Default value is `4096`. Changing this parameter will create a new resource.
         */
        sparkSqlShufflePartitions?: pulumi.Input<number>;
    }
    interface TableColumn {
        /**
         * Specifies the description of column. Changing this parameter will
         * create a new resource.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies whether the column is a partition column. The value
         * `true` indicates a partition column, and the value false indicates a non-partition column. The default value
         * is false. Changing this parameter will create a new resource.
         */
        isPartition?: pulumi.Input<boolean>;
        /**
         * Specifies the name of column. Changing this parameter will create a new
         * resource.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies data type of column. Changing this parameter will create a new
         * resource.
         */
        type: pulumi.Input<string>;
    }
}
export declare namespace Dms {
    interface KafkaInstanceCrossVpcAccess {
        /**
         * The advertised IP Address or domain name.
         */
        advertisedIp?: pulumi.Input<string>;
        /**
         * @deprecated typo in lisenter_ip, please use "listener_ip" instead.
         */
        lisenterIp?: pulumi.Input<string>;
        /**
         * The listener IP address.
         */
        listenerIp?: pulumi.Input<string>;
        /**
         * The port number.
         */
        port?: pulumi.Input<number>;
        /**
         * The port ID associated with the address.
         */
        portId?: pulumi.Input<string>;
    }
    interface KafkaInstanceParameter {
        /**
         * Specifies the parameter name. Static parameter needs to restart the instance to take effect.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the parameter value.
         */
        value: pulumi.Input<string>;
    }
    interface KafkaInstancePortProtocol {
        /**
         * The private plain address.
         */
        privatePlainAddress?: pulumi.Input<string>;
        /**
         * The private plain domain name.
         */
        privatePlainDomainName?: pulumi.Input<string>;
        /**
         * Whether the private plain enabled.
         */
        privatePlainEnable?: pulumi.Input<boolean>;
        /**
         * The private sasl plaintext address.
         */
        privateSaslPlaintextAddress?: pulumi.Input<string>;
        /**
         * The private sasl plaintext domain name.
         */
        privateSaslPlaintextDomainName?: pulumi.Input<string>;
        /**
         * Whether the private sasl plaintext enabled.
         */
        privateSaslPlaintextEnable?: pulumi.Input<boolean>;
        /**
         * The private sasl ssl address.
         */
        privateSaslSslAddress?: pulumi.Input<string>;
        /**
         * The private sasl ssl domain name.
         */
        privateSaslSslDomainName?: pulumi.Input<string>;
        /**
         * Whether the private sasl ssl enabled.
         */
        privateSaslSslEnable?: pulumi.Input<boolean>;
        /**
         * The public plain address.
         */
        publicPlainAddress?: pulumi.Input<string>;
        /**
         * The public plain domain name.
         */
        publicPlainDomainName?: pulumi.Input<string>;
        /**
         * Whether the public plain enabled.
         */
        publicPlainEnable?: pulumi.Input<boolean>;
        /**
         * The public sasl plaintext address.
         */
        publicSaslPlaintextAddress?: pulumi.Input<string>;
        /**
         * The public sasl plaintext domain name.
         */
        publicSaslPlaintextDomainName?: pulumi.Input<string>;
        /**
         * Whether the public sasl plaintext enabled.
         */
        publicSaslPlaintextEnable?: pulumi.Input<boolean>;
        /**
         * The public sasl ssl address.
         */
        publicSaslSslAddress?: pulumi.Input<string>;
        /**
         * The public sasl ssl domain name.
         */
        publicSaslSslDomainName?: pulumi.Input<string>;
        /**
         * Whether the public sasl ssl enabled.
         */
        publicSaslSslEnable?: pulumi.Input<boolean>;
    }
    interface KafkaPermissionsPolicy {
        /**
         * Specifies the permissions type. The value can be:
         * + **all**: publish and subscribe permissions.
         * + **pub**: publish permissions.
         * + **sub**: subscribe permissions.
         */
        accessPolicy: pulumi.Input<string>;
        /**
         * Specifies the username.
         */
        userName: pulumi.Input<string>;
    }
    interface KafkaTopicConfig {
        /**
         * Specifies the configuration name.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the configuration value.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace Dns {
    interface ZoneRouter {
        /**
         * Specifies the ID of the associated VPC.
         */
        routerId: pulumi.Input<string>;
        /**
         * Specifies the region of the VPC.
         */
        routerRegion?: pulumi.Input<string>;
    }
}
export declare namespace Drs {
    interface JobAlarmNotify {
        /**
         * Specifies the Delay threshold between the source and destination database,
         * in seconds. Value ranges from `1` to `3,600`. Default is `0` and no notifications will be sent to recipient. If
         * the delay exceeds a specified value and lasts for 6 minutes, DRS will notify specified recipients. This option is
         * available only for **full+incremental** tasks.
         */
        delayTime?: pulumi.Input<number>;
        /**
         * Specifies the RPO delay threshold, in seconds.
         * Value ranges from `1` to `3,600`. Default is `0` and no notifications will be sent to recipient.
         * If the RPO delay between the service database and the DRS instance exceeds a specified value and lasts for `6`
         * minutes, DRS will notify specified recipients.
         */
        rpoDelay?: pulumi.Input<number>;
        /**
         * Specifies the RTO delay threshold, in seconds.
         * Value ranges from `1` to `3,600`. Default is `0` and no notifications will be sent to recipient.
         * If the RTO delay between the DRS instance and the DR database exceeds a specified value and lasts for `6` minutes,
         * DRS will notify specified recipients.
         */
        rtoDelay?: pulumi.Input<number>;
        /**
         * Specifies the SMN topic URN which is subscribed.
         */
        topicUrn: pulumi.Input<string>;
    }
    interface JobDestinationDb {
        /**
         * Specifies the engine type of database. Changing this parameter will
         * create a new resource. The options are as follows: **mysql**, **mongodb**, **gaussdbv5**, **taurus**, **gaussdbv5ha**,
         * **kafka**, **postgresql**.
         */
        engineType: pulumi.Input<string>;
        /**
         * Specifies the instance id of database when it is a RDS database.
         * Changing this parameter will create a new resource.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * Specifies the IP of database. Changing this parameter will create a new resource.
         */
        ip: pulumi.Input<string>;
        /**
         * Specifies the kafka security authentication info.
         * Changing this parameter will create a new resource.
         * The kafkaSecurityConfig structure is documented below.
         */
        kafkaSecurityConfig?: pulumi.Input<inputs.Drs.JobDestinationDbKafkaSecurityConfig>;
        /**
         * Specifies the name of database.
         * Changing this parameter will create a new resource.
         */
        name?: pulumi.Input<string>;
        /**
         * Specifies the password of database.
         * Changing this parameter will create a new resource.
         */
        password?: pulumi.Input<string>;
        /**
         * Specifies the port of database. Changing this parameter will create a new resource.
         */
        port?: pulumi.Input<number>;
        /**
         * Specifies the region which the database belongs when it is a RDS database.
         * Changing this parameter will create a new resource.
         */
        region?: pulumi.Input<string>;
        /**
         * The security group ID to which the databese instance belongs.
         */
        securityGroupId?: pulumi.Input<string>;
        /**
         * Specifies the checksum of SSL certificate content.
         * It is mandatory when `sslEnabled` is **true**. Changing this parameter will create a new resource.
         */
        sslCertCheckSum?: pulumi.Input<string>;
        /**
         * Specifies the SSL certificate content, encrypted with base64.
         * It is mandatory when `sslEnabled` is **true**. Changing this parameter will create a new resource.
         */
        sslCertKey?: pulumi.Input<string>;
        /**
         * Specifies SSL certificate name.
         * It is mandatory when `sslEnabled` is **true**. Changing this parameter will create a new resource.
         */
        sslCertName?: pulumi.Input<string>;
        /**
         * Specifies SSL certificate password. It is mandatory when
         * `sslEnabled` is **true** and the certificate file suffix is **.p12**. Changing this parameter will create a new resource.
         */
        sslCertPassword?: pulumi.Input<string>;
        /**
         * Specifies whether to enable SSL connection.
         * Changing this parameter will create a new resource.
         */
        sslEnabled?: pulumi.Input<boolean>;
        /**
         * Specifies subnet ID of database when it is a RDS database.
         * It is mandatory when `direction` is **down**. Changing this parameter will create a new resource.
         */
        subnetId?: pulumi.Input<string>;
        /**
         * Specifies the user name of database.
         * Changing this parameter will create a new resource.
         */
        user?: pulumi.Input<string>;
        /**
         * Specifies vpc ID of database.
         * Changing this parameter will create a new resource.
         */
        vpcId?: pulumi.Input<string>;
    }
    interface JobDestinationDbKafkaSecurityConfig {
        /**
         * Specifies whether to use token authentication. It is valid only when
         * the security protocol is set to **SASL_SSL** or **SASL_PLAINTEXT** and the SASL mechanism is set to **SCRAM-SHA-256**
         * or **SCRAM-SHA-512**. Defaults to false. Changing this parameter will create a new resource.
         */
        delegationTokens?: pulumi.Input<boolean>;
        /**
         * Specifies Whether to enable two-way SSL authentication.
         * Defaults to false. Changing this parameter will create a new resource.
         */
        enableKeyStore?: pulumi.Input<boolean>;
        /**
         * Specifies the host name endpoint identification algorithm, which
         * specifies the endpoint identification algorithm for verifying the server host name using the server certificate.
         * If it is not specified, host name verification is disabled. The corresponding field for Kafka is
         * **ssl.endpoint.identification.algorithm**. Changing this parameter will create a new resource.
         */
        endpointAlgorithm?: pulumi.Input<string>;
        /**
         * Specifies the keystore private key password. It is mandatory when
         * two-way SSL authentication is enabled and `setPrivateKeyPassword` is set to **true**.
         * Changing this parameter will create a new resource.
         */
        keyPassword?: pulumi.Input<string>;
        /**
         * Specifies the keystore certificate. It is mandatory when two-way SSL
         * authentication is enabled. Changing this parameter will create a new resource.
         */
        keyStoreKey?: pulumi.Input<string>;
        /**
         * Specifies the keystore certificate name. It is mandatory when
         * two-way SSL authentication is enabled. Changing this parameter will create a new resource.
         */
        keyStoreKeyName?: pulumi.Input<string>;
        /**
         * Specifies the keystore certificate password. It is mandatory when
         * a password is set for the keystore certificate. Changing this parameter will create a new resource.
         */
        keyStorePassword?: pulumi.Input<string>;
        /**
         * Specifies the SASL mechanism used for client connection.
         * The value can be **GSSAPI**, **PLAIN**, **SCRAM-SHA-256**, **SCRAM-SHA-512**.
         * Changing this parameter will create a new resource.
         */
        saslMechanism?: pulumi.Input<string>;
        /**
         * Specifies whether to set the keystore private key password.
         * Defaults to false. Changing this parameter will create a new resource.
         */
        setPrivateKeyPassword?: pulumi.Input<boolean>;
        /**
         * Specifies the value of the security certificate after Base64 transcoding.
         * It is mandatory when the security protocol is set to **SSL** or **SASL_SSL**.
         * Changing this parameter will create a new resource.
         */
        trustStoreKey?: pulumi.Input<string>;
        /**
         * Specifies the certificate name.
         * It is mandatory when the security protocol is set to **SSL** or **SASL_SSL**.
         * Changing this parameter will create a new resource.
         */
        trustStoreKeyName?: pulumi.Input<string>;
        /**
         * Specifies the certificate password.
         * It is mandatory when the security protocol is set to **SSL** or **SASL_SSL**.
         * Changing this parameter will create a new resource.
         */
        trustStorePassword?: pulumi.Input<string>;
        /**
         * Specifies the type of a task with an EIP bound.
         * Valid values are **master** and **slave**.
         * + In a primary/standby task, **master** indicates the primary task, and **slave** indicates the standby task.
         * + In other cases, the value is fixed to **master**.
         */
        type?: pulumi.Input<string>;
    }
    interface JobLimitSpeed {
        /**
         * Specifies the time to end speed limit, this time is UTC time. The input must
         * end at 59 minutes, the format is **hh:mm**, for example: 15:59. Changing this parameter will create a new resource.
         */
        endTime: pulumi.Input<string>;
        /**
         * Specifies the transmission speed, the value range is 1 to 9999, unit: **MB/s**.
         * Changing this parameter will create a new resource.
         */
        speed: pulumi.Input<string>;
        /**
         * Specifies the time to start speed limit, this time is UTC time. The start
         * time is the whole hour, if there is a minute, it will be ignored, the format is **hh:mm**, and the hour number
         * is two digits, for example: 01:00. Changing this parameter will create a new resource.
         */
        startTime: pulumi.Input<string>;
    }
    interface JobPolicyConfig {
        /**
         * Specifies the incremental conflict policy.
         */
        conflictPolicy?: pulumi.Input<string>;
        /**
         * Specifies Whether to export data in snapshot mode in the PostgreSQL
         * full migration or synchronization phase. Defaults to **false**.
         * Changing this parameter will create a new resource.
         */
        exportSnapshot?: pulumi.Input<boolean>;
        /**
         * Specifies the file and position, The value is in the format of
         * **File_name.file_number:Event_position**. Changing this parameter will create a new resource.
         */
        fileAndPosition?: pulumi.Input<string>;
        /**
         * Specifies the DDL filtering policy. Valid value is **drop_database**.
         * For MySQL synchronization, this parameter can only be set to **drop_database**.
         * Changing this parameter will create a new resource.
         */
        filterDdlPolicy?: pulumi.Input<string>;
        /**
         * Specifies the gtid set. Enter a maximum of 2048 characters. Chinese
         * characters and the following special characters are not allowed: < > & " ' / \\.
         * Changing this parameter will create a new resource.
         */
        gtidSet?: pulumi.Input<string>;
        /**
         * Specifies the object synchronization scope, indicating whether to
         * synchronize normal indexes. If it's **true**, all indexes will be synchronized, otherwise, only primary key or unique
         * indexes are synchronized. Changing this parameter will create a new resource.
         */
        indexTrans?: pulumi.Input<boolean>;
        /**
         * Specifies whether to fill the materialized view in the
         * PostgreSQL full migration or synchronization phase. Defaults to **false**.
         * Changing this parameter will create a new resource.
         */
        isFillMaterializedView?: pulumi.Input<boolean>;
        /**
         * Specifies the data format delivered to Kafka.
         * Valid values are **json**, **avro** and **json_c**. Defaults to **json**.
         * + The value can be **json** and **json_c** for synchronization from MySQL to Kafka and from GaussDB(for MySQL) to Kafka.
         * + The value can be **json** and **avro** for synchronization from GaussDB Primary/Standby to Kafka.
         */
        kafkaDataFormat?: pulumi.Input<string>;
        /**
         * Specifies the policy for synchronizing topics to the Kafka partitions.
         * It is mandatory when the destination database is Kafka.
         * + Valid values are as follows:
         * - **0**: Partitions are differentiated by the hash values of *database_name.schema_name.table_name*.
         * - **1**: Topics are synchronized to partition 0.
         * - **2**: Partitions are identified by the hash values of the primary key.
         * - **3**: Partitions are differentiated by the hash values of *database_name.schema_name*.
         * - **5**: Partitions are differentiated by the hash values of non-primary-key columns
         */
        partitionPolicy?: pulumi.Input<string>;
        /**
         * Specifies the number of partitions. The value ranges from **1** to
         * **2147483647**. It can be specified if `policy_config.0.topic_policy` is set to **1**, **2**, or **3**.
         * Defaults to **1**. Changing this parameter will create a new resource.
         */
        partitionsNum?: pulumi.Input<string>;
        /**
         * Specifies the number of replicas. The value ranges from **1** to
         * **32767**. It can be specified if `policy_config.0.topic_policy` is set to **1**, **2**, or **3**.
         * Defaults to **1**. Changing this parameter will create a new resource.
         */
        replicationFactor?: pulumi.Input<string>;
        /**
         * Specifies the replication slot name. It is mandatory for primary and standby
         * tasks from GaussDB Primary/Standby to Kafka. Changing this parameter will create a new resource.
         */
        slotName?: pulumi.Input<string>;
        /**
         * Specifies the topic name. It is mandatory when `policy_config.0.topic_policy`
         * is set to **0**. Ensure that the topic exists. Changing this parameter will create a new resource.
         */
        topic?: pulumi.Input<string>;
        /**
         * Specifies the topic name format.
         * Valid value are as follows:
         * + If `policy_config.0.topic_policy` is set to **1**, the topic name supports the database and table names as variables.
         * Other characters are considered as constants. Replace **$database$** with the database name and **$tablename$** with the
         * table name. Defaults to **$database$-$tablename$**.
         * + If `policy_config.0.topic_policy` is set to **2**, the topic name supports the database name as a variable. Other
         * characters are regarded as constants. Defaults to **$database$**.
         * + If `policy_config.0.topic_policy` is set to **3**, the topic name supports the names of database, schema, and table
         * as variables. Other characters are considered as constants. **$database$** indicates the database name, **$schema$**
         * indicates the schema name, and **$tablename$** indicates the table name. The default value is **$database$-$schema$-$tablename$**.
         */
        topicNameFormat?: pulumi.Input<string>;
        /**
         * Specifies the topic synchronization policy. It is mandatory when
         * destination database is Kafka.
         * + Values for synchronization from MySQL to Kafka and from GaussDB(for MySQL) to Kafka:
         * - **0**: A specified topic.
         * - **1**: Auto-generated topics.
         */
        topicPolicy?: pulumi.Input<string>;
    }
    interface JobPublicIpList {
        /**
         * Specifies the ID of a specified EIP.
         * Changing this parameter will create a new resource.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies public IP.
         * Changing this parameter will create a new resource.
         */
        publicIp: pulumi.Input<string>;
        /**
         * Specifies the type of a task with an EIP bound.
         * Valid values are **master** and **slave**.
         * + In a primary/standby task, **master** indicates the primary task, and **slave** indicates the standby task.
         * + In other cases, the value is fixed to **master**.
         */
        type: pulumi.Input<string>;
    }
    interface JobSourceDb {
        /**
         * Specifies the engine type of database. Changing this parameter will
         * create a new resource. The options are as follows: **mysql**, **mongodb**, **gaussdbv5**, **taurus**, **gaussdbv5ha**,
         * **kafka**, **postgresql**.
         */
        engineType: pulumi.Input<string>;
        /**
         * Specifies the instance id of database when it is a RDS database.
         * Changing this parameter will create a new resource.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * Specifies the IP of database. Changing this parameter will create a new resource.
         */
        ip: pulumi.Input<string>;
        /**
         * Specifies the kafka security authentication info.
         * Changing this parameter will create a new resource.
         * The kafkaSecurityConfig structure is documented below.
         */
        kafkaSecurityConfig?: pulumi.Input<inputs.Drs.JobSourceDbKafkaSecurityConfig>;
        /**
         * Specifies the name of database.
         * Changing this parameter will create a new resource.
         */
        name?: pulumi.Input<string>;
        /**
         * Specifies the password of database.
         * Changing this parameter will create a new resource.
         */
        password?: pulumi.Input<string>;
        /**
         * Specifies the port of database. Changing this parameter will create a new resource.
         */
        port?: pulumi.Input<number>;
        /**
         * Specifies the region which the database belongs when it is a RDS database.
         * Changing this parameter will create a new resource.
         */
        region?: pulumi.Input<string>;
        /**
         * The security group ID to which the databese instance belongs.
         */
        securityGroupId?: pulumi.Input<string>;
        /**
         * Specifies the checksum of SSL certificate content.
         * It is mandatory when `sslEnabled` is **true**. Changing this parameter will create a new resource.
         */
        sslCertCheckSum?: pulumi.Input<string>;
        /**
         * Specifies the SSL certificate content, encrypted with base64.
         * It is mandatory when `sslEnabled` is **true**. Changing this parameter will create a new resource.
         */
        sslCertKey?: pulumi.Input<string>;
        /**
         * Specifies SSL certificate name.
         * It is mandatory when `sslEnabled` is **true**. Changing this parameter will create a new resource.
         */
        sslCertName?: pulumi.Input<string>;
        /**
         * Specifies SSL certificate password. It is mandatory when
         * `sslEnabled` is **true** and the certificate file suffix is **.p12**. Changing this parameter will create a new resource.
         */
        sslCertPassword?: pulumi.Input<string>;
        /**
         * Specifies whether to enable SSL connection.
         * Changing this parameter will create a new resource.
         */
        sslEnabled?: pulumi.Input<boolean>;
        /**
         * Specifies subnet ID of database when it is a RDS database.
         * It is mandatory when `direction` is **down**. Changing this parameter will create a new resource.
         */
        subnetId?: pulumi.Input<string>;
        /**
         * Specifies the user name of database.
         * Changing this parameter will create a new resource.
         */
        user?: pulumi.Input<string>;
        /**
         * Specifies vpc ID of database.
         * Changing this parameter will create a new resource.
         */
        vpcId?: pulumi.Input<string>;
    }
    interface JobSourceDbKafkaSecurityConfig {
        /**
         * Specifies whether to use token authentication. It is valid only when
         * the security protocol is set to **SASL_SSL** or **SASL_PLAINTEXT** and the SASL mechanism is set to **SCRAM-SHA-256**
         * or **SCRAM-SHA-512**. Defaults to false. Changing this parameter will create a new resource.
         */
        delegationTokens?: pulumi.Input<boolean>;
        /**
         * Specifies Whether to enable two-way SSL authentication.
         * Defaults to false. Changing this parameter will create a new resource.
         */
        enableKeyStore?: pulumi.Input<boolean>;
        /**
         * Specifies the host name endpoint identification algorithm, which
         * specifies the endpoint identification algorithm for verifying the server host name using the server certificate.
         * If it is not specified, host name verification is disabled. The corresponding field for Kafka is
         * **ssl.endpoint.identification.algorithm**. Changing this parameter will create a new resource.
         */
        endpointAlgorithm?: pulumi.Input<string>;
        /**
         * Specifies the keystore private key password. It is mandatory when
         * two-way SSL authentication is enabled and `setPrivateKeyPassword` is set to **true**.
         * Changing this parameter will create a new resource.
         */
        keyPassword?: pulumi.Input<string>;
        /**
         * Specifies the keystore certificate. It is mandatory when two-way SSL
         * authentication is enabled. Changing this parameter will create a new resource.
         */
        keyStoreKey?: pulumi.Input<string>;
        /**
         * Specifies the keystore certificate name. It is mandatory when
         * two-way SSL authentication is enabled. Changing this parameter will create a new resource.
         */
        keyStoreKeyName?: pulumi.Input<string>;
        /**
         * Specifies the keystore certificate password. It is mandatory when
         * a password is set for the keystore certificate. Changing this parameter will create a new resource.
         */
        keyStorePassword?: pulumi.Input<string>;
        /**
         * Specifies the SASL mechanism used for client connection.
         * The value can be **GSSAPI**, **PLAIN**, **SCRAM-SHA-256**, **SCRAM-SHA-512**.
         * Changing this parameter will create a new resource.
         */
        saslMechanism?: pulumi.Input<string>;
        /**
         * Specifies whether to set the keystore private key password.
         * Defaults to false. Changing this parameter will create a new resource.
         */
        setPrivateKeyPassword?: pulumi.Input<boolean>;
        /**
         * Specifies the value of the security certificate after Base64 transcoding.
         * It is mandatory when the security protocol is set to **SSL** or **SASL_SSL**.
         * Changing this parameter will create a new resource.
         */
        trustStoreKey?: pulumi.Input<string>;
        /**
         * Specifies the certificate name.
         * It is mandatory when the security protocol is set to **SSL** or **SASL_SSL**.
         * Changing this parameter will create a new resource.
         */
        trustStoreKeyName?: pulumi.Input<string>;
        /**
         * Specifies the certificate password.
         * It is mandatory when the security protocol is set to **SSL** or **SASL_SSL**.
         * Changing this parameter will create a new resource.
         */
        trustStorePassword?: pulumi.Input<string>;
        /**
         * Specifies the type of a task with an EIP bound.
         * Valid values are **master** and **slave**.
         * + In a primary/standby task, **master** indicates the primary task, and **slave** indicates the standby task.
         * + In other cases, the value is fixed to **master**.
         */
        type?: pulumi.Input<string>;
    }
    interface JobTable {
        /**
         * Specifies the name of database to which the tables belong.
         */
        database: pulumi.Input<string>;
        /**
         * Specifies the names of table which belong to a same datebase.
         */
        tableNames: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace Dws {
    interface ClusterElb {
        /**
         * The ID of the ELB load balancer.
         */
        id?: pulumi.Input<string>;
        /**
         * Cluster name, which must be unique and contains 4 to 64 characters, which
         * consist of letters, digits, hyphens(-), or underscores(_) only and must start with a letter.
         * Changing this creates a new cluster resource.
         */
        name?: pulumi.Input<string>;
        /**
         * The private endpoint of the ELB load balancer.
         */
        privateEndpoint?: pulumi.Input<string>;
        /**
         * The private IP address of the ELB load balancer.
         */
        privateIp?: pulumi.Input<string>;
        /**
         * The IPv6 address of the ELB load balancer.
         */
        privateIpV6?: pulumi.Input<string>;
        /**
         * The information about public IP.
         */
        publicIp?: pulumi.Input<string>;
        /**
         * The VPC ID.
         * Changing this parameter will create a new resource.
         */
        vpcId?: pulumi.Input<string>;
    }
    interface ClusterEndpoint {
        /**
         * Private network connection information.
         */
        connectInfo?: pulumi.Input<string>;
        /**
         * JDBC URL. Format: jdbc:postgresql://<public_connect_info>/<YOUR_DATABASE_NAME>
         */
        jdbcUrl?: pulumi.Input<string>;
    }
    interface ClusterMaintainWindow {
        /**
         * Maintenance time in each week in the unit of day.
         * The valid values are **Mon**, **Tue**, **Wed**, **Thu**, **Fri**,
         * **Sat**, and **Sun**.
         */
        day?: pulumi.Input<string>;
        /**
         * Maintenance end time in HH:mm format. The time zone is GMT+0.
         */
        endTime?: pulumi.Input<string>;
        /**
         * Maintenance start time in HH:mm format. The time zone is GMT+0.
         */
        startTime?: pulumi.Input<string>;
    }
    interface ClusterPublicEndpoint {
        /**
         * JDBC URL. Format: jdbc:postgresql://<public_connect_info>/<YOUR_DATABASE_NAME>
         */
        jdbcUrl?: pulumi.Input<string>;
        /**
         * Public network connection information.
         */
        publicConnectInfo?: pulumi.Input<string>;
    }
    interface ClusterPublicIp {
        /**
         * The EIP ID.
         */
        eipId?: pulumi.Input<string>;
        /**
         * The bind type of public IP.
         * The valid value are **auto_assign**, **not_use**, and **bind_existing**. Defaults to **not_use**.
         */
        publicBindType?: pulumi.Input<string>;
    }
    interface ClusterVolume {
        /**
         * The capacity size, in GB.
         */
        capacity?: pulumi.Input<string>;
        /**
         * The volume type. Value options are as follows:
         * + **SSD**: Ultra-high I/O. The solid-state drive (SSD) is used.
         * + **SAS**: High I/O. The SAS disk is used.
         * + **SATA**: Common I/O. The SATA disk is used.
         */
        type?: pulumi.Input<string>;
    }
}
export declare namespace Ecs {
    interface InstanceBandwidth {
        /**
         * Specifies the bandwidth billing mode. The value can be *traffic* or *bandwidth*.
         * Changing this creates a new instance.
         */
        chargeMode?: pulumi.Input<string>;
        /**
         * Specifies the additional EIP information.
         * Changing this creates a new instance.
         */
        extendParam?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Specifies the **shared** bandwidth id. This parameter is mandatory when
         * `shareType` is set to **WHOLE**. Changing this creates a new instance.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the bandwidth sharing type. Changing this creates a new instance.
         * Possible values are as follows:
         * + **PER**: Dedicated bandwidth
         * + **WHOLE**: Shared bandwidth
         */
        shareType: pulumi.Input<string>;
        /**
         * Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s.
         * This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.
         */
        size?: pulumi.Input<number>;
    }
    interface InstanceDataDisk {
        /**
         * Specifies the data disk DSS pool ID. This field is used
         * only for dedicated storage. Changing this parameter will create a new resource.
         */
        dssPoolId?: pulumi.Input<string>;
        /**
         * Specifies the IOPS(Input/Output Operations Per Second) for the disk.
         * The field is valid and required when `type` is set to **GPSSD2** or **ESSD2**.
         */
        iops?: pulumi.Input<number>;
        /**
         * Specifies the ID of a KMS key. This is used to encrypt the disk.
         * Changing this creates a new instance.
         */
        kmsKeyId?: pulumi.Input<string>;
        /**
         * Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s.
         * This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the EVS snapshot ID or ID of the original data disk contained in
         * the full-ECS image. Changing this creates a new instance.
         */
        snapshotId?: pulumi.Input<string>;
        /**
         * Specifies the throughput for the disk. The Unit is MiB/s.
         * The field is valid and required when `type` is set to **GPSSD2**.
         */
        throughput?: pulumi.Input<number>;
        /**
         * Specifies the ECS data disk type. Changing this creates a new instance.
         */
        type: pulumi.Input<string>;
    }
    interface InstanceNetwork {
        /**
         * Specifies if this network should be used for provisioning access.
         * Accepts true or false. Defaults to false.
         */
        accessNetwork?: pulumi.Input<boolean>;
        /**
         * Specifies a fixed IPv4 address to be used on this network.
         */
        fixedIpV4?: pulumi.Input<string>;
        /**
         * The Fixed IPv6 address of the instance on that network.
         */
        fixedIpV6?: pulumi.Input<string>;
        /**
         * Specifies whether the IPv6 function is enabled for the nic.
         * Defaults to false. Changing this creates a new instance.
         */
        ipv6Enable?: pulumi.Input<boolean>;
        /**
         * The MAC address of the NIC on that network.
         */
        mac?: pulumi.Input<string>;
        /**
         * The port ID corresponding to the IP address on that network.
         */
        port?: pulumi.Input<string>;
        /**
         * Specifies whether the ECS processes only traffic that is destined specifically
         * for it. This function is enabled by default but should be disabled if the ECS functions as a SNAT server or has a
         * virtual IP address bound to it.
         */
        sourceDestCheck?: pulumi.Input<boolean>;
        /**
         * Specifies the network UUID to attach to the instance.
         */
        uuid?: pulumi.Input<string>;
    }
    interface InstanceSchedulerHint {
        /**
         * Specifies the ID of DeH.
         * This parameter takes effect only when the value of tenancy is dedicated. Changing this creates a new instance.
         */
        dehId?: pulumi.Input<string>;
        faultDomain?: pulumi.Input<string>;
        /**
         * Specifies a UUID of a Server Group.
         * The instance will be placed into that group. Changing this creates a new instance.
         */
        group?: pulumi.Input<string>;
        /**
         * Specifies the tenancy specifies whether the ECS is to be created on a
         * Dedicated Host
         * (DeH) or in a shared pool. Changing this creates a new instance.
         */
        tenancy?: pulumi.Input<string>;
    }
    interface InstanceVolumeAttached {
        /**
         * The volume boot index on that attachment.
         */
        bootIndex?: pulumi.Input<number>;
        /**
         * Specifies the ID of a KMS key. This is used to encrypt the disk.
         * Changing this creates a new instance.
         */
        kmsKeyId?: pulumi.Input<string>;
        /**
         * The volume pci address on that attachment.
         */
        pciAddress?: pulumi.Input<string>;
        /**
         * Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s.
         * This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.
         */
        size?: pulumi.Input<number>;
        /**
         * Specifies the ECS data disk type. Changing this creates a new instance.
         */
        type?: pulumi.Input<string>;
        /**
         * The volume ID on that attachment.
         */
        volumeId?: pulumi.Input<string>;
    }
}
export declare namespace Eip {
}
export declare namespace Elb {
    interface ListenerInsertHeaders {
        /**
         * Specifies whether to transparently transmit the load balancer EIP to backend
         * servers. After this function is enabled, the load balancer EIP is stored in the HTTP header and passes to backend servers.
         * Value options:
         * + **true**: This function is enabled.
         * + **false (default)**: The function is disabled.
         */
        xForwardedElbIp?: pulumi.Input<string>;
        /**
         * Specifies whether to rewrite the X-Forwarded-Host header. If this function is
         * enabled, **X-Forwarded-Host** is rewritten based on Host in the request and sent to backend servers. Value options:
         * + **true (default)**: This function is enabled.
         * + **false**: The function is disabled.
         */
        xForwardedHost?: pulumi.Input<string>;
    }
    interface PoolPersistence {
        /**
         * The name of the cookie if persistence mode is set appropriately. Required
         * if `type = APP_COOKIE`.
         */
        cookieName?: pulumi.Input<string>;
        /**
         * Specifies the sticky session timeout duration in minutes. This parameter is
         * invalid when type is set to APP_COOKIE. The value range varies depending on the protocol of the backend server group:
         * + When the protocol of the backend server group is TCP or UDP, the value ranges from 1 to 60.
         * + When the protocol of the backend server group is HTTP or HTTPS, the value ranges from 1 to 1440.
         */
        timeout?: pulumi.Input<number>;
        /**
         * The type of persistence mode. The current specification supports SOURCE_IP,
         * HTTP_COOKIE, and APP_COOKIE.
         */
        type: pulumi.Input<string>;
    }
}
export declare namespace Er {
}
export declare namespace Evs {
    interface VolumeAttachment {
        /**
         * The time when the disk was attached.
         */
        attachedAt?: pulumi.Input<string>;
        /**
         * The ID of the attached disk.
         */
        attachedVolumeId?: pulumi.Input<string>;
        /**
         * The device name.
         */
        device?: pulumi.Input<string>;
        /**
         * The name of the physical host housing the cloud server to which the disk is attached.
         */
        hostName?: pulumi.Input<string>;
        /**
         * The ID of the attachment information.
         */
        id?: pulumi.Input<string>;
        /**
         * The ID of the server to which the disk is attached.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * The disk ID.
         */
        volumeId?: pulumi.Input<string>;
    }
    interface VolumeIopsAttribute {
        /**
         * The frozen tag.
         */
        frozened?: pulumi.Input<boolean>;
        /**
         * The ID of the attachment information.
         */
        id?: pulumi.Input<string>;
        /**
         * The throughput.
         */
        totalVal?: pulumi.Input<number>;
    }
    interface VolumeLink {
        /**
         * The corresponding shortcut link.
         */
        href?: pulumi.Input<string>;
        /**
         * The shortcut link marker name.
         */
        rel?: pulumi.Input<string>;
    }
    interface VolumeThroughputAttribute {
        /**
         * The frozen tag.
         */
        frozened?: pulumi.Input<boolean>;
        /**
         * The ID of the attachment information.
         */
        id?: pulumi.Input<string>;
        /**
         * The throughput.
         */
        totalVal?: pulumi.Input<number>;
    }
}
export declare namespace FunctionGraph {
    interface FunctionCustomImage {
        /**
         * Specifies the command line arguments used to start the SWR image.
         * If multiple arguments are separated by commas (,). e.g. `-args,value`.
         * If this parameter is not specified, the CMD in the image configuration will be used by default.
         */
        args?: pulumi.Input<string>;
        /**
         * Specifies the startup commands of the SWR image.
         * Multiple commands are separated by commas (,). e.g. `/bin/sh`.
         * If this parameter is not specified, the entrypoint or CMD in the image configuration will be used by default.
         */
        command?: pulumi.Input<string>;
        /**
         * Specifies the URL of SWR image, the URL must start with `swr.`.
         */
        url: pulumi.Input<string>;
        userGroupId?: pulumi.Input<string>;
        userId?: pulumi.Input<string>;
        /**
         * Specifies the working directory of the SWR image.
         * If not specified, the default value is `/`.
         * Currently, the folder path can only be set to `/` and it cannot be created or modified.
         */
        workingDir?: pulumi.Input<string>;
    }
    interface FunctionFuncMount {
        /**
         * Specifies the function access path.
         */
        localMountPath: pulumi.Input<string>;
        /**
         * Specifies the ID of the mounted resource (corresponding cloud service).
         */
        mountResource: pulumi.Input<string>;
        /**
         * Specifies the remote mount path, e.g. **192.168.0.12:/data**.
         */
        mountSharePath: pulumi.Input<string>;
        /**
         * Specifies the mount type.
         * + **sfs**
         * + **sfsTurbo**
         * + **ecs**
         */
        mountType: pulumi.Input<string>;
        /**
         * The mount status.
         */
        status?: pulumi.Input<string>;
    }
    interface FunctionNetworkController {
        /**
         * Specifies whether to disable the public network access.
         */
        disablePublicNetwork?: pulumi.Input<boolean>;
        /**
         * Specifies the configuration of the VPCs that can trigger the function.
         * The triggerAccessVpcs structure is documented below.
         */
        triggerAccessVpcs: pulumi.Input<pulumi.Input<inputs.FunctionGraph.FunctionNetworkControllerTriggerAccessVpc>[]>;
    }
    interface FunctionNetworkControllerTriggerAccessVpc {
        /**
         * Specifies the ID of the VPC that can trigger the function.
         */
        vpcId: pulumi.Input<string>;
    }
    interface FunctionReservedInstance {
        /**
         * Specifies the number of reserved instance to which the policy belongs.
         * The valid value is range from `0` to `1,000`.
         */
        count: pulumi.Input<number>;
        /**
         * Specifies whether to enable the idle mode.
         * Defaults to **false**.
         * If this parameter is enabled, reserved instances are initialized and the mode change needs some time to take effect.
         * You will still be billed at the price of reserved instances for non-idle mode in this period.
         */
        idleMode?: pulumi.Input<boolean>;
        /**
         * Specifies the version name or alias name.
         */
        qualifierName: pulumi.Input<string>;
        /**
         * Specifies the qualifier type of reserved instance.
         * The valid values are as follows:
         * + **version**
         * + **alias**
         */
        qualifierType: pulumi.Input<string>;
        /**
         * Specifies the auto scaling policies for reserved instance.
         * The tacticsConfig structure is documented below.
         */
        tacticsConfig?: pulumi.Input<inputs.FunctionGraph.FunctionReservedInstanceTacticsConfig>;
    }
    interface FunctionReservedInstanceTacticsConfig {
        /**
         * Specifies the list of scheduled policy configurations.
         * The cronConfigs structure is documented below.
         */
        cronConfigs?: pulumi.Input<pulumi.Input<inputs.FunctionGraph.FunctionReservedInstanceTacticsConfigCronConfig>[]>;
        /**
         * Specifies the list of metric policy configurations.
         * The metricConfigs structure is documented below.
         */
        metricConfigs?: pulumi.Input<pulumi.Input<inputs.FunctionGraph.FunctionReservedInstanceTacticsConfigMetricConfig>[]>;
    }
    interface FunctionReservedInstanceTacticsConfigCronConfig {
        /**
         * Specifies the number of reserved instance to which the policy belongs.
         * The valid value is range from `0` to `1,000`.
         */
        count: pulumi.Input<number>;
        /**
         * Specifies the cron expression.
         * For the syntax, please refer to the [documentation](https://support.huaweicloud.com/intl/en-us/usermanual-functiongraph/functiongraph_01_0908.html).
         */
        cron: pulumi.Input<string>;
        /**
         * Specifies the expiration timestamp of the policy. The unit is `s`, e.g. **1740560074**.
         */
        expiredTime: pulumi.Input<number>;
        /**
         * Specifies the name of metric policy.
         * The valid length is limited from `1` to `60` characters, only letters, digits, hyphens (-), and underscores (_) are
         * allowed. The name must start with a letter and ending with a letter or digit.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the effective timestamp of policy. The unit is `s`, e.g. **1740560074**.
         */
        startTime: pulumi.Input<number>;
    }
    interface FunctionReservedInstanceTacticsConfigMetricConfig {
        /**
         * Specifies the minimun of traffic.
         * The valid value is range from `0` to `1,000`.
         */
        min: pulumi.Input<number>;
        /**
         * Specifies the name of metric policy.
         * The valid length is limited from `1` to `60` characters, only letters, digits, hyphens (-), and underscores (_) are
         * allowed. The name must start with a letter and ending with a letter or digit.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the metric policy threshold.
         * The valid value is range from `1` to `99`.
         */
        threshold: pulumi.Input<number>;
        /**
         * Specifies the type of metric policy.
         * The valid value is as follows:
         * + **Concurrency**: Reserved instance usage.
         */
        type: pulumi.Input<string>;
    }
    interface FunctionVersion {
        /**
         * Specifies the aliases management for specified version.
         * The aliases structure is documented below.
         */
        aliases?: pulumi.Input<inputs.FunctionGraph.FunctionVersionAliases>;
        /**
         * Specifies the description of the version alias.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the name of metric policy.
         * The valid length is limited from `1` to `60` characters, only letters, digits, hyphens (-), and underscores (_) are
         * allowed. The name must start with a letter and ending with a letter or digit.
         */
        name: pulumi.Input<string>;
    }
    interface FunctionVersionAliases {
        /**
         * Specifies the rule grayscale configuration of the version
         * alias, in JSON format.
         */
        additionalVersionStrategy?: pulumi.Input<string>;
        /**
         * Specifies the percentage grayscale configuration of the version
         * alias, in JSON format.
         */
        additionalVersionWeights?: pulumi.Input<string>;
        /**
         * Specifies the description of the version alias.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the name of metric policy.
         * The valid length is limited from `1` to `60` characters, only letters, digits, hyphens (-), and underscores (_) are
         * allowed. The name must start with a letter and ending with a letter or digit.
         */
        name: pulumi.Input<string>;
    }
    interface TriggerApig {
        /**
         * Specifies the API name. Changing this will create a new trigger resource.
         */
        apiName: pulumi.Input<string>;
        /**
         * Specifies the API environment name.
         * Changing this will create a new trigger resource.
         */
        envName: pulumi.Input<string>;
        /**
         * Specifies the ID of the APIG group to which the API belongs.
         * Changing this will create a new trigger resource.
         */
        groupId: pulumi.Input<string>;
        /**
         * Specifies the ID of the APIG dedicated instance to which the API belongs.
         * Required if the `type` is `DEDICATEDGATEWAY`. Changing this will create a new trigger resource.
         */
        instanceId?: pulumi.Input<string>;
        /**
         * Specifies the request protocol of the API. The valid value are
         * **HTTP** and **HTTPS**. Default to **HTTPS**. Changing this will create a new trigger resource.
         */
        requestProtocol?: pulumi.Input<string>;
        /**
         * Specifies the security authentication mode. The valid values
         * are **NONE**, **APP** and **IAM**, default to **IAM**. Changing this will create a new trigger resource.
         */
        securityAuthentication?: pulumi.Input<string>;
        /**
         * Specifies the timeout for request sending. The valid value is range form
         * `1` to `60,000`, default to `5,000`. Changing this will create a new trigger resource.
         */
        timeout?: pulumi.Input<number>;
    }
    interface TriggerDis {
        /**
         * Specifies the maximum volume of data that can be obtained for a single
         * request, in Byte. Only the records with a size smaller than this value can be obtained.
         * The valid value is range from `1,024` to `4,194,304`.
         * Changing this will create a new trigger resource.
         */
        maxFetchBytes: pulumi.Input<number>;
        /**
         * Specifies the interval at which data is pulled from the specified stream.
         * The valid value is range from `2` to `60,000`.
         * Changing this will create a new trigger resource.
         */
        pullPeriod: pulumi.Input<number>;
        /**
         * Specifies the determines whether to pull data only after the data pulled
         * in the last period has been processed.
         * Changing this will create a new trigger resource.
         */
        serialEnable: pulumi.Input<boolean>;
        /**
         * Specifies the type of starting position for DIS queue.
         * The valid values are as follows:
         * + **TRIM_HORIZON**: Starts reading from the earliest data stored in the partitions.
         * + **LATEST**: Starts reading from the latest data stored in the partitions.
         * Changing this will create a new trigger resource.
         */
        startingPosition: pulumi.Input<string>;
        /**
         * Specifies the name of the DIS stream resource.
         * Changing this will create a new trigger resource.
         */
        streamName: pulumi.Input<string>;
    }
    interface TriggerKafka {
        /**
         * Specifies the The number of messages consumed from the topic each time.
         * The valid value is range from `1` to `1,000`. Defaults to `100`.
         * Changing this will create a new trigger resource.
         */
        batchSize?: pulumi.Input<number>;
        /**
         * Specifies the ID of the APIG dedicated instance to which the API belongs.
         * Required if the `type` is `DEDICATEDGATEWAY`. Changing this will create a new trigger resource.
         */
        instanceId: pulumi.Input<string>;
        /**
         * Specifies the password for logging in to the Kafka Manager.
         * Changing this will create a new trigger resource.
         */
        password?: pulumi.Input<string>;
        /**
         * Specifies one or more topic IDs of DMS kafka instance.
         * Changing this will create a new trigger resource.
         */
        topicIds: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the username for logging in to the Kafka Manager.
         * Changing this will create a new trigger resource.
         */
        userName?: pulumi.Input<string>;
    }
    interface TriggerLts {
        /**
         * Specifies the log group ID.
         * Changing this will create a new trigger resource.
         */
        logGroupId: pulumi.Input<string>;
        /**
         * Specifies the log stream ID.
         * Changing this will create a new trigger resource.
         */
        logTopicId: pulumi.Input<string>;
    }
    interface TriggerObs {
        /**
         * Specifies the OBS bucket name.
         * Changing this will create a new trigger resource.
         */
        bucketName: pulumi.Input<string>;
        /**
         * Specifies the event notification name.
         * Changing this will create a new trigger resource.
         */
        eventNotificationName: pulumi.Input<string>;
        /**
         * Specifies the events that can trigger functions.
         * Changing this will create a new trigger resource.
         * The valid values are as follows:
         * + **ObjectCreated**, **Put**, **Post**, **Copy** and **CompleteMultipartUpload**.
         * + **ObjectRemoved**, **Delete** and **DeleteMarkerCreated**.
         */
        events: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the prefix to limit notifications to objects beginning with this keyword.
         * Changing this will create a new trigger resource.
         */
        prefix?: pulumi.Input<string>;
        /**
         * Specifies the suffix to limit notifications to objects ending with this keyword.
         * Changing this will create a new trigger resource.
         */
        suffix?: pulumi.Input<string>;
    }
    interface TriggerSmn {
        /**
         * Specifies the Uniform Resource Name (URN) for SMN topic.
         * Changing this will create a new trigger resource.
         */
        topicUrn: pulumi.Input<string>;
    }
    interface TriggerTimer {
        /**
         * Specifies the event used by the timer to trigger the function.
         * Changing this will create a new trigger resource.
         */
        additionalInformation?: pulumi.Input<string>;
        /**
         * Specifies the trigger name, which can contains of `1` to `64` characters.
         * The name must start with a letter, only letters, digits, hyphens (-) and underscores (_) are allowed.
         * Changing this will create a new trigger resource.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the time schedule.
         * For the rate type, schedule is composed of time and time unit.
         * The time unit supports minutes (m), hours (h) and days (d).
         * For the corn expression, please refer to the HuaweiCloud
         * [document](https://support.huaweicloud.com/en-us/usermanual-functiongraph/functiongraph_01_0908.html).
         * Changing this will create a new trigger resource.
         */
        schedule: pulumi.Input<string>;
        /**
         * Specifies the type of the time schedule.
         * The valid values are **Rate** and **Cron**.
         * Changing this will create a new trigger resource.
         */
        scheduleType: pulumi.Input<string>;
    }
}
export declare namespace GaussDB {
    interface MysqlInstanceAutoScaling {
        /**
         * Specifies the average CPU usage (%). It is mandatory when `status` is set to
         * **ON**. Value options: **50–100**.
         */
        enlargeThreshold?: pulumi.Input<number>;
        /**
         * Indicates the ID of an auto-scaling policy.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the maximum specifications. It is mandatory when the instance specifications
         * are automatically scaled up or down.
         */
        maxFlavor?: pulumi.Input<string>;
        /**
         * Specifies the maximum number of read replicas. It is mandatory when read
         * replicas are automatically added or deleted.
         */
        maxReadOnlyCount?: pulumi.Input<number>;
        /**
         * Indicates the minimum specifications.
         */
        minFlavor?: pulumi.Input<string>;
        /**
         * Indicates the minimum number of read replicas.
         */
        minReadOnlyCount?: pulumi.Input<number>;
        /**
         * Specifies the observation period, in seconds. During the entire observation period,
         * if the average CPU usage is greater than or equal to the preset value, a scale-up is triggered. It is mandatory when
         * `status` is set to **ON**. Value options: **300**, **600**, **900** or **1800**.
         */
        monitorCycle?: pulumi.Input<number>;
        /**
         * Specifies the read weights of read replicas. It is mandatory when read replicas
         * are automatically added or deleted.
         */
        readOnlyWeight?: pulumi.Input<number>;
        /**
         * Specifies whether auto-down is enabled. It is mandatory when `status` is set to
         * **ON**. Value options:
         * + **true**: enabled.
         * + **false**: disabled.
         */
        reduceEnabled?: pulumi.Input<boolean>;
        /**
         * Specifies the auto-scaling policy.
         * The scalingStrategy structure is documented below.
         */
        scalingStrategy: pulumi.Input<inputs.GaussDB.MysqlInstanceAutoScalingScalingStrategy>;
        /**
         * Specifies the silent period, in seconds. It indicates the minimum interval between
         * two auto scale-up operations or two scale-down operations. It is mandatory when `status` is set to **ON**. Value
         * options: **300**,  **600**, **1800**, **3600**, **7200**, **10800**, **86400** or **604800**.
         */
        silenceCycle?: pulumi.Input<number>;
        /**
         * Indicates the start time of the silent period.
         */
        silenceStartAt?: pulumi.Input<string>;
        /**
         * Specifies whether auto-scaling is enabled. Value options:
         * + **ON**: enabled.
         * + **OFF**: disabled.
         */
        status: pulumi.Input<string>;
    }
    interface MysqlInstanceAutoScalingScalingStrategy {
        /**
         * Specifies whether instance specifications can be automatically scaled up or down.
         * Value options:
         * + **ON**: Yes
         * + **OFF**: No
         */
        flavorSwitch: pulumi.Input<string>;
        /**
         * Specifies whether read replicas can be automatically added or deleted. To use
         * this function, ensure that there is only one proxy instance.
         * Value options:
         * + **ON**: Yes
         * + **OFF**: No
         */
        readOnlySwitch: pulumi.Input<string>;
    }
    interface MysqlInstanceBackupStrategy {
        /**
         * Specifies the number of days to retain the generated backup files.
         * The value ranges from `0` to `35`. If this parameter is set to `0`, the automated backup policy is not set.
         * If this parameter is not transferred, the automated backup policy is enabled by default.
         * Backup files are stored for seven days by default.
         */
        keepDays?: pulumi.Input<number>;
        /**
         * Specifies the backup time window. Automated backups will be triggered during the
         * backup time window. It must be a valid value in the "hh:mm-HH:MM" format. The current time is in the UTC format. The
         * HH value must be 1 greater than the hh value. The values of mm and MM must be the same and must be set to 00. Example
         * value: **08:00-09:00**, **03:00-04:00**.
         */
        startTime: pulumi.Input<string>;
    }
    interface MysqlInstanceDatastore {
        /**
         * Specifies the database engine. Only "gaussdb-mysql" is supported now.
         * Changing this parameter will create a new resource.
         */
        engine: pulumi.Input<string>;
        /**
         * Specifies the database version. Only "8.0" is supported now.
         * Changing this parameter will create a new resource.
         */
        version: pulumi.Input<string>;
    }
    interface MysqlInstanceNode {
        /**
         * Indicates the availability zone where the node resides.
         */
        availabilityZone?: pulumi.Input<string>;
        /**
         * Indicates the ID of an auto-scaling policy.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the name of the parameter.
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates the private IP address of a node.
         */
        privateReadIp?: pulumi.Input<string>;
        /**
         * Specifies whether auto-scaling is enabled. Value options:
         * + **ON**: enabled.
         * + **OFF**: disabled.
         */
        status?: pulumi.Input<string>;
        /**
         * Indicates the node type: master or slave.
         */
        type?: pulumi.Input<string>;
    }
    interface MysqlInstanceParameter {
        /**
         * Specifies the name of the parameter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the value of the parameter.
         */
        value: pulumi.Input<string>;
    }
    interface MysqlProxyAccessControlIpList {
        /**
         * Specifies the description.
         * The description contains a maximum of `50` characters and the angle brackets (< and >) are not allowed.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the IP address or CIDR block.
         */
        ip: pulumi.Input<string>;
    }
    interface MysqlProxyMasterNodeWeight {
        /**
         * Specifies the ID of the node.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies the weight assigned to the node.
         * + If `routeMode` is `0`, the value is `0` to `1,000`.
         * + If `routeMode` is `1`, the value for the primary node is `0` and the value for read replicas is `0` or `1`.
         * + If `routeMode` is `2`, the value for the primary node is `1` and the value for read replicas is `0` or `1`.
         */
        weight: pulumi.Input<number>;
    }
    interface MysqlProxyNode {
        /**
         * Indicates the proxy node AZ.
         */
        azCode?: pulumi.Input<string>;
        /**
         * Indicates whether the proxy node is frozen. The values can be:
         * + **0**: unfrozen.
         * + **1**: frozen.
         * + **2**: deleted after being frozen.
         */
        frozenFlag?: pulumi.Input<number>;
        /**
         * Specifies the ID of the node.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the name of the parameter.
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates the proxy node role. The values can be:
         * + **master**: primary node.
         * + **slave**: read replica.
         */
        role?: pulumi.Input<string>;
        /**
         * Indicates the proxy node status. The values can be:
         * + **ACTIVE**: The node is available.
         * + **ABNORMAL**: The node is abnormal.
         * + **FAILED**: The node fails.
         * + **DELETED**: The node has been deleted.
         */
        status?: pulumi.Input<string>;
    }
    interface MysqlProxyParameter {
        /**
         * Specifies the parent tag type of the parameter.
         */
        elemType: pulumi.Input<string>;
        /**
         * Specifies the name of the parameter.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the value of the parameter.
         */
        value: pulumi.Input<string>;
    }
    interface MysqlProxyReadonlyNodesWeight {
        /**
         * Specifies the ID of the node.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies the weight assigned to the node.
         * + If `routeMode` is `0`, the value is `0` to `1,000`.
         * + If `routeMode` is `1`, the value for the primary node is `0` and the value for read replicas is `0` or `1`.
         * + If `routeMode` is `2`, the value for the primary node is `1` and the value for read replicas is `0` or `1`.
         */
        weight: pulumi.Input<number>;
    }
}
export declare namespace GaussDBforNoSQL {
    interface CassandraInstanceBackupStrategy {
        /**
         * Specifies the number of days to retain the generated backup files. The value ranges from
         * 0 to 35. If this parameter is set to 0, the automated backup policy is not set. If this parameter is not transferred,
         * the automated backup policy is enabled by default. Backup files are stored for seven days by default.
         */
        keepDays?: pulumi.Input<number>;
        /**
         * Specifies the backup time window. Automated backups will be triggered during the
         * backup time window. It must be a valid value in the "hh:mm-HH:MM" format. The current time is in the UTC format. The
         * HH value must be 1 greater than the hh value. The values of mm and MM must be the same and must be set to 00. Example
         * value: 08:00-09:00, 03:00-04:00.
         */
        startTime: pulumi.Input<string>;
    }
    interface CassandraInstanceDatastore {
        /**
         * Specifies the database engine. Only "GeminiDB-Cassandra" is supported now.
         * Changing this parameter will create a new resource.
         */
        engine: pulumi.Input<string>;
        /**
         * Specifies the storage engine. Only "rocksDB" is supported now.
         * Changing this parameter will create a new resource.
         */
        storageEngine: pulumi.Input<string>;
        /**
         * Specifies the database version.
         * Changing this parameter will create a new resource.
         */
        version: pulumi.Input<string>;
    }
    interface CassandraInstanceNode {
        /**
         * Indicates the node ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the instance name, which can be the same as an existing instance name. The value
         * must be `4` to `64` characters in length and start with a letter. It is case-sensitive and can contain only letters,
         * digits, hyphens (-), and underscores (_).
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates the private IP address of a node.
         */
        privateIp?: pulumi.Input<string>;
        /**
         * Indicates the node status.
         */
        status?: pulumi.Input<string>;
        /**
         * Indicates whether the node support reduce or not.
         */
        supportReduce?: pulumi.Input<boolean>;
    }
    interface InfluxInstanceBackupStrategy {
        /**
         * Specifies the number of days to retain the generated backup files. The value ranges from
         * `0` to `35`. If this parameter is set to `0`, the automated backup policy is not set. If this parameter is not
         * transferred, the automated backup policy is enabled by default. Backup files are stored for seven days by default.
         */
        keepDays?: pulumi.Input<number>;
        /**
         * Specifies the backup time window. Automated backups will be triggered during the
         * backup time window. It must be a valid value in the "hh:mm-HH:MM" format. The current time is in the UTC format. The
         * HH value must be 1 greater than the hh value. The values of mm and MM must be the same and must be set to 00. Example
         * value: 08:00-09:00, 03:00-04:00.
         */
        startTime: pulumi.Input<string>;
    }
    interface InfluxInstanceDatastore {
        /**
         * Specifies the database engine. Only **influxdb** is supported now.
         * Changing this parameter will create a new resource.
         */
        engine: pulumi.Input<string>;
        /**
         * Specifies the storage engine. Only **rocksDB** is supported now.
         * Changing this parameter will create a new resource.
         */
        storageEngine: pulumi.Input<string>;
        /**
         * Specifies the database version.
         * Changing this parameter will create a new resource.
         */
        version: pulumi.Input<string>;
    }
    interface InfluxInstanceNode {
        /**
         * Indicates the node ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the instance name, which can be the same as an existing instance name. The
         * value must be `4` to `64` characters in length and start with a letter. It is case-sensitive and can contain only
         * letters, digits, hyphens (-), and underscores (_).
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates the private IP address of a node.
         */
        privateIp?: pulumi.Input<string>;
        /**
         * Indicates the node status.
         */
        status?: pulumi.Input<string>;
        /**
         * Indicates whether the node support reduce or not.
         */
        supportReduce?: pulumi.Input<boolean>;
    }
    interface MongoInstanceBackupStrategy {
        /**
         * Specifies the number of days to retain the generated backup files. The value ranges from
         * `0` to `35`. If this parameter is set to `0`, the automated backup policy is not set. If this parameter is not
         * transferred, the automated backup policy is enabled by default. Backup files are stored for seven days by default.
         */
        keepDays?: pulumi.Input<number>;
        /**
         * Specifies the backup time window. Automated backups will be triggered during the
         * backup time window. It must be a valid value in the "hh:mm-HH:MM" format. The current time is in the UTC format. The
         * HH value must be 1 greater than the hh value. The values of mm and MM must be the same and must be set to 00. Example
         * value: 08:00-09:00, 03:00-04:00.
         */
        startTime: pulumi.Input<string>;
    }
    interface MongoInstanceDatastore {
        /**
         * Specifies the database engine. Only **mongodb** is supported now.
         */
        engine: pulumi.Input<string>;
        /**
         * Specifies the storage engine. Only **rocksDB** is supported now.
         */
        storageEngine: pulumi.Input<string>;
        /**
         * Specifies the database version.
         */
        version: pulumi.Input<string>;
    }
    interface MongoInstanceNode {
        /**
         * Indicates the node ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the instance name, which can be the same as an existing instance name. The
         * value must be `4` to `64` characters in length and start with a letter. It is case-sensitive and can contain only
         * letters, digits, hyphens (-), and underscores (_).
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates the private IP address of a node.
         */
        privateIp?: pulumi.Input<string>;
        /**
         * Indicates the node status.
         */
        status?: pulumi.Input<string>;
        /**
         * Indicates whether the node support reduce or not.
         */
        supportReduce?: pulumi.Input<boolean>;
    }
    interface RedisInstanceAvailabilityZoneDetail {
        /**
         * Specifies the primary AZ, it must be a single AZ and be
         * different from the standby AZ. Changing this parameter will create a new resource.
         */
        primaryAvailabilityZone: pulumi.Input<string>;
        /**
         * Specifies the standby AZ, it must be a single AZ and be
         * different from the primary AZ. Changing this parameter will create a new resource.
         */
        secondaryAvailabilityZone: pulumi.Input<string>;
    }
    interface RedisInstanceBackupStrategy {
        /**
         * Specifies the number of days to retain the generated backup files. The value ranges from
         * 0 to 35. If this parameter is set to `0`, the automated backup policy is not set. If this parameter is not transferred,
         * the automated backup policy is enabled by default. Backup files are stored for seven days by default.
         */
        keepDays?: pulumi.Input<number>;
        /**
         * Specifies the backup time window. Automated backups will be triggered during the
         * backup time window. It must be a valid value in the "hh:mm-HH:MM" format. The current time is in the UTC format. The
         * HH value must be `1` greater than the hh value. The values of mm and MM must be the same and must be set to 00. Example
         * value: **08:00-09:00**, **03:00-04:00**.
         */
        startTime: pulumi.Input<string>;
    }
    interface RedisInstanceDatastore {
        /**
         * Specifies the database engine. Only "redis" is supported now.
         * Changing this parameter will create a new resource.
         */
        engine: pulumi.Input<string>;
        /**
         * Specifies the storage engine. Only "rocksDB" is supported now.
         * Changing this parameter will create a new resource.
         */
        storageEngine: pulumi.Input<string>;
        /**
         * Specifies the database version. Only "5.0" is supported now.
         * Changing this parameter will create a new resource.
         */
        version: pulumi.Input<string>;
    }
    interface RedisInstanceNode {
        /**
         * Indicates the node ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the instance name, which can be the same as an existing instance name. The value
         * must be `4` to `64` characters in length and start with a letter. It is case-sensitive and can contain only letters,
         * digits, hyphens (-), and underscores (_). Chinese characters must be in UTF-8 or Unicode format.
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates the private IP address of a node.
         */
        privateIp?: pulumi.Input<string>;
        /**
         * Indicates the public IP address of a node.
         */
        publicIp?: pulumi.Input<string>;
        /**
         * Indicates the node status.
         */
        status?: pulumi.Input<string>;
        /**
         * Indicates whether the node support reduce or not.
         */
        supportReduce?: pulumi.Input<boolean>;
    }
}
export declare namespace GaussDBforOpenGauss {
    interface OpengaussInstanceAdvanceFeature {
        /**
         * Specifies the name of the advance feature.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the value of the advance feature.
         */
        value: pulumi.Input<string>;
    }
    interface OpengaussInstanceBackupStrategy {
        /**
         * Specifies the number of days to retain the generated backup files. The value ranges from
         * `0` to `732`. If this parameter is set to `0`, the automated backup policy is not set.
         * If this parameter is not transferred, the automated backup policy is enabled by default.
         */
        keepDays?: pulumi.Input<number>;
        /**
         * Specifies the backup time window. Automated backups will be triggered during the
         * backup time window. It must be a valid value in the **hh:mm-HH:MM** format. The current time is in the UTC format. The
         * **HH** value must be `1` greater than the **hh** value. The values of mm and MM must be the same and must be set to
         * **00**. Example value: **08:00-09:00**, **23:00-00:00**.
         */
        startTime: pulumi.Input<string>;
    }
    interface OpengaussInstanceDatastore {
        /**
         * Specifies the database engine. Only **GaussDB(for openGauss)** is supported
         * now. Changing this parameter will create a new resource.
         */
        engine: pulumi.Input<string>;
        /**
         * Specifies the database version. Defaults to the latest version. Please
         * reference to the API docs for valid options. Changing this parameter will create a new resource.
         */
        version?: pulumi.Input<string>;
    }
    interface OpengaussInstanceHa {
        /**
         * Specifies the database consistency mode.
         * The valid values are **strong** and **eventual**, not case-sensitive.
         * Changing this parameter will create a new resource.
         */
        consistency?: pulumi.Input<string>;
        /**
         * Specifies the product type of the instance. Value options:
         * + **enterprise**: The instance of the enterprise edition will be created.
         * + **basic**: The instance of the basic edition will be created.
         * + **ecology**: The instance of the ecosystem edition will be created.
         */
        instanceMode?: pulumi.Input<string>;
        /**
         * Specifies the deployment model.
         * The valid values are **enterprise** and **centralization_standard**.
         * Changing this parameter will create a new resource.
         */
        mode: pulumi.Input<string>;
        /**
         * Specifies the database replication mode.
         * Only **sync** is supported now. Changing this parameter will create a new resource.
         */
        replicationMode: pulumi.Input<string>;
    }
    interface OpengaussInstanceNode {
        /**
         * Specifies the availability zone information, can be three same or
         * different az like **cn-north-4a,cn-north-4a,cn-north-4a**. Changing this parameter will create a new resource.
         */
        availabilityZone?: pulumi.Input<string>;
        /**
         * Indicates the node ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the name of the advance feature.
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates the private IP address of the node.
         */
        privateIp?: pulumi.Input<string>;
        /**
         * Indicates the EIP that has been bound.
         */
        publicIp?: pulumi.Input<string>;
        /**
         * Indicates the node role.
         * + **master**.
         * + **slave**.
         */
        role?: pulumi.Input<string>;
        /**
         * Indicates the node status.
         */
        status?: pulumi.Input<string>;
    }
    interface OpengaussInstanceParameter {
        /**
         * Specifies the name of the advance feature.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the value of the advance feature.
         */
        value: pulumi.Input<string>;
    }
    interface OpengaussInstanceVolume {
        /**
         * Specifies the volume size (in gigabytes). The valid value is range form `40` to `4,000`.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the volume type. Only **ULTRAHIGH** is supported now.
         * Changing this parameter will create a new resource.
         */
        type: pulumi.Input<string>;
    }
}
export declare namespace Iam {
    interface AclIpCidr {
        /**
         * Specifies the IPv4 CIDR block, for example, **192.168.0.0/24**.
         */
        cidr: pulumi.Input<string>;
        /**
         * Specifies a description about an IP address range. This parameter can contain a
         * maximum of 255 characters and the following characters are not allowed:**@#%^&*<>\\**.
         */
        description?: pulumi.Input<string>;
    }
    interface AclIpRange {
        /**
         * Specifies a description about an IP address range. This parameter can contain a
         * maximum of 255 characters and the following characters are not allowed:**@#%^&*<>\\**.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the Ip address range, for example, **0.0.0.0-255.255.255.0**.
         */
        range: pulumi.Input<string>;
    }
    interface AgencyProjectRole {
        /**
         * Specifies the name of project.
         */
        project: pulumi.Input<string>;
        /**
         * Specifies an array of role names.
         */
        roles: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ProtectionPolicySelfManagement {
        /**
         * Specifies whether to allow IAM users to manage access keys by themselves.
         */
        accessKey?: pulumi.Input<boolean>;
        /**
         * Specifies whether to allow IAM users to change their email addresses.
         */
        email?: pulumi.Input<boolean>;
        /**
         * Specifies whether to allow IAM users to change their mobile numbers.
         */
        mobile?: pulumi.Input<boolean>;
        /**
         * Specifies whether to allow IAM users to change their passwords.
         */
        password?: pulumi.Input<boolean>;
    }
    interface ProviderAccessConfig {
        /**
         * Specifies the access type of the identity provider.
         * Available options are:
         * + **program**: programmatic access only.
         * + **program_console**: programmatic access and management console access.
         */
        accessType: pulumi.Input<string>;
        /**
         * Specifies the authorization endpoint of the OpenID Connect identity
         * provider. This field is required only if the access type is set to `programConsole`.
         */
        authorizationEndpoint?: pulumi.Input<string>;
        /**
         * Specifies the ID of a client registered with the OpenID Connect identity provider.
         */
        clientId: pulumi.Input<string>;
        /**
         * Specifies the URL of the identity provider.
         * This field corresponds to the iss field in the ID token.
         */
        providerUrl: pulumi.Input<string>;
        /**
         * Response mode.
         * Valid values is *form_post* and *fragment*, default value is *form_post*.
         * This field is required only if the access type is set to `programConsole`.
         */
        responseMode?: pulumi.Input<string>;
        /**
         * Response type. Valid values is *id_token*, default value is *id_token*.
         * This field is required only if the access type is set to `programConsole`.
         */
        responseType?: pulumi.Input<string>;
        /**
         * Specifies the scopes of authorization requests. It is an array of one or more scopes.
         * Valid values are *openid*, *email*, *profile* and other values defined by you.
         * This field is required only if the access type is set to `programConsole`.
         */
        scopes?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Public key used to sign the ID token of the OpenID Connect identity provider.
         * This field is required only if the protocol is set to *oidc*.
         */
        signingKey: pulumi.Input<string>;
    }
    interface ProviderConversionConversionRule {
        /**
         * Specifies the federated user information on the cloud platform.
         */
        locals: pulumi.Input<pulumi.Input<inputs.Iam.ProviderConversionConversionRuleLocal>[]>;
        /**
         * Specifies Federated user information in the IDP system.
         */
        remotes: pulumi.Input<pulumi.Input<inputs.Iam.ProviderConversionConversionRuleRemote>[]>;
    }
    interface ProviderConversionConversionRuleLocal {
        /**
         * Specifies the user group to which the federated user belongs on the cloud platform.
         */
        group?: pulumi.Input<string>;
        /**
         * Specifies the name of a federated user on the cloud platform.
         */
        username?: pulumi.Input<string>;
    }
    interface ProviderConversionConversionRuleRemote {
        /**
         * Specifies the attribute in the IDP assertion.
         */
        attribute: pulumi.Input<string>;
        /**
         * Specifies the condition of conversion rule.
         * Available options are:
         * + `anyOneOf`: The rule is matched only if the specified strings appear in the attribute type.
         * + `notAnyOf`: The rule is matched only if the specified strings do not appear in the attribute type.
         */
        condition?: pulumi.Input<string>;
        /**
         * Specifies the rule is matched only if the specified strings appear in the attribute type.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ProviderConversionRule {
        /**
         * The federated user information on the cloud platform.
         */
        locals?: pulumi.Input<pulumi.Input<inputs.Iam.ProviderConversionRuleLocal>[]>;
        /**
         * The description of the identity provider.
         */
        remotes?: pulumi.Input<pulumi.Input<inputs.Iam.ProviderConversionRuleRemote>[]>;
    }
    interface ProviderConversionRuleLocal {
        /**
         * The user group to which the federated user belongs on the cloud platform.
         */
        group?: pulumi.Input<string>;
        /**
         * The name of a federated user on the cloud platform.
         */
        username?: pulumi.Input<string>;
    }
    interface ProviderConversionRuleRemote {
        /**
         * The attribute in the IDP assertion.
         */
        attribute?: pulumi.Input<string>;
        /**
         * The condition of conversion rule.
         */
        condition?: pulumi.Input<string>;
        /**
         * The rule is matched only if the specified strings appear in the attribute type.
         */
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace Iec {
    interface NetworkAclNetwork {
        /**
         * Specifies the id of the iec subnet.
         */
        subnetId: pulumi.Input<string>;
        /**
         * Specifies the id of the iec vpc.
         */
        vpcId: pulumi.Input<string>;
    }
    interface SecurityGroupSecurityGroupRule {
        /**
         * Specifies the description of the iec security group. description must be
         * 0 to 64 characters in length, and does not contain angle brackets (<) and (>). Changing this parameter will creates a
         * new iec security group resource.
         */
        description?: pulumi.Input<string>;
        /**
         * The direction of the iec security group rules.
         */
        direction?: pulumi.Input<string>;
        /**
         * The layer 3 protocol type.
         */
        ethertype?: pulumi.Input<string>;
        /**
         * The id of the iec security group rules.
         */
        id?: pulumi.Input<string>;
        /**
         * The higher part of the allowed port range.
         */
        portRangeMax?: pulumi.Input<number>;
        /**
         * The lower part of the allowed port range.
         */
        portRangeMin?: pulumi.Input<number>;
        /**
         * The layer 4 protocol type.
         */
        protocol?: pulumi.Input<string>;
        /**
         * The remote group id of the iec security group rules.
         */
        remoteGroupId?: pulumi.Input<string>;
        /**
         * The remote CIDR of the iec security group rules.
         */
        remoteIpPrefix?: pulumi.Input<string>;
        /**
         * The id of the iec security group rules.
         */
        securityGroupId?: pulumi.Input<string>;
    }
    interface ServerCoverageSite {
        /**
         * Specifies the operator of the IEC site.
         */
        operator: pulumi.Input<string>;
        /**
         * Specifies the ID of IEC site.
         */
        siteId: pulumi.Input<string>;
    }
    interface ServerDataDisk {
        /**
         * Specifies the size of data disk for the IEC server binding. The value range is
         * 10 to 500 in GB. Changing this parameter creates a new IEC server resource.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the type of data disk for the IEC server binding. Valid value is
         * *SAS*(high I/O disk type). Changing this parameter creates a new IEC server resource.
         */
        type: pulumi.Input<string>;
    }
    interface ServerNic {
        /**
         * The IPv4 address of the server on that network.
         */
        address?: pulumi.Input<string>;
        /**
         * The MAC address of the NIC on that network.
         */
        mac?: pulumi.Input<string>;
        /**
         * The port ID corresponding to the IP address on that network.
         */
        port?: pulumi.Input<string>;
    }
    interface ServerVolumeAttached {
        /**
         * The volume boot index on that attachment.
         */
        bootIndex?: pulumi.Input<string>;
        /**
         * The device name in the IEC server.
         */
        device?: pulumi.Input<string>;
        /**
         * Specifies the size of data disk for the IEC server binding. The value range is
         * 10 to 500 in GB. Changing this parameter creates a new IEC server resource.
         */
        size?: pulumi.Input<number>;
        /**
         * Specifies the type of data disk for the IEC server binding. Valid value is
         * *SAS*(high I/O disk type). Changing this parameter creates a new IEC server resource.
         */
        type?: pulumi.Input<string>;
        /**
         * The volume ID on that attachment.
         */
        volumeId?: pulumi.Input<string>;
    }
}
export declare namespace Ims {
}
export declare namespace IoTDA {
    interface DataforwardingRuleTarget {
        /**
         * Specifies the detail of AMQP forwards. It is required when type
         * is `AMQP_FORWARDING`. The amqpForwarding structure is documented below.
         */
        amqpForwarding?: pulumi.Input<inputs.IoTDA.DataforwardingRuleTargetAmqpForwarding>;
        /**
         * Specifies the detail of the DIS forwards. It is required when type
         * is `DIS_FORWARDING`. The disForwarding structure is documented below.
         */
        disForwarding?: pulumi.Input<inputs.IoTDA.DataforwardingRuleTargetDisForwarding>;
        /**
         * Specifies the detail of the FunctionGraph forwards. It is required when
         * type is **FUNCTIONGRAPH_FORWARDING**. The fgsForwarding structure is documented below.
         */
        fgsForwarding?: pulumi.Input<inputs.IoTDA.DataforwardingRuleTargetFgsForwarding>;
        /**
         * Specifies the detail of the HTTP forwards. It is required when type
         * is `HTTP_FORWARDING`. The httpForwarding structure is documented below.
         */
        httpForwarding?: pulumi.Input<inputs.IoTDA.DataforwardingRuleTargetHttpForwarding>;
        /**
         * The resource ID in UUID format.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the detail of the KAFKA forwards. It is required when type
         * is `DMS_KAFKA_FORWARDING`. The properties structure is documented below.
         */
        kafkaForwarding?: pulumi.Input<inputs.IoTDA.DataforwardingRuleTargetKafkaForwarding>;
        /**
         * Specifies the detail of the OBS forwards. It is required when type
         * is `OBS_FORWARDING`. The obsForwarding structure is documented below.
         */
        obsForwarding?: pulumi.Input<inputs.IoTDA.DataforwardingRuleTargetObsForwarding>;
        /**
         * Specifies the type of forwarding target. The options are as follows:
         * + **HTTP_FORWARDING**: The platform can push specified device data to a Third-party application (HTTP push).
         * You can set different addresses that different types of device data are pushed to.
         * + **DIS_FORWARDING**: DIS provides efficient collection, transmission, and distribution of real-time data. It also
         * provides an abundant selection of APIs to help you quickly create real-time data applications.
         * + **OBS_FORWARDING**: OBS is a stable, secure, cloud storage service that is scalable, efficient and easy-to-use.
         * It allows you to store any amount of unstructured data in any format, and provides REST APIs so you can access your
         * data from anywhere.
         * + **AMQP_FORWARDING**: AMQP provides a scalable, distributed message queue that supports high throughput with low
         * latency. AMQP is ready from the get-go and is O&M free.
         * + **DMS_KAFKA_FORWARDING**: Distributed Message Service (DMS) for Kafka features high throughput, concurrency, and
         * scalability. It is suitable for real-time data transmission, stream data processing, system decoupling,
         * and traffic balancing.
         * + **FUNCTIONGRAPH_FORWARDING**: By forwarding data to FunctionGraph service, you only need to write your business
         * function code and set the conditions for execution in FunctionGraph. There is no need to configure and manage
         * servers or other infrastructure. Functions will run in an elastic, maintenance-free, and highly reliable manner.
         * Currently, only standard and enterprise edition IoTDA instances are supported.
         */
        type: pulumi.Input<string>;
    }
    interface DataforwardingRuleTargetAmqpForwarding {
        /**
         * Specifies the AMQP Queue name.
         */
        queueName: pulumi.Input<string>;
    }
    interface DataforwardingRuleTargetDisForwarding {
        /**
         * Specifies the project ID to which the KAFKA belongs.
         * If omitted, the default project in the region will be used.
         */
        projectId?: pulumi.Input<string>;
        /**
         * Specifies the region to which the KAFKA belongs.
         */
        region: pulumi.Input<string>;
        /**
         * Specifies the DIS stream ID.
         */
        streamId: pulumi.Input<string>;
    }
    interface DataforwardingRuleTargetFgsForwarding {
        /**
         * Specifies the function name.
         */
        funcName: pulumi.Input<string>;
        /**
         * Specifies the function URN.
         */
        funcUrn: pulumi.Input<string>;
    }
    interface DataforwardingRuleTargetHttpForwarding {
        /**
         * Specifies the Push URL. The request method must is post.
         */
        url: pulumi.Input<string>;
    }
    interface DataforwardingRuleTargetKafkaForwarding {
        /**
         * Specifies the list of the connected service addresses.
         * The addresses structure is documented below.
         */
        addresses: pulumi.Input<pulumi.Input<inputs.IoTDA.DataforwardingRuleTargetKafkaForwardingAddress>[]>;
        /**
         * Specifies the password.
         */
        password?: pulumi.Input<string>;
        /**
         * Specifies the project ID to which the KAFKA belongs.
         * If omitted, the default project in the region will be used.
         */
        projectId?: pulumi.Input<string>;
        /**
         * Specifies the region to which the KAFKA belongs.
         */
        region: pulumi.Input<string>;
        /**
         * Specifies the topic.
         */
        topic: pulumi.Input<string>;
        /**
         * Specifies the SASL user name.
         */
        userName?: pulumi.Input<string>;
    }
    interface DataforwardingRuleTargetKafkaForwardingAddress {
        /**
         * Specifies the domain of the connected service address.
         * Exactly one of `ip` or `domain` must be provided.
         */
        domain?: pulumi.Input<string>;
        /**
         * Specifies the IP of the connected service address.
         * Exactly one of `ip` or `domain` must be provided.
         */
        ip?: pulumi.Input<string>;
        /**
         * Specifies the port of the connected service address.
         */
        port: pulumi.Input<number>;
    }
    interface DataforwardingRuleTargetObsForwarding {
        /**
         * Specifies the OBS Bucket.
         */
        bucket: pulumi.Input<string>;
        /**
         * Specifies the custom directory for storing channel files. The ID contains a
         * maximum of `256` characters. Multi-level directories can be separated by (/), and cannot start or end with a slash (/),
         * and cannot contain more than two adjacent slashes (/). Only letters, digits, hyphens (-), underscores (_), slash (/)
         * and braces ({}) are allowed. Braces can be used only for the time template parameters. For example, if the custom
         * directory is in the format of {YYYY}/{MM}/{DD}/{HH}, data is generated in the directory based on the current
         * time(for example, 2022/06/14/10) when data is forwarded.
         */
        customDirectory?: pulumi.Input<string>;
        /**
         * Specifies the project ID to which the KAFKA belongs.
         * If omitted, the default project in the region will be used.
         */
        projectId?: pulumi.Input<string>;
        /**
         * Specifies the region to which the KAFKA belongs.
         */
        region: pulumi.Input<string>;
    }
    interface DeviceLinkageRuleAction {
        /**
         * Specifies the detail of device alarm. It is required when type
         * is `DEVICE_ALARM`. The deviceAlarm structure is documented below.
         */
        deviceAlarm?: pulumi.Input<inputs.IoTDA.DeviceLinkageRuleActionDeviceAlarm>;
        /**
         * Specifies the detail of device command. It is required when type
         * is `DEVICE_CMD`. The deviceCommand structure is documented below.
         */
        deviceCommand?: pulumi.Input<inputs.IoTDA.DeviceLinkageRuleActionDeviceCommand>;
        /**
         * Specifies the detail of SMN notifications. It is required when type
         * is `SMN_FORWARDING`. The smnForwarding structure is documented below.
         */
        smnForwarding?: pulumi.Input<inputs.IoTDA.DeviceLinkageRuleActionSmnForwarding>;
        /**
         * Specifies the type of the alarm. The options are as follows:
         * + **fault**: Report alarms.
         * + **recovery**: Clear alarms.
         */
        type: pulumi.Input<string>;
    }
    interface DeviceLinkageRuleActionDeviceAlarm {
        /**
         * Specifies the description of the alarm.
         * The value can contain a maximum of `256` characters.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the dimension of the alarm. Combine the alarm name and alarm level to
         * jointly identify an alarm.
         * The valid values are as follows:
         * + **device**: Device dimension
         * + **app**: Resource space dimension.
         */
        dimension?: pulumi.Input<string>;
        /**
         * Specifies the name of the alarm.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the severity level of the alarm.
         * The valid values are **warning**, **minor**, **major** and **critical**.
         */
        severity: pulumi.Input<string>;
        /**
         * Specifies the type of the alarm. The options are as follows:
         * + **fault**: Report alarms.
         * + **recovery**: Clear alarms.
         */
        type: pulumi.Input<string>;
    }
    interface DeviceLinkageRuleActionDeviceCommand {
        /**
         * Specifies the cache time of device commands, in seconds. Representing the effective
         * time for the IoT platform to cache commands before issuing them to the device. After this time, the commands will no
         * longer be issued. The default value is `172,800` seconds (`48` hours). If set to `0`, the command will be immediately
         * issued to the device regardless of the command issuance mode set on the IoT platform.
         */
        bufferTimeout?: pulumi.Input<number>;
        /**
         * Specifies the command parameters, in json format.
         * + Example of device command using LWM2M protocol: `{"value":"1"}`, there are key-value pairs, each key is the
         * parameter name of the command in the product model.
         * + Example of device command using MQTT protocol: `{"header": {"mode": "ACK","from": "/users/testUser","method":
         * "SET_TEMPERATURE_READ_PERIOD","to":"/devices/{device_id }/services/{service_id}"},"body": {"value" : "1"}}`.
         * - **mode**: Required, whether the device needs to reply to the confirmation message after receiving the command.
         * The default is ACK mode. `ACK` indicates that the confirmation message needs to be replied,
         * `NOACK` indicates that the confirmation message does not need to be replied.
         * - **from**: Optional, the address of the command sender.
         * When the App initiates a request, the format is /users/{userId},
         * when the application server initiates a request, the format is /{serviceName},
         * and when the IoT platform initiates a request, the format is /cloud/{serviceName}.
         * - **to**: optional, the address of the command receiver, the format is /devices/{device_id}/services/{service_id}.
         * - **method**: optional, the command name defined in the product model.
         * - **body**: optional, the message body of the command, which contains key-value pairs, each key is the parameter
         * name of the command in the product model. The specific format requires application and device conventions.
         */
        commandBody: pulumi.Input<string>;
        /**
         * Specifies the command name.
         */
        commandName: pulumi.Input<string>;
        /**
         * Specifies the device id which executes the command.
         */
        deviceId: pulumi.Input<string>;
        /**
         * Specifies the issuance mode of device commands, which is only valid when the value of
         * `bufferTimeout` is greater than `0`.
         * The valid values are as follows:
         * + **ACTIVE**: Active mode, the IoT platform actively issues commands to devices.
         * + **PASSIVE**: Passive mode, after the IoT platform creates device commands, it will directly cache the commands.
         * Wait until the device goes online again or reports the execution result of the previous command before issuing the
         * command.
         */
        mode?: pulumi.Input<string>;
        /**
         * Specifies the effective time of the command response, in seconds. Indicating that
         * the device responds effectively within the `responseTimeout` time after receiving the command. If no response is
         * received after this time, the command response is considered to have timed out. The default value is `1,800` seconds.
         */
        responseTimeout?: pulumi.Input<number>;
        /**
         * Specifies the service id to which the command belongs.
         */
        serviceId: pulumi.Input<string>;
    }
    interface DeviceLinkageRuleActionSmnForwarding {
        /**
         * Specifies the message content.
         */
        messageContent?: pulumi.Input<string>;
        /**
         * Specifies the template name corresponding to the SMN service.
         */
        messageTemplateName?: pulumi.Input<string>;
        /**
         * Specifies the message title.
         */
        messageTitle: pulumi.Input<string>;
        /**
         * Specifies the project ID to which the SMN belongs.
         * If omitted, the default project in the region will be used.
         */
        projectId?: pulumi.Input<string>;
        /**
         * Specifies the region to which the SMN belongs.
         */
        region: pulumi.Input<string>;
        /**
         * Specifies the topic name of the SMN.
         */
        topicName: pulumi.Input<string>;
        /**
         * Specifies the topic URN of the SMN.
         */
        topicUrn: pulumi.Input<string>;
    }
    interface DeviceLinkageRuleEffectivePeriod {
        /**
         * Specifies a list of days of week, separated by commas. 1 represents Sunday,
         * 2 represents Monday, and so on. Defaults to `1,2,3,4,5,6,7` (every day).
         */
        daysOfWeek?: pulumi.Input<string>;
        /**
         * Specifies the end time, in the format: `HH:mm`.
         * For example: `10:00`. If the end time is the same as the start time, the effective period is the whole day.
         */
        endTime: pulumi.Input<string>;
        /**
         * Specifies the start time, in the format: `HH:mm`.
         * For example: `03:00`.
         */
        startTime: pulumi.Input<string>;
    }
    interface DeviceLinkageRuleTrigger {
        /**
         * Specifies the condition triggered at specified time every day. It is
         * required when `type` is **DAILY_TIMER**.
         * The dailyTimerCondition structure is documented below.
         */
        dailyTimerCondition?: pulumi.Input<inputs.IoTDA.DeviceLinkageRuleTriggerDailyTimerCondition>;
        /**
         * Specifies the condition triggered upon the property of device. It is
         * required when `type` is **DEVICE_DATA**.
         * The deviceDataCondition structure is documented below.
         */
        deviceDataCondition?: pulumi.Input<inputs.IoTDA.DeviceLinkageRuleTriggerDeviceDataCondition>;
        /**
         * Specifies the condition triggered by device status. It is
         * required when `type` is **DEVICE_LINKAGE_STATUS**.
         * The deviceLinkageStatusCondition structure is documented below.
         */
        deviceLinkageStatusCondition?: pulumi.Input<inputs.IoTDA.DeviceLinkageRuleTriggerDeviceLinkageStatusCondition>;
        /**
         * Specifies the condition triggered by policy. It is required when `type`
         * is **SIMPLE_TIMER**.
         * The simpleTimerCondition structure is documented below.
         */
        simpleTimerCondition?: pulumi.Input<inputs.IoTDA.DeviceLinkageRuleTriggerSimpleTimerCondition>;
        /**
         * Specifies the type of the alarm. The options are as follows:
         * + **fault**: Report alarms.
         * + **recovery**: Clear alarms.
         */
        type: pulumi.Input<string>;
    }
    interface DeviceLinkageRuleTriggerDailyTimerCondition {
        /**
         * Specifies a list of days of week, separated by commas. 1 represents Sunday,
         * 2 represents Monday, and so on. Defaults to `1,2,3,4,5,6,7` (every day).
         */
        daysOfWeek?: pulumi.Input<string>;
        /**
         * Specifies the start time, in the format: `HH:mm`.
         * For example: `03:00`.
         */
        startTime: pulumi.Input<string>;
    }
    interface DeviceLinkageRuleTriggerDeviceDataCondition {
        /**
         * Specifies data validity period, Unit is `seconds`. Defaults to `300`.
         * For example, if Data Validity Period is set to 30 minutes, a device generates data at 19:00, and the platform receives
         * the data at 20:00, the action is not triggered regardless of whether the conditions are met.
         */
        dataValidatiyPeriod?: pulumi.Input<number>;
        /**
         * Specifies the device id which executes the command.
         */
        deviceId?: pulumi.Input<string>;
        /**
         * Specifies the Rvalue of a data comparison expression. Only when the `operator` is
         * **in**, this field is valid and required, with a maximum of `20` characters, represents matching within the specified
         * values, e.g. **20,30,40**,
         */
        inValues?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the data comparison operator. The valid values are: **>**, **<**,
         * **>=**, **<=**, **=**, **in** and **between**.
         */
        operator: pulumi.Input<string>;
        /**
         * Specifies the path of the device property, in the format: **service_id/DataProperty**.
         */
        path: pulumi.Input<string>;
        /**
         * Specifies the product ID. If this field is set and the `deviceId` is empty, the
         * device attribute will trigger the matching of all devices under this product.
         */
        productId?: pulumi.Input<string>;
        /**
         * Specifies the trigger strategy. The options are as follows:
         * + **pulse**: When the data reported by the device meets the conditions, the rule can be triggered.
         * + **reverse**: Repetition suppression. For example, if an alarm is configured to be triggered when the battery level
         * is lower than 20%, the alarm will be triggered once the battery initially drops below 20% but will not be triggered
         * again each time the battery drops to a lower level.
         */
        triggerStrategy?: pulumi.Input<string>;
        /**
         * Specifies the Rvalue of a data comparison expression. When the `operator` is **between**,
         * the Rvalue represents the minimum and maximum values, separated by commas, such as **20,30**,
         * which means greater than or equal to `20` and less than `30`.
         */
        value?: pulumi.Input<string>;
    }
    interface DeviceLinkageRuleTriggerDeviceLinkageStatusCondition {
        /**
         * Specifies the device id which executes the command.
         */
        deviceId?: pulumi.Input<string>;
        /**
         * Specifies the duration of device status. The valid value ranges from `0` to `60` minutes.
         */
        duration?: pulumi.Input<number>;
        /**
         * Specifies the product ID. If this field is set and the `deviceId` is empty, the
         * device attribute will trigger the matching of all devices under this product.
         */
        productId?: pulumi.Input<string>;
        /**
         * Specifies device status list, separate multiple status with commas.
         * e.g. **ONLINE**, **OFFLINE**.
         * The valid device status values are as follows:
         * + **ONLINE**: Device online.
         * + **OFFLINE**: Device offline.
         */
        statusLists?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface DeviceLinkageRuleTriggerSimpleTimerCondition {
        /**
         * Specifies total number of repetition.
         */
        repeatCount: pulumi.Input<number>;
        /**
         * Specifies the interval of repetition, Unit is `minutes`.
         */
        repeatInterval: pulumi.Input<number>;
        /**
         * Specifies the start time, in the format: `HH:mm`.
         * For example: `03:00`.
         */
        startTime: pulumi.Input<string>;
    }
    interface DeviceShadow {
        /**
         * Specifies the initial properties data of the device.
         * The each key is a parameter name of a property in the product model.
         * If you want to delete the entire `desired`, please enter an empty Map. e.g. **desired = {}**.
         */
        desired: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Specifies the service ID of the device.
         * Which is defined in the product model associated with the device.
         */
        serviceId: pulumi.Input<string>;
    }
    interface ProductService {
        /**
         * Specifies the list of commands for the service.
         * The commands structure is documented below.
         */
        commands?: pulumi.Input<pulumi.Input<inputs.IoTDA.ProductServiceCommand>[]>;
        /**
         * Specifies the description of the parameter. The description contains a maximum of
         * `128` characters. Only letters, Chinese characters, digits, hyphens (-), underscores (_) and the following special
         * characters are allowed: `?'#().,&%@!`.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the service ID. The ID contains a maximum of `64` characters. Only letters,
         * Chinese characters, digits, hyphens (-), underscores (_) and the following special characters are allowed: `?'#().,&%@!`.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies whether the device service is mandatory.
         * Currently, this field is not a functional field and is used only for identification.
         * The valid values are as follows:
         * + **Master**: The master service.
         * + **Mandatory**: The mandatory service.
         * + **Optional**:  The optional service.
         */
        option?: pulumi.Input<string>;
        /**
         * Specifies the list of properties for the service.
         * The properties structure is documented below.
         */
        properties?: pulumi.Input<pulumi.Input<inputs.IoTDA.ProductServiceProperty>[]>;
        /**
         * Specifies the type of the parameter.
         * The valid values are **int**, **decimal**, **string**, **DateTime**, **jsonObject** and **string list**.
         */
        type?: pulumi.Input<string>;
    }
    interface ProductServiceCommand {
        /**
         * Specifies the name of the parameter. The name contains a maximum of `64` characters.
         * Only letters, Chinese characters, digits, hyphens (-), underscores (_) and the following special characters are
         * allowed: `?'#().,&%@!`.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the list of parameters for the command.
         * The paras structure is documented below.
         */
        paras?: pulumi.Input<pulumi.Input<inputs.IoTDA.ProductServiceCommandPara>[]>;
        /**
         * Specifies the list of responses for the command.
         * The responses structure is documented below.
         */
        responses?: pulumi.Input<pulumi.Input<inputs.IoTDA.ProductServiceCommandResponse>[]>;
    }
    interface ProductServiceCommandPara {
        /**
         * Specifies the default value of the device property.
         * This parameter allowed value is a JSON string. e.g. **{\"foo\":\"bar\"}**
         * If this parameter is set value, the value will be written to the desired data of the device shadow when
         * the product is used to create a device. When the device goes online, the value will be delivered to the device.
         */
        defaultValue?: pulumi.Input<string>;
        /**
         * Specifies the description of the parameter. The description contains a maximum of
         * `128` characters. Only letters, Chinese characters, digits, hyphens (-), underscores (_) and the following special
         * characters are allowed: `?'#().,&%@!`.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the list of enumerated values of the parameter.
         */
        enumLists?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the max value of the parameter when the `type` is **int** or **decimal**.
         * Value range: -2147483647 ~ 2147483647. Defaults to **"65535"**.
         */
        max?: pulumi.Input<string>;
        /**
         * Specifies the max length of the parameter when the `type` is **string**, **DateTime**,
         * **jsonObject** or **string list**. Value range: `0` ~ `2,147,483,647`. Defaults to `0`.
         */
        maxLength?: pulumi.Input<number>;
        /**
         * Specifies the min value of the parameter when the `type` is **int** or **decimal**.
         * Value range: -2147483647 ~ 2147483647. Defaults to **"0"**.
         */
        min?: pulumi.Input<string>;
        /**
         * Specifies the name of the parameter. The name contains a maximum of `64` characters.
         * Only letters, Chinese characters, digits, hyphens (-), underscores (_) and the following special characters are
         * allowed: `?'#().,&%@!`.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the parameter is mandatory or not.
         * The default value is **false**.
         */
        required?: pulumi.Input<boolean>;
        /**
         * Specifies the step of the parameter when the `type` is **int** or **decimal**.
         * Value range: `0` ~ `2,147,483,647`. Defaults to `0`.
         */
        step?: pulumi.Input<number>;
        /**
         * Specifies the type of the parameter.
         * The valid values are **int**, **decimal**, **string**, **DateTime**, **jsonObject** and **string list**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the unit of the parameter when the `type` is **int** or **decimal**.
         * The unit contains a maximum of 16 characters.
         */
        unit?: pulumi.Input<string>;
    }
    interface ProductServiceCommandResponse {
        /**
         * Specifies the default value of the device property.
         * This parameter allowed value is a JSON string. e.g. **{\"foo\":\"bar\"}**
         * If this parameter is set value, the value will be written to the desired data of the device shadow when
         * the product is used to create a device. When the device goes online, the value will be delivered to the device.
         */
        defaultValue?: pulumi.Input<string>;
        /**
         * Specifies the description of the parameter. The description contains a maximum of
         * `128` characters. Only letters, Chinese characters, digits, hyphens (-), underscores (_) and the following special
         * characters are allowed: `?'#().,&%@!`.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the list of enumerated values of the parameter.
         */
        enumLists?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the max value of the parameter when the `type` is **int** or **decimal**.
         * Value range: -2147483647 ~ 2147483647. Defaults to **"65535"**.
         */
        max?: pulumi.Input<string>;
        /**
         * Specifies the max length of the parameter when the `type` is **string**, **DateTime**,
         * **jsonObject** or **string list**. Value range: `0` ~ `2,147,483,647`. Defaults to `0`.
         */
        maxLength?: pulumi.Input<number>;
        /**
         * Specifies the min value of the parameter when the `type` is **int** or **decimal**.
         * Value range: -2147483647 ~ 2147483647. Defaults to **"0"**.
         */
        min?: pulumi.Input<string>;
        /**
         * Specifies the name of the parameter. The name contains a maximum of `64` characters.
         * Only letters, Chinese characters, digits, hyphens (-), underscores (_) and the following special characters are
         * allowed: `?'#().,&%@!`.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the parameter is mandatory or not.
         * The default value is **false**.
         */
        required?: pulumi.Input<boolean>;
        /**
         * Specifies the step of the parameter when the `type` is **int** or **decimal**.
         * Value range: `0` ~ `2,147,483,647`. Defaults to `0`.
         */
        step?: pulumi.Input<number>;
        /**
         * Specifies the type of the parameter.
         * The valid values are **int**, **decimal**, **string**, **DateTime**, **jsonObject** and **string list**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the unit of the parameter when the `type` is **int** or **decimal**.
         * The unit contains a maximum of 16 characters.
         */
        unit?: pulumi.Input<string>;
    }
    interface ProductServiceProperty {
        /**
         * Specifies the default value of the device property.
         * This parameter allowed value is a JSON string. e.g. **{\"foo\":\"bar\"}**
         * If this parameter is set value, the value will be written to the desired data of the device shadow when
         * the product is used to create a device. When the device goes online, the value will be delivered to the device.
         */
        defaultValue?: pulumi.Input<string>;
        /**
         * Specifies the description of the parameter. The description contains a maximum of
         * `128` characters. Only letters, Chinese characters, digits, hyphens (-), underscores (_) and the following special
         * characters are allowed: `?'#().,&%@!`.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the list of enumerated values of the parameter.
         */
        enumLists?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the max value of the parameter when the `type` is **int** or **decimal**.
         * Value range: -2147483647 ~ 2147483647. Defaults to **"65535"**.
         */
        max?: pulumi.Input<string>;
        /**
         * Specifies the max length of the parameter when the `type` is **string**, **DateTime**,
         * **jsonObject** or **string list**. Value range: `0` ~ `2,147,483,647`. Defaults to `0`.
         */
        maxLength?: pulumi.Input<number>;
        /**
         * Specifies the access mode of the device property.
         * The value can be **RWE**, **RW**, **RE**, **WE**, **R** (the property value can be read),
         * **W** (the property value can be written) or **E** (the property value can be subscribed to).
         */
        method: pulumi.Input<string>;
        /**
         * Specifies the min value of the parameter when the `type` is **int** or **decimal**.
         * Value range: -2147483647 ~ 2147483647. Defaults to **"0"**.
         */
        min?: pulumi.Input<string>;
        /**
         * Specifies the name of the parameter. The name contains a maximum of `64` characters.
         * Only letters, Chinese characters, digits, hyphens (-), underscores (_) and the following special characters are
         * allowed: `?'#().,&%@!`.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the parameter is mandatory or not.
         * The default value is **false**.
         */
        required?: pulumi.Input<boolean>;
        /**
         * Specifies the step of the parameter when the `type` is **int** or **decimal**.
         * Value range: `0` ~ `2,147,483,647`. Defaults to `0`.
         */
        step?: pulumi.Input<number>;
        /**
         * Specifies the type of the parameter.
         * The valid values are **int**, **decimal**, **string**, **DateTime**, **jsonObject** and **string list**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the unit of the parameter when the `type` is **int** or **decimal**.
         * The unit contains a maximum of 16 characters.
         */
        unit?: pulumi.Input<string>;
    }
}
export declare namespace Live {
    interface RecordingFlv {
        /**
         * Specifies the path and file name prefix of a recording file. The default value is
         * `Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time}`.
         */
        fileNaming?: pulumi.Input<string>;
        /**
         * Specifies the interval threshold for combining recording chunks. If the
         * stream pause length exceeds the value of this parameter, a new recording is generated.
         * Value range: `0` ~ `300`, unit: `second`. Defaults to `0`.
         * If the value is set to `0`, a new file will be generated once the stream is interrupted.
         */
        maxStreamPauseLength?: pulumi.Input<number>;
        /**
         * Specifies the recording length. Value range: `15` ~ `180`, unit: `minute`.
         * A stream exceeding the recording length will generate a new recording.
         */
        recordingLength: pulumi.Input<number>;
    }
    interface RecordingHls {
        /**
         * Specifies the path and file name prefix of a recording file. The default value is
         * `Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time}`.
         */
        fileNaming?: pulumi.Input<string>;
        /**
         * Specifies the interval threshold for combining recording chunks. If the
         * stream pause length exceeds the value of this parameter, a new recording is generated.
         * Value range: `0` ~ `300`, unit: `second`. Defaults to `0`.
         * If the value is set to `0`, a new file will be generated once the stream is interrupted.
         */
        maxStreamPauseLength?: pulumi.Input<number>;
        /**
         * Specifies the TS slice duration for HLS recording.
         * Value range: `2` ~ `60`, unit: `second`. Defaults to `10`.
         */
        recordSliceDuration?: pulumi.Input<number>;
        /**
         * Specifies the recording length. Value range: `15` ~ `180`, unit: `minute`.
         * A stream exceeding the recording length will generate a new recording.
         */
        recordingLength: pulumi.Input<number>;
        /**
         * Specifies TS file name prefix.
         * The default value is `{file_start_time_unix}_{file_end_time_unix}_{ts_sequence_number}`.
         */
        tsFileNaming?: pulumi.Input<string>;
    }
    interface RecordingMp4 {
        /**
         * Specifies the path and file name prefix of a recording file. The default value is
         * `Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time}`.
         */
        fileNaming?: pulumi.Input<string>;
        /**
         * Specifies the interval threshold for combining recording chunks. If the
         * stream pause length exceeds the value of this parameter, a new recording is generated.
         * Value range: `0` ~ `300`, unit: `second`. Defaults to `0`.
         * If the value is set to `0`, a new file will be generated once the stream is interrupted.
         */
        maxStreamPauseLength?: pulumi.Input<number>;
        /**
         * Specifies the recording length. Value range: `15` ~ `180`, unit: `minute`.
         * A stream exceeding the recording length will generate a new recording.
         */
        recordingLength: pulumi.Input<number>;
    }
    interface RecordingObs {
        /**
         * Specifies OBS bucket.
         */
        bucket: pulumi.Input<string>;
        /**
         * Specifies OBS object path. If omitted, recordings will be saved to the root directory.
         */
        object?: pulumi.Input<string>;
        /**
         * Specifies the region of OBS.
         */
        region: pulumi.Input<string>;
    }
    interface TranscodingTemplate {
        /**
         * Specifies the bitrate of a transcoded video, in kbit/s. Value range: `40` ~ `30,000`.
         */
        bitrate: pulumi.Input<number>;
        /**
         * Specifies the adaptive bitrate.
         * The valid values are as follows:
         * + **off**: Disable rate adaptation and output the target rate according to the set rate.
         * + **minimum**: Output the target bitrate based on the minimum value of the set bitrate and source file bitrate.
         * + **adaptive**: Adaptive output of target bitrate based on source file bitrate.
         */
        bitrateAdaptive?: pulumi.Input<string>;
        /**
         * Specifies the frame rate of the transcoded video, in fps. Value range: `0` ~ `30`.
         * Value `0` indicates that the frame rate remains unchanged.
         */
        frameRate?: pulumi.Input<number>;
        /**
         * Specifies the interval time for I-frames, in seconds.
         * The value ranges from `0` to `10`, includes `0` and `10`. Defaults to `2`.
         */
        gop?: pulumi.Input<string>;
        /**
         * Specifies video height (unit: pixel).
         * + **When the video encoding is H264**, value range: `32` ~ `2,160` and must be a multiple of `2`.
         * + **When the video encoding is H265**, value range: `240` ~ `2,160` and must be a multiple of `4`.
         */
        height: pulumi.Input<number>;
        /**
         * Specifies the maximum I-frame interval in frames.
         * The value ranges from `0` to `500`, includes `0` and `500`. Defaults to `50`.
         */
        iFrameInterval?: pulumi.Input<string>;
        /**
         * Specifies the encoding output I-frame strategy.
         * The valid values are as follows:
         * + **auto**: I-frame output according to the set `gop` duration.
         * + **strictSync**: The encoded output I-frame is completely consistent with the source, and the `gop` parameter is
         * invalid after setting this value.
         */
        iFramePolicy?: pulumi.Input<string>;
        /**
         * Specifies the template name. The name can contain a maximum of 64 characters, and only
         * contains letters, digits and hyphens (-).
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the protocol type supported for transcoding output.
         * The valid value is **RTMP**. Defaults to **RTMP**.
         */
        protocol?: pulumi.Input<string>;
        /**
         * Specifies video width (unit: pixel).
         * + **When the video encoding is H264**, value range: `32` ~ `3,840` and must be a multiple of `2`.
         * + **When the video encoding is H265**, value range: `320` ~ `3,840` and must be a multiple of `4`.
         */
        width: pulumi.Input<number>;
    }
}
export declare namespace Meeting {
    interface ConferenceConfiguration {
        /**
         * Specifies whether to allow guests to start conferences (only valid for random
         * ID conferences).
         */
        allowGuestStart?: pulumi.Input<boolean>;
        /**
         * Specifies the range to allow incoming calls.
         * + **0**: All users.
         * + **2**: Users within the enterprise.
         * + **3**: The invited user.
         */
        callinRestriction?: pulumi.Input<number>;
        /**
         * Specifies the guest password (pure number which is `4` to `16` digits long).
         */
        guestPassword?: pulumi.Input<string>;
        /**
         * Specifies whether the soft terminal is automatically muted when the guest joins the
         * conference.
         */
        isAutoMute?: pulumi.Input<boolean>;
        /**
         * Specifies whether the guest is password-free (only valid for random
         * conferences).
         */
        isGuestFreePassword?: pulumi.Input<boolean>;
        /**
         * Specifies whether the guest joins the conference, whether the hard
         * terminal is automatically muted.
         */
        isHardTerminalAutoMute?: pulumi.Input<boolean>;
        /**
         * Specifies whether to send conference calendar notifications.
         */
        isSendCalendar?: pulumi.Input<boolean>;
        /**
         * Specifies whether to send conference email notification.
         */
        isSendNotify?: pulumi.Input<boolean>;
        /**
         * Specifies whether to send conference SMS notification.
         */
        isSendSms?: pulumi.Input<boolean>;
        /**
         * Specifies the Automatically extend duration, the valid value is range from `0` to
         * `60`.
         */
        prolongTime?: pulumi.Input<number>;
        /**
         * Specifies whether to open the waiting room (only valid for RTC enterprises).
         */
        waitingRoomEnabled?: pulumi.Input<boolean>;
    }
    interface ConferenceCycleParams {
        /**
         * Specifies the period type. The valid values are as follows:
         * + **Day**
         * + **Week**
         * + **Month**
         */
        cycle: pulumi.Input<string>;
        /**
         * Specifies the end date of the recurring conference.
         * The format is `YYYY-MM-DD`.
         */
        endDate: pulumi.Input<string>;
        /**
         * Specifies the cycle interval.
         * For different `cycle` types, the value range of interval are as follows:
         * + **Day**: Means that it will be held every few days, and the valid value is range from `1` to `15`.
         * + **Week**: Means that it is held every few weeks, and the valid value is range from `1` to `5`.
         * + **Month**: Means every few months, the value range is `1` to `3`.
         */
        interval?: pulumi.Input<number>;
        /**
         * Specifies the conference point in the cycle. Only valid by **Week** and **Month**.
         * For different `cycle` types, the value range of elements are as follows:
         * + **Week**: The valid value is range from `0` to `6`. The `0` means Sunday, `6` means Saturday.
         * + **Month**: The valid range for the elements is `1` to `31`. If the value does not exist in the current month, the
         * value means the end of the month.
         */
        points?: pulumi.Input<pulumi.Input<number>[]>;
        /**
         * Specifies the number of days for advance conference notice.
         * The valid value is range from `0` to `30`, defaults to `1`.
         */
        preRemind: pulumi.Input<number>;
        /**
         * Specifies the start date of the recurring conference.
         * The format is `YYYY-MM-DD`.
         */
        startDate: pulumi.Input<string>;
    }
    interface ConferenceJoinPassword {
        /**
         * The password of the common participant.
         */
        guest?: pulumi.Input<string>;
        /**
         * The password of the meeting host.
         */
        host?: pulumi.Input<string>;
    }
    interface ConferenceParticipant {
        /**
         * Specifies the account ID of the participant.
         */
        accountId?: pulumi.Input<string>;
        /**
         * Specifies the email address.
         */
        email?: pulumi.Input<string>;
        /**
         * Specifies whether to automatically invite this participant when the conference
         * starts. The valid values are as follows:
         * + **0**: Do not automatically invite.
         * + **1**: Automatic invitation.
         */
        isAutoInvite?: pulumi.Input<number>;
        /**
         * Specifies whether the user needs to be automatically muted when joining the conference
         * (only effective when invited in the conference). The valid values are as follows:
         * + **0**: No mute.
         * + **1**: Mute.
         */
        isMute?: pulumi.Input<number>;
        /**
         * Specifies the attendee name or nickname.
         * The valid length is limited from `1` to `96`.
         */
        name?: pulumi.Input<string>;
        /**
         * Specifies the SIP or TEL number, maximum of 127 characters.
         */
        phone?: pulumi.Input<string>;
        /**
         * Specifies the role in the conference. The valid values are as follows:
         * + **0**: Normal attendee.
         * + **1**: The conference chair.
         */
        role?: pulumi.Input<number>;
        /**
         * Specifies the mobile number for SMS notification, maximum of 32 characters.
         */
        sms?: pulumi.Input<string>;
        /**
         * Specifies the call-in type. The valid values are as follows:
         * + **normal**: The soft terminal.
         * + **terminal**: The conference room or hard terminal.
         * + **outside**: The outside participant.
         * + **mobile**: The user's landline phone.
         * + **ideahub**: The ideahub.
         */
        type?: pulumi.Input<string>;
        /**
         * Specifies the user ID of the participant.
         */
        userId?: pulumi.Input<string>;
    }
    interface ConferenceSubconference {
        /**
         * The sub-conference end time.
         */
        endTime?: pulumi.Input<string>;
        /**
         * The sub-conference ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies whether the conference automatically starts recording, it only takes
         * effect when the recording type is:
         * + **1**: Automatically start recording.
         * + **0**: Do not start recording automatically.
         */
        isAutoRecord?: pulumi.Input<number>;
        /**
         * Specifies the conference media type list.
         * It consists of one or more enumerations, and the valid values are as follows:
         * + **Voice**: Voice.
         * + **Video**: SD video.
         * + **HDVideo**: High-definition video (mutually exclusive with Video, if Video and HDVideo are selected at the same
         * time, the system will select Video by default).
         * + **Data**: Multimedia (If omitted, the system configuration will determines whether to automatically add **Data**).
         */
        mediaTypes?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the recording authentication method.
         * + **0**: Viewable/downloadable via link.
         * + **1**: Enterprise users can watch/download.
         * + **2**: Attendees can watch/download.
         */
        recordAuthType?: pulumi.Input<number>;
        /**
         * Specifies the conference start time (UTC time).
         * The time format is `YYYY-MM-DD hh:mm`, e.g. `2006-01-02 15:04`.
         * There is no need to set if you book a cyclical conference.
         */
        startTime?: pulumi.Input<string>;
        /**
         * The other configuration information of periodic subconferences.
         * The object structure is documented below.
         */
        subconfigurations?: pulumi.Input<pulumi.Input<inputs.Meeting.ConferenceSubconferenceSubconfiguration>[]>;
    }
    interface ConferenceSubconferenceSubconfiguration {
        /**
         * Specifies whether to allow guests to start conferences (only valid for random
         * ID conferences).
         */
        allowGuestStart?: pulumi.Input<boolean>;
        /**
         * The range that the webinar audience is allowed to call in.
         * The valid values are as follows:
         * + **0**: All users.
         * + **2**: Users within the enterprise.
         */
        audienceCallinRestriction?: pulumi.Input<number>;
        /**
         * Specifies the range to allow incoming calls.
         * + **0**: All users.
         * + **2**: Users within the enterprise.
         * + **3**: The invited user.
         */
        callinRestriction?: pulumi.Input<number>;
        /**
         * The webinar Audience Display Strategy.
         * The object structure is documented below.
         */
        showAudiencePolicies?: pulumi.Input<pulumi.Input<inputs.Meeting.ConferenceSubconferenceSubconfigurationShowAudiencePolicy>[]>;
        /**
         * Specifies whether to open the waiting room (only valid for RTC enterprises).
         */
        waitingRoomEnabled?: pulumi.Input<boolean>;
    }
    interface ConferenceSubconferenceSubconfigurationShowAudiencePolicy {
        /**
         * Specifies the basic number of people, the valid values is range from `0` to `10,000`.
         */
        baseAudienceCount?: pulumi.Input<number>;
        /**
         * Audience display strategy: The server is used to calculate the number of audiences and send it to the client
         * to control the audience display.
         * + **0**: Do not display.
         * + **1**: Multiply display the number of participants, based on the real-time number of participants or the cumulative
         * number of participants, the multiplication setting can be performed.
         */
        mode?: pulumi.Input<number>;
        /**
         * Specifies the multiplier. The valid values is range from `0` to `10`, it can be set to 1 decimal place.
         */
        multiple?: pulumi.Input<number>;
    }
}
export declare namespace ModelArts {
    interface DatasetDataSource {
        /**
         * Specifies the cluster ID of DWS/MRS when `dataType` is `1` or `4`.
         * Changing this parameter will create a new resource.
         */
        clusterId?: pulumi.Input<string>;
        /**
         * Specifies the type of data source. The options are as follows:
         * + **0**: OBS.
         * + **1**: GaussDB(DWS).
         * + **2**: DLI.
         * + **4**: MRS.
         */
        dataType?: pulumi.Input<number>;
        /**
         * Specifies the database name of DWS/DLI when `dataType` is `1` or `2`.
         * Changing this parameter will create a new resource.
         */
        databaseName?: pulumi.Input<string>;
        /**
         * Specifies the password of database when `dataType` is `1`.
         * Changing this parameter will create a new resource.
         */
        password?: pulumi.Input<string>;
        /**
         * Specifies the OBS path when `dataType` is `0`
         * or the hdsf path when `dataType` is `4`. All the file in this directory and subdirectories will be which be imported
         * to the dataset. Changing this parameter will create a new resource.
         */
        path?: pulumi.Input<string>;
        /**
         * Specifies the queue name of DLI when `dataType` is `2`.
         * Changing this parameter will create a new resource.
         */
        queueName?: pulumi.Input<string>;
        /**
         * Specifies the table name of DWS/DLI when `dataType` is `1` or `2`.
         * Changing this parameter will create a new resource.
         */
        tableName?: pulumi.Input<string>;
        /**
         * Specifies the user name of database when `dataType` is `1`.
         * Changing this parameter will create a new resource.
         */
        userName?: pulumi.Input<string>;
        /**
         * Specifies whether the data contains table header when the type
         * of dataset is `400`(Table type). Default value is `true`. Changing this parameter will create a new resource.
         */
        withColumnHeader?: pulumi.Input<boolean>;
    }
    interface DatasetLabel {
        /**
         * Specifies the name of label.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies color of label.
         */
        propertyColor?: pulumi.Input<string>;
        /**
         * Specifies shape of label. Valid values include: `bndbox`, `polygon`,
         * `circle`, `line`, `dashed`, `point`, `polyline`.
         */
        propertyShape?: pulumi.Input<string>;
        /**
         * Specifies shortcut of label.
         */
        propertyShortcut?: pulumi.Input<string>;
    }
    interface DatasetLabelFormat {
        /**
         * Specifies the separator between label and label.
         * Changing this parameter will create a new resource.
         */
        labelSeparator?: pulumi.Input<string>;
        /**
         * Specifies the separator between text and label.
         * Changing this parameter will create a new resource.
         */
        textLabelSeparator?: pulumi.Input<string>;
        /**
         * Specifies Label type for text classification.
         * The optional values are as follows:
         */
        type?: pulumi.Input<string>;
    }
    interface DatasetSchema {
        /**
         * Specifies the name of label.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies Label type for text classification.
         * The optional values are as follows:
         */
        type: pulumi.Input<string>;
    }
    interface NotebookMountStorage {
        /**
         * Specifies the ID of dedicated storage disk, which is mandatory when the `type`
         * is `EFS` and the `ownership` is `DEDICATED`.
         * Changing this parameter will create a new resource.
         */
        id?: pulumi.Input<string>;
        /**
         * The local mount path.
         */
        mountPath?: pulumi.Input<string>;
        /**
         * The path of storage which be mounted.
         */
        path?: pulumi.Input<string>;
        /**
         * The status of mount.
         */
        status?: pulumi.Input<string>;
        /**
         * Specifies the volume type. The options are as follows:
         * - *EFS*: use Scalable File Service, default 50GB is **free**.
         * - *EVS*: use Elastic Volume Service, default size is 5 GB.
         */
        type?: pulumi.Input<string>;
    }
    interface NotebookVolume {
        /**
         * Specifies the ID of dedicated storage disk, which is mandatory when the `type`
         * is `EFS` and the `ownership` is `DEDICATED`.
         * Changing this parameter will create a new resource.
         */
        id?: pulumi.Input<string>;
        /**
         * The local mount path.
         */
        mountPath?: pulumi.Input<string>;
        /**
         * Specifies the volume ownership. The options are as follows:
         * - *MANAGED*: shared storage disk of the ModelArts service.
         * - *DEDICATED*: dedicated storage disk, only supported when the category is `EFS`.
         */
        ownership?: pulumi.Input<string>;
        /**
         * Specifies the volume size. Its value range is from `5` GB to `4,096` GB.
         */
        size?: pulumi.Input<number>;
        /**
         * Specifies the volume type. The options are as follows:
         * - *EFS*: use Scalable File Service, default 50GB is **free**.
         * - *EVS*: use Elastic Volume Service, default size is 5 GB.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the URL of dedicated storage disk, which is mandatory when the `type`
         * is `EFS` and the `ownership` is `DEDICATED`. Example: `192.168.0.1:/user-9sfdsdgdfgh5ea4d56871e75d6966aa274/mount/`.
         * Changing this parameter will create a new resource.
         */
        uri?: pulumi.Input<string>;
    }
}
export declare namespace Mpc {
    interface TranscodingTemplateAudio {
        /**
         * Specifies the average output bitrate.
         * The value is 0 or an integer ranging from `40` to `30,000`. The default value is `0`. The unit is kbit/s.
         * If this parameter is set to `0`, the average output bitrate is an adaptive value.
         */
        bitrate?: pulumi.Input<number>;
        /**
         * Specifies the number of audio channels. Possible values are:
         * + **1**: AUDIO_CHANNELS_1
         * + **2**: AUDIO_CHANNELS_2
         * + **6**: AUDIO_CHANNELS_5_1
         */
        channels: pulumi.Input<number>;
        /**
         * Specifies the video codec. Possible values are:
         * + **1**: H.264
         * + **2**: H.265
         */
        codec: pulumi.Input<number>;
        /**
         * Specifies the output policy. Possible values are **discard** and **transcode**.
         * The default value is transcode.
         */
        outputPolicy?: pulumi.Input<string>;
        /**
         * Specifies the audio sampling rate. Possible values are:
         * + **1**: AUDIO_SAMPLE_AUTO
         * + **2**: AUDIO_SAMPLE_22050 (22,050 Hz)
         * + **3**: AUDIO_SAMPLE_32000 (32,000 Hz)
         * + **4**: AUDIO_SAMPLE_44100 (44,100 Hz)
         * + **5**: AUDIO_SAMPLE_48000 (48,000 Hz)
         * + **6**: AUDIO_SAMPLE_96000 (96,000 Hz)
         */
        sampleRate: pulumi.Input<number>;
    }
    interface TranscodingTemplateGroupAudio {
        /**
         * Specifies the average output bitrate.
         * The value is `0` or an integer ranging from `40` to `30,000`. The default value is `0`. The unit is kbit/s.
         * If this parameter is set to `0`, the average output bitrate is an adaptive value.
         */
        bitrate?: pulumi.Input<number>;
        /**
         * Specifies the number of audio channels. Possible values are:
         * + **1**: AUDIO_CHANNELS_1
         * + **2**: AUDIO_CHANNELS_2
         * + **6**: AUDIO_CHANNELS_5_1
         */
        channels: pulumi.Input<number>;
        /**
         * Specifies the video codec. Possible values are:
         * + **1**: H.264
         * + **2**: H.265
         */
        codec: pulumi.Input<number>;
        /**
         * Specifies the output policy. Possible values are **discard** and **transcode**.
         * The default value is transcode.
         */
        outputPolicy?: pulumi.Input<string>;
        /**
         * Specifies the audio sampling rate. Possible values are:
         * + **1**: AUDIO_SAMPLE_AUTO
         * + **2**: AUDIO_SAMPLE_22050 (22,050 Hz)
         * + **3**: AUDIO_SAMPLE_32000 (32,000 Hz)
         * + **4**: AUDIO_SAMPLE_44100 (44,100 Hz)
         * + **5**: AUDIO_SAMPLE_48000 (48,000 Hz)
         * + **6**: AUDIO_SAMPLE_96000 (96,000 Hz)
         */
        sampleRate: pulumi.Input<number>;
    }
    interface TranscodingTemplateGroupVideo {
        /**
         * Specifies the average output bitrate.
         * The value is `0` or an integer ranging from `40` to `30,000`. The default value is `0`. The unit is kbit/s.
         * If this parameter is set to `0`, the average output bitrate is an adaptive value.
         */
        bitrate?: pulumi.Input<number>;
        /**
         * Specifies the video height.
         * The value is `0` or a multiple of `2` from `32` to `2,880` for H.264, and `0` or a multiple of `4` from `96` to
         * `2,880` for H.265. The unit is pixel.
         * If this parameter is set to `0`, the video height is an adaptive value. The default value is `0`.
         */
        height?: pulumi.Input<number>;
        /**
         * Specifies the video width.
         * The value can be 0 or a multiple of `2` from `32` to `4,096` for H.264 and `0` or a multiple of `4` from `160` to
         * `4,096` for H.265. The unit is pixel.
         * If this parameter is set to `0`, the video width is an adaptive value. The default value is `0`.
         */
        width?: pulumi.Input<number>;
    }
    interface TranscodingTemplateGroupVideoCommon {
        /**
         * Specifies whether to enable black bar removal. Possible values are:
         * + **0**: Disable black bar removal.
         * + **1**: Enable black bar removal and low-complexity algorithms for long videos (>5 minutes).
         * + **2**: Enable black bar removal and high-complexity algorithms for short videos (≤5 minutes).
         */
        blackBarRemoval?: pulumi.Input<number>;
        /**
         * Specifies the video codec. Possible values are:
         * + **1**: H.264
         * + **2**: H.265
         */
        codec?: pulumi.Input<number>;
        /**
         * Specifies the frame rate. Its value is `0` or an integer ranging from `5` to `30`.
         * The default value is `0`. The unit is FPS.
         */
        fps?: pulumi.Input<number>;
        /**
         * Specifies the encoding level. Possible values are:
         * + **1**: VIDEO_LEVEL_1_0
         * + **2**: VIDEO_LEVEL_1_1
         * + **3**: VIDEO_LEVEL_1_2
         * + **4**: VIDEO_LEVEL_1_3
         * + **5**: VIDEO_LEVEL_2_0
         * + **6**: VIDEO_LEVEL_2_1
         * + **7**: VIDEO_LEVEL_2_2
         * + **8**: VIDEO_LEVEL_3_0
         * + **9**: VIDEO_LEVEL_3_1
         * + **10**: VIDEO_LEVEL_3_2
         * + **11**: VIDEO_LEVEL_4_0
         * + **12**: VIDEO_LEVEL_4_1
         * + **13**: VIDEO_LEVEL_4_2
         * + **14**: VIDEO_LEVEL_5_0
         * + **15**: VIDEO_LEVEL_5_1
         */
        level?: pulumi.Input<number>;
        /**
         * Specifies the maximum number of B-frames.
         * The value range is  `0` to `7`, and the default value is `4`. The unit is frame.
         */
        maxConsecutiveBframes?: pulumi.Input<number>;
        /**
         * Specifies the maximum I-frame interval. The value ranges from `2` to `10`.
         * The default value is `5`. The unit is second.
         */
        maxIframesInterval?: pulumi.Input<number>;
        maxReferenceFrames?: pulumi.Input<number>;
        /**
         * Specifies the output policy. Possible values are **discard** and **transcode**.
         * The default value is transcode.
         */
        outputPolicy?: pulumi.Input<string>;
        /**
         * Specifies the encoding profile.
         * Possible values are:
         * + **1**: VIDEO_PROFILE_H264_BASE
         * + **2**: VIDEO_PROFILE_H264_MAIN
         * + **3**: VIDEO_PROFILE_H264_HIGH
         * + **4**: VIDEO_PROFILE_H265_MAIN
         */
        profile?: pulumi.Input<number>;
        /**
         * Specifies the encoding quality. A larger value indicates higher encoding quality and
         * longer transcoding time. Possible values are:
         * + **1**: VIDEO_PRESET_HSPEED2
         * + **2**: VIDEO_PRESET_HSPEED
         * + **3**: VIDEO_PRESET_NORMAL
         */
        quality?: pulumi.Input<number>;
    }
    interface TranscodingTemplateVideo {
        /**
         * Specifies the average output bitrate.
         * The value is 0 or an integer ranging from `40` to `30,000`. The default value is `0`. The unit is kbit/s.
         * If this parameter is set to `0`, the average output bitrate is an adaptive value.
         */
        bitrate?: pulumi.Input<number>;
        /**
         * Specifies whether to enable black bar removal. Possible values are:
         * + **0**: Disable black bar removal.
         * + **1**: Enable black bar removal and low-complexity algorithms for long videos (>5 minutes).
         * + **2**: Enable black bar removal and high-complexity algorithms for short videos (≤5 minutes).
         */
        blackBarRemoval?: pulumi.Input<number>;
        /**
         * Specifies the video codec. Possible values are:
         * + **1**: H.264
         * + **2**: H.265
         */
        codec?: pulumi.Input<number>;
        /**
         * Specifies the frame rate. Its value is `0` or an integer ranging from `5` to `30`.
         * The default value is `0`. The unit is FPS.
         */
        fps?: pulumi.Input<number>;
        /**
         * Specifies the video height.
         * The value is `0` or a multiple of `2` from `32` to `2,880` for H.264, and `0` or a multiple of `4` from `96` to
         * `2,880` for H.265. The unit is pixel.
         * If this parameter is set to `0`, the video height is an adaptive value. The default value is `0`.
         */
        height?: pulumi.Input<number>;
        /**
         * Specifies the encoding level.
         * Possible values are:
         * + **1**: VIDEO_LEVEL_1_0
         * + **2**: VIDEO_LEVEL_1_1
         * + **3**: VIDEO_LEVEL_1_2
         * + **4**: VIDEO_LEVEL_1_3
         * + **5**: VIDEO_LEVEL_2_0
         * + **6**: VIDEO_LEVEL_2_1
         * + **7**: VIDEO_LEVEL_2_2
         * + **8**: VIDEO_LEVEL_3_0
         * + **9**: VIDEO_LEVEL_3_1
         * + **10**: VIDEO_LEVEL_3_2
         * + **11**: VIDEO_LEVEL_4_0
         * + **12**: VIDEO_LEVEL_4_1
         * + **13**: VIDEO_LEVEL_4_2
         * + **14**: VIDEO_LEVEL_5_0
         * + **15**: VIDEO_LEVEL_5_1
         */
        level?: pulumi.Input<number>;
        /**
         * Specifies the maximum number of B-frames.
         * The value range is `0` to `7`, and the default value is `4`. The unit is frame.
         */
        maxConsecutiveBframes?: pulumi.Input<number>;
        /**
         * Specifies the maximum I-frame interval, in second.
         * The value ranges from `2` to `10`. The default value is `5`.
         */
        maxIframesInterval?: pulumi.Input<number>;
        maxReferenceFrames?: pulumi.Input<number>;
        /**
         * Specifies the output policy. Possible values are **discard** and **transcode**.
         * The default value is transcode.
         */
        outputPolicy?: pulumi.Input<string>;
        /**
         * Specifies the encoding profile.
         * Possible values are:
         * + **1**: VIDEO_PROFILE_H264_BASE
         * + **2**: VIDEO_PROFILE_H264_MAIN
         * + **3**: VIDEO_PROFILE_H264_HIGH
         * + **4**: VIDEO_PROFILE_H265_MAIN
         */
        profile?: pulumi.Input<number>;
        /**
         * Specifies the encoding quality. A larger value indicates higher encoding quality and
         * longer transcoding time. Possible values are:
         * + **1**: VIDEO_PRESET_HSPEED2
         * + **2**: VIDEO_PRESET_HSPEED
         * + **3**: VIDEO_PRESET_NORMAL
         */
        quality?: pulumi.Input<number>;
        /**
         * Specifies the video width.
         * The value can be 0 or a multiple of `2` from `32` to `4,096` for H.264 and `0` or a multiple of `4` from `160` to
         * `4,096` for H.265. The unit is pixel.
         * If this parameter is set to `0`, the video width is an adaptive value. The default value is `0`.
         */
        width?: pulumi.Input<number>;
    }
}
export declare namespace Mrs {
    interface ClusterAnalysisCoreNodes {
        /**
         * Specifies the roles deployed in a node group.This argument is mandatory
         * when the cluster type is **CUSTOM**. Each character string represents a role expression.
         */
        assignedRoles?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the data disk number of the nodes.
         * The valid value is `1`.
         * Changing this will create a new MapReduce cluster resource.
         */
        dataVolumeCount: pulumi.Input<number>;
        /**
         * Specifies the data disk size of the nodes,in GB. The value range is 10
         * to 32768. Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce
         * cluster resource.
         */
        dataVolumeSize?: pulumi.Input<number>;
        /**
         * Specifies the data disk flavor of the nodes.
         * Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce cluster resource.
         * The following disk types are supported:
         * + **SATA**: common I/O disk.
         * + **SAS**: high I/O disk.
         * + **SSD**: ultra-high I/O disk.
         */
        dataVolumeType?: pulumi.Input<string>;
        /**
         * Specifies the instance specifications for each nodes in node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        flavor: pulumi.Input<string>;
        /**
         * The host list of this nodes group in the cluster.
         * * `bootstrap_scripts/start_time` - The execution time of one bootstrap action script, in RFC-3339 format.
         * * `bootstrap_scripts/state` - The status of one bootstrap action script.
         * The valid value are **PENDING**, **IN_PROGRESS**, **SUCCESS**, and **FAILURE**.
         */
        hostIps?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the number of nodes for the node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        nodeNumber: pulumi.Input<number>;
        /**
         * Specifies the system disk size of the nodes. Changing this will create
         * a new MapReduce cluster resource.
         */
        rootVolumeSize: pulumi.Input<number>;
        /**
         * Specifies the system disk flavor of the nodes. Changing this will
         * create a new MapReduce cluster resource.
         */
        rootVolumeType: pulumi.Input<string>;
    }
    interface ClusterAnalysisTaskNodes {
        /**
         * Specifies the roles deployed in a node group.This argument is mandatory
         * when the cluster type is **CUSTOM**. Each character string represents a role expression.
         */
        assignedRoles?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the data disk number of the nodes.
         * The valid value is `1`.
         * Changing this will create a new MapReduce cluster resource.
         */
        dataVolumeCount: pulumi.Input<number>;
        /**
         * Specifies the data disk size of the nodes,in GB. The value range is 10
         * to 32768. Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce
         * cluster resource.
         */
        dataVolumeSize?: pulumi.Input<number>;
        /**
         * Specifies the data disk flavor of the nodes.
         * Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce cluster resource.
         * The following disk types are supported:
         * + **SATA**: common I/O disk.
         * + **SAS**: high I/O disk.
         * + **SSD**: ultra-high I/O disk.
         */
        dataVolumeType?: pulumi.Input<string>;
        /**
         * Specifies the instance specifications for each nodes in node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        flavor: pulumi.Input<string>;
        /**
         * The host list of this nodes group in the cluster.
         * * `bootstrap_scripts/start_time` - The execution time of one bootstrap action script, in RFC-3339 format.
         * * `bootstrap_scripts/state` - The status of one bootstrap action script.
         * The valid value are **PENDING**, **IN_PROGRESS**, **SUCCESS**, and **FAILURE**.
         */
        hostIps?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the number of nodes for the node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        nodeNumber: pulumi.Input<number>;
        /**
         * Specifies the system disk size of the nodes. Changing this will create
         * a new MapReduce cluster resource.
         */
        rootVolumeSize: pulumi.Input<number>;
        /**
         * Specifies the system disk flavor of the nodes. Changing this will
         * create a new MapReduce cluster resource.
         */
        rootVolumeType: pulumi.Input<string>;
    }
    interface ClusterBootstrapScript {
        /**
         * Specifies whether the bootstrap action script runs only on active master nodes.
         * The default value is **false**, indicating that the bootstrap action script can run on all master nodes.
         */
        activeMaster?: pulumi.Input<boolean>;
        /**
         * Specifies whether the bootstrap action script is executed
         * before component start.
         * The options are as follows:
         * + **false**: After component start. The default value is **false**.
         * + **true**: Before component start.
         */
        beforeComponentStart?: pulumi.Input<boolean>;
        /**
         * Specifies whether the bootstrap action script involves root user
         * operations.
         * Changing this will create a new MapReduce cluster resource.
         */
        executeNeedSudoRoot?: pulumi.Input<boolean>;
        /**
         * Specifies the action after the bootstrap action script fails to be executed.
         * The options are as follows:
         * + **continue**: Continue to execute subsequent scripts.
         * + **errorout**: Stop the action.
         */
        failAction: pulumi.Input<string>;
        /**
         * Specifies the name of a bootstrap action script.
         * Changing this will create a new MapReduce cluster resource.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies names of the node group where the bootstrap action script is executed.
         */
        nodes: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies bootstrap action script parameters.
         */
        parameters?: pulumi.Input<string>;
        startTime?: pulumi.Input<string>;
        state?: pulumi.Input<string>;
        /**
         * Specifies the path of a bootstrap action script.
         * Set this parameter to an OBS bucket path or a local VM path.
         * + **OBS bucket path**: The path of an OBS file system starts with *s3a://* or *obs://* and end with *.sh*.
         * + **Local VM path**: The script path must start with a slash (/) and end with *.sh*.
         */
        uri: pulumi.Input<string>;
    }
    interface ClusterComponentConfig {
        /**
         * Specifies the configuration of component installed.
         * The object structure is documented below.
         */
        configs: pulumi.Input<pulumi.Input<inputs.Mrs.ClusterComponentConfigConfig>[]>;
        /**
         * Specifies the name of a bootstrap action script.
         * Changing this will create a new MapReduce cluster resource.
         */
        name: pulumi.Input<string>;
    }
    interface ClusterComponentConfigConfig {
        /**
         * Specifies the configuration file name of component installed.
         * Changing this will create a new MapReduce cluster resource.
         */
        configFileName: pulumi.Input<string>;
        /**
         * Specifies the configuration item key of component installed.
         * Changing this will create a new MapReduce cluster resource.
         */
        key: pulumi.Input<string>;
        /**
         * Specifies the configuration item value of component installed.
         * Changing this will create a new MapReduce cluster resource.
         */
        value: pulumi.Input<string>;
    }
    interface ClusterCustomNode {
        /**
         * Specifies the roles deployed in a node group.This argument is mandatory
         * when the cluster type is **CUSTOM**. Each character string represents a role expression.
         */
        assignedRoles?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the data disk number of the nodes.
         * The valid value is `1`.
         * Changing this will create a new MapReduce cluster resource.
         */
        dataVolumeCount: pulumi.Input<number>;
        /**
         * Specifies the data disk size of the nodes,in GB. The value range is 10
         * to 32768. Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce
         * cluster resource.
         */
        dataVolumeSize?: pulumi.Input<number>;
        /**
         * Specifies the data disk flavor of the nodes.
         * Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce cluster resource.
         * The following disk types are supported:
         * + **SATA**: common I/O disk.
         * + **SAS**: high I/O disk.
         * + **SSD**: ultra-high I/O disk.
         */
        dataVolumeType?: pulumi.Input<string>;
        /**
         * Specifies the instance specifications for each nodes in node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        flavor: pulumi.Input<string>;
        /**
         * Specifies the name of nodes for the node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        groupName: pulumi.Input<string>;
        /**
         * The host list of this nodes group in the cluster.
         * * `bootstrap_scripts/start_time` - The execution time of one bootstrap action script, in RFC-3339 format.
         * * `bootstrap_scripts/state` - The status of one bootstrap action script.
         * The valid value are **PENDING**, **IN_PROGRESS**, **SUCCESS**, and **FAILURE**.
         */
        hostIps?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the number of nodes for the node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        nodeNumber: pulumi.Input<number>;
        /**
         * Specifies the system disk size of the nodes. Changing this will create
         * a new MapReduce cluster resource.
         */
        rootVolumeSize: pulumi.Input<number>;
        /**
         * Specifies the system disk flavor of the nodes. Changing this will
         * create a new MapReduce cluster resource.
         */
        rootVolumeType: pulumi.Input<string>;
    }
    interface ClusterExternalDatasource {
        /**
         * Specifies the component name. The valid values are `Hive` and `Ranger`.
         * Changing this will create a new MapReduce cluster resource.
         */
        componentName: pulumi.Input<string>;
        /**
         * Specifies the data connection ID.
         * This parameter is mandatory if `sourceType` is not **LOCAL_DB**.
         * Changing this will create a new MapReduce cluster resource.
         */
        dataConnectionId?: pulumi.Input<string>;
        /**
         * Specifies the component role type.
         * The options are as follows:
         * + **hive_metastore**: Hive Metastore role.
         * + **ranger_data**: Ranger role.
         */
        roleType: pulumi.Input<string>;
        /**
         * Specifies the data connection type.
         * The options are as follows:
         * + **LOCAL_DB**: Local metadata.
         * + **RDS_POSTGRES**: RDS PostgreSQL database.
         * + **RDS_MYSQL**: RDS MySQL database.
         * + **gaussdb-mysql**: GaussDB(for MySQL).
         */
        sourceType: pulumi.Input<string>;
    }
    interface ClusterMasterNodes {
        /**
         * Specifies the roles deployed in a node group.This argument is mandatory
         * when the cluster type is **CUSTOM**. Each character string represents a role expression.
         */
        assignedRoles?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the data disk number of the nodes.
         * The valid value is `1`.
         * Changing this will create a new MapReduce cluster resource.
         */
        dataVolumeCount: pulumi.Input<number>;
        /**
         * Specifies the data disk size of the nodes,in GB. The value range is 10
         * to 32768. Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce
         * cluster resource.
         */
        dataVolumeSize?: pulumi.Input<number>;
        /**
         * Specifies the data disk flavor of the nodes.
         * Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce cluster resource.
         * The following disk types are supported:
         * + **SATA**: common I/O disk.
         * + **SAS**: high I/O disk.
         * + **SSD**: ultra-high I/O disk.
         */
        dataVolumeType?: pulumi.Input<string>;
        /**
         * Specifies the instance specifications for each nodes in node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        flavor: pulumi.Input<string>;
        /**
         * The host list of this nodes group in the cluster.
         * * `bootstrap_scripts/start_time` - The execution time of one bootstrap action script, in RFC-3339 format.
         * * `bootstrap_scripts/state` - The status of one bootstrap action script.
         * The valid value are **PENDING**, **IN_PROGRESS**, **SUCCESS**, and **FAILURE**.
         */
        hostIps?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the number of nodes for the node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        nodeNumber: pulumi.Input<number>;
        /**
         * Specifies the system disk size of the nodes. Changing this will create
         * a new MapReduce cluster resource.
         */
        rootVolumeSize: pulumi.Input<number>;
        /**
         * Specifies the system disk flavor of the nodes. Changing this will
         * create a new MapReduce cluster resource.
         */
        rootVolumeType: pulumi.Input<string>;
    }
    interface ClusterSmnNotify {
        /**
         * Specifies the subscription rule name.
         * Changing this will create a new MapReduce cluster resource.
         */
        subscriptionName: pulumi.Input<string>;
        /**
         * Specifies the Uniform Resource Name (URN) of the topic.
         * Changing this will create a new MapReduce cluster resource.
         */
        topicUrn: pulumi.Input<string>;
    }
    interface ClusterStreamingCoreNodes {
        /**
         * Specifies the roles deployed in a node group.This argument is mandatory
         * when the cluster type is **CUSTOM**. Each character string represents a role expression.
         */
        assignedRoles?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the data disk number of the nodes.
         * The valid value is `1`.
         * Changing this will create a new MapReduce cluster resource.
         */
        dataVolumeCount: pulumi.Input<number>;
        /**
         * Specifies the data disk size of the nodes,in GB. The value range is 10
         * to 32768. Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce
         * cluster resource.
         */
        dataVolumeSize?: pulumi.Input<number>;
        /**
         * Specifies the data disk flavor of the nodes.
         * Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce cluster resource.
         * The following disk types are supported:
         * + **SATA**: common I/O disk.
         * + **SAS**: high I/O disk.
         * + **SSD**: ultra-high I/O disk.
         */
        dataVolumeType?: pulumi.Input<string>;
        /**
         * Specifies the instance specifications for each nodes in node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        flavor: pulumi.Input<string>;
        /**
         * The host list of this nodes group in the cluster.
         * * `bootstrap_scripts/start_time` - The execution time of one bootstrap action script, in RFC-3339 format.
         * * `bootstrap_scripts/state` - The status of one bootstrap action script.
         * The valid value are **PENDING**, **IN_PROGRESS**, **SUCCESS**, and **FAILURE**.
         */
        hostIps?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the number of nodes for the node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        nodeNumber: pulumi.Input<number>;
        /**
         * Specifies the system disk size of the nodes. Changing this will create
         * a new MapReduce cluster resource.
         */
        rootVolumeSize: pulumi.Input<number>;
        /**
         * Specifies the system disk flavor of the nodes. Changing this will
         * create a new MapReduce cluster resource.
         */
        rootVolumeType: pulumi.Input<string>;
    }
    interface ClusterStreamingTaskNodes {
        /**
         * Specifies the roles deployed in a node group.This argument is mandatory
         * when the cluster type is **CUSTOM**. Each character string represents a role expression.
         */
        assignedRoles?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the data disk number of the nodes.
         * The valid value is `1`.
         * Changing this will create a new MapReduce cluster resource.
         */
        dataVolumeCount: pulumi.Input<number>;
        /**
         * Specifies the data disk size of the nodes,in GB. The value range is 10
         * to 32768. Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce
         * cluster resource.
         */
        dataVolumeSize?: pulumi.Input<number>;
        /**
         * Specifies the data disk flavor of the nodes.
         * Required if `dataVolumeCount` is greater than zero. Changing this will create a new MapReduce cluster resource.
         * The following disk types are supported:
         * + **SATA**: common I/O disk.
         * + **SAS**: high I/O disk.
         * + **SSD**: ultra-high I/O disk.
         */
        dataVolumeType?: pulumi.Input<string>;
        /**
         * Specifies the instance specifications for each nodes in node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        flavor: pulumi.Input<string>;
        /**
         * The host list of this nodes group in the cluster.
         * * `bootstrap_scripts/start_time` - The execution time of one bootstrap action script, in RFC-3339 format.
         * * `bootstrap_scripts/state` - The status of one bootstrap action script.
         * The valid value are **PENDING**, **IN_PROGRESS**, **SUCCESS**, and **FAILURE**.
         */
        hostIps?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the number of nodes for the node group.
         * Changing this will create a new MapReduce cluster resource.
         */
        nodeNumber: pulumi.Input<number>;
        /**
         * Specifies the system disk size of the nodes. Changing this will create
         * a new MapReduce cluster resource.
         */
        rootVolumeSize: pulumi.Input<number>;
        /**
         * Specifies the system disk flavor of the nodes. Changing this will
         * create a new MapReduce cluster resource.
         */
        rootVolumeType: pulumi.Input<string>;
    }
}
export declare namespace Nat {
    interface GatewaySessionConf {
        /**
         * Specifies the ICMP session expiration time, in seconds.
         * The valid value from `10` to `7,200`, default value is `10`.
         */
        icmpSessionExpireTime?: pulumi.Input<number>;
        /**
         * Specifies the TCP session expiration time, in seconds.
         * The valid value from `40` to `7,200`, default value is `900`.
         */
        tcpSessionExpireTime?: pulumi.Input<number>;
        /**
         * Specifies the duration of TIME_WAIT state when TCP connection is closed,
         * in seconds. The valid value from `0` to `1,800`, default value is `5`.
         */
        tcpTimeWaitTime?: pulumi.Input<number>;
        /**
         * Specifies the UDP session expiration time, in seconds.
         * The valid value from `40` to `7,200`, default value is `300`.
         */
        udpSessionExpireTime?: pulumi.Input<number>;
    }
}
export declare namespace Obs {
    interface BucketCorsRule {
        /**
         * Specifies the allowed header of cross-origin requests. Only CORS requests
         * matching the allowed header are valid.
         */
        allowedHeaders?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the acceptable operation type of buckets and objects. The methods
         * include `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.
         */
        allowedMethods: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Requests from this origin can access the bucket. Multiple matching rules are
         * allowed. One rule occupies one line, and allows one wildcard character (*) at most.
         */
        allowedOrigins: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the exposed header in CORS responses, providing additional information
         * for clients.
         */
        exposeHeaders?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the duration that your browser can cache CORS responses, expressed in
         * seconds. The default value is 100.
         */
        maxAgeSeconds?: pulumi.Input<number>;
    }
    interface BucketLifecycleRule {
        /**
         * Specifies a period when the not merged parts (fragments) in an
         * incomplete upload are automatically deleted. (documented below).
         */
        abortIncompleteMultipartUploads?: pulumi.Input<pulumi.Input<inputs.Obs.BucketLifecycleRuleAbortIncompleteMultipartUpload>[]>;
        /**
         * Specifies lifecycle rule status.
         */
        enabled: pulumi.Input<boolean>;
        /**
         * Specifies a period when objects that have been last updated are automatically
         * deleted. (documented below).
         */
        expirations?: pulumi.Input<pulumi.Input<inputs.Obs.BucketLifecycleRuleExpiration>[]>;
        /**
         * Unique identifier for lifecycle rules. The Rule Name contains a maximum of 255 characters.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies a period when noncurrent object versions are
         * automatically deleted. (documented below).
         */
        noncurrentVersionExpirations?: pulumi.Input<pulumi.Input<inputs.Obs.BucketLifecycleRuleNoncurrentVersionExpiration>[]>;
        /**
         * Specifies a period when noncurrent object versions are
         * automatically transitioned to `WARM` or `COLD` storage class (documented below).
         */
        noncurrentVersionTransitions?: pulumi.Input<pulumi.Input<inputs.Obs.BucketLifecycleRuleNoncurrentVersionTransition>[]>;
        /**
         * Object key prefix identifying one or more objects to which the rule applies. If omitted,
         * all objects in the bucket will be managed by the lifecycle rule. The prefix cannot start or end with a slash (/),
         * cannot have consecutive slashes (/), and cannot contain the following special characters: \:*?"<>|.
         * When configuring multiple `lifecycleRule`, field `prefix` in multiple `lifecycleRule` cannot have an inclusive
         * relationship.
         */
        prefix?: pulumi.Input<string>;
        /**
         * Specifies a period when objects that have been last updated are automatically
         * transitioned to `WARM` or `COLD` storage class (documented below).
         */
        transitions?: pulumi.Input<pulumi.Input<inputs.Obs.BucketLifecycleRuleTransition>[]>;
    }
    interface BucketLifecycleRuleAbortIncompleteMultipartUpload {
        /**
         * Specifies the number of days since the initiation of an incomplete multipart upload that OBS
         * will wait before deleting the not merged parts (fragments) of the upload.
         * The valid value ranges from 1 to 2,147,483,647.
         */
        days: pulumi.Input<number>;
    }
    interface BucketLifecycleRuleExpiration {
        /**
         * Specifies the number of days when objects that have been last updated are automatically
         * deleted. The expiration time must be greater than the transition times.
         */
        days: pulumi.Input<number>;
    }
    interface BucketLifecycleRuleNoncurrentVersionExpiration {
        /**
         * Specifies the number of days when noncurrent object versions are automatically deleted.
         */
        days: pulumi.Input<number>;
    }
    interface BucketLifecycleRuleNoncurrentVersionTransition {
        /**
         * Specifies the number of days when noncurrent object versions are automatically transitioned
         * to the specified storage class.
         */
        days: pulumi.Input<number>;
        /**
         * The class of storage used to store the object. Only `WARM` and `COLD` are
         * supported.
         */
        storageClass: pulumi.Input<string>;
    }
    interface BucketLifecycleRuleTransition {
        /**
         * Specifies the number of days when objects that have been last updated are automatically
         * transitioned to the specified storage class.
         */
        days: pulumi.Input<number>;
        /**
         * The class of storage used to store the object. Only `WARM` and `COLD` are
         * supported.
         */
        storageClass: pulumi.Input<string>;
    }
    interface BucketLogging {
        /**
         * Specifies the IAM agency of OBS cloud service.
         */
        agency?: pulumi.Input<string>;
        /**
         * The name of the bucket that will receive the log objects. The acl policy of the
         * target bucket should be `log-delivery-write`.
         */
        targetBucket: pulumi.Input<string>;
        /**
         * To specify a key prefix for log objects.
         */
        targetPrefix?: pulumi.Input<string>;
    }
    interface BucketStorageInfo {
        /**
         * The number of objects stored in the bucket.
         */
        objectNumber?: pulumi.Input<number>;
        /**
         * The stored size of the bucket.
         */
        size?: pulumi.Input<number>;
    }
    interface BucketWebsite {
        /**
         * Specifies the error page returned when an error occurs during static website
         * access. Only HTML, JPG, PNG, BMP, and WEBP files under the root directory are supported.
         */
        errorDocument?: pulumi.Input<string>;
        /**
         * Unless using `redirectAllRequestsTo`. Specifies the default homepage of the
         * static website, only HTML web pages are supported. OBS only allows files such as `index.html` in the root directory of
         * a bucket to function as the default homepage. That is to say, do not set the default homepage with a multi-level
         * directory structure (for example, /page/index.html).
         */
        indexDocument?: pulumi.Input<string>;
        /**
         * A hostname to redirect all website requests for this bucket to.
         * Hostname can optionally be prefixed with a protocol (`http://` or `https://`) to use when redirecting requests. The
         * default is the protocol that is used in the original request.
         */
        redirectAllRequestsTo?: pulumi.Input<string>;
        /**
         * A JSON or XML format containing routing rules describing redirect behavior and
         * when redirects are applied. Each rule contains a `Condition` and a `Redirect` as shown in the following table:
         */
        routingRules?: pulumi.Input<string>;
    }
}
export declare namespace Oms {
    interface MigrationTaskBandwidthPolicy {
        /**
         * Specifies the end time of the traffic limit rule. The format is **hh:mm**,
         * e.g. **12:03**.
         */
        end: pulumi.Input<string>;
        /**
         * Specifies the maximum traffic bandwidth allowed in the specified time
         * segment. The value ranges from `1` to `200`. The unit is MB/s.
         */
        maxBandwidth: pulumi.Input<number>;
        /**
         * Specifies the start time of the traffic limit rule. The format is **hh:mm**,
         * e.g. **12:03**.
         */
        start: pulumi.Input<string>;
    }
    interface MigrationTaskDestinationObject {
        /**
         * Specifies the access key for accessing the destination bucket.
         * Changing this creates a new resource.
         */
        accessKey?: pulumi.Input<string>;
        /**
         * Specifies the name of the destination bucket.
         * Changing this creates a new resource.
         */
        bucket: pulumi.Input<string>;
        /**
         * Specifies the region where the destination bucket is located.
         * Changing this creates a new resource.
         */
        region: pulumi.Input<string>;
        /**
         * Specifies the path prefix in the destination bucket. The prefix is added
         * before the object key to form a new key. Changing this creates a new resource.
         */
        savePrefix?: pulumi.Input<string>;
        /**
         * Specifies the secret key for accessing the destination bucket.
         * Changing this creates a new resource.
         */
        secretKey?: pulumi.Input<string>;
        /**
         * Specifies the temporary token for accessing the destination bucket.
         * Changing this creates a new resource.
         */
        securityToken?: pulumi.Input<string>;
    }
    interface MigrationTaskSmnConfig {
        /**
         * Specifies the SMN message language. The value can be **zh-cn** or
         * **en-us**. Default value: **en-us**. Changing this creates a new resource.
         */
        language?: pulumi.Input<string>;
        /**
         * Specifies the SMN message topic URN bound to a migration task.
         * Changing this creates a new resource.
         */
        topicUrn: pulumi.Input<string>;
        /**
         * Specifies the trigger conditions of sending messages using SMN.
         * The value can be:
         * + **FAILURE**: indicates that an SMN message will be sent after the migration task fails.
         * + **SUCCESS**: indicates that an SMN message will be sent after the migration task succeeds.
         */
        triggerConditions: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface MigrationTaskSourceCdn {
        /**
         * Specifies the CDN authentication key.
         * Changing this creates a new resource.
         */
        authenticationKey?: pulumi.Input<string>;
        /**
         * Specifies the authentication type. Valid values are **NONE**,
         * **QINIU_PRIVATE_AUTHENTICATION**, **ALIYUN_OSS_A**, **ALIYUN_OSS_B**, **ALIYUN_OSS_C**,
         * **KSYUN_PRIVATE_AUTHENTICATION**, **TENCENT_COS_A**, **TENCENT_COS_B**, **TENCENT_COS_C**,
         * **TENCENT_COS_D**. Default value: **None**. Changing this creates a new resource.
         */
        authenticationType?: pulumi.Input<string>;
        /**
         * Specifies the domain name from which to obtain objects to be migrated.
         * Changing this creates a new resource.
         */
        domain: pulumi.Input<string>;
        /**
         * Specifies the protocol type. Valid values are **HTTP** and **HTTPS**.
         * Changing this creates a new resource.
         */
        protocol: pulumi.Input<string>;
    }
    interface MigrationTaskSourceObject {
        /**
         * Specifies the access key for accessing the destination bucket.
         * Changing this creates a new resource.
         */
        accessKey?: pulumi.Input<string>;
        /**
         * Specifies the APP ID. This parameter is mandatory when `dataSource` is
         * **Tencent**. Changing this creates a new resource.
         */
        appId?: pulumi.Input<string>;
        /**
         * Specifies the name of the destination bucket.
         * Changing this creates a new resource.
         */
        bucket?: pulumi.Input<string>;
        /**
         * Specifies the source cloud service provider. If `type` is
         * **url_list**,set this parameter to **URLSource**. The value can be **AWS**, **Azure**, **Aliyun**, **Tencent**,
         * **HuaweiCloud**, **QingCloud**, **KingsoftCloud**, **Baidu**, **Qiniu**, **URLSource** and **UCloud**.
         * The default value is **Aliyun**. Changing this creates a new resource.
         */
        dataSource?: pulumi.Input<string>;
        /**
         * Specifies the name of the OBS bucket for storing the object list files.
         * `listFileBucket` is mandatory when `type` is set to **list** or **url_list**. Changing this creates a new resource.
         */
        listFileBucket?: pulumi.Input<string>;
        /**
         * Specifies the object name of the list file or URL list file.
         * `listFileKey` is mandatory when `type` is set to **list** or **url_list**. Changing this creates a new resource.
         */
        listFileKey?: pulumi.Input<string>;
        /**
         * Specifies the list of object keys.
         * + If `type` is set to **object**, this parameter specifies the names of the objects to be migrated. The strings
         * ending with a slash (/) indicate the folders to be migrated, and the strings not ending with a slash (/) indicate the
         * files to be migrated.
         * + If `type` is set to **prefix**, this parameter indicates the name prefixes of the objects to be migrated.
         * Set this parameter to [""] to migrate the entire bucket
         */
        objects?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the region where the destination bucket is located.
         * Changing this creates a new resource.
         */
        region?: pulumi.Input<string>;
        /**
         * Specifies the secret key for accessing the destination bucket.
         * Changing this creates a new resource.
         */
        secretKey?: pulumi.Input<string>;
        /**
         * Specifies the temporary token for accessing the destination bucket.
         * Changing this creates a new resource.
         */
        securityToken?: pulumi.Input<string>;
    }
}
export declare namespace Rds {
    interface BackupDatabase {
        /**
         * Database to be backed up for Microsoft SQL Server.
         */
        name: pulumi.Input<string>;
    }
    interface Database_privilegeUser {
        name: pulumi.Input<string>;
        readonly?: pulumi.Input<boolean>;
    }
    interface InstanceBackupStrategy {
        /**
         * Specifies the retention days for specific backup files. The value range is from 0 to 732.
         */
        keepDays?: pulumi.Input<number>;
        /**
         * Specifies the backup cycle. Automatic backups will be performed on the specified days of
         * the week, except when disabling the automatic backup policy. The value range is a comma-separated number, where each
         * number represents a day of the week. For example, a value of 1,2,3,4 would set the backup cycle to Monday, Tuesday,
         * Wednesday, and Thursday. The default value is 1,2,3,4,5,6,7.
         */
        period?: pulumi.Input<string>;
        /**
         * Specifies the backup time window. Automated backups will be triggered during the
         * backup time window. It must be a valid value in the **hh:mm-HH:MM**
         * format. The current time is in the UTC format. The HH value must be 1 greater than the hh value. The values of mm and
         * MM must be the same and must be set to any of the following: 00, 15, 30, or 45. Example value: 08:15-09:15 23:00-00:
         * 00.
         */
        startTime: pulumi.Input<string>;
    }
    interface InstanceDb {
        /**
         * Specifies the database password. The value should contain 8 to 32 characters,
         * including uppercase and lowercase letters, digits, and the following special characters: ~!@#%^*-_=+? You are advised
         * to enter a strong password to improve security, preventing security risks such as brute force cracking.
         */
        password?: pulumi.Input<string>;
        /**
         * Specifies the database port.
         * + The MySQL database port ranges from 1024 to 65535 (excluding 12017 and 33071, which are occupied by the RDS system
         * and cannot be used). The default value is 3306.
         * + The PostgreSQL database port ranges from 2100 to 9500. The default value is 5432.
         * + The Microsoft SQL Server database port can be 1433 or ranges from 2100 to 9500, excluding 5355 and 5985. The
         * default value is 1433.
         * + The MariaDB database port ranges from 1024 to 65535 (excluding 12017 and 33071, which are occupied by the RDS system
         * and cannot be used). The default value is 3306.
         */
        port?: pulumi.Input<number>;
        /**
         * Specifies the volume type. Its value can be any of the following and is
         * case-sensitive:
         * + **ULTRAHIGH**: SSD storage.
         * + **LOCALSSD**: local SSD storage.
         * + **CLOUDSSD**: cloud SSD storage. This storage type is supported only with general-purpose and dedicated DB
         * instances.
         * + **ESSD**: extreme SSD storage.
         */
        type: pulumi.Input<string>;
        userName?: pulumi.Input<string>;
        /**
         * Specifies the database version. Changing this parameter will create a new
         * resource. Available values detailed in
         * [DB Engines and Versions](https://support.huaweicloud.com/intl/en-us/productdesc-rds/en-us_topic_0043898356.html).
         */
        version: pulumi.Input<string>;
    }
    interface InstanceMsdtcHost {
        /**
         * Specifies the host name.
         */
        hostName: pulumi.Input<string>;
        /**
         * Indicates the host ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the host IP address.
         */
        ip: pulumi.Input<string>;
    }
    interface InstanceNode {
        /**
         * Specifies the list of AZ name. Changing this parameter will create a
         * new resource.
         */
        availabilityZone?: pulumi.Input<string>;
        /**
         * Indicates the host ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the parameter name. Some of them needs the instance to be restarted
         * to take effect.
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates the node type. The value can be master or slave, indicating the primary node or standby node
         * respectively.
         */
        role?: pulumi.Input<string>;
        /**
         * Indicates the node status.
         */
        status?: pulumi.Input<string>;
    }
    interface InstanceParameter {
        /**
         * Specifies the parameter name. Some of them needs the instance to be restarted
         * to take effect.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the parameter value.
         */
        value: pulumi.Input<string>;
    }
    interface InstanceRestore {
        /**
         * Specifies the ID of the backup used to restore data. Changing this
         * parameter will create a new resource.
         */
        backupId: pulumi.Input<string>;
        /**
         * Specifies the database to be restored. This parameter applies only to
         * Microsoft SQL Server databases. Changing this parameter will create a new resource.
         */
        databaseName?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Specifies the source DB instance ID. Changing this parameter will create
         * a new resource.
         */
        instanceId: pulumi.Input<string>;
    }
    interface InstanceVolume {
        /**
         * Specifies the key ID for disk encryption.
         * Changing this parameter will create a new resource.
         */
        diskEncryptionId?: pulumi.Input<string>;
        /**
         * Specifies the upper limit of automatic expansion of storage, in GB.
         */
        limitSize?: pulumi.Input<number>;
        /**
         * Specifies the volume size. Its value range is from 40 GB to 4000 GB. The value must be a
         * multiple of 10 and greater than the original size.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the threshold to trigger automatic expansion.
         * If the available storage drops to this threshold or `10` GB, the automatic expansion is triggered.
         * The valid values are as follows:
         * + **10**
         * + **15**
         * + **20**
         */
        triggerThreshold?: pulumi.Input<number>;
        /**
         * Specifies the volume type. Its value can be any of the following and is
         * case-sensitive:
         * + **ULTRAHIGH**: SSD storage.
         * + **LOCALSSD**: local SSD storage.
         * + **CLOUDSSD**: cloud SSD storage. This storage type is supported only with general-purpose and dedicated DB
         * instances.
         * + **ESSD**: extreme SSD storage.
         */
        type: pulumi.Input<string>;
    }
    interface MysqlDatabasePrivilegeUser {
        /**
         * Specifies the username of the database account.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the read-only permission. The value can be:
         * + **true**: indicates the read-only permission.
         * + **false**: indicates the read and write permission.
         */
        readonly?: pulumi.Input<boolean>;
    }
    interface MysqlDatabaseTableRestoreDatabase {
        /**
         * Specifies the name of the table after restoration.
         */
        newName: pulumi.Input<string>;
        /**
         * Specifies the name of the table before restoration.
         */
        oldName: pulumi.Input<string>;
    }
    interface MysqlDatabaseTableRestoreRestoreTable {
        /**
         * Specifies the database name.
         */
        database: pulumi.Input<string>;
        /**
         * Specifies the tables.
         * The tables structure is documented below.
         */
        tables: pulumi.Input<pulumi.Input<inputs.Rds.MysqlDatabaseTableRestoreRestoreTableTable>[]>;
    }
    interface MysqlDatabaseTableRestoreRestoreTableTable {
        /**
         * Specifies the name of the table after restoration.
         */
        newName: pulumi.Input<string>;
        /**
         * Specifies the name of the table before restoration.
         */
        oldName: pulumi.Input<string>;
    }
    interface MysqlProxyMasterNodeWeight {
        /**
         * Specifies the ID of the node.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies the weight assigned to the node.
         * + If `routeMode` is `0`, the value is `0` to `1,000`.
         * + If `routeMode` is `1`, the value for the primary node is `0` and the value for read replicas is `0` or `1`.
         * + If `routeMode` is `2`, the value for the primary node is `1` and the value for read replicas is `0` or `1`.
         */
        weight: pulumi.Input<number>;
    }
    interface MysqlProxyNode {
        /**
         * Indicates the AZ where the proxy node is located.
         */
        azCode?: pulumi.Input<string>;
        /**
         * Indicates whether the proxy node is frozen. The values can be:
         * + **0**: unfrozen.
         * + **1**: frozen.
         */
        frozenFlag?: pulumi.Input<number>;
        /**
         * Specifies the ID of the node.
         */
        id?: pulumi.Input<string>;
        /**
         * Indicates the role of the proxy node. The values can be:
         * + **master**: primary node.
         * + **slave**: standby node.
         */
        role?: pulumi.Input<string>;
        /**
         * Indicates the proxy node status. The values can be:
         * + **NORMAL**: The node is normal.
         * + **ABNORMAL**: The node is abnormal.
         * + **CREATING**: The node is being created.
         * + **CREATEFAIL**: The node failed to be created.
         */
        status?: pulumi.Input<string>;
    }
    interface MysqlProxyReadonlyNodesWeight {
        /**
         * Specifies the ID of the node.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies the weight assigned to the node.
         * + If `routeMode` is `0`, the value is `0` to `1,000`.
         * + If `routeMode` is `1`, the value for the primary node is `0` and the value for read replicas is `0` or `1`.
         * + If `routeMode` is `2`, the value for the primary node is `1` and the value for read replicas is `0` or `1`.
         */
        weight: pulumi.Input<number>;
    }
    interface ParametergroupConfigurationParameter {
        /**
         * The parameter group description. It contains a maximum of 256 characters and cannot
         * contain the following special characters:>!<"&'= the value is left blank by default.
         */
        description?: pulumi.Input<string>;
        /**
         * The parameter group name. It contains a maximum of 64 characters.
         */
        name?: pulumi.Input<string>;
        /**
         * Indicates whether the parameter is read-only.
         */
        readonly?: pulumi.Input<boolean>;
        /**
         * Indicates whether a restart is required.
         */
        restartRequired?: pulumi.Input<boolean>;
        /**
         * The DB engine. Currently, MySQL, PostgreSQL, Microsoft SQL Server and MariaDB are supported.
         * The value is case-insensitive and can be **mysql**, **postgresql**, **sqlserver**, or **mariadb**.
         */
        type?: pulumi.Input<string>;
        /**
         * Indicates the parameter value.
         */
        value?: pulumi.Input<string>;
        /**
         * Indicates the parameter value range.
         */
        valueRange?: pulumi.Input<string>;
    }
    interface ParametergroupDatastore {
        /**
         * The DB engine. Currently, MySQL, PostgreSQL, Microsoft SQL Server and MariaDB are supported.
         * The value is case-insensitive and can be **mysql**, **postgresql**, **sqlserver**, or **mariadb**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the database version.
         */
        version: pulumi.Input<string>;
    }
    interface PgAccountAttribute {
        /**
         * Indicates whether a user bypasses each row-level security policy.
         */
        rolBypassRls?: pulumi.Input<boolean>;
        /**
         * Indicates whether a user can log in to the database.
         */
        rolCanLogin?: pulumi.Input<boolean>;
        /**
         * Indicates the maximum number of concurrent connections to a DB instance.
         */
        rolConnLimit?: pulumi.Input<number>;
        /**
         * Indicates whether a user can create a database.
         */
        rolCreateDb?: pulumi.Input<boolean>;
        /**
         * Indicates whether a user can create other sub-users.
         */
        rolCreateRole?: pulumi.Input<boolean>;
        /**
         * Indicates whether a user automatically inherits the permissions of the role to which the user belongs.
         */
        rolInherit?: pulumi.Input<boolean>;
        /**
         * Indicates whether the user is a replication role.
         */
        rolReplication?: pulumi.Input<boolean>;
        /**
         * Indicates whether a user has the super-user permission.
         */
        rolSuper?: pulumi.Input<boolean>;
    }
    interface PgDatabasePrivilegeUser {
        /**
         * Specifies the username of the database account.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the read-only permission. The value can be:
         * + **true**: indicates the read-only permission.
         * + **false**: indicates the read and write permission.
         */
        readonly: pulumi.Input<boolean>;
        /**
         * Specifies the name of the schema.
         */
        schemaName: pulumi.Input<string>;
    }
    interface PgHbaHostBasedAuthentication {
        /**
         * Specifies the client IP address.
         * + **0.0.0.0/0** indicates that the user can access the database from any IP address.
         */
        address: pulumi.Input<string>;
        /**
         * Specifies the database name other than **template0** and **template1**.
         * + **all** indicates all databases of the DB instance.
         * + Use commas (,) to separate multiple databases.
         */
        database: pulumi.Input<string>;
        /**
         * Specifies the subnet mask. It is mandatory when `address` does not contain mask.
         */
        mask?: pulumi.Input<string>;
        /**
         * Specifies the authentication mode. Value options: **reject**, **md5** and
         * **scram-sha-256**.
         */
        method: pulumi.Input<string>;
        /**
         * Specifies the connection type. Value options: **host**, **hostssl** and **hostnossl**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the name of a user other than **rdsAdmin**, **rdsMetric**, **rdsBackup**,
         * **rdsRepl** and **rdsProxy**.
         * + **all** indicates all database users of the DB instance.
         * + Use commas (,) to separate multiple user names.
         */
        user: pulumi.Input<string>;
    }
    interface ReadReplicaInstanceDb {
        /**
         * Specifies the database port.
         * + The MySQL database port ranges from `1,024` to `65,535` (excluding `12,017` and `33,071`, which are occupied by
         * the RDS system and cannot be used). The default value is `3,306`.
         * + The PostgreSQL database port ranges from `2,100` to `9,500`. The default value is `5,432`.
         * + The Microsoft SQL Server database port can be `1,433` or ranges from `2,100` to `9,500`, excluding `5,355` and
         * `5,985`. The default value is `1,433`.
         */
        port?: pulumi.Input<number>;
        /**
         * Specifies the volume type. It must same with the type of the primary instance.
         * Its value can be any of the following and is case-sensitive:
         * + **ULTRAHIGH**: SSD storage.
         * + **LOCALSSD**: local SSD storage.
         * + **CLOUDSSD**: cloud SSD storage. This storage type is supported only with general-purpose and dedicated DB
         * instances.
         * + **ESSD**: extreme SSD storage.
         */
        type?: pulumi.Input<string>;
        userName?: pulumi.Input<string>;
        version?: pulumi.Input<string>;
    }
    interface ReadReplicaInstanceParameter {
        /**
         * Specifies the parameter name. Some of them needs the instance to be restarted
         * to take effect.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the parameter value.
         */
        value: pulumi.Input<string>;
    }
    interface ReadReplicaInstanceVolume {
        diskEncryptionId?: pulumi.Input<string>;
        /**
         * Specifies the upper limit of automatic expansion of storage, in GB.
         */
        limitSize?: pulumi.Input<number>;
        /**
         * Specifies the volume size. Its value range is from `40` GB to `4,000` GB. The value must
         * be a multiple of 10 and greater than the original size.
         */
        size?: pulumi.Input<number>;
        /**
         * Specifies the threshold to trigger automatic expansion.
         * If the available storage drops to this threshold or `10` GB, the automatic expansion is triggered.
         * The valid values are as follows:
         * + **10**
         * + **15**
         * + **20**
         */
        triggerThreshold?: pulumi.Input<number>;
        /**
         * Specifies the volume type. It must same with the type of the primary instance.
         * Its value can be any of the following and is case-sensitive:
         * + **ULTRAHIGH**: SSD storage.
         * + **LOCALSSD**: local SSD storage.
         * + **CLOUDSSD**: cloud SSD storage. This storage type is supported only with general-purpose and dedicated DB
         * instances.
         * + **ESSD**: extreme SSD storage.
         */
        type: pulumi.Input<string>;
    }
    interface SqlserverDatabasePrivilegeUser {
        /**
         * Specifies the username of the database account.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the read-only permission. Value options:
         * + **true**: indicates the read-only permission.
         * + **false**: indicates the read and write permission.
         */
        readonly?: pulumi.Input<boolean>;
    }
}
export declare namespace Scm {
    interface CertificateAuthentification {
        /**
         * Domain name mapping to the verification value
         */
        domain?: pulumi.Input<string>;
        /**
         * Name of a domain ownership verification value.
         */
        recordName?: pulumi.Input<string>;
        /**
         * Type of the domain name verification value.
         */
        recordType?: pulumi.Input<string>;
        /**
         * Domain verification value.
         */
        recordValue?: pulumi.Input<string>;
    }
    interface CertificateTarget {
        /**
         * Specifies the project where the service you want to push a certificate to. The same certificate
         * can be pushed repeatedly to the same WAF or ELB service in the same `project`, but the CDN service can only be pushed
         * once.
         */
        projects?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the service to which the certificate is pushed. The options include `CDN`,`WAF`
         * and `ELB`.
         */
        service: pulumi.Input<string>;
    }
}
export declare namespace ServiceStage {
    interface ApplicationEnvironment {
        /**
         * Specifies the environment ID to which the variables belongs.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies the list of environment variables.
         * The object structure is documented below.
         */
        variables: pulumi.Input<pulumi.Input<inputs.ServiceStage.ApplicationEnvironmentVariable>[]>;
    }
    interface ApplicationEnvironmentVariable {
        /**
         * Specifies the variable name. The name can contain `1` to `64` characters, only letters,
         * digits, underscores (_), hyphens (-) and dots (.) are allowed. The name cannot start with a digit or dot.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the variable value. The value can contain a maximum of `2,048` characters.
         */
        value: pulumi.Input<string>;
    }
    interface ComponentBuilder {
        /**
         * Specifies the cluster ID.
         */
        clusterId: pulumi.Input<string>;
        /**
         * Specifies the cluster Name.
         */
        clusterName?: pulumi.Input<string>;
        /**
         * Specifies the cluster type.
         */
        clusterType?: pulumi.Input<string>;
        /**
         * Specifies the build command. If omitted, the default command will be used.
         * + About the  default command or script: build.sh in the root directory will be preferentially executed.
         * If build.sh does not exist, the code will be compiled using the common method of the selected language,
         * for example, mvn clean package for Java.
         * + About the custom command: Commands will be customized using the selected language.
         * Alternatively, the default command or script will be used after build.sh is modified.
         */
        cmd?: pulumi.Input<string>;
        /**
         * Specifies the file path for dockerfile.
         */
        dockerfilePath?: pulumi.Input<string>;
        /**
         * Specifies the filter labels for CCE nodes.
         */
        nodeLabel?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Specifies the organization name.
         * The organization is usually **domain name**. You can find out in the organization management of SWR.
         */
        organization: pulumi.Input<string>;
        /**
         * Specifies whether to use the public cluster.
         */
        usePublicCluster?: pulumi.Input<boolean>;
    }
    interface ComponentInstanceArtifact {
        /**
         * Specifies the authentication mode.
         * The valid values are **iam** and **none**. Defaults to **iam**.
         */
        authType?: pulumi.Input<string>;
        /**
         * Specifies the configuration item.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the properties of the OBS object.
         * This parameter is available only `storage` is **obs**.
         * The object structure is documented below.
         */
        properties?: pulumi.Input<inputs.ServiceStage.ComponentInstanceArtifactProperties>;
        /**
         * Specifies the data storage configuration.
         * The object structure is documented below.
         */
        storage: pulumi.Input<string>;
        /**
         * Specifies the probe type. The valid values are as follows:
         * + **command**: command execution check.
         * + **http**: HTTP request check.
         * + **tcp**: TCP port check.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the software package or image address.
         * For a component deployed on a VM, this parameter is the software package address.
         * For a component deployed based on a container, this parameter is the image address or component name:v${index}.
         * The latter indicates that the component source code or the image automatically built using the software package
         * will be used.
         */
        url: pulumi.Input<string>;
        /**
         * Specifies the version number.
         */
        version?: pulumi.Input<string>;
    }
    interface ComponentInstanceArtifactProperties {
        /**
         * Specifies the OBS bucket name.
         */
        bucket?: pulumi.Input<string>;
        /**
         * Specifies the OBS bucket endpoint.
         */
        endpoint?: pulumi.Input<string>;
        /**
         * Specifies the key name of the OBS object.
         */
        key?: pulumi.Input<string>;
    }
    interface ComponentInstanceConfiguration {
        /**
         * Specifies the environment variables.
         * The object structure is documented below.
         */
        envVariables?: pulumi.Input<pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationEnvVariable>[]>;
        /**
         * Specifies the lifecycle.
         * The object structure is documented below.
         */
        lifecycle?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationLifecycle>;
        /**
         * Specifies the policies of the log collection.
         * The object structure is documented below.
         */
        logCollectionPolicies?: pulumi.Input<pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationLogCollectionPolicy>[]>;
        /**
         * Specifies the variable value.
         * The object structure is documented below.
         */
        probe?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationProbe>;
        /**
         * Specifies the scheduling policy.
         * The key indicates the component name. In the Docker container scenario, key indicates the container name.
         * If the source parameters of a component specify the software package source, this parameter is optional, and the
         * software package source of the component is inherited by default. Otherwise, this parameter is required.
         * The object structure is documented below.
         */
        scheduler?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationScheduler>;
        /**
         * Specifies the data storage configuration.
         * The object structure is documented below.
         */
        storages?: pulumi.Input<pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationStorage>[]>;
        /**
         * Specifies the upgrade policy.
         * The object structure is documented below.
         */
        strategy?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationStrategy>;
    }
    interface ComponentInstanceConfigurationEnvVariable {
        /**
         * Specifies the configuration item.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the variable value.
         */
        value: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationLifecycle {
        /**
         * Specifies the startup commands.
         * The object structure is documented below.
         */
        entrypoint?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationLifecycleEntrypoint>;
        /**
         * Specifies the post-start processing.
         * The object structure is documented below.
         */
        postStart?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationLifecyclePostStart>;
        /**
         * Specifies the pre-stop processing.
         * The object structure is documented below.
         */
        preStop?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationLifecyclePreStop>;
    }
    interface ComponentInstanceConfigurationLifecycleEntrypoint {
        /**
         * Specifies the running parameters.
         */
        args: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the command list.
         */
        commands: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ComponentInstanceConfigurationLifecyclePostStart {
        /**
         * Specifies the start post-processing or stop pre-processing parameters.
         * The object structure is documented below.
         */
        parameters: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationLifecyclePostStartParameters>;
        /**
         * Specifies the probe type. The valid values are as follows:
         * + **command**: command execution check.
         * + **http**: HTTP request check.
         * + **tcp**: TCP port check.
         */
        type: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationLifecyclePostStartParameters {
        /**
         * Specifies the command list.
         */
        commands?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the custom IP address. The default address is pod IP address.
         */
        host?: pulumi.Input<string>;
        /**
         * Specifies the request path.
         */
        path?: pulumi.Input<string>;
        /**
         * Specifies the listening port of the application component process.
         */
        port?: pulumi.Input<number>;
    }
    interface ComponentInstanceConfigurationLifecyclePreStop {
        /**
         * Specifies the start post-processing or stop pre-processing parameters.
         * The object structure is documented below.
         */
        parameters: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationLifecyclePreStopParameters>;
        /**
         * Specifies the probe type. The valid values are as follows:
         * + **command**: command execution check.
         * + **http**: HTTP request check.
         * + **tcp**: TCP port check.
         */
        type: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationLifecyclePreStopParameters {
        /**
         * Specifies the command list.
         */
        commands?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the custom IP address. The default address is pod IP address.
         */
        host?: pulumi.Input<string>;
        /**
         * Specifies the request path.
         */
        path?: pulumi.Input<string>;
        /**
         * Specifies the listening port of the application component process.
         */
        port?: pulumi.Input<number>;
    }
    interface ComponentInstanceConfigurationLogCollectionPolicy {
        /**
         * Specifies the configurations of the container mounting.
         * The object structure is documented below.
         */
        containerMountings: pulumi.Input<pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationLogCollectionPolicyContainerMounting>[]>;
        /**
         * Specifies the The host path that will be mounted to the specified container path.
         */
        hostPath?: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationLogCollectionPolicyContainerMounting {
        /**
         * Specifies the aging period.
         * The valid values are **Hourly**, **Daily** and **Weekly**. The default value is **Hourly**.
         */
        agingPeriod?: pulumi.Input<string>;
        /**
         * Specifies the extended host path.
         * This parameter can be configured only when `hostPath` is configured.
         * The valid values are as follows:
         * + **PodUID**
         * + **PodName**
         * + **PodUID/ContainerName**
         * + **PodName/ContainerName**
         */
        hostExtendPath?: pulumi.Input<string>;
        /**
         * Specifies the request path.
         */
        path: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationProbe {
        /**
         * Specifies the component liveness probe.
         * The object structure is documented below.
         */
        liveness?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationProbeLiveness>;
        /**
         * Specifies the component service probe.
         * The object structure is documented below.
         */
        readiness?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationProbeReadiness>;
    }
    interface ComponentInstanceConfigurationProbeLiveness {
        /**
         * Specifies the commands. Required if `type` is **command**.
         * The object structure is documented below.
         */
        commandParam?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationProbeLivenessCommandParam>;
        /**
         * Specifies the interval between the startup and detection.
         */
        delay?: pulumi.Input<number>;
        /**
         * Specifies the commands. Required if `type` is **http**.
         * The object structure is documented below.
         */
        httpParam?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationProbeLivenessHttpParam>;
        /**
         * Specifies the commands. Required if `type` is **tcp**.
         * The object structure is documented below.
         */
        tcpParam?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationProbeLivenessTcpParam>;
        /**
         * Specifies the detection timeout interval.
         */
        timeout?: pulumi.Input<number>;
        /**
         * Specifies the probe type. The valid values are as follows:
         * + **command**: command execution check.
         * + **http**: HTTP request check.
         * + **tcp**: TCP port check.
         */
        type: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationProbeLivenessCommandParam {
        /**
         * Specifies the command list.
         */
        commands: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ComponentInstanceConfigurationProbeLivenessHttpParam {
        /**
         * Specifies the custom IP address. The default address is pod IP address.
         */
        host?: pulumi.Input<string>;
        /**
         * Specifies the request path.
         */
        path: pulumi.Input<string>;
        /**
         * Specifies the listening port of the application component process.
         */
        port: pulumi.Input<number>;
        /**
         * Specifies the protocol scheme. The valid values are **HTTP** and **HTTPS**.
         */
        scheme: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationProbeLivenessTcpParam {
        /**
         * Specifies the listening port of the application component process.
         */
        port: pulumi.Input<number>;
    }
    interface ComponentInstanceConfigurationProbeReadiness {
        /**
         * Specifies the commands. Required if `type` is **command**.
         * The object structure is documented below.
         */
        commandParam?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationProbeReadinessCommandParam>;
        /**
         * Specifies the interval between the startup and detection.
         */
        delay?: pulumi.Input<number>;
        /**
         * Specifies the commands. Required if `type` is **http**.
         * The object structure is documented below.
         */
        httpParam?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationProbeReadinessHttpParam>;
        /**
         * Specifies the commands. Required if `type` is **tcp**.
         * The object structure is documented below.
         */
        tcpParam?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationProbeReadinessTcpParam>;
        /**
         * Specifies the detection timeout interval.
         */
        timeout?: pulumi.Input<number>;
        /**
         * Specifies the probe type. The valid values are as follows:
         * + **command**: command execution check.
         * + **http**: HTTP request check.
         * + **tcp**: TCP port check.
         */
        type: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationProbeReadinessCommandParam {
        /**
         * Specifies the command list.
         */
        commands: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ComponentInstanceConfigurationProbeReadinessHttpParam {
        /**
         * Specifies the custom IP address. The default address is pod IP address.
         */
        host?: pulumi.Input<string>;
        /**
         * Specifies the request path.
         */
        path: pulumi.Input<string>;
        /**
         * Specifies the listening port of the application component process.
         */
        port: pulumi.Input<number>;
        /**
         * Specifies the protocol scheme. The valid values are **HTTP** and **HTTPS**.
         */
        scheme: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationProbeReadinessTcpParam {
        /**
         * Specifies the listening port of the application component process.
         */
        port: pulumi.Input<number>;
    }
    interface ComponentInstanceConfigurationScheduler {
        /**
         * Specifies the commands.
         * The object structure is documented below.
         */
        affinity?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationSchedulerAffinity>;
        /**
         * Specifies the commands.
         * The object structure is documented below.
         */
        antiAffinity?: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationSchedulerAntiAffinity>;
    }
    interface ComponentInstanceConfigurationSchedulerAffinity {
        /**
         * Specifies the AZ list.
         */
        availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the list of component instance names.
         */
        instanceNames?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the node private IP address list.
         */
        privateIps?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ComponentInstanceConfigurationSchedulerAntiAffinity {
        /**
         * Specifies the AZ list.
         */
        availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the list of component instance names.
         */
        instanceNames?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the node private IP address list.
         */
        privateIps?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface ComponentInstanceConfigurationStorage {
        /**
         * Specifies the directory mounted to the container.
         * The object structure is documented below.
         */
        mounts: pulumi.Input<pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationStorageMount>[]>;
        /**
         * Specifies the storage parameters.
         * The object structure is documented below.
         */
        parameter: pulumi.Input<inputs.ServiceStage.ComponentInstanceConfigurationStorageParameter>;
        /**
         * Specifies the probe type. The valid values are as follows:
         * + **command**: command execution check.
         * + **http**: HTTP request check.
         * + **tcp**: TCP port check.
         */
        type: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationStorageMount {
        /**
         * Specifies the request path.
         */
        path: pulumi.Input<string>;
        /**
         * Specifies the mounted disk permission is read-only or read-write.
         * + **true**: read-only.
         * + **false**: read-write.
         */
        readonly: pulumi.Input<boolean>;
        /**
         * Specifies the subpath of the mounted disk.
         * This parameter is applicable to `http` type.
         */
        subpath?: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationStorageParameter {
        /**
         * Specifies the PVC name.
         */
        claimName?: pulumi.Input<string>;
        /**
         * Specifies the configuration item.
         */
        name?: pulumi.Input<string>;
        /**
         * Specifies the request path.
         */
        path?: pulumi.Input<string>;
        /**
         * Specifies the Secret name. Required if the storage `type` is **Secret**.
         */
        secretName?: pulumi.Input<string>;
    }
    interface ComponentInstanceConfigurationStrategy {
        /**
         * Specifies the upgrade policy.
         * The valid values are **Recreate** or **RollingUpdate**. The default value is **RollingUpdate**.
         * The **Recreate** indicates in-place upgrade while the **RollingUpdate** indicates rolling upgrade.
         */
        upgrade?: pulumi.Input<string>;
    }
    interface ComponentInstanceExternalAccess {
        /**
         * Specifies the access address. For example: `www.example.com`.
         */
        address?: pulumi.Input<string>;
        /**
         * Specifies the listening port of the application component process.
         */
        port?: pulumi.Input<number>;
        /**
         * Specifies the protocol. The valid values are **HTTP** and **HTTPS**.
         */
        protocol?: pulumi.Input<string>;
    }
    interface ComponentInstanceReferResource {
        /**
         * Specifies the application alias, which is provided only in DCS scenario.
         * The valid values are: **distributed_session**, **distributed_cache** and **distributed_session, distributed_cache**.
         * Defaults to **distributed_session, distributed_cache**.
         */
        alias?: pulumi.Input<string>;
        /**
         * Specifies the resource ID.
         * If the `type` is set to **ecs**, the value of this parameter must be **Default**.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies the start post-processing or stop pre-processing parameters.
         * The object structure is documented below.
         */
        parameters?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        /**
         * Specifies the probe type. The valid values are as follows:
         * + **command**: command execution check.
         * + **http**: HTTP request check.
         * + **tcp**: TCP port check.
         */
        type: pulumi.Input<string>;
    }
    interface ComponentSource {
        /**
         * Specifies the authorization name.
         * This parameter and `storageType` are alternative.
         */
        authorization?: pulumi.Input<string>;
        /**
         * Specifies the component builder's properties.
         * The object structure is documented below.
         */
        properties?: pulumi.Input<inputs.ServiceStage.ComponentSourceProperties>;
        /**
         * Specifies the namespace name.
         */
        repoNamespace?: pulumi.Input<string>;
        /**
         * Specifies the name of the branch of the code repository.
         * The default value is `master`.
         */
        repoRef?: pulumi.Input<string>;
        /**
         * Specifies the storage type, such as **obs**, **swr**.
         * This parameter is conflict with `repoRef` and `repoNamespace`.
         */
        storageType?: pulumi.Input<string>;
        /**
         * Specifies the type of repository source or storage.
         * The valid values are **GitHub**, **GitLab**, **Gitee**, **Bitbucket** and **package**.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the URL of the repository or package storage.
         */
        url: pulumi.Input<string>;
    }
    interface ComponentSourceProperties {
        /**
         * Specifies the bucket name of obs.
         */
        bucket?: pulumi.Input<string>;
        /**
         * Specifies the endpoint of obs.
         */
        endpoint?: pulumi.Input<string>;
        /**
         * Specifies the key of obs.
         */
        key?: pulumi.Input<string>;
    }
    interface EnvironmentBasicResource {
        /**
         * Specifies the resource ID. For most resources, this parameter needs to fill in their **id**,
         * but for CCI namespace, this parameter needs to fill in **name**.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies the resource type.
         * + The type of basic resource supports **cce**, **cci**, **ecs** and **as**.
         * + The type of optional resource supports **elb**, **eip**, **rds**, **dcs** and **cse**.
         */
        type: pulumi.Input<string>;
    }
    interface EnvironmentOptionalResource {
        /**
         * Specifies the resource ID. For most resources, this parameter needs to fill in their **id**,
         * but for CCI namespace, this parameter needs to fill in **name**.
         */
        id: pulumi.Input<string>;
        /**
         * Specifies the resource type.
         * + The type of basic resource supports **cce**, **cci**, **ecs** and **as**.
         * + The type of optional resource supports **elb**, **eip**, **rds**, **dcs** and **cse**.
         */
        type: pulumi.Input<string>;
    }
}
export declare namespace Sfs {
    interface FileSystemAccessRule {
        /**
         * Specifies the access level of the shared file system. Possible values are *ro* (
         * read-only)
         * and *rw* (read-write). The default value is *rw* (read/write). Changing this will create a new access rule.
         */
        accessLevel?: pulumi.Input<string>;
        /**
         * The UUID of the share access rule.
         */
        accessRuleId?: pulumi.Input<string>;
        /**
         * Specifies the value that defines the access rule. The value contains 1 to 255
         * characters. Changing this will create a new access rule. The value varies according to the scenario:
         * + Set the VPC ID in VPC authorization scenarios.
         * + Set this parameter in IP address authorization scenario:
         * - For an NFS shared file system, the value in the format of *VPC_ID#IP_address#priority#user_permission*.
         * For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#100#all_squash,root_squash.
         * - For a CIFS shared file system, the value in the format of *VPC_ID#IP_address#priority*.
         * For example, 0157b53f-4974-4e80-91c9-098532bcaf00#2.2.2.2/16#0.
         */
        accessTo?: pulumi.Input<string>;
        /**
         * Specifies the type of the share access rule. The default value is *cert*. Changing
         * this will create a new access rule.
         */
        accessType?: pulumi.Input<string>;
        /**
         * The status of the share access rule.
         */
        status?: pulumi.Input<string>;
    }
}
export declare namespace SharedApig {
    interface ApiBackendParameter {
        /**
         * Specifies the description of the parameter. The description cannot exceed 255
         * characters.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the parameter location, which can be 'PATH', 'QUERY' or 'HEADER'.
         */
        location: pulumi.Input<string>;
        /**
         * Specifies the parameter name. A parameter name consists of 1–32 characters, starting with
         * a letter. Only letters, digits, periods (.), hyphens (-), and underscores (_) are allowed.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the parameter type, which can be 'REQUEST', 'CONSTANT', or 'SYSTEM'.
         */
        type?: pulumi.Input<string>;
        /**
         * Specifies the parameter value, which is a string of not more than 255 characters. The
         * value varies depending on the parameter type:
         * + 'REQUEST': parameter name in `requestParameter`
         * + 'CONSTANT': real value of the parameter
         * + 'SYSTEM': gateway parameter name
         */
        value: pulumi.Input<string>;
    }
    interface ApiFunctionBackend {
        /**
         * Specifies the function URN.
         */
        functionUrn: pulumi.Input<string>;
        /**
         * Specifies the invocation mode, which can be 'async' or 'sync'.
         */
        invocationType: pulumi.Input<string>;
        /**
         * Timeout duration (in ms) for API Gateway to request for FunctionGraph. Defaults to 50000.
         */
        timeout?: pulumi.Input<number>;
        /**
         * Specifies the function version.
         */
        version: pulumi.Input<string>;
    }
    interface ApiHttpBackend {
        /**
         * Specifies the backend request method, including 'GET','POST','PUT' and etc..
         */
        method: pulumi.Input<string>;
        /**
         * Specifies the backend request protocol. The value can be 'HTTP' and 'HTTPS'.
         */
        protocol: pulumi.Input<string>;
        /**
         * Timeout duration (in ms) for API Gateway to request for the backend service. Defaults to
         * 50000.
         */
        timeout?: pulumi.Input<number>;
        /**
         * Specifies the backend request path. The value must comply with URI specifications.
         */
        uri: pulumi.Input<string>;
        /**
         * Specifies the backend service address. An endpoint URL is in the format of
         * "domain name (or IP address):port number", with up to 255 characters. This parameter and `vpcChannel` are
         * alternative.
         */
        urlDomain?: pulumi.Input<string>;
        /**
         * Specifies the VPC channel ID. This parameter and `urlDomain` are alternative.
         */
        vpcChannel?: pulumi.Input<string>;
    }
    interface ApiMockBackend {
        /**
         * Specifies the description of the Mock backend. The description cannot exceed 255
         * characters.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the return result.
         */
        resultContent?: pulumi.Input<string>;
        /**
         * Specifies the version of the Mock backend.
         */
        version?: pulumi.Input<string>;
    }
    interface ApiRequestParameter {
        /**
         * Specifies the default value when the parameter is optional.
         */
        default?: pulumi.Input<string>;
        /**
         * Specifies the description of the parameter. The description cannot exceed 255
         * characters.
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the input parameter location, which can be 'PATH', 'QUERY' or 'HEADER'.
         */
        location: pulumi.Input<string>;
        /**
         * Specifies the input parameter name. A parameter name consists of 1–32 characters, starting
         * with a letter. Only letters, digits, periods (.), hyphens (-), and underscores (_) are allowed.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies whether the parameter is mandatory or not.
         */
        required: pulumi.Input<boolean>;
        /**
         * Specifies the input parameter type, which can be 'STRING' or 'NUMBER'.
         */
        type: pulumi.Input<string>;
    }
}
export declare namespace Smn {
    interface SubscriptionExtension {
        /**
         * Specifies the client ID. This field is the tenant ID field in
         * the WeLink subscription and is obtained by the tenant from WeLink. This field is mandatory when `protocol`
         * is set to **welink**. Changing this parameter will create a new resource.
         */
        clientId?: pulumi.Input<string>;
        /**
         * Specifies the client secret. This field is the client secret
         * field obtained by the tenant from WeLink. This field is mandatory when `protocol` is set to **welink**.
         * Changing this parameter will create a new resource.
         */
        clientSecret?: pulumi.Input<string>;
        /**
         * Specifies the keyword. When `protocol` is set to **feishu**,
         * either `keyword` or `signSecret` must be specified. When you use `keywords` to configure a security policy
         * for the Lark or DingTalk chatbot on SMN, the keywords must have one of the keywords configured on the Lark
         * or DingTalk client. Changing this parameter will create a new resource.
         */
        keyword?: pulumi.Input<string>;
        /**
         * Specifies the key including signature. When `protocol` is set
         * to **feishu** or **dingding**, this field or `keyword` must be specified. The key configurations must be
         * the same as those on the Lark or DingTalk client. For example, if only key is configured on the Lark client,
         * enter the key field obtained from the Lark client. If only keyword is configured on the Lark client, skip this field.
         * Changing this parameter will create a new resource.
         */
        signSecret?: pulumi.Input<string>;
    }
    interface SubscriptionFilterPolicy {
        /**
         * The filter policy name.
         */
        name?: pulumi.Input<string>;
        /**
         * The string array for exact match.
         */
        stringEquals?: pulumi.Input<pulumi.Input<string>[]>;
    }
}
export declare namespace Sms {
    interface TaskTargetServerDisk {
        /**
         * Specifies the partition type. The value can be **NORMAL** and **OS**.
         * Changing this parameter will create a new resource.
         */
        deviceType: pulumi.Input<string>;
        /**
         * Specifies the disk index, e.g. "0".
         * Changing this parameter will create a new resource.
         */
        diskId?: pulumi.Input<string>;
        /**
         * Specifies the volume name. In Windows, it indicates the drive letter,
         * and in Linux, it indicates the device ID, e.g. "/dev/sda1".
         * Changing this parameter will create a new resource.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies an array of physical volume information.
         * The object is documented below. Changing this parameter will create a new resource.
         */
        physicalVolumes?: pulumi.Input<pulumi.Input<inputs.Sms.TaskTargetServerDiskPhysicalVolume>[]>;
        /**
         * Specifies the volume size in MB. Changing this parameter will create a new resource.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the used space in MB.
         * Changing this parameter will create a new resource.
         */
        usedSize?: pulumi.Input<number>;
    }
    interface TaskTargetServerDiskPhysicalVolume {
        /**
         * Specifies the partition type. The value can be **NORMAL** and **OS**.
         * Changing this parameter will create a new resource.
         */
        deviceType: pulumi.Input<string>;
        /**
         * Specifies the file system type, e.g. "ext4".
         * Changing this parameter will create a new resource.
         */
        fileSystem: pulumi.Input<string>;
        /**
         * Specifies the serial number of the volume.
         * Changing this parameter will create a new resource.
         */
        index: pulumi.Input<number>;
        /**
         * Specifies the mount point, e.g. "/".
         * Changing this parameter will create a new resource.
         */
        mountPoint: pulumi.Input<string>;
        /**
         * Specifies the volume name. In Windows, it indicates the drive letter,
         * and in Linux, it indicates the device ID, e.g. "/dev/sda1".
         * Changing this parameter will create a new resource.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the volume size in MB. Changing this parameter will create a new resource.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the used space in MB.
         * Changing this parameter will create a new resource.
         */
        usedSize?: pulumi.Input<number>;
        /**
         * Specifies the GUID of the volume.
         * Changing this parameter will create a new resource.
         */
        uuid?: pulumi.Input<string>;
    }
}
export declare namespace Swr {
    interface OrganizationPermissionsSelfPermission {
        /**
         * Specifies the permission of the existing HuaweiCloud user.
         * The values can be **Manage**, **Write** and **Read**.
         */
        permission?: pulumi.Input<string>;
        /**
         * Specifies the ID of the existing HuaweiCloud user.
         */
        userId?: pulumi.Input<string>;
        /**
         * Specifies the name of the existing HuaweiCloud user.
         */
        userName?: pulumi.Input<string>;
    }
    interface OrganizationPermissionsUser {
        /**
         * Specifies the permission of the existing HuaweiCloud user.
         * The values can be **Manage**, **Write** and **Read**.
         */
        permission: pulumi.Input<string>;
        /**
         * Specifies the ID of the existing HuaweiCloud user.
         */
        userId: pulumi.Input<string>;
        /**
         * Specifies the name of the existing HuaweiCloud user.
         */
        userName?: pulumi.Input<string>;
    }
}
export declare namespace Tms {
    interface TagsTag {
        /**
         * Specifies the tag key. The value can contain up to `36` characters. Only English letters,
         * Chinese characters, digits, hyphens (-) and underscores (_) are allowed.
         */
        key: pulumi.Input<string>;
        /**
         * Specifies the tag value. The value can contain up to `43` characters. Only English letters,
         * Chinese characters, digits, periods (.), hyphens (-) and underscores (_) are allowed.
         */
        value: pulumi.Input<string>;
    }
}
export declare namespace Vod {
    interface MediaAssetThumbnail {
        /**
         * Specifies the screenshot aspect ratio. The value can be:
         * + **0**: adaptive (maintain the original aspect ratio).
         * + **1**: 16:9.
         */
        aspectRatio?: pulumi.Input<number>;
        /**
         * Specifies the number of screenshots as the cover. Defaults to `1`.
         * Changing this creates a new resource.
         */
        coverPosition?: pulumi.Input<number>;
        /**
         * Specifies an array of time points of screenshot. Required when `type` is **dots**.
         * Changing this creates a new resource.
         */
        dots?: pulumi.Input<pulumi.Input<number>[]>;
        /**
         * Specifies the screenshot file format. Currently, only `1` (jpg) is supported.
         * Defaults to: `1`. Changing this creates a new resource.
         */
        format?: pulumi.Input<number>;
        /**
         * Specifies the size of the longest side of the screenshot. Unit: pixel.
         * The width dimension is calculated by scaling the dimension proportional to the original video pixels.
         * Changing this creates a new resource.
         */
        maxLength?: pulumi.Input<number>;
        /**
         * Specifies the screenshot time interval (unit: second). The value range is `1` to `12`.
         * Required when `type` is **time**. Changing this creates a new resource.
         */
        time?: pulumi.Input<number>;
        /**
         * Specifies the screenshot type. Valid values are: **time** and **dots**.
         * Changing this creates a new resource.
         */
        type: pulumi.Input<string>;
    }
    interface TranscodingTemplateGroupQualityInfo {
        /**
         * Specifies the audio configurations.
         * The object structure is documented below.
         */
        audio?: pulumi.Input<inputs.Vod.TranscodingTemplateGroupQualityInfoAudio>;
        /**
         * Specifies the output format. The value can be: **HLS**, **MP4**, **DASH**,
         * **DASH_HLS**, **MP3** and **ADTS**.
         */
        outputFormat: pulumi.Input<string>;
        /**
         * Specifies the video configurations.
         * The object structure is documented below.
         */
        video?: pulumi.Input<inputs.Vod.TranscodingTemplateGroupQualityInfoVideo>;
    }
    interface TranscodingTemplateGroupQualityInfoAudio {
        /**
         * Specifies the audio bitrate. The value can be `0` or range from
         * `8` to `1,000`. Defaults to `0`. If set to `0`, the output audio will be produced at the recommended bitrate.
         */
        bitrate?: pulumi.Input<number>;
        /**
         * Specifies the audio channels. The value can be:
         * + **1**: Mono
         * + **2**: Stereo
         */
        channels: pulumi.Input<number>;
        /**
         * Specifies the audio sample rate. The value can be:
         * + **1**: AUTO
         * + **2**: 22,050 Hz
         * + **3**: 32,000 Hz
         * + **4**: 44,100 Hz
         * + **5**: 48,000 Hz
         * + **6**: 96,000 Hz
         */
        sampleRate: pulumi.Input<number>;
    }
    interface TranscodingTemplateGroupQualityInfoVideo {
        /**
         * Specifies the audio bitrate. The value can be `0` or range from
         * `8` to `1,000`. Defaults to `0`. If set to `0`, the output audio will be produced at the recommended bitrate.
         */
        bitrate?: pulumi.Input<number>;
        /**
         * Specifies the video frame rate. The value ranges from `1` to `75`.
         * Defaults to `1`. If set to `1`, the frame rate of the transcoded video is the same as that of the untransocded video.
         */
        frameRate?: pulumi.Input<number>;
        /**
         * Specifies the video height. The value can be `0` or range from `128` to `2,160`.
         * Defaults to `0`. If set to `0`, the system will automatically adjust the `height` according to the `width`.
         */
        height?: pulumi.Input<number>;
        /**
         * Specifies the video quality.
         * The value can be: **4K**, **2K**, **FHD**, **SD**, **LD** and **HD**.
         */
        quality: pulumi.Input<string>;
        /**
         * Specifies the video width. The value can be `0` or range from `128` to `3,840`.
         * Defaults to `0`. If set to `0`, the system will automatically adjust the `width` according to the `height`.
         */
        width?: pulumi.Input<number>;
    }
}
export declare namespace Vpc {
    interface AddressGroupIpExtraSet {
        /**
         * Specifies the IP address, IP address range, or CIDR block.
         */
        ip: pulumi.Input<string>;
        /**
         * Specifies the supplementary information about the IP address,
         * IP address range, or CIDR block.
         */
        remarks?: pulumi.Input<string>;
    }
    interface BandwidthPublicip {
        /**
         * The ID of the EIP or IPv6 port that uses the bandwidth.
         */
        id?: pulumi.Input<string>;
        /**
         * The IPv4 or IPv6 address.
         */
        ipAddress?: pulumi.Input<string>;
        /**
         * The IP version, either 4 or 6.
         */
        ipVersion?: pulumi.Input<number>;
        /**
         * The EIP type. Possible values are *5_bgp* (dynamic BGP) and *5_sbgp* (static BGP).
         */
        type?: pulumi.Input<string>;
    }
    interface EipBandwidth {
        /**
         * Specifies whether the bandwidth is billed by traffic or by bandwidth
         * size. The value can be **traffic** or **bandwidth**. If the `chargingMode` is **prePaid**, only **bandwidth** is valid.
         */
        chargeMode?: pulumi.Input<string>;
        /**
         * The shared bandwidth ID.
         * This parameter is mandatory when `shareType` is set to **WHOLE**. Changing this will create a new resource.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the bandwidth name.
         * The name can contain `1` to `64` characters, including letters, digits, underscores (_), hyphens (-), and periods (.).
         * This parameter is mandatory when `shareType` is set to **PER**.
         */
        name?: pulumi.Input<string>;
        /**
         * Specifies whether the bandwidth is dedicated or shared.
         * Changing this will create a new resource. Possible values are as follows:
         * + **PER**: Dedicated bandwidth
         * + **WHOLE**: Shared bandwidth
         */
        shareType: pulumi.Input<string>;
        /**
         * The bandwidth size.
         * The value ranges from `1` to `300` Mbit/s. This parameter is mandatory when `shareType` is set to **PER**.
         */
        size?: pulumi.Input<number>;
    }
    interface EipPublicip {
        /**
         * Specifies the EIP address to be assigned.
         * The value must be a valid **IPv4** address in the available IP address range.
         * The system automatically assigns an EIP if you do not specify it. Changing this will create a new resource.
         */
        ipAddress?: pulumi.Input<string>;
        /**
         * Specifies the IP version, either `4` (default) or `6`.
         */
        ipVersion?: pulumi.Input<number>;
        /**
         * The port ID which the EIP associated with.
         */
        portId?: pulumi.Input<string>;
        /**
         * Specifies the EIP type. Possible values are **5_bgp** (dynamic BGP)
         * and **5_sbgp** (static BGP), the default value is **5_bgp**. Changing this will create a new resource.
         */
        type?: pulumi.Input<string>;
    }
    interface NetworkAclAssociatedSubnet {
        /**
         * Specifies the ID of the subnet to associate with the network ACL.
         */
        subnetId: pulumi.Input<string>;
    }
    interface NetworkAclEgressRule {
        /**
         * Specifies the rule action. The value can be: **allow** and **deny**.
         */
        action: pulumi.Input<string>;
        /**
         * Specifies the network ACL rule description. The value can contain no more
         * than 255 characters. The value cannot contain angle brackets (< or >).
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the destination IP address or CIDR block of a network ACL rule.
         * The `destinationIpAddress` and `destinationAddressGroupId` cannot be configured at the same time.
         */
        destinationIpAddress?: pulumi.Input<string>;
        /**
         * Specifies the destination IP address group ID of a network ACL rule.
         * The `destinationIpAddress` and `destinationAddressGroupId` cannot be configured at the same time.
         */
        destinationIpAddressGroupId?: pulumi.Input<string>;
        /**
         * Specifies the destination ports of a network ACL rule.
         * You can specify a single port or a port range. Separate every two entries with a comma.
         */
        destinationPort?: pulumi.Input<string>;
        /**
         * Specifies the IP version of a network ACL rule.
         * The value can be **4** (IPv4) and **6** (IPv6).
         */
        ipVersion: pulumi.Input<number>;
        /**
         * Specifies the network ACL rule name. The value can contain no more than 64 characters,
         * including letters, digits, underscores (_), hyphens (-), and periods (.).
         */
        name?: pulumi.Input<string>;
        /**
         * Specifies the rule protocol The value can be **tcp**, **udp**, **icmp**, **icmpv6**,
         * or an IP protocol number (0–255). The value **any** indicates all protocols.
         */
        protocol: pulumi.Input<string>;
        /**
         * The ID of the rule.
         */
        ruleId?: pulumi.Input<string>;
        /**
         * Specifies the source IP address or CIDR block of a network ACL rule.
         * The `sourceIpAddress` and `sourceAddressGroupId` cannot be configured at the same time.
         */
        sourceIpAddress?: pulumi.Input<string>;
        /**
         * Specifies the source IP address group ID of a network ACL rule.
         * `sourceIpAddress` and `sourceAddressGroupId` cannot be configured at the same time.
         */
        sourceIpAddressGroupId?: pulumi.Input<string>;
        /**
         * Specifies the source ports of a network ACL rule.
         * You can specify a single port or a port range. Separate every two entries with a comma.
         */
        sourcePort?: pulumi.Input<string>;
    }
    interface NetworkAclIngressRule {
        /**
         * Specifies the rule action. The value can be: **allow** and **deny**.
         */
        action: pulumi.Input<string>;
        /**
         * Specifies the network ACL rule description. The value can contain no more
         * than 255 characters. The value cannot contain angle brackets (< or >).
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the destination IP address or CIDR block of a network ACL rule.
         * The `destinationIpAddress` and `destinationAddressGroupId` cannot be configured at the same time.
         */
        destinationIpAddress?: pulumi.Input<string>;
        /**
         * Specifies the destination IP address group ID of a network ACL rule.
         * The `destinationIpAddress` and `destinationAddressGroupId` cannot be configured at the same time.
         */
        destinationIpAddressGroupId?: pulumi.Input<string>;
        /**
         * Specifies the destination ports of a network ACL rule.
         * You can specify a single port or a port range. Separate every two entries with a comma.
         */
        destinationPort?: pulumi.Input<string>;
        /**
         * Specifies the IP version of a network ACL rule.
         * The value can be **4** (IPv4) and **6** (IPv6).
         */
        ipVersion: pulumi.Input<number>;
        /**
         * Specifies the network ACL rule name. The value can contain no more than 64 characters,
         * including letters, digits, underscores (_), hyphens (-), and periods (.).
         */
        name?: pulumi.Input<string>;
        /**
         * Specifies the rule protocol The value can be **tcp**, **udp**, **icmp**, **icmpv6**,
         * or an IP protocol number (0–255). The value **any** indicates all protocols.
         */
        protocol: pulumi.Input<string>;
        /**
         * The ID of the rule.
         */
        ruleId?: pulumi.Input<string>;
        /**
         * Specifies the source IP address or CIDR block of a network ACL rule.
         * The `sourceIpAddress` and `sourceAddressGroupId` cannot be configured at the same time.
         */
        sourceIpAddress?: pulumi.Input<string>;
        /**
         * Specifies the source IP address group ID of a network ACL rule.
         * `sourceIpAddress` and `sourceAddressGroupId` cannot be configured at the same time.
         */
        sourceIpAddressGroupId?: pulumi.Input<string>;
        /**
         * Specifies the source ports of a network ACL rule.
         * You can specify a single port or a port range. Separate every two entries with a comma.
         */
        sourcePort?: pulumi.Input<string>;
    }
    interface PortAllowedAddressPair {
        ipAddress: pulumi.Input<string>;
        macAddress?: pulumi.Input<string>;
    }
    interface PortExtraDhcpOption {
        ipVersion?: pulumi.Input<number>;
        name: pulumi.Input<string>;
        value: pulumi.Input<string>;
    }
    interface PortFixedIp {
        ipAddress?: pulumi.Input<string>;
        subnetId: pulumi.Input<string>;
    }
    interface RouteTableRoute {
        /**
         * Specifies the supplementary information about the route.
         * The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
         */
        description?: pulumi.Input<string>;
        /**
         * Specifies the destination address in the CIDR notation format,
         * for example, 192.168.200.0/24. The destination of each route must be unique and cannot overlap
         * with any subnet in the VPC.
         */
        destination: pulumi.Input<string>;
        /**
         * Specifies the next hop.
         * + If the route type is **ecs**, the value is an ECS instance ID in the VPC.
         * + If the route type is **eni**, the value is the extension NIC of an ECS in the VPC.
         * + If the route type is **vip**, the value is a virtual IP address.
         * + If the route type is **nat**, the value is a VPN gateway ID.
         * + If the route type is **peering**, the value is a VPC peering connection ID.
         * + If the route type is **vpn**, the value is a VPN gateway ID.
         * + If the route type is **dc**, the value is a Direct Connect gateway ID.
         * + If the route type is **cc**, the value is a Cloud Connection ID.
         * + If the route type is **egw**, the value is a VPCEP endpoint ID.
         * + If the route type is **er**, the value is a ER instance ID.
         */
        nexthop: pulumi.Input<string>;
        /**
         * Specifies the route type. Currently, the value can be:
         * **ecs**, **eni**, **vip**, **nat**, **peering**, **vpn**, **dc**, **cc**, **egw** and **er**.
         */
        type: pulumi.Input<string>;
    }
    interface SecgroupRule {
        /**
         * The effective policy.
         */
        action?: pulumi.Input<string>;
        /**
         * Specifies the description for the security group.
         */
        description?: pulumi.Input<string>;
        /**
         * The direction of the rule. The value can be *egress* or *ingress*.
         */
        direction?: pulumi.Input<string>;
        /**
         * The IP protocol version. The value can be *IPv4* or *IPv6*.
         */
        ethertype?: pulumi.Input<string>;
        /**
         * The security group rule ID.
         */
        id?: pulumi.Input<string>;
        portRangeMax?: pulumi.Input<number>;
        portRangeMin?: pulumi.Input<number>;
        /**
         * The port value range.
         */
        ports?: pulumi.Input<string>;
        /**
         * The priority number.
         */
        priority?: pulumi.Input<number>;
        /**
         * The protocol type.
         */
        protocol?: pulumi.Input<string>;
        /**
         * The ID of the remote address group.
         */
        remoteAddressGroupId?: pulumi.Input<string>;
        /**
         * The ID of the peer security group.
         */
        remoteGroupId?: pulumi.Input<string>;
        /**
         * The remote IP address. The value can be in the CIDR format or IP addresses.
         */
        remoteIpPrefix?: pulumi.Input<string>;
    }
    interface VpcRoute {
        destination?: pulumi.Input<string>;
        nexthop?: pulumi.Input<string>;
    }
}
export declare namespace Vpcep {
    interface ApprovalConnection {
        /**
         * The description of the VPC endpoint service connection.
         */
        description?: pulumi.Input<string>;
        /**
         * The user's domain ID.
         */
        domainId?: pulumi.Input<string>;
        /**
         * The unique ID of the VPC endpoint.
         */
        endpointId?: pulumi.Input<string>;
        /**
         * The packet ID of the VPC endpoint.
         */
        packetId?: pulumi.Input<number>;
        /**
         * The connection status of the VPC endpoint.
         */
        status?: pulumi.Input<string>;
    }
    interface ServiceConnection {
        /**
         * Specifies the description of the VPC endpoint service.
         */
        description?: pulumi.Input<string>;
        /**
         * The user's domain ID.
         */
        domainId?: pulumi.Input<string>;
        /**
         * The unique ID of the VPC endpoint.
         */
        endpointId?: pulumi.Input<string>;
        /**
         * The packet ID of the VPC endpoint.
         */
        packetId?: pulumi.Input<number>;
        /**
         * The connection status of the VPC endpoint.
         */
        status?: pulumi.Input<string>;
    }
    interface ServicePortMapping {
        /**
         * Specifies the protocol used in port mappings. Only **TCP** is supported.
         */
        protocol?: pulumi.Input<string>;
        /**
         * Specifies the port for accessing the VPC endpoint service. This port is provided by
         * the backend service to provide services. The value ranges from `1` to `65,535`.
         */
        servicePort?: pulumi.Input<number>;
        /**
         * Specifies the port for accessing the VPC endpoint. This port is provided by the VPC
         * endpoint, allowing you to access the VPC endpoint service. The value ranges from `1` to `65,535`.
         */
        terminalPort?: pulumi.Input<number>;
    }
}
export declare namespace Waf {
    interface DedicatedDomainConnectionProtection {
        /**
         * Specifies the protection duration (s) for connection protection. During this period, WAF
         * stops forwarding website requests. Valid value ranges from `0` to `2,147,483,647`.
         */
        duration?: pulumi.Input<number>;
        /**
         * Specifies the `502`/`504` error percentage. A breakdown protection is triggered
         * when the `502`/`504` error threshold and percentage threshold have been reached. Valid value ranges from `0` to `99`.
         */
        errorPercentage?: pulumi.Input<number>;
        /**
         * Specifies the `502`/`504` error threshold for every 30 seconds. Valid value ranges
         * from `0` to `2,147,483,647`.
         */
        errorThreshold?: pulumi.Input<number>;
        /**
         * Specifies the breakdown duration (s) when the breakdown is triggered for the first
         * time. Valid value ranges from `0` to `2,147,483,647`.
         */
        initialDowntime?: pulumi.Input<number>;
        /**
         * Specifies the maximum multiplier for consecutive breakdowns
         * that occur within an hour. Valid value ranges from `0` to `2,147,483,647`.
         * For example: Assume that you set the initial downtime to `180s` and the maximum multiplier to `3`. If the breakdown
         * protection is triggered for the second time, the website downtime is 360s (180s X 2).
         * If the breakdown protection is triggered for the third or fourth time, the website downtime is 540s (180s x 3).
         * The breakdowns are calculated every one hour.
         */
        multiplierForConsecutiveBreakdowns?: pulumi.Input<number>;
        /**
         * Specifies the pending URL request threshold. Connection protection
         * is triggered when the number of read URL requests reaches the threshold you configure. Valid value ranges from `0` to
         * `2,147,483,647`.
         */
        pendingUrlRequestThreshold?: pulumi.Input<number>;
        /**
         * Specifies whether to enable connection protection. Defaults to **false**.
         */
        status?: pulumi.Input<boolean>;
    }
    interface DedicatedDomainCustomPage {
        /**
         * Specifies the content type of the custom alarm page.
         * The value can be **text/html**, **text/xml** or **application/json**.
         */
        blockPageType: pulumi.Input<string>;
        /**
         * Specifies the HTTP return code.
         * The value can be a positive integer in the range of `200`-`599` except `408`, `444` and `499`.
         */
        httpReturnCode: pulumi.Input<string>;
        /**
         * Specifies the page content. The page content based on the selected page type.
         * The available **${waf_event_id}** in the page content indicates an event ID, and only one **${waf_event_id}** variable
         * can be available.
         */
        pageContent: pulumi.Input<string>;
    }
    interface DedicatedDomainServer {
        /**
         * Specifies the IP address or domain name of the web server accessed by the
         * client. For example, `192.168.1.1` or `www.example.com`. Changing this creates a new service.
         */
        address: pulumi.Input<string>;
        /**
         * Specifies the protocol type of the client. The options include **HTTP**
         * and **HTTPS**. Changing this creates a new service.
         */
        clientProtocol: pulumi.Input<string>;
        /**
         * Specifies the port number used by the web server. The value ranges from `0` to
         * `65,535`. Changing this creates a new service.
         */
        port: pulumi.Input<number>;
        /**
         * Specifies the protocol used by WAF to forward client requests to the
         * server. The valid values are **HTTP** and **HTTPS**. Changing this creates a new service.
         */
        serverProtocol: pulumi.Input<string>;
        /**
         * Specifies the server network type, IPv4 or IPv6.
         * Valid values are **ipv4** and **ipv6**. Changing this creates a new service.
         */
        type: pulumi.Input<string>;
        /**
         * Specifies the ID of the VPC used by the server. Changing this creates a service.
         */
        vpcId: pulumi.Input<string>;
    }
    interface DedicatedDomainTimeoutSettings {
        /**
         * Specifies the timeout for WAF to connect to the origin server. The unit is second.
         * Valid value ranges from `0` to `180`.
         */
        connectionTimeout?: pulumi.Input<number>;
        /**
         * Specifies the timeout for WAF to receive responses from the origin server.
         * The unit is second. Valid value ranges from `0` to `3,600`.
         */
        readTimeout?: pulumi.Input<number>;
        /**
         * Specifies the timeout for WAF to send requests to the origin server. The unit is second.
         * Valid value ranges from `0` to `3,600`.
         */
        writeTimeout?: pulumi.Input<number>;
    }
    interface DedicatedDomainTrafficMark {
        /**
         * Specifies the IP tags. HTTP request header field of the original client IP address.
         * This field is used to store the real IP address of the client. After the configuration, WAF preferentially reads the
         * configured field to obtain the real IP address of the client. If multiple fields are configured, WAF reads the IP
         * address list in order. Note:
         * + If you want to use a TCP connection IP address as the client IP address, set IP Tag to `$remote_addr`.
         * + If WAF does not obtain the real IP address of a client from fields you configure, WAF reads the `cdn-src-ip`,
         * `x-real-ip`, `x-forwarded-for` and `$remote_addr` fields in sequence to read the client IP address.
         */
        ipTags?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the session tag. This tag is used by known attack source rules to block
         * malicious attacks based on cookie attributes. This parameter must be configured in known attack source rules to block
         * requests based on cookie attributes.
         */
        sessionTag?: pulumi.Input<string>;
        /**
         * Specifies the user tag. This tag is used by known attack source rules to block malicious
         * attacks based on params attributes. This parameter must be configured to block requests based on the params attributes.
         */
        userTag?: pulumi.Input<string>;
    }
    interface DomainCustomPage {
        /**
         * Specifies the content type of the custom alarm page.
         * The value can be **text/html**, **text/xml** or **application/json**.
         */
        blockPageType: pulumi.Input<string>;
        /**
         * Specifies the HTTP return code.
         * The value can be a positive integer in the range of `200` to `599` except `408`, `444` and `499`.
         */
        httpReturnCode: pulumi.Input<string>;
        /**
         * Specifies the page content. The page content based on the selected page type.
         * The available **${waf_event_id}** in the page content indicates an event ID, and only one **${waf_event_id}** variable
         * can be available.
         */
        pageContent: pulumi.Input<string>;
    }
    interface DomainServer {
        /**
         * Specifies the IP address or domain name of the web server that the client accesses.
         */
        address: pulumi.Input<string>;
        /**
         * Specifies the protocol type of the client. The options include **HTTP** and **HTTPS**.
         */
        clientProtocol: pulumi.Input<string>;
        /**
         * Specifies the port number used by the web server. The value ranges from `0` to `65,535`,
         * for example, `8,080`.
         */
        port: pulumi.Input<number>;
        /**
         * Specifies the protocol used by WAF to forward client requests to the server.
         * The options include **HTTP** and **HTTPS**.
         */
        serverProtocol: pulumi.Input<string>;
        /**
         * Specifies the server network type. Valid values are: **ipv4** and **ipv6**.
         * + When this field is set to **ipv4**, `address` must be set to an IPv4 address.
         * + When this field is set to **ipv6**, `address` must be set to an IPv6 address.
         */
        type?: pulumi.Input<string>;
        /**
         * Specifies the load balancing algorithm will assign requests to the origin
         * site according to this weight.
         * Defaults to `1`.
         */
        weight?: pulumi.Input<number>;
    }
    interface DomainTimeoutSettings {
        /**
         * Specifies the timeout for WAF to connect to the origin server. The unit is second.
         * Valid value ranges from `0` to `180`.
         */
        connectionTimeout?: pulumi.Input<number>;
        /**
         * Specifies the timeout for WAF to receive responses from the origin server.
         * The unit is second. Valid value ranges from `0` to `3,600`.
         */
        readTimeout?: pulumi.Input<number>;
        /**
         * Specifies the timeout for WAF to send requests to the origin server. The unit is second.
         * Valid value ranges from `0` to `3,600`.
         */
        writeTimeout?: pulumi.Input<number>;
    }
    interface DomainTrafficMark {
        /**
         * Specifies the IP tags. HTTP request header field of the original client IP address.
         * This field is used to store the real IP address of the client. After the configuration, WAF preferentially reads the
         * configured field to obtain the real IP address of the client. If multiple fields are configured, WAF reads the IP
         * address list in order. Note:
         * + If you want to use a TCP connection IP address as the client IP address, set IP Tag to **$remote_addr**.
         * + If WAF does not obtain the real IP address of a client from fields you configure, WAF reads the **cdn-src-ip**,
         * **x-real-ip**, **x-forwarded-for** and **$remote_addr** fields in sequence to read the client IP address.
         * + When the website setting `proxy` is configured as **false**, this field does not take effect,
         * and the client IP is only obtained through the `$remote_addr` field.
         */
        ipTags?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the session tag. This tag is used by known attack source rules to block
         * malicious attacks based on cookie attributes. This parameter must be configured in known attack source rules to block
         * requests based on cookie attributes.
         */
        sessionTag?: pulumi.Input<string>;
        /**
         * Specifies the user tag. This tag is used by known attack source rules to block malicious
         * attacks based on params attributes. This parameter must be configured to block requests based on the params attributes.
         */
        userTag?: pulumi.Input<string>;
    }
    interface PolicyBindHost {
        /**
         * The domain name.
         */
        hostname?: pulumi.Input<string>;
        /**
         * The domain name ID.
         */
        id?: pulumi.Input<string>;
        /**
         * The special domain name mode. This attribute is only valid for dedicated mode.
         */
        mode?: pulumi.Input<string>;
        /**
         * The deployment mode of WAF instance that is used for the domain name. The value can be **cloud** for
         * cloud WAF or **premium** for dedicated WAF instances.
         */
        wafType?: pulumi.Input<string>;
    }
    interface PolicyOption {
        /**
         * Specifies whether the javascript anti-crawler is enabled. Defaults to **false**.
         */
        antiCrawler?: pulumi.Input<boolean>;
        /**
         * Specifies whether basic web protection is enabled. Defaults to **false**.
         */
        basicWebProtection?: pulumi.Input<boolean>;
        /**
         * Specifies whether the blacklist and whitelist protection is enabled.
         * Defaults to **false**.
         */
        blacklist?: pulumi.Input<boolean>;
        /**
         * Specifies whether the anti-crawler protection is enabled. Defaults to **false**.
         */
        botEnable?: pulumi.Input<boolean>;
        /**
         * Specifies whether the cc attack protection rules are enabled.
         * Defaults to **false**.
         */
        ccAttackProtection?: pulumi.Input<boolean>;
        crawler?: pulumi.Input<boolean>;
        /**
         * Specifies whether the search engine is enabled. Defaults to **false**.
         */
        crawlerEngine?: pulumi.Input<boolean>;
        /**
         * Specifies whether other crawler check is enabled. Defaults to **false**.
         */
        crawlerOther?: pulumi.Input<boolean>;
        /**
         * Specifies whether the anti-crawler detection is enabled. Defaults to **false**.
         */
        crawlerScanner?: pulumi.Input<boolean>;
        /**
         * Specifies whether the script tool is enabled. Defaults to **false**.
         */
        crawlerScript?: pulumi.Input<boolean>;
        /**
         * Specifies whether data masking is enabled. Defaults to **false**.
         */
        dataMasking?: pulumi.Input<boolean>;
        /**
         * Specifies whether false alarm masking is enabled. Defaults to **false**.
         */
        falseAlarmMasking?: pulumi.Input<boolean>;
        /**
         * Specifies whether the general check in basic web protection is enabled.
         * Defaults to **false**.
         */
        generalCheck?: pulumi.Input<boolean>;
        /**
         * Specifies whether the geolocation access control is enabled.
         * Defaults to **false**.
         */
        geolocationAccessControl?: pulumi.Input<boolean>;
        /**
         * Specifies whether the information leakage prevention is enabled.
         * Defaults to **false**.
         */
        informationLeakagePrevention?: pulumi.Input<boolean>;
        /**
         * Specifies whether the known attack source is enabled. Defaults to **false**.
         */
        knownAttackSource?: pulumi.Input<boolean>;
        /**
         * Specifies whether the precise protection is enabled. Defaults to **false**.
         */
        preciseProtection?: pulumi.Input<boolean>;
        /**
         * Specifies whether the web tamper protection is enabled.
         * Defaults to **false**.
         */
        webTamperProtection?: pulumi.Input<boolean>;
        /**
         * Specifies whether the web shell detection in basic web protection is enabled.
         * Defaults to **false**.
         */
        webshell?: pulumi.Input<boolean>;
    }
}
export declare namespace Workspace {
    interface DesktopDataVolume {
        /**
         * The time that the volume was created.
         */
        createdAt?: pulumi.Input<string>;
        /**
         * The device location to which the volume is attached.
         */
        device?: pulumi.Input<string>;
        /**
         * The volume ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the desktop name.
         * The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed.
         * The name must start with a letter or digit and cannot end with a hyphen.
         * Changing this will create a new resource.
         */
        name?: pulumi.Input<string>;
        /**
         * Specifies the size of system volume, in GB.
         * + For root volume, the valid value is range from `80` to `1,020`.
         * + For data volume, the valid value is range from `10` to `8,200`.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the type of system volume.
         * The valid values are as follows:
         * + **SAS**: High I/O disk type.
         * + **SSD**: Ultra-high I/O disk type.
         */
        type: pulumi.Input<string>;
    }
    interface DesktopNic {
        /**
         * Specifies the network ID of subnet resource.
         */
        networkId: pulumi.Input<string>;
    }
    interface DesktopRootVolume {
        /**
         * The time that the volume was created.
         */
        createdAt?: pulumi.Input<string>;
        /**
         * The device location to which the volume is attached.
         */
        device?: pulumi.Input<string>;
        /**
         * The volume ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the desktop name.
         * The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed.
         * The name must start with a letter or digit and cannot end with a hyphen.
         * Changing this will create a new resource.
         */
        name?: pulumi.Input<string>;
        /**
         * Specifies the size of system volume, in GB.
         * + For root volume, the valid value is range from `80` to `1,020`.
         * + For data volume, the valid value is range from `10` to `8,200`.
         */
        size: pulumi.Input<number>;
        /**
         * Specifies the type of system volume.
         * The valid values are as follows:
         * + **SAS**: High I/O disk type.
         * + **SSD**: Ultra-high I/O disk type.
         */
        type: pulumi.Input<string>;
    }
    interface ServiceAdDomain {
        /**
         * Specifies the primary DNS IP address.
         */
        activeDnsIp?: pulumi.Input<string>;
        /**
         * Specifies the IP address of primary domain controller.
         */
        activeDomainIp: pulumi.Input<string>;
        /**
         * Specifies the name of primary domain controller.
         */
        activeDomainName: pulumi.Input<string>;
        /**
         * Specifies the domain administrator account.
         * It must be an existing domain administrator account on the AD server.
         */
        adminAccount: pulumi.Input<string>;
        /**
         * Specifies whether to delete the corresponding computer object on AD
         * while deleting the desktop.
         */
        deleteComputerObject?: pulumi.Input<boolean>;
        /**
         * Specifies the domain name.
         * The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.
         */
        name: pulumi.Input<string>;
        /**
         * Specifies the account password of domain administrator.
         */
        password: pulumi.Input<string>;
        /**
         * Specifies the standby DNS IP address.
         */
        standbyDnsIp?: pulumi.Input<string>;
        /**
         * Specifies the IP address of the standby domain controller.
         */
        standbyDomainIp?: pulumi.Input<string>;
        /**
         * Specifies the name of the standby domain controller.
         */
        standbyDomainName?: pulumi.Input<string>;
    }
    interface ServiceDesktopSecurityGroup {
        /**
         * Security group ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the domain name.
         * The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.
         */
        name?: pulumi.Input<string>;
    }
    interface ServiceInfrastructureSecurityGroup {
        /**
         * Security group ID.
         */
        id?: pulumi.Input<string>;
        /**
         * Specifies the domain name.
         * The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.
         */
        name?: pulumi.Input<string>;
    }
    interface ServiceOtpConfigInfo {
        /**
         * Specifies the auxiliary authentication server access account.
         */
        appId?: pulumi.Input<string>;
        /**
         * Specifies the authentication service access password.
         */
        appSecret?: pulumi.Input<string>;
        /**
         * Specifies the authentication service access mode.
         * + **INTERNET**: Indicates internet access.
         * + **DEDICATED**: Indicates dedicated access.
         * + **SYSTEM_DEFAULT**: Indicates system default.
         */
        authServerAccessMode?: pulumi.Input<string>;
        /**
         * Specifies the auxiliary authentication server address.
         */
        authUrl?: pulumi.Input<string>;
        /**
         * Specifies the PEM format certificate content.
         */
        certContent?: pulumi.Input<string>;
        /**
         * Specifies whether to enable auxiliary authentication.
         */
        enable: pulumi.Input<boolean>;
        /**
         * Specifies the verification code receiving mode.
         * + **VMFA**: Indicates virtual MFA device.
         * + **HMFA**: Indicates hardware MFA device.
         */
        receiveMode: pulumi.Input<string>;
        /**
         * Specifies authentication application object.
         * + **INTERNET**: Indicates Internet access. Optional only when ruleType is **ACCESS_MODE**.
         * + **PRIVATE**: Indicates dedicated line access. Optional only when ruleType is **ACCESS_MODE**.
         */
        rule?: pulumi.Input<string>;
        /**
         * Specifies authentication application object type.
         * + **ACCESS_MODE**: Indicates access type.
         */
        ruleType?: pulumi.Input<string>;
    }
}
export declare namespace config {
}
