@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
1,190 lines • 558 kB
TypeScript
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, **/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