UNPKG

@huaweicloudos/pulumi

Version:

A Pulumi package for creating and managing Huaweicloud cloud resources.

1,190 lines 558 kB
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 su