<reponame>rhysmdnz/pulumi-alicloud-rhys-hacks// *** 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.Ros.Outputs
{

    [OutputType]
    public sealed class GetTemplatesTemplateResult
    {
        /// <summary>
        /// The ID of the change set.
        /// </summary>
        public readonly string ChangeSetId;
        /// <summary>
        /// The description of the template. The description can be up to 256 characters in length.
        /// </summary>
        public readonly string Description;
        /// <summary>
        /// The ID of the Template.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Share Type.
        /// </summary>
        public readonly string ShareType;
        /// <summary>
        /// The name of the stack group. The name must be unique in a region.  The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (_). It must start with a digit or letter.
        /// </summary>
        public readonly string StackGroupName;
        /// <summary>
        /// The ID of the stack.
        /// </summary>
        public readonly string StackId;
        /// <summary>
        /// Tags.
        /// </summary>
        public readonly ImmutableDictionary<string, object> Tags;
        /// <summary>
        /// The structure that contains the template body. The template body must be 1 to 524,288 bytes in length.  If the length of the template body is longer than required, we recommend that you add parameters to the HTTP POST request body to avoid request failures due to excessive length of URLs.  You must specify one of the TemplateBody and TemplateURL parameters, but you cannot specify both of them.
        /// </summary>
        public readonly string TemplateBody;
        /// <summary>
        /// The ID of the template.
        /// </summary>
        public readonly string TemplateId;
        /// <summary>
        /// The name of the template.  The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (_). It must start with a digit or letter.
        /// </summary>
        public readonly string TemplateName;
        /// <summary>
        /// Template Version.
        /// </summary>
        public readonly string TemplateVersion;

        [OutputConstructor]
        private GetTemplatesTemplateResult(
            string changeSetId,

            string description,

            string id,

            string shareType,

            string stackGroupName,

            string stackId,

            ImmutableDictionary<string, object> tags,

            string templateBody,

            string templateId,

            string templateName,

            string templateVersion)
        {
            ChangeSetId = changeSetId;
            Description = description;
            Id = id;
            ShareType = shareType;
            StackGroupName = stackGroupName;
            StackId = stackId;
            Tags = tags;
            TemplateBody = templateBody;
            TemplateId = templateId;
            TemplateName = templateName;
            TemplateVersion = templateVersion;
        }
    }
}
