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

    [OutputType]
    public sealed class GetVariablesVariableResult
    {
        /// <summary>
        /// The description of this variable.
        /// </summary>
        public readonly string Description;
        public readonly string EncryptedValue;
        /// <summary>
        /// Indicates whether or not this variable is considered editable.
        /// </summary>
        public readonly bool IsEditable;
        /// <summary>
        /// Indicates whether or not this resource is considered sensitive and should be kept secret.
        /// </summary>
        public readonly bool IsSensitive;
        public readonly string KeyFingerprint;
        /// <summary>
        /// The name of this resource.
        /// </summary>
        public readonly string Name;
        public readonly string OwnerId;
        public readonly string PgpKey;
        public readonly string ProjectId;
        public readonly ImmutableArray<Outputs.GetVariablesVariablePromptResult> Prompts;
        public readonly ImmutableArray<Outputs.GetVariablesVariableScopeResult> Scopes;
        public readonly string SensitiveValue;
        /// <summary>
        /// The type of variable represented by this resource. Valid types are `AmazonWebServicesAccount`, `AzureAccount`, `GoogleCloudAccount`, `Certificate`, `Sensitive`, `String`, or `WorkerPool`.
        /// </summary>
        public readonly string Type;
        public readonly string Value;

        [OutputConstructor]
        private GetVariablesVariableResult(
            string description,

            string encryptedValue,

            bool isEditable,

            bool isSensitive,

            string keyFingerprint,

            string name,

            string ownerId,

            string pgpKey,

            string projectId,

            ImmutableArray<Outputs.GetVariablesVariablePromptResult> prompts,

            ImmutableArray<Outputs.GetVariablesVariableScopeResult> scopes,

            string sensitiveValue,

            string type,

            string value)
        {
            Description = description;
            EncryptedValue = encryptedValue;
            IsEditable = isEditable;
            IsSensitive = isSensitive;
            KeyFingerprint = keyFingerprint;
            Name = name;
            OwnerId = ownerId;
            PgpKey = pgpKey;
            ProjectId = projectId;
            Prompts = prompts;
            Scopes = scopes;
            SensitiveValue = sensitiveValue;
            Type = type;
            Value = value;
        }
    }
}
