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

    [OutputType]
    public sealed class GetGroupsSecurityGroupResult
    {
        /// <summary>
        /// Number of security group binding resources.
        /// </summary>
        public readonly int BeAssociateCount;
        /// <summary>
        /// Creation time of security group.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// Description of the security group.
        /// </summary>
        public readonly string Description;
        /// <summary>
        /// Egress rules set. For items like `[action]#[cidr_ip]#[port]#[protocol]`, it means a regular rule; for items like `sg-XXXX`, it means a nested security group.
        /// </summary>
        public readonly ImmutableArray<string> Egresses;
        /// <summary>
        /// Ingress rules set. For items like `[action]#[cidr_ip]#[port]#[protocol]`, it means a regular rule; for items like `sg-XXXX`, it means a nested security group.
        /// </summary>
        public readonly ImmutableArray<string> Ingresses;
        /// <summary>
        /// Name of the security group to be queried. Conflict with `security_group_id`.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Project ID of the security group to be queried. Conflict with `security_group_id`.
        /// </summary>
        public readonly int ProjectId;
        /// <summary>
        /// ID of the security group to be queried. Conflict with `name` and `project_id`.
        /// </summary>
        public readonly string SecurityGroupId;
        /// <summary>
        /// Tags of the security group to be queried. Conflict with `security_group_id`.
        /// </summary>
        public readonly ImmutableDictionary<string, object> Tags;

        [OutputConstructor]
        private GetGroupsSecurityGroupResult(
            int beAssociateCount,

            string createTime,

            string description,

            ImmutableArray<string> egresses,

            ImmutableArray<string> ingresses,

            string name,

            int projectId,

            string securityGroupId,

            ImmutableDictionary<string, object> tags)
        {
            BeAssociateCount = beAssociateCount;
            CreateTime = createTime;
            Description = description;
            Egresses = egresses;
            Ingresses = ingresses;
            Name = name;
            ProjectId = projectId;
            SecurityGroupId = securityGroupId;
            Tags = tags;
        }
    }
}
