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

    [OutputType]
    public sealed class GetKubernetesClusterMasterResult
    {
        /// <summary>
        /// PEM-encoded public certificate that is the root of trust for the Kubernetes cluster.
        /// </summary>
        public readonly string ClusterCaCertificate;
        /// <summary>
        /// An IPv4 external network address that is assigned to the master.
        /// </summary>
        public readonly string ExternalV4Address;
        /// <summary>
        /// External endpoint that can be used to access Kubernetes cluster API from the internet (outside of the cloud).
        /// </summary>
        public readonly string ExternalV4Endpoint;
        public readonly string ExternalV6Address;
        public readonly string ExternalV6Endpoint;
        /// <summary>
        /// An IPv4 internal network address that is assigned to the master.
        /// </summary>
        public readonly string InternalV4Address;
        /// <summary>
        /// Internal endpoint that can be used to connect to the master from cloud networks.
        /// </summary>
        public readonly string InternalV4Endpoint;
        /// <summary>
        /// Maintenance policy for Kubernetes master. The structure is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetKubernetesClusterMasterMaintenancePolicyResult> MaintenancePolicies;
        /// <summary>
        /// Boolean flag. When `true`, Kubernetes master have visible ipv4 address.
        /// </summary>
        public readonly bool PublicIp;
        /// <summary>
        /// Information about cluster regional master. The structure is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetKubernetesClusterMasterRegionalResult> Regionals;
        /// <summary>
        /// A list of security groups IDs of the Kubernetes cluster.
        /// </summary>
        public readonly ImmutableArray<string> SecurityGroupIds;
        /// <summary>
        /// Version of Kubernetes master.
        /// </summary>
        public readonly string Version;
        /// <summary>
        /// Information about cluster version. The structure is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetKubernetesClusterMasterVersionInfoResult> VersionInfos;
        /// <summary>
        /// Information about cluster zonal master. The structure is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetKubernetesClusterMasterZonalResult> Zonals;

        [OutputConstructor]
        private GetKubernetesClusterMasterResult(
            string clusterCaCertificate,

            string externalV4Address,

            string externalV4Endpoint,

            string externalV6Address,

            string externalV6Endpoint,

            string internalV4Address,

            string internalV4Endpoint,

            ImmutableArray<Outputs.GetKubernetesClusterMasterMaintenancePolicyResult> maintenancePolicies,

            bool publicIp,

            ImmutableArray<Outputs.GetKubernetesClusterMasterRegionalResult> regionals,

            ImmutableArray<string> securityGroupIds,

            string version,

            ImmutableArray<Outputs.GetKubernetesClusterMasterVersionInfoResult> versionInfos,

            ImmutableArray<Outputs.GetKubernetesClusterMasterZonalResult> zonals)
        {
            ClusterCaCertificate = clusterCaCertificate;
            ExternalV4Address = externalV4Address;
            ExternalV4Endpoint = externalV4Endpoint;
            ExternalV6Address = externalV6Address;
            ExternalV6Endpoint = externalV6Endpoint;
            InternalV4Address = internalV4Address;
            InternalV4Endpoint = internalV4Endpoint;
            MaintenancePolicies = maintenancePolicies;
            PublicIp = publicIp;
            Regionals = regionals;
            SecurityGroupIds = securityGroupIds;
            Version = version;
            VersionInfos = versionInfos;
            Zonals = zonals;
        }
    }
}
