1. Packages
  2. Routeros Provider
  3. API Docs
  4. IpVrf
routeros 1.83.1 published on Monday, Apr 28, 2025 by terraform-routeros

routeros.IpVrf

Explore with Pulumi AI

routeros logo
routeros 1.83.1 published on Monday, Apr 28, 2025 by terraform-routeros

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as routeros from "@pulumi/routeros";
    
    const veth1 = new routeros.InterfaceVeth("veth1", {});
    const veth2 = new routeros.InterfaceVeth("veth2", {});
    const testVrfA = new routeros.IpVrf("testVrfA", {
        disabled: true,
        comment: "Custom routing",
        interfaces: [
            "veth1",
            "veth2",
        ],
    }, {
        dependsOn: [
            veth1,
            veth2,
        ],
    });
    
    import pulumi
    import pulumi_routeros as routeros
    
    veth1 = routeros.InterfaceVeth("veth1")
    veth2 = routeros.InterfaceVeth("veth2")
    test_vrf_a = routeros.IpVrf("testVrfA",
        disabled=True,
        comment="Custom routing",
        interfaces=[
            "veth1",
            "veth2",
        ],
        opts = pulumi.ResourceOptions(depends_on=[
                veth1,
                veth2,
            ]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/routeros/routeros"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		veth1, err := routeros.NewInterfaceVeth(ctx, "veth1", nil)
    		if err != nil {
    			return err
    		}
    		veth2, err := routeros.NewInterfaceVeth(ctx, "veth2", nil)
    		if err != nil {
    			return err
    		}
    		_, err = routeros.NewIpVrf(ctx, "testVrfA", &routeros.IpVrfArgs{
    			Disabled: pulumi.Bool(true),
    			Comment:  pulumi.String("Custom routing"),
    			Interfaces: pulumi.StringArray{
    				pulumi.String("veth1"),
    				pulumi.String("veth2"),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			veth1,
    			veth2,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Routeros = Pulumi.Routeros;
    
    return await Deployment.RunAsync(() => 
    {
        var veth1 = new Routeros.InterfaceVeth("veth1");
    
        var veth2 = new Routeros.InterfaceVeth("veth2");
    
        var testVrfA = new Routeros.IpVrf("testVrfA", new()
        {
            Disabled = true,
            Comment = "Custom routing",
            Interfaces = new[]
            {
                "veth1",
                "veth2",
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                veth1,
                veth2,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.routeros.InterfaceVeth;
    import com.pulumi.routeros.IpVrf;
    import com.pulumi.routeros.IpVrfArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var veth1 = new InterfaceVeth("veth1");
    
            var veth2 = new InterfaceVeth("veth2");
    
            var testVrfA = new IpVrf("testVrfA", IpVrfArgs.builder()
                .disabled(true)
                .comment("Custom routing")
                .interfaces(            
                    "veth1",
                    "veth2")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        veth1,
                        veth2)
                    .build());
    
        }
    }
    
    resources:
      veth1:
        type: routeros:InterfaceVeth
      veth2:
        type: routeros:InterfaceVeth
      testVrfA:
        type: routeros:IpVrf
        properties:
          disabled: true
          comment: Custom routing
          interfaces:
            - veth1
            - veth2
        options:
          dependsOn:
            - ${veth1}
            - ${veth2}
    

    Create IpVrf Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new IpVrf(name: string, args: IpVrfArgs, opts?: CustomResourceOptions);
    @overload
    def IpVrf(resource_name: str,
              args: IpVrfArgs,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def IpVrf(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              interfaces: Optional[Sequence[str]] = None,
              ___id_: Optional[float] = None,
              ___path_: Optional[str] = None,
              comment: Optional[str] = None,
              disabled: Optional[bool] = None,
              ip_vrf_id: Optional[str] = None,
              name: Optional[str] = None)
    func NewIpVrf(ctx *Context, name string, args IpVrfArgs, opts ...ResourceOption) (*IpVrf, error)
    public IpVrf(string name, IpVrfArgs args, CustomResourceOptions? opts = null)
    public IpVrf(String name, IpVrfArgs args)
    public IpVrf(String name, IpVrfArgs args, CustomResourceOptions options)
    
    type: routeros:IpVrf
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args IpVrfArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args IpVrfArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args IpVrfArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IpVrfArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IpVrfArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    IpVrf Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The IpVrf resource accepts the following input properties:

    Interfaces List<string>
    At least one interface must be added to the VRF.
    Comment string
    Disabled bool
    IpVrfId string
    The ID of this resource.
    Name string
    Unique name of the VRF.
    ___id_ double
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ string
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    Interfaces []string
    At least one interface must be added to the VRF.
    Comment string
    Disabled bool
    IpVrfId string
    The ID of this resource.
    Name string
    Unique name of the VRF.
    ___id_ float64
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ string
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    interfaces List<String>
    At least one interface must be added to the VRF.
    ___id_ Double
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ String
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    comment String
    disabled Boolean
    ipVrfId String
    The ID of this resource.
    name String
    Unique name of the VRF.
    interfaces string[]
    At least one interface must be added to the VRF.
    ___id_ number
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ string
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    comment string
    disabled boolean
    ipVrfId string
    The ID of this resource.
    name string
    Unique name of the VRF.
    interfaces Sequence[str]
    At least one interface must be added to the VRF.
    ___id_ float
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ str
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    comment str
    disabled bool
    ip_vrf_id str
    The ID of this resource.
    name str
    Unique name of the VRF.
    interfaces List<String>
    At least one interface must be added to the VRF.
    ___id_ Number
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ String
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    comment String
    disabled Boolean
    ipVrfId String
    The ID of this resource.
    name String
    Unique name of the VRF.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the IpVrf resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing IpVrf Resource

    Get an existing IpVrf resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: IpVrfState, opts?: CustomResourceOptions): IpVrf
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            ___id_: Optional[float] = None,
            ___path_: Optional[str] = None,
            comment: Optional[str] = None,
            disabled: Optional[bool] = None,
            interfaces: Optional[Sequence[str]] = None,
            ip_vrf_id: Optional[str] = None,
            name: Optional[str] = None) -> IpVrf
    func GetIpVrf(ctx *Context, name string, id IDInput, state *IpVrfState, opts ...ResourceOption) (*IpVrf, error)
    public static IpVrf Get(string name, Input<string> id, IpVrfState? state, CustomResourceOptions? opts = null)
    public static IpVrf get(String name, Output<String> id, IpVrfState state, CustomResourceOptions options)
    resources:  _:    type: routeros:IpVrf    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Comment string
    Disabled bool
    Interfaces List<string>
    At least one interface must be added to the VRF.
    IpVrfId string
    The ID of this resource.
    Name string
    Unique name of the VRF.
    ___id_ double
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ string
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    Comment string
    Disabled bool
    Interfaces []string
    At least one interface must be added to the VRF.
    IpVrfId string
    The ID of this resource.
    Name string
    Unique name of the VRF.
    ___id_ float64
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ string
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    ___id_ Double
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ String
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    comment String
    disabled Boolean
    interfaces List<String>
    At least one interface must be added to the VRF.
    ipVrfId String
    The ID of this resource.
    name String
    Unique name of the VRF.
    ___id_ number
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ string
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    comment string
    disabled boolean
    interfaces string[]
    At least one interface must be added to the VRF.
    ipVrfId string
    The ID of this resource.
    name string
    Unique name of the VRF.
    ___id_ float
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ str
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    comment str
    disabled bool
    interfaces Sequence[str]
    At least one interface must be added to the VRF.
    ip_vrf_id str
    The ID of this resource.
    name str
    Unique name of the VRF.
    ___id_ Number
    Resource ID type (.id / name). This is an internal service field, setting a value is not required.
    ___path_ String
    Resource path for CRUD operations. This is an internal service field, setting a value is not required.
    comment String
    disabled Boolean
    interfaces List<String>
    At least one interface must be added to the VRF.
    ipVrfId String
    The ID of this resource.
    name String
    Unique name of the VRF.

    Import

    #The ID can be found via API or the terminal

    #The command for the terminal is -> :put [/ip/vrf get [print show-ids]]

    $ pulumi import routeros:index/ipVrf:IpVrf test_vrf_a "*0"
    

    or

    $ pulumi import routeros:index/ipVrf:IpVrf test_vrf_a "vrf_1"
    

    or

    $ pulumi import routeros:index/ipVrf:IpVrf test_vrf_a `"comment=Custom routing"`
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    routeros terraform-routeros/terraform-provider-routeros
    License
    Notes
    This Pulumi package is based on the routeros Terraform Provider.
    routeros logo
    routeros 1.83.1 published on Monday, Apr 28, 2025 by terraform-routeros