<reponame>ederst/pulumi-kops// *** 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.Inputs
{

    public sealed class ClusterExternalCloudControllerManagerArgs : global::Pulumi.ResourceArgs
    {
        [Input("allocateNodeCidrs")]
        public Input<bool>? AllocateNodeCidrs { get; set; }

        [Input("allowUntaggedCloud")]
        public Input<bool>? AllowUntaggedCloud { get; set; }

        [Input("cidrAllocatorType")]
        public Input<string>? CidrAllocatorType { get; set; }

        /// <summary>
        /// - cloud_provider_spec - CloudProvider configures the cloud provider to use.
        /// </summary>
        [Input("cloudProvider")]
        public Input<string>? CloudProvider { get; set; }

        [Input("clusterCidr")]
        public Input<string>? ClusterCidr { get; set; }

        [Input("clusterName")]
        public Input<string>? ClusterName { get; set; }

        [Input("configureCloudRoutes")]
        public Input<bool>? ConfigureCloudRoutes { get; set; }

        [Input("controllers")]
        private InputList<string>? _controllers;
        public InputList<string> Controllers
        {
            get => _controllers ?? (_controllers = new InputList<string>());
            set => _controllers = value;
        }

        [Input("cpuRequest")]
        public Input<string>? CpuRequest { get; set; }

        [Input("enableLeaderMigration")]
        public Input<bool>? EnableLeaderMigration { get; set; }

        [Input("image")]
        public Input<string>? Image { get; set; }

        [Input("leaderElection")]
        public Input<Inputs.ClusterExternalCloudControllerManagerLeaderElectionArgs>? LeaderElection { get; set; }

        [Input("logLevel")]
        public Input<int>? LogLevel { get; set; }

        [Input("master")]
        public Input<string>? Master { get; set; }

        [Input("useServiceAccountCredentials")]
        public Input<bool>? UseServiceAccountCredentials { get; set; }

        public ClusterExternalCloudControllerManagerArgs()
        {
        }
        public static new ClusterExternalCloudControllerManagerArgs Empty => new ClusterExternalCloudControllerManagerArgs();
    }
}
