Class ComputeRouterPeer.Builder

    • Method Detail

      • create

        @Stability(Stable)
        public static ComputeRouterPeer.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 ComputeRouterPeer.Builder.
      • connection

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

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

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

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

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

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

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

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

        @Stability(Stable)
        public ComputeRouterPeer.Builder interfaceValue​(String interfaceValue)
        Name of the interface the BGP peer is associated with.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#interface ComputeRouterPeer#interface}

        Parameters:
        interfaceValue - Name of the interface the BGP peer is associated with. This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public ComputeRouterPeer.Builder name​(String name)
        Name of this BGP peer.

        The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression '[a-z](%5B-a-z0-9%5D*%5Ba-z0-9%5D)?' which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#name ComputeRouterPeer#name}

        Parameters:
        name - Name of this BGP peer. This parameter is required.
        Returns:
        this
      • peerAsn

        @Stability(Stable)
        public ComputeRouterPeer.Builder peerAsn​(Number peerAsn)
        Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#peer_asn ComputeRouterPeer#peer_asn}

        Parameters:
        peerAsn - Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value. This parameter is required.
        Returns:
        this
      • router

        @Stability(Stable)
        public ComputeRouterPeer.Builder router​(String router)
        The name of the Cloud Router in which this BgpPeer will be configured.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#router ComputeRouterPeer#router}

        Parameters:
        router - The name of the Cloud Router in which this BgpPeer will be configured. This parameter is required.
        Returns:
        this
      • advertisedGroups

        @Stability(Stable)
        public ComputeRouterPeer.Builder advertisedGroups​(List<String> advertisedGroups)
        User-specified list of prefix groups to advertise in custom mode, which currently supports the following option:.

        * 'ALL_SUBNETS': Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertiseMode is 'CUSTOM' and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#advertised_groups ComputeRouterPeer#advertised_groups}

        Parameters:
        advertisedGroups - User-specified list of prefix groups to advertise in custom mode, which currently supports the following option:. This parameter is required.
        Returns:
        this
      • advertisedIpRanges

        @Stability(Stable)
        public ComputeRouterPeer.Builder advertisedIpRanges​(com.hashicorp.cdktf.IResolvable advertisedIpRanges)
        advertised_ip_ranges block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#advertised_ip_ranges ComputeRouterPeer#advertised_ip_ranges}

        Parameters:
        advertisedIpRanges - advertised_ip_ranges block. This parameter is required.
        Returns:
        this
      • advertisedIpRanges

        @Stability(Stable)
        public ComputeRouterPeer.Builder advertisedIpRanges​(List<? extends ComputeRouterPeerAdvertisedIpRanges> advertisedIpRanges)
        advertised_ip_ranges block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#advertised_ip_ranges ComputeRouterPeer#advertised_ip_ranges}

        Parameters:
        advertisedIpRanges - advertised_ip_ranges block. This parameter is required.
        Returns:
        this
      • advertisedRoutePriority

        @Stability(Stable)
        public ComputeRouterPeer.Builder advertisedRoutePriority​(Number advertisedRoutePriority)
        The priority of routes advertised to this BGP peer.

        Where there is more than one matching route of maximum length, the routes with the lowest priority value win. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#advertised_route_priority ComputeRouterPeer#advertised_route_priority}

        Parameters:
        advertisedRoutePriority - The priority of routes advertised to this BGP peer. This parameter is required.
        Returns:
        this
      • advertiseMode

        @Stability(Stable)
        public ComputeRouterPeer.Builder advertiseMode​(String advertiseMode)
        User-specified flag to indicate which mode to use for advertisement.

        Valid values of this enum field are: 'DEFAULT', 'CUSTOM' Default value: "DEFAULT" Possible values: ["DEFAULT", "CUSTOM"] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#advertise_mode ComputeRouterPeer#advertise_mode}

        Parameters:
        advertiseMode - User-specified flag to indicate which mode to use for advertisement. This parameter is required.
        Returns:
        this
      • bfd

        @Stability(Stable)
        public ComputeRouterPeer.Builder bfd​(ComputeRouterPeerBfd bfd)
        bfd block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#bfd ComputeRouterPeer#bfd}

        Parameters:
        bfd - bfd block. This parameter is required.
        Returns:
        this
      • customLearnedIpRanges

        @Stability(Stable)
        public ComputeRouterPeer.Builder customLearnedIpRanges​(com.hashicorp.cdktf.IResolvable customLearnedIpRanges)
        custom_learned_ip_ranges block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#custom_learned_ip_ranges ComputeRouterPeer#custom_learned_ip_ranges}

        Parameters:
        customLearnedIpRanges - custom_learned_ip_ranges block. This parameter is required.
        Returns:
        this
      • customLearnedIpRanges

        @Stability(Stable)
        public ComputeRouterPeer.Builder customLearnedIpRanges​(List<? extends ComputeRouterPeerCustomLearnedIpRanges> customLearnedIpRanges)
        custom_learned_ip_ranges block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#custom_learned_ip_ranges ComputeRouterPeer#custom_learned_ip_ranges}

        Parameters:
        customLearnedIpRanges - custom_learned_ip_ranges block. This parameter is required.
        Returns:
        this
      • customLearnedRoutePriority

        @Stability(Stable)
        public ComputeRouterPeer.Builder customLearnedRoutePriority​(Number customLearnedRoutePriority)
        The user-defined custom learned route priority for a BGP session.

        This value is applied to all custom learned route ranges for the session. You can choose a value from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#custom_learned_route_priority ComputeRouterPeer#custom_learned_route_priority}

        Parameters:
        customLearnedRoutePriority - The user-defined custom learned route priority for a BGP session. This parameter is required.
        Returns:
        this
      • enable

        @Stability(Stable)
        public ComputeRouterPeer.Builder enable​(Boolean enable)
        The status of the BGP peer connection.

        If set to false, any active session with the peer is terminated and all associated routing information is removed. If set to true, the peer connection can be established with routing information. The default is true. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#enable ComputeRouterPeer#enable}

        Parameters:
        enable - The status of the BGP peer connection. This parameter is required.
        Returns:
        this
      • enable

        @Stability(Stable)
        public ComputeRouterPeer.Builder enable​(com.hashicorp.cdktf.IResolvable enable)
        The status of the BGP peer connection.

        If set to false, any active session with the peer is terminated and all associated routing information is removed. If set to true, the peer connection can be established with routing information. The default is true. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#enable ComputeRouterPeer#enable}

        Parameters:
        enable - The status of the BGP peer connection. This parameter is required.
        Returns:
        this
      • enableIpv4

        @Stability(Stable)
        public ComputeRouterPeer.Builder enableIpv4​(Boolean enableIpv4)
        Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#enable_ipv4 ComputeRouterPeer#enable_ipv4}

        Parameters:
        enableIpv4 - Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4. This parameter is required.
        Returns:
        this
      • enableIpv4

        @Stability(Stable)
        public ComputeRouterPeer.Builder enableIpv4​(com.hashicorp.cdktf.IResolvable enableIpv4)
        Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#enable_ipv4 ComputeRouterPeer#enable_ipv4}

        Parameters:
        enableIpv4 - Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4. This parameter is required.
        Returns:
        this
      • enableIpv6

        @Stability(Stable)
        public ComputeRouterPeer.Builder enableIpv6​(Boolean enableIpv6)
        Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#enable_ipv6 ComputeRouterPeer#enable_ipv6}

        Parameters:
        enableIpv6 - Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default. This parameter is required.
        Returns:
        this
      • enableIpv6

        @Stability(Stable)
        public ComputeRouterPeer.Builder enableIpv6​(com.hashicorp.cdktf.IResolvable enableIpv6)
        Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#enable_ipv6 ComputeRouterPeer#enable_ipv6}

        Parameters:
        enableIpv6 - Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public ComputeRouterPeer.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#id ComputeRouterPeer#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_peer#id ComputeRouterPeer#id}. This parameter is required.
        Returns:
        this
      • ipAddress

        @Stability(Stable)
        public ComputeRouterPeer.Builder ipAddress​(String ipAddress)
        IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#ip_address ComputeRouterPeer#ip_address}

        Parameters:
        ipAddress - IP address of the interface inside Google Cloud Platform. Only IPv4 is supported. This parameter is required.
        Returns:
        this
      • ipv4NexthopAddress

        @Stability(Stable)
        public ComputeRouterPeer.Builder ipv4NexthopAddress​(String ipv4NexthopAddress)
        IPv4 address of the interface inside Google Cloud Platform.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#ipv4_nexthop_address ComputeRouterPeer#ipv4_nexthop_address}

        Parameters:
        ipv4NexthopAddress - IPv4 address of the interface inside Google Cloud Platform. This parameter is required.
        Returns:
        this
      • ipv6NexthopAddress

        @Stability(Stable)
        public ComputeRouterPeer.Builder ipv6NexthopAddress​(String ipv6NexthopAddress)
        IPv6 address of the interface inside Google Cloud Platform.

        The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64. If you do not specify the next hop addresses, Google Cloud automatically assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#ipv6_nexthop_address ComputeRouterPeer#ipv6_nexthop_address}

        Parameters:
        ipv6NexthopAddress - IPv6 address of the interface inside Google Cloud Platform. This parameter is required.
        Returns:
        this
      • md5AuthenticationKey

        @Stability(Stable)
        public ComputeRouterPeer.Builder md5AuthenticationKey​(ComputeRouterPeerMd5AuthenticationKey md5AuthenticationKey)
        md5_authentication_key block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#md5_authentication_key ComputeRouterPeer#md5_authentication_key}

        Parameters:
        md5AuthenticationKey - md5_authentication_key block. This parameter is required.
        Returns:
        this
      • peerIpAddress

        @Stability(Stable)
        public ComputeRouterPeer.Builder peerIpAddress​(String peerIpAddress)
        IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported. Required if 'ip_address' is set.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#peer_ip_address ComputeRouterPeer#peer_ip_address}

        Parameters:
        peerIpAddress - IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported. Required if 'ip_address' is set. This parameter is required.
        Returns:
        this
      • peerIpv4NexthopAddress

        @Stability(Stable)
        public ComputeRouterPeer.Builder peerIpv4NexthopAddress​(String peerIpv4NexthopAddress)
        IPv4 address of the BGP interface outside Google Cloud Platform.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#peer_ipv4_nexthop_address ComputeRouterPeer#peer_ipv4_nexthop_address}

        Parameters:
        peerIpv4NexthopAddress - IPv4 address of the BGP interface outside Google Cloud Platform. This parameter is required.
        Returns:
        this
      • peerIpv6NexthopAddress

        @Stability(Stable)
        public ComputeRouterPeer.Builder peerIpv6NexthopAddress​(String peerIpv6NexthopAddress)
        IPv6 address of the BGP interface outside Google Cloud Platform.

        The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64. If you do not specify the next hop addresses, Google Cloud automatically assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#peer_ipv6_nexthop_address ComputeRouterPeer#peer_ipv6_nexthop_address}

        Parameters:
        peerIpv6NexthopAddress - IPv6 address of the BGP interface outside Google Cloud Platform. This parameter is required.
        Returns:
        this
      • project

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

        Parameters:
        project - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#project ComputeRouterPeer#project}. This parameter is required.
        Returns:
        this
      • region

        @Stability(Stable)
        public ComputeRouterPeer.Builder region​(String region)
        Region where the router and BgpPeer reside. If it is not provided, the provider region is used.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#region ComputeRouterPeer#region}

        Parameters:
        region - Region where the router and BgpPeer reside. If it is not provided, the provider region is used. This parameter is required.
        Returns:
        this
      • routerApplianceInstance

        @Stability(Stable)
        public ComputeRouterPeer.Builder routerApplianceInstance​(String routerApplianceInstance)
        The URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.

        The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_peer#router_appliance_instance ComputeRouterPeer#router_appliance_instance}

        Parameters:
        routerApplianceInstance - The URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public ComputeRouterPeer.Builder timeouts​(ComputeRouterPeerTimeouts timeouts)
        timeouts block.

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

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