// *** 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.Emr.Outputs
{

    [OutputType]
    public sealed class GetClustersClusterHostGroupListResult
    {
        /// <summary>
        /// Bandwidth.
        /// </summary>
        public readonly string BandWidth;
        /// <summary>
        /// Payment Type.
        /// </summary>
        public readonly string ChargeType;
        /// <summary>
        /// The number of CPU cores.
        /// </summary>
        public readonly int CpuCore;
        /// <summary>
        /// Data disk capacity.
        /// </summary>
        public readonly int DiskCapacity;
        /// <summary>
        /// The number of data disks.
        /// </summary>
        public readonly int DiskCount;
        /// <summary>
        /// System disk type:
        /// </summary>
        public readonly string DiskType;
        /// <summary>
        /// The current operation type of the machine Group:
        /// </summary>
        public readonly string HostGroupChangeType;
        /// <summary>
        /// The ID of the machine group.
        /// </summary>
        public readonly string HostGroupId;
        /// <summary>
        /// The name of the machine group.
        /// </summary>
        public readonly string HostGroupName;
        /// <summary>
        /// Role of host in cluster:
        /// </summary>
        public readonly string HostGroupType;
        /// <summary>
        /// Machine Group instance.
        /// </summary>
        public readonly string InstanceType;
        /// <summary>
        /// Memory size.
        /// </summary>
        public readonly int MemoryCapacity;
        /// <summary>
        /// The number of machine group nodes.
        /// </summary>
        public readonly int NodeCount;
        /// <summary>
        /// Machine node.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetClustersClusterHostGroupListNodeResult> Nodes;
        /// <summary>
        /// The package year and month time of the machine group. The Valid Values : `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `12`, `24`, `36`.
        /// </summary>
        public readonly string Period;

        [OutputConstructor]
        private GetClustersClusterHostGroupListResult(
            string bandWidth,

            string chargeType,

            int cpuCore,

            int diskCapacity,

            int diskCount,

            string diskType,

            string hostGroupChangeType,

            string hostGroupId,

            string hostGroupName,

            string hostGroupType,

            string instanceType,

            int memoryCapacity,

            int nodeCount,

            ImmutableArray<Outputs.GetClustersClusterHostGroupListNodeResult> nodes,

            string period)
        {
            BandWidth = bandWidth;
            ChargeType = chargeType;
            CpuCore = cpuCore;
            DiskCapacity = diskCapacity;
            DiskCount = diskCount;
            DiskType = diskType;
            HostGroupChangeType = hostGroupChangeType;
            HostGroupId = hostGroupId;
            HostGroupName = hostGroupName;
            HostGroupType = hostGroupType;
            InstanceType = instanceType;
            MemoryCapacity = memoryCapacity;
            NodeCount = nodeCount;
            Nodes = nodes;
            Period = period;
        }
    }
}
