UNPKG

@huaweicloudos/pulumi

Version:

A Pulumi package for creating and managing Huaweicloud cloud resources.

1,394 lines 829 kB
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, **&#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: 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