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

    public sealed class ProviderGitArgs : global::Pulumi.ResourceArgs
    {
        [Input("authorEmail")]
        public Input<string>? AuthorEmail { get; set; }

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

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

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

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

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

        [Input("gpgPassphrase")]
        private Input<string>? _gpgPassphrase;
        public Input<string>? GpgPassphrase
        {
            get => _gpgPassphrase;
            set
            {
                var emptySecret = Output.CreateSecret(0);
                _gpgPassphrase = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
            }
        }

        [Input("http")]
        public Input<Inputs.ProviderGitHttpArgs>? Http { get; set; }

        [Input("ssh")]
        public Input<Inputs.ProviderGitSshArgs>? Ssh { get; set; }

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

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