// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.Cddc.Outputs
{

    [OutputType]
    public sealed class GetDedicatedHostGroupsGroupResult
    {
        /// <summary>
        /// The policy that is used to allocate resources in the dedicated cluster. Valid values:`Evenly`,`Intensively`
        /// </summary>
        public readonly string AllocationPolicy;
        /// <summary>
        /// The Bastion Instance id of the Dedicated Host Group.
        /// </summary>
        public readonly string BastionInstanceId;
        /// <summary>
        /// The CPU overcommitment ratio of the dedicated cluster. If you set this parameter to 200, the CPU resources that can be allocated are twice as many as the CPU resources that are provided. This maximizes the CPU utilization. Valid values: 100 to 300. Default value: 200.
        /// </summary>
        public readonly double CpuAllocateRation;
        /// <summary>
        /// The CPU Allocated Amount of the Dedicated Host Group.
        /// </summary>
        public readonly double CpuAllocatedAmount;
        /// <summary>
        /// The CPU overcommitment ratio of the dedicated cluster.Valid values: 100 to 300. Default value: 200.
        /// </summary>
        public readonly int CpuAllocationRatio;
        /// <summary>
        /// The Created Time of the Dedicated Host Group.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// The Dedicated Host Count Group by Host Type of the Dedicated Host Group.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetDedicatedHostGroupsGroupDedicatedHostCountGroupByHostTypeResult> DedicatedHostCountGroupByHostTypes;
        /// <summary>
        /// -The name of the dedicated cluster. The name must be 1 to 64 characters in length and can contain letters, digits, underscores (_), and hyphens (-). It must start with a letter.
        /// </summary>
        public readonly string DedicatedHostGroupDesc;
        /// <summary>
        /// Dedicated Host Group ID.
        /// </summary>
        public readonly string DedicatedHostGroupId;
        /// <summary>
        /// The Deployment Type of the Dedicated Host Group.
        /// </summary>
        public readonly string DeployType;
        /// <summary>
        /// The storage overcommitment ratio of the dedicated cluster.Valid values: 100 to 300. Default value: 200.
        /// </summary>
        public readonly double DiskAllocateRation;
        /// <summary>
        /// The Disk Allocated Amount of the Dedicated Host Group.
        /// </summary>
        public readonly double DiskAllocatedAmount;
        /// <summary>
        /// The Disk Allocation Ratio of the Dedicated Host Group.
        /// </summary>
        public readonly int DiskAllocationRatio;
        /// <summary>
        /// The DiskUsedAmount of the Dedicated Host Group.
        /// </summary>
        public readonly double DiskUsedAmount;
        /// <summary>
        /// The DiskUtility of the Dedicated Host Group.
        /// </summary>
        public readonly double DiskUtility;
        /// <summary>
        /// Database Engine Type.The database engine of the dedicated cluster. Valid values:`Redis`, `SQLServer`, `MySQL`, `PostgreSQL`, `MongoDB`
        /// </summary>
        public readonly string Engine;
        /// <summary>
        /// The Total Host Number  of the Dedicated Host Group.
        /// </summary>
        public readonly int HostNumber;
        /// <summary>
        /// The policy based on which the system handles host failures. Valid values:`Auto`,`Manual`
        /// </summary>
        public readonly string HostReplacePolicy;
        /// <summary>
        /// The ID of the Dedicated Host Group.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The Total Instance Number of the Dedicated Host Group.
        /// </summary>
        public readonly int InstanceNumber;
        /// <summary>
        /// The maximum memory usage of each host in the dedicated cluster.Valid values: 0 to 90. Default value: 90.
        /// </summary>
        public readonly double MemAllocateRation;
        /// <summary>
        /// The MemAllocatedAmount of the Dedicated Host Group.
        /// </summary>
        public readonly double MemAllocatedAmount;
        /// <summary>
        /// The Memory Allocation Ratio of the Dedicated Host Group.
        /// </summary>
        public readonly int MemAllocationRatio;
        /// <summary>
        /// The MemUsedAmount of the Dedicated Host Group.
        /// </summary>
        public readonly double MemUsedAmount;
        /// <summary>
        /// The Mem Utility of the Dedicated Host Group.
        /// </summary>
        public readonly double MemUtility;
        /// <summary>
        /// The Text of the Dedicated Host Group.
        /// </summary>
        public readonly string Text;
        /// <summary>
        /// The virtual private cloud (VPC) ID of the dedicated cluster.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// The ZoneIDList of the Dedicated Host Group.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetDedicatedHostGroupsGroupZoneIdListResult> ZoneIdLists;

        [OutputConstructor]
        private GetDedicatedHostGroupsGroupResult(
            string allocationPolicy,

            string bastionInstanceId,

            double cpuAllocateRation,

            double cpuAllocatedAmount,

            int cpuAllocationRatio,

            string createTime,

            ImmutableArray<Outputs.GetDedicatedHostGroupsGroupDedicatedHostCountGroupByHostTypeResult> dedicatedHostCountGroupByHostTypes,

            string dedicatedHostGroupDesc,

            string dedicatedHostGroupId,

            string deployType,

            double diskAllocateRation,

            double diskAllocatedAmount,

            int diskAllocationRatio,

            double diskUsedAmount,

            double diskUtility,

            string engine,

            int hostNumber,

            string hostReplacePolicy,

            string id,

            int instanceNumber,

            double memAllocateRation,

            double memAllocatedAmount,

            int memAllocationRatio,

            double memUsedAmount,

            double memUtility,

            string text,

            string vpcId,

            ImmutableArray<Outputs.GetDedicatedHostGroupsGroupZoneIdListResult> zoneIdLists)
        {
            AllocationPolicy = allocationPolicy;
            BastionInstanceId = bastionInstanceId;
            CpuAllocateRation = cpuAllocateRation;
            CpuAllocatedAmount = cpuAllocatedAmount;
            CpuAllocationRatio = cpuAllocationRatio;
            CreateTime = createTime;
            DedicatedHostCountGroupByHostTypes = dedicatedHostCountGroupByHostTypes;
            DedicatedHostGroupDesc = dedicatedHostGroupDesc;
            DedicatedHostGroupId = dedicatedHostGroupId;
            DeployType = deployType;
            DiskAllocateRation = diskAllocateRation;
            DiskAllocatedAmount = diskAllocatedAmount;
            DiskAllocationRatio = diskAllocationRatio;
            DiskUsedAmount = diskUsedAmount;
            DiskUtility = diskUtility;
            Engine = engine;
            HostNumber = hostNumber;
            HostReplacePolicy = hostReplacePolicy;
            Id = id;
            InstanceNumber = instanceNumber;
            MemAllocateRation = memAllocateRation;
            MemAllocatedAmount = memAllocatedAmount;
            MemAllocationRatio = memAllocationRatio;
            MemUsedAmount = memUsedAmount;
            MemUtility = memUtility;
            Text = text;
            VpcId = vpcId;
            ZoneIdLists = zoneIdLists;
        }
    }
}
