@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
1,394 lines • 829 kB
TypeScript
import { output as outputs } from "../types";
export declare namespace Aom {
interface AlarmRuleDimension {
/**
* Specifies the dimension name. Changing this creates a new resource.
*/
name: string;
/**
* Specifies the dimension value. Changing this creates a new resource.
*/
value: string;
}
interface ServiceDiscoveryRuleDiscoveryRule {
/**
* Specifies the matched value. This is a list of strings.
*/
checkContents: string[];
/**
* Specifies the match condition. The values can be **contain** and **equals**.
*/
checkMode: string;
/**
* Specifies the match type. The values can be **cmdLine**, **env** and **scope**.
*/
checkType: string;
}
interface ServiceDiscoveryRuleLogPathRule {
/**
* Specifies the input value.
*/
args: string[];
/**
* Specifies the value type. The value can be **cmdLineHash**, **cmdLine**, **env**
* and **str**.
*/
nameType: string;
/**
* Specifies the application name, which is mandatory only when the value of `nameType` is
* **cmdLineHash**.
*/
values: 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: outputs.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: outputs.Aom.ServiceDiscoveryRuleNameRulesServiceNameRule[];
}
interface ServiceDiscoveryRuleNameRulesApplicationNameRule {
/**
* Specifies the input value.
*/
args: string[];
/**
* Specifies the value type. The value can be **cmdLineHash**, **cmdLine**, **env**
* and **str**.
*/
nameType: string;
/**
* Specifies the application name, which is mandatory only when the value of `nameType` is
* **cmdLineHash**.
*/
values?: string[];
}
interface ServiceDiscoveryRuleNameRulesServiceNameRule {
/**
* Specifies the input value.
*/
args: string[];
/**
* Specifies the value type. The value can be **cmdLineHash**, **cmdLine**, **env**
* and **str**.
*/
nameType: string;
/**
* Specifies the application name, which is mandatory only when the value of `nameType` is
* **cmdLineHash**.
*/
values?: 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: number;
/**
* Specifies the lower limit of the value range.
* The value is null by default. The minimum lower limit allowed is `-1.174271E108`.
*/
lowerBound: 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: string;
/**
* Specifies the operation size, unit is Mbit/s.
* The valid values from `1` to `300`, the default value is `1`.
*/
size: number;
/**
* Specifies the upper limit of the value range.
* The value is null by default. The maximum upper limit allowed is `1.174271E108`.
*/
upperBound: string;
}
interface BandwidthPolicyMetaData {
/**
* The bandwidth sharing type in the bandwidth policy.
*/
metadataBandwidthShareType: string;
/**
* The EIP IP address for the bandwidth in the bandwidth policy.
*/
metadataEipAddress: string;
/**
* The EIP ID for the bandwidth in the bandwidth policy.
*/
metadataEipId: 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: 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: string;
/**
* Specifies the operation size, unit is Mbit/s.
* The valid values from `1` to `300`, the default value is `1`.
*/
size: 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: 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: 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: 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: 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: 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?: 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?: string;
/**
* Specifies the ID of the DEH.
* Changing this will create a new resource.
*/
dedicatedHostId: 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: outputs.As.ConfigurationInstanceConfigDisk[];
/**
* Specifies the ECS group ID. Changing this will create a new resource.
*/
ecsGroupId: 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: 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: string;
/**
* Specifies the ECS image ID. Changing this will create a new resource.
*/
image: 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: string;
/**
* The fingerprint of the SSH key pair used to log in to the instance.
*/
keyFingerprint: string;
/**
* Specifies the name of the SSH key pair used to log in to the instance.
* Changing this will create a new resource.
*/
keyName: string;
/**
* Specifies the key/value pairs to make available from within the instance.
* Changing this will create a new resource.
*/
metadata?: {
[key: string]: 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: outputs.As.ConfigurationInstanceConfigPersonality[];
/**
* Specifies the EIP of the ECS instance.
* The publicIp structure is documented below.
* Changing this will create a new resource.
*/
publicIp: outputs.As.ConfigurationInstanceConfigPublicIp;
/**
* Specifies an array of one or more security group IDs.
* Changing this will create a new resource.
*/
securityGroupIds: 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: 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?: string;
}
interface ConfigurationInstanceConfigDisk {
/**
* Specifies the ID of a data disk image used to export data disks of
* an ECS.
*/
dataDiskImageId: string;
/**
* Specifies a DSS device ID for creating an ECS disk.
*/
dedicatedStorageId: 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: string;
/**
* Specifies the IOPS configured for an EVS disk.
* Changing this will create a new resource.
*/
iops: number;
/**
* Specifies the encryption KMS ID of the **DATA** disk.
* Changing this will create a new resource.
*/
kmsId: 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: 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: string;
/**
* Specifies the throughput of an EVS disk. The unit is MiB/s.
* Changing this will create a new resource.
*/
throughput: 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: string;
}
interface ConfigurationInstanceConfigPersonality {
/**
* Specifies the content of the injected file, which must be encoded with base64.
* Changing this creates a new resource.
*/
content: 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: 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: outputs.As.ConfigurationInstanceConfigPublicIpEip;
}
interface ConfigurationInstanceConfigPublicIpEip {
/**
* Specifies the bandwidth information. The object structure is documented below.
* Changing this will create a new resource.
*/
bandwidth: outputs.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: 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: string;
/**
* Specifies the ID of the shared bandwidth.
* Changing this will create a new resource.
*/
id: 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: 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: number;
}
interface GroupLbaasListener {
/**
* The ID of the listener assocaite with the ELB.
*/
listenerId: string;
/**
* Specifies the backend ECS group ID.
*/
poolId: 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: 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: 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?: number;
}
interface GroupNetwork {
/**
* Specifies the ID of the security group.
*/
id: string;
/**
* Specifies the ID of the shared bandwidth of an IPv6 address.
*/
ipv6BandwidthId?: string;
/**
* Specifies whether to support IPv6 addresses. Defaults to **false**.
*/
ipv6Enable?: boolean;
/**
* Specifies whether process only traffic that is destined specifically
* for it. Defaults to **true**.
*/
sourceDestCheck?: boolean;
}
interface GroupSecurityGroup {
/**
* Specifies the ID of the security group.
*/
id: string;
}
interface PolicyScalingPolicyAction {
/**
* Specifies the number of instances to be operated.
*/
instanceNumber: number;
/**
* Specifies the percentage of instances to be operated.
*/
instancePercentage?: number;
/**
* Specifies the operation to be performed. The options include `ADD` (default), `REMOVE`,
* and `SET`.
*/
operation: 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: 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: string;
/**
* Specifies the periodic triggering type. This argument is mandatory when
* `scalingPolicyType` is set to `RECURRENCE`. The options include `Daily`, `Weekly`, and `Monthly`.
*/
recurrenceType: string;
/**
* Specifies the frequency at which scaling actions are triggered.
*/
recurrenceValue: 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: 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?: number;
/**
* Specifies the block generation time, the unit is second. The default
* value is 2. Changing this creates a new instance.
*/
generationInterval?: number;
/**
* Specifies the number of transactions included in the block. The
* default value is 500. Changing this creates a new instance.
*/
transactionQuantity?: number;
}
interface InstanceChannel {
/**
* Specifies the name of the channel. Changing this creates a new instance.
*/
name: string;
/**
* Specifies the name of the peer organization. Changing this creates a new
* instance.
*/
orgNames: 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: string;
/**
* Specifies the user name of the couch database. Changing this creates a new
* instance.
*/
userName: 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: 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: string;
/**
* Specifies the name of the channel. Changing this creates a new instance.
*/
name: 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: number;
}
interface InstancePeerOrg {
addresses: outputs.Bcs.InstancePeerOrgAddress[];
/**
* Specifies the number of peers in organization. Changing this creates a new
* instance.
*/
count: number;
/**
* Specifies the name of the peer organization. Changing this creates a new
* instance.
*/
orgName: string;
pvcName: string;
/**
* The status of the BCS instance.
*/
status: string;
statusDetail: string;
}
interface InstancePeerOrgAddress {
domainPort: string;
ipPort: 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?: 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?: string;
/**
* Specifies the share type of the SFS turbo. Changing this creates a new
* instance.
*/
shareType: string;
/**
* Specifies the type of SFS turbo. Changing this creates a new instance.
*/
type?: string;
}
}
export declare namespace Bms {
interface GetFlavorsFlavor {
/**
* Specifies the CPU architecture of the BMS flavor.
* The value can be x8664 and aarch64, defaults to **x86_64**.
*/
cpuArch: string;
/**
* The id or name of the BMS flavor.
*/
id: string;
/**
* Specifies the memory size(GB) in the BMS flavor.
*/
memory: number;
/**
* The operation status of the BMS flavor in an each AZs.
*/
operation: string;
/**
* Specifies the number of vCPUs in the BMS flavor.
*/
vcpus: number;
}
interface InstanceDataDisk {
/**
* Specifies the data disk size, in GB. The value ranges form 10 to 32768. Changing
* this creates a new instance.
*/
size: 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: string;
}
interface InstanceNic {
/**
* Specifies a fixed IPv4 address to be used on this network.
*/
ipAddress: string;
/**
* The MAC address of the nic.
*/
macAddress: string;
/**
* The port ID corresponding to the IP address.
*/
portId: string;
/**
* Specifies the ID of subnet to attach to the instance.
*/
subnetId: string;
}
}
export declare namespace Cbr {
interface GetVaultsVault {
/**
* The allocated capacity of the vault, in GB.
*/
allocated: number;
/**
* Whether automatic association is enabled. Defaults to **false**.
*/
autoBind: boolean;
/**
* Specifies whether to enable automatic expansion of the backup protection
* type vault. Defaults to **false**.
*/
autoExpandEnabled: boolean;
/**
* The tags to filter resources for automatic association with **auto_bind**.
*/
bindRules: {
[key: string]: string;
};
/**
* Specifies the consistent level (specification) of the vault.
* The valid values are as follows:
* + **[crashConsistent](https://support.huaweicloud.com/intl/en-us/usermanual-cbr/cbr_03_0109.html)**
* + **[appConsistent](https://support.huaweicloud.com/intl/en-us/usermanual-cbr/cbr_03_0109.html)**
*/
consistentLevel: string;
/**
* Specifies the ID of the enterprise project to which the vault belongs.
*/
enterpriseProjectId: string;
/**
* The vault ID in UUID format.
*/
id: string;
/**
* Specifies the vault name. This parameter can contain a maximum of 64
* characters, which may consist of letters, digits, underscores(_) and hyphens (-).
*/
name: string;
/**
* Specifies the ID of the policy associated with the vault.
* The `policyId` cannot be used with the vault of replicate protection type.
*/
policyId: string;
/**
* Specifies the protection type of the vault.
* The valid values are **backup** and **replication**. Vaults of type **disk** don't support **replication**.
*/
protectionType: string;
/**
* The array of one or more resources to attach to the vault.
* The object structure is documented below.
*/
resources: outputs.Cbr.GetVaultsVaultResource[];
/**
* Specifies the vault capacity, in GB. The valid value range is `1` to `10,485,760`.
*/
size: number;
/**
* The specification code.
*/
specCode: string;
/**
* Specifies the vault status, including **available**, **lock**, **frozen** and **error**.
*/
status: string;
/**
* The name of the bucket for the vault.
*/
storage: string;
/**
* The key/value pairs to associate with the vault.
*/
tags: {
[key: string]: string;
};
/**
* Specifies the object type of the vault. The valid values are as follows:
* + **server** (Cloud Servers)
* + **disk** (EVS Disks)
* + **turbo** (SFS Turbo file systems)
*/
type: string;
/**
* The used capacity, in GB.
*/
used: number;
}
interface GetVaultsVaultResource {
/**
* The array of disk IDs which will be excluded in the backup.
*/
excludes: string[];
/**
* The array of disk or SFS file system IDs which will be included in the backup.
*/
includes: string[];
/**
* The ID of the ECS instance to be backed up.
*/
serverId: string;
}
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?: 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: string[];
/**
* Specifies the interval (in days) of backup schedule.
* The valid value ranges from `1` to `30`.
*/
interval?: number;
}
interface PolicyLongTermRetention {
/**
* - Specifies the latest backup of each day is saved in the long term.
*/
daily?: 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?: number;
/**
* - Specifies the latest backup of each month is saved in the long term.
*/
monthly?: number;
/**
* - Specifies the latest backup of each week is saved in the long term.
*/
weekly?: number;
/**
* - Specifies the latest backup of each year is saved in the long term.
*/
yearly?: number;
}
interface VaultPolicy {
/**
* Specifies the ID of destination vault to which the replication policy
* will associated.
*/
destinationVaultId?: string;
/**
* Specifies the policy ID.
*/
id: string;
}
interface VaultResource {
/**
* Specifies the array of disk IDs which will be excluded in the backup.
* Only **server** vault support this parameter.
*/
excludes: 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: string[];
/**
* Specifies the ID of the ECS instance to be backed up.
*/
serverId?: 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?: {
[key: string]: string;
};
/**
* Specifies the json string vary depending on the add-on.
*/
basicJson?: 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?: {
[key: string]: string;
};
/**
* Specifies the json string vary depending on the add-on.
*/
customJson?: 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?: {
[key: string]: string;
};
/**
* Specifies the json string vary depending on the add-on.
*/
flavorJson?: string;
}
interface ClusterCertificateCluster {
/**
* The certificate data.
*/
certificateAuthorityData: string;
/**
* Specifies the component name.
*/
name: string;
/**
* The server IP address.
*/
server: string;
}
interface ClusterCertificateUser {
/**
* The client certificate data.
*/
clientCertificateData: string;
/**
* The client key data.
*/
clientKeyData: string;
/**
* Specifies the component name.
*/
name: string;
}
interface ClusterComponentConfiguration {
/**
* Specifies JSON string of the component configurations.
*/
configurations?: string;
/**
* Specifies the component name.
*/
name: 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?: 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?: string;
/**
* Specifies the specifications of the master node
* in the dedicated hybrid cluster.
* Changing this parameter will create a new cluster resource.
*/
decMasterFlavor?: 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?: 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?: 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?: string;
}
interface ClusterLogConfigLogConfig {
/**
* Specifies whether to collect the log.
*/
enable?: boolean;
/**
* Specifies the log type.
*/
name?: string;
}
interface ClusterMaster {
/**
* Specifies the availability zone of the master node.
* Changing this parameter will create a new cluster resource.
*/
availabilityZone: string;
}
interface ClusterUpgradeAddon {
/**
* Specifies the add-on name.
*/
addonTemplateName: string;
/**
* Specifies the execution action.
* For current upgrades, the value can be **patch**.
*/
operation: string;
/**
* Specifies the add-on template installation parameters.
* These parameters vary depending on the add-on. The values is documented below.
*/
values?: outputs.Cce.ClusterUpgradeAddonValues;
/**
* Specifies the target add-on version.
* The target add-on version must match the target cluster version.
*/
version: string;
}
interface ClusterUpgradeAddonValues {
/**
* Specifies the json string vary depending on the add-on.
*/
basicJson?: string;
/**
* Specifies the json string vary depending on the add-on.
*/
customJson?: string;
/**
* Specifies the json string vary depending on the add-on.
*/
flavorJson?: 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?: outputs.Cce.ClusterUpgradeStrategyInPlaceRollingUpdate;
/**
* Specifies the upgrade strategy type.
* The value can be **inPlaceRollingUpdate**.
*/
type: string;
}
interface ClusterUpgradeStrategyInPlaceRollingUpdate {
/**
* Specifies the node upgrade step.
* The value ranges from **1** to **40**. The recommended value is **20**.
*/
userDefinedStep?: number;
}
interface GetAddonTemplateSupportVersion {
/**
* The cluster (Bare Metal) version that the add-on template supported.
*/
bareMetals: string[];
/**
* The cluster (Virtual Machine) version that the add-on template supported.
*/
virtualMachines: string[];
}
interface GetAddonsItem {
/**
* The metadata of the add-on instance.
*/
metadatas: outputs.Cce.GetAddonsItemMetadata[];
/**
* The detailed description of the add-on instance.
*/
specs: outputs.Cce.GetAddonsItemSpec[];
/**
* The statuses of add-on instances.
*/
statuses: outputs.Cce.GetAddonsItemStatus[];
}
interface GetAddonsItemMetadata {
/**
* The add-on instance alias.
*/
alias: string;
/**
* The add-on annotations in the format of key/value pairs.
*/
annotations: {
[key: string]: string;
};
/**
* The creation time.
*/
creationTimestamp: string;
/**
* The add-on labels in key/value pairs.
*/
labels: {
[key: string]: string;
};
/**
* The add-on instance name.
*/
name: string;
/**
* The add-on instance ID.
*/
uid: string;
/**
* The update time.
*/
updateTimestamp: string;
}
interface GetAddonsItemSpec {
/**
* The labels of the add-on template.
*/
addonTemplateLabels: string[];
/**
* The URL for obtaining the add-on template logo.
*/
addonTemplateLogo: string;
/**
* The add-on name.
*/
addonTemplateName: string;
/**
* The add-on type.
*/
addonTemplateType: string;
/**
* Specifies the ID of the cluster to which the add-on instance belongs.
*/
clusterId: string;
/**
* The add-on description.
*/
description: string;
/**
* The add-on installation parameters.
*/
values: string[];
/**
* The add-on version.
*/
version: string;
}
interface GetAddonsItemStatus {
/**
* The cause of the add-on installation failure.
*/
_reason: string;
/**
* The information about the current add-on version.
*/
currentVersions: outputs.Cce.GetAddonsItemStatusCurrentVersion[];
/**
* Whether the add-on version can be rolled back to the source version.
*/
isRollbackable: boolean;
/**
* The installation error details.
*/
message: string;
/**
* The add-on version before upgrade or rollback
*/
previousVersion: string;
/**
* The statuses of add-on instances.
*/
status: string;
/**
* The versions to which the current add-on version can be upgraded.
*/
targetVersions: string[];
}
interface GetAddonsItemStatusCurrentVersion {
/**
* The creation time.
*/
creationTimestamp: string;
/**
* The add-on installation parameters.
*/
inputs: string[];
/**
* Whether the add-on version is a stable release.
*/
stable: boolean;
/**
* The cluster versions that support the add-on.
*/
supportVersions: outputs.Cce.GetAddonsItemStatusCurrentVersionSupportVersion[];
/**
* The translation information used by the GUI.
*/
translates: string[];
/**
* The update time.
*/
updateTimestamp: string;
/**
* The add-on version.
*/
version: string;
}
interface GetAddonsItemStatusCurrentVersionSupportVersion {
/**
* The current support version category.
*/
categories: string[];
/**
* The cluster type that supports the add-on.
*/
clusterType: string;
/**
* The cluster versions that support the add-on. The value is a regular expression.
*/
clusterVersions: string[];
}
interface GetChartsChart {
/**
* The chart URL.
*/
chartUrl: string;
/**
* The create time.
*/
createdAt: string;
/**
* The description of the chart.
*/
description: string;
/**
* The icon URL.
*/
iconUrl: string;
/**
* The chart ID.
*/
id: string;
/**
* The instruction of the chart.
*/
instruction: string;
/**
* The chart name.
*/
name: string;
/**
* Whether the chart is public.
*/
public: boolean;
/**
* The source of the chart.
*/
source: string;
/**
* The traslate source of the chart.
*/
translate: string;
/**
* The update time.
*/
updatedAt: string;
/**
* The values of the chart.
*/
values: string;
/**
* The chart version.
*/
version: string;
}
interface GetClusterCertificateCluster {
/**
* The certificate data.
*/
certificateAuthorityData: string;
/**
* Specifies the name of the cluster.
*/
name: string;
/**
* The server IP address.
*/
server: string;
}
interface GetClusterCertificateUser {
/**
* The client certificate data.
*/
clientCertificateData: string;
/**
* The client key data.
*/
clientKeyData: string;
/**
* Specifies the name of the cluster.
*/
name: string;
}
interface GetClusterCertificatesCluster {
/**
* The certificate authority data of the cluster certificate.
*/
certificateAuthorityData: string;
/**
* Whether insecure skip tls verify of the cluster certificate.
*/
insecureSkipTlsVerify: boolean;
/**
* The context name of the cluster certificate.
*/
name: string;
/**
* The server address of the cluster certificate.
*/
server: string;
}
interface GetClusterCertificatesContext {
/**
* The context cluster of the cluster certificate.
*/
cluster: string;
/**
* The context name of the cluster certificate.
*/
name: string;
/**
* The context user of the cluster certificate.
*/
user: string;
}
interface GetClusterCertificatesUser {
/**
* The client certificate data of the cluster certificate.
*/
clientCertificateData: string;
/**
* The client key data of the cluster certificate.
*/
clientKeyData: string;
/**
* The context name of the cluster certificate.
*/
name: string;
}
interface GetClusterEndpoint {
/**
* The type of the cluster access address.
* + **Internal**: The user's subnet access address.
* + **External**: The public network access address.
*/
type: string;
/**
* The URL of the cluster access address.
*/
url: string;
}
interface GetClusterMaster {
/**
* The availability zone (AZ) of the master node.
*/
availabilityZone: string;
}
interface GetClustersCluster {
/**
* The authentication mode of the cluster, possible values are x509 and rbac. Defaults to **rbac**.
*/
authenticationMode: string;
/**
* The charging mode of the cluster.
*/
billingMode: number;
/**
* The certificate clusters. Structure is documented below.
*/
certificateClusters: outputs.Cce.GetClustersClusterCertificateCluster[];
/**
* The certificate users. Structure is documented below.
*/
certificateUsers: outputs.Cce.GetClustersClusterCertificateUser[];
/**
* Specifies the type of the cluster. Possible values: **VirtualMachine**, **BareMetal**.
*/
clusterTyp