<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.Vpc.Outputs
{

    [OutputType]
    public sealed class GetNetworksVpcResult
    {
        /// <summary>
        /// Filter results by a specific CIDR block. For example: "172.16.0.0/12".
        /// </summary>
        public readonly string CidrBlock;
        /// <summary>
        /// Time of creation.
        /// </summary>
        public readonly string CreationTime;
        /// <summary>
        /// Description of the VPC
        /// </summary>
        public readonly string Description;
        /// <summary>
        /// ID of the VPC.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The IPv6 CIDR block of the VPC.
        /// </summary>
        public readonly string Ipv6CidrBlock;
        /// <summary>
        /// Indicate whether the VPC is the default one in the specified region.
        /// </summary>
        public readonly bool IsDefault;
        /// <summary>
        /// ID of the region where the VPC is located.
        /// </summary>
        public readonly string RegionId;
        /// <summary>
        /// The Id of resource group which VPC belongs.
        /// </summary>
        public readonly string ResourceGroupId;
        /// <summary>
        /// Route table ID of the VRouter.
        /// </summary>
        public readonly string RouteTableId;
        /// <summary>
        /// The ID of the VRouter.
        /// </summary>
        public readonly string RouterId;
        /// <summary>
        /// A list of secondary IPv4 CIDR blocks of the VPC.
        /// </summary>
        public readonly ImmutableArray<string> SecondaryCidrBlocks;
        /// <summary>
        /// Filter results by a specific status. Valid value are `Pending` and `Available`.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// A mapping of tags to assign to the resource.
        /// </summary>
        public readonly ImmutableDictionary<string, object> Tags;
        /// <summary>
        /// A list of user CIDRs.
        /// </summary>
        public readonly ImmutableArray<string> UserCidrs;
        /// <summary>
        /// ID of the VPC.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// The name of the VPC.
        /// </summary>
        public readonly string VpcName;
        /// <summary>
        /// ID of the VRouter.
        /// </summary>
        public readonly string VrouterId;
        /// <summary>
        /// List of VSwitch IDs in the specified VPC
        /// </summary>
        public readonly ImmutableArray<string> VswitchIds;

        [OutputConstructor]
        private GetNetworksVpcResult(
            string cidrBlock,

            string creationTime,

            string description,

            string id,

            string ipv6CidrBlock,

            bool isDefault,

            string regionId,

            string resourceGroupId,

            string routeTableId,

            string routerId,

            ImmutableArray<string> secondaryCidrBlocks,

            string status,

            ImmutableDictionary<string, object> tags,

            ImmutableArray<string> userCidrs,

            string vpcId,

            string vpcName,

            string vrouterId,

            ImmutableArray<string> vswitchIds)
        {
            CidrBlock = cidrBlock;
            CreationTime = creationTime;
            Description = description;
            Id = id;
            Ipv6CidrBlock = ipv6CidrBlock;
            IsDefault = isDefault;
            RegionId = regionId;
            ResourceGroupId = resourceGroupId;
            RouteTableId = routeTableId;
            RouterId = routerId;
            SecondaryCidrBlocks = secondaryCidrBlocks;
            Status = status;
            Tags = tags;
            UserCidrs = userCidrs;
            VpcId = vpcId;
            VpcName = vpcName;
            VrouterId = vrouterId;
            VswitchIds = vswitchIds;
        }
    }
}
