<reponame>Dwonczykj/gember_deploy// *** 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.Monitor.Outputs
{

    [OutputType]
    public sealed class TmpTkeTemplateTemplate
    {
        /// <summary>
        /// Template description.
        /// </summary>
        public readonly string? Describe;
        /// <summary>
        /// Whether the system-supplied default template is used for outgoing references.
        /// </summary>
        public readonly bool? IsDefault;
        /// <summary>
        /// Template dimensions, the following types are supported `instance` instance level, `cluster` cluster level.
        /// </summary>
        public readonly string Level;
        /// <summary>
        /// Template name.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Effective when Level is a cluster, A list of PodMonitors rules in the template.
        /// </summary>
        public readonly ImmutableArray<Outputs.TmpTkeTemplateTemplatePodMonitor> PodMonitors;
        /// <summary>
        /// Effective when Level is a cluster, A list of RawJobs rules in the template.
        /// </summary>
        public readonly ImmutableArray<Outputs.TmpTkeTemplateTemplateRawJob> RawJobs;
        /// <summary>
        /// Effective when Level is instance, A list of aggregation rules in the template.
        /// </summary>
        public readonly ImmutableArray<Outputs.TmpTkeTemplateTemplateRecordRule> RecordRules;
        /// <summary>
        /// Effective when Level is a cluster, A list of ServiceMonitor rules in the template.
        /// </summary>
        public readonly ImmutableArray<Outputs.TmpTkeTemplateTemplateServiceMonitor> ServiceMonitors;
        /// <summary>
        /// The ID of the template, which is used for the outgoing reference.
        /// </summary>
        public readonly string? TemplateId;
        /// <summary>
        /// Last updated, for outgoing references.
        /// </summary>
        public readonly string? UpdateTime;
        /// <summary>
        /// Whether the system-supplied default template is used for outgoing references.
        /// </summary>
        public readonly string? Version;

        [OutputConstructor]
        private TmpTkeTemplateTemplate(
            string? describe,

            bool? isDefault,

            string level,

            string name,

            ImmutableArray<Outputs.TmpTkeTemplateTemplatePodMonitor> podMonitors,

            ImmutableArray<Outputs.TmpTkeTemplateTemplateRawJob> rawJobs,

            ImmutableArray<Outputs.TmpTkeTemplateTemplateRecordRule> recordRules,

            ImmutableArray<Outputs.TmpTkeTemplateTemplateServiceMonitor> serviceMonitors,

            string? templateId,

            string? updateTime,

            string? version)
        {
            Describe = describe;
            IsDefault = isDefault;
            Level = level;
            Name = name;
            PodMonitors = podMonitors;
            RawJobs = rawJobs;
            RecordRules = recordRules;
            ServiceMonitors = serviceMonitors;
            TemplateId = templateId;
            UpdateTime = updateTime;
            Version = version;
        }
    }
}
