<reponame>cloudy-sky-software/pulumi-scaleway-instances// *** WARNING: this file was generated by pulumigen. ***
// *** 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.ScalewayInstances.SecurityGroups.Outputs
{

    [OutputType]
    public sealed class ScalewayInstanceV1SecurityGroup
    {
        /// <summary>
        /// The security group creation date (RFC 3339 format)
        /// </summary>
        public readonly string? Creation_date;
        /// <summary>
        /// The security groups description
        /// </summary>
        public readonly string? Description;
        /// <summary>
        /// True if SMTP is blocked on IPv4 and IPv6. This feature is read only, please open a ticket if you need to make it configurable.
        /// </summary>
        public readonly bool? Enable_default_security;
        public readonly string? Id;
        /// <summary>
        /// The default inbound policy
        /// </summary>
        public readonly Pulumi.ScalewayInstances.SecurityGroups.ScalewayInstanceV1SecurityGroupInboundDefaultPolicy? Inbound_default_policy;
        /// <summary>
        /// The security group modification date (RFC 3339 format)
        /// </summary>
        public readonly string? Modification_date;
        /// <summary>
        /// The security groups name
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// The security groups organization ID
        /// </summary>
        public readonly string? Organization;
        /// <summary>
        /// True if it is your default security group for this organization ID
        /// </summary>
        public readonly bool? Organization_default;
        /// <summary>
        /// The default outbound policy
        /// </summary>
        public readonly Pulumi.ScalewayInstances.SecurityGroups.ScalewayInstanceV1SecurityGroupOutboundDefaultPolicy? Outbound_default_policy;
        /// <summary>
        /// The security group project ID
        /// </summary>
        public readonly string Project;
        /// <summary>
        /// True if it is your default security group for this project ID
        /// </summary>
        public readonly bool? Project_default;
        /// <summary>
        /// List of servers attached to this security group
        /// </summary>
        public readonly ImmutableArray<Outputs.ScalewayInstanceV1ServerSummary> Servers;
        /// <summary>
        /// Security group state
        /// </summary>
        public readonly Pulumi.ScalewayInstances.SecurityGroups.ScalewayInstanceV1SecurityGroupState? State;
        /// <summary>
        /// True if the security group is stateful
        /// </summary>
        public readonly bool? Stateful;
        /// <summary>
        /// The security group tags
        /// </summary>
        public readonly ImmutableArray<string> Tags;
        /// <summary>
        /// The zone in which is the security group
        /// </summary>
        public readonly string? Zone;

        [OutputConstructor]
        private ScalewayInstanceV1SecurityGroup(
            string? creation_date,

            string? description,

            bool? enable_default_security,

            string? id,

            Pulumi.ScalewayInstances.SecurityGroups.ScalewayInstanceV1SecurityGroupInboundDefaultPolicy? inbound_default_policy,

            string? modification_date,

            string name,

            string? organization,

            bool? organization_default,

            Pulumi.ScalewayInstances.SecurityGroups.ScalewayInstanceV1SecurityGroupOutboundDefaultPolicy? outbound_default_policy,

            string project,

            bool? project_default,

            ImmutableArray<Outputs.ScalewayInstanceV1ServerSummary> servers,

            Pulumi.ScalewayInstances.SecurityGroups.ScalewayInstanceV1SecurityGroupState? state,

            bool? stateful,

            ImmutableArray<string> tags,

            string? zone)
        {
            Creation_date = creation_date;
            Description = description;
            Enable_default_security = enable_default_security;
            Id = id;
            Inbound_default_policy = inbound_default_policy;
            Modification_date = modification_date;
            Name = name;
            Organization = organization;
            Organization_default = organization_default;
            Outbound_default_policy = outbound_default_policy;
            Project = project;
            Project_default = project_default;
            Servers = servers;
            State = state;
            Stateful = stateful;
            Tags = tags;
            Zone = zone;
        }
    }
}
