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

    [OutputType]
    public sealed class GetTopicsTopicResult
    {
        /// <summary>
        /// whether the current topic is kafka compact topic or not.
        /// </summary>
        public readonly bool CompactTopic;
        /// <summary>
        /// Time of creation.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// The ID of the topic, It is formatted to `&lt;instance_id&gt;:&lt;topic&gt;`.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// ID of the instance.
        /// </summary>
        public readonly string InstanceId;
        /// <summary>
        /// whether the current topic is kafka local topic or not.
        /// </summary>
        public readonly bool LocalTopic;
        /// <summary>
        /// Partition number of the topic.
        /// </summary>
        public readonly int PartitionNum;
        /// <summary>
        /// Remark of the topic.
        /// </summary>
        public readonly string Remark;
        /// <summary>
        /// The current status code of the topic. There are three values to describe the topic status: 0 stands for the topic is in service, 1 stands for freezing and 2 stands for pause.
        /// </summary>
        public readonly int Status;
        /// <summary>
        /// The status_name of the topic.
        /// </summary>
        public readonly string StatusName;
        /// <summary>
        /// A mapping of tags to assign to the topic.
        /// </summary>
        public readonly ImmutableDictionary<string, object>? Tags;
        /// <summary>
        /// A topic to filter results by the topic name.
        /// </summary>
        public readonly string Topic;

        [OutputConstructor]
        private GetTopicsTopicResult(
            bool compactTopic,

            string createTime,

            string id,

            string instanceId,

            bool localTopic,

            int partitionNum,

            string remark,

            int status,

            string statusName,

            ImmutableDictionary<string, object>? tags,

            string topic)
        {
            CompactTopic = compactTopic;
            CreateTime = createTime;
            Id = id;
            InstanceId = instanceId;
            LocalTopic = localTopic;
            PartitionNum = partitionNum;
            Remark = remark;
            Status = status;
            StatusName = statusName;
            Tags = tags;
            Topic = topic;
        }
    }
}
