<reponame>pulumiverse/pulumi-fortios// *** 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.Inputs
{

    public sealed class RouterBgpVrfArgs : global::Pulumi.ResourceArgs
    {
        [Input("exportRts")]
        private InputList<Inputs.RouterBgpVrfExportRtArgs>? _exportRts;

        /// <summary>
        /// List of export route target. The structure of `export_rt` block is documented below.
        /// </summary>
        public InputList<Inputs.RouterBgpVrfExportRtArgs> ExportRts
        {
            get => _exportRts ?? (_exportRts = new InputList<Inputs.RouterBgpVrfExportRtArgs>());
            set => _exportRts = value;
        }

        /// <summary>
        /// Import route map.
        /// </summary>
        [Input("importRouteMap")]
        public Input<string>? ImportRouteMap { get; set; }

        [Input("importRts")]
        private InputList<Inputs.RouterBgpVrfImportRtArgs>? _importRts;

        /// <summary>
        /// List of import route target. The structure of `import_rt` block is documented below.
        /// </summary>
        public InputList<Inputs.RouterBgpVrfImportRtArgs> ImportRts
        {
            get => _importRts ?? (_importRts = new InputList<Inputs.RouterBgpVrfImportRtArgs>());
            set => _importRts = value;
        }

        [Input("leakTargets")]
        private InputList<Inputs.RouterBgpVrfLeakTargetArgs>? _leakTargets;

        /// <summary>
        /// Target VRF table. The structure of `leak_target` block is documented below.
        /// </summary>
        public InputList<Inputs.RouterBgpVrfLeakTargetArgs> LeakTargets
        {
            get => _leakTargets ?? (_leakTargets = new InputList<Inputs.RouterBgpVrfLeakTargetArgs>());
            set => _leakTargets = value;
        }

        /// <summary>
        /// Route Distinguisher: AA|AA:NN.
        /// </summary>
        [Input("rd")]
        public Input<string>? Rd { get; set; }

        /// <summary>
        /// VRF role. Valid values: `standalone`, `ce`, `pe`.
        /// </summary>
        [Input("role")]
        public Input<string>? Role { get; set; }

        /// <summary>
        /// Origin VRF ID (0 - 63).
        /// </summary>
        [Input("vrf")]
        public Input<string>? Vrf { get; set; }

        public RouterBgpVrfArgs()
        {
        }
        public static new RouterBgpVrfArgs Empty => new RouterBgpVrfArgs();
    }
}
