// *** 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 TencentCloudIAC.PulumiPackage.Tencentcloud.Tat.Outputs
{

    [OutputType]
    public sealed class GetCommandCommandSetResult
    {
        /// <summary>
        /// Command ID.
        /// </summary>
        public readonly string CommandId;
        /// <summary>
        /// Command name.
        /// </summary>
        public readonly string CommandName;
        /// <summary>
        /// Command type, Value is `SHELL` or `POWERSHELL`.
        /// </summary>
        public readonly string CommandType;
        /// <summary>
        /// command.
        /// </summary>
        public readonly string Content;
        /// <summary>
        /// Command creator. `TAT` indicates a public command and `USER` indicates a personal command.
        /// </summary>
        public readonly string CreatedBy;
        /// <summary>
        /// Command creation time.
        /// </summary>
        public readonly string CreatedTime;
        /// <summary>
        /// Default custom parameter value.
        /// </summary>
        public readonly string DefaultParameters;
        /// <summary>
        /// Command description.
        /// </summary>
        public readonly string Description;
        /// <summary>
        /// Whether to enable the custom parameter feature.
        /// </summary>
        public readonly bool EnableParameter;
        /// <summary>
        /// Formatted description of the command. This parameter is an empty string for user commands and contains values for public commands.
        /// </summary>
        public readonly string FormattedDescription;
        /// <summary>
        /// The COS bucket URL for uploading logs.
        /// </summary>
        public readonly string OutputCosBucketUrl;
        /// <summary>
        /// The COS bucket directory where the logs are saved.
        /// </summary>
        public readonly string OutputCosKeyPrefix;
        /// <summary>
        /// Tags bound to the command. At most 10 tags are allowed.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetCommandCommandSetTagResult> Tags;
        /// <summary>
        /// Command timeout period.
        /// </summary>
        public readonly int Timeout;
        /// <summary>
        /// Command update time.
        /// </summary>
        public readonly string UpdatedTime;
        /// <summary>
        /// The user who executes the command on the instance.
        /// </summary>
        public readonly string Username;
        /// <summary>
        /// Command execution path.
        /// </summary>
        public readonly string WorkingDirectory;

        [OutputConstructor]
        private GetCommandCommandSetResult(
            string commandId,

            string commandName,

            string commandType,

            string content,

            string createdBy,

            string createdTime,

            string defaultParameters,

            string description,

            bool enableParameter,

            string formattedDescription,

            string outputCosBucketUrl,

            string outputCosKeyPrefix,

            ImmutableArray<Outputs.GetCommandCommandSetTagResult> tags,

            int timeout,

            string updatedTime,

            string username,

            string workingDirectory)
        {
            CommandId = commandId;
            CommandName = commandName;
            CommandType = commandType;
            Content = content;
            CreatedBy = createdBy;
            CreatedTime = createdTime;
            DefaultParameters = defaultParameters;
            Description = description;
            EnableParameter = enableParameter;
            FormattedDescription = formattedDescription;
            OutputCosBucketUrl = outputCosBucketUrl;
            OutputCosKeyPrefix = outputCosKeyPrefix;
            Tags = tags;
            Timeout = timeout;
            UpdatedTime = updatedTime;
            Username = username;
            WorkingDirectory = workingDirectory;
        }
    }
}
