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

    [OutputType]
    public sealed class RouterBgpVrf
    {
        /// <summary>
        /// List of export route target. The structure of `export_rt` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.RouterBgpVrfExportRt> ExportRts;
        /// <summary>
        /// Import route map.
        /// </summary>
        public readonly string? ImportRouteMap;
        /// <summary>
        /// List of import route target. The structure of `import_rt` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.RouterBgpVrfImportRt> ImportRts;
        /// <summary>
        /// Target VRF table. The structure of `leak_target` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.RouterBgpVrfLeakTarget> LeakTargets;
        /// <summary>
        /// Route Distinguisher: AA|AA:NN.
        /// </summary>
        public readonly string? Rd;
        /// <summary>
        /// VRF role. Valid values: `standalone`, `ce`, `pe`.
        /// </summary>
        public readonly string? Role;
        /// <summary>
        /// Origin VRF ID (0 - 63).
        /// </summary>
        public readonly string? Vrf;

        [OutputConstructor]
        private RouterBgpVrf(
            ImmutableArray<Outputs.RouterBgpVrfExportRt> exportRts,

            string? importRouteMap,

            ImmutableArray<Outputs.RouterBgpVrfImportRt> importRts,

            ImmutableArray<Outputs.RouterBgpVrfLeakTarget> leakTargets,

            string? rd,

            string? role,

            string? vrf)
        {
            ExportRts = exportRts;
            ImportRouteMap = importRouteMap;
            ImportRts = importRts;
            LeakTargets = leakTargets;
            Rd = rd;
            Role = role;
            Vrf = vrf;
        }
    }
}
