<filename>sdk/dotnet/Inputs/GetFeedsFeed.cs// *** 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.Octopusdeploy.Inputs
{

    public sealed class GetFeedsFeedArgs : global::Pulumi.InvokeArgs
    {
        [Input("accessKey", required: true)]
        public string AccessKey { get; set; } = null!;

        [Input("apiVersion", required: true)]
        public string ApiVersion { get; set; } = null!;

        [Input("deleteUnreleasedPackagesAfterDays", required: true)]
        public int DeleteUnreleasedPackagesAfterDays { get; set; }

        /// <summary>
        /// The number of times a deployment should attempt to download a package from this feed before failing.
        /// </summary>
        [Input("downloadAttempts", required: true)]
        public int DownloadAttempts { get; set; }

        /// <summary>
        /// The number of seconds to apply as a linear back off between download attempts.
        /// </summary>
        [Input("downloadRetryBackoffSeconds", required: true)]
        public int DownloadRetryBackoffSeconds { get; set; }

        /// <summary>
        /// A filter to search by feed type. Valid feed types are `AwsElasticContainerRegistry`, `BuiltIn`, `Docker`, `GitHub`, `Helm`, `Maven`, `NuGet`, or `OctopusProject`.
        /// </summary>
        [Input("feedType", required: true)]
        public string FeedType { get; set; } = null!;

        [Input("feedUri", required: true)]
        public string FeedUri { get; set; } = null!;

        /// <summary>
        /// The unique ID for this resource.
        /// </summary>
        [Input("id", required: true)]
        public string Id { get; set; } = null!;

        [Input("isEnhancedMode", required: true)]
        public bool IsEnhancedMode { get; set; }

        /// <summary>
        /// A short, memorable, unique name for this feed. Example: ACME Builds.
        /// </summary>
        [Input("name", required: true)]
        public string Name { get; set; } = null!;

        [Input("packageAcquisitionLocationOptions", required: true)]
        private List<string>? _packageAcquisitionLocationOptions;
        public List<string> PackageAcquisitionLocationOptions
        {
            get => _packageAcquisitionLocationOptions ?? (_packageAcquisitionLocationOptions = new List<string>());
            set => _packageAcquisitionLocationOptions = value;
        }

        [Input("password", required: true)]
        private string? _password;

        /// <summary>
        /// The password associated with this resource.
        /// </summary>
        public string? Password
        {
            get => _password;
            set => _password = value;
        }

        [Input("region", required: true)]
        public string Region { get; set; } = null!;

        [Input("registryPath", required: true)]
        public string RegistryPath { get; set; } = null!;

        [Input("secretKey", required: true)]
        private string? _secretKey;
        public string? SecretKey
        {
            get => _secretKey;
            set => _secretKey = value;
        }

        /// <summary>
        /// The space ID associated with this resource.
        /// </summary>
        [Input("spaceId", required: true)]
        public string SpaceId { get; set; } = null!;

        [Input("username", required: true)]
        private string? _username;

        /// <summary>
        /// The username associated with this resource.
        /// </summary>
        public string? Username
        {
            get => _username;
            set => _username = value;
        }

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