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

    public sealed class MdbPostgresqlClusterUserArgs : global::Pulumi.ResourceArgs
    {
        [Input("connLimit")]
        public Input<int>? ConnLimit { get; set; }

        [Input("grants")]
        private InputList<string>? _grants;
        public InputList<string> Grants
        {
            get => _grants ?? (_grants = new InputList<string>());
            set => _grants = value;
        }

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

        [Input("name", required: true)]
        public Input<string> Name { get; set; } = null!;

        [Input("password", required: true)]
        private Input<string>? _password;
        public Input<string>? Password
        {
            get => _password;
            set
            {
                var emptySecret = Output.CreateSecret(0);
                _password = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
            }
        }

        [Input("permissions")]
        private InputList<Inputs.MdbPostgresqlClusterUserPermissionArgs>? _permissions;
        public InputList<Inputs.MdbPostgresqlClusterUserPermissionArgs> Permissions
        {
            get => _permissions ?? (_permissions = new InputList<Inputs.MdbPostgresqlClusterUserPermissionArgs>());
            set => _permissions = value;
        }

        [Input("settings")]
        private InputMap<string>? _settings;
        public InputMap<string> Settings
        {
            get => _settings ?? (_settings = new InputMap<string>());
            set => _settings = value;
        }

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