Class ComputeRouterInterface.Builder

    • Method Detail

      • create

        @Stability(Stable)
        public static ComputeRouterInterface.Builder create​(software.constructs.Construct scope,
                                                            String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of ComputeRouterInterface.Builder.
      • connection

        @Stability(Experimental)
        public ComputeRouterInterface.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public ComputeRouterInterface.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public ComputeRouterInterface.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public ComputeRouterInterface.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public ComputeRouterInterface.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public ComputeRouterInterface.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public ComputeRouterInterface.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public ComputeRouterInterface.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public ComputeRouterInterface.Builder name​(String name)
        A unique name for the interface, required by GCE. Changing this forces a new interface to be created.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#name ComputeRouterInterface#name}

        Parameters:
        name - A unique name for the interface, required by GCE. Changing this forces a new interface to be created. This parameter is required.
        Returns:
        this
      • router

        @Stability(Stable)
        public ComputeRouterInterface.Builder router​(String router)
        The name of the router this interface will be attached to.

        Changing this forces a new interface to be created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#router ComputeRouterInterface#router}

        Parameters:
        router - The name of the router this interface will be attached to. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public ComputeRouterInterface.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#id ComputeRouterInterface#id}.

        Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#id ComputeRouterInterface#id}. This parameter is required.
        Returns:
        this
      • interconnectAttachment

        @Stability(Stable)
        public ComputeRouterInterface.Builder interconnectAttachment​(String interconnectAttachment)
        The name or resource link to the VLAN interconnect for this interface.

        Changing this forces a new interface to be created. Only one of interconnect_attachment, subnetwork or vpn_tunnel can be specified. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#interconnect_attachment ComputeRouterInterface#interconnect_attachment}

        Parameters:
        interconnectAttachment - The name or resource link to the VLAN interconnect for this interface. This parameter is required.
        Returns:
        this
      • ipRange

        @Stability(Stable)
        public ComputeRouterInterface.Builder ipRange​(String ipRange)
        The IP address and range of the interface.

        The IP range must be in the RFC3927 link-local IP space. Changing this forces a new interface to be created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#ip_range ComputeRouterInterface#ip_range}

        Parameters:
        ipRange - The IP address and range of the interface. This parameter is required.
        Returns:
        this
      • ipVersion

        @Stability(Stable)
        public ComputeRouterInterface.Builder ipVersion​(String ipVersion)
        IP version of this interface.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#ip_version ComputeRouterInterface#ip_version}

        Parameters:
        ipVersion - IP version of this interface. This parameter is required.
        Returns:
        this
      • privateIpAddress

        @Stability(Stable)
        public ComputeRouterInterface.Builder privateIpAddress​(String privateIpAddress)
        The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance.

        Changing this forces a new interface to be created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#private_ip_address ComputeRouterInterface#private_ip_address}

        Parameters:
        privateIpAddress - The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance. This parameter is required.
        Returns:
        this
      • project

        @Stability(Stable)
        public ComputeRouterInterface.Builder project​(String project)
        The ID of the project in which this interface's router belongs.

        If it is not provided, the provider project is used. Changing this forces a new interface to be created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#project ComputeRouterInterface#project}

        Parameters:
        project - The ID of the project in which this interface's router belongs. This parameter is required.
        Returns:
        this
      • redundantInterface

        @Stability(Stable)
        public ComputeRouterInterface.Builder redundantInterface​(String redundantInterface)
        The name of the interface that is redundant to this interface.

        Changing this forces a new interface to be created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#redundant_interface ComputeRouterInterface#redundant_interface}

        Parameters:
        redundantInterface - The name of the interface that is redundant to this interface. This parameter is required.
        Returns:
        this
      • region

        @Stability(Stable)
        public ComputeRouterInterface.Builder region​(String region)
        The region this interface's router sits in.

        If not specified, the project region will be used. Changing this forces a new interface to be created. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#region ComputeRouterInterface#region}

        Parameters:
        region - The region this interface's router sits in. This parameter is required.
        Returns:
        this
      • subnetwork

        @Stability(Stable)
        public ComputeRouterInterface.Builder subnetwork​(String subnetwork)
        The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router.

        Changing this forces a new interface to be created. Only one of subnetwork, interconnect_attachment or vpn_tunnel can be specified. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#subnetwork ComputeRouterInterface#subnetwork}

        Parameters:
        subnetwork - The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public ComputeRouterInterface.Builder timeouts​(ComputeRouterInterfaceTimeouts timeouts)
        timeouts block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#timeouts ComputeRouterInterface#timeouts}

        Parameters:
        timeouts - timeouts block. This parameter is required.
        Returns:
        this
      • vpnTunnel

        @Stability(Stable)
        public ComputeRouterInterface.Builder vpnTunnel​(String vpnTunnel)
        The name or resource link to the VPN tunnel this interface will be linked to.

        Changing this forces a new interface to be created. Only one of vpn_tunnel, interconnect_attachment or subnetwork can be specified. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_interface#vpn_tunnel ComputeRouterInterface#vpn_tunnel}

        Parameters:
        vpnTunnel - The name or resource link to the VPN tunnel this interface will be linked to. This parameter is required.
        Returns:
        this