<filename>sdk/dotnet/Outputs/GetClusterKubeControllerManagerResult.cs// *** 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.Kops.Outputs
{

    [OutputType]
    public sealed class GetClusterKubeControllerManagerResult
    {
        public readonly bool AllocateNodeCidrs;
        public readonly string AttachDetachReconcileSyncPeriod;
        public readonly string AuthenticationKubeconfig;
        public readonly ImmutableArray<string> AuthorizationAlwaysAllowPaths;
        public readonly string AuthorizationKubeconfig;
        public readonly string CidrAllocatorType;
        /// <summary>
        /// - cloud_provider_spec - CloudProvider configures the cloud provider to use.
        /// </summary>
        public readonly string CloudProvider;
        public readonly string ClusterCidr;
        public readonly string ClusterName;
        public readonly int ConcurrentDeploymentSyncs;
        public readonly int ConcurrentEndpointSyncs;
        public readonly int ConcurrentNamespaceSyncs;
        public readonly int ConcurrentRcSyncs;
        public readonly int ConcurrentReplicasetSyncs;
        public readonly int ConcurrentResourceQuotaSyncs;
        public readonly int ConcurrentServiceSyncs;
        public readonly int ConcurrentServiceaccountTokenSyncs;
        public readonly bool ConfigureCloudRoutes;
        public readonly ImmutableArray<string> Controllers;
        public readonly bool DisableAttachDetachReconcileSync;
        public readonly bool EnableLeaderMigration;
        public readonly bool EnableProfiling;
        public readonly string ExperimentalClusterSigningDuration;
        public readonly string ExternalCloudVolumePlugin;
        public readonly ImmutableDictionary<string, string> FeatureGates;
        public readonly string HorizontalPodAutoscalerCpuInitializationPeriod;
        public readonly string HorizontalPodAutoscalerDownscaleDelay;
        public readonly string HorizontalPodAutoscalerDownscaleStabilization;
        public readonly string HorizontalPodAutoscalerInitialReadinessDelay;
        public readonly string HorizontalPodAutoscalerSyncPeriod;
        public readonly string HorizontalPodAutoscalerTolerance;
        public readonly string HorizontalPodAutoscalerUpscaleDelay;
        public readonly bool HorizontalPodAutoscalerUseRestClients;
        public readonly string Image;
        public readonly int KubeApiBurst;
        public readonly string KubeApiQps;
        public readonly ImmutableArray<Outputs.GetClusterKubeControllerManagerLeaderElectionResult> LeaderElections;
        public readonly string LogFormat;
        public readonly int LogLevel;
        public readonly string Master;
        public readonly string MinResyncPeriod;
        public readonly int NodeCidrMaskSize;
        public readonly string NodeMonitorGracePeriod;
        public readonly string NodeMonitorPeriod;
        public readonly string PodEvictionTimeout;
        public readonly string RootCaFile;
        public readonly string ServiceAccountPrivateKeyFile;
        public readonly int TerminatedPodGcThreshold;
        public readonly string TlsCertFile;
        public readonly ImmutableArray<string> TlsCipherSuites;
        public readonly string TlsMinVersion;
        public readonly string TlsPrivateKeyFile;
        public readonly bool UseServiceAccountCredentials;

        [OutputConstructor]
        private GetClusterKubeControllerManagerResult(
            bool allocateNodeCidrs,

            string attachDetachReconcileSyncPeriod,

            string authenticationKubeconfig,

            ImmutableArray<string> authorizationAlwaysAllowPaths,

            string authorizationKubeconfig,

            string cidrAllocatorType,

            string cloudProvider,

            string clusterCidr,

            string clusterName,

            int concurrentDeploymentSyncs,

            int concurrentEndpointSyncs,

            int concurrentNamespaceSyncs,

            int concurrentRcSyncs,

            int concurrentReplicasetSyncs,

            int concurrentResourceQuotaSyncs,

            int concurrentServiceSyncs,

            int concurrentServiceaccountTokenSyncs,

            bool configureCloudRoutes,

            ImmutableArray<string> controllers,

            bool disableAttachDetachReconcileSync,

            bool enableLeaderMigration,

            bool enableProfiling,

            string experimentalClusterSigningDuration,

            string externalCloudVolumePlugin,

            ImmutableDictionary<string, string> featureGates,

            string horizontalPodAutoscalerCpuInitializationPeriod,

            string horizontalPodAutoscalerDownscaleDelay,

            string horizontalPodAutoscalerDownscaleStabilization,

            string horizontalPodAutoscalerInitialReadinessDelay,

            string horizontalPodAutoscalerSyncPeriod,

            string horizontalPodAutoscalerTolerance,

            string horizontalPodAutoscalerUpscaleDelay,

            bool horizontalPodAutoscalerUseRestClients,

            string image,

            int kubeApiBurst,

            string kubeApiQps,

            ImmutableArray<Outputs.GetClusterKubeControllerManagerLeaderElectionResult> leaderElections,

            string logFormat,

            int logLevel,

            string master,

            string minResyncPeriod,

            int nodeCidrMaskSize,

            string nodeMonitorGracePeriod,

            string nodeMonitorPeriod,

            string podEvictionTimeout,

            string rootCaFile,

            string serviceAccountPrivateKeyFile,

            int terminatedPodGcThreshold,

            string tlsCertFile,

            ImmutableArray<string> tlsCipherSuites,

            string tlsMinVersion,

            string tlsPrivateKeyFile,

            bool useServiceAccountCredentials)
        {
            AllocateNodeCidrs = allocateNodeCidrs;
            AttachDetachReconcileSyncPeriod = attachDetachReconcileSyncPeriod;
            AuthenticationKubeconfig = authenticationKubeconfig;
            AuthorizationAlwaysAllowPaths = authorizationAlwaysAllowPaths;
            AuthorizationKubeconfig = authorizationKubeconfig;
            CidrAllocatorType = cidrAllocatorType;
            CloudProvider = cloudProvider;
            ClusterCidr = clusterCidr;
            ClusterName = clusterName;
            ConcurrentDeploymentSyncs = concurrentDeploymentSyncs;
            ConcurrentEndpointSyncs = concurrentEndpointSyncs;
            ConcurrentNamespaceSyncs = concurrentNamespaceSyncs;
            ConcurrentRcSyncs = concurrentRcSyncs;
            ConcurrentReplicasetSyncs = concurrentReplicasetSyncs;
            ConcurrentResourceQuotaSyncs = concurrentResourceQuotaSyncs;
            ConcurrentServiceSyncs = concurrentServiceSyncs;
            ConcurrentServiceaccountTokenSyncs = concurrentServiceaccountTokenSyncs;
            ConfigureCloudRoutes = configureCloudRoutes;
            Controllers = controllers;
            DisableAttachDetachReconcileSync = disableAttachDetachReconcileSync;
            EnableLeaderMigration = enableLeaderMigration;
            EnableProfiling = enableProfiling;
            ExperimentalClusterSigningDuration = experimentalClusterSigningDuration;
            ExternalCloudVolumePlugin = externalCloudVolumePlugin;
            FeatureGates = featureGates;
            HorizontalPodAutoscalerCpuInitializationPeriod = horizontalPodAutoscalerCpuInitializationPeriod;
            HorizontalPodAutoscalerDownscaleDelay = horizontalPodAutoscalerDownscaleDelay;
            HorizontalPodAutoscalerDownscaleStabilization = horizontalPodAutoscalerDownscaleStabilization;
            HorizontalPodAutoscalerInitialReadinessDelay = horizontalPodAutoscalerInitialReadinessDelay;
            HorizontalPodAutoscalerSyncPeriod = horizontalPodAutoscalerSyncPeriod;
            HorizontalPodAutoscalerTolerance = horizontalPodAutoscalerTolerance;
            HorizontalPodAutoscalerUpscaleDelay = horizontalPodAutoscalerUpscaleDelay;
            HorizontalPodAutoscalerUseRestClients = horizontalPodAutoscalerUseRestClients;
            Image = image;
            KubeApiBurst = kubeApiBurst;
            KubeApiQps = kubeApiQps;
            LeaderElections = leaderElections;
            LogFormat = logFormat;
            LogLevel = logLevel;
            Master = master;
            MinResyncPeriod = minResyncPeriod;
            NodeCidrMaskSize = nodeCidrMaskSize;
            NodeMonitorGracePeriod = nodeMonitorGracePeriod;
            NodeMonitorPeriod = nodeMonitorPeriod;
            PodEvictionTimeout = podEvictionTimeout;
            RootCaFile = rootCaFile;
            ServiceAccountPrivateKeyFile = serviceAccountPrivateKeyFile;
            TerminatedPodGcThreshold = terminatedPodGcThreshold;
            TlsCertFile = tlsCertFile;
            TlsCipherSuites = tlsCipherSuites;
            TlsMinVersion = tlsMinVersion;
            TlsPrivateKeyFile = tlsPrivateKeyFile;
            UseServiceAccountCredentials = useServiceAccountCredentials;
        }
    }
}
