// *** 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 Pulumiverse.Fortios.Inputs
{

    public sealed class ExtendercontrollerExtender1Modem1Args : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// FortiExtender auto switch configuration. The structure of `auto_switch` block is documented below.
        /// </summary>
        [Input("autoSwitch")]
        public Input<Inputs.ExtendercontrollerExtender1Modem1AutoSwitchArgs>? AutoSwitch { get; set; }

        /// <summary>
        /// Connection status.
        /// </summary>
        [Input("connStatus")]
        public Input<int>? ConnStatus { get; set; }

        /// <summary>
        /// Default SIM selection. Valid values: `sim1`, `sim2`, `carrier`, `cost`.
        /// </summary>
        [Input("defaultSim")]
        public Input<string>? DefaultSim { get; set; }

        /// <summary>
        /// FortiExtender GPS enable/disable. Valid values: `disable`, `enable`.
        /// </summary>
        [Input("gps")]
        public Input<string>? Gps { get; set; }

        /// <summary>
        /// FortiExtender interface name.
        /// </summary>
        [Input("ifname")]
        public Input<string>? Ifname { get; set; }

        /// <summary>
        /// Preferred carrier.
        /// </summary>
        [Input("preferredCarrier")]
        public Input<string>? PreferredCarrier { get; set; }

        /// <summary>
        /// Redundant interface.
        /// </summary>
        [Input("redundantIntf")]
        public Input<string>? RedundantIntf { get; set; }

        /// <summary>
        /// FortiExtender mode. Valid values: `disable`, `enable`.
        /// </summary>
        [Input("redundantMode")]
        public Input<string>? RedundantMode { get; set; }

        /// <summary>
        /// SIM #1 PIN status. Valid values: `disable`, `enable`.
        /// </summary>
        [Input("sim1Pin")]
        public Input<string>? Sim1Pin { get; set; }

        [Input("sim1PinCode")]
        private Input<string>? _sim1PinCode;

        /// <summary>
        /// SIM #1 PIN password.
        /// </summary>
        public Input<string>? Sim1PinCode
        {
            get => _sim1PinCode;
            set
            {
                var emptySecret = Output.CreateSecret(0);
                _sim1PinCode = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
            }
        }

        /// <summary>
        /// SIM #2 PIN status. Valid values: `disable`, `enable`.
        /// </summary>
        [Input("sim2Pin")]
        public Input<string>? Sim2Pin { get; set; }

        [Input("sim2PinCode")]
        private Input<string>? _sim2PinCode;

        /// <summary>
        /// SIM #2 PIN password.
        /// </summary>
        public Input<string>? Sim2PinCode
        {
            get => _sim2PinCode;
            set
            {
                var emptySecret = Output.CreateSecret(0);
                _sim2PinCode = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
            }
        }

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