// *** 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;
using Pulumi;

namespace PiersKarsenbarg.Nutanix.Inputs
{

    public sealed class FoundationImageNodesClusterArgs : Pulumi.ResourceArgs
    {
        /// <summary>
        /// : - Backplane netmask.
        /// </summary>
        [Input("backplaneNetmask")]
        public Input<string>? BackplaneNetmask { get; set; }

        /// <summary>
        /// : - Backplane subnet address.
        /// </summary>
        [Input("backplaneSubnet")]
        public Input<string>? BackplaneSubnet { get; set; }

        /// <summary>
        /// : - Backplane vlan.
        /// </summary>
        [Input("backplaneVlan")]
        public Input<string>? BackplaneVlan { get; set; }

        /// <summary>
        /// : - External IP of the cluster.
        /// </summary>
        [Input("clusterExternalIp")]
        public Input<string>? ClusterExternalIp { get; set; }

        /// <summary>
        /// : - (Optional, Default = true) If cluster should be created.
        /// </summary>
        [Input("clusterInitNow")]
        public Input<bool>? ClusterInitNow { get; set; }

        /// <summary>
        /// : - If cluster initialization was successful.
        /// </summary>
        [Input("clusterInitSuccessful")]
        public Input<bool>? ClusterInitSuccessful { get; set; }

        [Input("clusterMembers", required: true)]
        private InputList<string>? _clusterMembers;

        /// <summary>
        /// : - (Required) Members in the cluster.
        /// </summary>
        public InputList<string> ClusterMembers
        {
            get => _clusterMembers ?? (_clusterMembers = new InputList<string>());
            set => _clusterMembers = value;
        }

        /// <summary>
        /// : - (Required) Name of the cluster.
        /// </summary>
        [Input("clusterName", required: true)]
        public Input<string> ClusterName { get; set; } = null!;

        /// <summary>
        /// : - DNS servers of CVM.
        /// </summary>
        [Input("cvmDnsServers")]
        public Input<string>? CvmDnsServers { get; set; }

        /// <summary>
        /// : - NTP servers of CVM.
        /// </summary>
        [Input("cvmNtpServers")]
        public Input<string>? CvmNtpServers { get; set; }

        /// <summary>
        /// : - If network segmentation should be enabled.
        /// </summary>
        [Input("enableNs")]
        public Input<bool>? EnableNs { get; set; }

        /// <summary>
        /// : - NTP servers of hypervisor.
        /// </summary>
        [Input("hypervisorNtpServers")]
        public Input<string>? HypervisorNtpServers { get; set; }

        /// <summary>
        /// : - (Required) Cluster Redundancy Factor.
        /// </summary>
        [Input("redundancyFactor", required: true)]
        public Input<int> RedundancyFactor { get; set; } = null!;

        /// <summary>
        /// : - If it is a single node cluster.
        /// </summary>
        [Input("singleNodeCluster")]
        public Input<bool>? SingleNodeCluster { get; set; }

        public FoundationImageNodesClusterArgs()
        {
        }
    }
}
